我尝试使用ANTLR构建一个非常简单的规则如下:
number :
INT
;
INT : '0'..'9'+
;
它接受123
为number
,但我不确定为什么它也接受abc123
为number
?
如何更正要解析number
的规则?
感谢您的任何建议!
答案 0 :(得分:0)
但我不确定为什么它也接受abc123作为号码?
没有。
也许您正在使用一些3 rd 派对工具/编辑器,其中很难看到打印到控制台的错误消息,但它们就在那里。解析器可能只是从不匹配的输入中恢复,使其看起来像 INT
接受"abc123"
之类的输入。