[type] Parser [grammar] grammar T; s : e {}; e returns [int v, ignored] : a=e '*' b=e {$v = $a.v * $b.v;} | a=e '+' b=e {$v = $a.v + $b.v;} | INT {$v = $INT.int;} | '(' x=e ')' {$v = $x.v;} ; INT : '0'..'9'+ ; WS : (' '|'\n') -> skip ; [start] s [input] 1+2 [output] """3 """