2 /* A Bison parser, made from ./parse-scan.y
3 by GNU Bison version 1.25
6 #define YYBISON 1 /* Identify Bison output. */
19 #define BOOL_AND_TK 269
20 #define BOOL_OR_TK 270
27 #define PLUS_ASSIGN_TK 277
28 #define MINUS_ASSIGN_TK 278
29 #define MULT_ASSIGN_TK 279
30 #define DIV_ASSIGN_TK 280
31 #define REM_ASSIGN_TK 281
32 #define LS_ASSIGN_TK 282
33 #define SRS_ASSIGN_TK 283
34 #define ZRS_ASSIGN_TK 284
35 #define AND_ASSIGN_TK 285
36 #define XOR_ASSIGN_TK 286
37 #define OR_ASSIGN_TK 287
39 #define PRIVATE_TK 289
40 #define PROTECTED_TK 290
43 #define SYNCHRONIZED_TK 293
44 #define VOLATILE_TK 294
45 #define TRANSIENT_TK 295
48 #define ABSTRACT_TK 298
49 #define MODIFIER_TK 299
52 #define DEFAULT_TK 302
55 #define BOOLEAN_TK 305
57 #define IMPLEMENTS_TK 307
62 #define INSTANCEOF_TK 312
66 #define INTERFACE_TK 316
68 #define EXTENDS_TK 318
69 #define FINALLY_TK 319
78 #define CONTINUE_TK 328
80 #define PACKAGE_TK 330
87 #define INTEGRAL_TK 337
96 #define ASSIGN_ANY_TK 346
107 #define STRING_LIT_TK 357
108 #define CHAR_LIT_TK 358
109 #define INT_LIT_TK 359
110 #define FP_LIT_TK 360
113 #define BOOL_LIT_TK 363
116 #line 37 "./parse-scan.y"
124 /* Definitions for PROTO and VPROTO macros */
125 #include "gansidecl.h"
128 extern char *input_filename;
129 extern FILE *finput, *out;
131 /* Obstack for the lexer. */
132 struct obstack temporary_obstack;
134 /* The current parser context. */
135 static struct parser_ctxt *ctxp;
137 /* Error and warning counts, current line number, because they're used
139 int java_error_count;
140 int java_warning_count;
143 /* Tweak default rules when necessary. */
145 #define USE_ABSORBER absorber = 0
147 /* Keep track of the current class name and package name. */
148 static char *current_class;
149 static char *package_name;
151 /* Keep track of whether things have be listed before. */
152 static int previous_output;
154 /* Record modifier uses */
155 static int modifier_value;
157 /* Record a method declaration */
158 struct method_declarator {
162 #define NEW_METHOD_DECLARATOR(D,N,A) \
165 (struct method_declarator *)xmalloc (sizeof (struct method_declarator)); \
166 (D)->method_name = (N); \
170 /* Two actions for this grammar */
171 static void report_class_declaration PROTO ((char *));
172 static void report_main_declaration PROTO ((struct method_declarator *));
174 /* Other extern functions */
175 char *xmalloc PROTO ((unsigned));
176 char *xstrdup PROTO ((char *));
181 #line 102 "./parse-scan.y"
184 struct method_declarator *declarator;
185 int value; /* For modifiers */
202 #define YYFLAG -32768
205 #define YYTRANSLATE(x) ((unsigned)(x) <= 364 ? yytranslate[x] : 253)
207 static const char yytranslate[] = { 0,
208 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
209 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
210 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
211 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
212 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
213 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
214 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
215 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
216 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
217 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
218 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
219 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
220 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
221 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
222 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
223 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
224 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
225 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
226 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
227 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
228 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
229 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
230 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
231 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
232 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
233 2, 2, 2, 2, 2, 1, 2, 3, 4, 5,
234 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
235 16, 17, 18, 19, 20, 21, 22, 23, 24, 25,
236 26, 27, 28, 29, 30, 31, 32, 33, 34, 35,
237 36, 37, 38, 39, 40, 41, 42, 43, 44, 45,
238 46, 47, 48, 49, 50, 51, 52, 53, 54, 55,
239 56, 57, 58, 59, 60, 61, 62, 63, 64, 65,
240 66, 67, 68, 69, 70, 71, 72, 73, 74, 75,
241 76, 77, 78, 79, 80, 81, 82, 83, 84, 85,
242 86, 87, 88, 89, 90, 91, 92, 93, 94, 95,
243 96, 97, 98, 99, 100, 101, 102, 103, 104, 105,
248 static const short yyprhs[] = { 0,
249 0, 2, 4, 6, 8, 10, 12, 14, 16, 18,
250 20, 22, 24, 26, 28, 30, 32, 34, 38, 42,
251 46, 48, 50, 52, 56, 58, 59, 61, 63, 65,
252 68, 71, 74, 78, 80, 83, 85, 88, 92, 94,
253 96, 100, 106, 108, 110, 112, 114, 117, 118, 126,
254 127, 134, 135, 138, 139, 142, 144, 148, 151, 155,
255 157, 160, 162, 164, 166, 168, 170, 172, 174, 176,
256 180, 185, 187, 191, 193, 197, 199, 203, 205, 207,
257 210, 214, 218, 223, 228, 232, 237, 241, 243, 247,
258 250, 254, 255, 258, 260, 264, 266, 269, 271, 274,
259 278, 280, 284, 289, 294, 300, 304, 309, 312, 316,
260 320, 325, 330, 336, 344, 351, 353, 355, 359, 364,
261 369, 375, 378, 382, 385, 389, 391, 394, 396, 398,
262 400, 402, 404, 407, 410, 414, 418, 423, 425, 429,
263 432, 436, 438, 441, 443, 445, 447, 450, 453, 457,
264 459, 461, 463, 465, 467, 469, 471, 473, 475, 477,
265 479, 481, 483, 485, 487, 489, 491, 493, 495, 497,
266 499, 501, 503, 506, 509, 512, 515, 517, 519, 521,
267 523, 525, 527, 529, 535, 543, 551, 557, 560, 564,
268 568, 573, 575, 578, 581, 583, 586, 590, 593, 598,
269 601, 604, 606, 614, 622, 629, 637, 644, 647, 650,
270 651, 653, 655, 656, 658, 660, 664, 667, 671, 674,
271 678, 681, 685, 689, 695, 701, 703, 707, 711, 716,
272 718, 721, 727, 730, 732, 734, 736, 738, 742, 744,
273 746, 748, 750, 754, 758, 762, 766, 772, 777, 784,
274 790, 795, 801, 807, 814, 818, 822, 824, 828, 832,
275 836, 840, 845, 850, 855, 860, 862, 865, 869, 872,
276 876, 880, 884, 888, 893, 899, 906, 912, 919, 924,
277 929, 931, 933, 935, 937, 940, 943, 945, 947, 950,
278 953, 955, 958, 961, 963, 966, 969, 971, 977, 982,
279 987, 993, 995, 999, 1003, 1007, 1009, 1013, 1017, 1019,
280 1023, 1027, 1031, 1033, 1037, 1041, 1045, 1049, 1053, 1055,
281 1059, 1063, 1065, 1069, 1071, 1075, 1077, 1081, 1083, 1087,
282 1089, 1093, 1095, 1101, 1103, 1105, 1109, 1111, 1113, 1115,
286 static const short yyrhs[] = { 123,
287 0, 104, 0, 105, 0, 108, 0, 103, 0, 102,
288 0, 109, 0, 113, 0, 114, 0, 82, 0, 85,
289 0, 50, 0, 115, 0, 118, 0, 119, 0, 115,
290 0, 115, 0, 113, 97, 98, 0, 119, 97, 98,
291 0, 118, 97, 98, 0, 120, 0, 121, 0, 122,
292 0, 119, 101, 122, 0, 86, 0, 0, 126, 0,
293 124, 0, 125, 0, 126, 124, 0, 126, 125, 0,
294 124, 125, 0, 126, 124, 125, 0, 127, 0, 124,
295 127, 0, 130, 0, 125, 130, 0, 75, 119, 99,
296 0, 128, 0, 129, 0, 55, 119, 99, 0, 55,
297 119, 101, 5, 99, 0, 132, 0, 162, 0, 99,
298 0, 44, 0, 131, 44, 0, 0, 131, 67, 122,
299 135, 136, 133, 138, 0, 0, 67, 122, 135, 136,
300 134, 138, 0, 0, 63, 116, 0, 0, 52, 137,
301 0, 117, 0, 137, 100, 117, 0, 95, 96, 0,
302 95, 139, 96, 0, 140, 0, 139, 140, 0, 141,
303 0, 155, 0, 157, 0, 171, 0, 142, 0, 147,
304 0, 132, 0, 162, 0, 112, 143, 99, 0, 131,
305 112, 143, 99, 0, 144, 0, 143, 100, 144, 0,
306 145, 0, 145, 92, 146, 0, 122, 0, 145, 97,
307 98, 0, 251, 0, 169, 0, 148, 154, 0, 112,
308 149, 152, 0, 59, 149, 152, 0, 131, 112, 149,
309 152, 0, 131, 59, 149, 152, 0, 122, 93, 94,
310 0, 122, 93, 150, 94, 0, 149, 97, 98, 0,
311 151, 0, 150, 100, 151, 0, 112, 145, 0, 131,
312 112, 145, 0, 0, 53, 153, 0, 116, 0, 153,
313 100, 116, 0, 171, 0, 171, 99, 0, 99, 0,
314 156, 171, 0, 156, 171, 99, 0, 44, 0, 158,
315 152, 159, 0, 131, 158, 152, 159, 0, 158, 152,
316 159, 99, 0, 131, 158, 152, 159, 99, 0, 120,
317 93, 94, 0, 120, 93, 150, 94, 0, 95, 96,
318 0, 95, 160, 96, 0, 95, 172, 96, 0, 95,
319 160, 172, 96, 0, 161, 93, 94, 99, 0, 161,
320 93, 220, 94, 99, 0, 119, 101, 65, 93, 220,
321 94, 99, 0, 119, 101, 65, 93, 94, 99, 0,
322 76, 0, 65, 0, 61, 122, 164, 0, 131, 61,
323 122, 164, 0, 61, 122, 163, 164, 0, 131, 61,
324 122, 163, 164, 0, 63, 117, 0, 163, 100, 117,
325 0, 95, 96, 0, 95, 165, 96, 0, 166, 0,
326 165, 166, 0, 167, 0, 168, 0, 132, 0, 162,
327 0, 142, 0, 148, 99, 0, 95, 96, 0, 95,
328 170, 96, 0, 95, 100, 96, 0, 95, 170, 100,
329 96, 0, 146, 0, 170, 100, 146, 0, 95, 96,
330 0, 95, 172, 96, 0, 173, 0, 172, 173, 0,
331 174, 0, 176, 0, 132, 0, 175, 99, 0, 112,
332 143, 0, 131, 112, 143, 0, 178, 0, 181, 0,
333 185, 0, 186, 0, 195, 0, 199, 0, 178, 0,
334 182, 0, 187, 0, 196, 0, 200, 0, 171, 0,
335 179, 0, 183, 0, 188, 0, 198, 0, 206, 0,
336 207, 0, 208, 0, 210, 0, 209, 0, 212, 0,
337 99, 0, 122, 88, 0, 180, 176, 0, 180, 177,
338 0, 184, 99, 0, 248, 0, 232, 0, 233, 0,
339 229, 0, 230, 0, 226, 0, 218, 0, 48, 93,
340 251, 94, 176, 0, 48, 93, 251, 94, 177, 56,
341 176, 0, 48, 93, 251, 94, 177, 56, 177, 0,
342 68, 93, 251, 94, 189, 0, 95, 96, 0, 95,
343 192, 96, 0, 95, 190, 96, 0, 95, 190, 192,
344 96, 0, 191, 0, 190, 191, 0, 192, 172, 0,
345 193, 0, 192, 193, 0, 62, 252, 88, 0, 47,
346 88, 0, 66, 93, 251, 94, 0, 194, 176, 0,
347 194, 177, 0, 51, 0, 197, 176, 66, 93, 251,
348 94, 99, 0, 202, 99, 251, 99, 204, 94, 176,
349 0, 202, 99, 99, 204, 94, 176, 0, 202, 99,
350 251, 99, 204, 94, 177, 0, 202, 99, 99, 204,
351 94, 177, 0, 71, 93, 0, 201, 203, 0, 0,
352 205, 0, 175, 0, 0, 205, 0, 184, 0, 205,
353 100, 184, 0, 54, 99, 0, 54, 122, 99, 0,
354 73, 99, 0, 73, 122, 99, 0, 58, 99, 0,
355 58, 251, 99, 0, 49, 251, 99, 0, 211, 93,
356 251, 94, 171, 0, 211, 93, 251, 94, 1, 0,
357 44, 0, 70, 171, 213, 0, 70, 171, 215, 0,
358 70, 171, 213, 215, 0, 214, 0, 213, 214, 0,
359 60, 93, 151, 94, 171, 0, 64, 171, 0, 217,
360 0, 221, 0, 111, 0, 76, 0, 93, 251, 94,
361 0, 218, 0, 225, 0, 226, 0, 227, 0, 119,
362 101, 67, 0, 113, 101, 67, 0, 59, 101, 67,
363 0, 119, 101, 76, 0, 72, 116, 93, 220, 94,
364 0, 72, 116, 93, 94, 0, 72, 116, 93, 220,
365 94, 138, 0, 72, 116, 93, 94, 138, 0, 219,
366 122, 93, 94, 0, 219, 122, 93, 94, 138, 0,
367 219, 122, 93, 220, 94, 0, 219, 122, 93, 220,
368 94, 138, 0, 119, 101, 72, 0, 216, 101, 72,
369 0, 251, 0, 220, 100, 251, 0, 220, 100, 1,
370 0, 72, 113, 222, 0, 72, 115, 222, 0, 72,
371 113, 222, 224, 0, 72, 115, 222, 224, 0, 72,
372 115, 224, 169, 0, 72, 113, 224, 169, 0, 223,
373 0, 222, 223, 0, 97, 251, 98, 0, 97, 98,
374 0, 224, 97, 98, 0, 216, 101, 122, 0, 65,
375 101, 122, 0, 119, 93, 94, 0, 119, 93, 220,
376 94, 0, 216, 101, 122, 93, 94, 0, 216, 101,
377 122, 93, 220, 94, 0, 65, 101, 122, 93, 94,
378 0, 65, 101, 122, 93, 220, 94, 0, 119, 97,
379 251, 98, 0, 217, 97, 251, 98, 0, 216, 0,
380 119, 0, 229, 0, 230, 0, 228, 46, 0, 228,
381 45, 0, 232, 0, 233, 0, 3, 231, 0, 4,
382 231, 0, 234, 0, 46, 231, 0, 45, 231, 0,
383 228, 0, 89, 231, 0, 90, 231, 0, 235, 0,
384 93, 113, 224, 94, 231, 0, 93, 113, 94, 231,
385 0, 93, 251, 94, 234, 0, 93, 119, 224, 94,
386 234, 0, 231, 0, 236, 5, 231, 0, 236, 6,
387 231, 0, 236, 7, 231, 0, 236, 0, 237, 3,
388 236, 0, 237, 4, 236, 0, 237, 0, 238, 8,
389 237, 0, 238, 9, 237, 0, 238, 10, 237, 0,
390 238, 0, 239, 20, 238, 0, 239, 18, 238, 0,
391 239, 21, 238, 0, 239, 19, 238, 0, 239, 57,
392 114, 0, 239, 0, 240, 16, 239, 0, 240, 17,
393 239, 0, 240, 0, 241, 11, 240, 0, 241, 0,
394 242, 12, 241, 0, 242, 0, 243, 13, 242, 0,
395 243, 0, 244, 14, 243, 0, 244, 0, 245, 15,
396 244, 0, 245, 0, 245, 87, 251, 88, 246, 0,
397 246, 0, 248, 0, 249, 250, 247, 0, 119, 0,
398 225, 0, 227, 0, 91, 0, 92, 0, 247, 0,
405 static const short yyrline[] = { 0,
406 173, 178, 180, 181, 182, 183, 184, 188, 190, 193,
407 199, 204, 211, 213, 216, 220, 224, 228, 230, 237,
408 247, 249, 252, 256, 265, 270, 271, 272, 273, 274,
409 275, 276, 277, 280, 282, 285, 287, 290, 295, 297,
410 300, 304, 308, 310, 311, 317, 326, 337, 344, 344,
411 347, 349, 350, 353, 354, 357, 360, 364, 366, 369,
412 371, 374, 376, 377, 378, 381, 383, 384, 385, 389,
413 392, 396, 399, 402, 404, 407, 410, 413, 415, 419,
414 423, 426, 427, 429, 436, 443, 449, 452, 454, 462,
415 468, 472, 473, 476, 479, 483, 485, 486, 490, 492,
416 495, 505, 507, 510, 512, 518, 521, 525, 527, 528,
417 529, 533, 535, 538, 540, 544, 546, 551, 553, 555,
418 556, 560, 562, 565, 567, 570, 572, 575, 577, 578,
419 579, 582, 586, 591, 593, 594, 595, 598, 600, 604,
420 606, 609, 611, 614, 616, 617, 620, 624, 627, 631,
421 633, 634, 635, 636, 637, 640, 642, 643, 644, 645,
422 648, 650, 651, 652, 653, 654, 655, 656, 657, 658,
423 659, 662, 666, 671, 675, 681, 685, 687, 688, 689,
424 690, 691, 692, 695, 699, 703, 707, 711, 713, 714,
425 715, 718, 720, 723, 728, 730, 733, 735, 738, 742,
426 746, 750, 754, 758, 760, 763, 765, 768, 772, 775,
427 776, 777, 780, 781, 784, 786, 789, 791, 794, 796,
428 799, 801, 804, 808, 810, 813, 818, 820, 821, 824,
429 826, 829, 833, 838, 840, 843, 845, 846, 847, 848,
430 849, 850, 854, 856, 858, 862, 866, 868, 872, 873,
431 877, 878, 879, 880, 883, 886, 889, 891, 892, 895,
432 897, 898, 899, 902, 903, 906, 908, 911, 915, 917,
433 920, 922, 925, 928, 930, 931, 932, 933, 936, 939,
434 942, 944, 946, 947, 950, 954, 958, 960, 961, 962,
435 963, 966, 970, 974, 976, 977, 978, 981, 983, 984,
436 985, 988, 990, 991, 992, 995, 997, 998, 1001, 1003,
437 1004, 1005, 1008, 1010, 1011, 1012, 1013, 1014, 1017, 1019,
438 1020, 1023, 1025, 1028, 1030, 1033, 1035, 1038, 1040, 1043,
439 1045, 1048, 1050, 1053, 1055, 1058, 1062, 1065, 1066, 1069,
445 #if YYDEBUG != 0 || defined (YYERROR_VERBOSE)
447 static const char * const yytname[] = { "$","error","$undefined.","PLUS_TK",
448 "MINUS_TK","MULT_TK","DIV_TK","REM_TK","LS_TK","SRS_TK","ZRS_TK","AND_TK","XOR_TK",
449 "OR_TK","BOOL_AND_TK","BOOL_OR_TK","EQ_TK","NEQ_TK","GT_TK","GTE_TK","LT_TK",
450 "LTE_TK","PLUS_ASSIGN_TK","MINUS_ASSIGN_TK","MULT_ASSIGN_TK","DIV_ASSIGN_TK",
451 "REM_ASSIGN_TK","LS_ASSIGN_TK","SRS_ASSIGN_TK","ZRS_ASSIGN_TK","AND_ASSIGN_TK",
452 "XOR_ASSIGN_TK","OR_ASSIGN_TK","PUBLIC_TK","PRIVATE_TK","PROTECTED_TK","STATIC_TK",
453 "FINAL_TK","SYNCHRONIZED_TK","VOLATILE_TK","TRANSIENT_TK","NATIVE_TK","PAD_TK",
454 "ABSTRACT_TK","MODIFIER_TK","DECR_TK","INCR_TK","DEFAULT_TK","IF_TK","THROW_TK",
455 "BOOLEAN_TK","DO_TK","IMPLEMENTS_TK","THROWS_TK","BREAK_TK","IMPORT_TK","ELSE_TK",
456 "INSTANCEOF_TK","RETURN_TK","VOID_TK","CATCH_TK","INTERFACE_TK","CASE_TK","EXTENDS_TK",
457 "FINALLY_TK","SUPER_TK","WHILE_TK","CLASS_TK","SWITCH_TK","CONST_TK","TRY_TK",
458 "FOR_TK","NEW_TK","CONTINUE_TK","GOTO_TK","PACKAGE_TK","THIS_TK","BYTE_TK","SHORT_TK",
459 "INT_TK","LONG_TK","CHAR_TK","INTEGRAL_TK","FLOAT_TK","DOUBLE_TK","FP_TK","ID_TK",
460 "REL_QM_TK","REL_CL_TK","NOT_TK","NEG_TK","ASSIGN_ANY_TK","ASSIGN_TK","OP_TK",
461 "CP_TK","OCB_TK","CCB_TK","OSB_TK","CSB_TK","SC_TK","C_TK","DOT_TK","STRING_LIT_TK",
462 "CHAR_LIT_TK","INT_LIT_TK","FP_LIT_TK","TRUE_TK","FALSE_TK","BOOL_LIT_TK","NULL_TK",
463 "goal","literal","type","primitive_type","reference_type","class_or_interface_type",
464 "class_type","interface_type","array_type","name","simple_name","qualified_name",
465 "identifier","compilation_unit","import_declarations","type_declarations","package_declaration",
466 "import_declaration","single_type_import_declaration","type_import_on_demand_declaration",
467 "type_declaration","modifiers","class_declaration","@1","@2","super","interfaces",
468 "interface_type_list","class_body","class_body_declarations","class_body_declaration",
469 "class_member_declaration","field_declaration","variable_declarators","variable_declarator",
470 "variable_declarator_id","variable_initializer","method_declaration","method_header",
471 "method_declarator","formal_parameter_list","formal_parameter","throws","class_type_list",
472 "method_body","static_initializer","static","constructor_declaration","constructor_declarator",
473 "constructor_body","explicit_constructor_invocation","this_or_super","interface_declaration",
474 "extends_interfaces","interface_body","interface_member_declarations","interface_member_declaration",
475 "constant_declaration","abstract_method_declaration","array_initializer","variable_initializers",
476 "block","block_statements","block_statement","local_variable_declaration_statement",
477 "local_variable_declaration","statement","statement_nsi","statement_without_trailing_substatement",
478 "empty_statement","label_decl","labeled_statement","labeled_statement_nsi","expression_statement",
479 "statement_expression","if_then_statement","if_then_else_statement","if_then_else_statement_nsi",
480 "switch_statement","switch_block","switch_block_statement_groups","switch_block_statement_group",
481 "switch_labels","switch_label","while_expression","while_statement","while_statement_nsi",
482 "do_statement_begin","do_statement","for_statement","for_statement_nsi","for_header",
483 "for_begin","for_init","for_update","statement_expression_list","break_statement",
484 "continue_statement","return_statement","throw_statement","synchronized_statement",
485 "synchronized","try_statement","catches","catch_clause","finally","primary",
486 "primary_no_new_array","class_instance_creation_expression","something_dot_new",
487 "argument_list","array_creation_expression","dim_exprs","dim_expr","dims","field_access",
488 "method_invocation","array_access","postfix_expression","post_increment_expression",
489 "post_decrement_expression","unary_expression","pre_increment_expression","pre_decrement_expression",
490 "unary_expression_not_plus_minus","cast_expression","multiplicative_expression",
491 "additive_expression","shift_expression","relational_expression","equality_expression",
492 "and_expression","exclusive_or_expression","inclusive_or_expression","conditional_and_expression",
493 "conditional_or_expression","conditional_expression","assignment_expression",
494 "assignment","left_hand_side","assignment_operator","expression","constant_expression", NULL
498 static const short yyr1[] = { 0,
499 110, 111, 111, 111, 111, 111, 111, 112, 112, 113,
500 113, 113, 114, 114, 115, 116, 117, 118, 118, 118,
501 119, 119, 120, 121, 122, 123, 123, 123, 123, 123,
502 123, 123, 123, 124, 124, 125, 125, 126, 127, 127,
503 128, 129, 130, 130, 130, 131, 131, 133, 132, 134,
504 132, 135, 135, 136, 136, 137, 137, 138, 138, 139,
505 139, 140, 140, 140, 140, 141, 141, 141, 141, 142,
506 142, 143, 143, 144, 144, 145, 145, 146, 146, 147,
507 148, 148, 148, 148, 149, 149, 149, 150, 150, 151,
508 151, 152, 152, 153, 153, 154, 154, 154, 155, 155,
509 156, 157, 157, 157, 157, 158, 158, 159, 159, 159,
510 159, 160, 160, 160, 160, 161, 161, 162, 162, 162,
511 162, 163, 163, 164, 164, 165, 165, 166, 166, 166,
512 166, 167, 168, 169, 169, 169, 169, 170, 170, 171,
513 171, 172, 172, 173, 173, 173, 174, 175, 175, 176,
514 176, 176, 176, 176, 176, 177, 177, 177, 177, 177,
515 178, 178, 178, 178, 178, 178, 178, 178, 178, 178,
516 178, 179, 180, 181, 182, 183, 184, 184, 184, 184,
517 184, 184, 184, 185, 186, 187, 188, 189, 189, 189,
518 189, 190, 190, 191, 192, 192, 193, 193, 194, 195,
519 196, 197, 198, 199, 199, 200, 200, 201, 202, 203,
520 203, 203, 204, 204, 205, 205, 206, 206, 207, 207,
521 208, 208, 209, 210, 210, 211, 212, 212, 212, 213,
522 213, 214, 215, 216, 216, 217, 217, 217, 217, 217,
523 217, 217, 217, 217, 217, 217, 218, 218, 218, 218,
524 218, 218, 218, 218, 219, 219, 220, 220, 220, 221,
525 221, 221, 221, 221, 221, 222, 222, 223, 224, 224,
526 225, 225, 226, 226, 226, 226, 226, 226, 227, 227,
527 228, 228, 228, 228, 229, 230, 231, 231, 231, 231,
528 231, 232, 233, 234, 234, 234, 234, 235, 235, 235,
529 235, 236, 236, 236, 236, 237, 237, 237, 238, 238,
530 238, 238, 239, 239, 239, 239, 239, 239, 240, 240,
531 240, 241, 241, 242, 242, 243, 243, 244, 244, 245,
532 245, 246, 246, 247, 247, 248, 249, 249, 249, 250,
536 static const short yyr2[] = { 0,
537 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
538 1, 1, 1, 1, 1, 1, 1, 3, 3, 3,
539 1, 1, 1, 3, 1, 0, 1, 1, 1, 2,
540 2, 2, 3, 1, 2, 1, 2, 3, 1, 1,
541 3, 5, 1, 1, 1, 1, 2, 0, 7, 0,
542 6, 0, 2, 0, 2, 1, 3, 2, 3, 1,
543 2, 1, 1, 1, 1, 1, 1, 1, 1, 3,
544 4, 1, 3, 1, 3, 1, 3, 1, 1, 2,
545 3, 3, 4, 4, 3, 4, 3, 1, 3, 2,
546 3, 0, 2, 1, 3, 1, 2, 1, 2, 3,
547 1, 3, 4, 4, 5, 3, 4, 2, 3, 3,
548 4, 4, 5, 7, 6, 1, 1, 3, 4, 4,
549 5, 2, 3, 2, 3, 1, 2, 1, 1, 1,
550 1, 1, 2, 2, 3, 3, 4, 1, 3, 2,
551 3, 1, 2, 1, 1, 1, 2, 2, 3, 1,
552 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
553 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
554 1, 1, 2, 2, 2, 2, 1, 1, 1, 1,
555 1, 1, 1, 5, 7, 7, 5, 2, 3, 3,
556 4, 1, 2, 2, 1, 2, 3, 2, 4, 2,
557 2, 1, 7, 7, 6, 7, 6, 2, 2, 0,
558 1, 1, 0, 1, 1, 3, 2, 3, 2, 3,
559 2, 3, 3, 5, 5, 1, 3, 3, 4, 1,
560 2, 5, 2, 1, 1, 1, 1, 3, 1, 1,
561 1, 1, 3, 3, 3, 3, 5, 4, 6, 5,
562 4, 5, 5, 6, 3, 3, 1, 3, 3, 3,
563 3, 4, 4, 4, 4, 1, 2, 3, 2, 3,
564 3, 3, 3, 4, 5, 6, 5, 6, 4, 4,
565 1, 1, 1, 1, 2, 2, 1, 1, 2, 2,
566 1, 2, 2, 1, 2, 2, 1, 5, 4, 4,
567 5, 1, 3, 3, 3, 1, 3, 3, 1, 3,
568 3, 3, 1, 3, 3, 3, 3, 3, 1, 3,
569 3, 1, 3, 1, 3, 1, 3, 1, 3, 1,
570 3, 1, 5, 1, 1, 3, 1, 1, 1, 1,
574 static const short yydefact[] = { 26,
575 46, 0, 0, 0, 0, 45, 1, 28, 29, 27,
576 34, 39, 40, 36, 0, 43, 44, 25, 0, 21,
577 22, 23, 0, 52, 0, 32, 35, 37, 30, 31,
578 47, 0, 0, 41, 0, 0, 0, 0, 118, 0,
579 54, 38, 0, 33, 0, 52, 0, 24, 17, 122,
580 15, 12, 0, 10, 11, 124, 0, 8, 9, 13,
581 14, 15, 0, 130, 132, 0, 131, 0, 126, 128,
582 129, 0, 120, 16, 53, 0, 50, 0, 119, 54,
583 42, 0, 92, 76, 0, 72, 74, 92, 0, 0,
584 0, 0, 0, 133, 125, 127, 123, 56, 55, 0,
585 121, 48, 0, 0, 0, 82, 70, 0, 0, 0,
586 81, 18, 20, 19, 92, 0, 92, 0, 0, 51,
587 0, 85, 0, 0, 0, 88, 94, 93, 87, 76,
588 73, 0, 0, 0, 0, 0, 0, 0, 237, 0,
589 0, 0, 0, 6, 5, 2, 3, 4, 7, 236,
590 0, 282, 75, 79, 281, 234, 239, 0, 235, 240,
591 241, 242, 294, 283, 284, 302, 287, 288, 291, 297,
592 306, 309, 313, 319, 322, 324, 326, 328, 330, 332,
593 334, 342, 335, 0, 78, 77, 84, 71, 83, 57,
594 46, 0, 58, 21, 0, 68, 0, 60, 62, 66,
595 67, 0, 63, 0, 64, 92, 69, 65, 49, 90,
596 0, 86, 0, 0, 282, 240, 242, 289, 290, 293,
597 292, 0, 0, 0, 16, 0, 295, 296, 0, 282,
598 0, 134, 0, 138, 0, 0, 0, 0, 0, 0,
599 0, 0, 286, 285, 0, 0, 0, 0, 0, 0,
600 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
601 0, 0, 0, 0, 0, 340, 341, 0, 46, 0,
602 0, 202, 0, 0, 0, 0, 0, 0, 0, 0,
603 140, 172, 0, 8, 282, 23, 0, 146, 161, 0,
604 142, 144, 0, 145, 150, 162, 0, 151, 163, 0,
605 152, 153, 164, 0, 154, 0, 165, 155, 210, 0,
606 166, 167, 168, 170, 169, 0, 171, 239, 241, 0,
607 180, 181, 178, 179, 177, 0, 92, 59, 61, 98,
608 80, 96, 99, 0, 91, 89, 95, 245, 272, 0,
609 260, 266, 0, 261, 0, 0, 0, 0, 0, 0,
610 0, 238, 136, 135, 0, 244, 273, 0, 257, 0,
611 243, 255, 246, 256, 271, 0, 0, 303, 304, 305,
612 307, 308, 310, 311, 312, 315, 317, 314, 316, 0,
613 318, 320, 321, 323, 325, 327, 329, 331, 0, 336,
614 0, 0, 217, 0, 221, 0, 0, 0, 0, 208,
615 219, 0, 0, 148, 0, 173, 0, 141, 143, 147,
616 226, 174, 176, 200, 0, 0, 212, 215, 209, 211,
617 0, 0, 106, 0, 0, 97, 100, 0, 102, 0,
618 269, 0, 267, 262, 0, 265, 263, 264, 248, 0,
619 299, 0, 0, 300, 137, 139, 274, 0, 279, 0,
620 280, 251, 0, 0, 0, 223, 218, 222, 0, 0,
621 0, 0, 227, 230, 228, 220, 238, 149, 0, 0,
622 213, 0, 0, 107, 103, 117, 237, 108, 282, 0,
623 0, 0, 104, 277, 0, 268, 270, 250, 247, 298,
624 301, 259, 258, 275, 0, 252, 253, 333, 0, 199,
625 0, 0, 233, 231, 229, 0, 216, 0, 214, 213,
626 0, 105, 0, 109, 0, 0, 110, 278, 249, 276,
627 254, 0, 184, 0, 150, 0, 157, 158, 0, 159,
628 160, 0, 0, 187, 0, 0, 0, 0, 225, 224,
629 0, 111, 0, 0, 0, 0, 175, 201, 0, 0,
630 0, 188, 0, 192, 0, 195, 0, 0, 205, 0,
631 0, 112, 0, 0, 185, 213, 0, 198, 343, 0,
632 190, 193, 0, 189, 194, 196, 232, 203, 204, 0,
633 0, 113, 0, 0, 213, 197, 191, 115, 0, 0,
634 0, 0, 114, 0, 207, 0, 186, 206, 0, 0,
638 static const short yydefgoto[] = { 599,
639 150, 283, 151, 59, 60, 75, 50, 61, 152, 20,
640 21, 22, 7, 8, 9, 10, 11, 12, 13, 14,
641 287, 288, 121, 100, 41, 77, 99, 120, 197, 198,
642 199, 65, 85, 86, 87, 153, 201, 66, 83, 125,
643 126, 106, 128, 331, 203, 204, 205, 206, 429, 480,
644 481, 17, 38, 39, 68, 69, 70, 71, 154, 235,
645 289, 575, 291, 292, 293, 294, 524, 295, 296, 297,
646 298, 527, 299, 300, 301, 302, 528, 303, 534, 553,
647 554, 555, 556, 304, 305, 530, 306, 307, 308, 531,
648 309, 310, 419, 508, 509, 311, 312, 313, 314, 315,
649 316, 317, 463, 464, 465, 155, 156, 157, 158, 358,
650 159, 341, 342, 343, 160, 161, 162, 163, 164, 165,
651 166, 167, 168, 169, 170, 171, 172, 173, 174, 175,
652 176, 177, 178, 179, 180, 181, 182, 183, 184, 268,
656 static const short yypact[] = { 11,
657 -32768, -52, -52, -52, -52,-32768,-32768, 18, 154, 18,
658 -32768,-32768,-32768,-32768, 185,-32768,-32768,-32768, 187,-32768,
659 -32768,-32768, -24, -5, 332, 154,-32768,-32768, 18, 154,
660 -32768, -52, -52,-32768, 5, -52, 745, 162,-32768, -52,
661 76,-32768, -52, 154, -24, -5, 57,-32768,-32768,-32768,
662 41,-32768, -52,-32768,-32768,-32768, -52, 71,-32768,-32768,
663 170, 113, 518,-32768,-32768, 126,-32768, 758,-32768,-32768,
664 -32768, -52,-32768,-32768,-32768, -52,-32768, 162,-32768, 76,
665 -32768, 249, -15, 249, 321,-32768, 205, -15, 149, 255,
666 265, -52, -52,-32768,-32768,-32768,-32768,-32768, 198, 294,
667 -32768,-32768, 58, -52, 298,-32768,-32768, -52, 1568, 309,
668 -32768,-32768,-32768,-32768, -15, 359, -15, -52, 596,-32768,
669 294,-32768, -52, 199, -13,-32768,-32768, 310,-32768,-32768,
670 -32768, 2315, 2315, 2315, 2315, 329, 352, 88,-32768, 2315,
671 2315, 2315, 1438,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
672 354, 393,-32768,-32768, 360, 369,-32768, -52,-32768, 347,
673 -32768, 378, 437,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
674 445, 495, 483, 380, 492, 461, 462, 467, 502, 1,
675 -32768,-32768,-32768, 412,-32768,-32768,-32768,-32768,-32768,-32768,
676 423, 2513,-32768, 429, 518,-32768, 683,-32768,-32768,-32768,
677 -32768, 128,-32768, 432,-32768, 471,-32768,-32768,-32768, 435,
678 -52,-32768, 337, -52, 52,-32768,-32768,-32768,-32768,-32768,
679 -32768, 468, -52, 440, 440, 449,-32768,-32768, 174, 414,
680 454,-32768, 460,-32768, 235, 500, 1619, 2315, 261, -21,
681 2315, 476,-32768,-32768, 2315, 2315, 2315, 2315, 2315, 2315,
682 2315, 2315, 2315, 2315, 2315, 2315, 88, 2315, 2315, 2315,
683 2315, 2315, 2315, 2315, 2315,-32768,-32768, 2315, 480, 482,
684 2315,-32768, 60, 1684, 490, 491, 432, 494, 89, 2315,
685 -32768,-32768, -52, 137, 559, 488, 496,-32768,-32768, 2579,
686 -32768,-32768, 493,-32768,-32768,-32768, 2975,-32768,-32768, 498,
687 -32768,-32768,-32768, 2975,-32768, 2975,-32768,-32768, 1029, 499,
688 -32768,-32768,-32768,-32768,-32768, 497,-32768, 96, 196, 437,
689 485, 505,-32768,-32768,-32768, 323, 471,-32768,-32768,-32768,
690 -32768, 506, 507, 504, 435,-32768,-32768,-32768, 508, 1735,
691 440,-32768, 339, 440, 339, 1800, 2315, 509, 180, 1735,
692 246, 1364,-32768,-32768, 1503,-32768,-32768, 3,-32768, 512,
693 -32768,-32768,-32768,-32768, 520, 513, 1851,-32768,-32768,-32768,
694 445, 445, 495, 495, 495, 483, 483, 483, 483, 71,
695 -32768, 380, 380, 492, 461, 462, 467, 502, 501,-32768,
696 2315, 522,-32768, 523,-32768, 526, 2315, 2315, 322,-32768,
697 -32768, 528, 534, 535, 1916,-32768, -52,-32768,-32768,-32768,
698 -32768,-32768,-32768,-32768, 572, 199,-32768,-32768,-32768, 539,
699 1967, 2315,-32768, 141, 504,-32768,-32768, 2645, 543, 2032,
700 -32768, 545,-32768, 547, 549,-32768, 547,-32768, 294, 244,
701 -32768, 2315, 1364,-32768,-32768,-32768,-32768, 1323,-32768, 2083,
702 -32768, 294, 251, 2315, 555,-32768,-32768,-32768, 564, 565,
703 573, 432, 322,-32768,-32768,-32768,-32768, 535, 576, 1171,
704 1171, 566, 582,-32768, 571, 352, 584,-32768, 849, 2711,
705 587, 2777,-32768,-32768, 256,-32768,-32768,-32768, 294,-32768,
706 -32768,-32768,-32768,-32768, 260,-32768, 294,-32768, 3041,-32768,
707 588, 337,-32768,-32768,-32768, 2315,-32768, 591, 539, 1171,
708 6,-32768, 183,-32768, 2843, 2148,-32768,-32768,-32768,-32768,
709 -32768, 593,-32768, 631, 632, 3041,-32768,-32768, 3041,-32768,
710 -32768, 590, -16,-32768, 600, 601, 2975, 602,-32768,-32768,
711 604,-32768, 603, 272, 2315, 2975,-32768,-32768, 2199, 611,
712 2315,-32768, 45,-32768, 2381,-32768, 432, 609,-32768, 2975,
713 2264,-32768, 610, 616,-32768, 1171, 613,-32768,-32768, 615,
714 -32768,-32768, 2447,-32768, 2909,-32768,-32768,-32768,-32768, 619,
715 280,-32768, 3041, 621, 1171,-32768,-32768,-32768, 623, 670,
716 3041, 636,-32768, 3041,-32768, 3041,-32768,-32768, 725, 735,
720 static const short yypgoto[] = {-32768,
721 -32768, 139, -26, 479, 253, -85, 43,-32768, 59, -72,
722 -32768, -3,-32768, 729, 150,-32768, 20,-32768,-32768, 200,
723 15, 586,-32768,-32768, 695, 665,-32768, -113,-32768, 550,
724 -32768, -83, -80, 640, -105, -138,-32768, -71, 93, 426,
725 -211, -82,-32768,-32768,-32768,-32768,-32768, 554, 328,-32768,
726 -32768, -25, 709, -18,-32768, 688,-32768,-32768, 103,-32768,
727 -93, -188, -276,-32768, 450, -167, -372, -378,-32768, -151,
728 -32768,-32768,-32768, -306,-32768,-32768,-32768,-32768,-32768,-32768,
729 207, 208, -499, -134,-32768,-32768,-32768,-32768,-32768,-32768,
730 -32768, -58,-32768, -453, 458,-32768,-32768,-32768,-32768,-32768,
731 -32768,-32768,-32768, 295, 300,-32768,-32768, 138,-32768, -283,
732 -32768, 546, 14, -208, 1037, 191, 1059, 327, 410, 434,
733 -65, 487, 570, -343,-32768, 305, 308, 159, 306, 510,
734 511, 519, 517, 524,-32768, 319, 531, 669,-32768,-32768,
742 static const short yytable[] = { 23,
743 24, 336, 418, 290, 234, 111, 539, 209, 444, 47,
744 58, 67, 116, 409, 15, 264, 345, 210, 127, 73,
745 349, 351, 15, 15, 15, 208, 79, 27, 45, 46,
746 550, 48, 187, 18, 189, 200, 58, 104, 36, 48,
747 15, 58, 67, 15, 15, 551, 194, 202, 27, 82,
748 364, 63, 226, 84, 1, 576, 538, 40, 15, 101,
749 19, 1, 440, 25, 18, 2, 218, 219, 220, 221,
750 37, 3, 2, 576, 227, 228, 58, 4, 3, 552,
751 212, 105, 63, 453, 4, 5, 213, 265, 82, 84,
752 18, 550, 58, 207, 51, 62, 447, 58, 51, 491,
753 192, 1, 448, 208, 130, 335, 551, 52, 332, 6,
754 333, 224, 584, 200, 97, 229, 6, 124, 98, 130,
755 525, 62, 194, 334, 194, 202, 62, 76, 337, 412,
756 51, 592, 434, 195, 51, 437, 414, 52, 415, 54,
757 571, 43, 55, 18, 237, 18, 485, 525, 238, 88,
758 525, 122, 239, 547, 242, 81, 548, 26, 393, 30,
759 190, 62, 51, 507, 418, 284, 495, 89, 58, 54,
760 58, 207, 55, 18, 18, 57, 51, 62, 44, 368,
761 369, 370, 62, 399, 115, 117, 58, 401, 286, -183,
762 215, 215, 215, 215, -183, -183, 51, 1, 215, 215,
763 230, 93, 404, 418, 525, 409, 57, 130, 28, 91,
764 590, 195, 525, 43, 3, 525, 446, 525, 595, 339,
765 4, 597, 192, 598, 94, 28, 330, 124, 31, 28,
766 380, 185, 544, 89, 474, 48, 365, 236, 409, 482,
767 213, 123, 31, 28, 425, 32, 112, 541, 52, 361,
768 285, 33, 6, 62, 362, 62, 37, 57, 363, 418,
769 58, 72, 211, 284, 231, 185, 90, 347, 18, 394,
770 348, 62, 51, 442, 236, 402, 435, 581, 418, 130,
771 54, 441, 284, 55, 18, 34, 286, 35, 49, -182,
772 535, 515, 74, 286, -182, -182, 109, 118, 409, 58,
773 286, 110, 286, 215, 215, 215, 215, 215, 215, 215,
774 215, 215, 215, 215, 215, 62, 215, 215, 215, 215,
775 215, 215, 215, 416, 49, 488, 468, 361, 49, 318,
776 354, 523, 362, 93, 355, 57, 363, 489, 496, 443,
777 124, 103, 435, 448, 497, 62, 18, 526, 285, 518,
778 448, 123, 113, 520, 433, 448, 74, 433, 412, 448,
779 360, 414, 114, 366, 529, 563, 1, 285, 503, 559,
780 49, 448, 52, 589, 526, 519, 490, 526, 565, 448,
781 1, 461, 319, 521, 62, 462, 52, 389, 119, 58,
782 225, 529, 579, 392, 529, 129, 396, 253, 254, 255,
783 256, 284, 403, 130, 54, 215, 186, 55, 18, 214,
784 215, 376, 377, 378, 379, 523, 423, 540, 54, 107,
785 108, 55, 18, 559, 286, 407, 565, 318, 579, 222,
786 42, 526, 43, 143, 318, 435, 257, -338, -338, 526,
787 532, 318, 526, 318, 526, 436, 318, 438, 529, 245,
788 246, 247, 223, 284, 236, 284, 529, 188, 108, 529,
789 240, 529, 432, 577, 123, 241, 74, 532, -339, -339,
790 532, 260, 360, 261, 62, 58, 286, 185, 286, 262,
791 319, 243, 244, -337, -337, 237, 479, 319, 284, 238,
792 250, 251, 252, 239, 319, 286, 319, 248, 249, 319,
793 215, 215, 266, 267, -337, -337, 237, 258, 259, 48,
794 350, 286, 215, 455, 239, 263, 124, -101, 320, 459,
795 460, 326, 286, 104, 532, 286, 192, 360, 284, -283,
796 -283, 110, 532, 286, 338, 532, 340, 532, 285, 31,
797 285, 346, 286, 472, 473, 52, 284, 352, 284, -284,
798 -284, 286, 371, 372, 407, 353, 286, 373, 374, 375,
799 62, 31, 33, 382, 383, 318, 356, 52, 367, 286,
800 493, 286, -226, 285, 391, 406, 92, 54, 32, 286,
801 55, 18, 397, 398, 33, 16, 400, 286, 454, 422,
802 286, 410, 286, 16, 16, 16, 413, 421, 428, 54,
803 430, 321, 55, 18, 426, 427, 431, 318, 318, 449,
804 451, 16, 450, 285, 16, 16, 320, 318, 319, 318,
805 456, 457, 64, 320, 458, 322, 466, 467, 536, 16,
806 320, 285, 320, 285, 108, 320, 318, 469, 470, 191,
807 123, 483, 486, 435, -15, 52, 487, 318, 499, -337,
808 -337, 237, 318, 64, 53, 405, 3, 500, 501, 239,
809 319, 319, 4, 318, 510, 502, 318, 564, 506, 512,
810 319, 567, 319, 569, 318, 511, -116, 54, 323, 516,
811 55, 18, 533, 318, 537, 545, 546, -156, 549, 319,
812 192, 193, 318, 557, 558, 560, 561, 318, 568, 321,
813 319, 562, 586, 318, 196, 319, 321, 578, 582, 583,
814 318, 585, 318, 321, 591, 321, 319, 588, 321, 319,
815 318, 593, 318, 322, 600, 594, 191, 319, 318, 596,
816 322, 318, 52, 318, 601, 381, 319, 322, 29, 322,
817 80, 53, 322, 3, 102, 319, 329, 131, 327, 4,
818 319, 424, 475, 78, 320, 96, 319, 504, 417, 572,
819 573, 324, 505, 319, 54, 319, 420, 55, 18, 384,
820 344, 385, 498, 319, 0, 319, 323, 192, 328, 387,
821 386, 319, 196, 323, 319, 0, 319, 388, 1, 0,
822 323, 0, 323, 0, 52, 323, 320, 320, 390, 0,
823 0, 1, 0, 53, 0, 3, 320, 52, 320, 0,
824 0, 4, 0, 0, 0, 0, 53, 0, 3, 0,
825 0, 0, 0, 0, 4, 320, 54, 0, 0, 55,
826 18, 0, 0, 0, 0, 0, 320, 321, 0, 54,
827 56, 320, 55, 18, 0, 0, 0, 0, 0, 0,
828 0, 0, 320, 95, 0, 320, 0, 0, 0, 324,
829 325, 322, 0, 320, 0, 0, 324, 0, 0, 0,
830 0, 0, 320, 324, 0, 324, 0, 0, 324, 321,
831 321, 320, 0, 0, 0, 0, 320, 0, 0, 321,
832 0, 321, 320, 0, 0, 0, 0, 0, 0, 320,
833 0, 320, 0, 322, 322, 0, 0, 0, 321, 320,
834 0, 320, 0, 322, 323, 322, 0, 320, 0, 321,
835 320, 0, 320, 0, 321, 0, 0, 0, 0, 0,
836 0, 0, 322, 0, -15, 321, 0, 0, 321, -337,
837 -337, 237, 0, 322, 0, 405, 321, 0, 322, 513,
838 0, 0, 0, 0, 0, 321, 323, 323, 325, 322,
839 0, 0, 322, 0, 321, 325, 323, 0, 323, 321,
840 322, 0, 325, 0, 325, 321, 0, 325, 0, 322,
841 0, 0, 321, 0, 321, 323, 0, 0, 322, 0,
842 0, 0, 321, 322, 321, 0, 323, 324, 0, 322,
843 321, 323, 0, 321, 0, 321, 322, 0, 322, 0,
844 0, 0, 323, 0, 0, 323, 322, 0, 322, 0,
845 0, 0, 0, 323, 322, 0, 0, 322, 0, 322,
846 0, 0, 323, 0, 0, 0, 0, 0, 0, 324,
847 324, 323, 0, 0, 0, 0, 323, 0, 0, 324,
848 0, 324, 323, 0, 0, 0, 0, 0, 0, 323,
849 0, 323, 0, 0, 0, 0, 0, 0, 324, 323,
850 0, 323, 1, 134, 135, 0, 0, 323, 52, 324,
851 323, 0, 323, 0, 324, 0, 0, 136, 0, 0,
852 0, 0, 0, 137, 0, 324, 325, 0, 324, 0,
853 138, 0, 0, 0, 139, 0, 324, 0, 0, 0,
854 54, 0, 0, 55, 18, 324, 0, 0, 0, 0,
855 0, 280, 0, 0, 324, 0, 0, 0, 0, 324,
856 144, 145, 146, 147, 0, 324, 148, 149, 325, 325,
857 0, 0, 324, 0, 324, 0, 0, 0, 325, 0,
858 325, 0, 324, 0, 324, 0, 0, 0, 0, 0,
859 324, 0, 0, 324, 0, 324, 0, 325, 216, 216,
860 216, 216, 0, 0, 0, 0, 216, 216, 325, 0,
861 0, 0, 0, 325, 0, 0, 0, 0, 0, 0,
862 217, 217, 217, 217, 325, 0, 0, 325, 217, 217,
863 0, 0, 0, 0, 0, 325, 0, 0, 0, 0,
864 0, 0, 0, 0, 325, 134, 135, 0, 0, 0,
865 52, 0, 0, 325, 0, 0, 0, 0, 325, 136,
866 0, 0, 0, 0, 325, 137, 0, 0, 0, 0,
867 0, 325, 138, 325, 0, 0, 139, 0, 0, 0,
868 0, 325, 54, 325, 0, 55, 18, 0, 0, 325,
869 0, 0, 325, 280, 325, 0, 0, 0, 0, 0,
870 0, 0, 144, 145, 146, 147, 0, 0, 148, 149,
871 0, 216, 216, 216, 216, 216, 216, 216, 216, 216,
872 216, 216, 216, 0, 216, 216, 216, 216, 216, 216,
873 216, 0, 0, 217, 217, 217, 217, 217, 217, 217,
874 217, 217, 217, 217, 217, 0, 217, 217, 217, 217,
875 217, 217, 217, 492, 0, 132, 133, 0, 0, 0,
876 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
877 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
878 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
879 0, 0, 0, 0, 0, 0, 0, 134, 135, 0,
880 0, 0, 52, 0, 0, 0, 0, 0, 0, 0,
881 0, 136, 0, 216, 0, 0, 0, 137, 216, 0,
882 0, 0, 0, 0, 138, 0, 0, 0, 139, 0,
883 0, 0, 0, 0, 54, 217, 0, 55, 18, 0,
884 217, 140, 141, 52, 0, 142, 0, 0, 0, 0,
885 0, 0, 136, 0, 144, 145, 146, 147, 137, 0,
886 148, 149, 0, 0, 0, 138, 0, 0, 0, 139,
887 132, 133, 0, 0, 0, 54, 0, 0, 55, 18,
888 0, 0, 140, 141, 0, 0, 142, 0, 0, 0,
889 0, 0, 0, 0, 0, 144, 145, 146, 147, 0,
890 0, 148, 149, 0, 0, 0, 0, 0, 216, 216,
891 0, 0, 134, 135, 0, 0, 0, 52, 0, 0,
892 216, 0, 0, 0, 0, 0, 136, 0, 0, 0,
893 217, 217, 137, 0, 0, 132, 133, 0, 0, 138,
894 0, 0, 217, 139, 0, 0, 0, 0, 0, 54,
895 0, 0, 55, 18, 0, 0, 140, 141, 0, 0,
896 142, 0, 143, 232, 0, 0, 0, 233, 0, 144,
897 145, 146, 147, 0, 0, 148, 149, 134, 135, 0,
898 0, 0, 52, 0, 0, 0, 0, 0, 0, 0,
899 0, 136, 0, 0, 0, 0, 0, 137, 0, 0,
900 132, 133, 0, 0, 138, 0, 0, 0, 139, 0,
901 0, 0, 0, 0, 54, 0, 0, 55, 18, 0,
902 0, 140, 141, 0, 0, 142, 0, 143, 445, 0,
903 0, 0, 0, 0, 144, 145, 146, 147, 0, 0,
904 148, 149, 134, 135, 0, 0, 0, 52, 0, 0,
905 0, 132, 133, 0, 0, 0, 136, 0, 0, 0,
906 0, 0, 137, 0, 0, 0, 0, 0, 0, 138,
907 0, 0, 0, 139, 0, 0, 0, 0, 0, 54,
908 0, 0, 55, 18, 0, 0, 140, 141, 0, 0,
909 142, 0, 143, 134, 135, 0, 0, 0, 52, 144,
910 145, 146, 147, 0, 0, 148, 149, 136, 0, 0,
911 0, 0, 0, 137, 0, 0, 132, 133, 0, 0,
912 138, 0, 0, 0, 139, 0, 0, 0, 0, 0,
913 54, 0, 0, 55, 18, 0, 0, 140, 141, 0,
914 0, 142, 357, 0, 0, 0, 0, 0, 0, 0,
915 144, 145, 146, 147, 0, 0, 148, 149, 134, 135,
916 0, 0, 0, 52, 0, 0, 0, 132, 133, 0,
917 0, 0, 136, 0, 0, 0, 0, 0, 137, 0,
918 0, 0, 0, 0, 0, 138, 0, 0, 0, 139,
919 0, 0, 0, 0, 0, 54, 0, 0, 55, 18,
920 0, 0, 140, 141, 0, 0, 142, 0, 0, 134,
921 135, 0, 395, 0, 52, 144, 145, 146, 147, 0,
922 0, 148, 149, 136, 0, 0, 0, 0, 0, 137,
923 0, 0, 132, 133, 0, 0, 138, 0, 0, 0,
924 139, 0, 0, 0, 0, 0, 54, 0, 0, 55,
925 18, 0, 0, 140, 141, 0, 0, 142, 0, 0,
926 0, 0, 431, 0, 0, 0, 144, 145, 146, 147,
927 0, 0, 148, 149, 134, 135, 0, 0, 0, 52,
928 0, 0, 0, 132, 133, 0, 0, 0, 136, 0,
929 0, 0, 0, 0, 137, 0, 0, 0, 0, 0,
930 0, 138, 0, 0, 0, 139, 0, 0, 0, 0,
931 0, 54, 0, 0, 55, 18, 0, 0, 140, 141,
932 0, 0, 142, 439, 0, 134, 135, 0, 0, 0,
933 52, 144, 145, 146, 147, 0, 0, 148, 149, 136,
934 0, 0, 0, 0, 0, 137, 0, 0, 132, 133,
935 0, 0, 138, 0, 0, 0, 139, 0, 0, 0,
936 0, 0, 54, 0, 0, 55, 18, 0, 0, 140,
937 141, 0, 0, 142, 452, 0, 0, 0, 0, 0,
938 0, 0, 144, 145, 146, 147, 0, 0, 148, 149,
939 134, 135, 0, 0, 0, 52, 0, 0, 0, 132,
940 133, 0, 0, 0, 136, 0, 0, 0, 0, 0,
941 137, 0, 0, 0, 0, 0, 0, 138, 0, 0,
942 0, 139, 0, 0, 0, 0, 0, 54, 0, 0,
943 55, 18, 0, 0, 140, 141, 0, 0, 142, 0,
944 0, 134, 135, 114, 0, 0, 52, 144, 145, 146,
945 147, 0, 0, 148, 149, 136, 0, 0, 0, 0,
946 0, 137, 0, 0, 132, 133, 0, 0, 138, 0,
947 0, 0, 139, 0, 0, 0, 0, 0, 54, 0,
948 0, 55, 18, 0, 0, 140, 141, 0, 0, 142,
949 0, 0, 0, 0, 0, 471, 0, 0, 144, 145,
950 146, 147, 0, 0, 148, 149, 134, 135, 0, 0,
951 0, 52, 0, 0, 0, 132, 133, 0, 0, 0,
952 136, 0, 0, 0, 0, 0, 137, 0, 0, 0,
953 0, 0, 0, 138, 0, 0, 0, 139, 0, 0,
954 0, 0, 0, 54, 0, 0, 55, 18, 0, 0,
955 140, 141, 0, 0, 142, 484, 0, 134, 135, 0,
956 0, 0, 52, 144, 145, 146, 147, 0, 0, 148,
957 149, 136, 0, 0, 0, 0, 0, 137, 0, 0,
958 132, 133, 0, 0, 138, 0, 0, 0, 139, 0,
959 0, 0, 0, 0, 54, 0, 0, 55, 18, 0,
960 0, 140, 141, 0, 0, 142, 494, 0, 0, 0,
961 0, 0, 0, 0, 144, 145, 146, 147, 0, 0,
962 148, 149, 134, 135, 0, 0, 0, 52, 0, 0,
963 0, 132, 133, 0, 0, 0, 136, 0, 0, 0,
964 0, 0, 137, 0, 0, 0, 0, 0, 0, 138,
965 0, 0, 0, 139, 0, 0, 0, 0, 0, 54,
966 0, 0, 55, 18, 0, 0, 140, 141, 0, 0,
967 142, 543, 0, 134, 135, 0, 0, 0, 52, 144,
968 145, 146, 147, 0, 0, 148, 149, 136, 0, 0,
969 0, 0, 0, 137, 0, 0, 132, 133, 0, 0,
970 138, 0, 0, 0, 139, 0, 0, 0, 0, 0,
971 54, 0, 0, 55, 18, 0, 0, 140, 141, 0,
972 0, 142, 0, 0, 0, 0, 0, 566, 0, 0,
973 144, 145, 146, 147, 0, 0, 148, 149, 134, 135,
974 0, 0, 0, 52, 0, 0, 0, 132, 133, 0,
975 0, 0, 136, 0, 0, 0, 0, 0, 137, 0,
976 0, 0, 0, 0, 0, 138, 0, 0, 0, 139,
977 0, 0, 0, 0, 0, 54, 0, 0, 55, 18,
978 0, 0, 140, 141, 0, 0, 142, 580, 0, 134,
979 135, 0, 0, 0, 52, 144, 145, 146, 147, 0,
980 0, 148, 149, 136, 0, 0, 0, 0, 0, 137,
981 0, 0, 0, 0, 0, 0, 138, 0, 0, 0,
982 139, 0, 0, 0, 0, 0, 54, 0, 0, 55,
983 18, 0, 0, 140, 141, 0, 0, 142, 0, 0,
984 0, 0, 0, 0, 0, 0, 144, 145, 146, 147,
985 0, 0, 148, 149, 269, 134, 135, 550, 270, 271,
986 52, 272, 0, 0, 273, 0, 0, 0, 274, 136,
987 0, 0, 551, 0, 0, 137, 275, 4, 276, 0,
988 277, 278, 138, 279, 0, 0, 139, 0, 0, 0,
989 0, 0, 54, 0, 0, 55, 18, 0, 0, 0,
990 0, 0, 0, 280, 0, 192, 574, 0, 0, 282,
991 0, 0, 144, 145, 146, 147, 0, 0, 148, 149,
992 269, 134, 135, 550, 270, 271, 52, 272, 0, 0,
993 273, 0, 0, 0, 274, 136, 0, 0, 551, 0,
994 0, 137, 275, 4, 276, 0, 277, 278, 138, 279,
995 0, 0, 139, 0, 0, 0, 0, 0, 54, 0,
996 0, 55, 18, 0, 0, 0, 0, 0, 0, 280,
997 0, 192, 587, 0, 0, 282, 0, 0, 144, 145,
998 146, 147, 0, 0, 148, 149, 269, 134, 135, 0,
999 270, 271, 52, 272, 0, 0, 273, 0, 0, 0,
1000 274, 136, 0, 0, 0, 0, 0, 137, 275, 4,
1001 276, 0, 277, 278, 138, 279, 0, 0, 139, 0,
1002 0, 0, 0, 0, 54, 0, 0, 55, 18, 0,
1003 0, 0, 0, 0, 0, 280, 0, 192, 281, 0,
1004 0, 282, 0, 0, 144, 145, 146, 147, 0, 0,
1005 148, 149, 269, 134, 135, 0, 270, 271, 52, 272,
1006 0, 0, 273, 0, 0, 0, 274, 136, 0, 0,
1007 0, 0, 0, 137, 275, 4, 276, 0, 277, 278,
1008 138, 279, 0, 0, 139, 0, 0, 0, 0, 0,
1009 54, 0, 0, 55, 18, 0, 0, 0, 0, 0,
1010 0, 280, 0, 192, 408, 0, 0, 282, 0, 0,
1011 144, 145, 146, 147, 0, 0, 148, 149, 269, 134,
1012 135, 0, 270, 271, 52, 272, 0, 0, 273, 0,
1013 0, 0, 274, 136, 0, 0, 0, 0, 0, 476,
1014 275, 4, 276, 0, 277, 278, 138, 279, 0, 0,
1015 477, 0, 0, 0, 0, 0, 54, 0, 0, 55,
1016 18, 0, 0, 0, 0, 0, 0, 280, 0, 192,
1017 478, 0, 0, 282, 0, 0, 144, 145, 146, 147,
1018 0, 0, 148, 149, 269, 134, 135, 0, 270, 271,
1019 52, 272, 0, 0, 273, 0, 0, 0, 274, 136,
1020 0, 0, 0, 0, 0, 137, 275, 4, 276, 0,
1021 277, 278, 138, 279, 0, 0, 139, 0, 0, 0,
1022 0, 0, 54, 0, 0, 55, 18, 0, 0, 0,
1023 0, 0, 0, 280, 0, 192, 514, 0, 0, 282,
1024 0, 0, 144, 145, 146, 147, 0, 0, 148, 149,
1025 269, 134, 135, 0, 270, 271, 52, 272, 0, 0,
1026 273, 0, 0, 0, 274, 136, 0, 0, 0, 0,
1027 0, 137, 275, 4, 276, 0, 277, 278, 138, 279,
1028 0, 0, 139, 0, 0, 0, 0, 0, 54, 0,
1029 0, 55, 18, 0, 0, 0, 0, 0, 0, 280,
1030 0, 192, 517, 0, 0, 282, 0, 0, 144, 145,
1031 146, 147, 0, 0, 148, 149, 269, 134, 135, 0,
1032 270, 271, 52, 272, 0, 0, 273, 0, 0, 0,
1033 274, 136, 0, 0, 0, 0, 0, 137, 275, 4,
1034 276, 0, 277, 278, 138, 279, 0, 0, 139, 0,
1035 0, 0, 0, 0, 54, 0, 0, 55, 18, 0,
1036 0, 0, 0, 0, 0, 280, 0, 192, 542, 0,
1037 0, 282, 0, 0, 144, 145, 146, 147, 0, 0,
1038 148, 149, 269, 134, 135, 0, 270, 271, 52, 272,
1039 0, 0, 273, 0, 0, 0, 274, 136, 0, 0,
1040 0, 0, 0, 137, 275, 4, 276, 0, 277, 278,
1041 138, 279, 0, 0, 139, 0, 0, 0, 0, 0,
1042 54, 0, 0, 55, 18, 0, 0, 0, 0, 0,
1043 0, 280, 0, 192, 0, 0, 0, 282, 0, 0,
1044 144, 145, 146, 147, 0, 0, 148, 149, 411, 134,
1045 135, 0, 270, 271, 52, 272, 0, 0, 273, 0,
1046 0, 0, 274, 136, 0, 0, 0, 0, 0, 137,
1047 275, 0, 276, 0, 277, 278, 138, 279, 0, 0,
1048 139, 0, 0, 0, 0, 0, 54, 0, 0, 55,
1049 18, 0, 0, 0, 0, 0, 0, 280, 0, 192,
1050 0, 0, 0, 282, 0, 0, 144, 145, 146, 147,
1051 0, 0, 148, 149, 411, 134, 135, 0, 522, 271,
1052 52, 272, 0, 0, 273, 0, 0, 0, 274, 136,
1053 0, 0, 0, 0, 0, 137, 275, 0, 276, 0,
1054 277, 278, 138, 279, 0, 0, 139, 0, 0, 0,
1055 0, 0, 54, 0, 0, 55, 18, 0, 0, 0,
1056 0, 0, 0, 280, 0, 192, 0, 0, 0, 282,
1057 0, 0, 144, 145, 146, 147, 0, 0, 148, 149
1060 static const short yycheck[] = { 3,
1061 4, 213, 309, 192, 143, 88, 1, 121, 352, 5,
1062 37, 37, 93, 290, 0, 15, 225, 123, 104, 38,
1063 229, 230, 8, 9, 10, 119, 45, 8, 32, 33,
1064 47, 35, 115, 86, 117, 119, 63, 53, 63, 43,
1065 26, 68, 68, 29, 30, 62, 119, 119, 29, 53,
1066 72, 37, 138, 57, 44, 555, 510, 63, 44, 78,
1067 2, 44, 346, 5, 86, 55, 132, 133, 134, 135,
1068 95, 61, 55, 573, 140, 141, 103, 67, 61, 96,
1069 94, 97, 68, 367, 67, 75, 100, 87, 92, 93,
1070 86, 47, 119, 119, 36, 37, 94, 124, 40, 443,
1071 95, 44, 100, 197, 108, 211, 62, 50, 202, 99,
1072 204, 138, 566, 197, 72, 142, 99, 103, 76, 123,
1073 499, 63, 195, 206, 197, 197, 68, 52, 214, 297,
1074 72, 585, 341, 119, 76, 344, 304, 50, 306, 82,
1075 96, 101, 85, 86, 93, 86, 430, 526, 97, 57,
1076 529, 94, 101, 526, 158, 99, 529, 8, 99, 10,
1077 118, 103, 104, 470, 471, 192, 450, 97, 195, 82,
1078 197, 197, 85, 86, 86, 37, 118, 119, 29, 245,
1079 246, 247, 124, 277, 92, 93, 213, 99, 192, 94,
1080 132, 133, 134, 135, 99, 100, 138, 44, 140, 141,
1081 142, 63, 283, 510, 583, 482, 68, 211, 9, 97,
1082 583, 197, 591, 101, 61, 594, 355, 596, 591, 223,
1083 67, 594, 95, 596, 99, 26, 99, 213, 44, 30,
1084 257, 109, 516, 97, 94, 239, 240, 101, 515, 428,
1085 100, 103, 44, 44, 327, 61, 98, 65, 50, 67,
1086 192, 67, 99, 195, 72, 197, 95, 119, 76, 566,
1087 287, 100, 124, 290, 142, 143, 97, 94, 86, 273,
1088 97, 213, 214, 94, 101, 279, 97, 561, 585, 283,
1089 82, 347, 309, 85, 86, 99, 290, 101, 36, 94,
1090 502, 480, 40, 297, 99, 100, 92, 100, 575, 326,
1091 304, 97, 306, 245, 246, 247, 248, 249, 250, 251,
1092 252, 253, 254, 255, 256, 257, 258, 259, 260, 261,
1093 262, 263, 264, 309, 72, 439, 407, 67, 76, 192,
1094 96, 499, 72, 195, 100, 197, 76, 94, 452, 94,
1095 326, 93, 97, 100, 94, 287, 86, 499, 290, 94,
1096 100, 213, 98, 94, 341, 100, 104, 344, 526, 100,
1097 238, 529, 98, 241, 499, 94, 44, 309, 462, 537,
1098 118, 100, 50, 94, 526, 489, 442, 529, 546, 100,
1099 44, 60, 192, 497, 326, 64, 50, 265, 95, 416,
1100 138, 526, 560, 271, 529, 98, 274, 18, 19, 20,
1101 21, 428, 280, 407, 82, 347, 98, 85, 86, 100,
1102 352, 253, 254, 255, 256, 583, 94, 511, 82, 99,
1103 100, 85, 86, 591, 428, 287, 594, 290, 596, 101,
1104 99, 583, 101, 95, 297, 97, 57, 91, 92, 591,
1105 499, 304, 594, 306, 596, 343, 309, 345, 583, 5,
1106 6, 7, 101, 480, 101, 482, 591, 99, 100, 594,
1107 101, 596, 340, 557, 326, 97, 214, 526, 91, 92,
1108 529, 11, 350, 12, 416, 502, 480, 355, 482, 13,
1109 290, 45, 46, 91, 92, 93, 428, 297, 515, 97,
1110 8, 9, 10, 101, 304, 499, 306, 3, 4, 309,
1111 442, 443, 91, 92, 91, 92, 93, 16, 17, 513,
1112 97, 515, 454, 391, 101, 14, 502, 95, 192, 397,
1113 398, 93, 526, 53, 583, 529, 95, 405, 555, 45,
1114 46, 97, 591, 537, 67, 594, 97, 596, 480, 44,
1115 482, 93, 546, 421, 422, 50, 573, 94, 575, 45,
1116 46, 555, 248, 249, 416, 96, 560, 250, 251, 252,
1117 502, 44, 67, 258, 259, 428, 67, 50, 93, 573,
1118 448, 575, 93, 515, 93, 88, 59, 82, 61, 583,
1119 85, 86, 93, 93, 67, 0, 93, 591, 88, 93,
1120 594, 99, 596, 8, 9, 10, 99, 99, 95, 82,
1121 93, 192, 85, 86, 99, 99, 98, 470, 471, 98,
1122 98, 26, 93, 555, 29, 30, 290, 480, 428, 482,
1123 99, 99, 37, 297, 99, 192, 99, 94, 506, 44,
1124 304, 573, 306, 575, 100, 309, 499, 66, 100, 44,
1125 502, 99, 98, 97, 86, 50, 98, 510, 94, 91,
1126 92, 93, 515, 68, 59, 97, 61, 94, 94, 101,
1127 470, 471, 67, 526, 99, 93, 529, 545, 93, 99,
1128 480, 549, 482, 551, 537, 94, 93, 82, 192, 93,
1129 85, 86, 95, 546, 94, 93, 56, 56, 99, 499,
1130 95, 96, 555, 94, 94, 94, 93, 560, 88, 290,
1131 510, 99, 88, 566, 119, 515, 297, 99, 99, 94,
1132 573, 99, 575, 304, 94, 306, 526, 99, 309, 529,
1133 583, 99, 585, 290, 0, 56, 44, 537, 591, 94,
1134 297, 594, 50, 596, 0, 257, 546, 304, 10, 306,
1135 46, 59, 309, 61, 80, 555, 197, 108, 195, 67,
1136 560, 326, 425, 45, 428, 68, 566, 463, 309, 553,
1137 553, 192, 463, 573, 82, 575, 309, 85, 86, 260,
1138 225, 261, 454, 583, -1, 585, 290, 95, 96, 263,
1139 262, 591, 197, 297, 594, -1, 596, 264, 44, -1,
1140 304, -1, 306, -1, 50, 309, 470, 471, 268, -1,
1141 -1, 44, -1, 59, -1, 61, 480, 50, 482, -1,
1142 -1, 67, -1, -1, -1, -1, 59, -1, 61, -1,
1143 -1, -1, -1, -1, 67, 499, 82, -1, -1, 85,
1144 86, -1, -1, -1, -1, -1, 510, 428, -1, 82,
1145 96, 515, 85, 86, -1, -1, -1, -1, -1, -1,
1146 -1, -1, 526, 96, -1, 529, -1, -1, -1, 290,
1147 192, 428, -1, 537, -1, -1, 297, -1, -1, -1,
1148 -1, -1, 546, 304, -1, 306, -1, -1, 309, 470,
1149 471, 555, -1, -1, -1, -1, 560, -1, -1, 480,
1150 -1, 482, 566, -1, -1, -1, -1, -1, -1, 573,
1151 -1, 575, -1, 470, 471, -1, -1, -1, 499, 583,
1152 -1, 585, -1, 480, 428, 482, -1, 591, -1, 510,
1153 594, -1, 596, -1, 515, -1, -1, -1, -1, -1,
1154 -1, -1, 499, -1, 86, 526, -1, -1, 529, 91,
1155 92, 93, -1, 510, -1, 97, 537, -1, 515, 101,
1156 -1, -1, -1, -1, -1, 546, 470, 471, 290, 526,
1157 -1, -1, 529, -1, 555, 297, 480, -1, 482, 560,
1158 537, -1, 304, -1, 306, 566, -1, 309, -1, 546,
1159 -1, -1, 573, -1, 575, 499, -1, -1, 555, -1,
1160 -1, -1, 583, 560, 585, -1, 510, 428, -1, 566,
1161 591, 515, -1, 594, -1, 596, 573, -1, 575, -1,
1162 -1, -1, 526, -1, -1, 529, 583, -1, 585, -1,
1163 -1, -1, -1, 537, 591, -1, -1, 594, -1, 596,
1164 -1, -1, 546, -1, -1, -1, -1, -1, -1, 470,
1165 471, 555, -1, -1, -1, -1, 560, -1, -1, 480,
1166 -1, 482, 566, -1, -1, -1, -1, -1, -1, 573,
1167 -1, 575, -1, -1, -1, -1, -1, -1, 499, 583,
1168 -1, 585, 44, 45, 46, -1, -1, 591, 50, 510,
1169 594, -1, 596, -1, 515, -1, -1, 59, -1, -1,
1170 -1, -1, -1, 65, -1, 526, 428, -1, 529, -1,
1171 72, -1, -1, -1, 76, -1, 537, -1, -1, -1,
1172 82, -1, -1, 85, 86, 546, -1, -1, -1, -1,
1173 -1, 93, -1, -1, 555, -1, -1, -1, -1, 560,
1174 102, 103, 104, 105, -1, 566, 108, 109, 470, 471,
1175 -1, -1, 573, -1, 575, -1, -1, -1, 480, -1,
1176 482, -1, 583, -1, 585, -1, -1, -1, -1, -1,
1177 591, -1, -1, 594, -1, 596, -1, 499, 132, 133,
1178 134, 135, -1, -1, -1, -1, 140, 141, 510, -1,
1179 -1, -1, -1, 515, -1, -1, -1, -1, -1, -1,
1180 132, 133, 134, 135, 526, -1, -1, 529, 140, 141,
1181 -1, -1, -1, -1, -1, 537, -1, -1, -1, -1,
1182 -1, -1, -1, -1, 546, 45, 46, -1, -1, -1,
1183 50, -1, -1, 555, -1, -1, -1, -1, 560, 59,
1184 -1, -1, -1, -1, 566, 65, -1, -1, -1, -1,
1185 -1, 573, 72, 575, -1, -1, 76, -1, -1, -1,
1186 -1, 583, 82, 585, -1, 85, 86, -1, -1, 591,
1187 -1, -1, 594, 93, 596, -1, -1, -1, -1, -1,
1188 -1, -1, 102, 103, 104, 105, -1, -1, 108, 109,
1189 -1, 245, 246, 247, 248, 249, 250, 251, 252, 253,
1190 254, 255, 256, -1, 258, 259, 260, 261, 262, 263,
1191 264, -1, -1, 245, 246, 247, 248, 249, 250, 251,
1192 252, 253, 254, 255, 256, -1, 258, 259, 260, 261,
1193 262, 263, 264, 1, -1, 3, 4, -1, -1, -1,
1194 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1195 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1196 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1197 -1, -1, -1, -1, -1, -1, -1, 45, 46, -1,
1198 -1, -1, 50, -1, -1, -1, -1, -1, -1, -1,
1199 -1, 59, -1, 347, -1, -1, -1, 65, 352, -1,
1200 -1, -1, -1, -1, 72, -1, -1, -1, 76, -1,
1201 -1, -1, -1, -1, 82, 347, -1, 85, 86, -1,
1202 352, 89, 90, 50, -1, 93, -1, -1, -1, -1,
1203 -1, -1, 59, -1, 102, 103, 104, 105, 65, -1,
1204 108, 109, -1, -1, -1, 72, -1, -1, -1, 76,
1205 3, 4, -1, -1, -1, 82, -1, -1, 85, 86,
1206 -1, -1, 89, 90, -1, -1, 93, -1, -1, -1,
1207 -1, -1, -1, -1, -1, 102, 103, 104, 105, -1,
1208 -1, 108, 109, -1, -1, -1, -1, -1, 442, 443,
1209 -1, -1, 45, 46, -1, -1, -1, 50, -1, -1,
1210 454, -1, -1, -1, -1, -1, 59, -1, -1, -1,
1211 442, 443, 65, -1, -1, 3, 4, -1, -1, 72,
1212 -1, -1, 454, 76, -1, -1, -1, -1, -1, 82,
1213 -1, -1, 85, 86, -1, -1, 89, 90, -1, -1,
1214 93, -1, 95, 96, -1, -1, -1, 100, -1, 102,
1215 103, 104, 105, -1, -1, 108, 109, 45, 46, -1,
1216 -1, -1, 50, -1, -1, -1, -1, -1, -1, -1,
1217 -1, 59, -1, -1, -1, -1, -1, 65, -1, -1,
1218 3, 4, -1, -1, 72, -1, -1, -1, 76, -1,
1219 -1, -1, -1, -1, 82, -1, -1, 85, 86, -1,
1220 -1, 89, 90, -1, -1, 93, -1, 95, 96, -1,
1221 -1, -1, -1, -1, 102, 103, 104, 105, -1, -1,
1222 108, 109, 45, 46, -1, -1, -1, 50, -1, -1,
1223 -1, 3, 4, -1, -1, -1, 59, -1, -1, -1,
1224 -1, -1, 65, -1, -1, -1, -1, -1, -1, 72,
1225 -1, -1, -1, 76, -1, -1, -1, -1, -1, 82,
1226 -1, -1, 85, 86, -1, -1, 89, 90, -1, -1,
1227 93, -1, 95, 45, 46, -1, -1, -1, 50, 102,
1228 103, 104, 105, -1, -1, 108, 109, 59, -1, -1,
1229 -1, -1, -1, 65, -1, -1, 3, 4, -1, -1,
1230 72, -1, -1, -1, 76, -1, -1, -1, -1, -1,
1231 82, -1, -1, 85, 86, -1, -1, 89, 90, -1,
1232 -1, 93, 94, -1, -1, -1, -1, -1, -1, -1,
1233 102, 103, 104, 105, -1, -1, 108, 109, 45, 46,
1234 -1, -1, -1, 50, -1, -1, -1, 3, 4, -1,
1235 -1, -1, 59, -1, -1, -1, -1, -1, 65, -1,
1236 -1, -1, -1, -1, -1, 72, -1, -1, -1, 76,
1237 -1, -1, -1, -1, -1, 82, -1, -1, 85, 86,
1238 -1, -1, 89, 90, -1, -1, 93, -1, -1, 45,
1239 46, -1, 99, -1, 50, 102, 103, 104, 105, -1,
1240 -1, 108, 109, 59, -1, -1, -1, -1, -1, 65,
1241 -1, -1, 3, 4, -1, -1, 72, -1, -1, -1,
1242 76, -1, -1, -1, -1, -1, 82, -1, -1, 85,
1243 86, -1, -1, 89, 90, -1, -1, 93, -1, -1,
1244 -1, -1, 98, -1, -1, -1, 102, 103, 104, 105,
1245 -1, -1, 108, 109, 45, 46, -1, -1, -1, 50,
1246 -1, -1, -1, 3, 4, -1, -1, -1, 59, -1,
1247 -1, -1, -1, -1, 65, -1, -1, -1, -1, -1,
1248 -1, 72, -1, -1, -1, 76, -1, -1, -1, -1,
1249 -1, 82, -1, -1, 85, 86, -1, -1, 89, 90,
1250 -1, -1, 93, 94, -1, 45, 46, -1, -1, -1,
1251 50, 102, 103, 104, 105, -1, -1, 108, 109, 59,
1252 -1, -1, -1, -1, -1, 65, -1, -1, 3, 4,
1253 -1, -1, 72, -1, -1, -1, 76, -1, -1, -1,
1254 -1, -1, 82, -1, -1, 85, 86, -1, -1, 89,
1255 90, -1, -1, 93, 94, -1, -1, -1, -1, -1,
1256 -1, -1, 102, 103, 104, 105, -1, -1, 108, 109,
1257 45, 46, -1, -1, -1, 50, -1, -1, -1, 3,
1258 4, -1, -1, -1, 59, -1, -1, -1, -1, -1,
1259 65, -1, -1, -1, -1, -1, -1, 72, -1, -1,
1260 -1, 76, -1, -1, -1, -1, -1, 82, -1, -1,
1261 85, 86, -1, -1, 89, 90, -1, -1, 93, -1,
1262 -1, 45, 46, 98, -1, -1, 50, 102, 103, 104,
1263 105, -1, -1, 108, 109, 59, -1, -1, -1, -1,
1264 -1, 65, -1, -1, 3, 4, -1, -1, 72, -1,
1265 -1, -1, 76, -1, -1, -1, -1, -1, 82, -1,
1266 -1, 85, 86, -1, -1, 89, 90, -1, -1, 93,
1267 -1, -1, -1, -1, -1, 99, -1, -1, 102, 103,
1268 104, 105, -1, -1, 108, 109, 45, 46, -1, -1,
1269 -1, 50, -1, -1, -1, 3, 4, -1, -1, -1,
1270 59, -1, -1, -1, -1, -1, 65, -1, -1, -1,
1271 -1, -1, -1, 72, -1, -1, -1, 76, -1, -1,
1272 -1, -1, -1, 82, -1, -1, 85, 86, -1, -1,
1273 89, 90, -1, -1, 93, 94, -1, 45, 46, -1,
1274 -1, -1, 50, 102, 103, 104, 105, -1, -1, 108,
1275 109, 59, -1, -1, -1, -1, -1, 65, -1, -1,
1276 3, 4, -1, -1, 72, -1, -1, -1, 76, -1,
1277 -1, -1, -1, -1, 82, -1, -1, 85, 86, -1,
1278 -1, 89, 90, -1, -1, 93, 94, -1, -1, -1,
1279 -1, -1, -1, -1, 102, 103, 104, 105, -1, -1,
1280 108, 109, 45, 46, -1, -1, -1, 50, -1, -1,
1281 -1, 3, 4, -1, -1, -1, 59, -1, -1, -1,
1282 -1, -1, 65, -1, -1, -1, -1, -1, -1, 72,
1283 -1, -1, -1, 76, -1, -1, -1, -1, -1, 82,
1284 -1, -1, 85, 86, -1, -1, 89, 90, -1, -1,
1285 93, 94, -1, 45, 46, -1, -1, -1, 50, 102,
1286 103, 104, 105, -1, -1, 108, 109, 59, -1, -1,
1287 -1, -1, -1, 65, -1, -1, 3, 4, -1, -1,
1288 72, -1, -1, -1, 76, -1, -1, -1, -1, -1,
1289 82, -1, -1, 85, 86, -1, -1, 89, 90, -1,
1290 -1, 93, -1, -1, -1, -1, -1, 99, -1, -1,
1291 102, 103, 104, 105, -1, -1, 108, 109, 45, 46,
1292 -1, -1, -1, 50, -1, -1, -1, 3, 4, -1,
1293 -1, -1, 59, -1, -1, -1, -1, -1, 65, -1,
1294 -1, -1, -1, -1, -1, 72, -1, -1, -1, 76,
1295 -1, -1, -1, -1, -1, 82, -1, -1, 85, 86,
1296 -1, -1, 89, 90, -1, -1, 93, 94, -1, 45,
1297 46, -1, -1, -1, 50, 102, 103, 104, 105, -1,
1298 -1, 108, 109, 59, -1, -1, -1, -1, -1, 65,
1299 -1, -1, -1, -1, -1, -1, 72, -1, -1, -1,
1300 76, -1, -1, -1, -1, -1, 82, -1, -1, 85,
1301 86, -1, -1, 89, 90, -1, -1, 93, -1, -1,
1302 -1, -1, -1, -1, -1, -1, 102, 103, 104, 105,
1303 -1, -1, 108, 109, 44, 45, 46, 47, 48, 49,
1304 50, 51, -1, -1, 54, -1, -1, -1, 58, 59,
1305 -1, -1, 62, -1, -1, 65, 66, 67, 68, -1,
1306 70, 71, 72, 73, -1, -1, 76, -1, -1, -1,
1307 -1, -1, 82, -1, -1, 85, 86, -1, -1, -1,
1308 -1, -1, -1, 93, -1, 95, 96, -1, -1, 99,
1309 -1, -1, 102, 103, 104, 105, -1, -1, 108, 109,
1310 44, 45, 46, 47, 48, 49, 50, 51, -1, -1,
1311 54, -1, -1, -1, 58, 59, -1, -1, 62, -1,
1312 -1, 65, 66, 67, 68, -1, 70, 71, 72, 73,
1313 -1, -1, 76, -1, -1, -1, -1, -1, 82, -1,
1314 -1, 85, 86, -1, -1, -1, -1, -1, -1, 93,
1315 -1, 95, 96, -1, -1, 99, -1, -1, 102, 103,
1316 104, 105, -1, -1, 108, 109, 44, 45, 46, -1,
1317 48, 49, 50, 51, -1, -1, 54, -1, -1, -1,
1318 58, 59, -1, -1, -1, -1, -1, 65, 66, 67,
1319 68, -1, 70, 71, 72, 73, -1, -1, 76, -1,
1320 -1, -1, -1, -1, 82, -1, -1, 85, 86, -1,
1321 -1, -1, -1, -1, -1, 93, -1, 95, 96, -1,
1322 -1, 99, -1, -1, 102, 103, 104, 105, -1, -1,
1323 108, 109, 44, 45, 46, -1, 48, 49, 50, 51,
1324 -1, -1, 54, -1, -1, -1, 58, 59, -1, -1,
1325 -1, -1, -1, 65, 66, 67, 68, -1, 70, 71,
1326 72, 73, -1, -1, 76, -1, -1, -1, -1, -1,
1327 82, -1, -1, 85, 86, -1, -1, -1, -1, -1,
1328 -1, 93, -1, 95, 96, -1, -1, 99, -1, -1,
1329 102, 103, 104, 105, -1, -1, 108, 109, 44, 45,
1330 46, -1, 48, 49, 50, 51, -1, -1, 54, -1,
1331 -1, -1, 58, 59, -1, -1, -1, -1, -1, 65,
1332 66, 67, 68, -1, 70, 71, 72, 73, -1, -1,
1333 76, -1, -1, -1, -1, -1, 82, -1, -1, 85,
1334 86, -1, -1, -1, -1, -1, -1, 93, -1, 95,
1335 96, -1, -1, 99, -1, -1, 102, 103, 104, 105,
1336 -1, -1, 108, 109, 44, 45, 46, -1, 48, 49,
1337 50, 51, -1, -1, 54, -1, -1, -1, 58, 59,
1338 -1, -1, -1, -1, -1, 65, 66, 67, 68, -1,
1339 70, 71, 72, 73, -1, -1, 76, -1, -1, -1,
1340 -1, -1, 82, -1, -1, 85, 86, -1, -1, -1,
1341 -1, -1, -1, 93, -1, 95, 96, -1, -1, 99,
1342 -1, -1, 102, 103, 104, 105, -1, -1, 108, 109,
1343 44, 45, 46, -1, 48, 49, 50, 51, -1, -1,
1344 54, -1, -1, -1, 58, 59, -1, -1, -1, -1,
1345 -1, 65, 66, 67, 68, -1, 70, 71, 72, 73,
1346 -1, -1, 76, -1, -1, -1, -1, -1, 82, -1,
1347 -1, 85, 86, -1, -1, -1, -1, -1, -1, 93,
1348 -1, 95, 96, -1, -1, 99, -1, -1, 102, 103,
1349 104, 105, -1, -1, 108, 109, 44, 45, 46, -1,
1350 48, 49, 50, 51, -1, -1, 54, -1, -1, -1,
1351 58, 59, -1, -1, -1, -1, -1, 65, 66, 67,
1352 68, -1, 70, 71, 72, 73, -1, -1, 76, -1,
1353 -1, -1, -1, -1, 82, -1, -1, 85, 86, -1,
1354 -1, -1, -1, -1, -1, 93, -1, 95, 96, -1,
1355 -1, 99, -1, -1, 102, 103, 104, 105, -1, -1,
1356 108, 109, 44, 45, 46, -1, 48, 49, 50, 51,
1357 -1, -1, 54, -1, -1, -1, 58, 59, -1, -1,
1358 -1, -1, -1, 65, 66, 67, 68, -1, 70, 71,
1359 72, 73, -1, -1, 76, -1, -1, -1, -1, -1,
1360 82, -1, -1, 85, 86, -1, -1, -1, -1, -1,
1361 -1, 93, -1, 95, -1, -1, -1, 99, -1, -1,
1362 102, 103, 104, 105, -1, -1, 108, 109, 44, 45,
1363 46, -1, 48, 49, 50, 51, -1, -1, 54, -1,
1364 -1, -1, 58, 59, -1, -1, -1, -1, -1, 65,
1365 66, -1, 68, -1, 70, 71, 72, 73, -1, -1,
1366 76, -1, -1, -1, -1, -1, 82, -1, -1, 85,
1367 86, -1, -1, -1, -1, -1, -1, 93, -1, 95,
1368 -1, -1, -1, 99, -1, -1, 102, 103, 104, 105,
1369 -1, -1, 108, 109, 44, 45, 46, -1, 48, 49,
1370 50, 51, -1, -1, 54, -1, -1, -1, 58, 59,
1371 -1, -1, -1, -1, -1, 65, 66, -1, 68, -1,
1372 70, 71, 72, 73, -1, -1, 76, -1, -1, -1,
1373 -1, -1, 82, -1, -1, 85, 86, -1, -1, -1,
1374 -1, -1, -1, 93, -1, 95, -1, -1, -1, 99,
1375 -1, -1, 102, 103, 104, 105, -1, -1, 108, 109
1379 /* -*-C-*- Note some compilers choke on comments on `#line' lines. */
1380 #line 3 "/usr/lib/bison.simple"
1382 /* Skeleton output parser for bison,
1383 Copyright (C) 1984, 1989, 1990 Free Software Foundation, Inc.
1385 This program is free software; you can redistribute it and/or modify
1386 it under the terms of the GNU General Public License as published by
1387 the Free Software Foundation; either version 2, or (at your option)
1390 This program is distributed in the hope that it will be useful,
1391 but WITHOUT ANY WARRANTY; without even the implied warranty of
1392 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
1393 GNU General Public License for more details.
1395 You should have received a copy of the GNU General Public License
1396 along with this program; if not, write to the Free Software
1397 Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */
1399 /* As a special exception, when this file is copied by Bison into a
1400 Bison output file, you may use that output file without restriction.
1401 This special exception was added by the Free Software Foundation
1402 in version 1.24 of Bison. */
1406 #define alloca __builtin_alloca
1407 #else /* not GNU C. */
1408 #if (!defined (__STDC__) && defined (sparc)) || defined (__sparc__) || defined (__sparc) || defined (__sgi)
1410 #else /* not sparc */
1411 #if defined (MSDOS) && !defined (__TURBOC__)
1413 #else /* not MSDOS, or __TURBOC__ */
1417 #else /* not MSDOS, __TURBOC__, or _AIX */
1421 void *alloca (unsigned int);
1423 #else /* not __cplusplus */
1425 #endif /* not __cplusplus */
1427 #endif /* not _AIX */
1428 #endif /* not MSDOS, or __TURBOC__ */
1429 #endif /* not sparc. */
1430 #endif /* not GNU C. */
1431 #endif /* alloca not defined. */
1433 /* This is the parser code that is written into each bison parser
1434 when the %semantic_parser declaration is not specified in the grammar.
1435 It was written by Richard Stallman by simplifying the hairy parser
1436 used when %semantic_parser is specified. */
1438 /* Note: there must be only one dollar sign in this file.
1439 It is replaced by the list of actions, each action
1440 as one case of the switch. */
1442 #define yyerrok (yyerrstatus = 0)
1443 #define yyclearin (yychar = YYEMPTY)
1446 #define YYACCEPT return(0)
1447 #define YYABORT return(1)
1448 #define YYERROR goto yyerrlab1
1449 /* Like YYERROR except do call yyerror.
1450 This remains here temporarily to ease the
1451 transition to the new meaning of YYERROR, for GCC.
1452 Once GCC version 2 has supplanted version 1, this can go. */
1453 #define YYFAIL goto yyerrlab
1454 #define YYRECOVERING() (!!yyerrstatus)
1455 #define YYBACKUP(token, value) \
1457 if (yychar == YYEMPTY && yylen == 1) \
1458 { yychar = (token), yylval = (value); \
1459 yychar1 = YYTRANSLATE (yychar); \
1464 { yyerror ("syntax error: cannot back up"); YYERROR; } \
1468 #define YYERRCODE 256
1471 #define YYLEX yylex()
1477 #define YYLEX yylex(&yylval, &yylloc, YYLEX_PARAM)
1479 #define YYLEX yylex(&yylval, &yylloc)
1481 #else /* not YYLSP_NEEDED */
1483 #define YYLEX yylex(&yylval, YYLEX_PARAM)
1485 #define YYLEX yylex(&yylval)
1487 #endif /* not YYLSP_NEEDED */
1490 /* If nonreentrant, generate the variables here */
1494 int yychar; /* the lookahead symbol */
1495 YYSTYPE yylval; /* the semantic value of the */
1496 /* lookahead symbol */
1499 YYLTYPE yylloc; /* location data for the lookahead */
1503 int yynerrs; /* number of parse errors so far */
1504 #endif /* not YYPURE */
1507 int yydebug; /* nonzero means print parse trace */
1508 /* Since this is uninitialized, it does not stop multiple parsers
1512 /* YYINITDEPTH indicates the initial size of the parser's stacks */
1515 #define YYINITDEPTH 200
1518 /* YYMAXDEPTH is the maximum size the stacks can grow to
1519 (effective only if the built-in stack extension method is used). */
1526 #define YYMAXDEPTH 10000
1529 /* Prevent warning if -Wstrict-prototypes. */
1534 #if __GNUC__ > 1 /* GNU C and GNU C++ define this. */
1535 #define __yy_memcpy(TO,FROM,COUNT) __builtin_memcpy(TO,FROM,COUNT)
1536 #else /* not GNU C or C++ */
1539 /* This is the most reliable way to avoid incompatibilities
1540 in available built-in functions on various systems. */
1542 __yy_memcpy (to, from, count)
1547 register char *f = from;
1548 register char *t = to;
1549 register int i = count;
1555 #else /* __cplusplus */
1557 /* This is the most reliable way to avoid incompatibilities
1558 in available built-in functions on various systems. */
1560 __yy_memcpy (char *to, char *from, int count)
1562 register char *f = from;
1563 register char *t = to;
1564 register int i = count;
1573 #line 196 "/usr/lib/bison.simple"
1575 /* The user can define YYPARSE_PARAM as the name of an argument to be passed
1576 into yyparse. The argument should have type void *.
1577 It should actually point to an object.
1578 Grammar actions can access the variable by casting it
1579 to the proper pointer type. */
1581 #ifdef YYPARSE_PARAM
1583 #define YYPARSE_PARAM_ARG void *YYPARSE_PARAM
1584 #define YYPARSE_PARAM_DECL
1585 #else /* not __cplusplus */
1586 #define YYPARSE_PARAM_ARG YYPARSE_PARAM
1587 #define YYPARSE_PARAM_DECL void *YYPARSE_PARAM;
1588 #endif /* not __cplusplus */
1589 #else /* not YYPARSE_PARAM */
1590 #define YYPARSE_PARAM_ARG
1591 #define YYPARSE_PARAM_DECL
1592 #endif /* not YYPARSE_PARAM */
1595 yyparse(YYPARSE_PARAM_ARG)
1598 register int yystate;
1600 register short *yyssp;
1601 register YYSTYPE *yyvsp;
1602 int yyerrstatus; /* number of tokens to shift before error messages enabled */
1603 int yychar1 = 0; /* lookahead token as an internal (translated) token number */
1605 short yyssa[YYINITDEPTH]; /* the state stack */
1606 YYSTYPE yyvsa[YYINITDEPTH]; /* the semantic value stack */
1608 short *yyss = yyssa; /* refer to the stacks thru separate pointers */
1609 YYSTYPE *yyvs = yyvsa; /* to allow yyoverflow to reallocate them elsewhere */
1612 YYLTYPE yylsa[YYINITDEPTH]; /* the location stack */
1613 YYLTYPE *yyls = yylsa;
1616 #define YYPOPSTACK (yyvsp--, yyssp--, yylsp--)
1618 #define YYPOPSTACK (yyvsp--, yyssp--)
1621 int yystacksize = YYINITDEPTH;
1632 YYSTYPE yyval; /* the variable used to return */
1633 /* semantic values from the action */
1640 fprintf(stderr, "Starting parse\n");
1646 yychar = YYEMPTY; /* Cause a token to be read. */
1648 /* Initialize stack pointers.
1649 Waste one element of value and location stack
1650 so that they stay on the same level as the state stack.
1651 The wasted elements are never initialized. */
1659 /* Push a new state, which is found in yystate . */
1660 /* In all cases, when you get here, the value and location stacks
1661 have just been pushed. so pushing a state here evens the stacks. */
1666 if (yyssp >= yyss + yystacksize - 1)
1668 /* Give user a chance to reallocate the stack */
1669 /* Use copies of these so that the &'s don't force the real ones into memory. */
1670 YYSTYPE *yyvs1 = yyvs;
1671 short *yyss1 = yyss;
1673 YYLTYPE *yyls1 = yyls;
1676 /* Get the current used size of the three stacks, in elements. */
1677 int size = yyssp - yyss + 1;
1680 /* Each stack pointer address is followed by the size of
1681 the data in use in that stack, in bytes. */
1683 /* This used to be a conditional around just the two extra args,
1684 but that might be undefined if yyoverflow is a macro. */
1685 yyoverflow("parser stack overflow",
1686 &yyss1, size * sizeof (*yyssp),
1687 &yyvs1, size * sizeof (*yyvsp),
1688 &yyls1, size * sizeof (*yylsp),
1691 yyoverflow("parser stack overflow",
1692 &yyss1, size * sizeof (*yyssp),
1693 &yyvs1, size * sizeof (*yyvsp),
1697 yyss = yyss1; yyvs = yyvs1;
1701 #else /* no yyoverflow */
1702 /* Extend the stack our own way. */
1703 if (yystacksize >= YYMAXDEPTH)
1705 yyerror("parser stack overflow");
1709 if (yystacksize > YYMAXDEPTH)
1710 yystacksize = YYMAXDEPTH;
1711 yyss = (short *) alloca (yystacksize * sizeof (*yyssp));
1712 __yy_memcpy ((char *)yyss, (char *)yyss1, size * sizeof (*yyssp));
1713 yyvs = (YYSTYPE *) alloca (yystacksize * sizeof (*yyvsp));
1714 __yy_memcpy ((char *)yyvs, (char *)yyvs1, size * sizeof (*yyvsp));
1716 yyls = (YYLTYPE *) alloca (yystacksize * sizeof (*yylsp));
1717 __yy_memcpy ((char *)yyls, (char *)yyls1, size * sizeof (*yylsp));
1719 #endif /* no yyoverflow */
1721 yyssp = yyss + size - 1;
1722 yyvsp = yyvs + size - 1;
1724 yylsp = yyls + size - 1;
1729 fprintf(stderr, "Stack size increased to %d\n", yystacksize);
1732 if (yyssp >= yyss + yystacksize - 1)
1738 fprintf(stderr, "Entering state %d\n", yystate);
1744 /* Do appropriate processing given the current state. */
1745 /* Read a lookahead token if we need one and don't already have one. */
1748 /* First try to decide what to do without reference to lookahead token. */
1750 yyn = yypact[yystate];
1754 /* Not known => get a lookahead token if don't already have one. */
1756 /* yychar is either YYEMPTY or YYEOF
1757 or a valid token in external form. */
1759 if (yychar == YYEMPTY)
1763 fprintf(stderr, "Reading a token: ");
1768 /* Convert token to internal form (in yychar1) for indexing tables with */
1770 if (yychar <= 0) /* This means end of input. */
1773 yychar = YYEOF; /* Don't call YYLEX any more */
1777 fprintf(stderr, "Now at end of input.\n");
1782 yychar1 = YYTRANSLATE(yychar);
1787 fprintf (stderr, "Next token is %d (%s", yychar, yytname[yychar1]);
1788 /* Give the individual parser a way to print the precise meaning
1789 of a token, for further debugging info. */
1791 YYPRINT (stderr, yychar, yylval);
1793 fprintf (stderr, ")\n");
1799 if (yyn < 0 || yyn > YYLAST || yycheck[yyn] != yychar1)
1804 /* yyn is what to do for this token type in this state.
1805 Negative => reduce, -yyn is rule number.
1806 Positive => shift, yyn is new state.
1807 New state is final state => don't bother to shift,
1808 just return success.
1809 0, or most negative number => error. */
1824 /* Shift the lookahead token. */
1828 fprintf(stderr, "Shifting token %d (%s), ", yychar, yytname[yychar1]);
1831 /* Discard the token being shifted unless it is eof. */
1832 if (yychar != YYEOF)
1840 /* count tokens shifted since error; after three, turn off error status. */
1841 if (yyerrstatus) yyerrstatus--;
1846 /* Do the default action for the current state. */
1849 yyn = yydefact[yystate];
1853 /* Do a reduction. yyn is the number of a rule to reduce with. */
1857 yyval = yyvsp[1-yylen]; /* implement default value of the action */
1864 fprintf (stderr, "Reducing via rule %d (line %d), ",
1867 /* Print the symbols being reduced, and their result. */
1868 for (i = yyprhs[yyn]; yyrhs[i] > 0; i++)
1869 fprintf (stderr, "%s ", yytname[yyrhs[i]]);
1870 fprintf (stderr, " -> %s\n", yytname[yyr1[yyn]]);
1878 #line 195 "./parse-scan.y"
1880 /* use preset global here. FIXME */
1881 yyval.node = xstrdup ("int");
1885 #line 200 "./parse-scan.y"
1887 /* use preset global here. FIXME */
1888 yyval.node = xstrdup ("double");
1892 #line 205 "./parse-scan.y"
1894 /* use preset global here. FIXME */
1895 yyval.node = xstrdup ("boolean");
1899 #line 231 "./parse-scan.y"
1901 char *n = xmalloc (strlen (yyvsp[-2].node)+2);
1903 strcpy (n+1, yyvsp[-2].node);
1908 #line 238 "./parse-scan.y"
1910 char *n = xmalloc (strlen (yyvsp[-2].node)+2);
1912 strcpy (n+1, yyvsp[-2].node);
1917 #line 258 "./parse-scan.y"
1919 char *n = xmalloc (strlen (yyvsp[-2].node)+strlen (yyvsp[0].node)+2);
1920 sprintf (n, "%s.s", yyvsp[-2].node, yyvsp[0].node);
1925 #line 292 "./parse-scan.y"
1926 { package_name = yyvsp[-1].node; ;
1929 #line 319 "./parse-scan.y"
1931 if (yyvsp[0].value == PUBLIC_TK)
1933 if (yyvsp[0].value == STATIC_TK)
1939 #line 327 "./parse-scan.y"
1941 if (yyvsp[0].value == PUBLIC_TK)
1943 if (yyvsp[0].value == STATIC_TK)
1949 #line 339 "./parse-scan.y"
1951 report_class_declaration(yyvsp[-2].node);
1956 #line 345 "./parse-scan.y"
1957 { report_class_declaration(yyvsp[-2].node); ;
1960 #line 359 "./parse-scan.y"
1964 #line 361 "./parse-scan.y"
1968 #line 391 "./parse-scan.y"
1972 #line 393 "./parse-scan.y"
1973 { modifier_value = 0; ;
1976 #line 409 "./parse-scan.y"
1980 #line 425 "./parse-scan.y"
1984 #line 428 "./parse-scan.y"
1985 { modifier_value = 0; ;
1988 #line 430 "./parse-scan.y"
1990 report_main_declaration (yyvsp[-1].declarator);
1995 #line 438 "./parse-scan.y"
1997 struct method_declarator *d;
1998 NEW_METHOD_DECLARATOR (d, yyvsp[-2].node, NULL);
1999 yyval.declarator = d;
2003 #line 444 "./parse-scan.y"
2005 struct method_declarator *d;
2006 NEW_METHOD_DECLARATOR (d, yyvsp[-3].node, yyvsp[-1].node);
2007 yyval.declarator = d;
2011 #line 455 "./parse-scan.y"
2013 char *n = xmalloc (strlen (yyvsp[-2].node)+strlen(yyvsp[0].node)+2);
2014 sprintf (n, "%s,%s", yyvsp[-2].node, yyvsp[0].node);
2019 #line 464 "./parse-scan.y"
2022 yyval.node = yyvsp[-1].node;
2026 #line 469 "./parse-scan.y"
2027 { yyval.node = yyvsp[-1].node; ;
2030 #line 478 "./parse-scan.y"
2034 #line 480 "./parse-scan.y"
2038 #line 497 "./parse-scan.y"
2042 #line 508 "./parse-scan.y"
2043 { modifier_value = 0; ;
2046 #line 513 "./parse-scan.y"
2047 { modifier_value = 0; ;
2050 #line 520 "./parse-scan.y"
2054 #line 522 "./parse-scan.y"
2058 #line 539 "./parse-scan.y"
2062 #line 541 "./parse-scan.y"
2066 #line 554 "./parse-scan.y"
2067 { modifier_value = 0; ;
2070 #line 557 "./parse-scan.y"
2071 { modifier_value = 0; ;
2074 #line 626 "./parse-scan.y"
2078 #line 628 "./parse-scan.y"
2079 { modifier_value = 0; ;
2082 #line 668 "./parse-scan.y"
2086 #line 815 "./parse-scan.y"
2090 #line 855 "./parse-scan.y"
2094 #line 857 "./parse-scan.y"
2098 #line 863 "./parse-scan.y"
2102 #line 885 "./parse-scan.y"
2106 #line 927 "./parse-scan.y"
2110 #line 929 "./parse-scan.y"
2114 #line 938 "./parse-scan.y"
2118 #line 945 "./parse-scan.y"
2122 #line 1064 "./parse-scan.y"
2126 /* the action file gets copied in in place of this dollarsign */
2127 #line 498 "/usr/lib/bison.simple"
2138 short *ssp1 = yyss - 1;
2139 fprintf (stderr, "state stack now");
2140 while (ssp1 != yyssp)
2141 fprintf (stderr, " %d", *++ssp1);
2142 fprintf (stderr, "\n");
2152 yylsp->first_line = yylloc.first_line;
2153 yylsp->first_column = yylloc.first_column;
2154 yylsp->last_line = (yylsp-1)->last_line;
2155 yylsp->last_column = (yylsp-1)->last_column;
2160 yylsp->last_line = (yylsp+yylen-1)->last_line;
2161 yylsp->last_column = (yylsp+yylen-1)->last_column;
2165 /* Now "shift" the result of the reduction.
2166 Determine what state that goes to,
2167 based on the state we popped back to
2168 and the rule number reduced by. */
2172 yystate = yypgoto[yyn - YYNTBASE] + *yyssp;
2173 if (yystate >= 0 && yystate <= YYLAST && yycheck[yystate] == *yyssp)
2174 yystate = yytable[yystate];
2176 yystate = yydefgoto[yyn - YYNTBASE];
2180 yyerrlab: /* here on detecting error */
2183 /* If not already recovering from an error, report this error. */
2187 #ifdef YYERROR_VERBOSE
2188 yyn = yypact[yystate];
2190 if (yyn > YYFLAG && yyn < YYLAST)
2197 /* Start X at -yyn if nec to avoid negative indexes in yycheck. */
2198 for (x = (yyn < 0 ? -yyn : 0);
2199 x < (sizeof(yytname) / sizeof(char *)); x++)
2200 if (yycheck[x + yyn] == x)
2201 size += strlen(yytname[x]) + 15, count++;
2202 msg = (char *) malloc(size + 15);
2205 strcpy(msg, "parse error");
2210 for (x = (yyn < 0 ? -yyn : 0);
2211 x < (sizeof(yytname) / sizeof(char *)); x++)
2212 if (yycheck[x + yyn] == x)
2214 strcat(msg, count == 0 ? ", expecting `" : " or `");
2215 strcat(msg, yytname[x]);
2224 yyerror ("parse error; also virtual memory exceeded");
2227 #endif /* YYERROR_VERBOSE */
2228 yyerror("parse error");
2232 yyerrlab1: /* here on error raised explicitly by an action */
2234 if (yyerrstatus == 3)
2236 /* if just tried and failed to reuse lookahead token after an error, discard it. */
2238 /* return failure if at end of input */
2239 if (yychar == YYEOF)
2244 fprintf(stderr, "Discarding token %d (%s).\n", yychar, yytname[yychar1]);
2250 /* Else will try to reuse lookahead token
2251 after shifting the error token. */
2253 yyerrstatus = 3; /* Each real token shifted decrements this */
2257 yyerrdefault: /* current state does not do anything special for the error token. */
2260 /* This is wrong; only states that explicitly want error tokens
2261 should shift them. */
2262 yyn = yydefact[yystate]; /* If its default is to accept any token, ok. Otherwise pop it.*/
2263 if (yyn) goto yydefault;
2266 yyerrpop: /* pop the current state because it cannot handle the error token */
2268 if (yyssp == yyss) YYABORT;
2278 short *ssp1 = yyss - 1;
2279 fprintf (stderr, "Error: state stack now");
2280 while (ssp1 != yyssp)
2281 fprintf (stderr, " %d", *++ssp1);
2282 fprintf (stderr, "\n");
2288 yyn = yypact[yystate];
2293 if (yyn < 0 || yyn > YYLAST || yycheck[yyn] != YYTERROR)
2312 fprintf(stderr, "Shifting error token, ");
2323 #line 1082 "./parse-scan.y"
2328 /* Create a new parser context */
2331 java_push_parser_context ()
2333 struct parser_ctxt *new =
2334 (struct parser_ctxt *)xmalloc(sizeof (struct parser_ctxt));
2336 bzero (new, sizeof (struct parser_ctxt));
2341 /* Actions defined here */
2344 report_class_declaration (name)
2347 extern int flag_dump_class, flag_list_filename;
2349 if (flag_dump_class)
2351 if (!previous_output)
2353 if (flag_list_filename)
2354 fprintf (out, "%s: ", input_filename);
2355 previous_output = 1;
2359 fprintf (out, "%s.%s ", package_name, name);
2361 fprintf (out, "%s ", name);
2364 current_class = name;
2368 report_main_declaration (declarator)
2369 struct method_declarator *declarator;
2371 extern int flag_find_main;
2374 && modifier_value == 2
2375 && !strcmp (declarator->method_name, "main")
2377 && declarator->args [0] == '['
2378 && !strcmp( declarator->args+1, "String")
2381 if (!previous_output)
2384 fprintf (out, "%s.%s ", package_name, current_class);
2386 fprintf (out, current_class);
2387 previous_output = 1;
2392 /* Reset global status used by the report functions. */
2394 void reset_report ()
2396 previous_output = 0;
2397 current_class = package_name = NULL;