为什么ANTLR规则接受'abc123'作为数字?

时间:2012-10-15 14:41:16

标签: antlr

我尝试使用ANTLR构建一个非常简单的规则如下:

number :
  INT
  ;

INT : '0'..'9'+
  ;

它接受123number,但我不确定为什么它也接受abc123number

如何更正要解析number的规则?

感谢您的任何建议!

1 个答案:

答案 0 :(得分:0)

  

但我不确定为什么它也接受abc123作为号码?

没有。

也许您正在使用一些3 rd 派对工具/编辑器,其中很难看到打印到控制台的错误消息,但它们就在那里。解析器可能只是从不匹配的输入中恢复,使其看起来像 INT接受"abc123"之类的输入。