Вы находитесь на странице: 1из 2

options { LOOKAHEAD=1; } PARSER_BEGIN(Calculadora) public class Calculadora { public static void main(String args[]) throws ParseException { Calc1 parser

= new Calc1(System.in); while (true) { System.out.print("Introduzca una expresion: "); System.out.flush(); try { switch (parser.one_line()) { case -1: System.exit(0); default: break; } } catch (ParseException x) { System.out.println("Finalizando."); throw x; } } } } PARSER_END(Calculadora) /*SKIP : { " " "\r" "\t" } TOKEN : { < EOL: "\n" > } TOKEN : /* OPERADORES */ { < MAS: "+" > < MENOS: "-" > < POR: "*" > < ENTRE: "/" > } TOKEN : { < CONSTANTE: ( <DIGITO> )+ > < #DIGITO: ["0" - "9"] > } int one_line() : {} { suma() <EOL>{ return 1; } <EOL>{ return 0; } <EOF>{ return -1; } } void suma() : { } {

termino() (( <MAS> <MENOS> ) termino())* } void termino() : { } { unario() (( <POR> <ENTRE> ) unario())* } void unario() : { } { <MENOS> elemento() elemento() } void elemento() : {} { <CONSTANTE> "(" suma() ")"

}*/