2013-07-16 6 views
0

Я пытаюсь начать работу с http://www.ibrezina.net/OracleSQL.tgzНачало работы с OracleSQL грамматики для Java

До сих пор я выполняется следующее:

wget http://www.ibrezina.net/OracleSQL.tgz 
tar xvzf OracleSQL.tgz 
cd OracleSQL 
make 

, что приводит к следующей ошибке:

gcc -ggdb -O0 -fno-inline -I. -I/usr/include/qt4/QtCore -I/usr/include/qt4/QtGui -I/usr/include/qt4 -I/home/ivan/devel/antlr-3.3/runtime/C/include -I/home/ivan/devel/antlr-3.3/runtime/C -c OracleSQLParser.c -o OracleSQLParser.o 
In file included from OracleSQLParser.c:45:0: 
OracleSQLParser.h:537:23: fatal error: antlr3.h: No such file or directory 
compilation terminated. 
Makefile:60: recipe for target `OracleSQLParser.o' failed 
make: *** [OracleSQLParser.o] Error 1 

Мне не интересно строить диалект 'c'. Я хочу только генерировать Java-лексер и парсер.

Как я могу это сделать?

ответ

1

I'm not interested in building the 'c' dialect. I only want to generate the Java lexer and parser.

How can I do this?

Эта грамматика не так переносима: она содержит много встроенного кода C.

Если вы хотите создать Java лексера и парсер, вы должны удалить language=C из options { ... } блока (неплатежеспособного к цели Java), а затем перевести весь код C между { и } на эквивалент Java (что вполне немного работы, я предполагаю).

+0

В архиве есть скрипт 'cgrammar2java.pl', а также команды Java в Makefile, которые заставляют меня думать, что можно создать Java-лексер и парсер. –

+0

Я просто пробовал этот скрипт, но он не дает правильной грамматики. –