Commit | Line | Data |
---|---|---|
eadd54c1 CH |
1 | /* Copyright (c) 1979 Regents of the University of California */ |
2 | ||
3 | #include "whoami" | |
4 | #include "0.h" | |
5 | #include "yy.h" | |
6 | #include "tree.h" | |
7 | ||
8 | #ifdef PI | |
9 | #define lineof(l) l | |
10 | #define line2of(l) l | |
11 | #endif | |
12 | ||
13 | extern yyerrflag; | |
14 | ||
15 | int *yyval 0; | |
16 | int *yypv; | |
17 | yyactr(__np__){ | |
18 | register int **yyYpv; | |
19 | register int *p, *q; | |
20 | yyYpv = yypv; | |
21 | ||
22 | switch(__np__){ | |
23 | ||
24 | case 1: funcend(yyYpv[1], yyYpv[4], lineof(yyYpv[5])); break; | |
25 | case 2: yyval = funcbody(funchdr(tree5(T_PROG, lineof(yyYpv[1]), yyYpv[2], fixlist(yyYpv[4]), NIL))); break; | |
26 | case 3: { | |
27 | yyPerror("Malformed program statement", PPROG); | |
28 | /* | |
29 | * Should make a program statement | |
30 | * with "input" and "output" here. | |
31 | */ | |
32 | yyval = funcbody(funchdr(tree5(T_PROG, lineof(yyYpv[1]), NIL, NIL, NIL))); | |
33 | } break; | |
34 | case 4: { | |
35 | yyval = tree3(T_BSTL, lineof(yyYpv[1]), fixlist(yyYpv[2])); | |
36 | if (yyYpv[3] < 0) | |
37 | brerror(yyYpv[1], "begin"); | |
38 | } break; | |
39 | case 5: trfree(); break; | |
40 | case 6: { | |
41 | Derror: | |
42 | constend(), typeend(), varend(), trfree(); | |
43 | yyPerror("Malformed declaration", PDECL); | |
44 | } break; | |
45 | case 7: trfree(); break; | |
46 | case 9: constend(); break; | |
47 | case 10: typeend(); break; | |
48 | case 11: varend(); break; | |
49 | case 12: label(fixlist(yyYpv[2]), lineof(yyYpv[1])); break; | |
50 | case 13: yyval = newlist(yyYpv[1] == NIL ? NIL : *hash(yyYpv[1], 1)); break; | |
51 | case 14: yyval = addlist(yyYpv[1], yyYpv[3] == NIL ? NIL : *hash(yyYpv[3], 1)); break; | |
52 | case 15: constbeg(yyYpv[1], line2of(yyYpv[2])), const(lineof(yyYpv[3]), yyYpv[2], yyYpv[4]); break; | |
53 | case 16: const(lineof(yyYpv[3]), yyYpv[2], yyYpv[4]); break; | |
54 | case 17: { | |
55 | constbeg(yyYpv[1], line2of(yyYpv[1])); | |
56 | Cerror: | |
57 | yyPerror("Malformed const declaration", PDECL); | |
58 | } break; | |
59 | case 18: goto Cerror; break; | |
60 | case 19: typebeg(yyYpv[1], line2of(yyYpv[2])), type(lineof(yyYpv[3]), yyYpv[2], yyYpv[4]); break; | |
61 | case 20: type(lineof(yyYpv[3]), yyYpv[2], yyYpv[4]); break; | |
62 | case 21: { | |
63 | typebeg(yyYpv[1], line2of(yyYpv[1])); | |
64 | Terror: | |
65 | yyPerror("Malformed type declaration", PDECL); | |
66 | } break; | |
67 | case 22: goto Terror; break; | |
68 | case 23: varbeg(yyYpv[1], line2of(yyYpv[3])), var(lineof(yyYpv[3]), fixlist(yyYpv[2]), yyYpv[4]); break; | |
69 | case 24: var(lineof(yyYpv[3]), fixlist(yyYpv[2]), yyYpv[4]); break; | |
70 | case 25: { | |
71 | varbeg(yyYpv[1], line2of(yyYpv[1])); | |
72 | Verror: | |
73 | yyPerror("Malformed var declaration", PDECL); | |
74 | } break; | |
75 | case 26: goto Verror; break; | |
76 | case 28: trfree(); break; | |
77 | case 29: funcfwd(yyYpv[1]); break; | |
78 | case 30: funcend(yyYpv[1], yyYpv[4], lineof(yyYpv[5])); break; | |
79 | case 31: funcbody(yyYpv[1]); break; | |
80 | case 32: yyval = funchdr(tree5(yyYpv[1], lineof(yyYpv[5]), yyYpv[2], yyYpv[3], yyYpv[4])); break; | |
81 | case 33: yyval = T_PDEC; break; | |
82 | case 34: yyval = T_FDEC; break; | |
83 | case 35: yyval = fixlist(yyYpv[2]); break; | |
84 | case 36: yyval = NIL; break; | |
85 | case 37: yyval = tree3(T_PVAL, fixlist(yyYpv[1]), yyYpv[3]); break; | |
86 | case 38: yyval = tree3(T_PVAR, fixlist(yyYpv[2]), yyYpv[4]); break; | |
87 | case 39: yyval = tree3(T_PFUNC, fixlist(yyYpv[2]), yyYpv[4]); break; | |
88 | case 40: yyval = tree2(T_PPROC, fixlist(yyYpv[2])); break; | |
89 | case 41: yyval = yyYpv[2]; break; | |
90 | case 42: yyval = NIL; break; | |
91 | case 43: yyval = newlist(yyYpv[1]); break; | |
92 | case 44: yyval = addlist(yyYpv[1], yyYpv[3]); break; | |
93 | case 45: yyval = tree2(T_CSTRNG, yyYpv[1]); break; | |
94 | case 47: yyval = tree2(T_PLUSC, yyYpv[2]); break; | |
95 | case 48: yyval = tree2(T_MINUSC, yyYpv[2]); break; | |
96 | case 49: yyval = tree2(T_ID, yyYpv[1]); break; | |
97 | case 50: yyval = tree2(T_CINT, yyYpv[1]); break; | |
98 | case 51: yyval = tree2(T_CBINT, yyYpv[1]); break; | |
99 | case 52: yyval = tree2(T_CFINT, yyYpv[1]); break; | |
100 | case 53: yyval = newlist(yyYpv[1]); break; | |
101 | case 54: yyval = addlist(yyYpv[1], yyYpv[3]); break; | |
102 | case 56: yyval = tree3(T_TYPTR, lineof(yyYpv[1]), tree2(T_ID, yyYpv[2])); break; | |
103 | case 58: yyval = tree3(T_TYPACK, lineof(yyYpv[1]), yyYpv[2]); break; | |
104 | case 60: yyval = tree3(T_TYSCAL, lineof(yyYpv[1]), fixlist(yyYpv[2])); break; | |
105 | case 61: yyval = tree4(T_TYRANG, lineof(yyYpv[2]), yyYpv[1], yyYpv[3]); break; | |
106 | case 62: yyval = tree4(T_TYARY, lineof(yyYpv[1]), fixlist(yyYpv[3]), yyYpv[6]); break; | |
107 | case 63: yyval = tree3(T_TYFILE, lineof(yyYpv[1]), yyYpv[3]); break; | |
108 | case 64: yyval = tree3(T_TYSET, lineof(yyYpv[1]), yyYpv[3]); break; | |
109 | case 65: { | |
110 | yyval = setuptyrec( lineof(yyYpv[1]), yyYpv[2]); | |
111 | if (yyYpv[3] < 0) | |
112 | brerror(yyYpv[1], "record"); | |
113 | } break; | |
114 | case 66: yyval = newlist(yyYpv[1]); break; | |
115 | case 67: yyval = addlist(yyYpv[1], yyYpv[3]); break; | |
116 | case 68: yyval = tree4(T_FLDLST, lineof(NIL), fixlist(yyYpv[1]), yyYpv[2]); break; | |
117 | case 69: yyval = newlist(yyYpv[1]); break; | |
118 | case 70: yyval = addlist(yyYpv[1], yyYpv[3]); break; | |
119 | case 71: yyPerror("Malformed record declaration", PDECL); break; | |
120 | case 72: yyval = NIL; break; | |
121 | case 73: yyval = tree4(T_RFIELD, lineof(yyYpv[2]), fixlist(yyYpv[1]), yyYpv[3]); break; | |
122 | case 74: yyval = NIL; break; | |
123 | case 75: yyval = tree5(T_TYVARPT, lineof(yyYpv[1]), NIL, yyYpv[2], fixlist(yyYpv[4])); break; | |
124 | case 76: yyval = tree5(T_TYVARPT, lineof(yyYpv[1]), yyYpv[2], yyYpv[4], fixlist(yyYpv[6])); break; | |
125 | case 77: yyval = newlist(yyYpv[1]); break; | |
126 | case 78: yyval = addlist(yyYpv[1], yyYpv[3]); break; | |
127 | case 79: yyPerror("Malformed record declaration", PDECL); break; | |
128 | case 80: yyval = NIL; break; | |
129 | case 81: yyval = tree4(T_TYVARNT, lineof(yyYpv[2]), fixlist(yyYpv[1]), yyYpv[4]); break; | |
130 | case 82: yyval = tree4(T_TYVARNT, lineof(yyYpv[2]), fixlist(yyYpv[1]), NIL); break; | |
131 | case 83: yyval = newlist(yyYpv[1]); break; | |
132 | case 84: { | |
133 | if ((p = yyYpv[1]) != NIL && (q = p[1])[0] == T_IFX) { | |
134 | q[0] = T_IFEL; | |
135 | q[4] = yyYpv[2]; | |
136 | } else | |
137 | yyval = addlist(yyYpv[1], yyYpv[2]); | |
138 | } break; | |
139 | case 85: if ((q = yyYpv[1]) != NIL && (p = q[1]) != NIL && p[0] == T_IF) { | |
140 | if (yychar < 0) | |
141 | yychar = yylex(); | |
142 | if (yyshifts >= 2 && yychar == YELSE) { | |
143 | recovered(); | |
144 | copy(&Y, &OY, sizeof Y); | |
145 | yerror("Deleted ';' before keyword else"); | |
146 | yychar = yylex(); | |
147 | p[0] = T_IFX; | |
148 | } | |
149 | } break; | |
150 | case 86: yyval = newlist(yyYpv[1]); break; | |
151 | case 87: yyval = addlist(yyYpv[1], yyYpv[3]); break; | |
152 | case 88: { | |
153 | yyval = NIL; | |
154 | Kerror: | |
155 | yyPerror("Malformed statement in case", PSTAT); | |
156 | } break; | |
157 | case 89: goto Kerror; break; | |
158 | case 90: yyval = tree4(T_CSTAT, lineof(yyYpv[2]), fixlist(yyYpv[1]), yyYpv[3]); break; | |
159 | case 91: yyval = tree4(T_CSTAT, lineof(yyYpv[1]), NIL, yyYpv[2]); break; | |
160 | case 92: yyval = NIL; break; | |
161 | case 93: yyval = NIL; break; | |
162 | case 94: yyval = tree4(T_LABEL, lineof(yyYpv[2]), yyYpv[1] == NIL ? NIL : *hash(yyYpv[1], 1), yyYpv[3]); break; | |
163 | case 95: yyval = tree4(T_PCALL, lineof(yyline), yyYpv[1], NIL); break; | |
164 | case 96: yyval = tree4(T_PCALL, lineof(yyYpv[2]), yyYpv[1], fixlist(yyYpv[3])); break; | |
165 | case 97: goto NSerror; break; | |
166 | case 99: { | |
167 | yyval = tree3(T_BLOCK, lineof(yyYpv[1]), fixlist(yyYpv[2])); | |
168 | if (yyYpv[3] < 0) | |
169 | brerror(yyYpv[1], "begin"); | |
170 | } break; | |
171 | case 100: { | |
172 | yyval = tree4(T_CASE, lineof(yyYpv[1]), yyYpv[2], fixlist(yyYpv[4])); | |
173 | if (yyYpv[5] < 0) | |
174 | brerror(yyYpv[1], "case"); | |
175 | } break; | |
176 | case 101: yyval = tree4(T_WITH, lineof(yyYpv[1]), fixlist(yyYpv[2]), yyYpv[4]); break; | |
177 | case 102: yyval = tree4(T_WHILE, lineof(yyYpv[1]), yyYpv[2], yyYpv[4]); break; | |
178 | case 103: yyval = tree4(T_REPEAT, lineof(yyYpv[3]), fixlist(yyYpv[2]), yyYpv[4]); break; | |
179 | case 104: yyval = tree5(T_FORU, lineof(yyYpv[1]), yyYpv[2], yyYpv[4], yyYpv[6]); break; | |
180 | case 105: yyval = tree5(T_FORD, lineof(yyYpv[1]), yyYpv[2], yyYpv[4], yyYpv[6]); break; | |
181 | case 106: yyval = tree3(T_GOTO, lineof(yyYpv[1]), *hash(yyYpv[2], 1)); break; | |
182 | case 107: yyval = tree5(T_IF, lineof(yyYpv[1]), yyYpv[2], yyYpv[4], NIL); break; | |
183 | case 108: yyval = tree5(T_IFEL, lineof(yyYpv[1]), yyYpv[2], yyYpv[4], yyYpv[6]); break; | |
184 | case 109: yyval = tree5(T_IFEL, lineof(yyYpv[1]), yyYpv[2], yyYpv[4], NIL); break; | |
185 | case 110: yyval = tree3(T_ASRT, lineof(yyYpv[1]), yyYpv[3]); break; | |
186 | case 111: { | |
187 | NSerror: | |
188 | yyval = NIL; | |
189 | Serror: | |
190 | yyPerror("Malformed statement", PSTAT); | |
191 | } break; | |
192 | case 112: yyval = tree4(T_ASGN, lineof(yyYpv[2]), yyYpv[1], yyYpv[4]); break; | |
193 | case 113: { | |
194 | NEerror: | |
195 | yyval = NIL; | |
196 | Eerror: | |
197 | yyPerror("Missing/malformed expression", PEXPR); | |
198 | } break; | |
199 | case 114: yyval = tree4(yyYpv[2], yyYpv[1][1] == SAWCON ? yyYpv[3][1] : yyYpv[1][1], yyYpv[1], yyYpv[3]); break; | |
200 | case 115: yyval = tree3(T_PLUS, yyYpv[2][1], yyYpv[2]); break; | |
201 | case 116: yyval = tree3(T_MINUS, yyYpv[2][1], yyYpv[2]); break; | |
202 | case 117: yyval = tree4(yyYpv[2], yyYpv[1][1] == SAWCON ? yyYpv[3][1] : yyYpv[1][1], yyYpv[1], yyYpv[3]); break; | |
203 | case 118: yyval = tree4(yyYpv[2], yyYpv[1][1] == SAWCON ? yyYpv[3][1] : yyYpv[1][1], yyYpv[1], yyYpv[3]); break; | |
204 | case 119: yyval = tree2(T_NIL, NOCON); break; | |
205 | case 120: yyval = tree3(T_STRNG, SAWCON, yyYpv[1]); break; | |
206 | case 121: yyval = tree3(T_INT, NOCON, yyYpv[1]); break; | |
207 | case 122: yyval = tree3(T_BINT, NOCON, yyYpv[1]); break; | |
208 | case 123: yyval = tree3(T_FINT, NOCON, yyYpv[1]); break; | |
209 | case 125: goto NEerror; break; | |
210 | case 126: yyval = tree4(T_FCALL, NOCON, yyYpv[1], fixlist(yyYpv[3])); break; | |
211 | case 127: yyval = yyYpv[2]; break; | |
212 | case 128: yyval = tree3(T_NOT, NOCON, yyYpv[2]); break; | |
213 | case 129: yyval = tree3(T_CSET, SAWCON, fixlist(yyYpv[2])); break; | |
214 | case 130: yyval = tree3(T_CSET, SAWCON, NIL); break; | |
215 | case 131: yyval = newlist(yyYpv[1]); break; | |
216 | case 132: yyval = addlist(yyYpv[1], yyYpv[3]); break; | |
217 | case 134: yyval = tree3(T_RANG, yyYpv[1], yyYpv[3]); break; | |
218 | case 135: { | |
219 | yyval = setupvar(yyYpv[1], NIL); | |
220 | } break; | |
221 | case 136: yyYpv[1][3] = fixlist(yyYpv[1][3]); break; | |
222 | case 137: yyval = setupvar(yyYpv[1], tree2(T_ARY, fixlist(yyYpv[3]))); break; | |
223 | case 138: yyYpv[1][3] = addlist(yyYpv[1][3], tree2(T_ARY, fixlist(yyYpv[3]))); break; | |
224 | case 139: yyval = setupvar(yyYpv[1], setupfield(yyYpv[3], NIL)); break; | |
225 | case 140: yyYpv[1][3] = addlist(yyYpv[1][3], setupfield(yyYpv[3], NIL)); break; | |
226 | case 141: yyval = setupvar(yyYpv[1], tree1(T_PTR)); break; | |
227 | case 142: yyYpv[1][3] = addlist(yyYpv[1][3], tree1(T_PTR)); break; | |
228 | case 144: yyval = tree4(T_WEXP, yyYpv[1], yyYpv[3], NIL); break; | |
229 | case 145: yyval = tree4(T_WEXP, yyYpv[1], yyYpv[3], yyYpv[5]); break; | |
230 | case 146: yyval = tree4(T_WEXP, yyYpv[1], NIL, yyYpv[2]); break; | |
231 | case 147: yyval = tree4(T_WEXP, yyYpv[1], yyYpv[3], yyYpv[4]); break; | |
232 | case 148: yyval = OCT; break; | |
233 | case 149: yyval = HEX; break; | |
234 | case 150: yyval = newlist(yyYpv[1]); break; | |
235 | case 151: yyval = addlist(yyYpv[1], yyYpv[3]); break; | |
236 | case 152: yyval = newlist(yyYpv[1]); break; | |
237 | case 153: yyval = addlist(yyYpv[1], yyYpv[3]); break; | |
238 | case 154: yyval = T_EQ; break; | |
239 | case 155: yyval = T_LT; break; | |
240 | case 156: yyval = T_GT; break; | |
241 | case 157: yyval = T_NE; break; | |
242 | case 158: yyval = T_LE; break; | |
243 | case 159: yyval = T_GE; break; | |
244 | case 160: yyval = T_IN; break; | |
245 | case 161: yyval = T_ADD; break; | |
246 | case 162: yyval = T_SUB; break; | |
247 | case 163: yyval = T_OR; break; | |
248 | case 164: yyval = T_OR; break; | |
249 | case 165: yyval = T_MULT; break; | |
250 | case 166: yyval = T_DIVD; break; | |
251 | case 167: yyval = T_DIV; break; | |
252 | case 168: yyval = T_MOD; break; | |
253 | case 169: yyval = T_AND; break; | |
254 | case 170: yyval = T_AND; break; | |
255 | case 173: yyval = newlist(yyYpv[1]); break; | |
256 | case 174: yyval = addlist(yyYpv[1], yyYpv[3]); break; | |
257 | case 175: yyval = newlist(yyYpv[1]); break; | |
258 | case 176: yyval = addlist(yyYpv[1], yyYpv[3]); break; | |
259 | case 178: { | |
260 | yyval = tree3(T_TYID, lineof(yyline), yyYpv[1]); | |
261 | } break; | |
262 | } | |
263 | } | |
264 | ||
265 | int yyact[] {0,-286,8195,4096,0,16384,4096,12295,-256,8198 | |
266 | ,-273,8197,4096,-256,8201,-259,12315,-261,8207,-271 | |
267 | ,12315,-277,8206,-285,12315,-293,8208,-295,8209,4096 | |
268 | ,-40,8210,4096,12291,-259,8213,-271,8218,-285,8217 | |
269 | ,4096,12293,12294,12296,-256,8220,-259,12297,-261,12297 | |
270 | ,-271,12297,-273,8219,-277,12297,-285,12297,-293,12297 | |
271 | ,-295,12297,4096,-256,8222,-259,12298,-261,12298,-271 | |
272 | ,12298,-273,8221,-277,12298,-285,12298,-293,12298,-295 | |
273 | ,12298,4096,-256,8224,-259,12299,-261,12299,-271,12299 | |
274 | ,-273,8225,-277,12299,-285,12299,-293,12299,-295,12299 | |
275 | ,4096,-276,8227,4096,-256,8229,-273,8228,4096,-256 | |
276 | ,8231,-273,8230,4096,-256,8233,-273,8225,4096,-273 | |
277 | ,8225,4096,-46,8235,4096,12316,-256,8252,-259,8243 | |
278 | ,-260,8244,-267,12381,-269,8248,-272,8249,-273,8241 | |
279 | ,-274,8250,-276,8239,-288,8247,-296,8246,-297,8245 | |
280 | ,-301,8251,-59,12381,4096,-270,8258,12319,-273,8260 | |
281 | ,4096,12321,12322,-61,8261,4096,12306,-61,8262,4096 | |
282 | ,12310,-44,8264,-58,8263,4096,12314,12463,-59,8265 | |
283 | ,-44,8266,4096,12301,-61,8267,4096,12305,-61,8268 | |
284 | ,4096,12309,-44,8264,-58,8269,4096,12313,-41,8270 | |
285 | ,-44,8264,4096,12289,-267,8271,-59,8272,4096,12371 | |
286 | ,-256,8252,-259,8243,-260,8244,-267,12381,-269,8248 | |
287 | ,-272,8249,-273,8241,-274,8250,-276,8239,-288,8247 | |
288 | ,-294,12381,-296,8246,-297,8245,-301,8251,-59,12381 | |
289 | ,4096,-58,8274,4096,-40,8275,12383,-256,8276,-266 | |
290 | ,12472,-267,12472,-294,12472,-46,12470,-40,12472,-59 | |
291 | ,12472,-58,12423,-94,12469,-91,12468,4096,12386,-256 | |
292 | ,8279,-273,8288,-276,8284,-279,8293,-280,8286,-284 | |
293 | ,8282,-290,8283,-298,8285,-43,8280,-45,8281,-40 | |
294 | ,8290,-91,8292,-126,8294,4096,-273,8297,4096,-273 | |
295 | ,8297,4096,-276,8301,4096,-40,8303,4096,12399,-58 | |
296 | ,8304,4096,-46,8306,-94,8307,-91,8305,12424,-91 | |
297 | ,8308,4096,-46,8309,4096,-94,8310,4096,-59,8311 | |
298 | ,4096,-256,8201,-259,12315,-261,8207,-271,12315,-277 | |
299 | ,8206,-285,12315,-293,8208,-295,8209,4096,-40,8314 | |
300 | ,12324,-273,8324,-276,8321,-280,8323,-290,8316,-298 | |
301 | ,8322,-43,8318,-45,8319,4096,-258,8333,-268,8334 | |
302 | ,-273,8337,-276,8321,-280,8323,-283,8329,-287,8336 | |
303 | ,-289,8335,-290,8316,-298,8322,-43,8318,-45,8319 | |
304 | ,-40,8331,-94,8327,4096,-273,8339,4096,12300,-276 | |
305 | ,8340,4096,-59,8344,4096,12292,12373,12372,-256,8279 | |
306 | ,-273,8288,-276,8284,-279,8293,-280,8286,-284,8282 | |
307 | ,-290,8283,-298,8285,-43,8280,-45,8281,-40,8290 | |
308 | ,-91,8292,-126,8294,4096,12385,-267,8349,-59,8272 | |
309 | ,4096,-257,8366,-262,8364,-275,8357,-278,8365,-281 | |
310 | ,8350,-282,8360,-60,8355,-61,8354,-62,8356,-43 | |
311 | ,8358,-45,8359,-124,8361,-42,8362,-47,8363,-38 | |
312 | ,8367,4096,12401,12407,12408,12409,12410,12411,12412,-256 | |
313 | ,8370,-257,12423,-262,12423,-263,12423,-264,12423,-265 | |
314 | ,12423,-266,12423,-267,12423,-275,12423,-278,12423,-281 | |
315 | ,12423,-282,12423,-291,12423,-292,12423,-294,12423,-299 | |
316 | ,12423,-300,12423,-60,12423,-61,12423,-62,12423,-43 | |
317 | ,12423,-45,12423,-124,12423,-42,12423,-47,12423,-38 | |
318 | ,12423,-46,12470,-40,12473,-41,12423,-59,12423,-44 | |
319 | ,12423,-58,12423,-94,12469,-91,12468,-93,12423,4096 | |
320 | ,-40,8371,4096,-256,8279,-273,8288,-276,8284,-279 | |
321 | ,8293,-280,8286,-284,8282,-290,8283,-298,8285,-43 | |
322 | ,8280,-45,8281,-40,8290,-91,8292,-93,8375,-126 | |
323 | ,8294,4096,12459,12460,-263,8378,-44,8379,4096,12461 | |
324 | ,-46,12470,-94,12469,-91,12468,12423,-257,8366,-262 | |
325 | ,8364,-263,8380,-275,8357,-278,8365,-282,8360,-60 | |
326 | ,8355,-61,8354,-62,8356,-43,8358,-45,8359,-124 | |
327 | ,8361,-42,8362,-47,8363,-38,8367,4096,-294,8381 | |
328 | ,-59,8272,4096,-265,8382,-292,8383,4096,12394,-257 | |
329 | ,8366,-262,8364,-275,8357,-278,8365,-282,8360,-291 | |
330 | ,8384,-60,8355,-61,8354,-62,8356,-43,8358,-45 | |
331 | ,8359,-124,8361,-42,8362,-47,8363,-38,8367,4096 | |
332 | ,-61,8386,4096,-256,8279,-273,8288,-276,8284,-279 | |
333 | ,8293,-280,8286,-284,8282,-290,8283,-298,8285,-43 | |
334 | ,8280,-45,8281,-40,8290,-91,8292,-126,8294,4096 | |
335 | ,-273,8390,4096,12430,12429,12317,-259,8213,-271,8218 | |
336 | ,-285,8217,4096,-58,8395,12330,-271,8400,-273,8225 | |
337 | ,-285,8401,-295,8399,4096,-59,8402,4096,12333,12334 | |
338 | ,-273,8324,-276,8321,-280,8323,-298,8322,4096,12337 | |
339 | ,12338,12339,12340,12465,-59,8405,4096,12343,-273,8406 | |
340 | ,4096,12345,-258,8333,-268,8334,-287,8336,-289,8335 | |
341 | ,4096,12347,-264,8409,4096,-91,8410,4096,-281,8411 | |
342 | ,4096,-281,8412,4096,-273,8225,12360,-264,12465,12466 | |
343 | ,-59,8417,4096,12464,12302,-59,8418,4096,-59,8419 | |
344 | ,4096,-59,8420,4096,12290,12382,-41,8421,-44,8422 | |
345 | ,4096,12440,-257,8366,-262,8364,-275,8357,-278,8365 | |
346 | ,-282,8360,-299,8425,-300,8426,-60,8355,-61,8354 | |
347 | ,-62,8356,-43,8358,-45,8359,-124,8361,-42,8362 | |
348 | ,-47,8363,-38,8367,-58,8423,12431,12387,-256,8429 | |
349 | ,-267,12380,-273,8324,-276,8321,-280,8323,-290,8316 | |
350 | ,-298,8322,-302,8431,-43,8318,-45,8319,-59,12380 | |
351 | ,4096,12442,-61,8437,-62,8436,12443,-61,8438,12444 | |
352 | ,12448,12449,12450,12451,12452,12453,12454,12455,12456,12457 | |
353 | ,12458,-257,8366,-262,8364,-278,8365,-42,8362,-47 | |
354 | ,8363,-38,8367,12403,-257,8366,-262,8364,-278,8365 | |
355 | ,-42,8362,-47,8363,-38,8367,12404,12413,-257,8366 | |
356 | ,-262,8364,-275,8357,-278,8365,-282,8360,-60,8355 | |
357 | ,-61,8354,-62,8356,-43,8358,-45,8359,-124,8361 | |
358 | ,-42,8362,-47,8363,-38,8367,-41,8440,4096,12416 | |
359 | ,-44,8442,-93,8441,4096,12418,12419,-257,8366,-262 | |
360 | ,8364,-264,8443,-275,8357,-278,8365,-282,8360,-60 | |
361 | ,8355,-61,8354,-62,8356,-43,8358,-45,8359,-124 | |
362 | ,8361,-42,8362,-47,8363,-38,8367,12421,-273,8297 | |
363 | ,4096,-257,8366,-262,8364,-275,8357,-278,8365,-282 | |
364 | ,8360,-60,8355,-61,8354,-62,8356,-43,8358,-45 | |
365 | ,8359,-124,8361,-42,8362,-47,8363,-38,8367,-41 | |
366 | ,8451,4096,-44,8454,-93,8453,4096,-257,8366,-262 | |
367 | ,8364,-275,8357,-278,8365,-282,8360,-60,8355,-61 | |
368 | ,8354,-62,8356,-43,8358,-45,8359,-124,8361,-42 | |
369 | ,8362,-47,8363,-38,8367,12438,12428,12471,-44,8454 | |
370 | ,-93,8455,4096,12427,-59,8456,4096,-59,8457,4096 | |
371 | ,-41,8459,-59,8460,4096,12331,-44,8264,-58,8461 | |
372 | ,4096,12304,12335,12336,12308,12344,12346,-41,8465,-44 | |
373 | ,8264,4096,-273,8337,-276,8321,-280,8323,-290,8316 | |
374 | ,-298,8322,-43,8318,-45,8319,-40,8331,4096,-273 | |
375 | ,8337,-276,8321,-280,8323,-290,8316,-298,8322,-43 | |
376 | ,8318,-45,8319,-40,8331,4096,-267,8471,4096,-256 | |
377 | ,8474,-260,8475,-267,12362,-41,12362,-59,8473,4096 | |
378 | ,12357,-44,8264,-58,8476,4096,12312,12303,12307,12311 | |
379 | ,12384,-256,8279,-273,8288,-276,8284,-279,8293,-280 | |
380 | ,8286,-284,8282,-290,8283,-298,8285,-43,8280,-45 | |
381 | ,8281,-40,8290,-91,8292,-126,8294,4096,12434,12436 | |
382 | ,12437,-256,8480,-267,8481,-59,8479,4096,12374,12376 | |
383 | ,-44,8482,-58,8483,4096,12341,-257,8366,-262,8364 | |
384 | ,-275,4096,-278,8365,-282,8360,-60,4096,-61,4096 | |
385 | ,-62,4096,-43,8358,-45,8359,-124,8361,-42,8362 | |
386 | ,-47,8363,-38,8367,12402,-257,8366,-262,8364,-278 | |
387 | ,8365,-42,8362,-47,8363,-38,8367,12405,12406,12445 | |
388 | ,12446,12447,-41,8485,-44,8422,4096,12415,12417,-256 | |
389 | ,8279,-273,8288,-276,8284,-279,8293,-280,8286,-284 | |
390 | ,8282,-290,8283,-298,8285,-43,8280,-45,8281,-40 | |
391 | ,8290,-91,8292,-126,8294,4096,12389,12462,12390,-257 | |
392 | ,8366,-262,8364,-275,8357,-278,8365,-282,8360,-60 | |
393 | ,8355,-61,8354,-62,8356,-43,8358,-45,8359,-124 | |
394 | ,8361,-42,8362,-47,8363,-38,8367,12391,-257,8366 | |
395 | ,-262,8364,-263,8488,-275,8357,-278,8365,-282,8360 | |
396 | ,-60,8355,-61,8354,-62,8356,-43,8358,-45,8359 | |
397 | ,-124,8361,-42,8362,-47,8363,-38,8367,4096,-257 | |
398 | ,8366,-262,8364,-263,8489,-275,8357,-278,8365,-282 | |
399 | ,8360,-60,8355,-61,8354,-62,8356,-43,8358,-45 | |
400 | ,8359,-124,8361,-42,8362,-47,8363,-38,8367,4096 | |
401 | ,-266,8490,12395,12398,-257,8366,-262,8364,-275,8357 | |
402 | ,-278,8365,-282,8360,-60,8355,-61,8354,-62,8356 | |
403 | ,-43,8358,-45,8359,-124,8361,-42,8362,-47,8363 | |
404 | ,-38,8367,12400,12426,12425,12318,12320,12329,12323,-271 | |
405 | ,8400,-273,8225,-285,8401,-295,8399,4096,-44,8264 | |
406 | ,-58,8494,4096,-44,8264,-58,8495,4096,-44,8264 | |
407 | ,12328,12348,12349,-44,8497,-93,8496,4096,12354,12351 | |
408 | ,12352,12353,12356,-273,8225,12360,12359,-273,8500,4096 | |
409 | ,12441,-257,8366,-262,8364,-275,8357,-278,8365,-282 | |
410 | ,8360,-299,8425,-300,8426,-60,8355,-61,8354,-62 | |
411 | ,8356,-43,8358,-45,8359,-124,8361,-42,8362,-47 | |
412 | ,8363,-38,8367,-58,8502,12432,-273,8324,-276,8321 | |
413 | ,-280,8323,-290,8316,-298,8322,-302,8431,-43,8318 | |
414 | ,-45,8319,12380,12377,12388,12379,12414,12420,-257,8366 | |
415 | ,-262,8364,-275,8357,-278,8365,-282,8360,-60,8355 | |
416 | ,-61,8354,-62,8356,-43,8358,-45,8359,-124,8361 | |
417 | ,-42,8362,-47,8363,-38,8367,12422,-256,8252,-259 | |
418 | ,8243,-260,8244,-266,12381,-267,12381,-269,8248,-272 | |
419 | ,8249,-273,8241,-274,8250,-276,8239,-288,8247,-294 | |
420 | ,12381,-296,8246,-297,8245,-301,8251,-59,12381,4096 | |
421 | ,-257,8366,-262,8364,-275,8357,-278,8365,-282,8360 | |
422 | ,-60,8355,-61,8354,-62,8356,-43,8358,-45,8359 | |
423 | ,-124,8361,-42,8362,-47,8363,-38,8367,12439,12332 | |
424 | ,12325,-281,8512,4096,12358,-281,8514,4096,-58,8515 | |
425 | ,12466,12361,12435,12375,12342,12378,12392,12393,12396,12326 | |
426 | ,12327,12355,-273,8324,-276,8321,-280,8323,-290,8316 | |
427 | ,-298,8322,-43,8318,-45,8319,12368,-273,8522,4096 | |
428 | ,-257,8366,-262,8364,-275,8357,-278,8365,-282,8360 | |
429 | ,-60,8355,-61,8354,-62,8356,-43,8358,-45,8359 | |
430 | ,-124,8361,-42,8362,-47,8363,-38,8367,12433,12350 | |
431 | ,-256,8524,-267,12363,-41,12363,-59,8523,4096,12365 | |
432 | ,-44,8482,-58,8525,4096,-281,8526,4096,12466,-273 | |
433 | ,8324,-276,8321,-280,8323,-290,8316,-298,8322,-43 | |
434 | ,8318,-45,8319,12368,12367,-40,8528,4096,12366,-273 | |
435 | ,8225,-41,8531,12360,-256,8524,-267,12364,-41,12364 | |
436 | ,-59,8523,4096,-41,8532,4096,12370,12369,-1}; | |
437 | ||
438 | int yypact[] {0,1,4,7,8,13,30,33,34,41 | |
439 | ,42,43,44,63,82,101,104,109,114,119 | |
440 | ,122,125,126,155,7,158,161,162,163,166 | |
441 | ,167,170,171,176,177,178,183,184,187,188 | |
442 | ,191,192,197,198,203,204,209,210,241,244 | |
443 | ,247,268,126,269,296,269,126,299,302,269 | |
444 | ,305,308,309,312,319,322,325,328,331,348 | |
445 | ,351,366,366,395,398,399,351,366,366,402 | |
446 | ,405,406,407,210,408,435,436,441,472,269 | |
447 | ,269,473,474,475,476,477,478,479,550,269 | |
448 | ,269,553,582,583,584,589,590,597,628,633 | |
449 | ,638,639,269,670,673,700,703,673,700,704 | |
450 | ,705,706,713,716,725,728,729,730,730,739 | |
451 | ,740,741,742,743,744,747,748,751,752,761 | |
452 | ,119,762,765,768,771,774,777,780,783,784 | |
453 | ,785,788,791,794,795,796,801,802,837,838 | |
454 | ,269,269,269,861,862,867,870,871,872,873 | |
455 | ,874,875,876,877,878,879,880,881,894,907 | |
456 | ,408,908,939,940,945,946,947,210,978,210 | |
457 | ,269,269,269,210,981,269,1012,1017,1046,1047 | |
458 | ,1048,1053,1054,1057,366,1060,1065,1066,119,119 | |
459 | ,119,1071,1072,1073,1074,1075,1076,1077,351,1082 | |
460 | ,366,1099,1116,1119,1130,1131,1136,1137,1138,1139 | |
461 | ,1140,1141,269,1168,1169,1170,1171,1178,1179,1180 | |
462 | ,210,1185,1186,1215,1228,1229,1230,1231,1232,1237 | |
463 | ,1238,1239,269,1266,1267,1268,1269,1298,1329,1360 | |
464 | ,1363,1364,1393,269,1394,1395,1396,1397,1398,1399 | |
465 | ,366,1408,1413,1418,1421,1422,1423,1428,1429,1430 | |
466 | ,1431,1432,1433,1436,1437,366,1440,1441,1476,1493 | |
467 | ,1494,351,210,1495,1496,1497,1498,210,210,1527 | |
468 | ,1560,1589,1590,366,366,1591,1099,1594,1595,1598 | |
469 | ,1601,269,1602,1603,1604,1605,1606,1607,1608,1609 | |
470 | ,1610,366,1611,1612,1627,1630,1659,1660,1669,1670 | |
471 | ,1675,1678,1679,1694,1695,1612,1698,1699,1704,1713 | |
472 | ,1716,1717,-1}; | |
473 | ||
474 | int yyr1[] {0,1,2,2,5,3,3,3,8,8 | |
475 | ,8,8,9,13,13,10,10,10,10,11 | |
476 | ,11,11,11,12,12,12,12,4,4,16 | |
477 | ,16,18,17,19,19,20,20,23,23,23 | |
478 | ,23,21,21,22,22,14,14,14,14,24 | |
479 | ,24,24,24,26,26,15,15,15,15,27 | |
480 | ,27,27,28,28,28,28,30,30,31,32 | |
481 | ,32,32,34,34,33,33,33,35,35,35 | |
482 | ,36,36,36,7,7,38,39,39,39,39 | |
483 | ,40,40,40,37,37,37,37,37,37,37 | |
484 | ,37,37,37,37,37,37,37,37,37,37 | |
485 | ,37,37,43,44,44,44,44,44,44,44 | |
486 | ,44,44,44,44,44,44,44,44,44,44 | |
487 | ,44,52,52,53,53,46,46,54,54,54 | |
488 | ,54,54,54,60,60,60,60,60,61,61 | |
489 | ,56,56,42,42,47,47,47,47,47,47 | |
490 | ,47,48,48,48,48,49,49,49,49,49 | |
491 | ,49,51,51,45,45,6,6,25,29,62 | |
492 | ,55,59,57,58,41,50,-1}; | |
493 | ||
494 | int yyr2[] {0,5,6,2,3,2,2,0,1,1 | |
495 | ,1,1,3,1,3,5,5,2,2,5 | |
496 | ,5,2,2,5,5,2,2,0,2,3 | |
497 | ,5,1,5,1,1,3,0,3,4,4 | |
498 | ,2,2,0,1,3,1,1,2,2,1 | |
499 | ,1,1,1,1,3,1,2,1,2,1 | |
500 | ,3,3,6,3,3,3,1,3,2,1 | |
501 | ,3,2,0,3,0,4,6,1,3,2 | |
502 | ,0,5,4,1,2,2,1,3,1,2 | |
503 | ,3,2,0,0,3,1,4,2,1,3 | |
504 | ,5,4,4,4,6,6,2,4,6,5 | |
505 | ,4,1,4,1,3,2,2,3,3,1 | |
506 | ,1,1,1,1,1,2,4,3,2,3 | |
507 | ,2,1,3,1,3,1,1,4,4,3 | |
508 | ,3,2,2,1,3,5,2,4,1,1 | |
509 | ,1,3,1,3,1,1,1,2,2,2 | |
510 | ,1,1,1,1,1,1,1,1,1,1 | |
511 | ,1,1,1,1,3,1,3,1,1,1 | |
512 | ,1,1,1,1,1,1,-1}; | |
513 | ||
514 | int yygo[] {0,-1,1,-1,2,23,67,-1,4,67 | |
515 | ,120,-1,7,120,201,-1,19,13,31,17 | |
516 | ,40,18,42,122,206,139,216,207,270,208 | |
517 | ,271,209,272,268,206,-1,224,51,85,55 | |
518 | ,107,-1,44,-1,8,-1,10,-1,11,-1 | |
519 | ,12,-1,13,-1,34,69,123,75,149,158 | |
520 | ,240,217,274,287,240,290,313,322,240,331 | |
521 | ,240,334,240,-1,140,71,146,76,150,77 | |
522 | ,151,203,266,219,277,269,301,284,309,302 | |
523 | ,318,303,319,320,325,-1,133,-1,20,-1 | |
524 | ,22,-1,23,-1,24,-1,121,-1,202,-1 | |
525 | ,204,268,300,-1,205,126,211,127,212,-1 | |
526 | ,125,-1,128,158,238,287,238,-1,328,218 | |
527 | ,276,220,278,305,321,-1,134,137,215,-1 | |
528 | ,136,283,307,323,329,-1,138,-1,275,336 | |
529 | ,338,-1,221,-1,222,-1,280,281,306,-1 | |
530 | ,223,334,337,-1,326,331,335,-1,327,46 | |
531 | ,81,82,153,186,252,188,254,192,258,239 | |
532 | ,292,291,314,296,315,297,316,298,317,-1 | |
533 | ,45,-1,46,-1,235,287,312,-1,236,-1 | |
534 | ,48,179,247,-1,154,56,108,-1,50,52 | |
535 | ,86,54,106,58,110,88,176,89,177,98 | |
536 | ,180,99,181,100,185,111,193,113,196,116 | |
537 | ,196,159,241,160,242,161,243,189,255,190 | |
538 | ,256,191,257,194,260,231,286,250,185,251 | |
539 | ,295,262,299,310,324,-1,156,-1,103,21 | |
540 | ,61,46,61,51,61,53,104,55,61,56 | |
541 | ,61,82,61,186,61,187,253,188,61,192 | |
542 | ,61,239,61,291,61,296,61,297,61,298 | |
543 | ,61,-1,95,-1,159,-1,160,-1,161,-1 | |
544 | ,97,-1,99,-1,182,250,294,-1,184,-1 | |
545 | ,62,-1,63,116,199,-1,195,-1,64,117 | |
546 | ,200,-1,197,-1,65,230,285,-1,155,286 | |
547 | ,311,-1,232,-1,-1,-1}; | |
548 | ||
549 | int yypgo[] {0,1,3,5,9,13,17,37,43,45 | |
550 | ,47,49,51,53,55,75,97,99,101,103 | |
551 | ,105,107,109,111,115,121,123,129,137,141 | |
552 | ,147,149,153,155,157,161,165,169,191,193 | |
553 | ,195,199,201,205,209,257,259,293,295,297 | |
554 | ,299,301,303,305,309,311,313,317,319,323 | |
555 | ,325,329,333,-1}; | |
556 | ||
557 | ||
558 | yyEactr(__np__, var) | |
559 | int __np__; | |
560 | char *var; | |
561 | { | |
562 | switch(__np__) { | |
563 | default: | |
564 | return (1); | |
565 | case 177: return (identis(var, CONST)); break; | |
566 | case 179: return (identis(var, VAR)); break; | |
567 | case 180: return (identis(var, ARRAY)); break; | |
568 | case 181: return (identis(var, PTRFILE)); break; | |
569 | case 182: return (identis(var, RECORD)); break; | |
570 | case 183: return (identis(var, FIELD)); break; | |
571 | case 184: return (identis(var, PROC)); break; | |
572 | case 185: return (identis(var, FUNC)); break; | |
573 | case 135: { | |
574 | return (identis(var, VAR)); | |
575 | } | |
576 | break; | |
577 | case 178: { | |
578 | return (identis(var, TYPE)); | |
579 | } | |
580 | break; | |
581 | } | |
582 | } |