1 2/* A Bison parser, made from ./parse-scan.y 3 by GNU Bison version 1.25 4 */ 5 6#define YYBISON 1 /* Identify Bison output. */ 7 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 115 116#line 37 "./parse-scan.y" 117 118#define JC1_LITE 119 120#include "config.h" 121#include "system.h" 122 123#include "obstack.h" 124#include "toplev.h" 125 126extern char *input_filename; 127extern FILE *finput, *out; 128 129/* Obstack for the lexer. */ 130struct obstack temporary_obstack; 131 132/* The current parser context. */ 133static struct parser_ctxt *ctxp; 134 135/* Error and warning counts, current line number, because they're used 136 elsewhere */ 137int java_error_count; 138int java_warning_count; 139int lineno; 140 141/* Tweak default rules when necessary. */ 142static int absorber; 143#define USE_ABSORBER absorber = 0 144 145/* Keep track of the current class name and package name. */ 146static char *current_class; 147static char *package_name; 148 149/* Keep track of whether things have be listed before. */ 150static int previous_output; 151 152/* Record modifier uses */ 153static int modifier_value; 154 155/* Keep track of number of bracket pairs after a variable declarator 156 id. */ 157static int bracket_count; 158 159/* Record a method declaration */ 160struct method_declarator { 161 char *method_name; 162 char *args; 163}; 164#define NEW_METHOD_DECLARATOR(D,N,A) \ 165{ \ 166 (D) = \ 167 (struct method_declarator *)xmalloc (sizeof (struct method_declarator)); \ 168 (D)->method_name = (N); \ 169 (D)->args = (A); \ 170} 171 172/* Two actions for this grammar */ 173static void report_class_declaration PROTO ((char *)); 174static void report_main_declaration PROTO ((struct method_declarator *)); 175 176#include "lex.h" 177#include "parse.h" 178 179#line 100 "./parse-scan.y" 180typedef union { 181 char *node; 182 struct method_declarator *declarator; 183 int value; /* For modifiers */ 184} YYSTYPE; 185#ifndef YYDEBUG 186#define YYDEBUG 1 187#endif 188 189#include <stdio.h> 190 191#ifndef __cplusplus 192#ifndef __STDC__ 193#define const 194#endif 195#endif 196 197 198 199#define YYFINAL 601 200#define YYFLAG -32768 201#define YYNTBASE 110 202 203#define YYTRANSLATE(x) ((unsigned)(x) <= 364 ? yytranslate[x] : 253) 204 205static const char yytranslate[] = { 0, 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, 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, 1, 2, 3, 4, 5, 232 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 233 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 234 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 235 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 236 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 237 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 238 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 239 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 240 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 241 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 242 106, 107, 108, 109 243}; 244 245#if YYDEBUG != 0 246static const short yyprhs[] = { 0, 247 0, 2, 4, 6, 8, 10, 12, 14, 16, 18, 248 20, 22, 24, 26, 28, 30, 32, 34, 38, 42, 249 46, 48, 50, 52, 56, 58, 59, 61, 63, 65, 250 68, 71, 74, 78, 80, 83, 85, 88, 92, 94, 251 96, 100, 106, 108, 110, 112, 114, 117, 118, 126, 252 127, 134, 135, 138, 139, 142, 144, 148, 151, 155, 253 157, 160, 162, 164, 166, 168, 170, 172, 174, 176, 254 180, 185, 187, 191, 193, 197, 199, 203, 205, 207, 255 210, 214, 218, 223, 228, 232, 237, 241, 243, 247, 256 250, 254, 255, 258, 260, 264, 266, 269, 271, 274, 257 278, 280, 284, 289, 294, 300, 304, 309, 312, 316, 258 320, 325, 330, 336, 344, 351, 353, 355, 359, 364, 259 369, 375, 378, 382, 385, 389, 391, 394, 396, 398, 260 400, 402, 404, 407, 410, 414, 418, 423, 425, 429, 261 432, 436, 438, 441, 443, 445, 447, 450, 453, 457, 262 459, 461, 463, 465, 467, 469, 471, 473, 475, 477, 263 479, 481, 483, 485, 487, 489, 491, 493, 495, 497, 264 499, 501, 503, 506, 509, 512, 515, 517, 519, 521, 265 523, 525, 527, 529, 535, 543, 551, 557, 560, 564, 266 568, 573, 575, 578, 581, 583, 586, 590, 593, 598, 267 601, 604, 606, 614, 622, 629, 637, 644, 647, 650, 268 651, 653, 655, 656, 658, 660, 664, 667, 671, 674, 269 678, 681, 685, 689, 695, 701, 703, 707, 711, 716, 270 718, 721, 727, 730, 732, 734, 736, 738, 742, 744, 271 746, 748, 750, 754, 758, 762, 766, 772, 777, 784, 272 790, 795, 801, 807, 814, 818, 822, 824, 828, 832, 273 836, 840, 845, 850, 855, 860, 862, 865, 869, 872, 274 876, 880, 884, 888, 893, 899, 906, 912, 919, 924, 275 929, 931, 933, 935, 937, 940, 943, 945, 947, 950, 276 953, 955, 958, 961, 963, 966, 969, 971, 977, 982, 277 987, 993, 995, 999, 1003, 1007, 1009, 1013, 1017, 1019, 278 1023, 1027, 1031, 1033, 1037, 1041, 1045, 1049, 1053, 1055, 279 1059, 1063, 1065, 1069, 1071, 1075, 1077, 1081, 1083, 1087, 280 1089, 1093, 1095, 1101, 1103, 1105, 1109, 1111, 1113, 1115, 281 1117, 1119, 1121 282}; 283 284static const short yyrhs[] = { 123, 285 0, 104, 0, 105, 0, 108, 0, 103, 0, 102, 286 0, 109, 0, 113, 0, 114, 0, 82, 0, 85, 287 0, 50, 0, 115, 0, 118, 0, 119, 0, 115, 288 0, 115, 0, 113, 97, 98, 0, 119, 97, 98, 289 0, 118, 97, 98, 0, 120, 0, 121, 0, 122, 290 0, 119, 101, 122, 0, 86, 0, 0, 126, 0, 291 124, 0, 125, 0, 126, 124, 0, 126, 125, 0, 292 124, 125, 0, 126, 124, 125, 0, 127, 0, 124, 293 127, 0, 130, 0, 125, 130, 0, 75, 119, 99, 294 0, 128, 0, 129, 0, 55, 119, 99, 0, 55, 295 119, 101, 5, 99, 0, 132, 0, 162, 0, 99, 296 0, 44, 0, 131, 44, 0, 0, 131, 67, 122, 297 135, 136, 133, 138, 0, 0, 67, 122, 135, 136, 298 134, 138, 0, 0, 63, 116, 0, 0, 52, 137, 299 0, 117, 0, 137, 100, 117, 0, 95, 96, 0, 300 95, 139, 96, 0, 140, 0, 139, 140, 0, 141, 301 0, 155, 0, 157, 0, 171, 0, 142, 0, 147, 302 0, 132, 0, 162, 0, 112, 143, 99, 0, 131, 303 112, 143, 99, 0, 144, 0, 143, 100, 144, 0, 304 145, 0, 145, 92, 146, 0, 122, 0, 145, 97, 305 98, 0, 251, 0, 169, 0, 148, 154, 0, 112, 306 149, 152, 0, 59, 149, 152, 0, 131, 112, 149, 307 152, 0, 131, 59, 149, 152, 0, 122, 93, 94, 308 0, 122, 93, 150, 94, 0, 149, 97, 98, 0, 309 151, 0, 150, 100, 151, 0, 112, 145, 0, 131, 310 112, 145, 0, 0, 53, 153, 0, 116, 0, 153, 311 100, 116, 0, 171, 0, 171, 99, 0, 99, 0, 312 156, 171, 0, 156, 171, 99, 0, 44, 0, 158, 313 152, 159, 0, 131, 158, 152, 159, 0, 158, 152, 314 159, 99, 0, 131, 158, 152, 159, 99, 0, 120, 315 93, 94, 0, 120, 93, 150, 94, 0, 95, 96, 316 0, 95, 160, 96, 0, 95, 172, 96, 0, 95, 317 160, 172, 96, 0, 161, 93, 94, 99, 0, 161, 318 93, 220, 94, 99, 0, 119, 101, 65, 93, 220, 319 94, 99, 0, 119, 101, 65, 93, 94, 99, 0, 320 76, 0, 65, 0, 61, 122, 164, 0, 131, 61, 321 122, 164, 0, 61, 122, 163, 164, 0, 131, 61, 322 122, 163, 164, 0, 63, 117, 0, 163, 100, 117, 323 0, 95, 96, 0, 95, 165, 96, 0, 166, 0, 324 165, 166, 0, 167, 0, 168, 0, 132, 0, 162, 325 0, 142, 0, 148, 99, 0, 95, 96, 0, 95, 326 170, 96, 0, 95, 100, 96, 0, 95, 170, 100, 327 96, 0, 146, 0, 170, 100, 146, 0, 95, 96, 328 0, 95, 172, 96, 0, 173, 0, 172, 173, 0, 329 174, 0, 176, 0, 132, 0, 175, 99, 0, 112, 330 143, 0, 131, 112, 143, 0, 178, 0, 181, 0, 331 185, 0, 186, 0, 195, 0, 199, 0, 178, 0, 332 182, 0, 187, 0, 196, 0, 200, 0, 171, 0, 333 179, 0, 183, 0, 188, 0, 198, 0, 206, 0, 334 207, 0, 208, 0, 210, 0, 209, 0, 212, 0, 335 99, 0, 122, 88, 0, 180, 176, 0, 180, 177, 336 0, 184, 99, 0, 248, 0, 232, 0, 233, 0, 337 229, 0, 230, 0, 226, 0, 218, 0, 48, 93, 338 251, 94, 176, 0, 48, 93, 251, 94, 177, 56, 339 176, 0, 48, 93, 251, 94, 177, 56, 177, 0, 340 68, 93, 251, 94, 189, 0, 95, 96, 0, 95, 341 192, 96, 0, 95, 190, 96, 0, 95, 190, 192, 342 96, 0, 191, 0, 190, 191, 0, 192, 172, 0, 343 193, 0, 192, 193, 0, 62, 252, 88, 0, 47, 344 88, 0, 66, 93, 251, 94, 0, 194, 176, 0, 345 194, 177, 0, 51, 0, 197, 176, 66, 93, 251, 346 94, 99, 0, 202, 99, 251, 99, 204, 94, 176, 347 0, 202, 99, 99, 204, 94, 176, 0, 202, 99, 348 251, 99, 204, 94, 177, 0, 202, 99, 99, 204, 349 94, 177, 0, 71, 93, 0, 201, 203, 0, 0, 350 205, 0, 175, 0, 0, 205, 0, 184, 0, 205, 351 100, 184, 0, 54, 99, 0, 54, 122, 99, 0, 352 73, 99, 0, 73, 122, 99, 0, 58, 99, 0, 353 58, 251, 99, 0, 49, 251, 99, 0, 211, 93, 354 251, 94, 171, 0, 211, 93, 251, 94, 1, 0, 355 44, 0, 70, 171, 213, 0, 70, 171, 215, 0, 356 70, 171, 213, 215, 0, 214, 0, 213, 214, 0, 357 60, 93, 151, 94, 171, 0, 64, 171, 0, 217, 358 0, 221, 0, 111, 0, 76, 0, 93, 251, 94, 359 0, 218, 0, 225, 0, 226, 0, 227, 0, 119, 360 101, 67, 0, 113, 101, 67, 0, 59, 101, 67, 361 0, 119, 101, 76, 0, 72, 116, 93, 220, 94, 362 0, 72, 116, 93, 94, 0, 72, 116, 93, 220, 363 94, 138, 0, 72, 116, 93, 94, 138, 0, 219, 364 122, 93, 94, 0, 219, 122, 93, 94, 138, 0, 365 219, 122, 93, 220, 94, 0, 219, 122, 93, 220, 366 94, 138, 0, 119, 101, 72, 0, 216, 101, 72, 367 0, 251, 0, 220, 100, 251, 0, 220, 100, 1, 368 0, 72, 113, 222, 0, 72, 115, 222, 0, 72, 369 113, 222, 224, 0, 72, 115, 222, 224, 0, 72, 370 115, 224, 169, 0, 72, 113, 224, 169, 0, 223, 371 0, 222, 223, 0, 97, 251, 98, 0, 97, 98, 372 0, 224, 97, 98, 0, 216, 101, 122, 0, 65, 373 101, 122, 0, 119, 93, 94, 0, 119, 93, 220, 374 94, 0, 216, 101, 122, 93, 94, 0, 216, 101, 375 122, 93, 220, 94, 0, 65, 101, 122, 93, 94, 376 0, 65, 101, 122, 93, 220, 94, 0, 119, 97, 377 251, 98, 0, 217, 97, 251, 98, 0, 216, 0, 378 119, 0, 229, 0, 230, 0, 228, 46, 0, 228, 379 45, 0, 232, 0, 233, 0, 3, 231, 0, 4, 380 231, 0, 234, 0, 46, 231, 0, 45, 231, 0, 381 228, 0, 89, 231, 0, 90, 231, 0, 235, 0, 382 93, 113, 224, 94, 231, 0, 93, 113, 94, 231, 383 0, 93, 251, 94, 234, 0, 93, 119, 224, 94, 384 234, 0, 231, 0, 236, 5, 231, 0, 236, 6, 385 231, 0, 236, 7, 231, 0, 236, 0, 237, 3, 386 236, 0, 237, 4, 236, 0, 237, 0, 238, 8, 387 237, 0, 238, 9, 237, 0, 238, 10, 237, 0, 388 238, 0, 239, 20, 238, 0, 239, 18, 238, 0, 389 239, 21, 238, 0, 239, 19, 238, 0, 239, 57, 390 114, 0, 239, 0, 240, 16, 239, 0, 240, 17, 391 239, 0, 240, 0, 241, 11, 240, 0, 241, 0, 392 242, 12, 241, 0, 242, 0, 243, 13, 242, 0, 393 243, 0, 244, 14, 243, 0, 244, 0, 245, 15, 394 244, 0, 245, 0, 245, 87, 251, 88, 246, 0, 395 246, 0, 248, 0, 249, 250, 247, 0, 119, 0, 396 225, 0, 227, 0, 91, 0, 92, 0, 247, 0, 397 251, 0 398}; 399 400#endif 401 402#if YYDEBUG != 0 403static const short yyrline[] = { 0, 404 171, 176, 178, 179, 180, 181, 182, 186, 188, 191, 405 197, 202, 209, 211, 214, 218, 222, 226, 228, 235, 406 245, 247, 250, 254, 263, 268, 269, 270, 271, 272, 407 273, 274, 275, 278, 280, 283, 285, 288, 293, 295, 408 298, 302, 306, 308, 309, 315, 324, 335, 342, 342, 409 345, 347, 348, 351, 352, 355, 358, 362, 364, 367, 410 369, 372, 374, 375, 376, 379, 381, 382, 383, 387, 411 390, 394, 397, 400, 402, 405, 408, 412, 414, 418, 412 422, 425, 426, 428, 435, 442, 448, 451, 453, 461, 413 477, 493, 494, 497, 500, 504, 506, 507, 511, 513, 414 516, 526, 528, 531, 533, 539, 542, 546, 548, 549, 415 550, 554, 556, 559, 561, 565, 567, 572, 575, 577, 416 579, 583, 585, 588, 590, 593, 595, 598, 600, 601, 417 602, 605, 609, 614, 616, 617, 618, 621, 623, 627, 418 629, 632, 634, 637, 639, 640, 643, 647, 650, 654, 419 656, 657, 658, 659, 660, 663, 665, 666, 667, 668, 420 671, 673, 674, 675, 676, 677, 678, 679, 680, 681, 421 682, 685, 689, 694, 698, 704, 708, 710, 711, 712, 422 713, 714, 715, 718, 722, 726, 730, 734, 736, 737, 423 738, 741, 743, 746, 751, 753, 756, 758, 761, 765, 424 769, 773, 777, 781, 783, 786, 788, 791, 795, 798, 425 799, 800, 803, 804, 807, 809, 812, 814, 817, 819, 426 822, 824, 827, 831, 833, 836, 841, 843, 844, 847, 427 849, 852, 856, 861, 863, 866, 868, 869, 870, 871, 428 872, 873, 877, 879, 881, 885, 889, 891, 895, 896, 429 900, 901, 902, 903, 906, 909, 912, 914, 915, 918, 430 920, 921, 922, 925, 926, 929, 931, 934, 938, 940, 431 943, 945, 948, 951, 953, 954, 955, 956, 959, 962, 432 965, 967, 969, 970, 973, 977, 981, 983, 984, 985, 433 986, 989, 993, 997, 999, 1000, 1001, 1004, 1006, 1007, 434 1008, 1011, 1013, 1014, 1015, 1018, 1020, 1021, 1024, 1026, 435 1027, 1028, 1031, 1033, 1034, 1035, 1036, 1037, 1040, 1042, 436 1043, 1046, 1048, 1051, 1053, 1056, 1058, 1061, 1063, 1066, 437 1068, 1071, 1073, 1076, 1078, 1081, 1085, 1088, 1089, 1092, 438 1094, 1097, 1101 439}; 440#endif 441 442 443#if YYDEBUG != 0 || defined (YYERROR_VERBOSE) 444 445static const char * const yytname[] = { "$","error","$undefined.","PLUS_TK", 446"MINUS_TK","MULT_TK","DIV_TK","REM_TK","LS_TK","SRS_TK","ZRS_TK","AND_TK","XOR_TK", 447"OR_TK","BOOL_AND_TK","BOOL_OR_TK","EQ_TK","NEQ_TK","GT_TK","GTE_TK","LT_TK", 448"LTE_TK","PLUS_ASSIGN_TK","MINUS_ASSIGN_TK","MULT_ASSIGN_TK","DIV_ASSIGN_TK", 449"REM_ASSIGN_TK","LS_ASSIGN_TK","SRS_ASSIGN_TK","ZRS_ASSIGN_TK","AND_ASSIGN_TK", 450"XOR_ASSIGN_TK","OR_ASSIGN_TK","PUBLIC_TK","PRIVATE_TK","PROTECTED_TK","STATIC_TK", 451"FINAL_TK","SYNCHRONIZED_TK","VOLATILE_TK","TRANSIENT_TK","NATIVE_TK","PAD_TK", 452"ABSTRACT_TK","MODIFIER_TK","DECR_TK","INCR_TK","DEFAULT_TK","IF_TK","THROW_TK", 453"BOOLEAN_TK","DO_TK","IMPLEMENTS_TK","THROWS_TK","BREAK_TK","IMPORT_TK","ELSE_TK", 454"INSTANCEOF_TK","RETURN_TK","VOID_TK","CATCH_TK","INTERFACE_TK","CASE_TK","EXTENDS_TK", 455"FINALLY_TK","SUPER_TK","WHILE_TK","CLASS_TK","SWITCH_TK","CONST_TK","TRY_TK", 456"FOR_TK","NEW_TK","CONTINUE_TK","GOTO_TK","PACKAGE_TK","THIS_TK","BYTE_TK","SHORT_TK", 457"INT_TK","LONG_TK","CHAR_TK","INTEGRAL_TK","FLOAT_TK","DOUBLE_TK","FP_TK","ID_TK", 458"REL_QM_TK","REL_CL_TK","NOT_TK","NEG_TK","ASSIGN_ANY_TK","ASSIGN_TK","OP_TK", 459"CP_TK","OCB_TK","CCB_TK","OSB_TK","CSB_TK","SC_TK","C_TK","DOT_TK","STRING_LIT_TK", 460"CHAR_LIT_TK","INT_LIT_TK","FP_LIT_TK","TRUE_TK","FALSE_TK","BOOL_LIT_TK","NULL_TK", 461"goal","literal","type","primitive_type","reference_type","class_or_interface_type", 462"class_type","interface_type","array_type","name","simple_name","qualified_name", 463"identifier","compilation_unit","import_declarations","type_declarations","package_declaration", 464"import_declaration","single_type_import_declaration","type_import_on_demand_declaration", 465"type_declaration","modifiers","class_declaration","@1","@2","super","interfaces", 466"interface_type_list","class_body","class_body_declarations","class_body_declaration", 467"class_member_declaration","field_declaration","variable_declarators","variable_declarator", 468"variable_declarator_id","variable_initializer","method_declaration","method_header", 469"method_declarator","formal_parameter_list","formal_parameter","throws","class_type_list", 470"method_body","static_initializer","static","constructor_declaration","constructor_declarator", 471"constructor_body","explicit_constructor_invocation","this_or_super","interface_declaration", 472"extends_interfaces","interface_body","interface_member_declarations","interface_member_declaration", 473"constant_declaration","abstract_method_declaration","array_initializer","variable_initializers", 474"block","block_statements","block_statement","local_variable_declaration_statement", 475"local_variable_declaration","statement","statement_nsi","statement_without_trailing_substatement", 476"empty_statement","label_decl","labeled_statement","labeled_statement_nsi","expression_statement", 477"statement_expression","if_then_statement","if_then_else_statement","if_then_else_statement_nsi", 478"switch_statement","switch_block","switch_block_statement_groups","switch_block_statement_group", 479"switch_labels","switch_label","while_expression","while_statement","while_statement_nsi", 480"do_statement_begin","do_statement","for_statement","for_statement_nsi","for_header", 481"for_begin","for_init","for_update","statement_expression_list","break_statement", 482"continue_statement","return_statement","throw_statement","synchronized_statement", 483"synchronized","try_statement","catches","catch_clause","finally","primary", 484"primary_no_new_array","class_instance_creation_expression","something_dot_new", 485"argument_list","array_creation_expression","dim_exprs","dim_expr","dims","field_access", 486"method_invocation","array_access","postfix_expression","post_increment_expression", 487"post_decrement_expression","unary_expression","pre_increment_expression","pre_decrement_expression", 488"unary_expression_not_plus_minus","cast_expression","multiplicative_expression", 489"additive_expression","shift_expression","relational_expression","equality_expression", 490"and_expression","exclusive_or_expression","inclusive_or_expression","conditional_and_expression", 491"conditional_or_expression","conditional_expression","assignment_expression", 492"assignment","left_hand_side","assignment_operator","expression","constant_expression", NULL 493}; 494#endif 495 496static const short yyr1[] = { 0, 497 110, 111, 111, 111, 111, 111, 111, 112, 112, 113, 498 113, 113, 114, 114, 115, 116, 117, 118, 118, 118, 499 119, 119, 120, 121, 122, 123, 123, 123, 123, 123, 500 123, 123, 123, 124, 124, 125, 125, 126, 127, 127, 501 128, 129, 130, 130, 130, 131, 131, 133, 132, 134, 502 132, 135, 135, 136, 136, 137, 137, 138, 138, 139, 503 139, 140, 140, 140, 140, 141, 141, 141, 141, 142, 504 142, 143, 143, 144, 144, 145, 145, 146, 146, 147, 505 148, 148, 148, 148, 149, 149, 149, 150, 150, 151, 506 151, 152, 152, 153, 153, 154, 154, 154, 155, 155, 507 156, 157, 157, 157, 157, 158, 158, 159, 159, 159, 508 159, 160, 160, 160, 160, 161, 161, 162, 162, 162, 509 162, 163, 163, 164, 164, 165, 165, 166, 166, 166, 510 166, 167, 168, 169, 169, 169, 169, 170, 170, 171, 511 171, 172, 172, 173, 173, 173, 174, 175, 175, 176, 512 176, 176, 176, 176, 176, 177, 177, 177, 177, 177, 513 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 514 178, 179, 180, 181, 182, 183, 184, 184, 184, 184, 515 184, 184, 184, 185, 186, 187, 188, 189, 189, 189, 516 189, 190, 190, 191, 192, 192, 193, 193, 194, 195, 517 196, 197, 198, 199, 199, 200, 200, 201, 202, 203, 518 203, 203, 204, 204, 205, 205, 206, 206, 207, 207, 519 208, 208, 209, 210, 210, 211, 212, 212, 212, 213, 520 213, 214, 215, 216, 216, 217, 217, 217, 217, 217, 521 217, 217, 217, 217, 217, 217, 218, 218, 218, 218, 522 218, 218, 218, 218, 219, 219, 220, 220, 220, 221, 523 221, 221, 221, 221, 221, 222, 222, 223, 224, 224, 524 225, 225, 226, 226, 226, 226, 226, 226, 227, 227, 525 228, 228, 228, 228, 229, 230, 231, 231, 231, 231, 526 231, 232, 233, 234, 234, 234, 234, 235, 235, 235, 527 235, 236, 236, 236, 236, 237, 237, 237, 238, 238, 528 238, 238, 239, 239, 239, 239, 239, 239, 240, 240, 529 240, 241, 241, 242, 242, 243, 243, 244, 244, 245, 530 245, 246, 246, 247, 247, 248, 249, 249, 249, 250, 531 250, 251, 252 532}; 533 534static const short yyr2[] = { 0, 535 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 536 1, 1, 1, 1, 1, 1, 1, 3, 3, 3, 537 1, 1, 1, 3, 1, 0, 1, 1, 1, 2, 538 2, 2, 3, 1, 2, 1, 2, 3, 1, 1, 539 3, 5, 1, 1, 1, 1, 2, 0, 7, 0, 540 6, 0, 2, 0, 2, 1, 3, 2, 3, 1, 541 2, 1, 1, 1, 1, 1, 1, 1, 1, 3, 542 4, 1, 3, 1, 3, 1, 3, 1, 1, 2, 543 3, 3, 4, 4, 3, 4, 3, 1, 3, 2, 544 3, 0, 2, 1, 3, 1, 2, 1, 2, 3, 545 1, 3, 4, 4, 5, 3, 4, 2, 3, 3, 546 4, 4, 5, 7, 6, 1, 1, 3, 4, 4, 547 5, 2, 3, 2, 3, 1, 2, 1, 1, 1, 548 1, 1, 2, 2, 3, 3, 4, 1, 3, 2, 549 3, 1, 2, 1, 1, 1, 2, 2, 3, 1, 550 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 551 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 552 1, 1, 2, 2, 2, 2, 1, 1, 1, 1, 553 1, 1, 1, 5, 7, 7, 5, 2, 3, 3, 554 4, 1, 2, 2, 1, 2, 3, 2, 4, 2, 555 2, 1, 7, 7, 6, 7, 6, 2, 2, 0, 556 1, 1, 0, 1, 1, 3, 2, 3, 2, 3, 557 2, 3, 3, 5, 5, 1, 3, 3, 4, 1, 558 2, 5, 2, 1, 1, 1, 1, 3, 1, 1, 559 1, 1, 3, 3, 3, 3, 5, 4, 6, 5, 560 4, 5, 5, 6, 3, 3, 1, 3, 3, 3, 561 3, 4, 4, 4, 4, 1, 2, 3, 2, 3, 562 3, 3, 3, 4, 5, 6, 5, 6, 4, 4, 563 1, 1, 1, 1, 2, 2, 1, 1, 2, 2, 564 1, 2, 2, 1, 2, 2, 1, 5, 4, 4, 565 5, 1, 3, 3, 3, 1, 3, 3, 1, 3, 566 3, 3, 1, 3, 3, 3, 3, 3, 1, 3, 567 3, 1, 3, 1, 3, 1, 3, 1, 3, 1, 568 3, 1, 5, 1, 1, 3, 1, 1, 1, 1, 569 1, 1, 1 570}; 571 572static const short yydefact[] = { 26, 573 46, 0, 0, 0, 0, 45, 1, 28, 29, 27, 574 34, 39, 40, 36, 0, 43, 44, 25, 0, 21, 575 22, 23, 0, 52, 0, 32, 35, 37, 30, 31, 576 47, 0, 0, 41, 0, 0, 0, 0, 118, 0, 577 54, 38, 0, 33, 0, 52, 0, 24, 17, 122, 578 15, 12, 0, 10, 11, 124, 0, 8, 9, 13, 579 14, 15, 0, 130, 132, 0, 131, 0, 126, 128, 580 129, 0, 120, 16, 53, 0, 50, 0, 119, 54, 581 42, 0, 92, 76, 0, 72, 74, 92, 0, 0, 582 0, 0, 0, 133, 125, 127, 123, 56, 55, 0, 583 121, 48, 0, 0, 0, 82, 70, 0, 0, 0, 584 81, 18, 20, 19, 92, 0, 92, 0, 0, 51, 585 0, 85, 0, 0, 0, 88, 94, 93, 87, 76, 586 73, 0, 0, 0, 0, 0, 0, 0, 237, 0, 587 0, 0, 0, 6, 5, 2, 3, 4, 7, 236, 588 0, 282, 75, 79, 281, 234, 239, 0, 235, 240, 589 241, 242, 294, 283, 284, 302, 287, 288, 291, 297, 590 306, 309, 313, 319, 322, 324, 326, 328, 330, 332, 591 334, 342, 335, 0, 78, 77, 84, 71, 83, 57, 592 46, 0, 58, 21, 0, 68, 0, 60, 62, 66, 593 67, 0, 63, 0, 64, 92, 69, 65, 49, 90, 594 0, 86, 0, 0, 282, 240, 242, 289, 290, 293, 595 292, 0, 0, 0, 16, 0, 295, 296, 0, 282, 596 0, 134, 0, 138, 0, 0, 0, 0, 0, 0, 597 0, 0, 286, 285, 0, 0, 0, 0, 0, 0, 598 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 599 0, 0, 0, 0, 0, 340, 341, 0, 46, 0, 600 0, 202, 0, 0, 0, 0, 0, 0, 0, 0, 601 140, 172, 0, 8, 282, 23, 0, 146, 161, 0, 602 142, 144, 0, 145, 150, 162, 0, 151, 163, 0, 603 152, 153, 164, 0, 154, 0, 165, 155, 210, 0, 604 166, 167, 168, 170, 169, 0, 171, 239, 241, 0, 605 180, 181, 178, 179, 177, 0, 92, 59, 61, 98, 606 80, 96, 99, 0, 91, 89, 95, 245, 272, 0, 607 260, 266, 0, 261, 0, 0, 0, 0, 0, 0, 608 0, 238, 136, 135, 0, 244, 273, 0, 257, 0, 609 243, 255, 246, 256, 271, 0, 0, 303, 304, 305, 610 307, 308, 310, 311, 312, 315, 317, 314, 316, 0, 611 318, 320, 321, 323, 325, 327, 329, 331, 0, 336, 612 0, 0, 217, 0, 221, 0, 0, 0, 0, 208, 613 219, 0, 0, 148, 0, 173, 0, 141, 143, 147, 614 226, 174, 176, 200, 0, 0, 212, 215, 209, 211, 615 0, 0, 106, 0, 0, 97, 100, 0, 102, 0, 616 269, 0, 267, 262, 0, 265, 263, 264, 248, 0, 617 299, 0, 0, 300, 137, 139, 274, 0, 279, 0, 618 280, 251, 0, 0, 0, 223, 218, 222, 0, 0, 619 0, 0, 227, 230, 228, 220, 238, 149, 0, 0, 620 213, 0, 0, 107, 103, 117, 237, 108, 282, 0, 621 0, 0, 104, 277, 0, 268, 270, 250, 247, 298, 622 301, 259, 258, 275, 0, 252, 253, 333, 0, 199, 623 0, 0, 233, 231, 229, 0, 216, 0, 214, 213, 624 0, 105, 0, 109, 0, 0, 110, 278, 249, 276, 625 254, 0, 184, 0, 150, 0, 157, 158, 0, 159, 626 160, 0, 0, 187, 0, 0, 0, 0, 225, 224, 627 0, 111, 0, 0, 0, 0, 175, 201, 0, 0, 628 0, 188, 0, 192, 0, 195, 0, 0, 205, 0, 629 0, 112, 0, 0, 185, 213, 0, 198, 343, 0, 630 190, 193, 0, 189, 194, 196, 232, 203, 204, 0, 631 0, 113, 0, 0, 213, 197, 191, 115, 0, 0, 632 0, 0, 114, 0, 207, 0, 186, 206, 0, 0, 633 0 634}; 635 636static const short yydefgoto[] = { 599, 637 150, 283, 151, 59, 60, 75, 50, 61, 152, 20, 638 21, 22, 7, 8, 9, 10, 11, 12, 13, 14, 639 287, 288, 121, 100, 41, 77, 99, 120, 197, 198, 640 199, 65, 85, 86, 87, 153, 201, 66, 83, 125, 641 126, 106, 128, 331, 203, 204, 205, 206, 429, 480, 642 481, 17, 38, 39, 68, 69, 70, 71, 154, 235, 643 289, 575, 291, 292, 293, 294, 524, 295, 296, 297, 644 298, 527, 299, 300, 301, 302, 528, 303, 534, 553, 645 554, 555, 556, 304, 305, 530, 306, 307, 308, 531, 646 309, 310, 419, 508, 509, 311, 312, 313, 314, 315, 647 316, 317, 463, 464, 465, 155, 156, 157, 158, 358, 648 159, 341, 342, 343, 160, 161, 162, 163, 164, 165, 649 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 650 176, 177, 178, 179, 180, 181, 182, 183, 184, 268, 651 359, 570 652}; 653 654static const short yypact[] = { 11, 655-32768, -52, -52, -52, -52,-32768,-32768, 18, 154, 18, 656-32768,-32768,-32768,-32768, 185,-32768,-32768,-32768, 187,-32768, 657-32768,-32768, -24, -5, 332, 154,-32768,-32768, 18, 154, 658-32768, -52, -52,-32768, 5, -52, 745, 162,-32768, -52, 659 76,-32768, -52, 154, -24, -5, 57,-32768,-32768,-32768, 660 41,-32768, -52,-32768,-32768,-32768, -52, 71,-32768,-32768, 661 170, 113, 518,-32768,-32768, 126,-32768, 758,-32768,-32768, 662-32768, -52,-32768,-32768,-32768, -52,-32768, 162,-32768, 76, 663-32768, 249, -15, 249, 321,-32768, 205, -15, 149, 255, 664 265, -52, -52,-32768,-32768,-32768,-32768,-32768, 198, 294, 665-32768,-32768, 58, -52, 298,-32768,-32768, -52, 1568, 309, 666-32768,-32768,-32768,-32768, -15, 359, -15, -52, 596,-32768, 667 294,-32768, -52, 199, -13,-32768,-32768, 310,-32768,-32768, 668-32768, 2315, 2315, 2315, 2315, 329, 352, 88,-32768, 2315, 669 2315, 2315, 1438,-32768,-32768,-32768,-32768,-32768,-32768,-32768, 670 354, 393,-32768,-32768, 360, 369,-32768, -52,-32768, 347, 671-32768, 378, 437,-32768,-32768,-32768,-32768,-32768,-32768,-32768, 672 445, 495, 483, 380, 492, 461, 462, 467, 502, 1, 673-32768,-32768,-32768, 412,-32768,-32768,-32768,-32768,-32768,-32768, 674 423, 2513,-32768, 429, 518,-32768, 683,-32768,-32768,-32768, 675-32768, 128,-32768, 432,-32768, 471,-32768,-32768,-32768, 435, 676 -52,-32768, 337, -52, 52,-32768,-32768,-32768,-32768,-32768, 677-32768, 468, -52, 440, 440, 449,-32768,-32768, 174, 414, 678 454,-32768, 460,-32768, 235, 500, 1619, 2315, 261, -21, 679 2315, 476,-32768,-32768, 2315, 2315, 2315, 2315, 2315, 2315, 680 2315, 2315, 2315, 2315, 2315, 2315, 88, 2315, 2315, 2315, 681 2315, 2315, 2315, 2315, 2315,-32768,-32768, 2315, 480, 482, 682 2315,-32768, 60, 1684, 490, 491, 432, 494, 89, 2315, 683-32768,-32768, -52, 137, 559, 488, 496,-32768,-32768, 2579, 684-32768,-32768, 493,-32768,-32768,-32768, 2975,-32768,-32768, 498, 685-32768,-32768,-32768, 2975,-32768, 2975,-32768,-32768, 1029, 499, 686-32768,-32768,-32768,-32768,-32768, 497,-32768, 96, 196, 437, 687 485, 505,-32768,-32768,-32768, 323, 471,-32768,-32768,-32768, 688-32768, 506, 507, 504, 435,-32768,-32768,-32768, 508, 1735, 689 440,-32768, 339, 440, 339, 1800, 2315, 509, 180, 1735, 690 246, 1364,-32768,-32768, 1503,-32768,-32768, 3,-32768, 512, 691-32768,-32768,-32768,-32768, 520, 513, 1851,-32768,-32768,-32768, 692 445, 445, 495, 495, 495, 483, 483, 483, 483, 71, 693-32768, 380, 380, 492, 461, 462, 467, 502, 501,-32768, 694 2315, 522,-32768, 523,-32768, 526, 2315, 2315, 322,-32768, 695-32768, 528, 534, 535, 1916,-32768, -52,-32768,-32768,-32768, 696-32768,-32768,-32768,-32768, 572, 199,-32768,-32768,-32768, 539, 697 1967, 2315,-32768, 141, 504,-32768,-32768, 2645, 543, 2032, 698-32768, 545,-32768, 547, 549,-32768, 547,-32768, 294, 244, 699-32768, 2315, 1364,-32768,-32768,-32768,-32768, 1323,-32768, 2083, 700-32768, 294, 251, 2315, 555,-32768,-32768,-32768, 564, 565, 701 573, 432, 322,-32768,-32768,-32768,-32768, 535, 576, 1171, 702 1171, 566, 582,-32768, 571, 352, 584,-32768, 849, 2711, 703 587, 2777,-32768,-32768, 256,-32768,-32768,-32768, 294,-32768, 704-32768,-32768,-32768,-32768, 260,-32768, 294,-32768, 3041,-32768, 705 588, 337,-32768,-32768,-32768, 2315,-32768, 591, 539, 1171, 706 6,-32768, 183,-32768, 2843, 2148,-32768,-32768,-32768,-32768, 707-32768, 593,-32768, 631, 632, 3041,-32768,-32768, 3041,-32768, 708-32768, 590, -16,-32768, 600, 601, 2975, 602,-32768,-32768, 709 604,-32768, 603, 272, 2315, 2975,-32768,-32768, 2199, 611, 710 2315,-32768, 45,-32768, 2381,-32768, 432, 609,-32768, 2975, 711 2264,-32768, 610, 616,-32768, 1171, 613,-32768,-32768, 615, 712-32768,-32768, 2447,-32768, 2909,-32768,-32768,-32768,-32768, 619, 713 280,-32768, 3041, 621, 1171,-32768,-32768,-32768, 623, 670, 714 3041, 636,-32768, 3041,-32768, 3041,-32768,-32768, 725, 735, 715-32768 716}; 717 718static const short yypgoto[] = {-32768, 719-32768, 139, -26, 479, 253, -85, 43,-32768, 59, -72, 720-32768, -3,-32768, 729, 150,-32768, 20,-32768,-32768, 200, 721 15, 586,-32768,-32768, 695, 665,-32768, -113,-32768, 550, 722-32768, -83, -80, 640, -105, -138,-32768, -71, 93, 426, 723 -211, -82,-32768,-32768,-32768,-32768,-32768, 554, 328,-32768, 724-32768, -25, 709, -18,-32768, 688,-32768,-32768, 103,-32768, 725 -93, -188, -276,-32768, 450, -167, -372, -378,-32768, -151, 726-32768,-32768,-32768, -306,-32768,-32768,-32768,-32768,-32768,-32768, 727 207, 208, -499, -134,-32768,-32768,-32768,-32768,-32768,-32768, 728-32768, -58,-32768, -453, 458,-32768,-32768,-32768,-32768,-32768, 729-32768,-32768,-32768, 295, 300,-32768,-32768, 138,-32768, -283, 730-32768, 546, 14, -208, 1037, 191, 1059, 327, 410, 434, 731 -65, 487, 570, -343,-32768, 305, 308, 159, 306, 510, 732 511, 519, 517, 524,-32768, 319, 531, 669,-32768,-32768, 733 123,-32768 734}; 735 736 737#define YYLAST 3150 738 739 740static const short yytable[] = { 23, 741 24, 336, 418, 290, 234, 111, 539, 209, 444, 47, 742 58, 67, 116, 409, 15, 264, 345, 210, 127, 73, 743 349, 351, 15, 15, 15, 208, 79, 27, 45, 46, 744 550, 48, 187, 18, 189, 200, 58, 104, 36, 48, 745 15, 58, 67, 15, 15, 551, 194, 202, 27, 82, 746 364, 63, 226, 84, 1, 576, 538, 40, 15, 101, 747 19, 1, 440, 25, 18, 2, 218, 219, 220, 221, 748 37, 3, 2, 576, 227, 228, 58, 4, 3, 552, 749 212, 105, 63, 453, 4, 5, 213, 265, 82, 84, 750 18, 550, 58, 207, 51, 62, 447, 58, 51, 491, 751 192, 1, 448, 208, 130, 335, 551, 52, 332, 6, 752 333, 224, 584, 200, 97, 229, 6, 124, 98, 130, 753 525, 62, 194, 334, 194, 202, 62, 76, 337, 412, 754 51, 592, 434, 195, 51, 437, 414, 52, 415, 54, 755 571, 43, 55, 18, 237, 18, 485, 525, 238, 88, 756 525, 122, 239, 547, 242, 81, 548, 26, 393, 30, 757 190, 62, 51, 507, 418, 284, 495, 89, 58, 54, 758 58, 207, 55, 18, 18, 57, 51, 62, 44, 368, 759 369, 370, 62, 399, 115, 117, 58, 401, 286, -183, 760 215, 215, 215, 215, -183, -183, 51, 1, 215, 215, 761 230, 93, 404, 418, 525, 409, 57, 130, 28, 91, 762 590, 195, 525, 43, 3, 525, 446, 525, 595, 339, 763 4, 597, 192, 598, 94, 28, 330, 124, 31, 28, 764 380, 185, 544, 89, 474, 48, 365, 236, 409, 482, 765 213, 123, 31, 28, 425, 32, 112, 541, 52, 361, 766 285, 33, 6, 62, 362, 62, 37, 57, 363, 418, 767 58, 72, 211, 284, 231, 185, 90, 347, 18, 394, 768 348, 62, 51, 442, 236, 402, 435, 581, 418, 130, 769 54, 441, 284, 55, 18, 34, 286, 35, 49, -182, 770 535, 515, 74, 286, -182, -182, 109, 118, 409, 58, 771 286, 110, 286, 215, 215, 215, 215, 215, 215, 215, 772 215, 215, 215, 215, 215, 62, 215, 215, 215, 215, 773 215, 215, 215, 416, 49, 488, 468, 361, 49, 318, 774 354, 523, 362, 93, 355, 57, 363, 489, 496, 443, 775 124, 103, 435, 448, 497, 62, 18, 526, 285, 518, 776 448, 123, 113, 520, 433, 448, 74, 433, 412, 448, 777 360, 414, 114, 366, 529, 563, 1, 285, 503, 559, 778 49, 448, 52, 589, 526, 519, 490, 526, 565, 448, 779 1, 461, 319, 521, 62, 462, 52, 389, 119, 58, 780 225, 529, 579, 392, 529, 129, 396, 253, 254, 255, 781 256, 284, 403, 130, 54, 215, 186, 55, 18, 214, 782 215, 376, 377, 378, 379, 523, 423, 540, 54, 107, 783 108, 55, 18, 559, 286, 407, 565, 318, 579, 222, 784 42, 526, 43, 143, 318, 435, 257, -338, -338, 526, 785 532, 318, 526, 318, 526, 436, 318, 438, 529, 245, 786 246, 247, 223, 284, 236, 284, 529, 188, 108, 529, 787 240, 529, 432, 577, 123, 241, 74, 532, -339, -339, 788 532, 260, 360, 261, 62, 58, 286, 185, 286, 262, 789 319, 243, 244, -337, -337, 237, 479, 319, 284, 238, 790 250, 251, 252, 239, 319, 286, 319, 248, 249, 319, 791 215, 215, 266, 267, -337, -337, 237, 258, 259, 48, 792 350, 286, 215, 455, 239, 263, 124, -101, 320, 459, 793 460, 326, 286, 104, 532, 286, 192, 360, 284, -283, 794 -283, 110, 532, 286, 338, 532, 340, 532, 285, 31, 795 285, 346, 286, 472, 473, 52, 284, 352, 284, -284, 796 -284, 286, 371, 372, 407, 353, 286, 373, 374, 375, 797 62, 31, 33, 382, 383, 318, 356, 52, 367, 286, 798 493, 286, -226, 285, 391, 406, 92, 54, 32, 286, 799 55, 18, 397, 398, 33, 16, 400, 286, 454, 422, 800 286, 410, 286, 16, 16, 16, 413, 421, 428, 54, 801 430, 321, 55, 18, 426, 427, 431, 318, 318, 449, 802 451, 16, 450, 285, 16, 16, 320, 318, 319, 318, 803 456, 457, 64, 320, 458, 322, 466, 467, 536, 16, 804 320, 285, 320, 285, 108, 320, 318, 469, 470, 191, 805 123, 483, 486, 435, -15, 52, 487, 318, 499, -337, 806 -337, 237, 318, 64, 53, 405, 3, 500, 501, 239, 807 319, 319, 4, 318, 510, 502, 318, 564, 506, 512, 808 319, 567, 319, 569, 318, 511, -116, 54, 323, 516, 809 55, 18, 533, 318, 537, 545, 546, -156, 549, 319, 810 192, 193, 318, 557, 558, 560, 561, 318, 568, 321, 811 319, 562, 586, 318, 196, 319, 321, 578, 582, 583, 812 318, 585, 318, 321, 591, 321, 319, 588, 321, 319, 813 318, 593, 318, 322, 600, 594, 191, 319, 318, 596, 814 322, 318, 52, 318, 601, 381, 319, 322, 29, 322, 815 80, 53, 322, 3, 102, 319, 329, 131, 327, 4, 816 319, 424, 475, 78, 320, 96, 319, 504, 417, 572, 817 573, 324, 505, 319, 54, 319, 420, 55, 18, 384, 818 344, 385, 498, 319, 0, 319, 323, 192, 328, 387, 819 386, 319, 196, 323, 319, 0, 319, 388, 1, 0, 820 323, 0, 323, 0, 52, 323, 320, 320, 390, 0, 821 0, 1, 0, 53, 0, 3, 320, 52, 320, 0, 822 0, 4, 0, 0, 0, 0, 53, 0, 3, 0, 823 0, 0, 0, 0, 4, 320, 54, 0, 0, 55, 824 18, 0, 0, 0, 0, 0, 320, 321, 0, 54, 825 56, 320, 55, 18, 0, 0, 0, 0, 0, 0, 826 0, 0, 320, 95, 0, 320, 0, 0, 0, 324, 827 325, 322, 0, 320, 0, 0, 324, 0, 0, 0, 828 0, 0, 320, 324, 0, 324, 0, 0, 324, 321, 829 321, 320, 0, 0, 0, 0, 320, 0, 0, 321, 830 0, 321, 320, 0, 0, 0, 0, 0, 0, 320, 831 0, 320, 0, 322, 322, 0, 0, 0, 321, 320, 832 0, 320, 0, 322, 323, 322, 0, 320, 0, 321, 833 320, 0, 320, 0, 321, 0, 0, 0, 0, 0, 834 0, 0, 322, 0, -15, 321, 0, 0, 321, -337, 835 -337, 237, 0, 322, 0, 405, 321, 0, 322, 513, 836 0, 0, 0, 0, 0, 321, 323, 323, 325, 322, 837 0, 0, 322, 0, 321, 325, 323, 0, 323, 321, 838 322, 0, 325, 0, 325, 321, 0, 325, 0, 322, 839 0, 0, 321, 0, 321, 323, 0, 0, 322, 0, 840 0, 0, 321, 322, 321, 0, 323, 324, 0, 322, 841 321, 323, 0, 321, 0, 321, 322, 0, 322, 0, 842 0, 0, 323, 0, 0, 323, 322, 0, 322, 0, 843 0, 0, 0, 323, 322, 0, 0, 322, 0, 322, 844 0, 0, 323, 0, 0, 0, 0, 0, 0, 324, 845 324, 323, 0, 0, 0, 0, 323, 0, 0, 324, 846 0, 324, 323, 0, 0, 0, 0, 0, 0, 323, 847 0, 323, 0, 0, 0, 0, 0, 0, 324, 323, 848 0, 323, 1, 134, 135, 0, 0, 323, 52, 324, 849 323, 0, 323, 0, 324, 0, 0, 136, 0, 0, 850 0, 0, 0, 137, 0, 324, 325, 0, 324, 0, 851 138, 0, 0, 0, 139, 0, 324, 0, 0, 0, 852 54, 0, 0, 55, 18, 324, 0, 0, 0, 0, 853 0, 280, 0, 0, 324, 0, 0, 0, 0, 324, 854 144, 145, 146, 147, 0, 324, 148, 149, 325, 325, 855 0, 0, 324, 0, 324, 0, 0, 0, 325, 0, 856 325, 0, 324, 0, 324, 0, 0, 0, 0, 0, 857 324, 0, 0, 324, 0, 324, 0, 325, 216, 216, 858 216, 216, 0, 0, 0, 0, 216, 216, 325, 0, 859 0, 0, 0, 325, 0, 0, 0, 0, 0, 0, 860 217, 217, 217, 217, 325, 0, 0, 325, 217, 217, 861 0, 0, 0, 0, 0, 325, 0, 0, 0, 0, 862 0, 0, 0, 0, 325, 134, 135, 0, 0, 0, 863 52, 0, 0, 325, 0, 0, 0, 0, 325, 136, 864 0, 0, 0, 0, 325, 137, 0, 0, 0, 0, 865 0, 325, 138, 325, 0, 0, 139, 0, 0, 0, 866 0, 325, 54, 325, 0, 55, 18, 0, 0, 325, 867 0, 0, 325, 280, 325, 0, 0, 0, 0, 0, 868 0, 0, 144, 145, 146, 147, 0, 0, 148, 149, 869 0, 216, 216, 216, 216, 216, 216, 216, 216, 216, 870 216, 216, 216, 0, 216, 216, 216, 216, 216, 216, 871 216, 0, 0, 217, 217, 217, 217, 217, 217, 217, 872 217, 217, 217, 217, 217, 0, 217, 217, 217, 217, 873 217, 217, 217, 492, 0, 132, 133, 0, 0, 0, 874 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 875 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 876 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 877 0, 0, 0, 0, 0, 0, 0, 134, 135, 0, 878 0, 0, 52, 0, 0, 0, 0, 0, 0, 0, 879 0, 136, 0, 216, 0, 0, 0, 137, 216, 0, 880 0, 0, 0, 0, 138, 0, 0, 0, 139, 0, 881 0, 0, 0, 0, 54, 217, 0, 55, 18, 0, 882 217, 140, 141, 52, 0, 142, 0, 0, 0, 0, 883 0, 0, 136, 0, 144, 145, 146, 147, 137, 0, 884 148, 149, 0, 0, 0, 138, 0, 0, 0, 139, 885 132, 133, 0, 0, 0, 54, 0, 0, 55, 18, 886 0, 0, 140, 141, 0, 0, 142, 0, 0, 0, 887 0, 0, 0, 0, 0, 144, 145, 146, 147, 0, 888 0, 148, 149, 0, 0, 0, 0, 0, 216, 216, 889 0, 0, 134, 135, 0, 0, 0, 52, 0, 0, 890 216, 0, 0, 0, 0, 0, 136, 0, 0, 0, 891 217, 217, 137, 0, 0, 132, 133, 0, 0, 138, 892 0, 0, 217, 139, 0, 0, 0, 0, 0, 54, 893 0, 0, 55, 18, 0, 0, 140, 141, 0, 0, 894 142, 0, 143, 232, 0, 0, 0, 233, 0, 144, 895 145, 146, 147, 0, 0, 148, 149, 134, 135, 0, 896 0, 0, 52, 0, 0, 0, 0, 0, 0, 0, 897 0, 136, 0, 0, 0, 0, 0, 137, 0, 0, 898 132, 133, 0, 0, 138, 0, 0, 0, 139, 0, 899 0, 0, 0, 0, 54, 0, 0, 55, 18, 0, 900 0, 140, 141, 0, 0, 142, 0, 143, 445, 0, 901 0, 0, 0, 0, 144, 145, 146, 147, 0, 0, 902 148, 149, 134, 135, 0, 0, 0, 52, 0, 0, 903 0, 132, 133, 0, 0, 0, 136, 0, 0, 0, 904 0, 0, 137, 0, 0, 0, 0, 0, 0, 138, 905 0, 0, 0, 139, 0, 0, 0, 0, 0, 54, 906 0, 0, 55, 18, 0, 0, 140, 141, 0, 0, 907 142, 0, 143, 134, 135, 0, 0, 0, 52, 144, 908 145, 146, 147, 0, 0, 148, 149, 136, 0, 0, 909 0, 0, 0, 137, 0, 0, 132, 133, 0, 0, 910 138, 0, 0, 0, 139, 0, 0, 0, 0, 0, 911 54, 0, 0, 55, 18, 0, 0, 140, 141, 0, 912 0, 142, 357, 0, 0, 0, 0, 0, 0, 0, 913 144, 145, 146, 147, 0, 0, 148, 149, 134, 135, 914 0, 0, 0, 52, 0, 0, 0, 132, 133, 0, 915 0, 0, 136, 0, 0, 0, 0, 0, 137, 0, 916 0, 0, 0, 0, 0, 138, 0, 0, 0, 139, 917 0, 0, 0, 0, 0, 54, 0, 0, 55, 18, 918 0, 0, 140, 141, 0, 0, 142, 0, 0, 134, 919 135, 0, 395, 0, 52, 144, 145, 146, 147, 0, 920 0, 148, 149, 136, 0, 0, 0, 0, 0, 137, 921 0, 0, 132, 133, 0, 0, 138, 0, 0, 0, 922 139, 0, 0, 0, 0, 0, 54, 0, 0, 55, 923 18, 0, 0, 140, 141, 0, 0, 142, 0, 0, 924 0, 0, 431, 0, 0, 0, 144, 145, 146, 147, 925 0, 0, 148, 149, 134, 135, 0, 0, 0, 52, 926 0, 0, 0, 132, 133, 0, 0, 0, 136, 0, 927 0, 0, 0, 0, 137, 0, 0, 0, 0, 0, 928 0, 138, 0, 0, 0, 139, 0, 0, 0, 0, 929 0, 54, 0, 0, 55, 18, 0, 0, 140, 141, 930 0, 0, 142, 439, 0, 134, 135, 0, 0, 0, 931 52, 144, 145, 146, 147, 0, 0, 148, 149, 136, 932 0, 0, 0, 0, 0, 137, 0, 0, 132, 133, 933 0, 0, 138, 0, 0, 0, 139, 0, 0, 0, 934 0, 0, 54, 0, 0, 55, 18, 0, 0, 140, 935 141, 0, 0, 142, 452, 0, 0, 0, 0, 0, 936 0, 0, 144, 145, 146, 147, 0, 0, 148, 149, 937 134, 135, 0, 0, 0, 52, 0, 0, 0, 132, 938 133, 0, 0, 0, 136, 0, 0, 0, 0, 0, 939 137, 0, 0, 0, 0, 0, 0, 138, 0, 0, 940 0, 139, 0, 0, 0, 0, 0, 54, 0, 0, 941 55, 18, 0, 0, 140, 141, 0, 0, 142, 0, 942 0, 134, 135, 114, 0, 0, 52, 144, 145, 146, 943 147, 0, 0, 148, 149, 136, 0, 0, 0, 0, 944 0, 137, 0, 0, 132, 133, 0, 0, 138, 0, 945 0, 0, 139, 0, 0, 0, 0, 0, 54, 0, 946 0, 55, 18, 0, 0, 140, 141, 0, 0, 142, 947 0, 0, 0, 0, 0, 471, 0, 0, 144, 145, 948 146, 147, 0, 0, 148, 149, 134, 135, 0, 0, 949 0, 52, 0, 0, 0, 132, 133, 0, 0, 0, 950 136, 0, 0, 0, 0, 0, 137, 0, 0, 0, 951 0, 0, 0, 138, 0, 0, 0, 139, 0, 0, 952 0, 0, 0, 54, 0, 0, 55, 18, 0, 0, 953 140, 141, 0, 0, 142, 484, 0, 134, 135, 0, 954 0, 0, 52, 144, 145, 146, 147, 0, 0, 148, 955 149, 136, 0, 0, 0, 0, 0, 137, 0, 0, 956 132, 133, 0, 0, 138, 0, 0, 0, 139, 0, 957 0, 0, 0, 0, 54, 0, 0, 55, 18, 0, 958 0, 140, 141, 0, 0, 142, 494, 0, 0, 0, 959 0, 0, 0, 0, 144, 145, 146, 147, 0, 0, 960 148, 149, 134, 135, 0, 0, 0, 52, 0, 0, 961 0, 132, 133, 0, 0, 0, 136, 0, 0, 0, 962 0, 0, 137, 0, 0, 0, 0, 0, 0, 138, 963 0, 0, 0, 139, 0, 0, 0, 0, 0, 54, 964 0, 0, 55, 18, 0, 0, 140, 141, 0, 0, 965 142, 543, 0, 134, 135, 0, 0, 0, 52, 144, 966 145, 146, 147, 0, 0, 148, 149, 136, 0, 0, 967 0, 0, 0, 137, 0, 0, 132, 133, 0, 0, 968 138, 0, 0, 0, 139, 0, 0, 0, 0, 0, 969 54, 0, 0, 55, 18, 0, 0, 140, 141, 0, 970 0, 142, 0, 0, 0, 0, 0, 566, 0, 0, 971 144, 145, 146, 147, 0, 0, 148, 149, 134, 135, 972 0, 0, 0, 52, 0, 0, 0, 132, 133, 0, 973 0, 0, 136, 0, 0, 0, 0, 0, 137, 0, 974 0, 0, 0, 0, 0, 138, 0, 0, 0, 139, 975 0, 0, 0, 0, 0, 54, 0, 0, 55, 18, 976 0, 0, 140, 141, 0, 0, 142, 580, 0, 134, 977 135, 0, 0, 0, 52, 144, 145, 146, 147, 0, 978 0, 148, 149, 136, 0, 0, 0, 0, 0, 137, 979 0, 0, 0, 0, 0, 0, 138, 0, 0, 0, 980 139, 0, 0, 0, 0, 0, 54, 0, 0, 55, 981 18, 0, 0, 140, 141, 0, 0, 142, 0, 0, 982 0, 0, 0, 0, 0, 0, 144, 145, 146, 147, 983 0, 0, 148, 149, 269, 134, 135, 550, 270, 271, 984 52, 272, 0, 0, 273, 0, 0, 0, 274, 136, 985 0, 0, 551, 0, 0, 137, 275, 4, 276, 0, 986 277, 278, 138, 279, 0, 0, 139, 0, 0, 0, 987 0, 0, 54, 0, 0, 55, 18, 0, 0, 0, 988 0, 0, 0, 280, 0, 192, 574, 0, 0, 282, 989 0, 0, 144, 145, 146, 147, 0, 0, 148, 149, 990 269, 134, 135, 550, 270, 271, 52, 272, 0, 0, 991 273, 0, 0, 0, 274, 136, 0, 0, 551, 0, 992 0, 137, 275, 4, 276, 0, 277, 278, 138, 279, 993 0, 0, 139, 0, 0, 0, 0, 0, 54, 0, 994 0, 55, 18, 0, 0, 0, 0, 0, 0, 280, 995 0, 192, 587, 0, 0, 282, 0, 0, 144, 145, 996 146, 147, 0, 0, 148, 149, 269, 134, 135, 0, 997 270, 271, 52, 272, 0, 0, 273, 0, 0, 0, 998 274, 136, 0, 0, 0, 0, 0, 137, 275, 4, 999 276, 0, 277, 278, 138, 279, 0, 0, 139, 0, 1000 0, 0, 0, 0, 54, 0, 0, 55, 18, 0, 1001 0, 0, 0, 0, 0, 280, 0, 192, 281, 0, 1002 0, 282, 0, 0, 144, 145, 146, 147, 0, 0, 1003 148, 149, 269, 134, 135, 0, 270, 271, 52, 272, 1004 0, 0, 273, 0, 0, 0, 274, 136, 0, 0, 1005 0, 0, 0, 137, 275, 4, 276, 0, 277, 278, 1006 138, 279, 0, 0, 139, 0, 0, 0, 0, 0, 1007 54, 0, 0, 55, 18, 0, 0, 0, 0, 0, 1008 0, 280, 0, 192, 408, 0, 0, 282, 0, 0, 1009 144, 145, 146, 147, 0, 0, 148, 149, 269, 134, 1010 135, 0, 270, 271, 52, 272, 0, 0, 273, 0, 1011 0, 0, 274, 136, 0, 0, 0, 0, 0, 476, 1012 275, 4, 276, 0, 277, 278, 138, 279, 0, 0, 1013 477, 0, 0, 0, 0, 0, 54, 0, 0, 55, 1014 18, 0, 0, 0, 0, 0, 0, 280, 0, 192, 1015 478, 0, 0, 282, 0, 0, 144, 145, 146, 147, 1016 0, 0, 148, 149, 269, 134, 135, 0, 270, 271, 1017 52, 272, 0, 0, 273, 0, 0, 0, 274, 136, 1018 0, 0, 0, 0, 0, 137, 275, 4, 276, 0, 1019 277, 278, 138, 279, 0, 0, 139, 0, 0, 0, 1020 0, 0, 54, 0, 0, 55, 18, 0, 0, 0, 1021 0, 0, 0, 280, 0, 192, 514, 0, 0, 282, 1022 0, 0, 144, 145, 146, 147, 0, 0, 148, 149, 1023 269, 134, 135, 0, 270, 271, 52, 272, 0, 0, 1024 273, 0, 0, 0, 274, 136, 0, 0, 0, 0, 1025 0, 137, 275, 4, 276, 0, 277, 278, 138, 279, 1026 0, 0, 139, 0, 0, 0, 0, 0, 54, 0, 1027 0, 55, 18, 0, 0, 0, 0, 0, 0, 280, 1028 0, 192, 517, 0, 0, 282, 0, 0, 144, 145, 1029 146, 147, 0, 0, 148, 149, 269, 134, 135, 0, 1030 270, 271, 52, 272, 0, 0, 273, 0, 0, 0, 1031 274, 136, 0, 0, 0, 0, 0, 137, 275, 4, 1032 276, 0, 277, 278, 138, 279, 0, 0, 139, 0, 1033 0, 0, 0, 0, 54, 0, 0, 55, 18, 0, 1034 0, 0, 0, 0, 0, 280, 0, 192, 542, 0, 1035 0, 282, 0, 0, 144, 145, 146, 147, 0, 0, 1036 148, 149, 269, 134, 135, 0, 270, 271, 52, 272, 1037 0, 0, 273, 0, 0, 0, 274, 136, 0, 0, 1038 0, 0, 0, 137, 275, 4, 276, 0, 277, 278, 1039 138, 279, 0, 0, 139, 0, 0, 0, 0, 0, 1040 54, 0, 0, 55, 18, 0, 0, 0, 0, 0, 1041 0, 280, 0, 192, 0, 0, 0, 282, 0, 0, 1042 144, 145, 146, 147, 0, 0, 148, 149, 411, 134, 1043 135, 0, 270, 271, 52, 272, 0, 0, 273, 0, 1044 0, 0, 274, 136, 0, 0, 0, 0, 0, 137, 1045 275, 0, 276, 0, 277, 278, 138, 279, 0, 0, 1046 139, 0, 0, 0, 0, 0, 54, 0, 0, 55, 1047 18, 0, 0, 0, 0, 0, 0, 280, 0, 192, 1048 0, 0, 0, 282, 0, 0, 144, 145, 146, 147, 1049 0, 0, 148, 149, 411, 134, 135, 0, 522, 271, 1050 52, 272, 0, 0, 273, 0, 0, 0, 274, 136, 1051 0, 0, 0, 0, 0, 137, 275, 0, 276, 0, 1052 277, 278, 138, 279, 0, 0, 139, 0, 0, 0, 1053 0, 0, 54, 0, 0, 55, 18, 0, 0, 0, 1054 0, 0, 0, 280, 0, 192, 0, 0, 0, 282, 1055 0, 0, 144, 145, 146, 147, 0, 0, 148, 149 1056}; 1057 1058static const short yycheck[] = { 3, 1059 4, 213, 309, 192, 143, 88, 1, 121, 352, 5, 1060 37, 37, 93, 290, 0, 15, 225, 123, 104, 38, 1061 229, 230, 8, 9, 10, 119, 45, 8, 32, 33, 1062 47, 35, 115, 86, 117, 119, 63, 53, 63, 43, 1063 26, 68, 68, 29, 30, 62, 119, 119, 29, 53, 1064 72, 37, 138, 57, 44, 555, 510, 63, 44, 78, 1065 2, 44, 346, 5, 86, 55, 132, 133, 134, 135, 1066 95, 61, 55, 573, 140, 141, 103, 67, 61, 96, 1067 94, 97, 68, 367, 67, 75, 100, 87, 92, 93, 1068 86, 47, 119, 119, 36, 37, 94, 124, 40, 443, 1069 95, 44, 100, 197, 108, 211, 62, 50, 202, 99, 1070 204, 138, 566, 197, 72, 142, 99, 103, 76, 123, 1071 499, 63, 195, 206, 197, 197, 68, 52, 214, 297, 1072 72, 585, 341, 119, 76, 344, 304, 50, 306, 82, 1073 96, 101, 85, 86, 93, 86, 430, 526, 97, 57, 1074 529, 94, 101, 526, 158, 99, 529, 8, 99, 10, 1075 118, 103, 104, 470, 471, 192, 450, 97, 195, 82, 1076 197, 197, 85, 86, 86, 37, 118, 119, 29, 245, 1077 246, 247, 124, 277, 92, 93, 213, 99, 192, 94, 1078 132, 133, 134, 135, 99, 100, 138, 44, 140, 141, 1079 142, 63, 283, 510, 583, 482, 68, 211, 9, 97, 1080 583, 197, 591, 101, 61, 594, 355, 596, 591, 223, 1081 67, 594, 95, 596, 99, 26, 99, 213, 44, 30, 1082 257, 109, 516, 97, 94, 239, 240, 101, 515, 428, 1083 100, 103, 44, 44, 327, 61, 98, 65, 50, 67, 1084 192, 67, 99, 195, 72, 197, 95, 119, 76, 566, 1085 287, 100, 124, 290, 142, 143, 97, 94, 86, 273, 1086 97, 213, 214, 94, 101, 279, 97, 561, 585, 283, 1087 82, 347, 309, 85, 86, 99, 290, 101, 36, 94, 1088 502, 480, 40, 297, 99, 100, 92, 100, 575, 326, 1089 304, 97, 306, 245, 246, 247, 248, 249, 250, 251, 1090 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 1091 262, 263, 264, 309, 72, 439, 407, 67, 76, 192, 1092 96, 499, 72, 195, 100, 197, 76, 94, 452, 94, 1093 326, 93, 97, 100, 94, 287, 86, 499, 290, 94, 1094 100, 213, 98, 94, 341, 100, 104, 344, 526, 100, 1095 238, 529, 98, 241, 499, 94, 44, 309, 462, 537, 1096 118, 100, 50, 94, 526, 489, 442, 529, 546, 100, 1097 44, 60, 192, 497, 326, 64, 50, 265, 95, 416, 1098 138, 526, 560, 271, 529, 98, 274, 18, 19, 20, 1099 21, 428, 280, 407, 82, 347, 98, 85, 86, 100, 1100 352, 253, 254, 255, 256, 583, 94, 511, 82, 99, 1101 100, 85, 86, 591, 428, 287, 594, 290, 596, 101, 1102 99, 583, 101, 95, 297, 97, 57, 91, 92, 591, 1103 499, 304, 594, 306, 596, 343, 309, 345, 583, 5, 1104 6, 7, 101, 480, 101, 482, 591, 99, 100, 594, 1105 101, 596, 340, 557, 326, 97, 214, 526, 91, 92, 1106 529, 11, 350, 12, 416, 502, 480, 355, 482, 13, 1107 290, 45, 46, 91, 92, 93, 428, 297, 515, 97, 1108 8, 9, 10, 101, 304, 499, 306, 3, 4, 309, 1109 442, 443, 91, 92, 91, 92, 93, 16, 17, 513, 1110 97, 515, 454, 391, 101, 14, 502, 95, 192, 397, 1111 398, 93, 526, 53, 583, 529, 95, 405, 555, 45, 1112 46, 97, 591, 537, 67, 594, 97, 596, 480, 44, 1113 482, 93, 546, 421, 422, 50, 573, 94, 575, 45, 1114 46, 555, 248, 249, 416, 96, 560, 250, 251, 252, 1115 502, 44, 67, 258, 259, 428, 67, 50, 93, 573, 1116 448, 575, 93, 515, 93, 88, 59, 82, 61, 583, 1117 85, 86, 93, 93, 67, 0, 93, 591, 88, 93, 1118 594, 99, 596, 8, 9, 10, 99, 99, 95, 82, 1119 93, 192, 85, 86, 99, 99, 98, 470, 471, 98, 1120 98, 26, 93, 555, 29, 30, 290, 480, 428, 482, 1121 99, 99, 37, 297, 99, 192, 99, 94, 506, 44, 1122 304, 573, 306, 575, 100, 309, 499, 66, 100, 44, 1123 502, 99, 98, 97, 86, 50, 98, 510, 94, 91, 1124 92, 93, 515, 68, 59, 97, 61, 94, 94, 101, 1125 470, 471, 67, 526, 99, 93, 529, 545, 93, 99, 1126 480, 549, 482, 551, 537, 94, 93, 82, 192, 93, 1127 85, 86, 95, 546, 94, 93, 56, 56, 99, 499, 1128 95, 96, 555, 94, 94, 94, 93, 560, 88, 290, 1129 510, 99, 88, 566, 119, 515, 297, 99, 99, 94, 1130 573, 99, 575, 304, 94, 306, 526, 99, 309, 529, 1131 583, 99, 585, 290, 0, 56, 44, 537, 591, 94, 1132 297, 594, 50, 596, 0, 257, 546, 304, 10, 306, 1133 46, 59, 309, 61, 80, 555, 197, 108, 195, 67, 1134 560, 326, 425, 45, 428, 68, 566, 463, 309, 553, 1135 553, 192, 463, 573, 82, 575, 309, 85, 86, 260, 1136 225, 261, 454, 583, -1, 585, 290, 95, 96, 263, 1137 262, 591, 197, 297, 594, -1, 596, 264, 44, -1, 1138 304, -1, 306, -1, 50, 309, 470, 471, 268, -1, 1139 -1, 44, -1, 59, -1, 61, 480, 50, 482, -1, 1140 -1, 67, -1, -1, -1, -1, 59, -1, 61, -1, 1141 -1, -1, -1, -1, 67, 499, 82, -1, -1, 85, 1142 86, -1, -1, -1, -1, -1, 510, 428, -1, 82, 1143 96, 515, 85, 86, -1, -1, -1, -1, -1, -1, 1144 -1, -1, 526, 96, -1, 529, -1, -1, -1, 290, 1145 192, 428, -1, 537, -1, -1, 297, -1, -1, -1, 1146 -1, -1, 546, 304, -1, 306, -1, -1, 309, 470, 1147 471, 555, -1, -1, -1, -1, 560, -1, -1, 480, 1148 -1, 482, 566, -1, -1, -1, -1, -1, -1, 573, 1149 -1, 575, -1, 470, 471, -1, -1, -1, 499, 583, 1150 -1, 585, -1, 480, 428, 482, -1, 591, -1, 510, 1151 594, -1, 596, -1, 515, -1, -1, -1, -1, -1, 1152 -1, -1, 499, -1, 86, 526, -1, -1, 529, 91, 1153 92, 93, -1, 510, -1, 97, 537, -1, 515, 101, 1154 -1, -1, -1, -1, -1, 546, 470, 471, 290, 526, 1155 -1, -1, 529, -1, 555, 297, 480, -1, 482, 560, 1156 537, -1, 304, -1, 306, 566, -1, 309, -1, 546, 1157 -1, -1, 573, -1, 575, 499, -1, -1, 555, -1, 1158 -1, -1, 583, 560, 585, -1, 510, 428, -1, 566, 1159 591, 515, -1, 594, -1, 596, 573, -1, 575, -1, 1160 -1, -1, 526, -1, -1, 529, 583, -1, 585, -1, 1161 -1, -1, -1, 537, 591, -1, -1, 594, -1, 596, 1162 -1, -1, 546, -1, -1, -1, -1, -1, -1, 470, 1163 471, 555, -1, -1, -1, -1, 560, -1, -1, 480, 1164 -1, 482, 566, -1, -1, -1, -1, -1, -1, 573, 1165 -1, 575, -1, -1, -1, -1, -1, -1, 499, 583, 1166 -1, 585, 44, 45, 46, -1, -1, 591, 50, 510, 1167 594, -1, 596, -1, 515, -1, -1, 59, -1, -1, 1168 -1, -1, -1, 65, -1, 526, 428, -1, 529, -1, 1169 72, -1, -1, -1, 76, -1, 537, -1, -1, -1, 1170 82, -1, -1, 85, 86, 546, -1, -1, -1, -1, 1171 -1, 93, -1, -1, 555, -1, -1, -1, -1, 560, 1172 102, 103, 104, 105, -1, 566, 108, 109, 470, 471, 1173 -1, -1, 573, -1, 575, -1, -1, -1, 480, -1, 1174 482, -1, 583, -1, 585, -1, -1, -1, -1, -1, 1175 591, -1, -1, 594, -1, 596, -1, 499, 132, 133, 1176 134, 135, -1, -1, -1, -1, 140, 141, 510, -1, 1177 -1, -1, -1, 515, -1, -1, -1, -1, -1, -1, 1178 132, 133, 134, 135, 526, -1, -1, 529, 140, 141, 1179 -1, -1, -1, -1, -1, 537, -1, -1, -1, -1, 1180 -1, -1, -1, -1, 546, 45, 46, -1, -1, -1, 1181 50, -1, -1, 555, -1, -1, -1, -1, 560, 59, 1182 -1, -1, -1, -1, 566, 65, -1, -1, -1, -1, 1183 -1, 573, 72, 575, -1, -1, 76, -1, -1, -1, 1184 -1, 583, 82, 585, -1, 85, 86, -1, -1, 591, 1185 -1, -1, 594, 93, 596, -1, -1, -1, -1, -1, 1186 -1, -1, 102, 103, 104, 105, -1, -1, 108, 109, 1187 -1, 245, 246, 247, 248, 249, 250, 251, 252, 253, 1188 254, 255, 256, -1, 258, 259, 260, 261, 262, 263, 1189 264, -1, -1, 245, 246, 247, 248, 249, 250, 251, 1190 252, 253, 254, 255, 256, -1, 258, 259, 260, 261, 1191 262, 263, 264, 1, -1, 3, 4, -1, -1, -1, 1192 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1193 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1194 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1195 -1, -1, -1, -1, -1, -1, -1, 45, 46, -1, 1196 -1, -1, 50, -1, -1, -1, -1, -1, -1, -1, 1197 -1, 59, -1, 347, -1, -1, -1, 65, 352, -1, 1198 -1, -1, -1, -1, 72, -1, -1, -1, 76, -1, 1199 -1, -1, -1, -1, 82, 347, -1, 85, 86, -1, 1200 352, 89, 90, 50, -1, 93, -1, -1, -1, -1, 1201 -1, -1, 59, -1, 102, 103, 104, 105, 65, -1, 1202 108, 109, -1, -1, -1, 72, -1, -1, -1, 76, 1203 3, 4, -1, -1, -1, 82, -1, -1, 85, 86, 1204 -1, -1, 89, 90, -1, -1, 93, -1, -1, -1, 1205 -1, -1, -1, -1, -1, 102, 103, 104, 105, -1, 1206 -1, 108, 109, -1, -1, -1, -1, -1, 442, 443, 1207 -1, -1, 45, 46, -1, -1, -1, 50, -1, -1, 1208 454, -1, -1, -1, -1, -1, 59, -1, -1, -1, 1209 442, 443, 65, -1, -1, 3, 4, -1, -1, 72, 1210 -1, -1, 454, 76, -1, -1, -1, -1, -1, 82, 1211 -1, -1, 85, 86, -1, -1, 89, 90, -1, -1, 1212 93, -1, 95, 96, -1, -1, -1, 100, -1, 102, 1213 103, 104, 105, -1, -1, 108, 109, 45, 46, -1, 1214 -1, -1, 50, -1, -1, -1, -1, -1, -1, -1, 1215 -1, 59, -1, -1, -1, -1, -1, 65, -1, -1, 1216 3, 4, -1, -1, 72, -1, -1, -1, 76, -1, 1217 -1, -1, -1, -1, 82, -1, -1, 85, 86, -1, 1218 -1, 89, 90, -1, -1, 93, -1, 95, 96, -1, 1219 -1, -1, -1, -1, 102, 103, 104, 105, -1, -1, 1220 108, 109, 45, 46, -1, -1, -1, 50, -1, -1, 1221 -1, 3, 4, -1, -1, -1, 59, -1, -1, -1, 1222 -1, -1, 65, -1, -1, -1, -1, -1, -1, 72, 1223 -1, -1, -1, 76, -1, -1, -1, -1, -1, 82, 1224 -1, -1, 85, 86, -1, -1, 89, 90, -1, -1, 1225 93, -1, 95, 45, 46, -1, -1, -1, 50, 102, 1226 103, 104, 105, -1, -1, 108, 109, 59, -1, -1, 1227 -1, -1, -1, 65, -1, -1, 3, 4, -1, -1, 1228 72, -1, -1, -1, 76, -1, -1, -1, -1, -1, 1229 82, -1, -1, 85, 86, -1, -1, 89, 90, -1, 1230 -1, 93, 94, -1, -1, -1, -1, -1, -1, -1, 1231 102, 103, 104, 105, -1, -1, 108, 109, 45, 46, 1232 -1, -1, -1, 50, -1, -1, -1, 3, 4, -1, 1233 -1, -1, 59, -1, -1, -1, -1, -1, 65, -1, 1234 -1, -1, -1, -1, -1, 72, -1, -1, -1, 76, 1235 -1, -1, -1, -1, -1, 82, -1, -1, 85, 86, 1236 -1, -1, 89, 90, -1, -1, 93, -1, -1, 45, 1237 46, -1, 99, -1, 50, 102, 103, 104, 105, -1, 1238 -1, 108, 109, 59, -1, -1, -1, -1, -1, 65, 1239 -1, -1, 3, 4, -1, -1, 72, -1, -1, -1, 1240 76, -1, -1, -1, -1, -1, 82, -1, -1, 85, 1241 86, -1, -1, 89, 90, -1, -1, 93, -1, -1, 1242 -1, -1, 98, -1, -1, -1, 102, 103, 104, 105, 1243 -1, -1, 108, 109, 45, 46, -1, -1, -1, 50, 1244 -1, -1, -1, 3, 4, -1, -1, -1, 59, -1, 1245 -1, -1, -1, -1, 65, -1, -1, -1, -1, -1, 1246 -1, 72, -1, -1, -1, 76, -1, -1, -1, -1, 1247 -1, 82, -1, -1, 85, 86, -1, -1, 89, 90, 1248 -1, -1, 93, 94, -1, 45, 46, -1, -1, -1, 1249 50, 102, 103, 104, 105, -1, -1, 108, 109, 59, 1250 -1, -1, -1, -1, -1, 65, -1, -1, 3, 4, 1251 -1, -1, 72, -1, -1, -1, 76, -1, -1, -1, 1252 -1, -1, 82, -1, -1, 85, 86, -1, -1, 89, 1253 90, -1, -1, 93, 94, -1, -1, -1, -1, -1, 1254 -1, -1, 102, 103, 104, 105, -1, -1, 108, 109, 1255 45, 46, -1, -1, -1, 50, -1, -1, -1, 3, 1256 4, -1, -1, -1, 59, -1, -1, -1, -1, -1, 1257 65, -1, -1, -1, -1, -1, -1, 72, -1, -1, 1258 -1, 76, -1, -1, -1, -1, -1, 82, -1, -1, 1259 85, 86, -1, -1, 89, 90, -1, -1, 93, -1, 1260 -1, 45, 46, 98, -1, -1, 50, 102, 103, 104, 1261 105, -1, -1, 108, 109, 59, -1, -1, -1, -1, 1262 -1, 65, -1, -1, 3, 4, -1, -1, 72, -1, 1263 -1, -1, 76, -1, -1, -1, -1, -1, 82, -1, 1264 -1, 85, 86, -1, -1, 89, 90, -1, -1, 93, 1265 -1, -1, -1, -1, -1, 99, -1, -1, 102, 103, 1266 104, 105, -1, -1, 108, 109, 45, 46, -1, -1, 1267 -1, 50, -1, -1, -1, 3, 4, -1, -1, -1, 1268 59, -1, -1, -1, -1, -1, 65, -1, -1, -1, 1269 -1, -1, -1, 72, -1, -1, -1, 76, -1, -1, 1270 -1, -1, -1, 82, -1, -1, 85, 86, -1, -1, 1271 89, 90, -1, -1, 93, 94, -1, 45, 46, -1, 1272 -1, -1, 50, 102, 103, 104, 105, -1, -1, 108, 1273 109, 59, -1, -1, -1, -1, -1, 65, -1, -1, 1274 3, 4, -1, -1, 72, -1, -1, -1, 76, -1, 1275 -1, -1, -1, -1, 82, -1, -1, 85, 86, -1, 1276 -1, 89, 90, -1, -1, 93, 94, -1, -1, -1, 1277 -1, -1, -1, -1, 102, 103, 104, 105, -1, -1, 1278 108, 109, 45, 46, -1, -1, -1, 50, -1, -1, 1279 -1, 3, 4, -1, -1, -1, 59, -1, -1, -1, 1280 -1, -1, 65, -1, -1, -1, -1, -1, -1, 72, 1281 -1, -1, -1, 76, -1, -1, -1, -1, -1, 82, 1282 -1, -1, 85, 86, -1, -1, 89, 90, -1, -1, 1283 93, 94, -1, 45, 46, -1, -1, -1, 50, 102, 1284 103, 104, 105, -1, -1, 108, 109, 59, -1, -1, 1285 -1, -1, -1, 65, -1, -1, 3, 4, -1, -1, 1286 72, -1, -1, -1, 76, -1, -1, -1, -1, -1, 1287 82, -1, -1, 85, 86, -1, -1, 89, 90, -1, 1288 -1, 93, -1, -1, -1, -1, -1, 99, -1, -1, 1289 102, 103, 104, 105, -1, -1, 108, 109, 45, 46, 1290 -1, -1, -1, 50, -1, -1, -1, 3, 4, -1, 1291 -1, -1, 59, -1, -1, -1, -1, -1, 65, -1, 1292 -1, -1, -1, -1, -1, 72, -1, -1, -1, 76, 1293 -1, -1, -1, -1, -1, 82, -1, -1, 85, 86, 1294 -1, -1, 89, 90, -1, -1, 93, 94, -1, 45, 1295 46, -1, -1, -1, 50, 102, 103, 104, 105, -1, 1296 -1, 108, 109, 59, -1, -1, -1, -1, -1, 65, 1297 -1, -1, -1, -1, -1, -1, 72, -1, -1, -1, 1298 76, -1, -1, -1, -1, -1, 82, -1, -1, 85, 1299 86, -1, -1, 89, 90, -1, -1, 93, -1, -1, 1300 -1, -1, -1, -1, -1, -1, 102, 103, 104, 105, 1301 -1, -1, 108, 109, 44, 45, 46, 47, 48, 49, 1302 50, 51, -1, -1, 54, -1, -1, -1, 58, 59, 1303 -1, -1, 62, -1, -1, 65, 66, 67, 68, -1, 1304 70, 71, 72, 73, -1, -1, 76, -1, -1, -1, 1305 -1, -1, 82, -1, -1, 85, 86, -1, -1, -1, 1306 -1, -1, -1, 93, -1, 95, 96, -1, -1, 99, 1307 -1, -1, 102, 103, 104, 105, -1, -1, 108, 109, 1308 44, 45, 46, 47, 48, 49, 50, 51, -1, -1, 1309 54, -1, -1, -1, 58, 59, -1, -1, 62, -1, 1310 -1, 65, 66, 67, 68, -1, 70, 71, 72, 73, 1311 -1, -1, 76, -1, -1, -1, -1, -1, 82, -1, 1312 -1, 85, 86, -1, -1, -1, -1, -1, -1, 93, 1313 -1, 95, 96, -1, -1, 99, -1, -1, 102, 103, 1314 104, 105, -1, -1, 108, 109, 44, 45, 46, -1, 1315 48, 49, 50, 51, -1, -1, 54, -1, -1, -1, 1316 58, 59, -1, -1, -1, -1, -1, 65, 66, 67, 1317 68, -1, 70, 71, 72, 73, -1, -1, 76, -1, 1318 -1, -1, -1, -1, 82, -1, -1, 85, 86, -1, 1319 -1, -1, -1, -1, -1, 93, -1, 95, 96, -1, 1320 -1, 99, -1, -1, 102, 103, 104, 105, -1, -1, 1321 108, 109, 44, 45, 46, -1, 48, 49, 50, 51, 1322 -1, -1, 54, -1, -1, -1, 58, 59, -1, -1, 1323 -1, -1, -1, 65, 66, 67, 68, -1, 70, 71, 1324 72, 73, -1, -1, 76, -1, -1, -1, -1, -1, 1325 82, -1, -1, 85, 86, -1, -1, -1, -1, -1, 1326 -1, 93, -1, 95, 96, -1, -1, 99, -1, -1, 1327 102, 103, 104, 105, -1, -1, 108, 109, 44, 45, 1328 46, -1, 48, 49, 50, 51, -1, -1, 54, -1, 1329 -1, -1, 58, 59, -1, -1, -1, -1, -1, 65, 1330 66, 67, 68, -1, 70, 71, 72, 73, -1, -1, 1331 76, -1, -1, -1, -1, -1, 82, -1, -1, 85, 1332 86, -1, -1, -1, -1, -1, -1, 93, -1, 95, 1333 96, -1, -1, 99, -1, -1, 102, 103, 104, 105, 1334 -1, -1, 108, 109, 44, 45, 46, -1, 48, 49, 1335 50, 51, -1, -1, 54, -1, -1, -1, 58, 59, 1336 -1, -1, -1, -1, -1, 65, 66, 67, 68, -1, 1337 70, 71, 72, 73, -1, -1, 76, -1, -1, -1, 1338 -1, -1, 82, -1, -1, 85, 86, -1, -1, -1, 1339 -1, -1, -1, 93, -1, 95, 96, -1, -1, 99, 1340 -1, -1, 102, 103, 104, 105, -1, -1, 108, 109, 1341 44, 45, 46, -1, 48, 49, 50, 51, -1, -1, 1342 54, -1, -1, -1, 58, 59, -1, -1, -1, -1, 1343 -1, 65, 66, 67, 68, -1, 70, 71, 72, 73, 1344 -1, -1, 76, -1, -1, -1, -1, -1, 82, -1, 1345 -1, 85, 86, -1, -1, -1, -1, -1, -1, 93, 1346 -1, 95, 96, -1, -1, 99, -1, -1, 102, 103, 1347 104, 105, -1, -1, 108, 109, 44, 45, 46, -1, 1348 48, 49, 50, 51, -1, -1, 54, -1, -1, -1, 1349 58, 59, -1, -1, -1, -1, -1, 65, 66, 67, 1350 68, -1, 70, 71, 72, 73, -1, -1, 76, -1, 1351 -1, -1, -1, -1, 82, -1, -1, 85, 86, -1, 1352 -1, -1, -1, -1, -1, 93, -1, 95, 96, -1, 1353 -1, 99, -1, -1, 102, 103, 104, 105, -1, -1, 1354 108, 109, 44, 45, 46, -1, 48, 49, 50, 51, 1355 -1, -1, 54, -1, -1, -1, 58, 59, -1, -1, 1356 -1, -1, -1, 65, 66, 67, 68, -1, 70, 71, 1357 72, 73, -1, -1, 76, -1, -1, -1, -1, -1, 1358 82, -1, -1, 85, 86, -1, -1, -1, -1, -1, 1359 -1, 93, -1, 95, -1, -1, -1, 99, -1, -1, 1360 102, 103, 104, 105, -1, -1, 108, 109, 44, 45, 1361 46, -1, 48, 49, 50, 51, -1, -1, 54, -1, 1362 -1, -1, 58, 59, -1, -1, -1, -1, -1, 65, 1363 66, -1, 68, -1, 70, 71, 72, 73, -1, -1, 1364 76, -1, -1, -1, -1, -1, 82, -1, -1, 85, 1365 86, -1, -1, -1, -1, -1, -1, 93, -1, 95, 1366 -1, -1, -1, 99, -1, -1, 102, 103, 104, 105, 1367 -1, -1, 108, 109, 44, 45, 46, -1, 48, 49, 1368 50, 51, -1, -1, 54, -1, -1, -1, 58, 59, 1369 -1, -1, -1, -1, -1, 65, 66, -1, 68, -1, 1370 70, 71, 72, 73, -1, -1, 76, -1, -1, -1, 1371 -1, -1, 82, -1, -1, 85, 86, -1, -1, -1, 1372 -1, -1, -1, 93, -1, 95, -1, -1, -1, 99, 1373 -1, -1, 102, 103, 104, 105, -1, -1, 108, 109 1374}; 1375#define YYPURE 1 1376 1377/* -*-C-*- Note some compilers choke on comments on `#line' lines. */ 1378#line 3 "/usr/cygnus/gnupro-98r2/share/bison.simple" 1379 1380/* Skeleton output parser for bison, 1381 Copyright (C) 1984, 1989, 1990 Free Software Foundation, Inc. 1382 1383 This program is free software; you can redistribute it and/or modify 1384 it under the terms of the GNU General Public License as published by 1385 the Free Software Foundation; either version 2, or (at your option) 1386 any later version. 1387 1388 This program is distributed in the hope that it will be useful, 1389 but WITHOUT ANY WARRANTY; without even the implied warranty of 1390 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 1391 GNU General Public License for more details. 1392 1393 You should have received a copy of the GNU General Public License 1394 along with this program; if not, write to the Free Software 1395 Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */ 1396 1397/* As a special exception, when this file is copied by Bison into a 1398 Bison output file, you may use that output file without restriction. 1399 This special exception was added by the Free Software Foundation 1400 in version 1.24 of Bison. */ 1401 1402#ifndef alloca 1403#ifdef __GNUC__ 1404#define alloca __builtin_alloca 1405#else /* not GNU C. */ 1406#if (!defined (__STDC__) && defined (sparc)) || defined (__sparc__) || defined (__sparc) || defined (__sgi) 1407#include <alloca.h> 1408#else /* not sparc */ 1409#if defined (MSDOS) && !defined (__TURBOC__) 1410#include <malloc.h> 1411#else /* not MSDOS, or __TURBOC__ */ 1412#if defined(_AIX) 1413#include <malloc.h> 1414 #pragma alloca 1415#else /* not MSDOS, __TURBOC__, or _AIX */ 1416#ifdef __hpux 1417#ifdef __cplusplus 1418extern "C" { 1419void *alloca (unsigned int); 1420}; 1421#else /* not __cplusplus */ 1422void *alloca (); 1423#endif /* not __cplusplus */ 1424#endif /* __hpux */ 1425#endif /* not _AIX */ 1426#endif /* not MSDOS, or __TURBOC__ */ 1427#endif /* not sparc. */ 1428#endif /* not GNU C. */ 1429#endif /* alloca not defined. */ 1430 1431/* This is the parser code that is written into each bison parser 1432 when the %semantic_parser declaration is not specified in the grammar. 1433 It was written by Richard Stallman by simplifying the hairy parser 1434 used when %semantic_parser is specified. */ 1435 1436/* Note: there must be only one dollar sign in this file. 1437 It is replaced by the list of actions, each action 1438 as one case of the switch. */ 1439 1440#define yyerrok (yyerrstatus = 0) 1441#define yyclearin (yychar = YYEMPTY) 1442#define YYEMPTY -2 1443#define YYEOF 0 1444#define YYACCEPT return(0) 1445#define YYABORT return(1) 1446#define YYERROR goto yyerrlab1 1447/* Like YYERROR except do call yyerror. 1448 This remains here temporarily to ease the 1449 transition to the new meaning of YYERROR, for GCC. 1450 Once GCC version 2 has supplanted version 1, this can go. */ 1451#define YYFAIL goto yyerrlab 1452#define YYRECOVERING() (!!yyerrstatus) 1453#define YYBACKUP(token, value) \ 1454do \ 1455 if (yychar == YYEMPTY && yylen == 1) \ 1456 { yychar = (token), yylval = (value); \ 1457 yychar1 = YYTRANSLATE (yychar); \ 1458 YYPOPSTACK; \ 1459 goto yybackup; \ 1460 } \ 1461 else \ 1462 { yyerror ("syntax error: cannot back up"); YYERROR; } \ 1463while (0) 1464 1465#define YYTERROR 1 1466#define YYERRCODE 256 1467 1468#ifndef YYPURE 1469#define YYLEX yylex() 1470#endif 1471 1472#ifdef YYPURE 1473#ifdef YYLSP_NEEDED 1474#ifdef YYLEX_PARAM 1475#define YYLEX yylex(&yylval, &yylloc, YYLEX_PARAM) 1476#else 1477#define YYLEX yylex(&yylval, &yylloc) 1478#endif 1479#else /* not YYLSP_NEEDED */ 1480#ifdef YYLEX_PARAM 1481#define YYLEX yylex(&yylval, YYLEX_PARAM) 1482#else 1483#define YYLEX yylex(&yylval) 1484#endif 1485#endif /* not YYLSP_NEEDED */ 1486#endif 1487 1488/* If nonreentrant, generate the variables here */ 1489 1490#ifndef YYPURE 1491 1492int yychar; /* the lookahead symbol */ 1493YYSTYPE yylval; /* the semantic value of the */ 1494 /* lookahead symbol */ 1495 1496#ifdef YYLSP_NEEDED 1497YYLTYPE yylloc; /* location data for the lookahead */ 1498 /* symbol */ 1499#endif 1500 1501int yynerrs; /* number of parse errors so far */ 1502#endif /* not YYPURE */ 1503 1504#if YYDEBUG != 0 1505int yydebug; /* nonzero means print parse trace */ 1506/* Since this is uninitialized, it does not stop multiple parsers 1507 from coexisting. */ 1508#endif 1509 1510/* YYINITDEPTH indicates the initial size of the parser's stacks */ 1511 1512#ifndef YYINITDEPTH 1513#define YYINITDEPTH 200 1514#endif 1515 1516/* YYMAXDEPTH is the maximum size the stacks can grow to 1517 (effective only if the built-in stack extension method is used). */ 1518 1519#if YYMAXDEPTH == 0 1520#undef YYMAXDEPTH 1521#endif 1522 1523#ifndef YYMAXDEPTH 1524#define YYMAXDEPTH 10000 1525#endif 1526 1527/* Prevent warning if -Wstrict-prototypes. */ 1528#ifdef __GNUC__ 1529int yyparse (void); 1530#endif 1531 1532#if __GNUC__ > 1 /* GNU C and GNU C++ define this. */ 1533#define __yy_memcpy(TO,FROM,COUNT) __builtin_memcpy(TO,FROM,COUNT) 1534#else /* not GNU C or C++ */ 1535#ifndef __cplusplus 1536 1537/* This is the most reliable way to avoid incompatibilities 1538 in available built-in functions on various systems. */ 1539static void 1540__yy_memcpy (to, from, count) 1541 char *to; 1542 char *from; 1543 int count; 1544{ 1545 register char *f = from; 1546 register char *t = to; 1547 register int i = count; 1548 1549 while (i-- > 0) 1550 *t++ = *f++; 1551} 1552 1553#else /* __cplusplus */ 1554 1555/* This is the most reliable way to avoid incompatibilities 1556 in available built-in functions on various systems. */ 1557static void 1558__yy_memcpy (char *to, char *from, int count) 1559{ 1560 register char *f = from; 1561 register char *t = to; 1562 register int i = count; 1563 1564 while (i-- > 0) 1565 *t++ = *f++; 1566} 1567 1568#endif 1569#endif 1570 1571#line 196 "/usr/cygnus/gnupro-98r2/share/bison.simple" 1572 1573/* The user can define YYPARSE_PARAM as the name of an argument to be passed 1574 into yyparse. The argument should have type void *. 1575 It should actually point to an object. 1576 Grammar actions can access the variable by casting it 1577 to the proper pointer type. */ 1578 1579#ifdef YYPARSE_PARAM 1580#ifdef __cplusplus 1581#define YYPARSE_PARAM_ARG void *YYPARSE_PARAM 1582#define YYPARSE_PARAM_DECL 1583#else /* not __cplusplus */ 1584#define YYPARSE_PARAM_ARG YYPARSE_PARAM 1585#define YYPARSE_PARAM_DECL void *YYPARSE_PARAM; 1586#endif /* not __cplusplus */ 1587#else /* not YYPARSE_PARAM */ 1588#define YYPARSE_PARAM_ARG 1589#define YYPARSE_PARAM_DECL 1590#endif /* not YYPARSE_PARAM */ 1591 1592int 1593yyparse(YYPARSE_PARAM_ARG) 1594 YYPARSE_PARAM_DECL 1595{ 1596 register int yystate; 1597 register int yyn; 1598 register short *yyssp; 1599 register YYSTYPE *yyvsp; 1600 int yyerrstatus; /* number of tokens to shift before error messages enabled */ 1601 int yychar1 = 0; /* lookahead token as an internal (translated) token number */ 1602 1603 short yyssa[YYINITDEPTH]; /* the state stack */ 1604 YYSTYPE yyvsa[YYINITDEPTH]; /* the semantic value stack */ 1605 1606 short *yyss = yyssa; /* refer to the stacks thru separate pointers */ 1607 YYSTYPE *yyvs = yyvsa; /* to allow yyoverflow to reallocate them elsewhere */ 1608 1609#ifdef YYLSP_NEEDED 1610 YYLTYPE yylsa[YYINITDEPTH]; /* the location stack */ 1611 YYLTYPE *yyls = yylsa; 1612 YYLTYPE *yylsp; 1613 1614#define YYPOPSTACK (yyvsp--, yyssp--, yylsp--) 1615#else 1616#define YYPOPSTACK (yyvsp--, yyssp--) 1617#endif 1618 1619 int yystacksize = YYINITDEPTH; 1620 1621#ifdef YYPURE 1622 int yychar; 1623 YYSTYPE yylval; 1624 int yynerrs; 1625#ifdef YYLSP_NEEDED 1626 YYLTYPE yylloc; 1627#endif 1628#endif 1629 1630 YYSTYPE yyval; /* the variable used to return */ 1631 /* semantic values from the action */ 1632 /* routines */ 1633 1634 int yylen; 1635 1636#if YYDEBUG != 0 1637 if (yydebug) 1638 fprintf(stderr, "Starting parse\n"); 1639#endif 1640 1641 yystate = 0; 1642 yyerrstatus = 0; 1643 yynerrs = 0; 1644 yychar = YYEMPTY; /* Cause a token to be read. */ 1645 1646 /* Initialize stack pointers. 1647 Waste one element of value and location stack 1648 so that they stay on the same level as the state stack. 1649 The wasted elements are never initialized. */ 1650 1651 yyssp = yyss - 1; 1652 yyvsp = yyvs; 1653#ifdef YYLSP_NEEDED 1654 yylsp = yyls; 1655#endif 1656 1657/* Push a new state, which is found in yystate . */ 1658/* In all cases, when you get here, the value and location stacks 1659 have just been pushed. so pushing a state here evens the stacks. */ 1660yynewstate: 1661 1662 *++yyssp = yystate; 1663 1664 if (yyssp >= yyss + yystacksize - 1) 1665 { 1666 /* Give user a chance to reallocate the stack */ 1667 /* Use copies of these so that the &'s don't force the real ones into memory. */ 1668 YYSTYPE *yyvs1 = yyvs; 1669 short *yyss1 = yyss; 1670#ifdef YYLSP_NEEDED 1671 YYLTYPE *yyls1 = yyls; 1672#endif 1673 1674 /* Get the current used size of the three stacks, in elements. */ 1675 int size = yyssp - yyss + 1; 1676 1677#ifdef yyoverflow 1678 /* Each stack pointer address is followed by the size of 1679 the data in use in that stack, in bytes. */ 1680#ifdef YYLSP_NEEDED 1681 /* This used to be a conditional around just the two extra args, 1682 but that might be undefined if yyoverflow is a macro. */ 1683 yyoverflow("parser stack overflow", 1684 &yyss1, size * sizeof (*yyssp), 1685 &yyvs1, size * sizeof (*yyvsp), 1686 &yyls1, size * sizeof (*yylsp), 1687 &yystacksize); 1688#else 1689 yyoverflow("parser stack overflow", 1690 &yyss1, size * sizeof (*yyssp), 1691 &yyvs1, size * sizeof (*yyvsp), 1692 &yystacksize); 1693#endif 1694 1695 yyss = yyss1; yyvs = yyvs1; 1696#ifdef YYLSP_NEEDED 1697 yyls = yyls1; 1698#endif 1699#else /* no yyoverflow */ 1700 /* Extend the stack our own way. */ 1701 if (yystacksize >= YYMAXDEPTH) 1702 { 1703 yyerror("parser stack overflow"); 1704 return 2; 1705 } 1706 yystacksize *= 2; 1707 if (yystacksize > YYMAXDEPTH) 1708 yystacksize = YYMAXDEPTH; 1709 yyss = (short *) alloca (yystacksize * sizeof (*yyssp)); 1710 __yy_memcpy ((char *)yyss, (char *)yyss1, size * sizeof (*yyssp)); 1711 yyvs = (YYSTYPE *) alloca (yystacksize * sizeof (*yyvsp)); 1712 __yy_memcpy ((char *)yyvs, (char *)yyvs1, size * sizeof (*yyvsp)); 1713#ifdef YYLSP_NEEDED 1714 yyls = (YYLTYPE *) alloca (yystacksize * sizeof (*yylsp)); 1715 __yy_memcpy ((char *)yyls, (char *)yyls1, size * sizeof (*yylsp)); 1716#endif 1717#endif /* no yyoverflow */ 1718 1719 yyssp = yyss + size - 1; 1720 yyvsp = yyvs + size - 1; 1721#ifdef YYLSP_NEEDED 1722 yylsp = yyls + size - 1; 1723#endif 1724 1725#if YYDEBUG != 0 1726 if (yydebug) 1727 fprintf(stderr, "Stack size increased to %d\n", yystacksize); 1728#endif 1729 1730 if (yyssp >= yyss + yystacksize - 1) 1731 YYABORT; 1732 } 1733 1734#if YYDEBUG != 0 1735 if (yydebug) 1736 fprintf(stderr, "Entering state %d\n", yystate); 1737#endif 1738 1739 goto yybackup; 1740 yybackup: 1741 1742/* Do appropriate processing given the current state. */ 1743/* Read a lookahead token if we need one and don't already have one. */ 1744/* yyresume: */ 1745 1746 /* First try to decide what to do without reference to lookahead token. */ 1747 1748 yyn = yypact[yystate]; 1749 if (yyn == YYFLAG) 1750 goto yydefault; 1751 1752 /* Not known => get a lookahead token if don't already have one. */ 1753 1754 /* yychar is either YYEMPTY or YYEOF 1755 or a valid token in external form. */ 1756 1757 if (yychar == YYEMPTY) 1758 { 1759#if YYDEBUG != 0 1760 if (yydebug) 1761 fprintf(stderr, "Reading a token: "); 1762#endif 1763 yychar = YYLEX; 1764 } 1765 1766 /* Convert token to internal form (in yychar1) for indexing tables with */ 1767 1768 if (yychar <= 0) /* This means end of input. */ 1769 { 1770 yychar1 = 0; 1771 yychar = YYEOF; /* Don't call YYLEX any more */ 1772 1773#if YYDEBUG != 0 1774 if (yydebug) 1775 fprintf(stderr, "Now at end of input.\n"); 1776#endif 1777 } 1778 else 1779 { 1780 yychar1 = YYTRANSLATE(yychar); 1781 1782#if YYDEBUG != 0 1783 if (yydebug) 1784 { 1785 fprintf (stderr, "Next token is %d (%s", yychar, yytname[yychar1]); 1786 /* Give the individual parser a way to print the precise meaning 1787 of a token, for further debugging info. */ 1788#ifdef YYPRINT 1789 YYPRINT (stderr, yychar, yylval); 1790#endif 1791 fprintf (stderr, ")\n"); 1792 } 1793#endif 1794 } 1795 1796 yyn += yychar1; 1797 if (yyn < 0 || yyn > YYLAST || yycheck[yyn] != yychar1) 1798 goto yydefault; 1799 1800 yyn = yytable[yyn]; 1801 1802 /* yyn is what to do for this token type in this state. 1803 Negative => reduce, -yyn is rule number. 1804 Positive => shift, yyn is new state. 1805 New state is final state => don't bother to shift, 1806 just return success. 1807 0, or most negative number => error. */ 1808 1809 if (yyn < 0) 1810 { 1811 if (yyn == YYFLAG) 1812 goto yyerrlab; 1813 yyn = -yyn; 1814 goto yyreduce; 1815 } 1816 else if (yyn == 0) 1817 goto yyerrlab; 1818 1819 if (yyn == YYFINAL) 1820 YYACCEPT; 1821 1822 /* Shift the lookahead token. */ 1823 1824#if YYDEBUG != 0 1825 if (yydebug) 1826 fprintf(stderr, "Shifting token %d (%s), ", yychar, yytname[yychar1]); 1827#endif 1828 1829 /* Discard the token being shifted unless it is eof. */ 1830 if (yychar != YYEOF) 1831 yychar = YYEMPTY; 1832 1833 *++yyvsp = yylval; 1834#ifdef YYLSP_NEEDED 1835 *++yylsp = yylloc; 1836#endif 1837 1838 /* count tokens shifted since error; after three, turn off error status. */ 1839 if (yyerrstatus) yyerrstatus--; 1840 1841 yystate = yyn; 1842 goto yynewstate; 1843 1844/* Do the default action for the current state. */ 1845yydefault: 1846 1847 yyn = yydefact[yystate]; 1848 if (yyn == 0) 1849 goto yyerrlab; 1850 1851/* Do a reduction. yyn is the number of a rule to reduce with. */ 1852yyreduce: 1853 yylen = yyr2[yyn]; 1854 if (yylen > 0) 1855 yyval = yyvsp[1-yylen]; /* implement default value of the action */ 1856 1857#if YYDEBUG != 0 1858 if (yydebug) 1859 { 1860 int i; 1861 1862 fprintf (stderr, "Reducing via rule %d (line %d), ", 1863 yyn, yyrline[yyn]); 1864 1865 /* Print the symbols being reduced, and their result. */ 1866 for (i = yyprhs[yyn]; yyrhs[i] > 0; i++) 1867 fprintf (stderr, "%s ", yytname[yyrhs[i]]); 1868 fprintf (stderr, " -> %s\n", yytname[yyr1[yyn]]); 1869 } 1870#endif 1871 1872 1873 switch (yyn) { 1874 1875case 10: 1876#line 193 "./parse-scan.y" 1877{ 1878 /* use preset global here. FIXME */ 1879 yyval.node = xstrdup ("int"); 1880 ; 1881 break;} 1882case 11: 1883#line 198 "./parse-scan.y" 1884{ 1885 /* use preset global here. FIXME */ 1886 yyval.node = xstrdup ("double"); 1887 ; 1888 break;} 1889case 12: 1890#line 203 "./parse-scan.y" 1891{ 1892 /* use preset global here. FIXME */ 1893 yyval.node = xstrdup ("boolean"); 1894 ; 1895 break;} 1896case 19: 1897#line 229 "./parse-scan.y" 1898{ 1899 char *n = xmalloc (strlen (yyvsp[-2].node)+2); 1900 n [0] = '['; 1901 strcpy (n+1, yyvsp[-2].node); 1902 yyval.node = n; 1903 ; 1904 break;} 1905case 20: 1906#line 236 "./parse-scan.y" 1907{ 1908 char *n = xmalloc (strlen (yyvsp[-2].node)+2); 1909 n [0] = '['; 1910 strcpy (n+1, yyvsp[-2].node); 1911 yyval.node = n; 1912 ; 1913 break;} 1914case 24: 1915#line 256 "./parse-scan.y" 1916{ 1917 char *n = xmalloc (strlen (yyvsp[-2].node)+strlen (yyvsp[0].node)+2); 1918 sprintf (n, "%s.%s", yyvsp[-2].node, yyvsp[0].node); 1919 yyval.node = n; 1920 ; 1921 break;} 1922case 38: 1923#line 290 "./parse-scan.y" 1924{ package_name = yyvsp[-1].node; ; 1925 break;} 1926case 46: 1927#line 317 "./parse-scan.y" 1928{ 1929 if (yyvsp[0].value == PUBLIC_TK) 1930 modifier_value++; 1931 if (yyvsp[0].value == STATIC_TK) 1932 modifier_value++; 1933 USE_ABSORBER; 1934 ; 1935 break;} 1936case 47: 1937#line 325 "./parse-scan.y" 1938{ 1939 if (yyvsp[0].value == PUBLIC_TK) 1940 modifier_value++; 1941 if (yyvsp[0].value == STATIC_TK) 1942 modifier_value++; 1943 USE_ABSORBER; 1944 ; 1945 break;} 1946case 48: 1947#line 337 "./parse-scan.y" 1948{ 1949 report_class_declaration(yyvsp[-2].node); 1950 modifier_value = 0; 1951 ; 1952 break;} 1953case 50: 1954#line 343 "./parse-scan.y" 1955{ report_class_declaration(yyvsp[-2].node); ; 1956 break;} 1957case 56: 1958#line 357 "./parse-scan.y" 1959{ USE_ABSORBER; ; 1960 break;} 1961case 57: 1962#line 359 "./parse-scan.y" 1963{ USE_ABSORBER; ; 1964 break;} 1965case 70: 1966#line 389 "./parse-scan.y" 1967{ USE_ABSORBER; ; 1968 break;} 1969case 71: 1970#line 391 "./parse-scan.y" 1971{ modifier_value = 0; ; 1972 break;} 1973case 76: 1974#line 407 "./parse-scan.y" 1975{ bracket_count = 0; USE_ABSORBER; ; 1976 break;} 1977case 77: 1978#line 409 "./parse-scan.y" 1979{ ++bracket_count; ; 1980 break;} 1981case 81: 1982#line 424 "./parse-scan.y" 1983{ USE_ABSORBER; ; 1984 break;} 1985case 83: 1986#line 427 "./parse-scan.y" 1987{ modifier_value = 0; ; 1988 break;} 1989case 84: 1990#line 429 "./parse-scan.y" 1991{ 1992 report_main_declaration (yyvsp[-1].declarator); 1993 modifier_value = 0; 1994 ; 1995 break;} 1996case 85: 1997#line 437 "./parse-scan.y" 1998{ 1999 struct method_declarator *d; 2000 NEW_METHOD_DECLARATOR (d, yyvsp[-2].node, NULL); 2001 yyval.declarator = d; 2002 ; 2003 break;} 2004case 86: 2005#line 443 "./parse-scan.y" 2006{ 2007 struct method_declarator *d; 2008 NEW_METHOD_DECLARATOR (d, yyvsp[-3].node, yyvsp[-1].node); 2009 yyval.declarator = d; 2010 ; 2011 break;} 2012case 89: 2013#line 454 "./parse-scan.y" 2014{ 2015 char *n = xmalloc (strlen (yyvsp[-2].node)+strlen(yyvsp[0].node)+2); 2016 sprintf (n, "%s,%s", yyvsp[-2].node, yyvsp[0].node); 2017 yyval.node = n; 2018 ; 2019 break;} 2020case 90: 2021#line 463 "./parse-scan.y" 2022{ 2023 USE_ABSORBER; 2024 if (bracket_count) 2025 { 2026 int i; 2027 char *n = xmalloc (bracket_count + 1 + strlen (yyval.node)); 2028 for (i = 0; i < bracket_count; ++i) 2029 n[i] = '['; 2030 strcpy (n + bracket_count, yyval.node); 2031 yyval.node = n; 2032 } 2033 else 2034 yyval.node = yyvsp[-1].node; 2035 ; 2036 break;} 2037case 91: 2038#line 478 "./parse-scan.y" 2039{ 2040 if (bracket_count) 2041 { 2042 int i; 2043 char *n = xmalloc (bracket_count + 1 + strlen (yyval.node)); 2044 for (i = 0; i < bracket_count; ++i) 2045 n[i] = '['; 2046 strcpy (n + bracket_count, yyval.node); 2047 yyval.node = n; 2048 } 2049 else 2050 yyval.node = yyvsp[-1].node; 2051 ; 2052 break;} 2053case 94: 2054#line 499 "./parse-scan.y" 2055{ USE_ABSORBER; ; 2056 break;} 2057case 95: 2058#line 501 "./parse-scan.y" 2059{ USE_ABSORBER; ; 2060 break;} 2061case 101: 2062#line 518 "./parse-scan.y" 2063{ USE_ABSORBER; ; 2064 break;} 2065case 103: 2066#line 529 "./parse-scan.y" 2067{ modifier_value = 0; ; 2068 break;} 2069case 105: 2070#line 534 "./parse-scan.y" 2071{ modifier_value = 0; ; 2072 break;} 2073case 106: 2074#line 541 "./parse-scan.y" 2075{ USE_ABSORBER; ; 2076 break;} 2077case 107: 2078#line 543 "./parse-scan.y" 2079{ USE_ABSORBER; ; 2080 break;} 2081case 114: 2082#line 560 "./parse-scan.y" 2083{ USE_ABSORBER; ; 2084 break;} 2085case 115: 2086#line 562 "./parse-scan.y" 2087{ USE_ABSORBER; ; 2088 break;} 2089case 118: 2090#line 574 "./parse-scan.y" 2091{ report_class_declaration (yyvsp[-1].node); modifier_value = 0; ; 2092 break;} 2093case 119: 2094#line 576 "./parse-scan.y" 2095{ report_class_declaration (yyvsp[-1].node); modifier_value = 0; ; 2096 break;} 2097case 120: 2098#line 578 "./parse-scan.y" 2099{ report_class_declaration (yyvsp[-2].node); modifier_value = 0; ; 2100 break;} 2101case 121: 2102#line 580 "./parse-scan.y" 2103{ report_class_declaration (yyvsp[-2].node); modifier_value = 0; ; 2104 break;} 2105case 148: 2106#line 649 "./parse-scan.y" 2107{ USE_ABSORBER; ; 2108 break;} 2109case 149: 2110#line 651 "./parse-scan.y" 2111{ modifier_value = 0; ; 2112 break;} 2113case 173: 2114#line 691 "./parse-scan.y" 2115{ USE_ABSORBER; ; 2116 break;} 2117case 226: 2118#line 838 "./parse-scan.y" 2119{ USE_ABSORBER; ; 2120 break;} 2121case 243: 2122#line 878 "./parse-scan.y" 2123{ USE_ABSORBER; ; 2124 break;} 2125case 244: 2126#line 880 "./parse-scan.y" 2127{ USE_ABSORBER; ; 2128 break;} 2129case 246: 2130#line 886 "./parse-scan.y" 2131{ USE_ABSORBER; ; 2132 break;} 2133case 255: 2134#line 908 "./parse-scan.y" 2135{ USE_ABSORBER; ; 2136 break;} 2137case 273: 2138#line 950 "./parse-scan.y" 2139{ USE_ABSORBER; ; 2140 break;} 2141case 274: 2142#line 952 "./parse-scan.y" 2143{ USE_ABSORBER; ; 2144 break;} 2145case 279: 2146#line 961 "./parse-scan.y" 2147{ USE_ABSORBER; ; 2148 break;} 2149case 282: 2150#line 968 "./parse-scan.y" 2151{ USE_ABSORBER; ; 2152 break;} 2153case 337: 2154#line 1087 "./parse-scan.y" 2155{ USE_ABSORBER; ; 2156 break;} 2157} 2158 /* the action file gets copied in in place of this dollarsign */ 2159#line 498 "/usr/cygnus/gnupro-98r2/share/bison.simple" 2160 2161 yyvsp -= yylen; 2162 yyssp -= yylen; 2163#ifdef YYLSP_NEEDED 2164 yylsp -= yylen; 2165#endif 2166 2167#if YYDEBUG != 0 2168 if (yydebug) 2169 { 2170 short *ssp1 = yyss - 1; 2171 fprintf (stderr, "state stack now"); 2172 while (ssp1 != yyssp) 2173 fprintf (stderr, " %d", *++ssp1); 2174 fprintf (stderr, "\n"); 2175 } 2176#endif 2177 2178 *++yyvsp = yyval; 2179 2180#ifdef YYLSP_NEEDED 2181 yylsp++; 2182 if (yylen == 0) 2183 { 2184 yylsp->first_line = yylloc.first_line; 2185 yylsp->first_column = yylloc.first_column; 2186 yylsp->last_line = (yylsp-1)->last_line; 2187 yylsp->last_column = (yylsp-1)->last_column; 2188 yylsp->text = 0; 2189 } 2190 else 2191 { 2192 yylsp->last_line = (yylsp+yylen-1)->last_line; 2193 yylsp->last_column = (yylsp+yylen-1)->last_column; 2194 } 2195#endif 2196 2197 /* Now "shift" the result of the reduction. 2198 Determine what state that goes to, 2199 based on the state we popped back to 2200 and the rule number reduced by. */ 2201 2202 yyn = yyr1[yyn]; 2203 2204 yystate = yypgoto[yyn - YYNTBASE] + *yyssp; 2205 if (yystate >= 0 && yystate <= YYLAST && yycheck[yystate] == *yyssp) 2206 yystate = yytable[yystate]; 2207 else 2208 yystate = yydefgoto[yyn - YYNTBASE]; 2209 2210 goto yynewstate; 2211 2212yyerrlab: /* here on detecting error */ 2213 2214 if (! yyerrstatus) 2215 /* If not already recovering from an error, report this error. */ 2216 { 2217 ++yynerrs; 2218 2219#ifdef YYERROR_VERBOSE 2220 yyn = yypact[yystate]; 2221 2222 if (yyn > YYFLAG && yyn < YYLAST) 2223 { 2224 int size = 0; 2225 char *msg; 2226 int x, count; 2227 2228 count = 0; 2229 /* Start X at -yyn if nec to avoid negative indexes in yycheck. */ 2230 for (x = (yyn < 0 ? -yyn : 0); 2231 x < (sizeof(yytname) / sizeof(char *)); x++) 2232 if (yycheck[x + yyn] == x) 2233 size += strlen(yytname[x]) + 15, count++; 2234 msg = (char *) malloc(size + 15); 2235 if (msg != 0) 2236 { 2237 strcpy(msg, "parse error"); 2238 2239 if (count < 5) 2240 { 2241 count = 0; 2242 for (x = (yyn < 0 ? -yyn : 0); 2243 x < (sizeof(yytname) / sizeof(char *)); x++) 2244 if (yycheck[x + yyn] == x) 2245 { 2246 strcat(msg, count == 0 ? ", expecting `" : " or `"); 2247 strcat(msg, yytname[x]); 2248 strcat(msg, "'"); 2249 count++; 2250 } 2251 } 2252 yyerror(msg); 2253 free(msg); 2254 } 2255 else 2256 yyerror ("parse error; also virtual memory exceeded"); 2257 } 2258 else 2259#endif /* YYERROR_VERBOSE */ 2260 yyerror("parse error"); 2261 } 2262 2263 goto yyerrlab1; 2264yyerrlab1: /* here on error raised explicitly by an action */ 2265 2266 if (yyerrstatus == 3) 2267 { 2268 /* if just tried and failed to reuse lookahead token after an error, discard it. */ 2269 2270 /* return failure if at end of input */ 2271 if (yychar == YYEOF) 2272 YYABORT; 2273 2274#if YYDEBUG != 0 2275 if (yydebug) 2276 fprintf(stderr, "Discarding token %d (%s).\n", yychar, yytname[yychar1]); 2277#endif 2278 2279 yychar = YYEMPTY; 2280 } 2281 2282 /* Else will try to reuse lookahead token 2283 after shifting the error token. */ 2284 2285 yyerrstatus = 3; /* Each real token shifted decrements this */ 2286 2287 goto yyerrhandle; 2288 2289yyerrdefault: /* current state does not do anything special for the error token. */ 2290 2291#if 0 2292 /* This is wrong; only states that explicitly want error tokens 2293 should shift them. */ 2294 yyn = yydefact[yystate]; /* If its default is to accept any token, ok. Otherwise pop it.*/ 2295 if (yyn) goto yydefault; 2296#endif 2297 2298yyerrpop: /* pop the current state because it cannot handle the error token */ 2299 2300 if (yyssp == yyss) YYABORT; 2301 yyvsp--; 2302 yystate = *--yyssp; 2303#ifdef YYLSP_NEEDED 2304 yylsp--; 2305#endif 2306 2307#if YYDEBUG != 0 2308 if (yydebug) 2309 { 2310 short *ssp1 = yyss - 1; 2311 fprintf (stderr, "Error: state stack now"); 2312 while (ssp1 != yyssp) 2313 fprintf (stderr, " %d", *++ssp1); 2314 fprintf (stderr, "\n"); 2315 } 2316#endif 2317 2318yyerrhandle: 2319 2320 yyn = yypact[yystate]; 2321 if (yyn == YYFLAG) 2322 goto yyerrdefault; 2323 2324 yyn += YYTERROR; 2325 if (yyn < 0 || yyn > YYLAST || yycheck[yyn] != YYTERROR) 2326 goto yyerrdefault; 2327 2328 yyn = yytable[yyn]; 2329 if (yyn < 0) 2330 { 2331 if (yyn == YYFLAG) 2332 goto yyerrpop; 2333 yyn = -yyn; 2334 goto yyreduce; 2335 } 2336 else if (yyn == 0) 2337 goto yyerrpop; 2338 2339 if (yyn == YYFINAL) 2340 YYACCEPT; 2341 2342#if YYDEBUG != 0 2343 if (yydebug) 2344 fprintf(stderr, "Shifting error token, "); 2345#endif 2346 2347 *++yyvsp = yylval; 2348#ifdef YYLSP_NEEDED 2349 *++yylsp = yylloc; 2350#endif 2351 2352 yystate = yyn; 2353 goto yynewstate; 2354} 2355#line 1105 "./parse-scan.y" 2356 2357 2358#include "lex.c" 2359 2360/* Create a new parser context */ 2361 2362void 2363java_push_parser_context () 2364{ 2365 struct parser_ctxt *new = 2366 (struct parser_ctxt *)xmalloc(sizeof (struct parser_ctxt)); 2367 2368 bzero ((PTR) new, sizeof (struct parser_ctxt)); 2369 new->next = ctxp; 2370 ctxp = new; 2371} 2372 2373/* Actions defined here */ 2374 2375static void 2376report_class_declaration (name) 2377 char * name; 2378{ 2379 extern int flag_dump_class, flag_list_filename; 2380 2381 if (flag_dump_class) 2382 { 2383 if (!previous_output) 2384 { 2385 if (flag_list_filename) 2386 fprintf (out, "%s: ", input_filename); 2387 previous_output = 1; 2388 } 2389 2390 if (package_name) 2391 fprintf (out, "%s.%s ", package_name, name); 2392 else 2393 fprintf (out, "%s ", name); 2394 } 2395 2396 current_class = name; 2397} 2398 2399static void 2400report_main_declaration (declarator) 2401 struct method_declarator *declarator; 2402{ 2403 extern int flag_find_main; 2404 2405 if (flag_find_main 2406 && modifier_value == 2 2407 && !strcmp (declarator->method_name, "main") 2408 && declarator->args 2409 && declarator->args [0] == '[' 2410 && (! strcmp (declarator->args+1, "String") 2411 || ! strcmp (declarator->args + 1, "java.lang.String")) 2412 && current_class) 2413 { 2414 if (!previous_output) 2415 { 2416 if (package_name) 2417 fprintf (out, "%s.%s ", package_name, current_class); 2418 else 2419 fprintf (out, current_class); 2420 previous_output = 1; 2421 } 2422 } 2423} 2424 2425/* Reset global status used by the report functions. */ 2426 2427void reset_report () 2428{ 2429 previous_output = 0; 2430 current_class = package_name = NULL; 2431} 2432 2433void 2434yyerror (msg) 2435 char *msg ATTRIBUTE_UNUSED; 2436{ 2437} 2438 2439char * 2440xstrdup (s) 2441 const char *s; 2442{ 2443 char *ret; 2444 2445 ret = xmalloc (strlen (s) + 1); 2446 strcpy (ret, s); 2447 return ret; 2448} 2449