【发布时间】:2013-06-10 06:13:05
【问题描述】:
antlr 网站上给出了 python 的语法,但在使用它来生成 AST 时给出错误。我使用的程序与生成 AST 的 java 语法相同。
错误:
> C:\testpython>java -cp antlr-3.2.jar org.antlr.Tool Python.g
error(10): 内部错误: : java.lang.Error: 解析错误 Python.g:“类”不是预期的“语法” org.antlr.tool.GrammarSpelunker.match(GrammarSpelunker.java:74) org.antlr.tool.GrammarSpelunker.grammarHeader(GrammarSpelunker.java:112) org.antlr.tool.GrammarSpelunker.parse(GrammarSpelunker.java:84) org.antlr.Tool.sortGrammarFiles(Tool.java:552) org.antlr.Tool.process(Tool.java:408) org.antlr.Tool.main(Tool.java:91) 错误(100): Python.g:56:1: 语法 错误:antlr:Python.g:56:1:意外令牌:类错误(8):文件 Python.g 包含语法 PythonParser;名称必须相同 错误(100):Python.g:56:20:语法错误:antlr:Python.g:56:20: 期待 SEMI,发现“扩展”错误(100):语法错误:无效 字符文字:'\014' 错误(150):语法文件 Python.g 没有规则 错误(100):Python.g:0:0:语法错误:assign.types::0:0: 子树错误(100)的意外结束:Python.g:0:0:语法错误: 定义::0:0:子树的意外结束
有什么帮助吗?
【问题讨论】:
标签: python antlr abstract-syntax-tree