我使用ANTLR 4.4与Python3作为目标语言。你可以在这个页面看到:https://github.com/antlr/antlr4/releases, ANTLR 4.4支持Python3,但当我想创建一个Python词法分析器&-Dlanguage=Python3 MyGrammar。g4,我得到了这个错误:
ANTLR cannot generate python3 code as of version 4.4
我不知道这是因为我的语法,我必须修改它来解决这个错误还是什么?(顺便说一句,我在ANTLRWorks 2.1中没有错误)
如上所述https://theantlrguy.atlassian.net/wiki/display/ANTLR4/Python+Target:
- antlr4 -Dlanguage=Python2 MyGrammar.g4或
- antlr4 -Dlanguage=Python3 MyGrammar.g4
通过更改CLASSPATH的定义来消除该错误。首先,我永久性地指定了它:使用系统属性对话框>环境变量>创建或附加到CLASSPATH变量
,然后我把它改成临时的,如下所示:设置CLASSPATH =; C: Javalib antlr - 4.4 - complete.jar; % CLASSPATH %
这可能只是一个打字错误(我遇到了同样的问题,我通过在Python中使用大写P来解决它):
$ antlr4 -Dlanguage=python3 grammar.g4
error(31): ANTLR cannot generate python3 code as of version 4.11.1
解决方案$ antlr4 -Dlanguage=Python3 grammar.g4