kprolog K-Prolog Compiler Version 6.0

その他のユーティリティ

本節では、主に開発環境のトップレベルで使用する幾つかの組込み述語を紹介します


abort
break
end
end_of_file

abort/0は、throw(abort)と同じですが、トップレベルがcatchする場合は プロンプトに復帰します。
break/0は、処理系をbreakモードにします。デバッガによる実行を中断して トップレベルの操作を行う時に使用します
end/0は、breakモードならばbreakモードを脱出して処理を継続します。 breakモードでなければ、halt(0)と同じです。
end_of_fileは、トップレベルから^Dを入力した時に働きますが、 end/0により処理系のプロセスを終了する前にスタックの使用状況を表示します。


version

K-Prologのバージョンを表示します。 この述語は、prolog.bootで定義され、起動時に実行されるように なっています。


statistics(?Heap_free,?Local_free,?Global_free,?Atom_free,?Cpu,?Heap_gc,?Stack_gc)
Heap_freeヒープワード
Local_freeローカルスタックワード
Global_freeグローバルスタックワード
Atom_freeアトム領域ワード
CpuCPUクロック
Heap_gcヒープガルベージコレクション
Stack_gcグローバルスタックガルベージコレクション
statistics

statistics/7は、内部的な実行状態を表す数値を、それぞれ整数として単一化により返~ します。

Heap_free
ヒープ領域の残りワード数
Local_free
ローカルスタックの残りワード数
Global_free
グローバルスタックの残りワード数
Atom_free
アトムの残り数
Cpu_time
Cpu 時間( times関数で評価した時間です。単位は多くの場合 16.666ms ですが、機種によって異なります)。
Heap_gc
ヒープ領域のガルベージコレクションの回数
Stack_gc
スタック領域のガルベージコレクションの回数

statistics/0は、statistics/7で得た値を標準出力に表示します。


depth(?Depth)
Depth述語ネストの深さ
display_ancestors

depth/1は、Depthを、現在の述語のネストのレベルを表す整数と単一化します。
display_ancestors/0は、実行中のゴールからさかのぼって、先祖ゴールを1個ずつ display によって表示します。
1行ごとにプロンプト < が表示されますが、改行のみを入力すれば、 さらに先祖にさかのぼります。
トップレベルまで達するか、 c を入力すれば、述語は成功します。

< に対しては、コマンド(P,p,G,g)を機能させることができます。 これらのコマンドの意味は、デバッガ のコマンドと同じです。
コンパイルされた述語は表示できません。また、インタプリタの最適化機能により、 すべてのゴールが表示できない場合があります。


set_history(@N)
Nヒストリ容量
renumber_history
show_history
save_history
restore_history
history

set_history/1は、ヒストリ容量の大きさを整数Nにします。その際、ヒストリ記録は失われます。
renumber_history/0は、大きくなりすぎたヒストリ番号を、適当な小さな値に戻します。
show_history/0は、ヒストリ記録を全部表示します。
save_history/0は、ヒストリ記録を ~/.prologhist に書き出します。
restore_history/0は、ヒストリ記録を ~/.prologhist から読みとり、renumber_history によって番号をつけ替えます。
history/0は、ヒストリ記録を順に表示します。プロンプトに答える事によって ヒストリの中から選択して実行させる事が出来ます。



一つ上に戻る 目次に戻る