# /* * * * The information in this document is subject to change * without notice and should not be construed as a commitment * by Digital Equipment Corporation or by DECUS. * * Neither Digital Equipment Corporation, DECUS, nor the authors * assume any responsibility for the use or reliability of this * document or the described software. * * Modifications Copyright (C) 1980, DECUS * * * General permission to copy or modify, but not for profit, is * hereby granted, provided that the above copyright notice is * included and reference made to the fact that reproduction * privileges were granted by DECUS. * */ /* * lex library header file -- accessed through * #include */ /* * description of scanning * tables. * the entries at the front of * the struct must remain in * place for the assembler routines * to find. */ struct lextab { int llendst; /* Last state number */ char *lldefault; /* Default state table */ char *llnext; /* Next state table */ char *llcheck; /* Check table */ int *llbase; /* Base table */ int llnxtmax; /* Last in base table */ int (*llmove)(); /* Move between states */ int *llfinal; /* Final state descriptions */ int (*llactr)(); /* Action routine */ int *lllook; /* Look ahead vector if != NULL */ char *llign; /* Ignore char vec if != NULL */ char *llbrk; /* Break char vec if != NULL */ char *llill; /* Illegal char vec if != NULL */ }; extern struct lextab *_tabp; extern FILE *lexin; /* scanner input file */ #define lexval yylval #define LEXERR 256 #define LEXSKIP (-1) /* * #define LEXECHO(fp) {lexecho((fp));} */ extern int lexval; extern int yyline; extern char llbuf[]; extern char *llend; #define lextext llbuf #define lexlast llend