|
|
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.