Изменения

Перейти к: навигация, поиск

Устранение левой рекурсии

8 байт добавлено, 01:58, 16 октября 2010
м
Алгоритм устранения левой рекурсии
Для произвольной грамматики <tex>\Gamma</tex> левую рекурсию можно устранить следующим образом
#воспользоваться [[Удаление_eps-правил_из_грамматики | алгоритмом удаления &epsilon;-правил]]. Получим грамматику без &epsilon;-правил для языка <tex>L(\Gamma) \ setminus \lbrace \epsilon \rbrace</tex>
#воспользоваться алгоритмом для новой грамматики
#Если <tex>\epsilon</tex> присутствовал в языке исходной грамматики, добавить новый начальный символ <tex>S'</tex> и правила <tex>S' \rightarrow S \, | \, \epsilon </tex>
26
правок

Навигация