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システムをより一層理解することもできます。
| scroll to top |
|