无法作为词法分析器或解析器加载规则-Antlr4

问题描述 投票:0回答:1

我收到一个错误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时无法以词法分析器或解析器加载Chat Chat Chat我正在按照https://tomassetti.me/antlr-mega-tutorial/#setup-antlr上的说明进行操作。 。

python-3.x antlr antlr4
1个回答
0
投票

grun是一个Java工具,它期望词法分析器和解析器作为可以加载和实例化的Java类存在。因此,您需要先从语法生成Java代码,然后使用javac对其进行编译,然后才能使用grun

© www.soinside.com 2019 - 2024. All rights reserved.