我收到错误Can't load Chat as lexer or parser
运行命令时grun Chat chat
我正在按照 https://tomassetti.me/antlr-mega-tutorial/#setup-antlr 的说明进行操作
在Mac OS上使用python,这是我bash_profile的详细信息:-
export CLASSPATH=".:/usr/local/lib/antlr-4.7.1-complete.jar:$CLASSPATH"
alias antlr4='java -Xmx500M -cp "/usr/local/lib/antlr-4.7.1-complete.jar:$CLASSPATH" org.antlr.v4.Tool'
alias grun='java -Xmx500M -cp "/usr/local/lib/antlr-4.7.1-complete.jar:$CLASSPATH" org.antlr.v4.gui.TestRig'
命令运行:- 要创建 python 文件:antlr4 -Dlanguage=Python3 Chat.g4
运行上述命令时,将创建以下文件:-
chat.interp, chat.tokens, chatLexer.interp, ChatLexer.py, ChatLexer.tokens, ChatListener,py, ChatParse.py
运行 grun 工具:grun Chat chat
我尝试了不同的解析器规则,但得到相同的错误。
grun
是一个Java工具,它期望词法分析和解析器作为可以加载和实例化的Java类存在。因此,您需要从语法生成 Java 代码,然后使用javac
对其进行编译,然后才能使用grun
。
如果无法从语法生成 Java(例如,因为语法包含 Python 操作(,则无法使用grun
。