问题可能出现在 Antlr4 的词法规则中。你可以尝试修改词法规则以识别单个数字和括号。例如,以下规则可以识别这些字符:
number: '-'? INT | '-'? INT '.' INT ;
LEFTPAREN: '(' ; RIGHTPAREN: ')' ;
其中,INT 是一个整数,可以使用如下规则定义:
INT: [0-9]+ ;
除了修改词法规则外,还需要确保语法规则正确匹配这些标记。例如,如果你的语法规则需要一个 expression ,那么你可以这样定义:
expression: number // 匹配一个数字 | LEFTPAREN expression RIGHTPAREN // 匹配一个括号内的表达式 ;
这样,Antlr4 就可以正确识别单个数字和括号了。