2013-07-21 18 views
6

我是JavaCC的新手,無法弄清楚如何讓它運行。我使用的是Mac OS X,我安裝了javacc-6.0.zip並將其解壓縮。我無法使JavaCC的腳本從我的路徑訪問作爲終端我收到以下消息上鍵入javaccJavaCC入門

-bash: javacc: command not found 

如何使JavaCC的腳本從我的路徑訪問?

我的解壓縮文件夾javacc-6.0是在以下目錄:/Users/Rishabh/Desktop/javacc

所以我做終端在以下方面:

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

打字javacc下一個讓我有相同的消息。

回答

13

JavaCC的6.0的版本,我今天(2013年7月22日)下載並沒有一個完整的bin目錄。它錯過了所有的腳本文件!希望這將很快得到補救。

對於OS X和其他UNIX/Linux版本,缺少的腳本文件被稱爲JavaCC的,應該是可執行的,且應包含以下內容:

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

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

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

添加bin目錄到PATH(省略反斜槓 - 正如Ahmed Masud所指出的那樣),所有的都應該是門票噓聲。如果您的操作系統來自Redmond或者您想運行jjtree或jjdoc,只需下載javacc-5.0並將腳本文件(不是lib目錄!!!!)從5.0 bin目錄複製到6.0 bin目錄。

0

您需要首先解壓縮包,然後添加javacc位於您的環境變量 PATH中的位置。

,如: set path=%path%;<location_of_your_javacc>;

+0

他使用bash您的命令行是爲Windows外殼 –

+0

@AhmedMasud當他張貼的問題最初他沒有指明他正在使用的操作系統,我的回答後,他編着的問題。 –

+0

-bash:javacc:命令未找到,但在原始版本中。無論如何,這並不是什麼大問題。 –

0

檢查您的javacc-6.0.zipbin/目錄中是否有javaccjjtree。當您從https://javacc.java.net/獲得javacc6.0時,此bin目錄爲空。

javacc & jjtree是腳本。

事實上,我現在使用Java 5.0,我修改了我的.profile文件添加(我把JavaCC的在我的應用程序文件夾):

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

它的工作完美。

1

更多javacc

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

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

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

更多jjtree

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

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

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

創建您javacc-6.0/binbin文件夾這些腳本。

使在chmod:

chmod 755 javacc 
chmod 755 jjtree 
2

在Mac OS X & Linux的我只是用一個腳本和兩個符號鏈接:

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

前兩行創建腳本,並使其可執行。 第二行再次使用javacc腳本作爲jjtree和jjdoc,因爲它們全部來自相同的JAR。

0

在Windows中,我也沒有JavaCC的並有能力使用

java -cp bin\lib\javacc.jar javacc 

代替。這非常令人沮喪,因爲所有文檔都建議使用我們錯過的javacc。然而,我看到javacc是在舊的javacc 5.0中定義的。我看到javacc.bat

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