記事を書いた日2008/06/07
記事を更新した日2008/12/06
ANTLRを使う
使うというか、導入というか。
試行錯誤しているので、若干の抜けはあるかもしれません。
導入する環境は
Linux 2.6.18
Debian Etch
です。
ANTLRとは
こちら
はじめに
JDKが必要です。JDKのインストールについては省きます。
頑張ってください。
g++
g++が必要です。インストールしてください。
sudo aptitude install g++
など。
そのほか必要かもしれないもの
インストールしておくと作業がはかどるかもしれません。括弧内のコマンドを使用しています。
automake(aclocalのため),mercurial(hgのため),byacc(yaccのため),flex(flexのため)
ANTLR-v3.0.1
最新バージョンです。現在は検索するとこれが一番上に出てくるでしょう。
2.7.7とは若干文法が変わっています。
ダウンロード
まずはダウンロードです。
こちらからダウンロードします。
解凍
階等します。解凍する場所はどこでもかまいません。ここでは/hoge/で解凍を行います。
tar xvzf antlr-3.0.tar.gz
/hoge/antlr-3.0/lib$ ls
C CSharp ObjC Python Ruby antlr-2.7.7.jar antlr-3.0.jar antlr-runtime-3.0.jar stringtemplate-3.0.jar
これらの.jarファイルがANTLRの大事な部分です。
導入
クラスパスを通します。LinuxでBashを使っている場合は以下を追加してください。
export ANTLR=/hoge/antlr-3.0.1/lib
export CLASSPATH=$CLASSPATH:$ANTLR/antlr-3.0.1.jar:$ANTLR/stringtemplate-3.1b1.jar:$ANTLR/antlr-runtime-3.0.1.jar:$ANTLR/antlr-2.7.7.jar
これで導入は終わりです。
テスト
ターミナルを再起動して
java o
ここまで打って、TABを押して
java org.antlr.
みたいに補間されれば大丈夫です。
ANTLR-v2.7.7
ダウンロード
一つ前のバージョン
ダウンロードしてきます。
こちらからどうぞ。
解凍
解凍します。解凍する場所を/hoge/とします。
2.7.7系は
make install
でインストールします。
コンフィギュア
解凍したディレクトリには
#ls
CHANGES.txt INSTALL.txt LICENSE.txt Makefile Makefile.in README.txt aclocal.m4
antlr antlr.jar config.log config.status configure configure.in
doc examples extras lib scripts
↑のような中身になっています。
このconfigureスクリプトを実行してから、make installを実行するとインストール作業が行われます。
./configure --prefix=/usr/local/
このようにコンフィギュアスクリプトを実行すると、/usr/local/bin以下にantlrバイナリがインストールされるように設定が行われます。
インストール
コンフィグを行った後、
make test
問題がなければ
make install
を実行します。
testで問題が出た場合、testをせずにインストールすることができます。
テストがなんらかの理由で失敗するときには、こちらをためすといいかもしれません。
./configure --disable-example --prefix=/usr/local/
make install
CLASSPATH
クラスパスを通します。
/hoge/antlr-2.7.7/にantlr.jarがあるので、それをクラスパスに追加します。
bashrcに以下の行を追加します。
export CLASSPATH = $CLASSPATH:/hoge/antlr-2.7.7/antlr.jar
その後
あとはサンプルファイルをダウンロードしてきて使ってみてください。
java antlr.Tool hogefile
2.7.7はorg.antlr.Toolではありません。
困ったときは
README.txtをよみましょう。
なにかわかるかもしれません。
いっぱいエラーと格闘しました。
最終更新:2008年12月06日 19:12