устранение левой рекурсии, е, левого факторинга? - PullRequest
2 голосов
/ 04 октября 2011

У меня есть грамматика

S-> а {Ь}

и я пытаюсь переписать его, чтобы не использовать {}. Если я напишу

S-> а | ав B-> б | ЬВ

тогда я не могу анализировать предсказательно во втором правиле. Если я напишу

S-> а | ав B-> б | Bb

тогда я становлюсь леворекурсивным во втором правиле.

Попытка сделать левый факторинг,

B-> до н.э. C -> (е) | B

Я ввожу пустые символы. Пока что нужно сделать грамматику без (e), подходящую для прогнозирующего анализа и не рекурсивную слева.

Возможно ли это?

1 Ответ

1 голос
/ 04 октября 2011

Я так не думаю. По сути, вы можете опустить часть в вашей грамматике, и первые из б, они не имеют отношения к вашей проблеме. Затем вы перечислили все три стиля объявления бесконечного числа b. Вам придется выбрать один из них.

Я бы посоветовал просто перейти с пустым символом.

...