2016-08-03 17 views
0

Hallo ich diese Fehlermeldung erhalten, wenn ich die einfache esample des Tutorials versuchen:ANTLR4 Fehler „Probleme Aufruf org.antlr.v4.gui.TestRig.main“

"grun Hallo -r Baum Warning : TestRig zu org.antlr.v4.gui.TestRig bewegt, automatisch Probleme Aufruf org.antlr.v4.gui.TestRig.main (args) "

ich kann nicht herausfinden, rufen, was los ist. Können Sie mir bitte helfen.

Antwort

3

Es klingt wie Sie Setup Ihre ‚grun‘ alias zu verwenden:

org.antlrv4.runtime.misc.TestRig 

//and from antlr4 onwards they deprecated that and use this instead. 

org.antlrv4.gui.TestRig 

So sollten Sie versuchen, Ihre ‚grun‘ alias Zurücksetzen entweder vom Terminal oder Batch-Datei, je nachdem wie Sie es einrichten. Wenn es noch Fehler kommentieren hier, und ich werde versuchen und Hilfe:

alias grun='java org.antlr.v4.gui.TestRig' 

wenn Sie noch irgendwelche Fehler haben nach Ihrem Setup alias dann hinterlassen Sie einen Kommentar zu aktualisieren, und ich werde versuchen, weiter zu helfen.

+0

Jetzt scheitert es mit 'Ausnahme im Thread 'main" java.nio.file.NoSuchFileException: tree "und ähnlich für" Tokens ". Was gibt? – Dinesh

+0

Kannst du ein bisschen mehr von dem vollen Fehler einfügen, es hört sich so an, als ob er entweder mit einem Fehler in openjdk mit echten Pfaden zusammenhängt oder von dem was ich gelesen habe manchmal scheint die Pfadformatierung "Das JDK benutzt die Dateicodierung anstelle der Systemcodierung für Dateinamen. " also mehr informationen wären hilfreich wenn du es dir stellen kannst :) – D3181

+0

hey danke, aber es war ein dummer fehler meinerseits. Dein Vorschlag funktioniert! – Dinesh

0

Setup TestRig - Hier hinzugefügt, damit der Inhalt nicht verloren geht, nachdem der Dokumentationsabschnitt heruntergefahren wurde.

ANTLR enthält ein Testtool in seiner Laufzeitbibliothek. Dieses Tool kann verwendet werden, um Informationen darüber anzuzeigen, wie das Parsing durchgeführt wird, um Eingaben mit definierten Regeln in Ihrer Grammatikdatei abzugleichen.

dieses Werkzeug, um in der ANTLR JAR-Datei enthaltenen verwenden Sie Ihre Systeme Setup Zugriff sowohl auf das ANTLR Werkzeug zu ermöglichen Classpath sollen und die Laufzeitbibliothek:

export CLASSPATH=".:/usr/local/lib/antlr-4.5.3-complete.jar:$CLASSPATH" 

Hinweis: Sicherstellen, dass der Punkt voran jeden Pfad, um sicherzustellen, Die Java Virtual Machine sieht keine Klassen in Ihrem aktuellen Arbeitsverzeichnis. Alises kann auf Linux/MAC/Unix verwendet werden, um Befehle zu vereinfachen verwendet:

alias antlr4='java -jar /usr/local/lib/antlr-4.5.3-complete.jar' 

// oder jedes Verzeichnis, in dem jar Hinweis Setup auf Fenster für Aliase und Classpath Setup komplizierter sein kann, befindet sich hier sehen für umfassendere Details.

TestRig Zugriff

Sobald Sie Setup Ihr ​​Alias ​​haben können Sie Setup TestRig in der folgenden Art und Weise verwendet wird, wieder einen Alias ​​wird empfohlen, da die Höhe der Zeit reduziert, die erforderlich um die Aktion auszuführen:

alias grun='java org.v4.runtime.misc.TestRig' 

wenn Sie unter Windows einen Alias ​​einrichten möchten nicht können Sie TestRig zugreifen, indem Sie den folgenden Befehl in der gleichen Position wie Ihr ANTLR jar-Verzeichnis ausgeführt wird:

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 auf Ihre Grammatik So führen Sie die Parameter in für Ihre Grammatik wie dies passieren kann:

grun yourGrammar yourRule -Baum // mit dem Setup alias java -cp; antlr.4.5.3-complete.jar org.. antlrv4.gui.TestRig yourGrammar YourRule -tree // unter Windows ohne Alias ​​java -cp.; antlr.4.5.3-complete.jar org.antlrv4.gui.TestRig yourGrammar Hallo r -tree // Windows mit der Grammatik Hello.g4 beginnend mit der Regel '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'.