antlr 4.2.2输出到控制台警告(157) [英] antlr 4.2.2 output to console warning (157)
本文介绍了antlr 4.2.2输出到控制台警告(157)的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我下载了ANTLR的最新版本-4.2.2(antlr-4.2.2-complete.jar) 当我用它为语法文件Java.g4生成解析器时,它向我显示一些警告,例如: "Java.g4:525:16:规则'expression'在无法识别的位置包含'assoc'终端选项"
I downloaded latest release of ANTLR - 4.2.2 (antlr-4.2.2-complete.jar) When I use it to generate parsers for grammar file Java.g4 it prints me some warnings like: "Java.g4:525:16: rule 'expression' contains an 'assoc' terminal option in an unrecognized location"
文件已生成但未编译
以前的版本运行正常.
怎么了?
推荐答案
<assoc>
现在应移到表达式"的左侧.
The <assoc>
should now be moved left of the "expression".
必须始终将其放置在周围的|
处:
It must be placed always right to the surrounding |
:
查看此处: https://theantlrguy.atlassian.net/wiki/display/ANTLR4/左递归+规则
...
| expression '&&' expression
| expression '||' expression
| expression '?' expression ':' expression
|<assoc=right> expression
( '='
| '+='
| '-='
| '*='
| '/='
| '&='
| '|='
| '^='
| '>>='
| '>>>='
| '<<='
| '%='
)
expression
这篇关于antlr 4.2.2输出到控制台警告(157)的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文