ref: 50768fba487e1ec08278cdc4be614863db32a5c4
dir: /main.c/
#include <u.h> #include <libc.h> #include "dat.h" #include "fns.h" void usage(void); void main(int argc, char *argv[]) { char *parsetestfile = nil; ARGBEGIN{ case 'd': debug = 1; break; case 'f': parsetestfile = EARGF(usage()); break; default: usage(); }ARGEND if(argc != 0) usage(); if(parsetestfile){ int fd = open(parsetestfile, OREAD); if(fd < 0) exits("open"); Term *prog = parse(fd); Term *clause; for(clause = prog; clause != nil; clause = clause->next) print("%S.\n", prettyprint(clause)); } exits(nil); } void usage(void) { fprint(2, "Usage: pprolog [-d]\n"); exits("Usage"); }