あなたのアプリケ−ションが簡単な場合には、この章は読む必要はありません。...
Move to
Next Prev
Up Top
Zoom to
理論背景 : ボックスモデルとコル−チン
C言語によるコル−チンの実現
IF/Prologによってサポートされるコル−チン
マクロ定義と関数のライブラリ−
バックトラックをするプログラム例
バックトラックをし、Epilogを持つプログラム例
See also
イントロダクション
開発にさらに便利なIF/Prologライブラリ関数
バックトラックしないProlog述語をC言語で書く
バックトラックするProlog述語をC言語で書く
cgenマニュアル
低レベルのインタフェイス
IF/Prolog ストリーム ・インタフェース
付録 A - cpred.hのリスト
付録 B - cpro.hのリスト
IF Computer > IF/Prolog > Manuals > IF/Prolog V4.1 マニュアル > IF/Prolog Interfaces > IF/PrologからC言語へのインタフェ−ス > バックトラックするProlog述語をC言語で書く

バックトラックするProlog述語をC言語で書く

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.

あなたのアプリケ−ションが簡単な場合には、この章は読む必要はありません。

バックトラックする複雑なProlog述語をC言語で書こうとする前に、同じ結果が、今まで述べてきた範囲で書ける簡単な述語と 、組み込まれた制御述語"repeat","!"(カット),"fail"との組み合わせで得られないか検討してみた方が良いでしょう。

read on...
理論背景 : ボックスモデルとコル−チン
バックトラックする複雑なProlog述語を書く前に、その基礎となる理論の概要と、どのようにそれが実現されているかを理解することが必要です。...
C言語によるコル−チンの実現
IF/Prologによってサポートされるコル−チン
CPREDは、STATE複合項のサイズを引数として呼び出されます。IF/Prologが初めてC述語のル−チンを呼び出す時(実体を作る時)、このサイズの変数を生成し、その実体が存在する間は保持し続けます。IF/Prologでは、最初にプログラムポインタ=0で関数を呼び出します。各活性化の間(RESUMEs)、直前の返り値が次のプログラムポインタとして記憶されます。もしそれ以上他の解が見つからないと、次のプログラムポインタとして0が返されます。もしepilog(後処理指令)がある場合、IF/Prologは、epilogを実行するためにプログラムポインタ=−1でそのル−チンを再度呼び出します。以下にその概要を示します。...
マクロ定義と関数のライブラリ−
以下に述べるマクロ定義と関数のライブラリ−によって、容易にかつ統一的にバックトラックする述語をC言語で書けるようになります。これらのマクロ定義の詳細については、付録のcpred.hのリストを参照して下さい。...
バックトラックをするプログラム例
このプログラム例は、$PROROOT/demos/cの中にあります。新しい述語for_pred/3は、C言語,Pascal,Fortranなどの従来のプログラミング言語で使う”for”文と同様の働きをします。この述語は3つの引数を持ちます。第1引数は、初期整数値、第3引数は最大整数値、第2引数は数列の現在値を与える変数です。その増分は内部で1にセットされ、外部からは変更できません。...
バックトラックをし、Epilogを持つプログラム例
次の例は、必要でなくなったファイルを閉じる時に、epilogの機能がどのように使われるかを示しています。”readatom”という関数は、第1引数で指定されるファイルをオ−プンし、ファイルの最初の行を第2引数と単一化したアトムとして返します。バックトラックがおきると、第2引数を2,3,4行目と次々に単一化します。述語は、以下のように呼び出されます。(file1の内容は下に示してあります)...
IF/Prolog by Siemens
Language
English
Japanese
German
Server
USA
Japan
Site Access
Local Index
Local Contents
Site Contents
Site Index
Printer Friendly
For imode
For PDA
Search
document: http://www.ifcomputer.co.jp/IFProlog/Manuals/v4.1/advanced_feature/c_interface/cpredbw/home_en.html
published 2008/7/21 update 1995/11/7 (c) 1996-2006 IF Computer Japan
IF Computer 5-28-2 Sendagi, Bunkyo-ku Tel +81-3-5814-3352 info@ifcomputer.com
Customer Support Tokyo 113-0022 Japan   http://www.ifcomputer.com
scroll to top managed with ubiCMS