Проектирование простого генератора конечных автоматов - PullRequest
0 голосов
/ 29 октября 2010

Я знаю, что создание генераторов конечных автоматов для регулярных выражений не тривиально, а как насчет простых строк (когда я говорю простую строку, я имею в виду что-то вроде «abcd» - что-то без какого-либо синтаксиса регулярного выражения). Я думал о написании простого средства сравнения строк с использованием конечных автоматов, но я хотел, чтобы конечный автомат генерировался во время выполнения

Вход в генератор конечных автоматов - это строка для сопоставления, выход - конечный автомат. Я не ищу код, но метод / алгоритм, чтобы сделать это.

Да, я мог бы использовать любую из доступных библиотек, но нет, спасибо.

1 Ответ

0 голосов
/ 29 октября 2010

Если вам нужен действительно простой механизм сопоставления, вам даже не нужно создавать конечный автомат.Вы можете просто пройтись по шаблону, проходя через строку.Вот действительно хороший пример из книги под названием «Красивый код»:

http://www.cs.princeton.edu/courses/archive/spr09/cos333/beautiful.html

...