【发布时间】:2021-12-28 03:25:24
【问题描述】:
- 我使用的版本是 4.9.2 ,在 Windows10 和 Ubuntu16.04 上
- 我使用了g4中提供的java8
- 这是我的测试代码
Test2.java:
class mytest {
public void hello() {
System.out.println("hello1");
}
public void hello2() {
System.out.println("hello2");
hello();
}
}
public class Test2 {
public static void main(final String[] args) throws Exception {
mytest a = new mytest();
a.hello();
a.hello2();
System.out.println("hello3");
}
}
- 我可以保证这是正确的代码并且可以运行。
- 我先做这个
java -jar D:\lib\antlr\antlr-4.9.2-complete.jar Java8Lexer.g4
java -jar D:\lib\antlr\antlr-4.9.2-complete.jar Java8Parser.g4
- 然后我编译它们
javac -cp ".;D:\lib\antlr\antlr-4.9.2-complete.jar" Java*.java
- 以上均无错误
- 我想要一棵树,所以我
javac Test2.java
java -cp ".;D:\lib\antlr\antlr-4.9.2-complete.jar" org.antlr.v4.gui.TestRig Test2 r -tree
- 但无论我如何尝试,我都会得到这个结果
Exception in thread "main" java.lang.ClassCastException: class Test2
at java.lang.Class.asSubclass(Class.java:3404)
at org.antlr.v4.gui.TestRig.process(TestRig.java:135)
at org.antlr.v4.gui.TestRig.main(TestRig.java:119)
- 我在网上试过各种方法都没有解决。我也在Ubuntu 16.04上试过,结果一样。
- 请帮我TT
【问题讨论】: