如何检查 ANTLR 令牌在解析器中仅使用一次或更少
在Antlr中,如果我有一个规则,例如:
someRule : TOKENA TOKENB;
它会接受:“tokena tokenb”
如果我希望TOKENA是可选的,我可以说,
someRule : TOKENA* TOKENB;
那么我可以有:“tokena tokenb”或“tokenb”或“tokena tokena tokenb” ”
但这也意味着它可以重复多次。无论如何,我可以说这个令牌可以出现 1 次或更少,但不能超过 1 次吗?所以它会接受:
“tokena tokenb”或“tokenb”但不接受“tokena tokena tokenb”?
非常感谢
In Antlr, if I have a rule for example:
someRule : TOKENA TOKENB;
it would accept : "tokena tokenb"
if I would like TOKENA to be optional, I can say,
someRule : TOKENA* TOKENB;
then I can have : "tokena tokenb" or "tokenb" or "tokena tokena tokenb"
but this also means it can be repeated more that once. Is there anyway I can say this token can be there 1 or less times but not more than one? so it would accept:
"tokena tokenb" or "tokenb" BUT NOT "tokena tokena tokenb"?
Many thanks
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
方法如下:
或者:
Here's how:
or: