ANTLR v3 インストール
ここでは、ANTLRv3のインストール方法をメモします。
用意するもの
今回、バージョンをv3.1.3をインストールすることにしました。
- ANTLRv3の本体
- antlr-3.1.3.jar
- ANTLRv3のCランタイム
- libantlr3c-3.1.3.tar.gz
- 場所
http://www.antlr.org/download.html
ちなみに、v3ではインストーラがちゃんと用意されていないのでいろいろ手作業でするところがあります。
使うための準備(インストール)
ここでは、"/usr/local/antlr"ディレクトリを作成して、そこに入れることにしました。
- わたしのインストール構成
/usr/local/antlr |-- bin | `-- antlr # ANTLRを実行するスクリプト(手で記述) |-- include | `-- *.h # Cランタイム用のヘッダファイル群 |-- lib | |-- libantlr3c.a # Cランタイム | `-- libantlr3c.la `-- share `-- antlr-3.1.3.jar # ANTLR本体 (手でここに移動)
Cランタイム準備
% tar xzf libantlr3c-3.1.3.tar.gz % cd libantlr3c-3.1.3 % ./configure --prefix=/usr/local/antlr --enable-shared=no
オプション--enable-shaed=noとしたのは、.soの共有ライブラリを作りたくなかったからです。
.so共有ライブラリを作成する場合は、LD_LIBRARY_PATHの設定が別途必要になると思います。
.so共有ライブラリを作成する場合は、LD_LIBRARY_PATHの設定が別途必要になると思います。
% make # make install
これで、以下の場所に必要なファイルができると思います。
/usr/local/antlr/lib/libantlr3c.a
/usr/local/antlr/include/*.h
/usr/local/antlr/lib/libantlr3c.a
/usr/local/antlr/include/*.h
ANTLR本体準備
本体は、antlr-3.1.3.jarになります。
単に実行する場合は、CLASSPATHを設定した後に
単に実行する場合は、CLASSPATHを設定した後に
java org.antlr.Tool
で実行できます。
ただ、わたしは面倒臭がりなので、Cランタイムと同じ場所において、スクリプト実行としました。
ただ、わたしは面倒臭がりなので、Cランタイムと同じ場所において、スクリプト実行としました。
# mkdir /usr/local/antlr/shared # cp antlr-3.1.3.jar /usr/local/antlr/shared
スクリプトは、/usr/local/antlr/bin/ の場所に下記のようなantlrファイル名で準備。
#!/bin/sh
# usual dribble
prefix="/usr/local/antlr"
exec_prefix="${prefix}"
ANTLR_JAR="${exec_prefix}/share/antlr-3.1.3.jar"
if test "x$CLASSPATH" = x; then
CLASSPATH="${ANTLR_JAR}"
else
CLASSPATH="${ANTLR_JAR}:${CLASSPATH}"
fi
export CLASSPATH
/usr/bin/java org.antlr.Tool $*
動作確認
- てきとうなサンプル

% /usr/local/antlr/bin/antlr SimpleCalc.g % g++ -c -I/usr/local/antlr/include SimpleCalcLexer.c % g++ -c -I/usr/local/antlr/include SimpleCalcParser.c % g++ -o SimpleCalc SimpleCalcLexer.o SimpleCalcParser.o -L/usr/local/antlr/lib -lantlr3c
- test.txt
1+2+3
% ./SimpleCalc test.txt
これで、何も返事がかえってこなければOK.
参考
http://www.antlr.org/wiki/display/ANTLR3/Five+minute+introduction+to+ANTLR+3
以上
添付ファイル