按照下面的说明http://blog.anvard.org/articles/2016/03/15/antlr-python.html尝试为python设置ANTLR
此外,还使用antlr-4.7.2-plete.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 -Version4.7.1-jar的新副本,并为python2生成了如下所示的python2:
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。
Python2版本是2.7.15+,Python3版本是3.6.8。
我已经看过一些类似的问题了,比如:Python+ANTLR4: No module named antlr4
但却找不到解决这个问题的办法。
发布于 2022-06-23 08:30:16
https://stackoverflow.com/questions/56561040
复制相似问题