コントロールスタック(control stack)
MINERVA superseeded IF/Prolog. Please see http://www.ifcomputer.co.jp/MINERVA for details.

We discontinued to sell IF/Prolog Dec 31. 2003. For current customers, we continue to provide professional support for IF/Prolog until Dec 31, 2008.

このスタックは、選択点や節の変数の環境についての制御情報を保持しています。バックトラックが起きると、コントロ−ルスタックは減ります。

IF/Prologは、スタックが一杯になると自動的にガーベッジ・コレクションを行ない、スタックを増やします。スタックを特定のサイズに制限したい場合には、IF/Prologのスタックリミットパラメータを使用して下さい。

以下に示すプログラムでは、IF/Prologがインタプリタレベルでテールリカージョンの最適化を実行するので、無限ループが起こります。

スタックオーバーフローの原因が無限ループの場合には、IF/Prologのスタックリミットパラメータを注意して使用して下さい。

?- [user].

| kill :- kill. | end_of_file. file stdin consulted in 7 sec.

yes ?- kill. ^CE X C E P T I O N:interrupt:kill ?- _


Up read on...