printt()のデモンストレ−ション
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.

#include "cpro.h" #include

int main(argc, argv) int argc; char *argv[]; { QueryDescr *descr1,*descr2,*descr3; double pi, pi_res;

pi = 3.141593;

INITProlog(argc,argv);

ParseProlog("PI = 3.141593",&descr1); ParseProlog("PI is 4 * atan(1)",&descr2); ParseProlog("PI is 4 * atan(1)",&descr3);

printt("Viele Wege fuehren nach Rom:\n");

RunProlog(descr1); error_check(descr1); printt("%s = %t\n",descr1->var[0].name, QuTerm(descr1,1));

RunProlog(descr2); error_check(descr2); printt("%s = %f\n",descr2->var[0].name,QuDblPC(descr2,1));

QuLOCDbl(descr3,1,&pi_res); RunProlog(descr3); error_check(descr3); printt("%s = %f\n",descr3->var[0].name, pi_res); }

int error_check(descr) QueryDescr *descr; { if (descr->ret_code == 0) printt(" fail\n"); else if (descr->ret_code == -1) { printt("SYNTAX: %s : ",descr->ret_msg); } else if (descr->ret_code == -2) { printt("ERROR: %s\n",descr->ret_msg); } else if (descr->ret_code == -3) { printt("EXIT: %s\n",descr->exit_code); } }


Up read on...