Сообщение Re[5]: конечный автомат и квантификация от 26.07.2022 6:30
Изменено 26.07.2022 6:32 vsb
Re[5]: конечный автомат и квантификация
Здравствуйте, VjcheslavV, Вы писали:
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 это пустая строка, просто обозначение.
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>>
VV>а можно для "X{n}?" и для "X{n}+" ?
Любое выражение вида X{n} преобразуется в XXX...XX. То бишь такой синтаксис в контексте данных алгоритмов специально обрабатывать не нужно. Перед обработкой выражения проводится его упрощение, оно преобразовывается в максимально простую форму перед созданием НКА и ДКА.
Выражение Y+ преобразовывается в YY*. Соответственно X{N}+ преобразовывается в X{N}X{N}*, а далее (например если n = 5) в XXXXX(XXXXX)*
VV>e вроде просто убирается — какой с неё толк?
e это пустая строка, просто обозначение.
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 это пустая строка, просто обозначение.