2016-01-19 2 views
0

Я пытаюсь найти правильную грамматику, которая генерирует язык, заданный регулярным выражением ((a+b∗c)d)∗. Есть ли общая техника, которую я могу использовать для преобразования регулярных выражений в обычные грамматики?Поиск регулярной грамматики для данного регулярного выражения?

ответ

1

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

+0

Должен ли я следовать методу, чтобы это было проще? Где я могу найти – user3419487

+0

Начните с размышления о том, как конвертировать DFA в правильную грамматику. Я думаю, вы обнаружите, что существует тесная связь между переходами и производством, а также между принимающими состояниями и эпсилонными проектами. – templatetypedef

+0

Да, понял. Спасибо :) – user3419487

Смежные вопросы