私は同じことをしようとしてきましたがantlr3
、Ubuntuのリポジトリにある現在のパッケージはPythonランタイムサポートでは正しく機能しないと結論付けました。他のUbuntuパッケージpython-antlr
は、ANTLR 2で動作するはずなので、さらに時代遅れになっていますantlr3
。適切なPythonランタイムサポートと一緒に手動でANTLRをアンインストールしてインストールすることをお勧めします。
私はこれを自分で経験したばかりで、手順が少し散らばっていることに気付いたので、これがその方法の要約です。
antlr3パッケージをアンインストールします。
sudo apt-get purge antlr3
最新のANTLR3.x用の完全なJavaバイナリを入手してください。
wget http://www.antlr3.org/download/antlr-3.5.tar.gz
Pythonランタイムをインストールする準備をします。
tar xzf antlr-3.5.tar.gz
cd antlr3-antlr-3.5/runtime/Python
インストールスクリプトを呼び出す前に、オンラインで利用できるものを指すようにバージョン番号にパッチを適用する必要があります。これを行うには、編集ez_setup.py
してに変更DEFAULT_VERSION = "0.6c5"
しDEFAULT_VERSION = "0.6c11"
ます。
これで、Pythonランタイムを次のコマンドでインストールできるようになります。
sudo python setup.py install
import antlr3
それが機能するかどうかを確認するには、Pythonシェルを試してみてください。エラーは発生しないはずです。
ここで、Javaにある対応するバージョンのANTLRをインストールする必要があります。このために、JVMがインストールされていることを確認してください(例:)sudo apt-get install default-jdk
。
最新のANTLR3jarを入手してください。
wget http://www.antlr3.org/download/antlr-3.5-complete.jar
jarをクラスパスに永続的に追加します(もちろん、必要な場所にjarを移動し、それに応じてパスを調整できます)。
echo 'export CLASSPATH=~/antlr-3.5-complete.jar:$CLASSPATH' >> ~/.bashrc
オプションですが、推奨:シェルエイリアスを追加してANTLR3を呼び出します。
echo "alias antlr3='java -jar ~/antlr-3.5-complete.jar'" >> ~/.bashrc
それでおしまい!.bashrcを読み直した後、すべてが.bashで機能するかどうかを確認しますantlr3 -version
。次のようなメッセージが表示されます。
ANTLR Parser Generator Version 3.5