AZ-Prolog Eclipse Plug-in(AZDT)
Eclipse(エクリプス)で学ぶProlog言語
インストール
Javaのインストール
Javaがインストールされていない場合のみ
Eclipseを動かすにはJavaが必要なので、まず先にJavaをインストールして下さい。 JavaはJDKでJREでもどちらでも構いません。
Eclipseのインストール
AZ-Prolog Eclipse Plug-in(AZDT) のインストール
Eclipseの「新規ソフトウェアのインストール」でインストールします。
- Eclipseを起動
- ヘルプ⇒新規ソフトウェアのインストール
- 作業対象 追加ボタンを押下
- ロケーションに
http://eclipse.az-prolog.com/updates - 一覧に表示された「カテゴリなし」をチェックして「次へ」
- 後は標準のままで「次へ」で進んでインストールして下さい。
- 最後にEclipseを再起動するように指示されるのでそれに従って下さい
使い方
注意事項
- Prologプログラムに全角文字(漢字)が含まれるとSyntax Eerrorが発生しますので、文字コードをUTF-8に変更してください。(Windows版のみ)
変更方法はこちらをご参照下さい。 - AZ-Prolog Version9.20以降をインストールしてからお使いください。(これ以前のバージョンでは正常動作しません)
- 予期せずハングアップ、意図しない停止をした場合、prolog_c プロセスがゾンビとして残っている場合があります。
その場合、Windows ではタスクマネージャ、Linuxではpsコマンドなどでプロセスを確認し、prolog_cプロセスを削除してください。(PCを再起動されれば自動的に削除されますが、メモリ容量が少なく継続的に作業される場合などは必須です) - Mac上でのEclipse利用における注意事項について
- プラグインをアップデート後、以下の手順を必ず実行してください。
1)AZ-Prolog Eclipse Plug-inが用意しているパースペクティブを削してから再度登録して下さい。
削除の方法は、画面右上に表示されているパースペクティブのうち、「AZDT」と「AZDTGT」をそれぞれ選択し、マウス右ボタンを押して「クローズ」します。
追加の方法は、画面右上に表示されているパースペクティブ追加ボタンを押して、
「AZDT」と「AZDTGT」を追加します。2)AZ-Prologホームの設定(Mac版、Ubuntsu版のみ)
AZ-Prolog Eclipse Plug-inの設定->AZDTのページに表示されている、ホームディレクトリが正しいか確認して下さい。
ホームディレクトリは、terminal等で「which prolog」コマンド確認し、
bin/prologが含まれるパスを指定します。
例えば、
$ which prolog
/Applications/azprolog.app/Contents/az_home/bin/prolog
ならば、「/Applications/azprolog.app/Contents/az_home」を指定します。
/usr/local/bin/prolog
ならば、「/usr/local」を指定します。なお、AZ-Prologをマニュアルに書かれている通りにデフォルトでインストールされた場合、
この設定はブランクでも構いません。 - プログラムファイル名は、英数字で作成してください。(日本語で作成したファイル名は英数字に変更。)
制限事項
- 全角文字を含むプログラムファイルの文字コードはUTF-8でお使いください。
SJISファイルはEclipseで新規ファイルを作成しエディタ画面に元ファイルの内容を張付けて保存すれば自動的に変換されますので、このファイルでお使いいただけます。 - assert/retractした節はエディタ画面でのトレースができなかったり、不正確なトレースが発現します。【例1】ステップは追えますが、bの定義のトレースが見れません。
go:- assert((b:-write(a))),b.
【例2】 第2ゴールの正確なマッチ位置へカーソルが移動しません。
go2:- retract(c(_)),c(X),write(X). c(1). c(2).
- 動的にconsult/reconsultを行うとトレースがハングアップします。
外部ファイルをコンサルトする場合は、コマンド形式(:-で始まる節)で記述して下さい。【例1】動的にコンサルトする例。トレースがハングアップします。
main :- consult('sub1.pl'), go.
【例2】コマンド形式で記述した例。正常にトレースが取れます。
:-consult('sub1.pl'). main :- go.