* decl2.c (start_static_storage_duration_function): Push the
[official-gcc.git] / gcc / java / parse-scan.c
blob6d1b9a4b353756bde07f86a7c3187e18862fbb36
2 /* A Bison parser, made from ./parse-scan.y
3 by GNU Bison version 1.25
4 */
6 #define YYBISON 1 /* Identify Bison output. */
8 #define PLUS_TK 258
9 #define MINUS_TK 259
10 #define MULT_TK 260
11 #define DIV_TK 261
12 #define REM_TK 262
13 #define LS_TK 263
14 #define SRS_TK 264
15 #define ZRS_TK 265
16 #define AND_TK 266
17 #define XOR_TK 267
18 #define OR_TK 268
19 #define BOOL_AND_TK 269
20 #define BOOL_OR_TK 270
21 #define EQ_TK 271
22 #define NEQ_TK 272
23 #define GT_TK 273
24 #define GTE_TK 274
25 #define LT_TK 275
26 #define LTE_TK 276
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
38 #define PUBLIC_TK 288
39 #define PRIVATE_TK 289
40 #define PROTECTED_TK 290
41 #define STATIC_TK 291
42 #define FINAL_TK 292
43 #define SYNCHRONIZED_TK 293
44 #define VOLATILE_TK 294
45 #define TRANSIENT_TK 295
46 #define NATIVE_TK 296
47 #define PAD_TK 297
48 #define ABSTRACT_TK 298
49 #define MODIFIER_TK 299
50 #define DECR_TK 300
51 #define INCR_TK 301
52 #define DEFAULT_TK 302
53 #define IF_TK 303
54 #define THROW_TK 304
55 #define BOOLEAN_TK 305
56 #define DO_TK 306
57 #define IMPLEMENTS_TK 307
58 #define THROWS_TK 308
59 #define BREAK_TK 309
60 #define IMPORT_TK 310
61 #define ELSE_TK 311
62 #define INSTANCEOF_TK 312
63 #define RETURN_TK 313
64 #define VOID_TK 314
65 #define CATCH_TK 315
66 #define INTERFACE_TK 316
67 #define CASE_TK 317
68 #define EXTENDS_TK 318
69 #define FINALLY_TK 319
70 #define SUPER_TK 320
71 #define WHILE_TK 321
72 #define CLASS_TK 322
73 #define SWITCH_TK 323
74 #define CONST_TK 324
75 #define TRY_TK 325
76 #define FOR_TK 326
77 #define NEW_TK 327
78 #define CONTINUE_TK 328
79 #define GOTO_TK 329
80 #define PACKAGE_TK 330
81 #define THIS_TK 331
82 #define BYTE_TK 332
83 #define SHORT_TK 333
84 #define INT_TK 334
85 #define LONG_TK 335
86 #define CHAR_TK 336
87 #define INTEGRAL_TK 337
88 #define FLOAT_TK 338
89 #define DOUBLE_TK 339
90 #define FP_TK 340
91 #define ID_TK 341
92 #define REL_QM_TK 342
93 #define REL_CL_TK 343
94 #define NOT_TK 344
95 #define NEG_TK 345
96 #define ASSIGN_ANY_TK 346
97 #define ASSIGN_TK 347
98 #define OP_TK 348
99 #define CP_TK 349
100 #define OCB_TK 350
101 #define CCB_TK 351
102 #define OSB_TK 352
103 #define CSB_TK 353
104 #define SC_TK 354
105 #define C_TK 355
106 #define DOT_TK 356
107 #define STRING_LIT_TK 357
108 #define CHAR_LIT_TK 358
109 #define INT_LIT_TK 359
110 #define FP_LIT_TK 360
111 #define TRUE_TK 361
112 #define FALSE_TK 362
113 #define BOOL_LIT_TK 363
114 #define NULL_TK 364
116 #line 37 "./parse-scan.y"
118 #define JC1_LITE
120 #include "config.h"
121 #include "system.h"
123 #include "obstack.h"
124 #include "toplev.h"
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
136 elsewhere */
137 int java_error_count;
138 int java_warning_count;
139 int lineno;
141 /* Tweak default rules when necessary. */
142 static int absorber;
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
156 id. */
157 static int bracket_count;
159 /* Record a method declaration */
160 struct method_declarator {
161 const char *method_name;
162 const char *args;
164 #define NEW_METHOD_DECLARATOR(D,N,A) \
166 (D) = \
167 (struct method_declarator *)xmalloc (sizeof (struct method_declarator)); \
168 (D)->method_name = (N); \
169 (D)->args = (A); \
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 *));
176 #include "lex.h"
177 #include "parse.h"
179 #line 100 "./parse-scan.y"
180 typedef union {
181 char *node;
182 struct method_declarator *declarator;
183 int value; /* For modifiers */
184 } YYSTYPE;
185 #line 106 "./parse-scan.y"
187 #include "lex.c"
188 #ifndef YYDEBUG
189 #define YYDEBUG 1
190 #endif
192 #include <stdio.h>
194 #ifndef __cplusplus
195 #ifndef __STDC__
196 #define const
197 #endif
198 #endif
202 #define YYFINAL 601
203 #define YYFLAG -32768
204 #define YYNTBASE 110
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,
245 106, 107, 108, 109
248 #if YYDEBUG != 0
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,
284 1117, 1119, 1121
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,
400 251, 0
403 #endif
405 #if YYDEBUG != 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,
441 1088, 1091, 1095
443 #endif
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
497 #endif
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,
534 250, 251, 252
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,
572 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,
654 359, 570
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,
718 -32768
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,
736 123,-32768
740 #define YYLAST 3150
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
1378 #define YYPURE 1
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)
1389 any later version.
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. */
1405 #ifndef alloca
1406 #ifdef __GNUC__
1407 #define alloca __builtin_alloca
1408 #else /* not GNU C. */
1409 #if (!defined (__STDC__) && defined (sparc)) || defined (__sparc__) || defined (__sparc) || defined (__sgi)
1410 #include <alloca.h>
1411 #else /* not sparc */
1412 #if defined (MSDOS) && !defined (__TURBOC__)
1413 #include <malloc.h>
1414 #else /* not MSDOS, or __TURBOC__ */
1415 #if defined(_AIX)
1416 #include <malloc.h>
1417 #pragma alloca
1418 #else /* not MSDOS, __TURBOC__, or _AIX */
1419 #ifdef __hpux
1420 #ifdef __cplusplus
1421 extern "C" {
1422 void *alloca (unsigned int);
1424 #else /* not __cplusplus */
1425 void *alloca ();
1426 #endif /* not __cplusplus */
1427 #endif /* __hpux */
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)
1445 #define YYEMPTY -2
1446 #define YYEOF 0
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) \
1457 do \
1458 if (yychar == YYEMPTY && yylen == 1) \
1459 { yychar = (token), yylval = (value); \
1460 yychar1 = YYTRANSLATE (yychar); \
1461 YYPOPSTACK; \
1462 goto yybackup; \
1464 else \
1465 { yyerror ("syntax error: cannot back up"); YYERROR; } \
1466 while (0)
1468 #define YYTERROR 1
1469 #define YYERRCODE 256
1471 #ifndef YYPURE
1472 #define YYLEX yylex()
1473 #endif
1475 #ifdef YYPURE
1476 #ifdef YYLSP_NEEDED
1477 #ifdef YYLEX_PARAM
1478 #define YYLEX yylex(&yylval, &yylloc, YYLEX_PARAM)
1479 #else
1480 #define YYLEX yylex(&yylval, &yylloc)
1481 #endif
1482 #else /* not YYLSP_NEEDED */
1483 #ifdef YYLEX_PARAM
1484 #define YYLEX yylex(&yylval, YYLEX_PARAM)
1485 #else
1486 #define YYLEX yylex(&yylval)
1487 #endif
1488 #endif /* not YYLSP_NEEDED */
1489 #endif
1491 /* If nonreentrant, generate the variables here */
1493 #ifndef YYPURE
1495 int yychar; /* the lookahead symbol */
1496 YYSTYPE yylval; /* the semantic value of the */
1497 /* lookahead symbol */
1499 #ifdef YYLSP_NEEDED
1500 YYLTYPE yylloc; /* location data for the lookahead */
1501 /* symbol */
1502 #endif
1504 int yynerrs; /* number of parse errors so far */
1505 #endif /* not YYPURE */
1507 #if YYDEBUG != 0
1508 int yydebug; /* nonzero means print parse trace */
1509 /* Since this is uninitialized, it does not stop multiple parsers
1510 from coexisting. */
1511 #endif
1513 /* YYINITDEPTH indicates the initial size of the parser's stacks */
1515 #ifndef YYINITDEPTH
1516 #define YYINITDEPTH 200
1517 #endif
1519 /* YYMAXDEPTH is the maximum size the stacks can grow to
1520 (effective only if the built-in stack extension method is used). */
1522 #if YYMAXDEPTH == 0
1523 #undef YYMAXDEPTH
1524 #endif
1526 #ifndef YYMAXDEPTH
1527 #define YYMAXDEPTH 10000
1528 #endif
1530 /* Prevent warning if -Wstrict-prototypes. */
1531 #ifdef __GNUC__
1532 int yyparse (void);
1533 #endif
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++ */
1538 #ifndef __cplusplus
1540 /* This is the most reliable way to avoid incompatibilities
1541 in available built-in functions on various systems. */
1542 static void
1543 __yy_memcpy (to, from, count)
1544 char *to;
1545 char *from;
1546 int count;
1548 register char *f = from;
1549 register char *t = to;
1550 register int i = count;
1552 while (i-- > 0)
1553 *t++ = *f++;
1556 #else /* __cplusplus */
1558 /* This is the most reliable way to avoid incompatibilities
1559 in available built-in functions on various systems. */
1560 static void
1561 __yy_memcpy (char *to, char *from, int count)
1563 register char *f = from;
1564 register char *t = to;
1565 register int i = count;
1567 while (i-- > 0)
1568 *t++ = *f++;
1571 #endif
1572 #endif
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
1583 #ifdef __cplusplus
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)
1597 YYPARSE_PARAM_DECL
1599 register int yystate;
1600 register int yyn;
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 */
1612 #ifdef YYLSP_NEEDED
1613 YYLTYPE yylsa[YYINITDEPTH]; /* the location stack */
1614 YYLTYPE *yyls = yylsa;
1615 YYLTYPE *yylsp;
1617 #define YYPOPSTACK (yyvsp--, yyssp--, yylsp--)
1618 #else
1619 #define YYPOPSTACK (yyvsp--, yyssp--)
1620 #endif
1622 int yystacksize = YYINITDEPTH;
1624 #ifdef YYPURE
1625 int yychar;
1626 YYSTYPE yylval;
1627 int yynerrs;
1628 #ifdef YYLSP_NEEDED
1629 YYLTYPE yylloc;
1630 #endif
1631 #endif
1633 YYSTYPE yyval; /* the variable used to return */
1634 /* semantic values from the action */
1635 /* routines */
1637 int yylen;
1639 #if YYDEBUG != 0
1640 if (yydebug)
1641 fprintf(stderr, "Starting parse\n");
1642 #endif
1644 yystate = 0;
1645 yyerrstatus = 0;
1646 yynerrs = 0;
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. */
1654 yyssp = yyss - 1;
1655 yyvsp = yyvs;
1656 #ifdef YYLSP_NEEDED
1657 yylsp = yyls;
1658 #endif
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. */
1663 yynewstate:
1665 *++yyssp = yystate;
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;
1673 #ifdef YYLSP_NEEDED
1674 YYLTYPE *yyls1 = yyls;
1675 #endif
1677 /* Get the current used size of the three stacks, in elements. */
1678 int size = yyssp - yyss + 1;
1680 #ifdef yyoverflow
1681 /* Each stack pointer address is followed by the size of
1682 the data in use in that stack, in bytes. */
1683 #ifdef YYLSP_NEEDED
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),
1690 &yystacksize);
1691 #else
1692 yyoverflow("parser stack overflow",
1693 &yyss1, size * sizeof (*yyssp),
1694 &yyvs1, size * sizeof (*yyvsp),
1695 &yystacksize);
1696 #endif
1698 yyss = yyss1; yyvs = yyvs1;
1699 #ifdef YYLSP_NEEDED
1700 yyls = yyls1;
1701 #endif
1702 #else /* no yyoverflow */
1703 /* Extend the stack our own way. */
1704 if (yystacksize >= YYMAXDEPTH)
1706 yyerror("parser stack overflow");
1707 return 2;
1709 yystacksize *= 2;
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));
1716 #ifdef YYLSP_NEEDED
1717 yyls = (YYLTYPE *) alloca (yystacksize * sizeof (*yylsp));
1718 __yy_memcpy ((char *)yyls, (char *)yyls1, size * sizeof (*yylsp));
1719 #endif
1720 #endif /* no yyoverflow */
1722 yyssp = yyss + size - 1;
1723 yyvsp = yyvs + size - 1;
1724 #ifdef YYLSP_NEEDED
1725 yylsp = yyls + size - 1;
1726 #endif
1728 #if YYDEBUG != 0
1729 if (yydebug)
1730 fprintf(stderr, "Stack size increased to %d\n", yystacksize);
1731 #endif
1733 if (yyssp >= yyss + yystacksize - 1)
1734 YYABORT;
1737 #if YYDEBUG != 0
1738 if (yydebug)
1739 fprintf(stderr, "Entering state %d\n", yystate);
1740 #endif
1742 goto yybackup;
1743 yybackup:
1745 /* Do appropriate processing given the current state. */
1746 /* Read a lookahead token if we need one and don't already have one. */
1747 /* yyresume: */
1749 /* First try to decide what to do without reference to lookahead token. */
1751 yyn = yypact[yystate];
1752 if (yyn == YYFLAG)
1753 goto yydefault;
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)
1762 #if YYDEBUG != 0
1763 if (yydebug)
1764 fprintf(stderr, "Reading a token: ");
1765 #endif
1766 yychar = YYLEX;
1769 /* Convert token to internal form (in yychar1) for indexing tables with */
1771 if (yychar <= 0) /* This means end of input. */
1773 yychar1 = 0;
1774 yychar = YYEOF; /* Don't call YYLEX any more */
1776 #if YYDEBUG != 0
1777 if (yydebug)
1778 fprintf(stderr, "Now at end of input.\n");
1779 #endif
1781 else
1783 yychar1 = YYTRANSLATE(yychar);
1785 #if YYDEBUG != 0
1786 if (yydebug)
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. */
1791 #ifdef YYPRINT
1792 YYPRINT (stderr, yychar, yylval);
1793 #endif
1794 fprintf (stderr, ")\n");
1796 #endif
1799 yyn += yychar1;
1800 if (yyn < 0 || yyn > YYLAST || yycheck[yyn] != yychar1)
1801 goto yydefault;
1803 yyn = yytable[yyn];
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. */
1812 if (yyn < 0)
1814 if (yyn == YYFLAG)
1815 goto yyerrlab;
1816 yyn = -yyn;
1817 goto yyreduce;
1819 else if (yyn == 0)
1820 goto yyerrlab;
1822 if (yyn == YYFINAL)
1823 YYACCEPT;
1825 /* Shift the lookahead token. */
1827 #if YYDEBUG != 0
1828 if (yydebug)
1829 fprintf(stderr, "Shifting token %d (%s), ", yychar, yytname[yychar1]);
1830 #endif
1832 /* Discard the token being shifted unless it is eof. */
1833 if (yychar != YYEOF)
1834 yychar = YYEMPTY;
1836 *++yyvsp = yylval;
1837 #ifdef YYLSP_NEEDED
1838 *++yylsp = yylloc;
1839 #endif
1841 /* count tokens shifted since error; after three, turn off error status. */
1842 if (yyerrstatus) yyerrstatus--;
1844 yystate = yyn;
1845 goto yynewstate;
1847 /* Do the default action for the current state. */
1848 yydefault:
1850 yyn = yydefact[yystate];
1851 if (yyn == 0)
1852 goto yyerrlab;
1854 /* Do a reduction. yyn is the number of a rule to reduce with. */
1855 yyreduce:
1856 yylen = yyr2[yyn];
1857 if (yylen > 0)
1858 yyval = yyvsp[1-yylen]; /* implement default value of the action */
1860 #if YYDEBUG != 0
1861 if (yydebug)
1863 int i;
1865 fprintf (stderr, "Reducing via rule %d (line %d), ",
1866 yyn, yyrline[yyn]);
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]]);
1873 #endif
1876 switch (yyn) {
1878 case 10:
1879 #line 197 "./parse-scan.y"
1881 /* use preset global here. FIXME */
1882 yyval.node = xstrdup ("int");
1884 break;}
1885 case 11:
1886 #line 202 "./parse-scan.y"
1888 /* use preset global here. FIXME */
1889 yyval.node = xstrdup ("double");
1891 break;}
1892 case 12:
1893 #line 207 "./parse-scan.y"
1895 /* use preset global here. FIXME */
1896 yyval.node = xstrdup ("boolean");
1898 break;}
1899 case 19:
1900 #line 233 "./parse-scan.y"
1902 yyval.node = concat ("[", yyvsp[-2].node, NULL);
1904 break;}
1905 case 20:
1906 #line 237 "./parse-scan.y"
1908 yyval.node = concat ("[", yyvsp[-2].node, NULL);
1910 break;}
1911 case 24:
1912 #line 254 "./parse-scan.y"
1914 yyval.node = concat (yyvsp[-2].node, ".", yyvsp[0].node, NULL);
1916 break;}
1917 case 38:
1918 #line 286 "./parse-scan.y"
1919 { package_name = yyvsp[-1].node; ;
1920 break;}
1921 case 46:
1922 #line 313 "./parse-scan.y"
1924 if (yyvsp[0].value == PUBLIC_TK)
1925 modifier_value++;
1926 if (yyvsp[0].value == STATIC_TK)
1927 modifier_value++;
1928 USE_ABSORBER;
1930 break;}
1931 case 47:
1932 #line 321 "./parse-scan.y"
1934 if (yyvsp[0].value == PUBLIC_TK)
1935 modifier_value++;
1936 if (yyvsp[0].value == STATIC_TK)
1937 modifier_value++;
1938 USE_ABSORBER;
1940 break;}
1941 case 48:
1942 #line 333 "./parse-scan.y"
1944 report_class_declaration(yyvsp[-2].node);
1945 modifier_value = 0;
1947 break;}
1948 case 50:
1949 #line 339 "./parse-scan.y"
1950 { report_class_declaration(yyvsp[-2].node); ;
1951 break;}
1952 case 56:
1953 #line 353 "./parse-scan.y"
1954 { USE_ABSORBER; ;
1955 break;}
1956 case 57:
1957 #line 355 "./parse-scan.y"
1958 { USE_ABSORBER; ;
1959 break;}
1960 case 70:
1961 #line 385 "./parse-scan.y"
1962 { USE_ABSORBER; ;
1963 break;}
1964 case 71:
1965 #line 387 "./parse-scan.y"
1966 { modifier_value = 0; ;
1967 break;}
1968 case 76:
1969 #line 403 "./parse-scan.y"
1970 { bracket_count = 0; USE_ABSORBER; ;
1971 break;}
1972 case 77:
1973 #line 405 "./parse-scan.y"
1974 { ++bracket_count; ;
1975 break;}
1976 case 81:
1977 #line 420 "./parse-scan.y"
1978 { USE_ABSORBER; ;
1979 break;}
1980 case 83:
1981 #line 423 "./parse-scan.y"
1982 { modifier_value = 0; ;
1983 break;}
1984 case 84:
1985 #line 425 "./parse-scan.y"
1987 report_main_declaration (yyvsp[-1].declarator);
1988 modifier_value = 0;
1990 break;}
1991 case 85:
1992 #line 433 "./parse-scan.y"
1994 struct method_declarator *d;
1995 NEW_METHOD_DECLARATOR (d, yyvsp[-2].node, NULL);
1996 yyval.declarator = d;
1998 break;}
1999 case 86:
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;
2006 break;}
2007 case 89:
2008 #line 450 "./parse-scan.y"
2010 yyval.node = concat (yyvsp[-2].node, ",", yyvsp[0].node, NULL);
2012 break;}
2013 case 90:
2014 #line 457 "./parse-scan.y"
2016 USE_ABSORBER;
2017 if (bracket_count)
2019 int i;
2020 char *n = xmalloc (bracket_count + 1 + strlen (yyval.node));
2021 for (i = 0; i < bracket_count; ++i)
2022 n[i] = '[';
2023 strcpy (n + bracket_count, yyval.node);
2024 yyval.node = n;
2026 else
2027 yyval.node = yyvsp[-1].node;
2029 break;}
2030 case 91:
2031 #line 472 "./parse-scan.y"
2033 if (bracket_count)
2035 int i;
2036 char *n = xmalloc (bracket_count + 1 + strlen (yyval.node));
2037 for (i = 0; i < bracket_count; ++i)
2038 n[i] = '[';
2039 strcpy (n + bracket_count, yyval.node);
2040 yyval.node = n;
2042 else
2043 yyval.node = yyvsp[-1].node;
2045 break;}
2046 case 94:
2047 #line 493 "./parse-scan.y"
2048 { USE_ABSORBER; ;
2049 break;}
2050 case 95:
2051 #line 495 "./parse-scan.y"
2052 { USE_ABSORBER; ;
2053 break;}
2054 case 101:
2055 #line 512 "./parse-scan.y"
2056 { USE_ABSORBER; ;
2057 break;}
2058 case 103:
2059 #line 523 "./parse-scan.y"
2060 { modifier_value = 0; ;
2061 break;}
2062 case 105:
2063 #line 528 "./parse-scan.y"
2064 { modifier_value = 0; ;
2065 break;}
2066 case 106:
2067 #line 535 "./parse-scan.y"
2068 { USE_ABSORBER; ;
2069 break;}
2070 case 107:
2071 #line 537 "./parse-scan.y"
2072 { USE_ABSORBER; ;
2073 break;}
2074 case 114:
2075 #line 554 "./parse-scan.y"
2076 { USE_ABSORBER; ;
2077 break;}
2078 case 115:
2079 #line 556 "./parse-scan.y"
2080 { USE_ABSORBER; ;
2081 break;}
2082 case 118:
2083 #line 568 "./parse-scan.y"
2084 { report_class_declaration (yyvsp[-1].node); modifier_value = 0; ;
2085 break;}
2086 case 119:
2087 #line 570 "./parse-scan.y"
2088 { report_class_declaration (yyvsp[-1].node); modifier_value = 0; ;
2089 break;}
2090 case 120:
2091 #line 572 "./parse-scan.y"
2092 { report_class_declaration (yyvsp[-2].node); modifier_value = 0; ;
2093 break;}
2094 case 121:
2095 #line 574 "./parse-scan.y"
2096 { report_class_declaration (yyvsp[-2].node); modifier_value = 0; ;
2097 break;}
2098 case 148:
2099 #line 643 "./parse-scan.y"
2100 { USE_ABSORBER; ;
2101 break;}
2102 case 149:
2103 #line 645 "./parse-scan.y"
2104 { modifier_value = 0; ;
2105 break;}
2106 case 173:
2107 #line 685 "./parse-scan.y"
2108 { USE_ABSORBER; ;
2109 break;}
2110 case 226:
2111 #line 832 "./parse-scan.y"
2112 { USE_ABSORBER; ;
2113 break;}
2114 case 243:
2115 #line 872 "./parse-scan.y"
2116 { USE_ABSORBER; ;
2117 break;}
2118 case 244:
2119 #line 874 "./parse-scan.y"
2120 { USE_ABSORBER; ;
2121 break;}
2122 case 246:
2123 #line 880 "./parse-scan.y"
2124 { USE_ABSORBER; ;
2125 break;}
2126 case 255:
2127 #line 902 "./parse-scan.y"
2128 { USE_ABSORBER; ;
2129 break;}
2130 case 273:
2131 #line 944 "./parse-scan.y"
2132 { USE_ABSORBER; ;
2133 break;}
2134 case 274:
2135 #line 946 "./parse-scan.y"
2136 { USE_ABSORBER; ;
2137 break;}
2138 case 279:
2139 #line 955 "./parse-scan.y"
2140 { USE_ABSORBER; ;
2141 break;}
2142 case 282:
2143 #line 962 "./parse-scan.y"
2144 { USE_ABSORBER; ;
2145 break;}
2146 case 337:
2147 #line 1081 "./parse-scan.y"
2148 { USE_ABSORBER; ;
2149 break;}
2151 /* the action file gets copied in in place of this dollarsign */
2152 #line 498 "/usr/share/misc/bison.simple"
2154 yyvsp -= yylen;
2155 yyssp -= yylen;
2156 #ifdef YYLSP_NEEDED
2157 yylsp -= yylen;
2158 #endif
2160 #if YYDEBUG != 0
2161 if (yydebug)
2163 short *ssp1 = yyss - 1;
2164 fprintf (stderr, "state stack now");
2165 while (ssp1 != yyssp)
2166 fprintf (stderr, " %d", *++ssp1);
2167 fprintf (stderr, "\n");
2169 #endif
2171 *++yyvsp = yyval;
2173 #ifdef YYLSP_NEEDED
2174 yylsp++;
2175 if (yylen == 0)
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;
2181 yylsp->text = 0;
2183 else
2185 yylsp->last_line = (yylsp+yylen-1)->last_line;
2186 yylsp->last_column = (yylsp+yylen-1)->last_column;
2188 #endif
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. */
2195 yyn = yyr1[yyn];
2197 yystate = yypgoto[yyn - YYNTBASE] + *yyssp;
2198 if (yystate >= 0 && yystate <= YYLAST && yycheck[yystate] == *yyssp)
2199 yystate = yytable[yystate];
2200 else
2201 yystate = yydefgoto[yyn - YYNTBASE];
2203 goto yynewstate;
2205 yyerrlab: /* here on detecting error */
2207 if (! yyerrstatus)
2208 /* If not already recovering from an error, report this error. */
2210 ++yynerrs;
2212 #ifdef YYERROR_VERBOSE
2213 yyn = yypact[yystate];
2215 if (yyn > YYFLAG && yyn < YYLAST)
2217 int size = 0;
2218 char *msg;
2219 int x, count;
2221 count = 0;
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);
2228 if (msg != 0)
2230 strcpy(msg, "parse error");
2232 if (count < 5)
2234 count = 0;
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]);
2241 strcat(msg, "'");
2242 count++;
2245 yyerror(msg);
2246 free(msg);
2248 else
2249 yyerror ("parse error; also virtual memory exceeded");
2251 else
2252 #endif /* YYERROR_VERBOSE */
2253 yyerror("parse error");
2256 goto yyerrlab1;
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)
2265 YYABORT;
2267 #if YYDEBUG != 0
2268 if (yydebug)
2269 fprintf(stderr, "Discarding token %d (%s).\n", yychar, yytname[yychar1]);
2270 #endif
2272 yychar = YYEMPTY;
2275 /* Else will try to reuse lookahead token
2276 after shifting the error token. */
2278 yyerrstatus = 3; /* Each real token shifted decrements this */
2280 goto yyerrhandle;
2282 yyerrdefault: /* current state does not do anything special for the error token. */
2284 #if 0
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;
2289 #endif
2291 yyerrpop: /* pop the current state because it cannot handle the error token */
2293 if (yyssp == yyss) YYABORT;
2294 yyvsp--;
2295 yystate = *--yyssp;
2296 #ifdef YYLSP_NEEDED
2297 yylsp--;
2298 #endif
2300 #if YYDEBUG != 0
2301 if (yydebug)
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");
2309 #endif
2311 yyerrhandle:
2313 yyn = yypact[yystate];
2314 if (yyn == YYFLAG)
2315 goto yyerrdefault;
2317 yyn += YYTERROR;
2318 if (yyn < 0 || yyn > YYLAST || yycheck[yyn] != YYTERROR)
2319 goto yyerrdefault;
2321 yyn = yytable[yyn];
2322 if (yyn < 0)
2324 if (yyn == YYFLAG)
2325 goto yyerrpop;
2326 yyn = -yyn;
2327 goto yyreduce;
2329 else if (yyn == 0)
2330 goto yyerrpop;
2332 if (yyn == YYFINAL)
2333 YYACCEPT;
2335 #if YYDEBUG != 0
2336 if (yydebug)
2337 fprintf(stderr, "Shifting error token, ");
2338 #endif
2340 *++yyvsp = yylval;
2341 #ifdef YYLSP_NEEDED
2342 *++yylsp = yylloc;
2343 #endif
2345 yystate = yyn;
2346 goto yynewstate;
2348 #line 1099 "./parse-scan.y"
2351 /* Create a new parser context */
2353 void
2354 java_push_parser_context ()
2356 struct parser_ctxt *new =
2357 (struct parser_ctxt *) xcalloc (1, sizeof (struct parser_ctxt));
2359 new->next = ctxp;
2360 ctxp = new;
2363 /* Actions defined here */
2365 static void
2366 report_class_declaration (name)
2367 const char * 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;
2380 if (package_name)
2381 fprintf (out, "%s.%s ", package_name, name);
2382 else
2383 fprintf (out, "%s ", name);
2386 current_class = name;
2389 static void
2390 report_main_declaration (declarator)
2391 struct method_declarator *declarator;
2393 extern int flag_find_main;
2395 if (flag_find_main
2396 && modifier_value == 2
2397 && !strcmp (declarator->method_name, "main")
2398 && declarator->args
2399 && declarator->args [0] == '['
2400 && (! strcmp (declarator->args+1, "String")
2401 || ! strcmp (declarator->args + 1, "java.lang.String"))
2402 && current_class)
2404 if (!previous_output)
2406 if (package_name)
2407 fprintf (out, "%s.%s ", package_name, current_class);
2408 else
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;
2423 void
2424 yyerror (msg)
2425 const char *msg ATTRIBUTE_UNUSED;
2427 fprintf (stderr, "%s: %d: %s\n", input_filename, lineno, msg);
2428 exit (1);