2016-10-03 64 views
0

我想用antlr4包在Python中为Java构建抽象语法树。 我已经从 下载Java语法https://github.com/antlr/grammars-v4/blob/master/java8/Java8.g4ANTLR错误134

我想使用该语法文件为Python2生成JavaLexer和JavaParser。

当我说

"$ antlr4 -Dlanguage=Python2 Java8.g4" 

错误occured.That错误是

错误(134):Java8.g4:73:0:与所生成的代码符号类型冲突在目标语言或运行时间

注意:我已用Character.isJavaIdentifierPart()删除了部件。因为这些行不适合python,我只会使用ASCII。

回答

2

Python内置了函数type。 Antlr4打印错误的语法线73:

type 
    : primitiveType 
    | referenceType 
    ; 

貌似有一个名称冲突,你必须重新命名type到别人在你的语法东西。

+0

谢谢。这样可行。 ** type **关键字在语法中使用一次,并用typeType替换类型。 – Alperen