/* * 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 ')' ; }