7

我是 JavaCC 的新手,不知道如何让它运行。我使用的是 Mac OS X,我安装了 javacc-6.0.zip 并将其解压缩。我无法从我的路径访问 javacc 脚本,因为在javacc终端上键入时我收到以下消息:

    -bash: javacc: command not found

如何使 javacc 脚本可以从我的路径访问?

我解压缩的文件夹javacc-6.0位于以下目录中:/Users/Rishabh/Desktop/javacc

所以我在终端上执行以下操作:

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

键入javacc下一个给我同样的信息。

4

6 回答 6

20

今天下载的JavaCC 6.0版本(2013.07.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 "$@"

将 bin 目录添加到您的 PATH 中(省略反斜杠 - 正如 Ahmed Masud 所指出的那样),所有这些都应该是票证嘘声。如果您的操作系统来自 Redmond,或者您想运行 jjtree 或 jjdoc,只需下载 javacc-5.0 并将脚本文件(不是 lib 目录!!!!)从 5.0 bin 目录复制到 6.0 bin 目录。


更新(2020 年):由于现在更难找到第 6 版,我已将副本放在www.engr.mun.ca/~theo/JavaCC/javacc-6.1.0.zip

于 2013-07-22T06:00:37.767 回答
3

在 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
于 2015-04-14T10:18:11.870 回答
2

更多javacc

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

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

java -classpath "$JAR" javacc "$@"

更多jjtree

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

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

java -classpath "$JAR" jjtree "$@"

bin您的javacc-6.0/bin.

制作一个 chmod :

chmod 755 javacc
chmod 755 jjtree
于 2013-10-11T20:06:31.843 回答
2

在 Mac OS X 和 Linux 上,我只使用一个脚本和两个符号链接:

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

前两行创建脚本并使其可执行。后两行重用javaccjjtree 和 jjdoc 的脚本,因为它们都来自同一个 JAR。

于 2014-08-17T12:36:45.587 回答
0

您需要先解压缩包,然后在环境变量中添加您所在的javacc位置 PATH

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

于 2013-07-21T19:44:49.323 回答
0

检查您是否有javacc并且jjtreebin/您的javacc-6.0.zip. 当您javacc6.0https://javacc.java.net/获取时,此 bin 目录为空。

javacc&jjtree是脚本。

实际上我使用的是 Java 5.0,并且我修改了.profile要添加的文件(我将 javacc 放在我的应用程序文件夹中):

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

它运行良好。

于 2013-10-11T19:59:48.697 回答