:: Estás en: Inicio / Ejemplos
/*
 * 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 ')'  ;
}