Commit | Line | Data |
---|---|---|
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 | |
83 | extern int yydebug; | |
84 | extern int debug; /* 1 = on */ | |
85 | extern int charc; | |
86 | # endif | |
87 | ||
88 | # ifndef DEBUG | |
89 | # define freturn(s) s | |
90 | # endif | |
91 | ||
92 | extern int sargc; | |
93 | extern char **sargv; | |
94 | extern char buf[520]; | |
95 | extern int ratfor; /* 1 = ratfor, 0 = C */ | |
96 | extern int yyline; /* line number of file */ | |
97 | extern int sect; | |
98 | extern int eof; | |
99 | extern int lgatflg; | |
100 | extern int divflg; | |
101 | extern int funcflag; | |
102 | extern int pflag; | |
103 | extern int casecount; | |
104 | extern int chset; /* 1 = char set modified */ | |
105 | extern FILE *fin, *fout, *fother, *errorf; | |
106 | extern int fptr; | |
107 | extern char *ratname, *cname; | |
108 | extern int prev; /* previous input character */ | |
109 | extern int pres; /* present input character */ | |
110 | extern int peek; /* next input character */ | |
111 | extern int *name; | |
112 | extern int *left; | |
113 | extern int *right; | |
114 | extern int *parent; | |
115 | extern char *nullstr; | |
116 | extern int tptr; | |
117 | extern char pushc[TOKENSIZE]; | |
118 | extern char *pushptr; | |
119 | extern char slist[STARTSIZE]; | |
120 | extern char *slptr; | |
121 | extern char **def, **subs, *dchar; | |
122 | extern char **sname, *schar; | |
123 | extern char *ccl; | |
124 | extern char *ccptr; | |
125 | extern char *dp, *sp; | |
126 | extern int dptr, sptr; | |
127 | extern char *bptr; /* store input position */ | |
128 | extern char *tmpstat; | |
129 | extern int count; | |
130 | extern int **foll; | |
131 | extern int *nxtpos; | |
132 | extern int *positions; | |
133 | extern int *gotof; | |
134 | extern int *nexts; | |
135 | extern char *nchar; | |
136 | extern int **state; | |
137 | extern int *sfall; /* fallback state num */ | |
138 | extern char *cpackflg; /* true if state has been character packed */ | |
139 | extern int *atable, aptr; | |
140 | extern int nptr; | |
141 | extern char symbol[NCH]; | |
142 | extern char cindex[NCH]; | |
143 | extern int xstate; | |
144 | extern int stnum; | |
145 | extern int ctable[]; | |
146 | extern int ZCH; | |
147 | extern int ccount; | |
148 | extern char match[NCH]; | |
149 | extern char extra[NACTIONS]; | |
150 | extern char *pcptr, *pchar; | |
151 | extern int pchlen; | |
152 | extern int nstates, maxpos; | |
153 | extern int yytop; | |
154 | extern int report; | |
155 | extern int ntrans, treesize, outsize; | |
156 | extern long rcount; | |
157 | extern int optim; | |
158 | extern int *verify, *advance, *stoff; | |
159 | extern int scon; | |
160 | extern char *psave; | |
161 | extern char *calloc(), *myalloc(); | |
162 | extern int buserr(), segviol(); |