2013-07-21 3 views
6

Я новичок в JavaCC и не могу понять, как его запустить. Я использую Mac OS X, и я установил javacc-6.0.zip и разархивировал его. Я не могу сделать скрипт JavaCC доступным из моего пути, как при вводе javacc на терминале я получаю следующее сообщение:Начало работы с JavaCC

-bash: javacc: command not found 

Как сделать скрипт JavaCC доступны из моего пути?

Моя распакованные папки javacc-6.0 находится в следующем каталоге: /Users/Rishabh/Desktop/javacc

Так что я следующий на терминале:

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

Typing javacc следующий дает мне такое же сообщение.

ответ

13

Версия 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 "[email protected]" 

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

0

Необходимо сначала разархивировать пакет и добавить место, в котором ваш javacc находится в вашей переменной окружения 5.

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

+0

он использует Баш вашей командной строки для оболочки Windows –

+0

@AhmedMasud, когда он отвечал на вопрос, изначально он не определил, какую операционную систему он использует, после моего ответа он редактировал вопрос. –

+0

-bash: javacc: команда не найдена в оригинальной версии. Это не большая сделка. –

0

Проверьте, есть ли у вас javacc и jjtree в каталоге bin/ вашего javacc-6.0.zip. Когда вы получите javacc6.0 от https://javacc.java.net/, этот каталог bin пуст.

javacc & jjtree - это скрипты.

На самом деле я использую Java 5.0 и я изменил мой .profile файл, чтобы добавить (я кладу JavaCC в моей папке Applications):

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]" 

Создать эти сценарии в bin папке javacc-6.0/bin.

сделать 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