Я пробовал это много раз, но не получил правильного решения.Как удалить левую рекурсию из данного грамматика
A-->Ba/b
B-->Bc/Ad/e
Пожалуйста, предложите мне хороший экзамен.
Я пробовал это много раз, но не получил правильного решения.Как удалить левую рекурсию из данного грамматика
A-->Ba/b
B-->Bc/Ad/e
Пожалуйста, предложите мне хороший экзамен.
Вот решение, чтобы получить эквивалентную грамматику, не осталось-рекурсивной (В вопросе, я полагаю, е = эпсилон):
Там нет леворекурсивным А-производств. Таким образом, удаляя A из правой части B-производств, получаем:
A -> Ba | b
B -> Bc | Плохо | bd | е
Теперь мы удалим леворекурсивным B-продукции путем внедрения B»производств:
A -> Ba | b
B -> bdB '| B '
B' -> cB '| adB '| e
Надеюсь, это поможет!