繁体   English   中英

Antlr4:antlr4中的无关输入

[英]Antlr4: extraneous input in antlr4

我有问题为我的语法运行输入流,这是我的语法的一部分

expression  
:  .... 
|   ( '+' | '-' | '&' |) expression
|   expression ('+'|'-') expression
   ....
;

当输入流如2 + 2-2或(2 + 2 + 2)-2时,发生错误

line 10:30 extraneous input '-2' expecting {',', '^',...}

为什么我的语法不能区分-2和2-2? 有人帮我请!

您似乎已经以-2导致单个令牌的方式编写了词法分析器。 不要以这种方式处理负数,而是将-视为一元运算符并允许解析器处理否定操作。 如果你试图直接在词法分析器中处理负数,那么输入如2-2将作为2个连续数字标记( 2后跟-2 )发送给解析器,而不是所需的3个标记( 2-2 )。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM