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