2013-07-21 19 views
6

Ich bin neu in JavaCC und kann nicht herausfinden, wie es funktioniert. Ich benutze Mac OS X und ich habe javacc-6.0.zip installiert und entzippt. Ich bin nicht in der Lage des javacc Skript zugänglich von meinem Weg zu machen, wie auf javacc am Terminal eingeben ich die folgende Meldung:Erste Schritte mit JavaCC

-bash: javacc: command not found 

Wie kann ich das javacc Skript zugänglich von meinem Weg machen?

Mein entpackten Ordner javacc-6.0 ist im folgende Verzeichnis: /Users/Rishabh/Desktop/javacc

Also ich folgende auf dem Terminal:

PATH=$PATH\:/Users/Rishabh/Desktop/javacc/javacc-6.0/ 

Typing javacc gibt mir nächste die gleiche Meldung.

Antwort

13

Die Version von JavaCC 6.0, die ich heute heruntergeladen (2013.07.22) kein vollständiges Verzeichnis bin haben. Es fehlten alle Skriptdateien! Hoffentlich wird das bald behoben sein.

Für OS X und anderen Unix/Linux-Varianten wird die fehlende Skriptdatei javacc genannt, ausführbar sein sollte, und sollte folgende Angaben enthalten:

#!/bin/sh 
JAR="`dirname $0`/lib/javacc.jar" 

case "`uname`" in 
    CYGWIN*) JAR="`cygpath --windows -- "$JAR"`" ;; 
esac 

java -classpath "$JAR" javacc "[email protected]" 

Fügen Sie das Verzeichnis bin Ihrer PATH (Weglassen des Backslash - wie von Ahmed Masud hervorgehoben) und alle sollten tickety boo sein. Wenn Ihr Betriebssystem aus Redmond stammt oder Sie jjtree oder jjdoc ausführen möchten, laden Sie einfach javacc-5.0 herunter und kopieren Sie die Skriptdateien (NICHT das lib-Verzeichnis !!!!) aus dem 5.0-Bin-Verzeichnis in das 6.0-Bin-Verzeichnis.

0

Sie müssen zuerst das Paket entpacken und den Ort hinzufügen, an dem sich Ihr javacc in Ihrer Umgebungsvariablen PATH befindet.

wie: set path=%path%;<location_of_your_javacc>;

+0

er mit bash Ihre Befehlszeile ist für Fenster –

+0

@AhmedMasud Shell, als er die Frage gestellt zunächst didnt er angeben, welche OS nutzt er, nach meiner Antwort, die er auf die Frage bearbeitet. –

+0

-bash: javacc: Befehl nicht gefunden war in der ursprünglichen Version obwohl. Es ist sowieso keine große Sache. –

0

Überprüfen Sie, ob Sie javacc und jjtree im Verzeichnis bin/ Ihres javacc-6.0.zip haben. Wenn Sie javacc6.0 von https://javacc.java.net/ erhalten, ist dieses bin-Verzeichnis leer.

javacc & jjtree sind Skripte.

Eigentlich verwende ich bin Java 5.0 und ich bin geändert meine .profile Datei (Ich habe javacc in meinem Ordner Programme) hinzuzufügen:

export 
PATH=/opt/local/bin:/opt/local/sbin:/Applications/javacc-5.0/bin/:$PATH 

Es ist perfekt funktioniert.

1

mehr javacc:

#!/bin/sh JAR="`dirname $0`/lib/javacc.jar" 

case "`uname`" in 
    CYGWIN*) JAR="`cygpath --windows -- "$JAR"`" ;; esac 

java -classpath "$JAR" javacc "[email protected]" 

mehr jjtree:

#!/bin/sh JAR="`dirname $0`/lib/javacc.jar" 

case "`uname`" in 
    CYGWIN*) JAR="`cygpath --windows -- "$JAR"`" ;; esac 

java -classpath "$JAR" jjtree "[email protected]" 

Erstellen Sie diese Skripte im bin Ordner Ihrer javacc-6.0/bin.

machen einen chmod:

chmod 755 javacc 
chmod 755 jjtree 
2

Unter Mac OS X & Linux benutze ich nur ein einziges Skript und zwei symbolische Links:

echo 'java -cp /path/to/javacc.jar $(basename $0) "[email protected]"' > javacc 
chmod 755 javacc 
ln -s javacc jjtree 
ln -s javacc jjdoc 

Die ersten beiden Zeilen des Skripts erstellen und machen es ausführbar . Die zweiten beiden Zeilen verwenden das Skript javacc für jjtree und jjdoc, da alles aus demselben JAR stammt.

0

In Windows, ich hatte auch keine javacc und haben

java -cp bin\lib\javacc.jar javacc 

stattdessen verwenden. Dies ist sehr frustrierend, da alle Dokumente vorschlagen, javacc zu verwenden, die wir vermissen. Aber ich sehe, dass javacc in der alten javacc 5.0 definiert wurde. Ich sehe javacc.bat es

java -classpath "%~dp0lib\javacc.jar;%~dp0lib\javacc.jar;%~f0\..\lib\javacc.jar" javacc %1 %2 %3 %4 %5 %6 %7 %8 %9