grammar Expr;
prog: expr EOF;
expr: expr('*'|'/') expr #MultiOrDiv
| expr('+'|'-') expr #AddOrSub
| INT #Lieteral
| '(' expr ')' #Single
;
NEWLINE : [\r\n]+ -> skip;
刚学antlr,最简单的这个antlr应该是实现加减乘除法,但是一直报语法错误
1:1 token recognition error at: '+'
1:3 token recognition error at: '*'
1:2 mismatched input '2' expecting {, '*', '/', '+', '-'}
有没有懂的大佬指教下!
原因
你的
INT
没有定义。解决方法
结果