ANTLR4 错误 "Problems calling org.antlr.v4.gui.TestRig.main"
ANTLR4 Error "Problems calling org.antlr.v4.gui.TestRig.main"
您好,当我尝试本教程的简单示例时出现此错误:
"grun Hello -r tree
警告:TestRig 已移至 org.antlr。v4.gui.TestRig;自动呼叫
调用 org.antlr.v4.gui.TestRig.main(args) 时出现问题
“
我不知道发生了什么。
你能帮帮我吗
听起来您已经设置了要使用的 'grun' 别名 :
org.antlrv4.runtime.misc.TestRig
//and from antlr4 onwards they deprecated that and use this instead.
org.antlrv4.gui.TestRig
所以您应该尝试从终端或批处理文件中重置您的 'grun' 别名,具体取决于您的设置方式。如果还有错误在这里评论,我会尽力帮助:
alias grun='java org.antlr.v4.gui.TestRig'
如果您在更新设置别名后仍然有任何错误,请发表评论,我会尽力提供进一步帮助。
设置 TestRig - 在此处添加,以便在文档部分关闭后内容不会丢失。
ANTLR 在其 运行time 库中包含一个测试工具,该工具可用于显示详细说明如何执行解析以将输入与语法文件中定义的规则相匹配的信息。
要使用包含在 ANTLR jar 文件中的这个工具,您应该设置您的系统类路径以允许访问 ANTLR 工具和 运行time 库:
export CLASSPATH=".:/usr/local/lib/antlr-4.5.3-complete.jar:$CLASSPATH"
注意:确保点位于任何路径之前,以确保 java 虚拟机不会在您当前的工作目录中看到 类。
可以在 Linux/MAC/Unix 上使用 Alise 来简化使用的命令:
alias antlr4='java -jar /usr/local/lib/antlr-4.5.3-complete.jar'
//或者你的jar所在的任何目录
请注意 windows 上的别名设置和类路径设置可能更复杂,请参阅此处了解更全面的详细信息。
访问 TestRig
设置别名后,您可以按以下方式设置 TestRig,建议再次使用别名,以减少执行操作所需的时间:
alias grun='java org.v4.runtime.misc.TestRig'
如果您不想在 windows 上设置别名,您可以通过 运行 在与 ANTLR jar 目录相同的位置执行以下命令来访问 TestRig:
java -cp .;antlr.4.5.3-complete.jar org.antlrv4.runtime.misc.TestRig
//or
java -cp .;antlr.4.5.3-complete.jar org.antlrv4.gui.TestRig
要 运行 语法上的 TestRig,您可以像这样为语法传递参数:
g运行 yourGrammar yourRule -tree //使用设置别名 java -cp .;antlr.4.5.3-complete.jar org.antlrv4.gui.TestRig yourGrammar YourRule -tree //on windows with no alias java -cp .;antlr.4.5.3-complete.jar org.antlrv4.gui.TestRig yourGrammar Hello r -tree //Windows 语法 Hello.g4 从规则 'r'.
开始
grun yourGrammar yourRule -tree //using the setup alias
java -cp .;antlr.4.5.3-complete.jar org.antlrv4.gui.TestRig yourGrammar YourRule -tree //on windows with no alias
java -cp .;antlr.4.5.3-complete.jar org.antlrv4.gui.TestRig yourGrammar Hello r -tree
//Windows with the grammar Hello.g4 starting from the rule 'r'.
您好,当我尝试本教程的简单示例时出现此错误:
"grun Hello -r tree 警告:TestRig 已移至 org.antlr。v4.gui.TestRig;自动呼叫 调用 org.antlr.v4.gui.TestRig.main(args) 时出现问题 “
我不知道发生了什么。 你能帮帮我吗
听起来您已经设置了要使用的 'grun' 别名 :
org.antlrv4.runtime.misc.TestRig
//and from antlr4 onwards they deprecated that and use this instead.
org.antlrv4.gui.TestRig
所以您应该尝试从终端或批处理文件中重置您的 'grun' 别名,具体取决于您的设置方式。如果还有错误在这里评论,我会尽力帮助:
alias grun='java org.antlr.v4.gui.TestRig'
如果您在更新设置别名后仍然有任何错误,请发表评论,我会尽力提供进一步帮助。
设置 TestRig - 在此处添加,以便在文档部分关闭后内容不会丢失。
ANTLR 在其 运行time 库中包含一个测试工具,该工具可用于显示详细说明如何执行解析以将输入与语法文件中定义的规则相匹配的信息。
要使用包含在 ANTLR jar 文件中的这个工具,您应该设置您的系统类路径以允许访问 ANTLR 工具和 运行time 库:
export CLASSPATH=".:/usr/local/lib/antlr-4.5.3-complete.jar:$CLASSPATH"
注意:确保点位于任何路径之前,以确保 java 虚拟机不会在您当前的工作目录中看到 类。 可以在 Linux/MAC/Unix 上使用 Alise 来简化使用的命令:
alias antlr4='java -jar /usr/local/lib/antlr-4.5.3-complete.jar'
//或者你的jar所在的任何目录 请注意 windows 上的别名设置和类路径设置可能更复杂,请参阅此处了解更全面的详细信息。
访问 TestRig
设置别名后,您可以按以下方式设置 TestRig,建议再次使用别名,以减少执行操作所需的时间:
alias grun='java org.v4.runtime.misc.TestRig'
如果您不想在 windows 上设置别名,您可以通过 运行 在与 ANTLR jar 目录相同的位置执行以下命令来访问 TestRig:
java -cp .;antlr.4.5.3-complete.jar org.antlrv4.runtime.misc.TestRig
//or
java -cp .;antlr.4.5.3-complete.jar org.antlrv4.gui.TestRig
要 运行 语法上的 TestRig,您可以像这样为语法传递参数:
g运行 yourGrammar yourRule -tree //使用设置别名 java -cp .;antlr.4.5.3-complete.jar org.antlrv4.gui.TestRig yourGrammar YourRule -tree //on windows with no alias java -cp .;antlr.4.5.3-complete.jar org.antlrv4.gui.TestRig yourGrammar Hello r -tree //Windows 语法 Hello.g4 从规则 'r'.
开始grun yourGrammar yourRule -tree //using the setup alias
java -cp .;antlr.4.5.3-complete.jar org.antlrv4.gui.TestRig yourGrammar YourRule -tree //on windows with no alias
java -cp .;antlr.4.5.3-complete.jar org.antlrv4.gui.TestRig yourGrammar Hello r -tree
//Windows with the grammar Hello.g4 starting from the rule 'r'.