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