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