ANTLR4 python语法错误以及安装示例

时间:2019-06-12 11:23:13

标签: python antlr4

按照以下说明尝试为python设置ANTLR   http://blog.anvard.org/articles/2016/03/15/antlr-python.html

并另外使用antlr-4.7.2-complete.jar的本地副本

存在语法错误。

使用python2:

> from antlr4 import *
  File "/usr/local/lib/python2.7/dist-packages/antlr4/__init__.py", 
line     1, in <module>
    from antlr4.Token import Token
  File "/usr/local/lib/python2.7/dist-packages/antlr4/Token.py", line 59
    def text(self, text:str):
                       ^

使用python3:

> Traceback (most recent call last):
  File "test_Hello.py", line 1, in <module>
    from antlr4 import *
  File "/usr/local/lib/python3.6/dist-packages/antlr4/__init__.py", 
   line     5, in <module>
    from antlr4.BufferedTokenStream import TokenStream
  File "/usr/local/lib/python3.6/dist-packages/antlr4    
    /BufferedTokenStream.py", line 18, in <module>
    from antlr4.error.Errors import IllegalStateException
  File "/usr/local/lib/python3.6/dist-packages/antlr4/error/Errors.py",     
    line 39, in <module>
    from antlr4.Recognizer import Recognizer
  File "/usr/local/lib/python3.6/dist-packages/antlr4/Recognizer.py", line    
    6, in <module>
    from __builtin__ import unicode
ModuleNotFoundError: No module named '__builtin__'

要生成python代码,我在工作目录中使用了Antlr4的新副本-版本4.7.1-jar 并为python2生成了python文件,如下所示:

alias antlr4='java -jar antlr-4.7.2-complete.jar'
antlr4 -Dlanguage=Python2 Hello.g4

alias antlr4='java -jar antlr-4.7.2-complete.jar'
antlr4 -Dlanguage=Python3 Hello.g4

对于python3。

Python 2版本为2.7.15+ Python 3版本是3.6.8。

我已经看过类似的问题,例如:   Python+ANTLR4: No module named antlr4

但找不到解决此问题的方法。

0 个答案:

没有答案