我正在尝试使用antlr4包在Python中构建Java的抽象语法树。 我从中下载了Java语法 https://github.com/antlr/grammars-v4/blob/master/java8/Java8.g4
我想使用该语法文件为Python2生成JavaLexer和JavaParser。
当我说
时"$ antlr4 -Dlanguage=Python2 Java8.g4"
发生错误。该错误是
error(134):Java8.g4:73:0:符号类型与目标语言或运行时生成的代码冲突
注意:我已使用Character.isJavaIdentifierPart()
删除了部分。因为这些行不适合python,我只使用ASCII。
答案 0 :(得分:4)
Python有一个名为type
的内置函数。 Antlr4为语法的第73行打印错误:
type
: primitiveType
| referenceType
;
看起来存在名称冲突,您必须将type
重命名为语法中的其他内容。