Sim*_*ard 1 parsing antlr rules antlr3
在Antlr中,如果我有一个例子:
someRule : TOKENA TOKENB;
Run Code Online (Sandbox Code Playgroud)
它会接受:"tokena tokenb"
如果我希望TOKENA是可选的,我可以说,
someRule : TOKENA* TOKENB;
Run Code Online (Sandbox Code Playgroud)
那么我可以:"tokena tokenb"或"tokenb"或"tokena tokena tokenb"
但这也意味着它可以重复一次.无论如何我可以说这个令牌可以有1次或更少但不超过1次吗?所以它会接受:
"tokena tokenb"或"tokenb"但不是"tokena tokena tokenb"?
非常感谢
...无论如何,我可以说这个令牌可以有1次或更少但不超过1次吗?...
这是如何做:
someRule
: TOKENA? TOKENB
;
Run Code Online (Sandbox Code Playgroud)
要么:
someRule
: TOKENA TOKENB
| TOKENB
;
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
407 次 |
| 最近记录: |