Информация об изменениях

Сообщение Re[5]: конечный автомат и квантификация от 26.07.2022 6:30

Изменено 26.07.2022 6:32 vsb

Re[5]: конечный автомат и квантификация
Здравствуйте, VjcheslavV, Вы писали:

Pzz>>
Pzz>>X?     -> X | e
Pzz>>X+     -> X X*
Pzz>>X{n}   -> X X X ... X
Pzz>>X{m,n} -> X X X ... X   (X | e) (X | e) ... (X | e)
Pzz>>


VV>а можно для "X{n}?" и для "X{n}+" ?


Любое выражение вида X{n} преобразуется в XXX...XX. То бишь такой синтаксис в контексте данных алгоритмов специально обрабатывать не нужно. Перед обработкой выражения проводится его упрощение, оно преобразовывается в максимально простую форму перед созданием НКА и ДКА.

Выражение Y+ преобразовывается в YY*. Соответственно X{N}+ преобразовывается в X{N}X{N}*, а далее (например если n = 5) в XXXXX(XXXXX)*

VV>e вроде просто убирается — какой с неё толк?


e это пустая строка, просто обозначение.
Re[5]: конечный автомат и квантификация
Здравствуйте, VjcheslavV, Вы писали:

Pzz>>
Pzz>>X?     -> X | e
Pzz>>X+     -> X X*
Pzz>>X{n}   -> X X X ... X
Pzz>>X{m,n} -> X X X ... X   (X | e) (X | e) ... (X | e)
Pzz>>


VV>а можно для "X{n}?" и для "X{n}+" ?


Любое выражение вида X{n} преобразуется в XXX...XX. То бишь такой синтаксис в контексте данных алгоритмов специально обрабатывать не нужно. Перед обработкой выражения проводится его упрощение, оно преобразовывается в максимально простую форму перед созданием НКА и ДКА.

Выражение Y+ преобразовывается в YY*. Соответственно X{N}+ преобразовывается в X{N}X{N}*, а далее (например если n = 5) в XXXXX(XXXXX)*

VV>e вроде просто убирается — какой с неё толк?


e это пустая строка, просто обозначение.