0
我正在将Antlr语法文件升级到最新的Antlr4。将语法文件升级到Antlr4
我已经转换了大部分的文件,但坚持语法差异,我无法弄清楚。 3这样的区别是:
equationset: equation* EOF!;
equation: variable ASSIGN expression -> ^(EQUATION variable expression)
;
orExpression
: andExpression (OR^ andExpression)*
;
在第一个错误是由于!我不确定是否EOF和EOF!是否相同。删除!解决了错误,但我想确保这是正确的修复。
在第二条规则中, - >和^给出错误。我不确定什么是Antlr4等价物。
在第3条规则中,^给出错误。删除它可以修复错误,但是我找不到任何迁移指南来解释什么应该与此等效。
可以请你给我这3条规则的Antrl4等价物,并给出一些简单的解释是什么区别?如果您可以参考任何其他资源,我可以找到答案也可以。
在此先感谢。
在v4中,如果你需要一个AST,你必须自己生成它(这并不坏,我会争辩它给你更多的自由),我写了一个如何做到这个[这里](http://stackoverflow.com/a/29996191/3764814)的例子。 –