LINUX.ORG.RU

Косвенная рекурсия в LL(1)-разборе

 , ,


1

2

Помогите избавиться от косвенной рекурсии в контекстно-свободной грамматике, что бы привести её к LL(1)-виду. Уже почти совсем отчаялся. Собственно, грамматика:

<G>::=<E>
<E>::=<A><T>
<A>::=<E>+|<B>
<T>::=<M><P>
<M>::=<T>*|<B>
<P>::=x|y|(<E>)
<B>::=λ (пустая строка)

<G> - аксиома

Гугл измучил поисковыми запросами на русском и английском (увы, больше мне не дано), спрашивал всех, до кого мог дотянуться. Вот, теперь и до ЛОРовцев дотянулся.


Ответ на: комментарий от NeXTSTEP

Ну именно это я и назвал косвенной рекурсией. Левая, это же когда:
<A>::=<A>a
(просто пример)
Или я неправ?

kosc
() автор топика
Ответ на: комментарий от kosc

Это явная левая рекурсия, бывает ещё неявная, которая у тебя в задании.

devsdc ★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.