4
我下載了最新版本的ANTLR-4.2.2(antlr-4.2.2-complete.jar) 當我用它來爲語法文件Java.g4生成解析器時打印我像一些警告: 「Java.g4:525:16:規則‘表達’包含無法識別的位置的‘assoc命令’終端選」antlr 4.2.2輸出到控制檯警告(157)
文件生成,但沒有編譯
以前版本工作正常。
怎麼了?
我下載了最新版本的ANTLR-4.2.2(antlr-4.2.2-complete.jar) 當我用它來爲語法文件Java.g4生成解析器時打印我像一些警告: 「Java.g4:525:16:規則‘表達’包含無法識別的位置的‘assoc命令’終端選」antlr 4.2.2輸出到控制檯警告(157)
文件生成,但沒有編譯
以前版本工作正常。
怎麼了?
的<assoc>
現在應該移動左「表達」的。
必須始終放在右周邊|
:
看吧:https://theantlrguy.atlassian.net/wiki/display/ANTLR4/Left-recursive+rules
...
| expression '&&' expression
| expression '||' expression
| expression '?' expression ':' expression
|<assoc=right> expression
( '='
| '+='
| '-='
| '*='
| '/='
| '&='
| '|='
| '^='
| '>>='
| '>>>='
| '<<='
| '%='
)
expression