1
在Java.g,我们可以发现以下规则(为清楚起见空白删除):Java.g:模糊的'声明'规则? (断言)
statement
: block
| ('assert') expression (':' expression)? ';'
| 'assert' expression (':' expression)? ';'
| 'if' parExpression statement ('else' statement)?
(...)
;
我有两个问题:
- 两个 '断言' 子规则真的需要?
- 如果不是,ANTLR为什么不抱怨含糊不清,因为它们似乎定义了完全相同的输入?
在此先感谢。