#include #include "term.h" int main(int argc, char **argv) { rule r, r2; termlist tl, tmp; FILE *infile; if (argc != 2) { fprintf(stderr,"usage: %s \n",argv[0]); exit(1); } infile = fopen(argv[1],"r"); if (infile == NULL) { fprintf(stderr,"could not open file: %s\n",argv[1]); exit(1); } r = getrule(infile); while (r) { printf("Rule: \n"); printrule(r); printf("\nRule with variables renamed: \n"); r2 = renamevars(r); printrule(r2); printf("\n-------------------------------------\n"); r = getrule(infile); } for(;;) { printf("?- "); tl = gettermlist(stdin); if (strcmp(tl->first->name,"halt") == 0) break; for (tmp=tl; tmp; tmp=tmp->rest) { printterm(tmp->first); printf("\n"); } } }