2 /*static char yysccsid[] = "from: @(#)yaccpar 1.9 (Berkeley) 02/21/93";*/
3 static char yyrcsid
[] = "$Id: skeleton.c,v 1.4 1993/12/21 18:45:32 jtc Exp $";
8 #define yyclearin (yychar=(-1))
9 #define yyerrok (yyerrflag=0)
10 #define YYRECOVERING (yyerrflag!=0)
39 void SemicolonError();
58 #define STOCHASTIC 268
59 #define INITVALUES 269
74 #define DUMMYINDEX 284
79 #define TRANSPORTALL 289
82 #define SPARSEDATA 292
83 #define WRFCONFORM 293
88 #define INITIALIZE 298
117 #define EQNGREATER 327
120 #define YYERRCODE 256
121 short yylhs
[] = { -1,
122 0, 0, 3, 3, 3, 3, 3, 3, 3, 3,
123 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
124 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
125 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
126 3, 3, 3, 3, 3, 3, 15, 15, 4, 4,
127 4, 16, 10, 10, 10, 17, 11, 11, 11, 18,
128 12, 12, 12, 19, 14, 14, 14, 20, 6, 6,
129 6, 21, 5, 5, 5, 22, 22, 23, 24, 25,
130 25, 26, 26, 7, 7, 7, 27, 8, 8, 8,
131 28, 28, 1, 1, 2, 29, 30, 31, 31, 31,
132 32, 32, 9, 9, 9, 33, 33, 13, 13,
135 1, 2, 2, 2, 2, 2, 2, 2, 2, 2,
136 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
137 2, 2, 2, 2, 2, 2, 1, 1, 1, 1,
138 1, 1, 1, 2, 2, 2, 2, 2, 2, 4,
139 2, 2, 2, 2, 2, 2, 2, 1, 3, 2,
140 2, 1, 3, 2, 2, 1, 3, 2, 2, 1,
141 3, 2, 2, 1, 3, 2, 2, 1, 3, 2,
142 2, 1, 3, 2, 2, 1, 1, 3, 1, 3,
143 1, 2, 1, 3, 2, 2, 3, 3, 2, 2,
144 4, 3, 2, 1, 3, 2, 2, 3, 2, 1,
145 2, 1, 3, 2, 2, 3, 3, 2, 1,
147 short yydefred
[] = { 0,
148 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
149 0, 0, 0, 0, 0, 0, 0, 27, 0, 0,
150 0, 0, 0, 28, 0, 29, 0, 0, 0, 30,
151 31, 32, 33, 0, 0, 0, 0, 0, 0, 0,
152 0, 0, 0, 0, 0, 3, 6, 11, 0, 0,
153 0, 0, 76, 77, 0, 0, 0, 72, 0, 0,
154 0, 0, 4, 5, 12, 0, 0, 0, 0, 0,
155 102, 0, 0, 0, 0, 0, 0, 0, 0, 100,
156 0, 0, 0, 0, 0, 52, 0, 0, 0, 7,
157 8, 9, 10, 0, 56, 0, 0, 0, 64, 0,
158 0, 0, 60, 0, 0, 0, 68, 0, 0, 46,
159 36, 37, 38, 39, 34, 35, 42, 43, 44, 41,
160 0, 2, 48, 0, 0, 0, 0, 0, 0, 0,
161 0, 0, 0, 0, 0, 99, 101, 0, 0, 0,
162 0, 0, 0, 96, 0, 0, 0, 0, 0, 0,
163 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
164 0, 0, 0, 0, 0, 109, 0, 47, 83, 0,
165 0, 81, 0, 0, 87, 0, 95, 0, 0, 0,
166 92, 97, 98, 107, 106, 0, 0, 0, 0, 0,
167 0, 40, 108, 82, 0, 91, 93, 80,
169 short yydgoto
[] = { 44,
170 181, 75, 45, 87, 51, 59, 68, 76, 83, 96,
171 104, 100, 167, 108, 124, 88, 97, 105, 101, 109,
172 60, 52, 53, 54, 171, 172, 69, 77, 78, 142,
175 short yysindex
[] = { -139,
176 -285, -278, -271, -240, -240, -240, -253, -253, -253, -226,
177 -219, -212, -243, -249, -248, -237, -237, 0, -211, -210,
178 -209, -207, -246, 0, -251, 0, -242, -256, -204, 0,
179 0, 0, 0, -203, -201, -200, -198, -197, -195, -194,
180 -192, -176, -250, 0, -139, 0, 0, 0, -3, -215,
181 -175, -3, 0, 0, -175, -175, -3, 0, -265, -3,
182 -265, -265, 0, 0, 0, -3, -138, -174, -3, -3,
183 0, -288, -177, -188, -227, -270, -3, -227, -247, 0,
184 -3, -228, -178, -3, -3, 0, -150, -3, -150, 0,
185 0, 0, 0, -3, 0, -149, -3, -3, 0, -158,
186 -3, -3, 0, -148, -3, -3, 0, -157, -3, 0,
187 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
188 -147, 0, 0, 115, -290, -3, 115, 115, -3, 115,
189 115, -137, -3, 115, 115, 0, 0, -146, -227, -3,
190 115, -136, -263, 0, -288, 115, -140, -178, -3, 115,
191 115, -3, 115, 115, -3, 115, 115, -3, 115, 115,
192 -3, 115, 115, -3, 115, 0, -291, 0, 0, -132,
193 -98, 0, 115, 115, 0, 115, 0, -136, 115, -136,
194 0, 0, 0, 0, 0, 115, 115, 115, 115, 115,
195 115, 0, 0, 0, -290, 0, 0, 0,
197 short yyrindex
[] = { 0,
198 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
199 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
200 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
201 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
202 0, 0, 0, 0, 182, 0, 0, 0, 0, 124,
203 1996, 0, 0, 0, 2047, 2100, 0, 0, 2153, 0,
204 2204, 2268, 0, 0, 0, 0, 0, 2319, 0, 0,
205 0, 0, 0, 0, 0, 2372, 0, 0, 0, 0,
206 0, 0, 2425, 0, 0, 0, 2476, 0, 2540, 0,
207 0, 0, 0, 0, 0, 2591, 0, 0, 0, 2644,
208 0, 0, 0, 2697, 0, 0, 0, 2748, 0, 0,
209 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
210 0, 0, 0, 1792, 0, 0, 1860, 567, 0, 636,
211 1588, 0, 0, 1655, 328, 0, 0, 0, 0, 0,
212 426, 0, 0, 0, 0, 1383, 0, 0, 0, 1452,
213 1180, 0, 1248, 976, 0, 1044, 154, 0, 205, 772,
214 0, 839, 1, 0, 52, 0, 0, 0, 0, 0,
215 125, 0, 1927, 704, 0, 1724, 0, 0, 498, 126,
216 0, 0, 0, 0, 0, 1520, 1316, 1111, 256, 908,
217 103, 0, 0, 0, 0, 0, 0, 0,
219 short yygindex
[] = { 141,
220 -118, 0, 0, 170, 88, 87, 0, 0, 0, 0,
221 0, 0, 0, 0, -48, 2, 92, 85, 90, 83,
222 -20, -21, 0, 0, 0, -2, 127, 116, 119, 57,
225 #define YYTABLESIZE 3055
226 short yytable
[] = { 106,
227 67, 136, 57, 127, 98, 120, 70, 81, 128, 94,
228 182, 130, 66, 102, 149, 49, 192, 131, 85, 169,
229 134, 135, 143, 46, 71, 144, 73, 170, 141, 126,
230 47, 193, 146, 126, 126, 150, 151, 48, 129, 153,
231 129, 129, 71, 72, 73, 154, 147, 148, 156, 157,
232 145, 66, 159, 160, 74, 123, 162, 163, 58, 196,
233 165, 197, 125, 71, 72, 73, 145, 67, 82, 50,
234 58, 121, 107, 95, 183, 74, 99, 173, 103, 185,
235 174, 86, 63, 143, 176, 71, 72, 73, 152, 64,
236 152, 179, 55, 56, 61, 62, 65, 90, 91, 92,
237 186, 93, 65, 187, 110, 111, 188, 112, 113, 189,
238 114, 115, 190, 116, 117, 191, 118, 1, 2, 3,
239 4, 5, 6, 7, 8, 9, 10, 11, 12, 13,
240 14, 15, 119, 132, 50, 137, 67, 138, 82, 16,
241 17, 18, 19, 20, 21, 22, 23, 24, 25, 26,
242 27, 28, 29, 63, 30, 31, 32, 33, 34, 35,
243 36, 37, 38, 39, 40, 41, 42, 43, 86, 99,
244 95, 107, 103, 168, 175, 166, 184, 194, 195, 180,
245 177, 1, 79, 78, 94, 122, 89, 155, 161, 158,
246 164, 140, 198, 139, 133, 178, 0, 0, 0, 0,
247 0, 0, 0, 0, 62, 0, 0, 0, 0, 0,
248 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
249 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
250 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
251 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
252 0, 0, 0, 0, 0, 61, 0, 67, 67, 67,
253 67, 67, 67, 67, 67, 67, 67, 67, 67, 67,
254 67, 67, 0, 0, 0, 0, 0, 0, 0, 67,
255 67, 67, 67, 67, 67, 67, 67, 67, 67, 67,
256 67, 67, 67, 0, 67, 67, 67, 67, 67, 67,
257 67, 67, 67, 67, 67, 67, 67, 67, 66, 66,
258 66, 66, 66, 66, 66, 66, 66, 66, 66, 66,
259 66, 66, 66, 0, 0, 0, 0, 90, 0, 67,
260 66, 66, 66, 66, 66, 66, 66, 66, 66, 66,
261 66, 66, 66, 66, 0, 66, 66, 66, 66, 66,
262 66, 66, 66, 66, 66, 66, 66, 66, 66, 65,
263 65, 65, 65, 65, 65, 65, 65, 65, 65, 65,
264 65, 65, 65, 65, 0, 0, 0, 0, 0, 0,
265 66, 65, 65, 65, 65, 65, 65, 65, 65, 65,
266 65, 65, 65, 65, 65, 0, 65, 65, 65, 65,
267 65, 65, 65, 65, 65, 65, 65, 65, 65, 65,
268 63, 63, 63, 63, 63, 63, 63, 63, 63, 63,
269 63, 63, 63, 63, 63, 89, 0, 0, 0, 0,
270 0, 65, 63, 63, 63, 63, 63, 63, 63, 63,
271 63, 63, 63, 63, 63, 63, 0, 63, 63, 63,
272 63, 63, 63, 63, 63, 63, 63, 63, 63, 63,
273 63, 62, 62, 62, 62, 62, 62, 62, 62, 62,
274 62, 62, 62, 62, 62, 62, 0, 0, 0, 0,
275 0, 63, 0, 62, 62, 62, 62, 62, 62, 62,
276 62, 62, 62, 62, 62, 62, 62, 88, 62, 62,
277 62, 62, 62, 62, 62, 62, 62, 62, 62, 62,
278 62, 62, 61, 61, 61, 61, 61, 61, 61, 61,
279 61, 61, 61, 61, 61, 61, 61, 0, 0, 0,
280 0, 0, 62, 0, 61, 61, 61, 61, 61, 61,
281 61, 61, 61, 61, 61, 61, 61, 61, 0, 61,
282 61, 61, 61, 61, 61, 61, 61, 61, 61, 61,
283 61, 61, 61, 0, 0, 0, 71, 0, 0, 0,
284 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
285 0, 0, 0, 61, 90, 90, 90, 90, 90, 90,
286 90, 90, 90, 90, 90, 90, 90, 90, 90, 0,
287 0, 0, 0, 0, 0, 0, 90, 90, 90, 90,
288 90, 90, 90, 90, 90, 90, 90, 90, 90, 90,
289 0, 90, 90, 90, 90, 90, 90, 90, 90, 90,
290 90, 90, 90, 90, 90, 70, 0, 0, 0, 0,
291 90, 90, 90, 0, 0, 0, 0, 0, 0, 0,
292 0, 0, 90, 0, 0, 0, 0, 0, 0, 0,
293 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
294 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
295 0, 0, 89, 89, 89, 89, 89, 89, 89, 89,
296 89, 89, 89, 89, 89, 89, 89, 0, 0, 0,
297 0, 0, 0, 69, 89, 89, 89, 89, 89, 89,
298 89, 89, 89, 89, 89, 89, 89, 89, 0, 89,
299 89, 89, 89, 89, 89, 89, 89, 89, 89, 89,
300 89, 89, 89, 0, 0, 0, 0, 0, 89, 89,
301 89, 0, 0, 0, 0, 0, 0, 0, 0, 0,
302 89, 0, 0, 0, 88, 88, 88, 88, 88, 88,
303 88, 88, 88, 88, 88, 88, 88, 88, 88, 0,
304 0, 59, 0, 0, 0, 0, 88, 88, 88, 88,
305 88, 88, 88, 88, 88, 88, 88, 88, 88, 88,
306 0, 88, 88, 88, 88, 88, 88, 88, 88, 88,
307 88, 88, 88, 88, 88, 0, 0, 0, 0, 0,
308 88, 88, 88, 0, 0, 0, 0, 0, 0, 0,
309 0, 0, 88, 71, 71, 71, 71, 71, 71, 71,
310 71, 71, 71, 71, 71, 71, 71, 71, 58, 0,
311 0, 0, 0, 0, 0, 71, 71, 71, 71, 71,
312 71, 71, 71, 71, 71, 71, 71, 71, 71, 0,
313 71, 71, 71, 71, 71, 71, 71, 71, 71, 71,
314 71, 71, 71, 71, 0, 0, 0, 0, 0, 0,
315 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
316 71, 0, 70, 70, 70, 70, 70, 70, 70, 70,
317 70, 70, 70, 70, 70, 70, 70, 57, 0, 0,
318 0, 0, 0, 0, 70, 70, 70, 70, 70, 70,
319 70, 70, 70, 70, 70, 70, 70, 70, 0, 70,
320 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
321 70, 70, 70, 0, 0, 0, 0, 0, 0, 0,
322 0, 0, 0, 0, 0, 0, 0, 0, 0, 70,
323 69, 69, 69, 69, 69, 69, 69, 69, 69, 69,
324 69, 69, 69, 69, 69, 55, 0, 0, 0, 0,
325 0, 0, 69, 69, 69, 69, 69, 69, 69, 69,
326 69, 69, 69, 69, 69, 69, 0, 69, 69, 69,
327 69, 69, 69, 69, 69, 69, 69, 69, 69, 69,
328 69, 0, 0, 0, 0, 0, 0, 0, 0, 0,
329 0, 0, 0, 0, 0, 0, 0, 69, 59, 59,
330 59, 59, 59, 59, 59, 59, 59, 59, 59, 59,
331 59, 59, 59, 54, 0, 0, 0, 0, 0, 0,
332 59, 59, 59, 59, 59, 59, 59, 59, 59, 59,
333 59, 59, 59, 59, 0, 59, 59, 59, 59, 59,
334 59, 59, 59, 59, 59, 59, 59, 59, 59, 0,
335 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
336 0, 0, 59, 0, 0, 58, 58, 58, 58, 58,
337 58, 58, 58, 58, 58, 58, 58, 58, 58, 58,
338 53, 0, 0, 0, 0, 0, 0, 58, 58, 58,
339 58, 58, 58, 58, 58, 58, 58, 58, 58, 58,
340 58, 0, 58, 58, 58, 58, 58, 58, 58, 58,
341 58, 58, 58, 58, 58, 58, 0, 0, 0, 0,
342 0, 0, 0, 0, 0, 0, 0, 0, 0, 58,
343 0, 0, 0, 0, 57, 57, 57, 57, 57, 57,
344 57, 57, 57, 57, 57, 57, 57, 57, 57, 51,
345 0, 0, 0, 0, 0, 0, 57, 57, 57, 57,
346 57, 57, 57, 57, 57, 57, 57, 57, 57, 57,
347 0, 57, 57, 57, 57, 57, 57, 57, 57, 57,
348 57, 57, 57, 57, 57, 0, 0, 0, 0, 0,
349 0, 0, 0, 0, 0, 0, 0, 0, 57, 0,
350 0, 0, 55, 55, 55, 55, 55, 55, 55, 55,
351 55, 55, 55, 55, 55, 55, 55, 50, 0, 0,
352 0, 0, 0, 0, 55, 55, 55, 55, 55, 55,
353 55, 55, 55, 55, 55, 55, 55, 55, 0, 55,
354 55, 55, 55, 55, 55, 55, 55, 55, 55, 55,
355 55, 55, 55, 0, 0, 0, 0, 0, 0, 0,
356 0, 0, 0, 0, 0, 55, 0, 0, 0, 0,
357 54, 54, 54, 54, 54, 54, 54, 54, 54, 54,
358 54, 54, 54, 54, 54, 49, 0, 0, 0, 0,
359 0, 0, 54, 54, 54, 54, 54, 54, 54, 54,
360 54, 54, 54, 54, 54, 54, 0, 54, 54, 54,
361 54, 54, 54, 54, 54, 54, 54, 54, 54, 54,
362 54, 0, 0, 0, 0, 0, 0, 0, 0, 0,
363 0, 0, 0, 54, 0, 0, 0, 53, 53, 53,
364 53, 53, 53, 53, 53, 53, 53, 53, 53, 53,
365 53, 53, 105, 0, 0, 0, 0, 0, 0, 53,
366 53, 53, 53, 53, 53, 53, 53, 53, 53, 53,
367 53, 53, 53, 0, 53, 53, 53, 53, 53, 53,
368 53, 53, 53, 53, 53, 53, 53, 53, 0, 0,
369 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
370 53, 0, 0, 0, 0, 0, 51, 51, 51, 51,
371 51, 51, 51, 51, 51, 51, 51, 51, 51, 51,
372 51, 104, 0, 0, 0, 0, 0, 0, 51, 51,
373 51, 51, 51, 51, 51, 51, 51, 51, 51, 51,
374 51, 51, 0, 51, 51, 51, 51, 51, 51, 51,
375 51, 51, 51, 51, 51, 51, 51, 0, 0, 0,
376 0, 0, 0, 0, 0, 0, 0, 0, 51, 0,
377 0, 0, 0, 0, 50, 50, 50, 50, 50, 50,
378 50, 50, 50, 50, 50, 50, 50, 50, 50, 103,
379 0, 0, 0, 0, 0, 0, 50, 50, 50, 50,
380 50, 50, 50, 50, 50, 50, 50, 50, 50, 50,
381 0, 50, 50, 50, 50, 50, 50, 50, 50, 50,
382 50, 50, 50, 50, 50, 0, 0, 0, 0, 0,
383 0, 0, 0, 0, 0, 0, 50, 0, 0, 0,
384 0, 0, 49, 49, 49, 49, 49, 49, 49, 49,
385 49, 49, 49, 49, 49, 49, 49, 86, 0, 0,
386 0, 0, 0, 0, 49, 49, 49, 49, 49, 49,
387 49, 49, 49, 49, 49, 49, 49, 49, 0, 49,
388 49, 49, 49, 49, 49, 49, 49, 49, 49, 49,
389 49, 49, 49, 0, 0, 0, 0, 0, 0, 0,
390 0, 0, 0, 0, 49, 0, 0, 0, 0, 105,
391 105, 105, 105, 105, 105, 105, 105, 105, 105, 105,
392 105, 105, 105, 105, 85, 0, 0, 0, 0, 0,
393 0, 105, 105, 105, 105, 105, 105, 105, 105, 105,
394 105, 105, 105, 105, 105, 0, 105, 105, 105, 105,
395 105, 105, 105, 105, 105, 105, 105, 105, 105, 105,
396 0, 0, 0, 0, 0, 0, 0, 0, 0, 105,
397 0, 0, 0, 0, 0, 0, 0, 0, 104, 104,
398 104, 104, 104, 104, 104, 104, 104, 104, 104, 104,
399 104, 104, 104, 84, 0, 0, 0, 0, 0, 0,
400 104, 104, 104, 104, 104, 104, 104, 104, 104, 104,
401 104, 104, 104, 104, 0, 104, 104, 104, 104, 104,
402 104, 104, 104, 104, 104, 104, 104, 104, 104, 0,
403 0, 0, 0, 0, 0, 0, 0, 0, 104, 0,
404 0, 0, 0, 0, 0, 0, 103, 103, 103, 103,
405 103, 103, 103, 103, 103, 103, 103, 103, 103, 103,
406 103, 75, 0, 0, 0, 0, 0, 0, 103, 103,
407 103, 103, 103, 103, 103, 103, 103, 103, 103, 103,
408 103, 103, 0, 103, 103, 103, 103, 103, 103, 103,
409 103, 103, 103, 103, 103, 103, 103, 0, 0, 0,
410 0, 0, 0, 0, 0, 0, 103, 0, 0, 0,
411 0, 0, 0, 0, 86, 86, 86, 86, 86, 86,
412 86, 86, 86, 86, 86, 86, 86, 86, 86, 74,
413 0, 0, 0, 0, 0, 0, 86, 86, 86, 86,
414 86, 86, 86, 86, 86, 86, 86, 86, 86, 86,
415 0, 86, 86, 86, 86, 86, 86, 86, 86, 86,
416 86, 86, 86, 86, 86, 0, 0, 0, 86, 0,
417 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
418 0, 85, 85, 85, 85, 85, 85, 85, 85, 85,
419 85, 85, 85, 85, 85, 85, 73, 0, 0, 0,
420 0, 0, 0, 85, 85, 85, 85, 85, 85, 85,
421 85, 85, 85, 85, 85, 85, 85, 0, 85, 85,
422 85, 85, 85, 85, 85, 85, 85, 85, 85, 85,
423 85, 85, 0, 0, 0, 85, 0, 0, 0, 0,
424 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
425 84, 84, 84, 84, 84, 84, 84, 84, 84, 84,
426 84, 84, 84, 84, 84, 15, 0, 0, 0, 0,
427 0, 0, 84, 84, 84, 84, 84, 84, 84, 84,
428 84, 84, 84, 84, 84, 84, 0, 84, 84, 84,
429 84, 84, 84, 84, 84, 84, 84, 84, 84, 84,
430 84, 0, 0, 0, 84, 0, 0, 0, 0, 0,
431 0, 0, 0, 0, 0, 0, 16, 0, 75, 75,
432 75, 75, 75, 75, 75, 75, 75, 75, 75, 75,
433 75, 75, 75, 0, 0, 0, 0, 0, 0, 0,
434 75, 75, 75, 75, 75, 75, 75, 75, 75, 75,
435 75, 75, 75, 75, 0, 75, 75, 75, 75, 75,
436 75, 75, 75, 75, 75, 75, 75, 75, 75, 17,
437 0, 75, 0, 0, 0, 0, 0, 0, 0, 0,
438 0, 0, 0, 0, 0, 0, 74, 74, 74, 74,
439 74, 74, 74, 74, 74, 74, 74, 74, 74, 74,
440 74, 0, 0, 0, 0, 0, 0, 0, 74, 74,
441 74, 74, 74, 74, 74, 74, 74, 74, 74, 74,
442 74, 74, 18, 74, 74, 74, 74, 74, 74, 74,
443 74, 74, 74, 74, 74, 74, 74, 0, 0, 74,
444 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
445 0, 0, 0, 73, 73, 73, 73, 73, 73, 73,
446 73, 73, 73, 73, 73, 73, 73, 73, 0, 0,
447 0, 0, 0, 19, 0, 73, 73, 73, 73, 73,
448 73, 73, 73, 73, 73, 73, 73, 73, 73, 0,
449 73, 73, 73, 73, 73, 73, 73, 73, 73, 73,
450 73, 73, 73, 73, 0, 0, 73, 0, 0, 0,
451 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
452 0, 0, 15, 15, 15, 15, 15, 15, 15, 15,
453 15, 15, 15, 15, 15, 15, 15, 20, 0, 0,
454 0, 0, 0, 0, 15, 15, 15, 15, 15, 15,
455 15, 15, 15, 15, 15, 15, 15, 15, 0, 15,
456 15, 15, 15, 15, 15, 15, 15, 15, 15, 15,
457 15, 15, 15, 16, 16, 16, 16, 16, 16, 16,
458 16, 16, 16, 16, 16, 16, 16, 16, 21, 0,
459 0, 0, 0, 0, 0, 16, 16, 16, 16, 16,
460 16, 16, 16, 16, 16, 16, 16, 16, 16, 0,
461 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
462 16, 16, 16, 16, 0, 0, 17, 17, 17, 17,
463 17, 17, 17, 17, 17, 17, 17, 17, 17, 17,
464 17, 22, 0, 0, 0, 0, 0, 0, 17, 17,
465 17, 17, 17, 17, 17, 17, 17, 17, 17, 17,
466 17, 17, 0, 17, 17, 17, 17, 17, 17, 17,
467 17, 17, 17, 17, 17, 17, 17, 0, 0, 18,
468 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,
469 18, 18, 18, 18, 23, 0, 0, 0, 0, 0,
470 0, 18, 18, 18, 18, 18, 18, 18, 18, 18,
471 18, 18, 18, 18, 18, 0, 18, 18, 18, 18,
472 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,
473 19, 19, 19, 19, 19, 19, 19, 19, 19, 19,
474 19, 19, 19, 19, 19, 13, 0, 0, 0, 0,
475 0, 0, 19, 19, 19, 19, 19, 19, 19, 19,
476 19, 19, 19, 19, 19, 19, 0, 19, 19, 19,
477 19, 19, 19, 19, 19, 19, 19, 19, 19, 19,
478 19, 0, 0, 0, 0, 0, 0, 0, 0, 0,
479 0, 0, 0, 0, 20, 20, 20, 20, 20, 20,
480 20, 20, 20, 20, 20, 20, 20, 20, 20, 14,
481 0, 0, 0, 0, 0, 0, 20, 20, 20, 20,
482 20, 20, 20, 20, 20, 20, 20, 20, 20, 20,
483 0, 20, 20, 20, 20, 20, 20, 20, 20, 20,
484 20, 20, 20, 20, 20, 21, 21, 21, 21, 21,
485 21, 21, 21, 21, 21, 21, 21, 21, 21, 21,
486 24, 0, 0, 0, 0, 0, 0, 21, 21, 21,
487 21, 21, 21, 21, 21, 21, 21, 21, 21, 21,
488 21, 0, 21, 21, 21, 21, 21, 21, 21, 21,
489 21, 21, 21, 21, 21, 21, 0, 0, 22, 22,
490 22, 22, 22, 22, 22, 22, 22, 22, 22, 22,
491 22, 22, 22, 26, 0, 0, 0, 0, 0, 0,
492 22, 22, 22, 22, 22, 22, 22, 22, 22, 22,
493 22, 22, 22, 22, 0, 22, 22, 22, 22, 22,
494 22, 22, 22, 22, 22, 22, 22, 22, 22, 0,
495 0, 23, 23, 23, 23, 23, 23, 23, 23, 23,
496 23, 23, 23, 23, 23, 23, 25, 0, 0, 0,
497 0, 0, 0, 23, 23, 23, 23, 23, 23, 23,
498 23, 23, 23, 23, 23, 23, 23, 0, 23, 23,
499 23, 23, 23, 23, 23, 23, 23, 23, 23, 23,
500 23, 23, 13, 13, 13, 13, 13, 13, 13, 13,
501 13, 13, 13, 13, 13, 13, 13, 45, 0, 0,
502 0, 0, 0, 0, 13, 13, 13, 13, 13, 13,
503 13, 13, 13, 13, 13, 13, 13, 13, 0, 13,
504 13, 13, 13, 13, 13, 13, 13, 13, 13, 13,
505 13, 13, 13, 0, 0, 0, 0, 0, 0, 0,
506 0, 0, 0, 0, 0, 0, 14, 14, 14, 14,
507 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
508 14, 0, 0, 0, 0, 0, 0, 0, 14, 14,
509 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
510 14, 14, 0, 14, 14, 14, 14, 14, 14, 14,
511 14, 14, 14, 14, 14, 14, 14, 24, 24, 24,
512 24, 24, 24, 24, 24, 24, 24, 24, 24, 24,
513 24, 24, 0, 0, 0, 0, 0, 0, 0, 24,
514 24, 24, 24, 24, 24, 24, 24, 24, 24, 24,
515 24, 24, 24, 0, 24, 24, 24, 24, 24, 24,
516 24, 24, 24, 24, 24, 24, 24, 24, 0, 0,
517 26, 26, 26, 26, 26, 26, 26, 26, 26, 26,
518 26, 26, 26, 26, 26, 0, 0, 0, 0, 0,
519 0, 0, 26, 26, 26, 26, 26, 26, 26, 26,
520 26, 26, 26, 26, 26, 26, 0, 26, 26, 26,
521 26, 26, 26, 26, 26, 26, 26, 26, 26, 26,
522 26, 0, 0, 25, 25, 25, 25, 25, 25, 25,
523 25, 25, 25, 25, 25, 25, 25, 25, 0, 0,
524 0, 0, 0, 0, 0, 25, 25, 25, 25, 25,
525 25, 25, 25, 25, 25, 25, 25, 25, 25, 0,
526 25, 25, 25, 25, 25, 25, 25, 25, 25, 25,
527 25, 25, 25, 25, 45, 45, 45, 45, 45, 45,
528 45, 45, 45, 45, 45, 45, 45, 45, 45, 0,
529 0, 0, 0, 0, 0, 0, 45, 45, 45, 45,
530 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
531 0, 45, 45, 45, 45, 45, 45, 45, 45, 45,
534 short yycheck
[] = { 256,
535 0, 72, 256, 52, 256, 256, 256, 256, 57, 256,
536 274, 60, 256, 256, 83, 256, 308, 66, 256, 310,
537 69, 70, 78, 309, 313, 273, 315, 318, 77, 51,
538 309, 323, 81, 55, 56, 84, 85, 309, 59, 88,
539 61, 62, 313, 314, 315, 94, 275, 276, 97, 98,
540 314, 0, 101, 102, 325, 59, 105, 106, 324, 178,
541 109, 180, 278, 313, 314, 315, 314, 311, 317, 310,
542 324, 322, 329, 320, 145, 325, 328, 126, 321, 148,
543 129, 319, 309, 139, 133, 313, 314, 315, 87, 309,
544 89, 140, 5, 6, 8, 9, 309, 309, 309, 309,
545 149, 309, 0, 152, 309, 309, 155, 309, 309, 158,
546 309, 309, 161, 309, 309, 164, 309, 257, 258, 259,
547 260, 261, 262, 263, 264, 265, 266, 267, 268, 269,
548 270, 271, 309, 272, 310, 313, 311, 326, 317, 279,
549 280, 281, 282, 283, 284, 285, 286, 287, 288, 289,
550 290, 291, 292, 0, 294, 295, 296, 297, 298, 299,
551 300, 301, 302, 303, 304, 305, 306, 307, 319, 328,
552 320, 329, 321, 59, 312, 323, 317, 310, 277, 316,
553 327, 0, 59, 59, 59, 45, 17, 96, 104, 100,
554 108, 76, 195, 75, 68, 139, -1, -1, -1, -1,
555 -1, -1, -1, -1, 0, -1, -1, -1, -1, -1,
556 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
557 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
558 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
559 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
560 -1, -1, -1, -1, -1, 0, -1, 257, 258, 259,
561 260, 261, 262, 263, 264, 265, 266, 267, 268, 269,
562 270, 271, -1, -1, -1, -1, -1, -1, -1, 279,
563 280, 281, 282, 283, 284, 285, 286, 287, 288, 289,
564 290, 291, 292, -1, 294, 295, 296, 297, 298, 299,
565 300, 301, 302, 303, 304, 305, 306, 307, 257, 258,
566 259, 260, 261, 262, 263, 264, 265, 266, 267, 268,
567 269, 270, 271, -1, -1, -1, -1, 0, -1, 329,
568 279, 280, 281, 282, 283, 284, 285, 286, 287, 288,
569 289, 290, 291, 292, -1, 294, 295, 296, 297, 298,
570 299, 300, 301, 302, 303, 304, 305, 306, 307, 257,
571 258, 259, 260, 261, 262, 263, 264, 265, 266, 267,
572 268, 269, 270, 271, -1, -1, -1, -1, -1, -1,
573 329, 279, 280, 281, 282, 283, 284, 285, 286, 287,
574 288, 289, 290, 291, 292, -1, 294, 295, 296, 297,
575 298, 299, 300, 301, 302, 303, 304, 305, 306, 307,
576 257, 258, 259, 260, 261, 262, 263, 264, 265, 266,
577 267, 268, 269, 270, 271, 0, -1, -1, -1, -1,
578 -1, 329, 279, 280, 281, 282, 283, 284, 285, 286,
579 287, 288, 289, 290, 291, 292, -1, 294, 295, 296,
580 297, 298, 299, 300, 301, 302, 303, 304, 305, 306,
581 307, 257, 258, 259, 260, 261, 262, 263, 264, 265,
582 266, 267, 268, 269, 270, 271, -1, -1, -1, -1,
583 -1, 328, -1, 279, 280, 281, 282, 283, 284, 285,
584 286, 287, 288, 289, 290, 291, 292, 0, 294, 295,
585 296, 297, 298, 299, 300, 301, 302, 303, 304, 305,
586 306, 307, 257, 258, 259, 260, 261, 262, 263, 264,
587 265, 266, 267, 268, 269, 270, 271, -1, -1, -1,
588 -1, -1, 328, -1, 279, 280, 281, 282, 283, 284,
589 285, 286, 287, 288, 289, 290, 291, 292, -1, 294,
590 295, 296, 297, 298, 299, 300, 301, 302, 303, 304,
591 305, 306, 307, -1, -1, -1, 0, -1, -1, -1,
592 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
593 -1, -1, -1, 328, 257, 258, 259, 260, 261, 262,
594 263, 264, 265, 266, 267, 268, 269, 270, 271, -1,
595 -1, -1, -1, -1, -1, -1, 279, 280, 281, 282,
596 283, 284, 285, 286, 287, 288, 289, 290, 291, 292,
597 -1, 294, 295, 296, 297, 298, 299, 300, 301, 302,
598 303, 304, 305, 306, 307, 0, -1, -1, -1, -1,
599 313, 314, 315, -1, -1, -1, -1, -1, -1, -1,
600 -1, -1, 325, -1, -1, -1, -1, -1, -1, -1,
601 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
602 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
603 -1, -1, 257, 258, 259, 260, 261, 262, 263, 264,
604 265, 266, 267, 268, 269, 270, 271, -1, -1, -1,
605 -1, -1, -1, 0, 279, 280, 281, 282, 283, 284,
606 285, 286, 287, 288, 289, 290, 291, 292, -1, 294,
607 295, 296, 297, 298, 299, 300, 301, 302, 303, 304,
608 305, 306, 307, -1, -1, -1, -1, -1, 313, 314,
609 315, -1, -1, -1, -1, -1, -1, -1, -1, -1,
610 325, -1, -1, -1, 257, 258, 259, 260, 261, 262,
611 263, 264, 265, 266, 267, 268, 269, 270, 271, -1,
612 -1, 0, -1, -1, -1, -1, 279, 280, 281, 282,
613 283, 284, 285, 286, 287, 288, 289, 290, 291, 292,
614 -1, 294, 295, 296, 297, 298, 299, 300, 301, 302,
615 303, 304, 305, 306, 307, -1, -1, -1, -1, -1,
616 313, 314, 315, -1, -1, -1, -1, -1, -1, -1,
617 -1, -1, 325, 257, 258, 259, 260, 261, 262, 263,
618 264, 265, 266, 267, 268, 269, 270, 271, 0, -1,
619 -1, -1, -1, -1, -1, 279, 280, 281, 282, 283,
620 284, 285, 286, 287, 288, 289, 290, 291, 292, -1,
621 294, 295, 296, 297, 298, 299, 300, 301, 302, 303,
622 304, 305, 306, 307, -1, -1, -1, -1, -1, -1,
623 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
624 324, -1, 257, 258, 259, 260, 261, 262, 263, 264,
625 265, 266, 267, 268, 269, 270, 271, 0, -1, -1,
626 -1, -1, -1, -1, 279, 280, 281, 282, 283, 284,
627 285, 286, 287, 288, 289, 290, 291, 292, -1, 294,
628 295, 296, 297, 298, 299, 300, 301, 302, 303, 304,
629 305, 306, 307, -1, -1, -1, -1, -1, -1, -1,
630 -1, -1, -1, -1, -1, -1, -1, -1, -1, 324,
631 257, 258, 259, 260, 261, 262, 263, 264, 265, 266,
632 267, 268, 269, 270, 271, 0, -1, -1, -1, -1,
633 -1, -1, 279, 280, 281, 282, 283, 284, 285, 286,
634 287, 288, 289, 290, 291, 292, -1, 294, 295, 296,
635 297, 298, 299, 300, 301, 302, 303, 304, 305, 306,
636 307, -1, -1, -1, -1, -1, -1, -1, -1, -1,
637 -1, -1, -1, -1, -1, -1, -1, 324, 257, 258,
638 259, 260, 261, 262, 263, 264, 265, 266, 267, 268,
639 269, 270, 271, 0, -1, -1, -1, -1, -1, -1,
640 279, 280, 281, 282, 283, 284, 285, 286, 287, 288,
641 289, 290, 291, 292, -1, 294, 295, 296, 297, 298,
642 299, 300, 301, 302, 303, 304, 305, 306, 307, -1,
643 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
644 -1, -1, 321, -1, -1, 257, 258, 259, 260, 261,
645 262, 263, 264, 265, 266, 267, 268, 269, 270, 271,
646 0, -1, -1, -1, -1, -1, -1, 279, 280, 281,
647 282, 283, 284, 285, 286, 287, 288, 289, 290, 291,
648 292, -1, 294, 295, 296, 297, 298, 299, 300, 301,
649 302, 303, 304, 305, 306, 307, -1, -1, -1, -1,
650 -1, -1, -1, -1, -1, -1, -1, -1, -1, 321,
651 -1, -1, -1, -1, 257, 258, 259, 260, 261, 262,
652 263, 264, 265, 266, 267, 268, 269, 270, 271, 0,
653 -1, -1, -1, -1, -1, -1, 279, 280, 281, 282,
654 283, 284, 285, 286, 287, 288, 289, 290, 291, 292,
655 -1, 294, 295, 296, 297, 298, 299, 300, 301, 302,
656 303, 304, 305, 306, 307, -1, -1, -1, -1, -1,
657 -1, -1, -1, -1, -1, -1, -1, -1, 321, -1,
658 -1, -1, 257, 258, 259, 260, 261, 262, 263, 264,
659 265, 266, 267, 268, 269, 270, 271, 0, -1, -1,
660 -1, -1, -1, -1, 279, 280, 281, 282, 283, 284,
661 285, 286, 287, 288, 289, 290, 291, 292, -1, 294,
662 295, 296, 297, 298, 299, 300, 301, 302, 303, 304,
663 305, 306, 307, -1, -1, -1, -1, -1, -1, -1,
664 -1, -1, -1, -1, -1, 320, -1, -1, -1, -1,
665 257, 258, 259, 260, 261, 262, 263, 264, 265, 266,
666 267, 268, 269, 270, 271, 0, -1, -1, -1, -1,
667 -1, -1, 279, 280, 281, 282, 283, 284, 285, 286,
668 287, 288, 289, 290, 291, 292, -1, 294, 295, 296,
669 297, 298, 299, 300, 301, 302, 303, 304, 305, 306,
670 307, -1, -1, -1, -1, -1, -1, -1, -1, -1,
671 -1, -1, -1, 320, -1, -1, -1, 257, 258, 259,
672 260, 261, 262, 263, 264, 265, 266, 267, 268, 269,
673 270, 271, 0, -1, -1, -1, -1, -1, -1, 279,
674 280, 281, 282, 283, 284, 285, 286, 287, 288, 289,
675 290, 291, 292, -1, 294, 295, 296, 297, 298, 299,
676 300, 301, 302, 303, 304, 305, 306, 307, -1, -1,
677 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
678 320, -1, -1, -1, -1, -1, 257, 258, 259, 260,
679 261, 262, 263, 264, 265, 266, 267, 268, 269, 270,
680 271, 0, -1, -1, -1, -1, -1, -1, 279, 280,
681 281, 282, 283, 284, 285, 286, 287, 288, 289, 290,
682 291, 292, -1, 294, 295, 296, 297, 298, 299, 300,
683 301, 302, 303, 304, 305, 306, 307, -1, -1, -1,
684 -1, -1, -1, -1, -1, -1, -1, -1, 319, -1,
685 -1, -1, -1, -1, 257, 258, 259, 260, 261, 262,
686 263, 264, 265, 266, 267, 268, 269, 270, 271, 0,
687 -1, -1, -1, -1, -1, -1, 279, 280, 281, 282,
688 283, 284, 285, 286, 287, 288, 289, 290, 291, 292,
689 -1, 294, 295, 296, 297, 298, 299, 300, 301, 302,
690 303, 304, 305, 306, 307, -1, -1, -1, -1, -1,
691 -1, -1, -1, -1, -1, -1, 319, -1, -1, -1,
692 -1, -1, 257, 258, 259, 260, 261, 262, 263, 264,
693 265, 266, 267, 268, 269, 270, 271, 0, -1, -1,
694 -1, -1, -1, -1, 279, 280, 281, 282, 283, 284,
695 285, 286, 287, 288, 289, 290, 291, 292, -1, 294,
696 295, 296, 297, 298, 299, 300, 301, 302, 303, 304,
697 305, 306, 307, -1, -1, -1, -1, -1, -1, -1,
698 -1, -1, -1, -1, 319, -1, -1, -1, -1, 257,
699 258, 259, 260, 261, 262, 263, 264, 265, 266, 267,
700 268, 269, 270, 271, 0, -1, -1, -1, -1, -1,
701 -1, 279, 280, 281, 282, 283, 284, 285, 286, 287,
702 288, 289, 290, 291, 292, -1, 294, 295, 296, 297,
703 298, 299, 300, 301, 302, 303, 304, 305, 306, 307,
704 -1, -1, -1, -1, -1, -1, -1, -1, -1, 317,
705 -1, -1, -1, -1, -1, -1, -1, -1, 257, 258,
706 259, 260, 261, 262, 263, 264, 265, 266, 267, 268,
707 269, 270, 271, 0, -1, -1, -1, -1, -1, -1,
708 279, 280, 281, 282, 283, 284, 285, 286, 287, 288,
709 289, 290, 291, 292, -1, 294, 295, 296, 297, 298,
710 299, 300, 301, 302, 303, 304, 305, 306, 307, -1,
711 -1, -1, -1, -1, -1, -1, -1, -1, 317, -1,
712 -1, -1, -1, -1, -1, -1, 257, 258, 259, 260,
713 261, 262, 263, 264, 265, 266, 267, 268, 269, 270,
714 271, 0, -1, -1, -1, -1, -1, -1, 279, 280,
715 281, 282, 283, 284, 285, 286, 287, 288, 289, 290,
716 291, 292, -1, 294, 295, 296, 297, 298, 299, 300,
717 301, 302, 303, 304, 305, 306, 307, -1, -1, -1,
718 -1, -1, -1, -1, -1, -1, 317, -1, -1, -1,
719 -1, -1, -1, -1, 257, 258, 259, 260, 261, 262,
720 263, 264, 265, 266, 267, 268, 269, 270, 271, 0,
721 -1, -1, -1, -1, -1, -1, 279, 280, 281, 282,
722 283, 284, 285, 286, 287, 288, 289, 290, 291, 292,
723 -1, 294, 295, 296, 297, 298, 299, 300, 301, 302,
724 303, 304, 305, 306, 307, -1, -1, -1, 311, -1,
725 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
726 -1, 257, 258, 259, 260, 261, 262, 263, 264, 265,
727 266, 267, 268, 269, 270, 271, 0, -1, -1, -1,
728 -1, -1, -1, 279, 280, 281, 282, 283, 284, 285,
729 286, 287, 288, 289, 290, 291, 292, -1, 294, 295,
730 296, 297, 298, 299, 300, 301, 302, 303, 304, 305,
731 306, 307, -1, -1, -1, 311, -1, -1, -1, -1,
732 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
733 257, 258, 259, 260, 261, 262, 263, 264, 265, 266,
734 267, 268, 269, 270, 271, 0, -1, -1, -1, -1,
735 -1, -1, 279, 280, 281, 282, 283, 284, 285, 286,
736 287, 288, 289, 290, 291, 292, -1, 294, 295, 296,
737 297, 298, 299, 300, 301, 302, 303, 304, 305, 306,
738 307, -1, -1, -1, 311, -1, -1, -1, -1, -1,
739 -1, -1, -1, -1, -1, -1, 0, -1, 257, 258,
740 259, 260, 261, 262, 263, 264, 265, 266, 267, 268,
741 269, 270, 271, -1, -1, -1, -1, -1, -1, -1,
742 279, 280, 281, 282, 283, 284, 285, 286, 287, 288,
743 289, 290, 291, 292, -1, 294, 295, 296, 297, 298,
744 299, 300, 301, 302, 303, 304, 305, 306, 307, 0,
745 -1, 310, -1, -1, -1, -1, -1, -1, -1, -1,
746 -1, -1, -1, -1, -1, -1, 257, 258, 259, 260,
747 261, 262, 263, 264, 265, 266, 267, 268, 269, 270,
748 271, -1, -1, -1, -1, -1, -1, -1, 279, 280,
749 281, 282, 283, 284, 285, 286, 287, 288, 289, 290,
750 291, 292, 0, 294, 295, 296, 297, 298, 299, 300,
751 301, 302, 303, 304, 305, 306, 307, -1, -1, 310,
752 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
753 -1, -1, -1, 257, 258, 259, 260, 261, 262, 263,
754 264, 265, 266, 267, 268, 269, 270, 271, -1, -1,
755 -1, -1, -1, 0, -1, 279, 280, 281, 282, 283,
756 284, 285, 286, 287, 288, 289, 290, 291, 292, -1,
757 294, 295, 296, 297, 298, 299, 300, 301, 302, 303,
758 304, 305, 306, 307, -1, -1, 310, -1, -1, -1,
759 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
760 -1, -1, 257, 258, 259, 260, 261, 262, 263, 264,
761 265, 266, 267, 268, 269, 270, 271, 0, -1, -1,
762 -1, -1, -1, -1, 279, 280, 281, 282, 283, 284,
763 285, 286, 287, 288, 289, 290, 291, 292, -1, 294,
764 295, 296, 297, 298, 299, 300, 301, 302, 303, 304,
765 305, 306, 307, 257, 258, 259, 260, 261, 262, 263,
766 264, 265, 266, 267, 268, 269, 270, 271, 0, -1,
767 -1, -1, -1, -1, -1, 279, 280, 281, 282, 283,
768 284, 285, 286, 287, 288, 289, 290, 291, 292, -1,
769 294, 295, 296, 297, 298, 299, 300, 301, 302, 303,
770 304, 305, 306, 307, -1, -1, 257, 258, 259, 260,
771 261, 262, 263, 264, 265, 266, 267, 268, 269, 270,
772 271, 0, -1, -1, -1, -1, -1, -1, 279, 280,
773 281, 282, 283, 284, 285, 286, 287, 288, 289, 290,
774 291, 292, -1, 294, 295, 296, 297, 298, 299, 300,
775 301, 302, 303, 304, 305, 306, 307, -1, -1, 257,
776 258, 259, 260, 261, 262, 263, 264, 265, 266, 267,
777 268, 269, 270, 271, 0, -1, -1, -1, -1, -1,
778 -1, 279, 280, 281, 282, 283, 284, 285, 286, 287,
779 288, 289, 290, 291, 292, -1, 294, 295, 296, 297,
780 298, 299, 300, 301, 302, 303, 304, 305, 306, 307,
781 257, 258, 259, 260, 261, 262, 263, 264, 265, 266,
782 267, 268, 269, 270, 271, 0, -1, -1, -1, -1,
783 -1, -1, 279, 280, 281, 282, 283, 284, 285, 286,
784 287, 288, 289, 290, 291, 292, -1, 294, 295, 296,
785 297, 298, 299, 300, 301, 302, 303, 304, 305, 306,
786 307, -1, -1, -1, -1, -1, -1, -1, -1, -1,
787 -1, -1, -1, -1, 257, 258, 259, 260, 261, 262,
788 263, 264, 265, 266, 267, 268, 269, 270, 271, 0,
789 -1, -1, -1, -1, -1, -1, 279, 280, 281, 282,
790 283, 284, 285, 286, 287, 288, 289, 290, 291, 292,
791 -1, 294, 295, 296, 297, 298, 299, 300, 301, 302,
792 303, 304, 305, 306, 307, 257, 258, 259, 260, 261,
793 262, 263, 264, 265, 266, 267, 268, 269, 270, 271,
794 0, -1, -1, -1, -1, -1, -1, 279, 280, 281,
795 282, 283, 284, 285, 286, 287, 288, 289, 290, 291,
796 292, -1, 294, 295, 296, 297, 298, 299, 300, 301,
797 302, 303, 304, 305, 306, 307, -1, -1, 257, 258,
798 259, 260, 261, 262, 263, 264, 265, 266, 267, 268,
799 269, 270, 271, 0, -1, -1, -1, -1, -1, -1,
800 279, 280, 281, 282, 283, 284, 285, 286, 287, 288,
801 289, 290, 291, 292, -1, 294, 295, 296, 297, 298,
802 299, 300, 301, 302, 303, 304, 305, 306, 307, -1,
803 -1, 257, 258, 259, 260, 261, 262, 263, 264, 265,
804 266, 267, 268, 269, 270, 271, 0, -1, -1, -1,
805 -1, -1, -1, 279, 280, 281, 282, 283, 284, 285,
806 286, 287, 288, 289, 290, 291, 292, -1, 294, 295,
807 296, 297, 298, 299, 300, 301, 302, 303, 304, 305,
808 306, 307, 257, 258, 259, 260, 261, 262, 263, 264,
809 265, 266, 267, 268, 269, 270, 271, 0, -1, -1,
810 -1, -1, -1, -1, 279, 280, 281, 282, 283, 284,
811 285, 286, 287, 288, 289, 290, 291, 292, -1, 294,
812 295, 296, 297, 298, 299, 300, 301, 302, 303, 304,
813 305, 306, 307, -1, -1, -1, -1, -1, -1, -1,
814 -1, -1, -1, -1, -1, -1, 257, 258, 259, 260,
815 261, 262, 263, 264, 265, 266, 267, 268, 269, 270,
816 271, -1, -1, -1, -1, -1, -1, -1, 279, 280,
817 281, 282, 283, 284, 285, 286, 287, 288, 289, 290,
818 291, 292, -1, 294, 295, 296, 297, 298, 299, 300,
819 301, 302, 303, 304, 305, 306, 307, 257, 258, 259,
820 260, 261, 262, 263, 264, 265, 266, 267, 268, 269,
821 270, 271, -1, -1, -1, -1, -1, -1, -1, 279,
822 280, 281, 282, 283, 284, 285, 286, 287, 288, 289,
823 290, 291, 292, -1, 294, 295, 296, 297, 298, 299,
824 300, 301, 302, 303, 304, 305, 306, 307, -1, -1,
825 257, 258, 259, 260, 261, 262, 263, 264, 265, 266,
826 267, 268, 269, 270, 271, -1, -1, -1, -1, -1,
827 -1, -1, 279, 280, 281, 282, 283, 284, 285, 286,
828 287, 288, 289, 290, 291, 292, -1, 294, 295, 296,
829 297, 298, 299, 300, 301, 302, 303, 304, 305, 306,
830 307, -1, -1, 257, 258, 259, 260, 261, 262, 263,
831 264, 265, 266, 267, 268, 269, 270, 271, -1, -1,
832 -1, -1, -1, -1, -1, 279, 280, 281, 282, 283,
833 284, 285, 286, 287, 288, 289, 290, 291, 292, -1,
834 294, 295, 296, 297, 298, 299, 300, 301, 302, 303,
835 304, 305, 306, 307, 257, 258, 259, 260, 261, 262,
836 263, 264, 265, 266, 267, 268, 269, 270, 271, -1,
837 -1, -1, -1, -1, -1, -1, 279, 280, 281, 282,
838 283, 284, 285, 286, 287, 288, 289, 290, 291, 292,
839 -1, 294, 295, 296, 297, 298, 299, 300, 301, 302,
840 303, 304, 305, 306, 307,
846 #define YYMAXTOKEN 329
849 "end-of-file",0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
850 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"';'",0,0,0,0,0,0,0,0,0,0,0,0,
851 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
852 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
853 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
854 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
855 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"JACOBIAN","DOUBLE",
856 "FUNCTION","DEFVAR","DEFRAD","DEFFIX","SETVAR","SETRAD","SETFIX","HESSIAN",
857 "STOICMAT","STOCHASTIC","INITVALUES","EQUATIONS","LUMP","INIEQUAL","EQNEQUAL",
858 "EQNCOLON","LMPCOLON","LMPPLUS","SPCPLUS","SPCEQUAL","ATOMDECL","CHECK",
859 "CHECKALL","REORDER","MEX","DUMMYINDEX","EQNTAGS","LOOKAT","LOOKATALL",
860 "TRANSPORT","TRANSPORTALL","MONITOR","USES","SPARSEDATA","WRFCONFORM",
861 "WRITE_ATM","WRITE_SPC","WRITE_MAT","WRITE_OPT","INITIALIZE","XGRID","YGRID",
862 "ZGRID","USE","LANGUAGE","INTFILE","DRIVER","RUN","INLINE","ENDINLINE",
863 "PARAMETER","SPCSPC","INISPC","INIVALUE","EQNSPC","EQNSIGN","EQNCOEF","RATE",
864 "LMPSPC","SPCNR","ATOMID","LKTID","MNIID","INLCTX","INCODE","SSPID","EQNLESS",
865 "EQNTAG","EQNGREATER","TPTID","USEID",
870 "program : section program",
871 "section : JACOBIAN PARAMETER",
872 "section : HESSIAN PARAMETER",
873 "section : STOICMAT PARAMETER",
874 "section : DOUBLE PARAMETER",
875 "section : REORDER PARAMETER",
876 "section : MEX PARAMETER",
877 "section : DUMMYINDEX PARAMETER",
878 "section : EQNTAGS PARAMETER",
879 "section : FUNCTION PARAMETER",
880 "section : STOCHASTIC PARAMETER",
881 "section : ATOMDECL atomlist",
882 "section : CHECK atomlist",
883 "section : DEFVAR species",
884 "section : DEFRAD species",
885 "section : DEFFIX species",
886 "section : SETVAR setspclist",
887 "section : SETRAD setspclist",
888 "section : SETFIX setspclist",
889 "section : INITVALUES initvalues",
890 "section : EQUATIONS equations",
891 "section : LUMP lumps",
892 "section : LOOKAT lookatlist",
893 "section : MONITOR monitorlist",
894 "section : TRANSPORT translist",
895 "section : CHECKALL",
896 "section : LOOKATALL",
897 "section : TRANSPORTALL",
898 "section : WRITE_ATM",
899 "section : WRITE_SPC",
900 "section : WRITE_MAT",
901 "section : WRITE_OPT",
902 "section : USE PARAMETER",
903 "section : LANGUAGE PARAMETER",
904 "section : INITIALIZE PARAMETER",
905 "section : XGRID PARAMETER",
906 "section : YGRID PARAMETER",
907 "section : ZGRID PARAMETER",
908 "section : INLINE INLCTX inlinecode ENDINLINE",
909 "section : INLINE error",
910 "section : INTFILE PARAMETER",
911 "section : DRIVER PARAMETER",
912 "section : RUN PARAMETER",
913 "section : USES uselist",
914 "section : SPARSEDATA PARAMETER",
915 "semicolon : semicolon ';'",
917 "atomlist : atomlist atomdef semicolon",
918 "atomlist : atomdef semicolon",
919 "atomlist : error semicolon",
921 "lookatlist : lookatlist lookatspc semicolon",
922 "lookatlist : lookatspc semicolon",
923 "lookatlist : error semicolon",
925 "monitorlist : monitorlist monitorspc semicolon",
926 "monitorlist : monitorspc semicolon",
927 "monitorlist : error semicolon",
928 "monitorspc : MNIID",
929 "translist : translist transspc semicolon",
930 "translist : transspc semicolon",
931 "translist : error semicolon",
933 "uselist : uselist usefile semicolon",
934 "uselist : usefile semicolon",
935 "uselist : error semicolon",
937 "setspclist : setspclist setspcspc semicolon",
938 "setspclist : setspcspc semicolon",
939 "setspclist : error semicolon",
941 "species : species spc semicolon",
942 "species : spc semicolon",
943 "species : error semicolon",
946 "spcname : SPCSPC SPCEQUAL atoms",
948 "atoms : atoms SPCPLUS atom",
950 "atom : SPCNR SPCSPC",
952 "initvalues : initvalues assignment semicolon",
953 "initvalues : assignment semicolon",
954 "initvalues : error semicolon",
955 "assignment : INISPC INIEQUAL INIVALUE",
956 "equations : equations equation semicolon",
957 "equations : equation semicolon",
958 "equations : error semicolon",
959 "equation : eqntag lefths righths rate",
960 "equation : lefths righths rate",
963 "eqntag : EQNLESS EQNTAG EQNGREATER",
964 "lefths : expresion EQNEQUAL",
965 "righths : expresion EQNCOLON",
966 "expresion : expresion EQNSIGN term",
967 "expresion : EQNSIGN term",
969 "term : EQNCOEF EQNSPC",
971 "lumps : lumps lump semicolon",
972 "lumps : lump semicolon",
973 "lumps : error semicolon",
974 "lump : LMPSPC LMPPLUS lump",
975 "lump : LMPSPC LMPCOLON LMPSPC",
976 "inlinecode : inlinecode INCODE",
977 "inlinecode : INCODE",
982 #define YYMAXDEPTH YYSTACKSIZE
985 #define YYSTACKSIZE YYMAXDEPTH
987 #define YYSTACKSIZE 500
988 #define YYMAXDEPTH 500
999 short yyss
[YYSTACKSIZE
];
1000 YYSTYPE yyvs
[YYSTACKSIZE
];
1001 #define yystacksize YYSTACKSIZE
1004 void yyerror( char * str
)
1008 void ParserErrorMessage()
1012 Message("[%d,%s] -> [%d,%s]", crtTokType, crtToken, nextTokType, nextToken );
1014 if( crtToken
[0] == ';' ) {
1015 ParserError("Misplaced ';'");
1018 switch( crtTokType
) {
1020 ParserError("Missing ';' after '%s'", crtToken
);
1024 ParserError("Missing ';' or '+' after '%s'", crtToken
);
1027 ParserError("Missing species after '%s'", crtToken
);
1030 ParserError("Missing atom after '%s'", crtToken
);
1033 ParserError("Invalid '=' after '%s'", crtToken
);
1037 ParserError("Missing '=' after '%s'", crtToken
);
1040 ParserError("Missing value after '%s'", crtToken
);
1043 ParserError("Missing ';' after '%s'", crtToken
);
1047 ParserError("Missing '+' or '=' after '%s'", crtToken
);
1050 ParserError("Invalid right hand side of equation");
1053 ParserError("Missing rate after '%s'", crtToken
);
1056 ParserError("Missing coeficient after '%s'", crtToken
);
1059 ParserError("Missing species after '%s'", crtToken
);
1062 ParserError("Missing ';' after '%s'", crtToken
);
1066 ParserError("Missing '+' or ':' or ';' after '%s'", crtToken
);
1069 ParserError("Missing species after '%s'", crtToken
);
1072 ParserError("Missing species after '%s'", crtToken
);
1075 ParserError("Missing inline option after '%s'", crtToken
);
1079 ParserError("Syntax error after '%s'", crtToken
);
1084 int Parser( char * filename
)
1089 crt_filename
= filename
;
1091 f
= fopen( crt_filename
, "r" );
1093 FatalError(7,"%s: File not found", crt_filename
);
1108 #line 1109 "y.tab.c"
1109 #define YYABORT goto yyabort
1110 #define YYREJECT goto yyabort
1111 #define YYACCEPT goto yyaccept
1112 #define YYERROR goto yyerrlab
1114 #if defined(__STDC__)
1120 register int yym
, yyn
, yystate
;
1123 extern char *getenv();
1125 if (yys
= getenv("YYDEBUG"))
1128 if (yyn
>= '0' && yyn
<= '9')
1129 yydebug
= yyn
- '0';
1139 *yyssp
= yystate
= 0;
1142 if ((yyn
= yydefred
[yystate
]) != 0) goto yyreduce
;
1145 if ((yychar
= yylex()) < 0) yychar
= 0;
1150 if (yychar
<= YYMAXTOKEN
) yys
= yyname
[yychar
];
1151 if (!yys
) yys
= "illegal-symbol";
1152 printf("%sdebug: state %d, reading %d (%s)\n",
1153 YYPREFIX
, yystate
, yychar
, yys
);
1157 if ((yyn
= yysindex
[yystate
]) && (yyn
+= yychar
) >= 0 &&
1158 yyn
<= YYTABLESIZE
&& yycheck
[yyn
] == yychar
)
1162 printf("%sdebug: state %d, shifting to state %d\n",
1163 YYPREFIX
, yystate
, yytable
[yyn
]);
1165 if (yyssp
>= yyss
+ yystacksize
- 1)
1169 *++yyssp
= yystate
= yytable
[yyn
];
1172 if (yyerrflag
> 0) --yyerrflag
;
1175 if ((yyn
= yyrindex
[yystate
]) && (yyn
+= yychar
) >= 0 &&
1176 yyn
<= YYTABLESIZE
&& yycheck
[yyn
] == yychar
)
1181 if (yyerrflag
) goto yyinrecovery
;
1182 yyerror("syntax error");
1194 if ((yyn
= yysindex
[*yyssp
]) && (yyn
+= YYERRCODE
) >= 0 &&
1195 yyn
<= YYTABLESIZE
&& yycheck
[yyn
] == YYERRCODE
)
1199 printf("%sdebug: state %d, error recovery shifting\
1200 to state %d\n", YYPREFIX
, *yyssp
, yytable
[yyn
]);
1202 if (yyssp
>= yyss
+ yystacksize
- 1)
1206 *++yyssp
= yystate
= yytable
[yyn
];
1214 printf("%sdebug: error recovery discarding state %d\n",
1217 if (yyssp
<= yyss
) goto yyabort
;
1225 if (yychar
== 0) goto yyabort
;
1230 if (yychar
<= YYMAXTOKEN
) yys
= yyname
[yychar
];
1231 if (!yys
) yys
= "illegal-symbol";
1232 printf("%sdebug: state %d, error recovery discards token %d (%s)\n",
1233 YYPREFIX
, yystate
, yychar
, yys
);
1242 printf("%sdebug: state %d, reducing by rule %d (%s)\n",
1243 YYPREFIX
, yystate
, yyn
, yyrule
[yyn
]);
1246 yyval
= yyvsp
[1-yym
];
1251 { CmdJacobian( yyvsp
[0].str
);
1256 { CmdHessian( yyvsp
[0].str
);
1261 { CmdStoicmat( yyvsp
[0].str
);
1266 { CmdDouble( yyvsp
[0].str
);
1271 { CmdReorder( yyvsp
[0].str
);
1276 { CmdMex( yyvsp
[0].str
);
1281 { CmdDummyindex( yyvsp
[0].str
);
1286 { CmdEqntags( yyvsp
[0].str
);
1291 { CmdFunction( yyvsp
[0].str
);
1296 { CmdStochastic( yyvsp
[0].str
);
1377 { WriteMatrices(); }
1385 { CmdUse( yyvsp
[0].str
); }
1389 { CmdLanguage( yyvsp
[0].str
); }
1393 { DefineInitializeNbr( yyvsp
[0].str
); }
1397 { DefineXGrid( yyvsp
[0].str
); }
1401 { DefineYGrid( yyvsp
[0].str
); }
1405 { DefineZGrid( yyvsp
[0].str
); }
1410 AddInlineCode( yyvsp
[-2].str
, InlineBuf
);
1416 { ParserErrorMessage(); }
1420 { CmdIntegrator( yyvsp
[0].str
); }
1424 { CmdDriver( yyvsp
[0].str
); }
1428 { CmdRun( yyvsp
[0].str
); }
1436 { SparseData( yyvsp
[0].str
);
1441 { ScanWarning("Unnecessary ';'");
1446 { ParserErrorMessage(); }
1450 { switch( crt_section
) {
1451 case ATOMDECL
: DeclareAtom( yyvsp
[0].str
); break;
1452 case CHECK
: SetAtomType( yyvsp
[0].str
, DO_CHECK
); break;
1458 { ParserErrorMessage(); }
1462 { AddLookAt( yyvsp
[0].str
);
1467 { ParserErrorMessage(); }
1471 { AddMonitor( yyvsp
[0].str
);
1476 { ParserErrorMessage(); }
1480 { AddTransport( yyvsp
[0].str
);
1485 { ParserErrorMessage(); }
1489 { AddUseFile( yyvsp
[0].str
);
1494 { ParserErrorMessage(); }
1498 { switch( crt_section
) {
1499 case SETVAR
: SetSpcType( VAR_SPC
, yyvsp
[0].str
); break;
1500 case SETRAD
: SetSpcType( RAD_SPC
, yyvsp
[0].str
); break;
1501 case SETFIX
: SetSpcType( FIX_SPC
, yyvsp
[0].str
); break;
1507 { ParserErrorMessage(); }
1511 { switch( crt_section
) {
1512 case DEFVAR
: DeclareSpecies( VAR_SPC
, yyvsp
[-2].str
); break;
1513 case DEFRAD
: DeclareSpecies( RAD_SPC
, yyvsp
[-2].str
); break;
1514 case DEFFIX
: DeclareSpecies( FIX_SPC
, yyvsp
[-2].str
); break;
1520 { switch( crt_section
) {
1521 case DEFVAR
: DeclareSpecies( VAR_SPC
, yyvsp
[0].str
); break;
1522 case DEFRAD
: DeclareSpecies( RAD_SPC
, yyvsp
[0].str
); break;
1523 case DEFFIX
: DeclareSpecies( FIX_SPC
, yyvsp
[0].str
); break;
1529 { AddAtom( yyvsp
[0].str
, yyvsp
[-1].str
);
1534 { AddAtom( yyvsp
[0].str
, "1" );
1539 { ParserErrorMessage(); }
1543 { AssignInitialValue( yyvsp
[-2].str
, yyvsp
[0].str
); }
1547 { ParserErrorMessage();
1554 StoreEquationRate( yyvsp
[0].str
, yyvsp
[-3].str
);
1561 StoreEquationRate( yyvsp
[0].str
, " " );
1567 { strcpy( yyval
.str
, yyvsp
[-1].str
);
1568 strcat( yyval
.str
, yyvsp
[0].str
);
1573 { strcpy( yyval
.str
, yyvsp
[0].str
);
1578 { strcpy( yyval
.str
, yyvsp
[-1].str
);
1591 { ProcessTerm( eqState
, yyvsp
[-1].str
, crt_coef
, crt_term
);
1596 { ProcessTerm( eqState
, yyvsp
[-1].str
, crt_coef
, crt_term
);
1601 { ProcessTerm( eqState
, "+", crt_coef
, crt_term
);
1606 { strcpy( crt_term
, yyvsp
[0].str
);
1607 strcpy( crt_coef
, yyvsp
[-1].str
);
1612 { strcpy( crt_term
, yyvsp
[0].str
);
1613 strcpy( crt_coef
, "1" );
1618 { ParserErrorMessage(); }
1622 { AddLumpSpecies( yyvsp
[-2].str
);
1628 AddLumpSpecies( yyvsp
[-2].str
);
1629 CheckLump( yyvsp
[0].str
);
1635 InlineBuf
= AppendString( InlineBuf
, yyvsp
[0].str
, &InlineLen
, MAX_INLINE
);
1641 InlineBuf
= malloc( MAX_INLINE
);
1642 InlineLen
= MAX_INLINE
;
1643 strcpy( InlineBuf
, yyvsp
[0].str
);
1646 #line 1647 "y.tab.c"
1652 if (yystate
== 0 && yym
== 0)
1656 printf("%sdebug: after reduction, shifting from state 0 to\
1657 state %d\n", YYPREFIX
, YYFINAL
);
1664 if ((yychar
= yylex()) < 0) yychar
= 0;
1669 if (yychar
<= YYMAXTOKEN
) yys
= yyname
[yychar
];
1670 if (!yys
) yys
= "illegal-symbol";
1671 printf("%sdebug: state %d, reading %d (%s)\n",
1672 YYPREFIX
, YYFINAL
, yychar
, yys
);
1676 if (yychar
== 0) goto yyaccept
;
1679 if ((yyn
= yygindex
[yym
]) && (yyn
+= yystate
) >= 0 &&
1680 yyn
<= YYTABLESIZE
&& yycheck
[yyn
] == yystate
)
1681 yystate
= yytable
[yyn
];
1683 yystate
= yydgoto
[yym
];
1686 printf("%sdebug: after reduction, shifting from state %d \
1687 to state %d\n", YYPREFIX
, *yyssp
, yystate
);
1689 if (yyssp
>= yyss
+ yystacksize
- 1)
1697 yyerror("yacc stack overflow");