228
правок
Изменения
→Устранение произвольной левой рекурсии
==Устранение произвольной левой рекурсии==
Пусть <tex>N = \lbrace A_1, A_2, \ldots , A_n \rbrace</tex> {{---}} упорядоченное множество всех нетерминалов.
<div>
for i = 1 to n все нетерминалы <tex>A_i</tex> for все нетерминалы <tex>A_j</tex>, такие, что <tex> 1 \leq j = 1 to < i – 1 </tex> и
рассмотреть все правила вывода из <tex>A_j</tex>: <tex>A_j \rightarrow \delta_1 | \ldots | \delta_k</tex>.
заменить каждое правило <tex>A_i \rightarrow A_j \gamma</tex> на <tex>A_i \rightarrow \delta_1\gamma | \ldots | \delta_k\gamma</tex>.