Bell 32V development
[unix-history] / usr / src / cmd / lex / ldefs.c
CommitLineData
4cc44655
TL
1# include <stdio.h>
2# define PP 1
3# ifdef unix
4
5# define CWIDTH 7
6# define CMASK 0177
7# define ASCII 1
8# endif
9
10# ifdef gcos
11# define CWIDTH 9
12# define CMASK 0777
13# define ASCII 1
14# endif
15
16# ifdef ibm
17# define CWIDTH 8
18# define CMASK 0377
19# define EBCDIC 1
20# endif
21
22# ifdef ASCII
23# define NCH 128
24# endif
25
26# ifdef EBCDIC
27# define NCH 256
28# endif
29
30
31# define TOKENSIZE 1000
32# define DEFSIZE 40
33# define DEFCHAR 1000
34# define STARTCHAR 100
35# define STARTSIZE 256
36# define CCLSIZE 1000
37# ifdef SMALL
38# define TREESIZE 600
39# define NTRANS 1500
40# define NSTATES 300
41# define MAXPOS 1500
42# define NOUTPUT 1500
43# endif
44
45# ifndef SMALL
46# define TREESIZE 1000
47# define NSTATES 500
48# define MAXPOS 2500
49# define NTRANS 2000
50# define NOUTPUT 3000
51# endif
52# define NACTIONS 100
53# define ALITTLEEXTRA 30
54
55# define RCCL NCH+90
56# define RNCCL NCH+91
57# define RSTR NCH+92
58# define RSCON NCH+93
59# define RNEWE NCH+94
60# define FINAL NCH+95
61# define RNULLS NCH+96
62# define RCAT NCH+97
63# define STAR NCH+98
64# define PLUS NCH+99
65# define QUEST NCH+100
66# define DIV NCH+101
67# define BAR NCH+102
68# define CARAT NCH+103
69# define S1FINAL NCH+104
70# define S2FINAL NCH+105
71
72# define DEFSECTION 1
73# define RULESECTION 2
74# define ENDSECTION 5
75# define TRUE 1
76# define FALSE 0
77
78# define PC 1
79# define PS 1
80
81# ifdef DEBUG
82# define LINESIZE 110
83extern int yydebug;
84extern int debug; /* 1 = on */
85extern int charc;
86# endif
87
88# ifndef DEBUG
89# define freturn(s) s
90# endif
91
92extern int sargc;
93extern char **sargv;
94extern char buf[520];
95extern int ratfor; /* 1 = ratfor, 0 = C */
96extern int yyline; /* line number of file */
97extern int sect;
98extern int eof;
99extern int lgatflg;
100extern int divflg;
101extern int funcflag;
102extern int pflag;
103extern int casecount;
104extern int chset; /* 1 = char set modified */
105extern FILE *fin, *fout, *fother, *errorf;
106extern int fptr;
107extern char *ratname, *cname;
108extern int prev; /* previous input character */
109extern int pres; /* present input character */
110extern int peek; /* next input character */
111extern int *name;
112extern int *left;
113extern int *right;
114extern int *parent;
115extern char *nullstr;
116extern int tptr;
117extern char pushc[TOKENSIZE];
118extern char *pushptr;
119extern char slist[STARTSIZE];
120extern char *slptr;
121extern char **def, **subs, *dchar;
122extern char **sname, *schar;
123extern char *ccl;
124extern char *ccptr;
125extern char *dp, *sp;
126extern int dptr, sptr;
127extern char *bptr; /* store input position */
128extern char *tmpstat;
129extern int count;
130extern int **foll;
131extern int *nxtpos;
132extern int *positions;
133extern int *gotof;
134extern int *nexts;
135extern char *nchar;
136extern int **state;
137extern int *sfall; /* fallback state num */
138extern char *cpackflg; /* true if state has been character packed */
139extern int *atable, aptr;
140extern int nptr;
141extern char symbol[NCH];
142extern char cindex[NCH];
143extern int xstate;
144extern int stnum;
145extern int ctable[];
146extern int ZCH;
147extern int ccount;
148extern char match[NCH];
149extern char extra[NACTIONS];
150extern char *pcptr, *pchar;
151extern int pchlen;
152extern int nstates, maxpos;
153extern int yytop;
154extern int report;
155extern int ntrans, treesize, outsize;
156extern long rcount;
157extern int optim;
158extern int *verify, *advance, *stoff;
159extern int scon;
160extern char *psave;
161extern char *calloc(), *myalloc();
162extern int buserr(), segviol();