grammar Example_4_15; /* eliminate left-recursivity when finished, check the grammar Grammar -> Check Grammar (CTRL+r) */ options { k=1; } init : expr '\n'; expr : expr plusOper expr | multExpr ; plusOper : '+' | '-' ; multExpr : multExpr multOper multExpr | atom ; multOper : '*' | '/' ; atom : INT | '(' expr ')' ; INT : ('-')? ('0'..'9')+ ; NEWLINE:'\r'? '\n' ; WS : (' '|'\t')+ ;