"cpro.h"に定義されたマクロ
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.

関数名 QuIntPC QuDblPC QuAtStr QuLOCInt これらはすべて"cpro.h"に QuLOCDbl 定義されたマクロです QuLOCStr QuTerm QuType

概要

INT QuType(Term) INT QuIntPC(Descr,i) DBL QuDblPC(Descr,i) char *QuAtStr(Descr,i)

QuLOCInt(Descr,i,Int_Ptr) QuLOCDbl(Descr,i,Dbl_Ptr) QuLOCStr(Descr,i,Str_Ptr)

QuUse(Descr,i,FOR_INPUT) QuUse(Descr,i,FOR_OUTPUT)

QuTerm(Descr,i) int QuType(Descr,i)

QueryDescr *Descr; long i, *Int_Ptr; double *Dbl_Ptr; char *Str_Ptr; TERM *TERM;

QuIntPC(),QuDblPC(),QuAtStr()は型変換を行いますが、変数の実行値の型には作用しません。これらの関数の引数は、QueryDescrとそのi番目の変数(TERMでなければならない)を指定する整数です。そしてこれらは、要求されたCのデ−タ型に変換した値を返します。

QuLOCInt(),QuLOCDbl(),QuLOCStr()は、i番目の変数に対する自動型変換のための型をセットします。そして要求された型の変数へのポインタを、ユニオンlocの対応するメンバに代入します。

QuUse()はDescのi番目の変数が入力パラメタ、または出力パラメタのいずれになるべきかを指定します。

QuTerm()は、Descrのi番目の変数のPrologの項の値を表わしています。マクロ定義QuType()は、与えられた記述子のi番目の変数項(型はQ_TERMでなければならない)の型をチェックします。変数は、IF/Prologの整数,実数,アトム,変数/構造のいずれかになります。そしてQuType()がそれぞれに対してQ_INTEGER, Q_DOUBLE, Q_STRING, Q_TERMを返します。


Up read on...