sitelogo
イントロダクション
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のFORTRANインタフェースは、VAX/VMSマシン上のIF/Prologのバージョン4.1のために開発されました。

FORTRANインタフェースによって、IF/PrologのユーザはFORTRAN 77で独自の組み込み述語を書き、それを普通のProlog述語と同様に使うことができます。また、FORTRANインタフェースで用意されている関数では以下のデータタイプを扱うことができ、FORTRANとIF/Prologとの間でのデータのやりとりができるようになっています:

整数 倍精度浮動小数点数 Prologのアトム Prologのリスト Prologの変数 Fortranの文字列

FORTRANインタフェースが役立つ主なアプリケーションは、以下の通りです:

- 複雑な算術述語を効率良く実装する

- FORTRANソフトとのインタフェース、例えば、数学ライブラリ・ルーチンとのインタフェース

FORTRANで記述されたユーザ定義の述語をIF/Prologシステムに加えるには、ユーザのFORTRANオブジェクトとIF/Prologオブジェクト・ライブラリproroot:[c]ifprolog.olbが含まれた新しい実行可能オブジェクトを作成します。

注: IF/PrologはCで記述されているので、FORTRANインタフェースを使用するときには、標準Cランタイム・ライブラリと、`C-Curses'ライブラリをリンクできるようになっていなければなりません。

FORTRANインタフェースでサポートされる関数は、Cインタフェースでサポートされている関数のサブセットです。

FORTRANインタフェースを使ってFORTRANで記述したIF/Prolog述語はバックトラックできません。これらの述語は、CインタフェースにおけるCPRIMで定義された述語に対応しています。

FORTRANインタフェースで用意されているIF/Prologライブラリ関数名はCインタフェースでの規則に沿ってつけられています。また、全てのFORTRANインタフェース関数名には、その頭に`IF'(FORTRANへのInterFaceの略)が付いています。

注: FORTRANでは、シンボル名は大文字でなければなりません。

IF/PrologのFORTRANインタフェースを使われる場合、Cインタフェースの説明を御覧になることをお勧めします。FORTRANインタフェース・ライブラリ関数の仕様は、関連するCインタフェース・ライブラリ関数の仕様を読むことで完全に理解できるでしょう。これにより、IF/Prologシステムをより一層理解することもできます。


バックトラックしないProlog述語をFORTRANで書く
作業を容易するIF/Prologライブラリ関数

Darueber read on...
scroll to top managed with ubiCMS