/*
* Ejemplo con una gramatica recursiva por la izquierda y
* otra que elimina dicha recursividad izquierda.
*/
global
{
analysis LL1;
nonterminal E, T, F;
terminal num;
}
/*
* Gramatica recursiva por la izquierda
*/
grammar recursiva_izq
{
E := E '+' T | E '-' T | T;
T := T '*' F | T '/' F | F;
F := num | '(' E ')';
}
/*
* Gramatica no recursiva por la izquierda.
*/
grammar recursiva_der
{
nonterminal EP, TP;
E := T EP;
EP := '+' T EP | '-' T EP | ;
T := F TP;
TP := '*' F TP | '/' F TP | ;
F := num | '(' E ')' ;
}