如何修改规则中的ctx上下文文本,以便当父规则getText()时具有修改后的ctx文本? ctx是指在antlr侦听器中使用的那个。
最终目标是使运算符具有正确的优先级,以便当规则调用ctx.expression()。getText()时,它会获得一个正确的带括号的表达式。
这是我的语法:
expression : expression PLUS term | expression MINUS term | term ;
term : term STAR factor | term DIV factor | term MOD factor | factor;
factor : LPAREN expression RPAREN | primary;
primary : ID | Number;