Especificación léxica: CATEGORÍA E.R. ATRIBUTOS ACCIONES lit [0-9]+ val Emitir opad \+|- lex Emitir opmul \* --- Emitir blanco [ \t\n]+ --- Omitir pa \( --- Emitir pc \) --- Emitir Gramática: -> ( opad )* -> ( opmul )* -> lit | pa pc Nodos del AST: CLASE REPRESENTA... ATRIBUTOS HIJOS Mas Una operación de suma --- hi y hd Menos Una operación de resta --- hi y hd Por Una operación de multiplicación --- hi y hd Cte Un literal numérico v --- DONDE... v: valor hi: hijo (operando) izquierdo hd: hijo (operando) derecho Esquema de traducción: -> _1 { aux:=_1.arb } ( opad _2 { SI opad.lex=="+" ENT aux:=Mas(aux,_2.arb) SI_NO aux:=Menos(aux,_2.arb) FIN } )* { .arb:=aux } -> _1 { aux:=_1.arb } ( opmul _2 { aux:=Por(aux,_2.arb) } )* { .arb:=aux } -> lit { .arb:=Cte(lit.val) } | pa pc { .arb:=.arb }