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