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);
}
}
|