18c0693f

Исключение леворекурсивных правил



 

Определение. Правило вида <A>  ® a <A>

, где A О VA

, a О(Vт

ИVA) * , называется праворекурсивным, а правило вида <A>  ® <A>a

- леворекурсивным.

 

Утверждение. Для каждой КС-грамматики Г, содержащей леворекурсивные правила, можно 
построить эквивалентную грамматику Г', не содержащую леворекурсивных правил.

Способ построения эквивалентной грамматики заключается в следующем. Допустим, что исходная грамматика Г содержит
правила:
                       <A> ®

<A>a 1 | <A>a

2 | ... |<A>a m| ,
где ни одна цепочка b не начинается с <A>

и a1, b1О(Vт ИVA) * .
Введем новый нетерминал <A'> и преобразуем правила так: