1
在Java.g,我們可以發現以下規則(爲清楚起見空白刪除):Java.g:模糊的'聲明'規則? (斷言)
statement
: block
| ('assert') expression (':' expression)? ';'
| 'assert' expression (':' expression)? ';'
| 'if' parExpression statement ('else' statement)?
(...)
;
我有兩個問題:
- 兩個 '斷言' 子規則真的需要?
- 如果不是,ANTLR爲什麼不抱怨含糊不清,因爲它們似乎定義了完全相同的輸入?
在此先感謝。