Есть ли лучший способ записи v = (v == 0? 1: 0); [закрыто]

Да, я думаю, что это разрешимо: вместо того, чтобы думать о регулярных выражениях как подходящих строках, вы также можете думать о них как о генерации строк. То есть все строки, которые они будут соответствовать.

Пусть [R] - множество строк, порожденных регулярным выражением R. Тогда для регулярных выражений R и T мы можем попытаться сопоставить T с [R]. Это [R] соответствует T, если в [R] есть строка, которая соответствует T.

. Должно быть возможно разработать это в алгоритм, где [R] лениво строится по мере необходимости: где нормальный регулярный выражение будет пытаться сопоставить следующий символ с входной строкой, а затем перейти к следующему символу в строке, модифицированный алгоритм будет проверять, может ли FSM, соответствующий входному регулярному выражению, генерировать соответствующий символ в его текущем состоянии, а затем продвигается вперед к «всем следующим состояниям» одновременно.

461
задан Cœur 27 October 2018 в 09:25
поделиться