grammar adder; /* * Sample ANTLR file that illustrates computing results in a simple case. */ commands : addCommand+ EOF ; addCommand : ADD number_list {print("Total: " + str($number_list.list_value))} ; number_list returns [int list_value] : number {$list_value = $number.value} | number COMMA number_list {$list_value = $number.value + $number_list.list_value} ; number returns [int value] : NUMBER {$value = int($NUMBER.text)} ; ADD : ('a'|'A')('d'|'D')('d'|'D') ; COMMA : ',' ; NUMBER : '-'? ('0'..'9')+ ; WS : [ \r\n\t]+ -> channel (HIDDEN) ;