antlr匹配全文的问题

最近因为要写一个解释器,所以研究了一下大名鼎鼎的antlr,中文的资料比较少,大多要自己看官网的文档和一些别人写的代码。
其中遇到了一个问题,就是用anltr语法来识别时候,只是默认匹配最大的token流如:
prog: INT ;
这是一个识别INT的语法,但是如果我们输入1aaa2ccc3的话,antlr只会匹配到 1,而后面的如果是合法token它将不会报错,直接忽略的后面的内容。
解决办法是
prog: INT EOF ;
EOF是结束符,无论你的字符串是什么,它都会在最后帮你加上这个字符,这样antlr识别到这个字符就知道你的字符串结束了,所以如果在语法后面加上这个,就代表,要匹配全文。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值