Я нашел это изображение, которое представляет выражение r* NFA. Мой вопрос: не должно быть стрелки, связывающей второй узел с третьим узлом? Таким образом, если у меня есть строка «rr», при чтении первого символа я попадаю во второй узел, но оттуда никуда не могу пойти, потому что нет исходящих стрелок. http://imageshack.us/f/641/screenshot20111021at114.png/
r* выражение NFA
Ответы (1)
Связанное изображение подразумевает несколько предположений.
- Стрелки с надписью «E» означают «эпсилон-переход», изменяющееся состояние, которое не изменяет текущий символ. следующая за такой стрелкой не «потребляет никаких входных данных»
- Прямоугольная область с пометкой «R» означает «Автомат, принимающий R». если вы достигнете начального состояния в этом регионе (второй кружок слева на изображении), регион в рамке примет R для произвольного подъязыка. R используется как переменная, как и в базовом регулярном выражении
R*
. Мы не видим никаких стрелок между начальным и конечным состояниями, потому что мы не определяем, что означает R; это переменная, мы могли бы использовать что угодно.
person
SingleNegationElimination
schedule
21.10.2011