diff options
Diffstat (limited to 'lib/AsmParser/llvmAsmParser.cpp.cvs')
-rw-r--r-- | lib/AsmParser/llvmAsmParser.cpp.cvs | 3370 |
1 files changed, 1777 insertions, 1593 deletions
diff --git a/lib/AsmParser/llvmAsmParser.cpp.cvs b/lib/AsmParser/llvmAsmParser.cpp.cvs index b45143323a..cb04878f8a 100644 --- a/lib/AsmParser/llvmAsmParser.cpp.cvs +++ b/lib/AsmParser/llvmAsmParser.cpp.cvs @@ -71,136 +71,131 @@ FPVAL = 262, VOID = 263, BOOL = 264, - SBYTE = 265, - UBYTE = 266, - SHORT = 267, - USHORT = 268, - INT = 269, - UINT = 270, - LONG = 271, - ULONG = 272, - FLOAT = 273, - DOUBLE = 274, - LABEL = 275, - TYPE = 276, - VAR_ID = 277, - LABELSTR = 278, - STRINGCONSTANT = 279, - IMPLEMENTATION = 280, - ZEROINITIALIZER = 281, - TRUETOK = 282, - FALSETOK = 283, - BEGINTOK = 284, - ENDTOK = 285, - DECLARE = 286, - DEFINE = 287, - GLOBAL = 288, - CONSTANT = 289, - SECTION = 290, - VOLATILE = 291, - TO = 292, - DOTDOTDOT = 293, - NULL_TOK = 294, - UNDEF = 295, - CONST = 296, - INTERNAL = 297, - LINKONCE = 298, - WEAK = 299, - APPENDING = 300, - DLLIMPORT = 301, - DLLEXPORT = 302, - EXTERN_WEAK = 303, - OPAQUE = 304, - NOT = 305, - EXTERNAL = 306, - TARGET = 307, - TRIPLE = 308, - ENDIAN = 309, - POINTERSIZE = 310, - LITTLE = 311, - BIG = 312, - ALIGN = 313, - DEPLIBS = 314, - CALL = 315, - TAIL = 316, - ASM_TOK = 317, - MODULE = 318, - SIDEEFFECT = 319, - CC_TOK = 320, - CCC_TOK = 321, - CSRETCC_TOK = 322, - FASTCC_TOK = 323, - COLDCC_TOK = 324, - X86_STDCALLCC_TOK = 325, - X86_FASTCALLCC_TOK = 326, - DATALAYOUT = 327, - RET = 328, - BR = 329, - SWITCH = 330, - INVOKE = 331, - UNWIND = 332, - UNREACHABLE = 333, - ADD = 334, - SUB = 335, - MUL = 336, - UDIV = 337, - SDIV = 338, - FDIV = 339, - UREM = 340, - SREM = 341, - FREM = 342, - AND = 343, - OR = 344, - XOR = 345, - ICMP = 346, - FCMP = 347, - EQ = 348, - NE = 349, - SLT = 350, - SGT = 351, - SLE = 352, - SGE = 353, - ULT = 354, - UGT = 355, - ULE = 356, - UGE = 357, - OEQ = 358, - ONE = 359, - OLT = 360, - OGT = 361, - OLE = 362, - OGE = 363, - ORD = 364, - UNO = 365, - UEQ = 366, - UNE = 367, - MALLOC = 368, - ALLOCA = 369, - FREE = 370, - LOAD = 371, - STORE = 372, - GETELEMENTPTR = 373, - TRUNC = 374, - ZEXT = 375, - SEXT = 376, - FPTRUNC = 377, - FPEXT = 378, - BITCAST = 379, - UITOFP = 380, - SITOFP = 381, - FPTOUI = 382, - FPTOSI = 383, - INTTOPTR = 384, - PTRTOINT = 385, - PHI_TOK = 386, - SELECT = 387, - SHL = 388, - LSHR = 389, - ASHR = 390, - VAARG = 391, - EXTRACTELEMENT = 392, - INSERTELEMENT = 393, - SHUFFLEVECTOR = 394 + INT8 = 265, + INT16 = 266, + INT32 = 267, + INT64 = 268, + FLOAT = 269, + DOUBLE = 270, + LABEL = 271, + TYPE = 272, + VAR_ID = 273, + LABELSTR = 274, + STRINGCONSTANT = 275, + IMPLEMENTATION = 276, + ZEROINITIALIZER = 277, + TRUETOK = 278, + FALSETOK = 279, + BEGINTOK = 280, + ENDTOK = 281, + DECLARE = 282, + DEFINE = 283, + GLOBAL = 284, + CONSTANT = 285, + SECTION = 286, + VOLATILE = 287, + TO = 288, + DOTDOTDOT = 289, + NULL_TOK = 290, + UNDEF = 291, + INTERNAL = 292, + LINKONCE = 293, + WEAK = 294, + APPENDING = 295, + DLLIMPORT = 296, + DLLEXPORT = 297, + EXTERN_WEAK = 298, + OPAQUE = 299, + NOT = 300, + EXTERNAL = 301, + TARGET = 302, + TRIPLE = 303, + ENDIAN = 304, + POINTERSIZE = 305, + LITTLE = 306, + BIG = 307, + ALIGN = 308, + DEPLIBS = 309, + CALL = 310, + TAIL = 311, + ASM_TOK = 312, + MODULE = 313, + SIDEEFFECT = 314, + CC_TOK = 315, + CCC_TOK = 316, + CSRETCC_TOK = 317, + FASTCC_TOK = 318, + COLDCC_TOK = 319, + X86_STDCALLCC_TOK = 320, + X86_FASTCALLCC_TOK = 321, + DATALAYOUT = 322, + RET = 323, + BR = 324, + SWITCH = 325, + INVOKE = 326, + UNWIND = 327, + UNREACHABLE = 328, + ADD = 329, + SUB = 330, + MUL = 331, + UDIV = 332, + SDIV = 333, + FDIV = 334, + UREM = 335, + SREM = 336, + FREM = 337, + AND = 338, + OR = 339, + XOR = 340, + ICMP = 341, + FCMP = 342, + EQ = 343, + NE = 344, + SLT = 345, + SGT = 346, + SLE = 347, + SGE = 348, + ULT = 349, + UGT = 350, + ULE = 351, + UGE = 352, + OEQ = 353, + ONE = 354, + OLT = 355, + OGT = 356, + OLE = 357, + OGE = 358, + ORD = 359, + UNO = 360, + UEQ = 361, + UNE = 362, + MALLOC = 363, + ALLOCA = 364, + FREE = 365, + LOAD = 366, + STORE = 367, + GETELEMENTPTR = 368, + TRUNC = 369, + ZEXT = 370, + SEXT = 371, + FPTRUNC = 372, + FPEXT = 373, + BITCAST = 374, + UITOFP = 375, + SITOFP = 376, + FPTOUI = 377, + FPTOSI = 378, + INTTOPTR = 379, + PTRTOINT = 380, + PHI_TOK = 381, + SELECT = 382, + SHL = 383, + LSHR = 384, + ASHR = 385, + VAARG = 386, + EXTRACTELEMENT = 387, + INSERTELEMENT = 388, + SHUFFLEVECTOR = 389 }; #endif /* Tokens. */ @@ -211,142 +206,137 @@ #define FPVAL 262 #define VOID 263 #define BOOL 264 -#define SBYTE 265 -#define UBYTE 266 -#define SHORT 267 -#define USHORT 268 -#define INT 269 -#define UINT 270 -#define LONG 271 -#define ULONG 272 -#define FLOAT 273 -#define DOUBLE 274 -#define LABEL 275 -#define TYPE 276 -#define VAR_ID 277 -#define LABELSTR 278 -#define STRINGCONSTANT 279 -#define IMPLEMENTATION 280 -#define ZEROINITIALIZER 281 -#define TRUETOK 282 -#define FALSETOK 283 -#define BEGINTOK 284 -#define ENDTOK 285 -#define DECLARE 286 -#define DEFINE 287 -#define GLOBAL 288 -#define CONSTANT 289 -#define SECTION 290 -#define VOLATILE 291 -#define TO 292 -#define DOTDOTDOT 293 -#define NULL_TOK 294 -#define UNDEF 295 -#define CONST 296 -#define INTERNAL 297 -#define LINKONCE 298 -#define WEAK 299 -#define APPENDING 300 -#define DLLIMPORT 301 -#define DLLEXPORT 302 -#define EXTERN_WEAK 303 -#define OPAQUE 304 -#define NOT 305 -#define EXTERNAL 306 -#define TARGET 307 -#define TRIPLE 308 -#define ENDIAN 309 -#define POINTERSIZE 310 -#define LITTLE 311 -#define BIG 312 -#define ALIGN 313 -#define DEPLIBS 314 -#define CALL 315 -#define TAIL 316 -#define ASM_TOK 317 -#define MODULE 318 -#define SIDEEFFECT 319 -#define CC_TOK 320 -#define CCC_TOK 321 -#define CSRETCC_TOK 322 -#define FASTCC_TOK 323 -#define COLDCC_TOK 324 -#define X86_STDCALLCC_TOK 325 -#define X86_FASTCALLCC_TOK 326 -#define DATALAYOUT 327 -#define RET 328 -#define BR 329 -#define SWITCH 330 -#define INVOKE 331 -#define UNWIND 332 -#define UNREACHABLE 333 -#define ADD 334 -#define SUB 335 -#define MUL 336 -#define UDIV 337 -#define SDIV 338 -#define FDIV 339 -#define UREM 340 -#define SREM 341 -#define FREM 342 -#define AND 343 -#define OR 344 -#define XOR 345 -#define ICMP 346 -#define FCMP 347 -#define EQ 348 -#define NE 349 -#define SLT 350 -#define SGT 351 -#define SLE 352 -#define SGE 353 -#define ULT 354 -#define UGT 355 -#define ULE 356 -#define UGE 357 -#define OEQ 358 -#define ONE 359 -#define OLT 360 -#define OGT 361 -#define OLE 362 -#define OGE 363 -#define ORD 364 -#define UNO 365 -#define UEQ 366 -#define UNE 367 -#define MALLOC 368 -#define ALLOCA 369 -#define FREE 370 -#define LOAD 371 -#define STORE 372 -#define GETELEMENTPTR 373 -#define TRUNC 374 -#define ZEXT 375 -#define SEXT 376 -#define FPTRUNC 377 -#define FPEXT 378 -#define BITCAST 379 -#define UITOFP 380 -#define SITOFP 381 -#define FPTOUI 382 -#define FPTOSI 383 -#define INTTOPTR 384 -#define PTRTOINT 385 -#define PHI_TOK 386 -#define SELECT 387 -#define SHL 388 -#define LSHR 389 -#define ASHR 390 -#define VAARG 391 -#define EXTRACTELEMENT 392 -#define INSERTELEMENT 393 -#define SHUFFLEVECTOR 394 +#define INT8 265 +#define INT16 266 +#define INT32 267 +#define INT64 268 +#define FLOAT 269 +#define DOUBLE 270 +#define LABEL 271 +#define TYPE 272 +#define VAR_ID 273 +#define LABELSTR 274 +#define STRINGCONSTANT 275 +#define IMPLEMENTATION 276 +#define ZEROINITIALIZER 277 +#define TRUETOK 278 +#define FALSETOK 279 +#define BEGINTOK 280 +#define ENDTOK 281 +#define DECLARE 282 +#define DEFINE 283 +#define GLOBAL 284 +#define CONSTANT 285 +#define SECTION 286 +#define VOLATILE 287 +#define TO 288 +#define DOTDOTDOT 289 +#define NULL_TOK 290 +#define UNDEF 291 +#define INTERNAL 292 +#define LINKONCE 293 +#define WEAK 294 +#define APPENDING 295 +#define DLLIMPORT 296 +#define DLLEXPORT 297 +#define EXTERN_WEAK 298 +#define OPAQUE 299 +#define NOT 300 +#define EXTERNAL 301 +#define TARGET 302 +#define TRIPLE 303 +#define ENDIAN 304 +#define POINTERSIZE 305 +#define LITTLE 306 +#define BIG 307 +#define ALIGN 308 +#define DEPLIBS 309 +#define CALL 310 +#define TAIL 311 +#define ASM_TOK 312 +#define MODULE 313 +#define SIDEEFFECT 314 +#define CC_TOK 315 +#define CCC_TOK 316 +#define CSRETCC_TOK 317 +#define FASTCC_TOK 318 +#define COLDCC_TOK 319 +#define X86_STDCALLCC_TOK 320 +#define X86_FASTCALLCC_TOK 321 +#define DATALAYOUT 322 +#define RET 323 +#define BR 324 +#define SWITCH 325 +#define INVOKE 326 +#define UNWIND 327 +#define UNREACHABLE 328 +#define ADD 329 +#define SUB 330 +#define MUL 331 +#define UDIV 332 +#define SDIV 333 +#define FDIV 334 +#define UREM 335 +#define SREM 336 +#define FREM 337 +#define AND 338 +#define OR 339 +#define XOR 340 +#define ICMP 341 +#define FCMP 342 +#define EQ 343 +#define NE 344 +#define SLT 345 +#define SGT 346 +#define SLE 347 +#define SGE 348 +#define ULT 349 +#define UGT 350 +#define ULE 351 +#define UGE 352 +#define OEQ 353 +#define ONE 354 +#define OLT 355 +#define OGT 356 +#define OLE 357 +#define OGE 358 +#define ORD 359 +#define UNO 360 +#define UEQ 361 +#define UNE 362 +#define MALLOC 363 +#define ALLOCA 364 +#define FREE 365 +#define LOAD 366 +#define STORE 367 +#define GETELEMENTPTR 368 +#define TRUNC 369 +#define ZEXT 370 +#define SEXT 371 +#define FPTRUNC 372 +#define FPEXT 373 +#define BITCAST 374 +#define UITOFP 375 +#define SITOFP 376 +#define FPTOUI 377 +#define FPTOSI 378 +#define INTTOPTR 379 +#define PTRTOINT 380 +#define PHI_TOK 381 +#define SELECT 382 +#define SHL 383 +#define LSHR 384 +#define ASHR 385 +#define VAARG 386 +#define EXTRACTELEMENT 387 +#define INSERTELEMENT 388 +#define SHUFFLEVECTOR 389 /* Copy the first part of user declarations. */ -#line 14 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y" +#line 14 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y" #include "ParserInternals.h" #include "llvm/CallingConv.h" @@ -355,12 +345,16 @@ #include "llvm/Module.h" #include "llvm/SymbolTable.h" #include "llvm/Support/GetElementPtrTypeIterator.h" +#include "llvm/Support/CommandLine.h" #include "llvm/ADT/STLExtras.h" #include "llvm/Support/MathExtras.h" #include "llvm/Support/Streams.h" #include <algorithm> #include <list> #include <utility> +#ifndef NDEBUG +#define YYDEBUG 1 +#endif // The following is a gross hack. In order to rid the libAsmParser library of // exceptions, we have to have a way of getting the yyparse function to go into @@ -383,6 +377,11 @@ int yyparse(); namespace llvm { std::string CurFilename; +#if YYDEBUG +static cl::opt<bool> +Debug("debug-yacc", cl::desc("Print yacc debug state changes"), + cl::Hidden, cl::init(false)); +#endif } using namespace llvm; @@ -407,6 +406,7 @@ static GlobalVariable *CurGV; // destroyed when the function is completed. // typedef std::vector<Value *> ValueList; // Numbered defs + static void ResolveDefinitions(std::map<const Type *,ValueList> &LateResolvers, std::map<const Type *,ValueList> *FutureLateResolvers = 0); @@ -1140,34 +1140,12 @@ static PATypeHolder HandleUpRefs(const Type *ty) { return Ty; } -// common code from the two 'RunVMAsmParser' functions -static Module* RunParser(Module * M) { - - llvmAsmlineno = 1; // Reset the current line number... - CurModule.CurrentModule = M; - - // Check to make sure the parser succeeded - if (yyparse()) { - if (ParserResult) - delete ParserResult; - return 0; - } - - // Check to make sure that parsing produced a result - if (!ParserResult) - return 0; - - // Reset ParserResult variable while saving its value for the result. - Module *Result = ParserResult; - ParserResult = 0; - - return Result; -} - //===----------------------------------------------------------------------===// // RunVMAsmParser - Define an interface to this parser //===----------------------------------------------------------------------===// // +static Module* RunParser(Module * M); + Module *llvm::RunVMAsmParser(const std::string &Filename, FILE *F) { set_scan_file(F); @@ -1207,23 +1185,25 @@ Module *llvm::RunVMAsmParser(const char * AsmString, Module * M) { #endif #if ! defined (YYSTYPE) && ! defined (YYSTYPE_IS_DECLARED) -#line 855 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y" +#line 843 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y" typedef union YYSTYPE { llvm::Module *ModuleVal; llvm::Function *FunctionVal; - std::pair<llvm::PATypeHolder*, char*> *ArgVal; llvm::BasicBlock *BasicBlockVal; llvm::TerminatorInst *TermInstVal; llvm::Instruction *InstVal; llvm::Constant *ConstVal; const llvm::Type *PrimType; + std::list<llvm::PATypeHolder> *TypeList; llvm::PATypeHolder *TypeVal; llvm::Value *ValueVal; - - std::vector<std::pair<llvm::PATypeHolder*,char*> > *ArgList; std::vector<llvm::Value*> *ValueList; - std::list<llvm::PATypeHolder> *TypeList; + llvm::ArgListType *ArgList; + llvm::TypeWithAttrs TypeWithAttrs; + llvm::TypeWithAttrsList *TypeWithAttrsList; + llvm::ValueRefList *ValueRefList; + // Represent the RHS of PHI node std::list<std::pair<llvm::Value*, llvm::BasicBlock*> > *PHIList; @@ -1231,6 +1211,7 @@ typedef union YYSTYPE { std::vector<llvm::Constant*> *ConstVector; llvm::GlobalValue::LinkageTypes Linkage; + llvm::FunctionType::ParameterAttributes ParamAttrs; int64_t SInt64Val; uint64_t UInt64Val; int SIntVal; @@ -1251,7 +1232,7 @@ typedef union YYSTYPE { llvm::FCmpInst::Predicate FPredicate; } YYSTYPE; /* Line 196 of yacc.c. */ -#line 1255 "llvmAsmParser.tab.c" +#line 1236 "llvmAsmParser.tab.c" # define yystype YYSTYPE /* obsolescent; will be withdrawn */ # define YYSTYPE_IS_DECLARED 1 # define YYSTYPE_IS_TRIVIAL 1 @@ -1263,7 +1244,7 @@ typedef union YYSTYPE { /* Line 219 of yacc.c. */ -#line 1267 "llvmAsmParser.tab.c" +#line 1248 "llvmAsmParser.tab.c" #if ! defined (YYSIZE_T) && defined (__SIZE_TYPE__) # define YYSIZE_T __SIZE_TYPE__ @@ -1414,20 +1395,20 @@ union yyalloc /* YYFINAL -- State number of the termination state. */ #define YYFINAL 37 /* YYLAST -- Last index in YYTABLE. */ -#define YYLAST 1478 +#define YYLAST 1503 /* YYNTOKENS -- Number of terminals. */ -#define YYNTOKENS 154 +#define YYNTOKENS 150 /* YYNNTS -- Number of nonterminals. */ -#define YYNNTS 78 +#define YYNNTS 77 /* YYNRULES -- Number of rules. */ -#define YYNRULES 293 +#define YYNRULES 288 /* YYNRULES -- Number of states. */ -#define YYNSTATES 564 +#define YYNSTATES 572 /* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX. */ #define YYUNDEFTOK 2 -#define YYMAXUTOK 394 +#define YYMAXUTOK 389 #define YYTRANSLATE(YYX) \ ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK) @@ -1439,15 +1420,15 @@ static const unsigned char yytranslate[] = 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 143, 144, 152, 2, 141, 2, 2, 2, 2, 2, + 138, 139, 140, 2, 136, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 148, 140, 149, 2, 2, 2, 2, 2, 2, 2, + 145, 135, 146, 2, 137, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 145, 142, 147, 2, 2, 2, 2, 2, 153, + 2, 142, 141, 144, 2, 2, 2, 2, 2, 149, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 146, 2, 2, 150, 2, 151, 2, 2, 2, 2, + 143, 2, 2, 147, 2, 148, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, @@ -1473,8 +1454,7 @@ static const unsigned char yytranslate[] = 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, - 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, - 135, 136, 137, 138, 139 + 125, 126, 127, 128, 129, 130, 131, 132, 133, 134 }; #if YYDEBUG @@ -1488,160 +1468,160 @@ static const unsigned short int yyprhs[] = 59, 61, 63, 65, 67, 69, 71, 73, 75, 77, 79, 81, 83, 85, 87, 89, 91, 93, 95, 97, 99, 101, 103, 105, 107, 109, 111, 113, 115, 117, - 119, 121, 123, 125, 127, 129, 131, 133, 135, 137, - 140, 141, 143, 145, 147, 149, 151, 153, 155, 157, - 158, 160, 162, 164, 166, 168, 170, 171, 172, 174, - 176, 178, 180, 182, 184, 187, 188, 191, 192, 196, - 199, 200, 202, 203, 207, 209, 212, 214, 216, 218, - 220, 222, 224, 226, 228, 230, 232, 234, 236, 238, - 240, 242, 244, 246, 248, 250, 252, 255, 260, 266, - 272, 276, 279, 285, 290, 293, 295, 299, 301, 305, - 307, 308, 313, 317, 321, 326, 331, 335, 338, 341, - 344, 347, 350, 353, 356, 359, 362, 365, 368, 371, - 378, 384, 393, 400, 407, 415, 423, 430, 437, 446, - 455, 459, 461, 463, 465, 467, 468, 470, 473, 474, - 478, 479, 483, 487, 489, 493, 494, 500, 501, 508, - 509, 516, 519, 523, 525, 527, 529, 533, 537, 541, - 545, 549, 553, 555, 556, 558, 560, 562, 563, 566, - 570, 572, 574, 578, 580, 581, 590, 592, 594, 598, - 600, 602, 605, 608, 609, 611, 613, 615, 617, 619, - 621, 623, 625, 627, 631, 633, 639, 641, 643, 645, - 647, 650, 653, 656, 660, 663, 664, 666, 669, 672, - 676, 686, 696, 705, 719, 721, 723, 730, 736, 739, - 746, 754, 756, 760, 762, 763, 766, 768, 774, 780, - 787, 794, 797, 802, 807, 814, 819, 824, 831, 838, - 841, 849, 851, 854, 855, 857, 858, 862, 869, 873, - 880, 883, 888, 895 + 119, 121, 123, 125, 128, 129, 131, 133, 135, 137, + 139, 141, 143, 145, 146, 148, 150, 151, 153, 155, + 157, 159, 160, 162, 164, 166, 168, 170, 172, 175, + 177, 179, 181, 185, 186, 189, 194, 195, 198, 199, + 203, 206, 207, 209, 210, 214, 216, 219, 221, 223, + 225, 227, 229, 231, 233, 235, 237, 239, 242, 244, + 247, 253, 259, 265, 271, 275, 278, 284, 289, 292, + 295, 298, 300, 304, 306, 310, 312, 313, 315, 319, + 324, 328, 332, 337, 342, 346, 349, 352, 355, 358, + 361, 364, 367, 370, 373, 376, 383, 389, 398, 405, + 412, 420, 428, 435, 442, 451, 460, 464, 466, 468, + 470, 472, 473, 475, 478, 479, 483, 484, 488, 492, + 494, 498, 502, 503, 509, 510, 517, 518, 525, 528, + 532, 534, 536, 538, 542, 546, 550, 554, 558, 562, + 564, 565, 567, 569, 571, 572, 578, 582, 584, 588, + 590, 591, 600, 602, 604, 608, 610, 612, 615, 618, + 619, 621, 623, 625, 627, 629, 631, 633, 635, 637, + 641, 643, 649, 651, 653, 655, 657, 660, 663, 666, + 670, 673, 674, 676, 679, 682, 686, 696, 706, 715, + 729, 731, 733, 740, 746, 749, 756, 764, 768, 774, + 775, 776, 780, 783, 785, 791, 797, 804, 811, 814, + 819, 824, 831, 836, 841, 848, 855, 858, 866, 868, + 870, 871, 875, 882, 886, 893, 896, 901, 908 }; /* YYRHS -- A `-1'-separated list of the rules' RHS. */ static const short int yyrhs[] = { - 189, 0, -1, 5, -1, 6, -1, 79, -1, 80, + 186, 0, -1, 5, -1, 6, -1, 74, -1, 75, + -1, 76, -1, 77, -1, 78, -1, 79, -1, 80, -1, 81, -1, 82, -1, 83, -1, 84, -1, 85, - -1, 86, -1, 87, -1, 88, -1, 89, -1, 90, + -1, 114, -1, 115, -1, 116, -1, 117, -1, 118, -1, 119, -1, 120, -1, 121, -1, 122, -1, 123, - -1, 124, -1, 125, -1, 126, -1, 127, -1, 128, - -1, 129, -1, 130, -1, 133, -1, 134, -1, 135, + -1, 124, -1, 125, -1, 128, -1, 129, -1, 130, + -1, 88, -1, 89, -1, 90, -1, 91, -1, 92, -1, 93, -1, 94, -1, 95, -1, 96, -1, 97, -1, 98, -1, 99, -1, 100, -1, 101, -1, 102, -1, 103, -1, 104, -1, 105, -1, 106, -1, 107, - -1, 108, -1, 109, -1, 110, -1, 111, -1, 112, - -1, 99, -1, 100, -1, 101, -1, 102, -1, 27, - -1, 28, -1, 16, -1, 14, -1, 12, -1, 10, - -1, 17, -1, 15, -1, 13, -1, 11, -1, 162, - -1, 163, -1, 18, -1, 19, -1, 202, 140, -1, - -1, 42, -1, 44, -1, 43, -1, 45, -1, 47, - -1, 46, -1, 48, -1, 51, -1, -1, 46, -1, - 48, -1, 42, -1, 43, -1, 44, -1, 47, -1, - -1, -1, 66, -1, 67, -1, 68, -1, 69, -1, - 70, -1, 71, -1, 65, 4, -1, -1, 58, 4, - -1, -1, 141, 58, 4, -1, 35, 24, -1, -1, - 174, -1, -1, 141, 177, 176, -1, 174, -1, 58, - 4, -1, 180, -1, 8, -1, 182, -1, 8, -1, - 182, -1, 9, -1, 10, -1, 11, -1, 12, -1, - 13, -1, 14, -1, 15, -1, 16, -1, 17, -1, - 18, -1, 19, -1, 20, -1, 49, -1, 181, -1, - 215, -1, 142, 4, -1, 179, 143, 184, 144, -1, - 145, 4, 146, 182, 147, -1, 148, 4, 146, 182, - 149, -1, 150, 183, 151, -1, 150, 151, -1, 148, - 150, 183, 151, 149, -1, 148, 150, 151, 149, -1, - 182, 152, -1, 182, -1, 183, 141, 182, -1, 183, - -1, 183, 141, 38, -1, 38, -1, -1, 180, 145, - 187, 147, -1, 180, 145, 147, -1, 180, 153, 24, - -1, 180, 148, 187, 149, -1, 180, 150, 187, 151, - -1, 180, 150, 151, -1, 180, 39, -1, 180, 40, - -1, 180, 215, -1, 180, 186, -1, 180, 26, -1, - 162, 3, -1, 162, 4, -1, 163, 4, -1, 163, - 3, -1, 9, 27, -1, 9, 28, -1, 165, 7, - -1, 158, 143, 185, 37, 180, 144, -1, 118, 143, - 185, 229, 144, -1, 132, 143, 185, 141, 185, 141, - 185, 144, -1, 156, 143, 185, 141, 185, 144, -1, - 157, 143, 185, 141, 185, 144, -1, 91, 160, 143, - 185, 141, 185, 144, -1, 92, 161, 143, 185, 141, - 185, 144, -1, 159, 143, 185, 141, 185, 144, -1, - 137, 143, 185, 141, 185, 144, -1, 138, 143, 185, - 141, 185, 141, 185, 144, -1, 139, 143, 185, 141, - 185, 141, 185, 144, -1, 187, 141, 185, -1, 185, - -1, 33, -1, 34, -1, 190, -1, -1, 191, -1, - 190, 191, -1, -1, 32, 192, 211, -1, -1, 31, - 193, 212, -1, 63, 62, 197, -1, 25, -1, 166, - 21, 178, -1, -1, 166, 188, 185, 194, 176, -1, - -1, 166, 167, 188, 185, 195, 176, -1, -1, 166, - 168, 188, 180, 196, 176, -1, 52, 199, -1, 59, - 140, 200, -1, 24, -1, 57, -1, 56, -1, 54, - 140, 198, -1, 55, 140, 4, -1, 53, 140, 24, - -1, 72, 140, 24, -1, 145, 201, 147, -1, 201, - 141, 24, -1, 24, -1, -1, 22, -1, 24, -1, - 202, -1, -1, 180, 203, -1, 205, 141, 204, -1, - 204, -1, 205, -1, 205, 141, 38, -1, 38, -1, - -1, 171, 178, 202, 143, 206, 144, 175, 172, -1, - 29, -1, 150, -1, 170, 207, 208, -1, 30, -1, - 151, -1, 218, 210, -1, 169, 207, -1, -1, 64, - -1, 3, -1, 4, -1, 7, -1, 27, -1, 28, - -1, 39, -1, 40, -1, 26, -1, 148, 187, 149, - -1, 186, -1, 62, 213, 24, 141, 24, -1, 155, - -1, 202, -1, 215, -1, 214, -1, 180, 216, -1, - 218, 219, -1, 209, 219, -1, 220, 166, 221, -1, - 220, 223, -1, -1, 23, -1, 73, 217, -1, 73, - 8, -1, 74, 20, 216, -1, 74, 9, 216, 141, - 20, 216, 141, 20, 216, -1, 75, 164, 216, 141, - 20, 216, 145, 222, 147, -1, 75, 164, 216, 141, - 20, 216, 145, 147, -1, 76, 171, 178, 216, 143, - 226, 144, 37, 20, 216, 77, 20, 216, -1, 77, - -1, 78, -1, 222, 164, 214, 141, 20, 216, -1, - 164, 214, 141, 20, 216, -1, 166, 228, -1, 180, - 145, 216, 141, 216, 147, -1, 224, 141, 145, 216, - 141, 216, 147, -1, 217, -1, 225, 141, 217, -1, - 225, -1, -1, 61, 60, -1, 60, -1, 156, 180, - 216, 141, 216, -1, 157, 180, 216, 141, 216, -1, - 91, 160, 180, 216, 141, 216, -1, 92, 161, 180, - 216, 141, 216, -1, 50, 217, -1, 159, 217, 141, - 217, -1, 158, 217, 37, 180, -1, 132, 217, 141, - 217, 141, 217, -1, 136, 217, 141, 180, -1, 137, - 217, 141, 217, -1, 138, 217, 141, 217, 141, 217, - -1, 139, 217, 141, 217, 141, 217, -1, 131, 224, - -1, 227, 171, 178, 216, 143, 226, 144, -1, 231, - -1, 141, 225, -1, -1, 36, -1, -1, 113, 180, - 173, -1, 113, 180, 141, 15, 216, 173, -1, 114, - 180, 173, -1, 114, 180, 141, 15, 216, 173, -1, - 115, 217, -1, 230, 116, 180, 216, -1, 230, 117, - 217, 141, 180, 216, -1, 118, 180, 216, 229, -1 + -1, 94, -1, 95, -1, 96, -1, 97, -1, 23, + -1, 24, -1, 13, -1, 12, -1, 11, -1, 10, + -1, 14, -1, 15, -1, 199, 135, -1, -1, 37, + -1, 39, -1, 38, -1, 40, -1, 42, -1, 41, + -1, 43, -1, 46, -1, -1, 41, -1, 43, -1, + -1, 37, -1, 38, -1, 39, -1, 42, -1, -1, + 61, -1, 62, -1, 63, -1, 64, -1, 65, -1, + 66, -1, 60, 4, -1, 115, -1, 116, -1, 166, + -1, 167, 136, 166, -1, -1, 137, 166, -1, 137, + 138, 167, 139, -1, -1, 53, 4, -1, -1, 136, + 53, 4, -1, 31, 20, -1, -1, 171, -1, -1, + 136, 174, 173, -1, 171, -1, 53, 4, -1, 9, + -1, 10, -1, 11, -1, 12, -1, 13, -1, 14, + -1, 15, -1, 16, -1, 44, -1, 175, -1, 176, + 140, -1, 211, -1, 141, 4, -1, 176, 168, 138, + 180, 139, -1, 8, 168, 138, 180, 139, -1, 142, + 4, 143, 176, 144, -1, 145, 4, 143, 176, 146, + -1, 147, 181, 148, -1, 147, 148, -1, 145, 147, + 181, 148, 146, -1, 145, 147, 148, 146, -1, 176, + 168, -1, 176, 168, -1, 8, 168, -1, 177, -1, + 179, 136, 177, -1, 179, -1, 179, 136, 34, -1, + 34, -1, -1, 176, -1, 181, 136, 176, -1, 176, + 142, 184, 144, -1, 176, 142, 144, -1, 176, 149, + 20, -1, 176, 145, 184, 146, -1, 176, 147, 184, + 148, -1, 176, 147, 148, -1, 176, 35, -1, 176, + 36, -1, 176, 211, -1, 176, 183, -1, 176, 22, + -1, 158, 3, -1, 158, 4, -1, 9, 23, -1, + 9, 24, -1, 159, 7, -1, 154, 138, 182, 33, + 176, 139, -1, 113, 138, 182, 222, 139, -1, 127, + 138, 182, 136, 182, 136, 182, 139, -1, 152, 138, + 182, 136, 182, 139, -1, 153, 138, 182, 136, 182, + 139, -1, 86, 156, 138, 182, 136, 182, 139, -1, + 87, 157, 138, 182, 136, 182, 139, -1, 155, 138, + 182, 136, 182, 139, -1, 132, 138, 182, 136, 182, + 139, -1, 133, 138, 182, 136, 182, 136, 182, 139, + -1, 134, 138, 182, 136, 182, 136, 182, 139, -1, + 184, 136, 182, -1, 182, -1, 29, -1, 30, -1, + 187, -1, -1, 188, -1, 187, 188, -1, -1, 28, + 189, 207, -1, -1, 27, 190, 208, -1, 58, 57, + 194, -1, 21, -1, 160, 17, 176, -1, 160, 17, + 8, -1, -1, 160, 185, 182, 191, 173, -1, -1, + 160, 161, 185, 182, 192, 173, -1, -1, 160, 162, + 185, 176, 193, 173, -1, 47, 196, -1, 54, 135, + 197, -1, 20, -1, 52, -1, 51, -1, 49, 135, + 195, -1, 50, 135, 4, -1, 48, 135, 20, -1, + 67, 135, 20, -1, 142, 198, 144, -1, 198, 136, + 20, -1, 20, -1, -1, 18, -1, 20, -1, 199, + -1, -1, 201, 136, 176, 168, 200, -1, 176, 168, + 200, -1, 201, -1, 201, 136, 34, -1, 34, -1, + -1, 165, 178, 199, 138, 202, 139, 172, 169, -1, + 25, -1, 147, -1, 164, 203, 204, -1, 26, -1, + 148, -1, 214, 206, -1, 163, 203, -1, -1, 59, + -1, 3, -1, 4, -1, 7, -1, 23, -1, 24, + -1, 35, -1, 36, -1, 22, -1, 145, 184, 146, + -1, 183, -1, 57, 209, 20, 136, 20, -1, 151, + -1, 199, -1, 211, -1, 210, -1, 176, 212, -1, + 214, 215, -1, 205, 215, -1, 216, 160, 217, -1, + 216, 219, -1, -1, 19, -1, 68, 213, -1, 68, + 8, -1, 69, 16, 212, -1, 69, 9, 212, 136, + 16, 212, 136, 16, 212, -1, 70, 158, 212, 136, + 16, 212, 142, 218, 144, -1, 70, 158, 212, 136, + 16, 212, 142, 144, -1, 71, 165, 178, 212, 138, + 221, 139, 33, 16, 212, 72, 16, 212, -1, 72, + -1, 73, -1, 218, 158, 210, 136, 16, 212, -1, + 158, 210, 136, 16, 212, -1, 160, 224, -1, 176, + 142, 212, 136, 212, 144, -1, 220, 136, 142, 212, + 136, 212, 144, -1, 176, 212, 168, -1, 221, 136, + 176, 212, 168, -1, -1, -1, 222, 136, 213, -1, + 56, 55, -1, 55, -1, 152, 176, 212, 136, 212, + -1, 153, 176, 212, 136, 212, -1, 86, 156, 176, + 212, 136, 212, -1, 87, 157, 176, 212, 136, 212, + -1, 45, 213, -1, 155, 213, 136, 213, -1, 154, + 213, 33, 176, -1, 127, 213, 136, 213, 136, 213, + -1, 131, 213, 136, 176, -1, 132, 213, 136, 213, + -1, 133, 213, 136, 213, 136, 213, -1, 134, 213, + 136, 213, 136, 213, -1, 126, 220, -1, 223, 165, + 178, 212, 138, 221, 139, -1, 226, -1, 32, -1, + -1, 108, 176, 170, -1, 108, 176, 136, 12, 212, + 170, -1, 109, 176, 170, -1, 109, 176, 136, 12, + 212, 170, -1, 110, 213, -1, 225, 111, 176, 212, + -1, 225, 112, 213, 136, 176, 212, -1, 113, 176, + 212, 222, -1 }; /* YYRLINE[YYN] -- source line where rule number YYN was defined. */ static const unsigned short int yyrline[] = { - 0, 989, 989, 990, 1000, 1000, 1000, 1000, 1000, 1000, - 1000, 1000, 1000, 1001, 1001, 1001, 1002, 1002, 1002, 1002, - 1002, 1002, 1003, 1003, 1003, 1003, 1003, 1003, 1004, 1004, - 1004, 1006, 1006, 1007, 1007, 1008, 1008, 1009, 1009, 1010, - 1010, 1014, 1014, 1015, 1015, 1016, 1016, 1017, 1017, 1018, - 1018, 1019, 1019, 1020, 1020, 1021, 1022, 1027, 1027, 1027, - 1027, 1028, 1028, 1028, 1028, 1029, 1029, 1030, 1030, 1033, - 1037, 1043, 1044, 1045, 1046, 1047, 1051, 1052, 1053, 1057, - 1058, 1059, 1063, 1064, 1065, 1066, 1067, 1070, 1071, 1072, - 1073, 1074, 1075, 1076, 1077, 1086, 1087, 1093, 1094, 1102, - 1110, 1111, 1116, 1117, 1118, 1123, 1137, 1137, 1138, 1138, - 1140, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1151, 1151, - 1151, 1151, 1151, 1152, 1156, 1160, 1168, 1176, 1189, 1194, - 1206, 1216, 1220, 1230, 1234, 1245, 1250, 1256, 1257, 1261, - 1265, 1276, 1302, 1316, 1346, 1372, 1393, 1406, 1416, 1421, - 1482, 1489, 1497, 1503, 1509, 1515, 1521, 1525, 1529, 1537, - 1549, 1570, 1578, 1584, 1595, 1600, 1605, 1614, 1620, 1626, - 1635, 1639, 1647, 1647, 1658, 1663, 1671, 1672, 1676, 1676, - 1680, 1680, 1683, 1686, 1698, 1720, 1720, 1729, 1729, 1737, - 1737, 1745, 1748, 1754, 1767, 1768, 1770, 1774, 1783, 1787, - 1792, 1794, 1799, 1804, 1813, 1813, 1814, 1814, 1816, 1823, - 1829, 1836, 1840, 1846, 1851, 1856, 1951, 1951, 1953, 1961, - 1961, 1963, 1968, 1978, 1982, 1987, 1991, 1995, 1999, 2003, - 2007, 2011, 2015, 2019, 2044, 2048, 2062, 2066, 2072, 2072, - 2078, 2083, 2087, 2096, 2107, 2116, 2128, 2141, 2145, 2149, - 2154, 2163, 2182, 2191, 2247, 2251, 2258, 2269, 2282, 2291, - 2300, 2310, 2314, 2321, 2321, 2323, 2327, 2332, 2351, 2366, - 2377, 2388, 2401, 2410, 2421, 2429, 2434, 2440, 2446, 2452, - 2467, 2526, 2533, 2536, 2541, 2545, 2552, 2557, 2563, 2568, - 2574, 2582, 2594, 2609 + 0, 983, 983, 984, 994, 994, 994, 994, 994, 994, + 994, 994, 994, 995, 995, 995, 996, 996, 996, 996, + 996, 996, 997, 997, 997, 997, 997, 997, 998, 998, + 998, 1000, 1000, 1001, 1001, 1002, 1002, 1003, 1003, 1004, + 1004, 1008, 1008, 1009, 1009, 1010, 1010, 1011, 1011, 1012, + 1012, 1013, 1013, 1014, 1014, 1015, 1016, 1021, 1021, 1021, + 1021, 1022, 1022, 1025, 1029, 1035, 1036, 1037, 1038, 1039, + 1043, 1044, 1045, 1049, 1050, 1051, 1055, 1056, 1057, 1058, + 1059, 1062, 1063, 1064, 1065, 1066, 1067 |