Изменения

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

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

52 байта убрано, 20:26, 7 января 2013
Пример
Дана грамматика
<tex>A \Rightarrow to S\alpha </tex>
<tex>S \Rightarrow to S\beta | A\gamma | b</tex>
Среди продукций <tex>A</tex> непосредственной рекурсии нет, поэтому во время первой итерации внешнего цикла ничего не происходит.
Грамматика имеет вид
<tex>A \Rightarrow to S\alpha </tex>
<tex>S \Rightarrow to{S}{\beta} | {S}{\alpha}{\gamma} | \beta</tex>
Устраняем левую рекурсию для <tex>S</tex>
<tex> S \Rightarrow to\beta{S_1}</tex> <tex> {S_1} \Rightarrow \beta{S_1} | \alpha\gamma{S_1}</tex>
<tex> {S_1} \to\beta{S_1} | \alpha\gamma{S_1}</tex>
==Литература==
228
правок

Навигация