2010-09-30 3 views
3

Попытка выяснить, как удалить левую рекурсию в контексте свободных грамматик. Я привык к определенным формам, но это меня немного озадачивает.Удаление левой рекурсии в контексте Свободная грамматика

S --> S {S} S | (A) | a 
A --> {S} A | epsilon 

Мне также нужно разработать достойный парсер, который я могу сделать. Однако, выясняя эту левую рекурсию (особенно на первом), я смутился.

ответ

0

В лево-рекурсии есть интересная статья в Википедии. В нем также есть раздел об удалении левой-рекурсии для неконтекстных грамматик.

http://en.wikipedia.org/wiki/Left_recursion

0

Попробуйте это:

S --> a [ { S } S ] 
    | ([ A ]) [ {S} S ] 


A --> { S } [ A ] 

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

  • Нет связанных вопросов^_^