|
DataMuseum.dkPresents historical artifacts from the history of: DKUUG/EUUG Conference tapes |
This is an automatic "excavation" of a thematic subset of
See our Wiki for more about DKUUG/EUUG Conference tapes Excavated with: AutoArchaeologist - Free & Open Source Software. |
top - metrics - downloadIndex: T q
Length: 1406 (0x57e) Types: TextFile Names: »qmspfp.y«
└─⟦060c9c824⟧ Bits:30007080 DKUUG TeX 2/12/89 └─⟦this⟧ »./DVIware/laser-setters/quicspool/libqmsquery/qmspfp.y« └─⟦52210d11f⟧ Bits:30007239 EUUGD2: TeX 3 1992-12 └─⟦af5ba6c8e⟧ »unix3.0/DVIWARE.tar.Z« └─⟦ca79c7339⟧ └─⟦this⟧ »DVIware/laser-setters/quicspool/libqmsquery/qmspfp.y«
%{ #ifndef lint static char *rcs = "$Header: qmspfp.y,v 1.1 88/01/15 12:19:26 simpson Rel $"; #endif /* $Log: qmspfp.y,v $ * Revision 1.1 88/01/15 12:19:26 simpson * initial release * * Revision 0.1 87/12/11 17:12:09 simpson * beta test * */ #include <stdio.h> #include <setjmp.h> #include <local/standard.h> #include "qms.h" extern FILE *_Ifp, *_Ofp; extern Boolean _FirstChar; static jmp_buf Env; char *malloc(); static struct qmspfp *PfpList, *P; %} %token PFP NONE ENDLINE %token <s> STRING %union { char s[81]; } %% pfplines : pfplines pfpline | pfpline ; pfpline : PFP module ENDLINE ; module : NONE { PfpList = NULL; } | STRING { P = (struct qmspfp *)malloc((unsigned)sizeof(struct qmspfp)); P->next = PfpList, PfpList = P; (void)strcpy(P->module = malloc((unsigned)(strlen($1) + 1)), $1); } ; %% #include "qmspfplex.c" struct qmspfp *qmspfp() { _FirstChar = TRUE; PfpList = NULL; fputs(QUICON, _Ofp); fprintf(_Ofp, "%s00000", SYNTAX); fprintf(_Ofp, "%sPFP%s", INFO, ENDCMD); fputs(QUICOFF, _Ofp); (void)fflush(_Ofp); if (setjmp(Env)) { while (timedgetc(_Ifp) != EOF) /* Discard remaining input */ ; return NULL; } if (yyparse() != 0) return NULL; yysptr = yysbuf; /* Resets lex lookahead buffer */ return PfpList; } static yyerror(s) char *s; { longjmp(Env, TRUE); }