线程“main”中的异常:-gui -tokens -tree

时间:2018-04-18 00:44:18

标签: java antlr antlr4

我在mac os上使用antlr4,我是按照github https://github.com/antlr/antlr4/blob/master/doc/getting-started.md上的入门文档安装的。

测试工作正常,但输入以下任何命令时:

$ grun grammar rule –gui 
$ grun grammar rule –tree
$ grun grammar rule –tokens

显示此错误:

Exception in thread "main" java.nio.file.NoSuchFileException: –gui
    at java.base/sun.nio.fs.UnixException.translateToIOException(UnixException.java:92)
    at java.base/sun.nio.fs.UnixException.rethrowAsIOException(UnixException.java:111)
    at java.base/sun.nio.fs.UnixException.rethrowAsIOException(UnixException.java:116)
    at java.base/sun.nio.fs.UnixFileAttributeViews$Basic.readAttributes(UnixFileAttributeViews.java:55)
    at java.base/sun.nio.fs.UnixFileSystemProvider.readAttributes(UnixFileSystemProvider.java:145)
    at java.base/java.nio.file.Files.readAttributes(Files.java:1755)
    at java.base/java.nio.file.Files.size(Files.java:2369)
    at org.antlr.v4.runtime.CharStreams.fromPath(CharStreams.java:86)
    at org.antlr.v4.gui.TestRig.process(TestRig.java:162)
    at org.antlr.v4.gui.TestRig.main(TestRig.java:119)

可能是什么问题?

1 个答案:

答案 0 :(得分:0)

由于我没有足够的声誉,我将不得不发布答案。你有没有进入gui文件所在的正确目录,并先运行此代码?

$ antlr4 run.g4
$ javac run*.java

Java文件将不存在会抛出NoSuchFileException,因为它尚未编译。

另一个注意事项可能是 - 树首先被称为gui。您是否尝试过以不同的顺序运行它们?

最后,我注意到存储库中的测试在文件和-tree或-gui之间有一个“r”。你也试过了吗?我不认为你的安装有什么问题,因为你说你测试它并且它有效,所以它必须是那个Java文件的错误。