最初の例は、新しい組み込み述語 print_it(String,Length)を書く場合を示しています。この述語は、与えられた文字列をプリントし、その長さを返してきます。...
移動
次へ 前へ
上へ 最上
詳細
C関数のIF/PrologのC述語への変換
C述語ためのコンパイルとリンク
ライブラリ関数を使ったプログラム例
あなたのプログラムが動かない場合
参考
イントロダクション
開発にさらに便利なIF/Prologライブラリ関数
バックトラックしないProlog述語をC言語で書く
バックトラックするProlog述語をC言語で書く
cgenマニュアル
低レベルのインタフェイス
IF/Prolog ストリーム ・インタフェース
付録 A - cpred.hのリスト
付録 B - cpro.hのリスト
イフコンピュータ > IF/Prolog > マニュアル > 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.

最初の例は、新しい組み込み述語 print_it(String,Length)を書く場合を示しています。この述語は、与えられた文字列をプリントし、その長さを返してきます。

C言語で書かれたプログラムをIF/Prologにリンクする前に、もう一度テスト(デバッグも!)しておいた方がいいでしょう。この関数がCでのみ実行されるように書かれたプログラムを示します。(main()関数を加えなければならないということです。)

/* -------------------------------------------------- */ /* filename : $PROROOT/demos/c/printit.c */ /* -------------------------------------------------- */ main() /* test routine for stand alone program */ { int string_length; if (Printit("hi there", &string_length) != 0) { printf("C-predicate Printit has succeeded\n\n"); printf("string length = %d\n", string_length); } }

/* -------------------------------------------------- */ Printit(text, length) /* simple output routine */ char *text; int *length; { printf("text = %s\n", text); *length= strlen(text); return 1; } /* -------------------------------------------------- */

プログラムをテストするためにコンパイルし実行させると、結果は以下のようになります。

% cc -o printit printit.c % printit text = hi there C-Predicate printit has succeeded

string length = 8 %

続く..
C関数のIF/PrologのC述語への変換
以下に示す手続きに従って、例題プログラムprintit.cを見てみましょう。以下のように打って、新しい"作業用"コピ−を作り、ファイルnewpreds.cで6つのステップを実行させましょう。...
C述語ためのコンパイルとリンク
コマンドスクリプトifccとiflinkはCコードをコンパイル・IF/Prologシステムにリンクするために使います。...
ライブラリ関数を使ったプログラム例
C述語のnumbervars(A,B,C)は、最初のTERMの異なった自由変数の数を数えます。...
あなたのプログラムが動かない場合
・コンパイラに、ディレクトリ$PROROOT/cの中のライブラリ−ファイルとcpred.hを指定しましたか?...
IF/Prolog by Siemens
言語
English
Japanese
German
サーバー
USA
Japan
サイトマップ
索引
目次
全体目次
全体索引
印刷向き
imode
PDA
探索
document: http://www.ifcomputer.co.jp/IFProlog/Manuals/v4.1/advanced_feature/c_interface/cpredw/home_jp.html
published 2008/11/17 update 1995/11/7 (c) 1996-2006 IF Computer Japan
IF Computer 〒113-0022 Tel 03-5814-3352 start (AT) ifcomputer.com
Customer Support 東京都文京区千駄木5-28-2   http://www.ifcomputer.co.jp
冒頭へ managed with ubiCMS