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