在 Antlr 中,如果我有一个规则,例如:
someRule : TOKENA TOKENB;
它会接受:“tokena tokenb”
如果我希望 TOKENA 是可选的,我可以说,
someRule : TOKENA* TOKENB;
那么我可以拥有:“tokena tokenb”或“tokenb”或“tokena tokena tokenb”
但这也意味着它可以重复多次。无论如何我可以说这个令牌可以出现1次或更少但不超过一次?所以它会接受:
“tokena tokenb”或“tokenb”但不是“tokena tokena tokenb”?
非常感谢