/* adder2.jj faz soma de valores inteiros */ options { STATIC = false; } PARSER_BEGIN(Adder2) class Adder2 { public static void main (String args[]) throws ParseException, TokenMgrError, NumberFormatException { Adder2 parser = new Adder2(System.in); System.out.println ("Soma: "+parser.Start()); } } PARSER_END(Adder2) SKIP: {" "} SKIP: {"\n"|"\r"|"\r\n"} TOKEN: { < PLUS: "+" > } TOKEN: { < NUMBER: (["0"-"9"])+ > } int Start() throws NumberFormatException : { Token t; int value; int i; } { t = {i = Integer.parseInt(t.image);} {value = i;} ( t = {i = Integer.parseInt( t.image );} { value += i; } )* {return value;} }