Начало работы с JavaCC

Я новичок в JavaCC и не могу понять, как он работает. Я использую Mac OS X, и я установил javacc-6.0.застегнул и расстегнул молнию. Я не могу сделать скрипт 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 next дает мне то же самое сообщение.

6 ответов


версия JavaCC 6.0, которую я загрузил сегодня (2013.07.22), не имела полного каталога bin. В нем отсутствовали все файлы сценариев! Надеюсь, это будет исправлено в ближайшее время.

для OS X и других вариантов unix/linux отсутствующий файл сценария называется javacc, должен быть исполняемым и должен содержать следующее:

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

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

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

добавьте каталог bin в свой путь (опуская обратную косую черту-как указал Ахмед Масуд), и все должно быть ticketty boo. Если ваша ОС происходит из Redmond или вы хотите запустить jjtree или jjdoc, просто загрузите javacc-5.0 и скопируйте файлы сценариев (не каталог lib!!!!) из каталога 5.0 bin в каталог 6.0 bin.


в Mac OS X & Linux я просто использую один скрипт и две символические ссылки:

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

первые две строки создать скрипт и сделать его исполняемым. Вторые две строки повторно используют javacc скрипт для jjtree и jjdoc, так как все это происходит из одной банки.


больше javacc:

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

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

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

больше jjtree:

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

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

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

создайте эти сценарии в


вам нужно сначала распаковать пакет и добавить место, где ваш javacc находится в PATH переменные среды.

как: set path=%path%;<location_of_your_javacc>;


проверьте, есть ли у вас javacc и jjtree на вашего javacc-6.0.zip. Когда вы получите javacc6.0 от https://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

он работает отлично.


в Windows у меня также не было javacc и я должен использовать

java -cp bin\lib\javacc.jar javacc

вместо. Это очень расстраивает, потому что все документы предлагают использовать javacc, которые мы упускаем. И все же я вижу это!--2--> был определен в старом 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