我知道這是可能產生使用ANTLR的TestRig「GRUN」通過終端解析樹的圖形表示:從Java應用程序中運行ANTRL TestRig GUI
$ alias grun='java org.antlr.v4.runtime.misc.TestRig'
$ grun Example test -gui
hello world
EOF
但有可能調用TestRig從一個Java應用程序?我想利用TestRig功能來創建一個Java應用程序,它接受用戶輸入並顯示生成的分析樹圖形表示。
我已經試過如下:
import org.antlr.v4.runtime.misc.TestRig;
...
TestRig test = new TestRig(args);
test.process();
但我得到這個消息:
無法加載實例爲詞法分析器或
它看起來它應該工作,因爲它正確地標識了我在Eclipse上設置的參數Example test -gui
,但TestRig似乎無法找到語法。
如何正確設置參數?如果這是不可能的,在Java應用程序中是否有其他方式運行ANTLR的TestRig?
你有沒有嘗試設置CLASSPATH出口後,從命令行運行Java代碼= 「:在/ usr/local/lib目錄/ ANTLR-4.2.2-complete.jar:$ CLASSPATH」?請根據需要更改antlr-4.2.2-complete.jar的位置。如果它從命令行運行,那麼可能是它在你的eclipse設置中的唯一問題 – Saurabh 2015-03-30 18:24:08
是的,我已經設置了類路徑,但是從命令行運行應用程序得到了相同的結果。我確實把所有的java類都放在同一個包裏,但是沒有幫助。 – 2015-03-31 00:26:13
如果你看看TestRig的源代碼,那麼它看起來很像類加載問題。我可以在這裏建議的是繼續挖掘這些線。 – Saurabh 2015-03-31 19:08:44