|
|
1.1 ! root 1: /* ! 2: * lex/lex.h ! 3: */ ! 4: ! 5: /* #include <sys/mdata.h> */ ! 6: #include <stdio.h> ! 7: #include <stdlib.h> ! 8: #include <ctype.h> ! 9: #include "lextype.h" ! 10: ! 11: #ifdef MSDOS ! 12: #define OUTFILE "lex_yy.c" ! 13: #else ! 14: #define OUTFILE "lex.yy.c" ! 15: #endif ! 16: ! 17: /* Manifest constants. */ ! 18: #define ARRSZ 1000 /* maximum size of automaton */ ! 19: #define NCBLK 16 /* number of chars in a quantum of stringspace */ ! 20: ! 21: /* ! 22: * Macros for manipulating bit-packed character classes. ! 23: */ ! 24: #define classindex(n) ((n) / NBCHAR * (MAXUCHAR+1)) ! 25: #define classbit(n) (1 << ((n) & (NBCHAR-1))) ! 26: ! 27: /* ! 28: * Check for octal digit. ! 29: */ ! 30: #define isoctl(c) ('0' <= (c) && (c) <= '7') ! 31: ! 32: /* ! 33: * Symbol storage. ! 34: */ ! 35: struct def { ! 36: struct def *d_next; ! 37: char *d_name; ! 38: int d_data; ! 39: }; ! 40: ! 41: /* ! 42: * Types of input lines in the specification. ! 43: */ ! 44: enum { ! 45: LN_DFLT, LN_LSPC, LN_CTXT, LN_SCON, ! 46: LN_LCOM, LN_RCOM, LN_DLIM, LN_OPTN, ! 47: LN_EOFL ! 48: }; ! 49: ! 50: /* ! 51: * Globals. ! 52: */ ! 53: extern int nxt; ! 54: extern int yylval; ! 55: extern int ltype; ! 56: extern int inquotes; ! 57: extern int indefs; ! 58: extern int actn; ! 59: extern int clas; ! 60: extern int nfa[ARRSZ][2]; ! 61: extern struct def *defstart; ! 62: extern struct def *ctxstart; ! 63: extern struct def *scnstart; ! 64: extern unsigned char *classptr; ! 65: extern FILE *filein; ! 66: extern FILE *fileout; ! 67: extern char opnerr[]; ! 68: extern char outmem[]; ! 69: extern char noactn[]; ! 70: extern char illchr[]; ! 71: extern char illnln[]; ! 72: extern char illrng[]; ! 73: extern char illoct[]; ! 74: extern char unddef[]; ! 75: extern char undctx[]; ! 76: extern char undstc[]; ! 77: extern char illstc[]; ! 78: extern char regsyn[]; ! 79: extern char rulsyn[]; ! 80: extern char actsyn[]; ! 81: extern char unmopr[]; ! 82: extern char reperr[]; ! 83: extern char eoferr[]; ! 84: ! 85: /* ! 86: * Function definitions. ! 87: */ ! 88: extern char *alloc(); ! 89: extern char *ralloc(); ! 90: extern char *getident(); ! 91: ! 92: /* end of lex.h */
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.