Изменения

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

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

Нет изменений в размере, 20:31, 7 января 2013
Алгоритм устранения произвольной левой рекурсии
На <tex>i</tex> итерации внешнего цикла все правила вида <tex>A_i \to A_j \gamma</tex> где <tex> j < i </tex> заменяются на <tex>A_i \to \delta_1\gamma | \ldots | \delta_k\gamma</tex> где <tex>A_j \to \delta_1 | \ldots | \delta_k</tex>. Таким образом остается только избавиться от непосредственной рекурсии для <tex>A_i</tex>.
Очевидно, что одна итерация алгоритма не меняет язык, а значит язык получившейся получившийся в итоге грамматики совпадает с исходным.
228
правок

Навигация