Professional Documents
Culture Documents
Elimination of Left Recursion and Solving Non-Deterministic Grammars
Elimination of Left Recursion and Solving Non-Deterministic Grammars
RECURSION AND
SOLVING NON-
DETERMINISTIC
GRAMMARS
Left and Right Recursion
If the left most symbol of the right hand side is
equal to right hand side then it is left recursion
A -> A α | β
S 01S’
S’ OS1SS’ / €
Example:
A AB / Aa / a
A a A’
A’ B A’ / €
A a A’
A’ aA’ / €
Eliminate repeated step for final answer.
Example:
A Ac/ Aad/bd/c
A bdA’/cA’
A’ cA’/adA’/ €
Deterministic and Non Deterministic
Grammar
Non Deterministic Grammar
A -> α β1 | α β2 | α β3
A -> α A’
A’ -> β1 | β2 | β3
Examples
A->aSSbS | aSaSb | abb
|b
A->aSSbS | aSaSb |
abb | b
Equivalent to
S-> aS’ | b
S’ -> SSbS | SaSb | bb
S-> aS’ | b
Again same prefixes….. S’ -> SS’’ | bb
S’’ -> SbS|aSb
S’ -> SS’’ | bb
S’’ -> SbS|aSb
Exercise
S -> bSSaaS | bSSaSb | bSb | a
A bSA’ / a
A’ SaaS / SaSb / Sb
A’ SaA’’ /Sb
A’’ aS/Sb