!<arch> Ipdtparse 418696376 968 27 100644 114 ` (man & cmd) | !(src & include) !((man & cmd) & ((src|lib) & V4BSD)) | R3 ((man & cmd) & ((src&lib) & V4BSD)) & R3 Opdtparse 418696376 968 27 100644 103 ` man cmd & src include & ! | man cmd & src lib | V4BSD & & ! R3 | man cmd & src lib & V4BSD & & R3 & Tpdtparse.c 418696379 968 27 100644 777 ` /* * pdtparse() */ #include "stdio.h" #include "pdtyp.h" char *PGN = "Tpdtparse"; main() { char buf[BUFSIZ]; /* input buffer */ char *gets(); /* get line from stdin */ int i; /* postfix expression index */ int pdtparse(); /* parse boolean type expression */ PDTYP postfix; /* postfix type expression */ while (gets(buf) != NULL) { pdtparse(buf, &postfix); for (i = 0; i < postfix.pfxsize; i++) switch ((postfix.pfx)[i].p_class) { case B_ID: printf("%s ", (postfix.pfx)[i].p_id); break; case B_AND: printf("& "); break; case B_OR: printf("| "); break; case B_NOT: printf("! "); break; default: printf("? "); break; } printf("\n"); free(postfix.pfx); } exit(0); }