diff options
Diffstat (limited to 'lib/AsmParser/llvmAsmParser.cpp')
-rw-r--r-- | lib/AsmParser/llvmAsmParser.cpp | 1665 |
1 files changed, 839 insertions, 826 deletions
diff --git a/lib/AsmParser/llvmAsmParser.cpp b/lib/AsmParser/llvmAsmParser.cpp index 305bdc6273..098590749e 100644 --- a/lib/AsmParser/llvmAsmParser.cpp +++ b/lib/AsmParser/llvmAsmParser.cpp @@ -1,5 +1,5 @@ -/* A Bison parser, made from /Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y +/* A Bison parser, made from /Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y by GNU Bison version 1.28 */ #define YYBISON 1 /* Identify Bison output. */ @@ -105,7 +105,7 @@ #define VAARG_old 348 #define VANEXT_old 349 -#line 14 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +#line 14 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y" #include "ParserInternals.h" #include "llvm/CallingConv.h" @@ -145,7 +145,8 @@ static Module *ParserResult; static bool ObsoleteVarArgs; static bool NewVarArgs; -static BasicBlock* CurBB; +static BasicBlock *CurBB; +static GlobalVariable *CurGV; // This contains info used when building the body of a function. It is @@ -610,13 +611,10 @@ static void setValueName(Value *V, char *NameStr) { /// ParseGlobalVariable - Handle parsing of a global. If Initializer is null, /// this is a declaration, otherwise it is a definition. -static void ParseGlobalVariable(char *NameStr,GlobalValue::LinkageTypes Linkage, - bool isConstantGlobal, const Type *Ty, - Constant *Initializer, char *Section, - unsigned Align) { - if (Align != 0 && !isPowerOf2_32(Align)) - ThrowException("Global alignment must be a power of two!"); - +static GlobalVariable * +ParseGlobalVariable(char *NameStr,GlobalValue::LinkageTypes Linkage, + bool isConstantGlobal, const Type *Ty, + Constant *Initializer) { if (isa<FunctionType>(Ty)) ThrowException("Cannot declare global vars of function type!"); @@ -646,13 +644,8 @@ static void ParseGlobalVariable(char *NameStr,GlobalValue::LinkageTypes Linkage, GV->setInitializer(Initializer); GV->setLinkage(Linkage); GV->setConstant(isConstantGlobal); - GV->setAlignment(Align); - if (Section) { - free(Section); - GV->setSection(Section); - } InsertValue(GV, CurModule.Values); - return; + return GV; } // If this global has a name, check to see if there is already a definition @@ -677,12 +670,7 @@ static void ParseGlobalVariable(char *NameStr,GlobalValue::LinkageTypes Linkage, if (isConstantGlobal) EGV->setConstant(true); EGV->setLinkage(Linkage); - EGV->setAlignment(Align); - if (Section) { - free(Section); - EGV->setSection(Section); - } - return; + return EGV; } ThrowException("Redefinition of global variable named '" + Name + @@ -694,12 +682,8 @@ static void ParseGlobalVariable(char *NameStr,GlobalValue::LinkageTypes Linkage, GlobalVariable *GV = new GlobalVariable(Ty, isConstantGlobal, Linkage, Initializer, Name, CurModule.CurrentModule); - GV->setAlignment(Align); - if (Section) { - free(Section); - GV->setSection(Section); - } InsertValue(GV, CurModule.Values); + return GV; } // setTypeName - Set the specified type to the name given. The name may be @@ -977,7 +961,7 @@ Module *llvm::RunVMAsmParser(const char * AsmString, Module * M) { } -#line 886 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y" +#line 870 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y" typedef union { llvm::Module *ModuleVal; llvm::Function *FunctionVal; @@ -1027,11 +1011,11 @@ typedef union { -#define YYFINAL 439 +#define YYFINAL 443 #define YYFLAG -32768 #define YYNTBASE 110 -#define YYTRANSLATE(x) ((unsigned)(x) <= 349 ? yytranslate[x] : 176) +#define YYTRANSLATE(x) ((unsigned)(x) <= 349 ? yytranslate[x] : 179) static const char yytranslate[] = { 0, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, @@ -1078,23 +1062,24 @@ static const short yyprhs[] = { 0, 40, 42, 44, 46, 48, 50, 52, 54, 56, 58, 60, 62, 64, 67, 68, 70, 72, 74, 76, 77, 78, 80, 82, 84, 87, 88, 91, 92, 96, 99, - 100, 102, 103, 106, 108, 110, 112, 114, 116, 118, - 120, 122, 124, 126, 128, 130, 132, 134, 136, 138, - 140, 142, 144, 146, 148, 151, 156, 162, 168, 172, - 175, 178, 180, 184, 186, 190, 192, 193, 198, 202, - 206, 211, 216, 220, 223, 226, 229, 232, 235, 238, - 241, 244, 247, 250, 257, 263, 272, 279, 286, 293, - 300, 304, 306, 308, 310, 312, 315, 318, 321, 323, - 328, 331, 339, 347, 351, 356, 357, 359, 361, 365, - 369, 373, 377, 381, 383, 384, 386, 388, 390, 391, - 394, 398, 400, 402, 406, 408, 409, 418, 420, 422, - 426, 428, 430, 433, 434, 438, 440, 442, 444, 446, - 448, 450, 452, 456, 458, 460, 462, 464, 466, 469, - 472, 475, 479, 482, 483, 485, 488, 491, 495, 505, - 515, 524, 538, 540, 542, 549, 555, 558, 565, 573, - 575, 579, 581, 582, 585, 587, 593, 599, 605, 608, - 613, 618, 625, 630, 635, 640, 643, 651, 653, 656, - 657, 659, 660, 664, 671, 675, 682, 685, 690, 697 + 100, 102, 103, 107, 109, 112, 114, 116, 118, 120, + 122, 124, 126, 128, 130, 132, 134, 136, 138, 140, + 142, 144, 146, 148, 150, 152, 154, 157, 162, 168, + 174, 178, 181, 184, 186, 190, 192, 196, 198, 199, + 204, 208, 212, 217, 222, 226, 229, 232, 235, 238, + 241, 244, 247, 250, 253, 256, 263, 269, 278, 285, + 292, 299, 306, 310, 312, 314, 316, 318, 321, 324, + 327, 329, 334, 337, 338, 346, 347, 355, 359, 364, + 365, 367, 369, 373, 377, 381, 385, 389, 391, 392, + 394, 396, 398, 399, 402, 406, 408, 410, 414, 416, + 417, 426, 428, 430, 434, 436, 438, 441, 442, 446, + 448, 450, 452, 454, 456, 458, 460, 464, 466, 468, + 470, 472, 474, 477, 480, 483, 487, 490, 491, 493, + 496, 499, 503, 513, 523, 532, 546, 548, 550, 557, + 563, 566, 573, 581, 583, 587, 589, 590, 593, 595, + 601, 607, 613, 616, 621, 626, 633, 638, 643, 648, + 651, 659, 661, 664, 665, 667, 668, 672, 679, 683, + 690, 693, 698, 705 }; static const short yyrhs[] = { 5, @@ -1104,99 +1089,100 @@ static const short yyrhs[] = { 5, 0, 80, 0, 81, 0, 91, 0, 92, 0, 16, 0, 14, 0, 12, 0, 10, 0, 17, 0, 15, 0, 13, 0, 11, 0, 116, 0, 117, 0, 18, - 0, 19, 0, 146, 96, 0, 0, 41, 0, 42, + 0, 19, 0, 149, 96, 0, 0, 41, 0, 42, 0, 43, 0, 44, 0, 0, 0, 59, 0, 60, 0, 61, 0, 58, 4, 0, 0, 54, 4, 0, 0, 97, 54, 4, 0, 34, 24, 0, 0, 125, - 0, 0, 97, 125, 0, 130, 0, 8, 0, 132, - 0, 8, 0, 132, 0, 9, 0, 10, 0, 11, - 0, 12, 0, 13, 0, 14, 0, 15, 0, 16, - 0, 17, 0, 18, 0, 19, 0, 20, 0, 21, - 0, 45, 0, 131, 0, 159, 0, 98, 4, 0, - 129, 99, 134, 100, 0, 101, 4, 102, 132, 103, - 0, 104, 4, 102, 132, 105, 0, 106, 133, 107, - 0, 106, 107, 0, 132, 108, 0, 132, 0, 133, - 97, 132, 0, 133, 0, 133, 97, 37, 0, 37, - 0, 0, 130, 101, 137, 103, 0, 130, 101, 103, - 0, 130, 109, 24, 0, 130, 104, 137, 105, 0, - 130, 106, 137, 107, 0, 130, 106, 107, 0, 130, - 38, 0, 130, 39, 0, 130, 159, 0, 130, 136, - 0, 130, 26, 0, 116, 111, 0, 117, 4, 0, - 9, 27, 0, 9, 28, 0, 119, 7, 0, 89, - 99, 135, 36, 130, 100, 0, 87, 99, 135, 173, - 100, 0, 90, 99, 135, 97, 135, 97, 135, 100, - 0, 112, 99, 135, 97, 135, 100, 0, 113, 99, - 135, 97, 135, 100, 0, 114, 99, 135, 97, 135, - 100, 0, 115, 99, 135, 97, 135, 100, 0, 137, - 97, 135, 0, 135, 0, 32, 0, 33, 0, 140, - 0, 140, 155, 0, 140, 156, 0, 140, 25, 0, - 141, 0, 141, 120, 20, 128, 0, 141, 156, 0, - 141, 120, 121, 138, 135, 127, 124, 0, 141, 120, - 47, 138, 130, 127, 124, 0, 141, 48, 143, 0, - 141, 55, 96, 144, 0, 0, 53, 0, 52, 0, - 50, 96, 142, 0, 51, 96, 4, 0, 49, 96, - 24, 0, 101, 145, 103, 0, 145, 97, 24, 0, - 24, 0, 0, 22, 0, 24, 0, 146, 0, 0, - 130, 147, 0, 149, 97, 148, 0, 148, 0, 149, - 0, 149, 97, 37, 0, 37, 0, 0, 122, 128, - 146, 99, 150, 100, 126, 123, 0, 29, 0, 106, - 0, 121, 151, 152, 0, 30, 0, 107, 0, 162, - 154, 0, 0, 31, 157, 151, 0, 3, 0, 4, - 0, 7, 0, 27, 0, 28, 0, 38, 0, 39, - 0, 104, 137, 105, 0, 136, 0, 110, 0, 146, - 0, 159, 0, 158, 0, 130, 160, 0, 162, 163, - 0, 153, 163, 0, 164, 120, 165, 0, 164, 167, - 0, 0, 23, 0, 62, 161, 0, 62, 8, 0, - 63, 21, 160, 0, 63, 9, 160, 97, 21, 160, - 97, 21, 160, 0, 64, 118, 160, 97, 21, 160, - 101, 166, 103, 0, 64, 118, 160, 97, 21, 160, - 101, 103, 0, 65, 122, 128, 160, 99, 170, 100, - 36, 21, 160, 66, 21, 160, 0, 66, 0, 67, - 0, 166, 118, 158, 97, 21, 160, 0, 118, 158, - 97, 21, 160, 0, 120, 172, 0, 130, 101, 160, - 97, 160, 103, 0, 168, 97, 101, 160, 97, 160, - 103, 0, 161, 0, 169, 97, 161, 0, 169, 0, - 0, 57, 56, 0, 56, 0, 112, 130, 160, 97, - 160, 0, 113, 130, 160, 97, 160, 0, 114, 130, - 160, 97, 160, 0, 46, 161, 0, 115, 161, 97, - 161, 0, 89, 161, 36, 130, 0, 90, 161, 97, - 161, 97, 161, 0, 93, 161, 97, 130, 0, 94, - 161, 97, 130, 0, 95, 161, 97, 130, 0, 88, - 168, 0, 171, 122, 128, 160, 99, 170, 100, 0, - 175, 0, 97, 169, 0, 0, 35, 0, 0, 82, - 130, 124, 0, 82, 130, 97, 15, 160, 124, 0, - 83, 130, 124, 0, 83, 130, 97, 15, 160, 124, - 0, 84, 161, 0, 174, 85, 130, 160, 0, 174, - 86, 161, 97, 130, 160, 0, 87, 130, 160, 173, - 0 + 0, 0, 97, 128, 127, 0, 125, 0, 54, 4, + 0, 131, 0, 8, 0, 133, 0, 8, 0, 133, + 0, 9, 0, 10, 0, 11, 0, 12, 0, 13, + 0, 14, 0, 15, 0, 16, 0, 17, 0, 18, + 0, 19, 0, 20, 0, 21, 0, 45, 0, 132, + 0, 162, 0, 98, 4, 0, 130, 99, 135, 100, + 0, 101, 4, 102, 133, 103, 0, 104, 4, 102, + 133, 105, 0, 106, 134, 107, 0, 106, 107, 0, + 133, 108, 0, 133, 0, 134, 97, 133, 0, 134, + 0, 134, 97, 37, 0, 37, 0, 0, 131, 101, + 138, 103, 0, 131, 101, 103, 0, 131, 109, 24, + 0, 131, 104, 138, 105, 0, 131, 106, 138, 107, + 0, 131, 106, 107, 0, 131, 38, 0, 131, 39, + 0, 131, 162, 0, 131, 137, 0, 131, 26, 0, + 116, 111, 0, 117, 4, 0, 9, 27, 0, 9, + 28, 0, 119, 7, 0, 89, 99, 136, 36, 131, + 100, 0, 87, 99, 136, 176, 100, 0, 90, 99, + 136, 97, 136, 97, 136, 100, 0, 112, 99, 136, + 97, 136, 100, 0, 113, 99, 136, 97, 136, 100, + 0, 114, 99, 136, 97, 136, 100, 0, 115, 99, + 136, 97, 136, 100, 0, 138, 97, 136, 0, 136, + 0, 32, 0, 33, 0, 141, 0, 141, 158, 0, + 141, 159, 0, 141, 25, 0, 142, 0, 142, 120, + 20, 129, 0, 142, 159, 0, 0, 142, 120, 121, + 139, 136, 143, 127, 0, 0, 142, 120, 47, 139, + 131, 144, 127, 0, 142, 48, 146, 0, 142, 55, + 96, 147, 0, 0, 53, 0, 52, 0, 50, 96, + 145, 0, 51, 96, 4, 0, 49, 96, 24, 0, + 101, 148, 103, 0, 148, 97, 24, 0, 24, 0, + 0, 22, 0, 24, 0, 149, 0, 0, 131, 150, + 0, 152, 97, 151, 0, 151, 0, 152, 0, 152, + 97, 37, 0, 37, 0, 0, 122, 129, 149, 99, + 153, 100, 126, 123, 0, 29, 0, 106, 0, 121, + 154, 155, 0, 30, 0, 107, 0, 165, 157, 0, + 0, 31, 160, 154, 0, 3, 0, 4, 0, 7, + 0, 27, 0, 28, 0, 38, 0, 39, 0, 104, + 138, 105, 0, 137, 0, 110, 0, 149, 0, 162, + 0, 161, 0, 131, 163, 0, 165, 166, 0, 156, + 166, 0, 167, 120, 168, 0, 167, 170, 0, 0, + 23, 0, 62, 164, 0, 62, 8, 0, 63, 21, + 163, 0, 63, 9, 163, 97, 21, 163, 97, 21, + 163, 0, 64, 118, 163, 97, 21, 163, 101, 169, + 103, 0, 64, 118, 163, 97, 21, 163, 101, 103, + 0, 65, 122, 129, 163, 99, 173, 100, 36, 21, + 163, 66, 21, 163, 0, 66, 0, 67, 0, 169, + 118, 161, 97, 21, 163, 0, 118, 161, 97, 21, + 163, 0, 120, 175, 0, 131, 101, 163, 97, 163, + 103, 0, 171, 97, 101, 163, 97, 163, 103, 0, + 164, 0, 172, 97, 164, 0, 172, 0, 0, 57, + 56, 0, 56, 0, 112, 131, 163, 97, 163, 0, + 113, 131, 163, 97, 163, 0, 114, 131, 163, 97, + 163, 0, 46, 164, 0, 115, 164, 97, 164, 0, + 89, 164, 36, 131, 0, 90, 164, 97, 164, 97, + 164, 0, 93, 164, 97, 131, 0, 94, 164, 97, + 131, 0, 95, 164, 97, 131, 0, 88, 171, 0, + 174, 122, 129, 163, 99, 173, 100, 0, 178, 0, + 97, 172, 0, 0, 35, 0, 0, 82, 131, 124, + 0, 82, 131, 97, 15, 163, 124, 0, 83, 131, + 124, 0, 83, 131, 97, 15, 163, 124, 0, 84, + 164, 0, 177, 85, 131, 163, 0, 177, 86, 164, + 97, 131, 163, 0, 87, 131, 163, 176, 0 }; #endif #if YYDEBUG != 0 static const short yyrline[] = { 0, - 1004, 1005, 1012, 1013, 1022, 1022, 1022, 1022, 1022, 1023, - 1023, 1023, 1024, 1024, 1024, 1024, 1024, 1024, 1026, 1026, - 1030, 1030, 1030, 1030, 1031, 1031, 1031, 1031, 1032, 1032, - 1033, 1033, 1036, 1039, 1043, 1043, 1044, 1045, 1046, 1049, - 1049, 1050, 1051, 1052, 1061, 1061, 1063, 1063, 1066, 1073, - 1073, 1075, 1075, 1086, 1086, 1087, 1087, 1089, 1098, 1098, - 1098, 1098, 1098, 1098, 1098, 1099, 1099, 1099, 1099, 1099, - 1099, 1100, 1103, 1106, 1112, 1119, 1131, 1135, 1146, 1155, - 1158, 1166, 1170, 1175, 1176, 1179, 1182, 1192, 1217, 1230, - 1258, 1283, 1303, 1315, 1324, 1328, 1387, 1393, 1401, 1406, - 1411, 1414, 1417, 1424, 1434, 1465, 1472, 1493, 1500, 1505, - 1515, 1518, 1525, 1525, 1535, 1542, 1546, 1549, 1552, 1565, - 1585, 1587, 1591, 1595, 1597, 1599, 1604, 1605, 1607, 1610, - 1618, 1623, 1625, 1629, 1633, 1641, 1641, 1642, 1642, 1644, - 1650, 1655, 1661, 1664, 1669, 1673, 1677, 1765, 1765, 1767, - 1775, 1775, 1777, 1781, 1781, 1790, 1793, 1796, 1799, 1802, - 1805, 1808, 1811, 1835, 1842, 1845, 1850, 1850, 1856, 1860, - 1863, 1871, 1880, 1884, 1894, 1905, 1908, 1911, 1914, 1917, - 1931, 1935, 1988, 1991, 1997, 2005, 2015, 2022, 2027, 2034, - 2038, 2044, 2044, 2046, 2049, 2055, 2067, 2075, 2085, 2097, - 2104, 2111, 2118, 2123, 2142, 2164, 2178, 2235, 2241, 2243, - 2247, 2250, 2256, 2263, 2270, 2277, 2284, 2291, 2301, 2314 + 988, 989, 996, 997, 1006, 1006, 1006, 1006, 1006, 1007, + 1007, 1007, 1008, 1008, 1008, 1008, 1008, 1008, 1010, 1010, + 1014, 1014, 1014, 1014, 1015, 1015, 1015, 1015, 1016, 1016, + 1017, 1017, 1020, 1023, 1027, 1027, 1028, 1029, 1030, 1033, + 1033, 1034, 1035, 1036, 1045, 1045, 1051, 1051, 1059, 1066, + 1066, 1072, 1072, 1074, 1078, 1089, 1089, 1090, 1090, 1092, + 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1102, 1102, 1102, + 1102, 1102, 1102, 1103, 1106, 1109, 1115, 1122, 1134, 1138, + 1149, 1158, 1161, 1169, 1173, 1178, 1179, 1182, 1185, 1195, + 1220, 1233, 1261, 1286, 1306, 1318, 1327, 1331, 1390, 1396, + 1404, 1409, 1414, 1417, 1420, 1427, 1437, 1468, 1475, 1496, + 1503, 1508, 1518, 1521, 1528, 1528, 1538, 1545, 1549, 1552, + 1555, 1568, 1588, 1590, 1593, 1596, 1600, 1603, 1605, 1607, + 1612, 1613, 1615, 1618, 1626, 1631, 1633, 1637, 1641, 1649, + 1649, 1650, 1650, 1652, 1658, 1663, 1669, 1672, 1677, 1681, + 1685, 1771, 1771, 1773, 1781, 1781, 1783, 1787, 1787, 1796, + 1799, 1802, 1805, 1808, 1811, 1814, 1817, 1841, 1848, 1851, + 1856, 1856, 1862, 1866, 1869, 1877, 1886, 1890, 1900, 1911, + 1914, 1917, 1920, 1923, 1937, 1941, 1994, 1997, 2003, 2011, + 2021, 2028, 2033, 2040, 2044, 2050, 2050, 2052, 2055, 2061, + 2073, 2081, 2091, 2103, 2110, 2117, 2124, 2129, 2148, 2170, + 2184, 2241, 2247, 2249, 2253, 2256, 2262, 2266, 2270, 2274, + 2278, 2285, 2295, 2308 }; #endif @@ -1218,14 +1204,15 @@ static const char * const yytname[] = { "$","error","$undefined.","ESINT64VAL" "'x'","']'","'<'","'>'","'{'","'}'","'*'","'c'","INTVAL","EINT64VAL","ArithmeticOps", "LogicalOps","SetCondOps","ShiftOps","SIntType","UIntType","IntType","FPType", "OptAssign","OptLinkage","OptCallingConv","OptAlign","OptCAlign","SectionString", -"OptSection","OptCSection","TypesV","UpRTypesV","Types","PrimType","UpRTypes", -"TypeListI","ArgTypeListI","ConstVal","ConstExpr","ConstVector","GlobalType", -"Module","FunctionList","ConstPool","BigOrLittle","TargetDefinition","LibrariesDefinition", -"LibList","Name","OptName","ArgVal","ArgListH","ArgList","FunctionHeaderH","BEGIN", -"FunctionHeader","END","Function","FunctionProto","@1","ConstValueRef","SymbolicValueRef", -"ValueRef","ResolvedVal","BasicBlockList","BasicBlock","InstructionList","BBTerminatorInst", -"JumpTable","Inst","PHIList","ValueRefList","ValueRefListE","OptTailCall","InstVal", -"IndexList","OptVolatile","MemoryInst", NULL +"OptSection","GlobalVarAttributes","GlobalVarAttribute","TypesV","UpRTypesV", +"Types","PrimType","UpRTypes","TypeListI","ArgTypeListI","ConstVal","ConstExpr", +"ConstVector","GlobalType","Module","FunctionList","ConstPool","@1","@2","BigOrLittle", +"TargetDefinition","LibrariesDefinition","LibList","Name","OptName","ArgVal", +"ArgListH","ArgList","FunctionHeaderH","BEGIN","FunctionHeader","END","Function", +"FunctionProto","@3","ConstValueRef","SymbolicValueRef","ValueRef","ResolvedVal", +"BasicBlockList","BasicBlock","InstructionList","BBTerminatorInst","JumpTable", +"Inst","PHIList","ValueRefList","ValueRefListE","OptTailCall","InstVal","IndexList", +"OptVolatile","MemoryInst", NULL }; #endif @@ -1235,23 +1222,24 @@ static const short yyr1[] = { 0, 116, 116, 116, 116, 117, 117, 117, 117, 118, 118, 119, 119, 120, 120, 121, 121, 121, 121, 121, 122, 122, 122, 122, 122, 123, 123, 124, 124, 125, 126, - 126, 127, 127, 128, 128, 129, 129, 130, 131, 131, - 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, - 131, 132, 132, 132, 132, 132, 132, 132, 132, 132, - 132, 133, 133, 134, 134, 134, 134, 135, 135, 135, - 135, 135, 135, 135, 135, 135, 135, 135, 135, 135, - 135, 135, 135, 136, 136, 136, 136, 136, 136, 136, - 137, 137, 138, 138, 139, 140, 140, 140, 140, 141, - 141, 141, 141, 141, 141, 141, 142, 142, 143, 143, - 143, 144, 145, 145, 145, 146, 146, 147, 147, 148, - 149, 149, 150, 150, 150, 150, 151, 152, 152, 153, - 154, 154, 155, 157, 156, 158, 158, 158, 158, 158, - 158, 158, 158, 158, 159, 159, 160, 160, 161, 162, - 162, 163, 164, 164, 164, 165, 165, 165, 165, 165, - 165, 165, 165, 165, 166, 166, 167, 168, 168, 169, - 169, 170, 170, 171, 171, 172, 172, 172, 172, 172, - 172, 172, 172, 172, 172, 172, 172, 172, 173, 173, - 174, 174, 175, 175, 175, 175, 175, 175, 175, 175 + 126, 127, 127, 128, 128, 129, 129, 130, 130, 131, + 132, 132, 132, 132, 132, 132, 132, 132, 132, 132, + 132, 132, 132, 133, 133, 133, 133, 133, 133, 133, + 133, 133, 133, 134, 134, 135, 135, 135, 135, 136, + 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, + 136, 136, 136, 136, 136, 137, 137, 137, 137, 137, + 137, 137, 138, 138, 139, 139, 140, 141, 141, 141, + 141, 142, 142, 143, 142, 144, 142, 142, 142, 142, + 145, 145, 146, 146, 146, 147, 148, 148, 148, 149, + 149, 150, 150, 151, 152, 152, 153, 153, 153, 153, + 154, 155, 155, 156, 157, 157, 158, 160, 159, 161, + 161, 161, 161, 161, 161, 161, 161, 161, 162, 162, + 163, 163, 164, 165, 165, 166, 167, 167, 167, 168, + 168, 168, 168, 168, 168, 168, 168, 168, 169, 169, + 170, 171, 171, 172, 172, 173, 173, 174, 174, 175, + 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, + 175, 175, 176, 176, 177, 177, 178, 178, 178, 178, + 178, 178, 178, 178 }; static const short yyr2[] = { 0, @@ -1260,391 +1248,396 @@ static const short yyr2[] = { 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 0, 1, 1, 1, 1, 0, 0, 1, 1, 1, 2, 0, 2, 0, 3, 2, 0, - 1, 0, 2, 1, 1, 1, 1, 1, 1, 1, + 1, 0, 3, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 2, 4, 5, 5, 3, 2, - 2, 1, 3, 1, 3, 1, 0, 4, 3, 3, - 4, 4, 3, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 6, 5, 8, 6, 6, 6, 6, - 3, 1, 1, 1, 1, 2, 2, 2, 1, 4, - 2, 7, 7, 3, 4, 0, 1, 1, 3, 3, - 3, 3, 3, 1, 0, 1, 1, 1, 0, 2, - 3, 1, 1, 3, 1, 0, 8, 1, 1, 3, - 1, 1, 2, 0, 3, 1, 1, 1, 1, 1, - 1, 1, 3, 1, 1, 1, 1, 1, 2, 2, - 2, 3, 2, 0, 1, 2, 2, 3, 9, 9, - 8, 13, 1, 1, 6, 5, 2, 6, 7, 1, - 3, 1, 0, 2, 1, 5, 5, 5, 2, 4, - 4, 6, 4, 4, 4, 2, 7, 1, 2, 0, - 1, 0, 3, 6, 3, 6, 2, 4, 6, 4 + 1, 1, 1, 1, 1, 1, 2, 4, 5, 5, + 3, 2, 2, 1, 3, 1, 3, 1, 0, 4, + 3, 3, 4, 4, 3, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 6, 5, 8, 6, 6, + 6, 6, 3, 1, 1, 1, 1, 2, 2, 2, + 1, 4, 2, 0, 7, 0, 7, 3, 4, 0, + 1, 1, 3, 3, 3, 3, 3, 1, 0, 1, + 1, 1, 0, 2, 3, 1, 1, 3, 1, 0, + 8, 1, 1, 3, 1, 1, 2, 0, 3, 1, + 1, 1, 1, 1, 1, 1, 3, 1, 1, 1, + 1, 1, 2, 2, 2, 3, 2, 0, 1, 2, + 2, 3, 9, 9, 8, 13, 1, 1, 6, 5, + 2, 6, 7, 1, 3, 1, 0, 2, 1, 5, + 5, 5, 2, 4, 4, 6, 4, 4, 4, 2, + 7, 1, 2, 0, 1, 0, 3, 6, 3, 6, + 2, 4, 6, 4 }; -static const short yydefact[] = { 126, - 39, 119, 118, 154, 35, 36, 37, 38, 40, 174, - 116, 117, 174, 136, 137, 0, 0, 39, 0, 121, - 40, 0, 41, 42, 43, 0, 0, 175, 171, 34, - 151, 152, 153, 170, 0, 0, 0, 124, 0, 0, - 0, 0, 33, 155, 44, 1, 2, 55, 59, 60, - 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, - 71, 72, 0, 0, 0, 0, 165, 0, 0, 54, - 73, 58, 166, 74, 148, 149, 150, 212, 173, 0, - 0, 0, 135, 125, 120, 113, 114, 0, 0, 75, - 0, 0, 57, 80, 82, 0, 0, 87, 81, 211, - 0, 195, 0, 0, 0, 0, 40, 183, 184, 5, +static const short yydefact[] = { 130, + 39, 121, 120, 158, 35, 36, 37, 38, 40, 178, + 118, 119, 178, 140, 141, 0, 0, 39, 0, 123, + 40, 0, 41, 42, 43, 0, 0, 179, 175, 34, + 155, 156, 157, 174, 0, 0, 0, 128, 0, 0, + 0, 0, 33, 159, 44, 1, 2, 57, 61, 62, + 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, + 73, 74, 0, 0, 0, 0, 169, 0, 0, 56, + 75, 60, 170, 76, 152, 153, 154, 216, 177, 0, + 0, 0, 139, 129, 122, 115, 116, 0, 0, 77, + 0, 0, 59, 82, 84, 0, 0, 89, 83, 215, + 0, 199, 0, 0, 0, 0, 40, 187, 188, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 0, 0, 0, 0, 0, 0, 0, - 19, 20, 0, 0, 0, 0, 0, 0, 0, 172, - 40, 187, 0, 208, 131, 128, 127, 129, 130, 134, - 0, 52, 59, 60, 61, 62, 63, 64, 65, 66, - 67, 68, 69, 0, 0, 0, 0, 52, 0, 0, - 0, 79, 146, 86, 84, 0, 0, 199, 194, 177, - 176, 0, 0, 24, 28, 23, 27, 22, 26, 21, - 25, 29, 30, 0, 0, 47, 47, 217, 0, 0, - 206, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 132, 0, 47, 101, 102, 3, - 4, 99, 100, 103, 98, 94, 95, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 97, 96, - 47, 56, 56, 83, 145, 139, 142, 143, 0, 0, - 76, 156, 157, 158, 159, 160, 161, 162, 0, 164, - 168, 167, 169, 0, 178, 0, 0, 0, 213, 0, - 215, 210, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 133, 0, 53, 0, - 123, 0, 0, 0, 89, 112, 0, 0, 93, 0, - 90, 0, 0, 0, 0, 122, 77, 78, 138, 140, - 0, 50, 85, 0, 0, 0, 0, 0, 0, 0, - 0, 220, 0, 0, 201, 0, 203, 204, 205, 0, - 0, 0, 200, 0, 218, 0, 49, 210, 0, 0, - 0, 88, 91, 92, 0, 0, 0, 0, 144, 141, - 51, 45, 163, 0, 0, 193, 47, 48, 47, 190, - 209, 0, 0, 0, 196, 197, 198, 193, 0, 0, - 0, 0, 111, 0, 0, 0, 0, 0, 147, 0, - 0, 192, 0, 214, 216, 0, 0, 0, 202, 0, - 219, 105, 0, 0, 0, 0, 0, 0, 46, 0, - 0, 0, 191, 188, 0, 207, 104, 0, 107, 108, - 109, 110, 0, 181, 0, 0, 0, 189, 0, 179, - 0, 180, 0, 0, 106, 0, 0, 0, 0, 0, - 0, 186, 0, 0, 185, 182, 0, 0, 0 + 19, 20, 0, 0, 0, 0, 0, 0, 0, 176, + 40, 191, 0, 212, 135, 132, 131, 133, 134, 138, + 0, 126, 61, 62, 63, 64, 65, 66, 67, 68, + 69, 70, 71, 0, 0, 0, 0, 124, 0, 0, + 0, 81, 150, 88, 86, 0, 0, 203, 198, 181, + 180, 0, 0, 24, 28, 23, 27, 22, 26, 21, + 25, 29, 30, 0, 0, 47, 47, 221, 0, 0, + 210, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 136, 52, 103, 104, 3, 4, + 101, 102, 105, 100, 96, 97, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 99, 98, 52, + 58, 58, 85, 149, 143, 146, 147, 0, 0, 78, + 160, 161, 162, 163, 164, 165, 166, 0, 168, 172, + 171, 173, 0, 182, 0, 0, 0, 217, 0, 219, + 214, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 137, 0, 127, 0, 0, + 0, 91, 114, 0, 0, 95, 0, 92, 0, 0, + 0, 0, 125, 79, 80, 142, 144, 0, 50, 87, + 0, 0, 0, 0, 0, 0, 0, 0, 224, 0, + 0, 205, 0, 207, 208, 209, 0, 0, 0, 204, + 0, 222, 0, 0, 0, 54, 52, 214, 0, 0, + 0, 90, 93, 94, 0, 0, 0, 0, 148, 145, + 51, 45, 167, 0, 0, 197, 47, 48, 47, 194, + 213, 0, 0, 0, 200, 201, 202, 197, 0, 49, + 55, 53, 0, 0, 0, 113, 0, 0, 0, 0, + 0, 151, 0, 0, 196, 0, 0, 218, 220, 0, + 0, 0, 206, 0, 223, 107, 0, 0, 0, 0, + 0, 0, 46, 0, 0, 0, 195, 192, 0, 211, + 106, 0, 109, 110, 111, 112, 0, 185, 0, 0, + 0, 193, 0, 183, 0, 184, 0, 0, 108, 0, + 0, 0, 0, 0, 0, 190, 0, 0, 189, 186, + 0, 0, 0 }; static const short yydefgoto[] = { 67, - 222, 235, 236, 237, 238, 164, 165, 194, 166, 18, - 9, 26, 379, 269, 289, 352, 217, 68, 69, 167, - 71, 72, 96, 176, 296, 260, 297, 88, 437, 1, - 2, 148, 38, 84, 151, 73, 310, 247, 248, 249, - 27, 77, 10, 33, 11, 12, 21, 261, 74, 263, - 360, 13, 29, 30, 140, 416, 79, 201, 382, 383, - 141, 142, 322, 143, 144 + 221, 234, 235, 236, 237, 164, 165, 194, 166, 18, + 9, 26, 382, 268, 336, 352, 288, 337, 68, 69, + 167, 71, 72, 96, 176, 293, 259, 294, 88, 441, + 1, 2, 240, 216, 148, 38, 84, 151, 73, 307, + 246, 247, 248, 27, 77, 10, 33, 11, 12, 21, + 260, 74, 262, 360, 13, 29, 30, 140, 420, 79, + 201, 385, 386, 141, 142, 319, 143, 144 }; static const short yypact[] = {-32768, - 51, 94,-32768,-32768,-32768,-32768,-32768,-32768, 26, -1, --32768,-32768, -18,-32768,-32768, 79, -33, 111, -5,-32768, - 26, 113,-32768,-32768,-32768, 987, -23,-32768,-32768, 66, --32768,-32768,-32768,-32768, 19, 49, 52,-32768, 33, 987, - 64, 64,-32768,-32768,-32768,-32768,-32768, 65,-32768,-32768, + 43, 303,-32768,-32768,-32768,-32768,-32768,-32768, 71, -3, +-32768,-32768, 34,-32768,-32768, 86, -30, 47, -19,-32768, + 71, 76,-32768,-32768,-32768, 994, -25,-32768,-32768, -6, +-32768,-32768,-32768,-32768, -14, 26, 37,-32768, 49, 994, + -1, -1,-32768,-32768,-32768,-32768,-32768, -4,-32768,-32768, -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, --32768,-32768, 161, 163, 169, 504,-32768, 66, 75,-32768, --32768, -78,-32768,-32768,-32768,-32768,-32768, 1102,-32768, 152, - 53, 173, 154,-32768,-32768,-32768,-32768, 1007, 1051,-32768, - 77, 78,-32768,-32768, -78, -74, 82, 744,-32768,-32768, - 1007,-32768, 128, 1109, 4, 265, 26,-32768,-32768,-32768, +-32768,-32768, 134, 153, 157, 511,-32768, -6, 63,-32768, +-32768, -16,-32768,-32768,-32768,-32768,-32768, 1109,-32768, 139, + -5, 163, 144,-32768,-32768,-32768,-32768, 1014, 1058,-32768, + 68, 69,-32768,-32768, -16, -90, 73, 751,-32768,-32768, + 1014,-32768, 120, 1116, 51, 186, 71,-32768,-32768,-32768, -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, --32768,-32768,-32768, 1007, 1007, 1007, 1007, 1007, 1007, 1007, --32768,-32768, 1007, 1007, 1007, 1007, 1007, 1007, 1007,-32768, - 26,-32768, 38,-32768,-32768,-32768,-32768,-32768,-32768,-32768, - -59, 93, 105, 136, 187, 140, 188, 147, 189, 157, - 190, 192, 193, 159, 191, 195, 402, 93, 1007, 1007, - 1007,-32768, 782,-32768, 106, 104, 568,-32768,-32768, 65, --32768, 568, 568,-32768,-32768,-32768,-32768,-32768,-32768,-32768, --32768,-32768,-32768, 568, 987, 108, 112,-32768, 568, 109, - 114, 176, 116, 123, 124, 125, 568, 568, 568, 126, - 987, 1007, 1007, 200,-32768, 194, 130,-32768,-32768,-32768, --32768,-32768,-32768,-32768,-32768,-32768,-32768, 131, 133, 134, - 846, 1051, 524, 201, 135, 137, 138, 139,-32768,-32768, - 130, -61, -31, -78,-32768, 66,-32768, 132, 142, 884, --32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, 1051,-32768, --32768,-32768,-32768, 146,-32768, 148, 568, -6,-32768, -4, --32768, 149, 568, 143, 1007, 1007, 1007, 1007, 1007, 150, - 151, 164, 1007, 568, 568, 166,-32768, 211,-32768, 204, --32768, 1051, 1051, 1051,-32768,-32768, -24, -79,-32768, -73, --32768, 1051, 1051, 1051, 1051,-32768,-32768,-32768,-32768,-32768, - 949, 194,-32768, -68, 233, 239, 165, 568, 261, 568, - 1007,-32768, 170, 568,-32768, 171,-32768,-32768,-32768, 568, - 568, 568,-32768, 167,-32768, 1007,-32768, 149, 235, 172, - 1051,-32768,-32768,-32768, 175, 186, 196, 197,-32768,-32768, --32768, 230,-32768, 568, 568, 1007, 130,-32768, 130,-32768, - 203, 568, 205, 1007,-32768,-32768,-32768, 1007, 568, 198, - 1007, 1051,-32768, 1051, 1051, 1051, 1051, 283,-32768, 206, - 207, 203, 214,-32768,-32768, 1007, 212, 568,-32768, 218, --32768,-32768, 223, 209, 224, 225, 226, 227,-32768, 280, - 43, 268,-32768,-32768, 228,-32768,-32768, 1051,-32768,-32768, --32768,-32768, 568,-32768, 647, 54, 307,-32768, 229,-32768, - 236,-32768, 647, 568,-32768, 311, 237, 269, 568, 315, - 316,-32768, 568, 568,-32768,-32768, 339, 340,-32768 +-32768,-32768,-32768, 1014, 1014, 1014, 1014, 1014, 1014, 1014, +-32768,-32768, 1014, 1014, 1014, 1014, 1014, 1014, 1014,-32768, + 71,-32768, -15,-32768,-32768,-32768,-32768,-32768,-32768,-32768, + 22,-32768, 116, 142, 173, 145, 174, 149, 175, 151, + 176, 177, 181, 156, 179, 183, 409,-32768, 1014, 1014, + 1014,-32768, 789,-32768, 84, 91, 575,-32768,-32768, -4, +-32768, 575, 575,-32768,-32768,-32768,-32768,-32768,-32768,-32768, +-32768,-32768,-32768, 575, 994, 95, 96,-32768, 575, 93, + 107, 172, 112, 113, 114, 115, 575, 575, 575, 117, + 994, 1014, 1014, 189,-32768, 122,-32768,-32768,-32768,-32768, +-32768,-32768,-32768,-32768,-32768,-32768, 123, 125, 126, 853, + 1058, 531, 202, 128, 129, 131, 132,-32768,-32768, 122, + 20, -12, -16,-32768, -6,-32768, 136, 135, 891,-32768, +-32768,-32768,-32768,-32768,-32768,-32768,-32768, 1058,-32768,-32768, +-32768,-32768, 137,-32768, 141, 575, -9,-32768, 4,-32768, + 146, 575, 138, 1014, 1014, 1014, 1014, 1014, 147, 158, + 161, 1014, 575, 575, 162,-32768, 5,-32768, 1058, 1058, + 1058,-32768,-32768, 24, -32,-32768, -28,-32768, 1058, 1058, + 1058, 1058,-32768,-32768,-32768,-32768,-32768, 956, 208,-32768, + 0, 215, 233, 164, 575, 256, 575, 1014,-32768, 165, + 575,-32768, 167,-32768,-32768,-32768, 575, 575, 575,-32768, + 166,-32768, 1014, 237, 262,-32768, 122, 146, 231, 171, + 1058,-32768,-32768,-32768, 178, 180, 182, 184,-32768,-32768, +-32768, 216,-32768, 575, 575, 1014, 190,-32768, 190,-32768, + 191, 575, 192, 1014,-32768,-32768,-32768, 1014, 575,-32768, +-32768,-32768, 169, 1014, 1058,-32768, 1058, 1058, 1058, 1058, + 269,-32768, 193, 197, 191, 199, 222,-32768,-32768, 1014, + 200, 575,-32768, 205,-32768,-32768, 206, 211, 209, 213, + 214, 217,-32768, 259, 11, 247,-32768,-32768, 221,-32768, +-32768, 1058,-32768,-32768,-32768,-32768, 575,-32768, 654, 39, + 281,-32768, 218,-32768, 223,-32768, 654, 575,-32768, 308, + 234, 266, 575, 312, 316,-32768, 575, 575,-32768,-32768, + 339, 340,-32768 }; static const short yypgoto[] = {-32768, --32768, 263, 270, 271, 275, -105, -104, -385,-32768, 317, - 328, -80,-32768, -189, 42,-32768, 199, -36,-32768, -26, --32768, -49, 257,-32768, -86, 202, -213, 319,-32768,-32768, --32768,-32768,-32768,-32768,-32768, 13,-32768, 46,-32768,-32768, - 338,-32768,-32768,-32768,-32768, 363,-32768, -343, -11, 32, - -94,-32768, 353,-32768,-32768,-32768,-32768,-32768, 47, 2, --32768,-32768, 34,-32768,-32768 +-32768, 263, 265, 274, 276, -105, -104, -390,-32768, 326, + 342, -78,-32768, -184, 48,-32768, -231,-32768, -37,-32768, + -26,-32768, -54, 264,-32768, -84, 194, -197, 321,-32768, +-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, 8,-32768, + 60,-32768,-32768, 348,-32768,-32768,-32768,-32768, 368,-32768, + -301, -43, 38, -93,-32768, 358,-32768,-32768,-32768,-32768, +-32768, 54, 7,-32768,-32768, 35,-32768,-32768 }; -#define YYLAST 1215 +#define YYLAST 1222 static const short yytable[] = { 70, - 192, 193, 168, 85, 28, 75, 178, 271, 318, 181, - 320, 31, 182, 70, 19, 415, 95, 341, 298, 300, - -56, 28, 171, 341, 183, 343, 195, 291, 341, 99, - 423, 198, 172, 344, 202, 203, 353, 214, 204, 205, - 206, 307, 19, 215, 210, 314, 99, 319, 95, 319, - -115, 306, 184, 185, 186, 187, 188, 189, 190, 191, - 211, 152, 39, 184, 185, 186, 187, 188, 189, 190, - 191, 421, 341, 308, 177, 3, 99, 177, 342, 427, - 97, 4, 76, 22, 23, 24, 25, 14, 32, 15, - 43, 5, 6, 7, 8, 86, 87, 196, 197, 177, - 199, 200, 177, 177, 146, 147, 177, 177, 177, 207, - 208, 209, 177, -34, 80, 14, 45, 15, 286, 242, - 243, 244, 212, 213, 4, -34, -34, 35, 36, 37, - 40, 218, 219, 83, -34, -34, -34, -34, -24, -24, - -34, 16, -23, -23, 81, 414, 246, 82, 17, -22, - -22, 5, 6, 7, 8, 240, 422, 41, 267, -21, - -21, 220, 221, -57, 90, 262, 91, 384, 70, 385, - 262, 262, 92, 98, 284, 145, 149, 150, 169, 170, - 173, 326, 262, 179, 70, 285, 177, 262, 333, 216, - -28, -27, -26, -25, 223, 262, 262, 262, -31, -32, - 244, 224, 250, 251, 268, 338, 339, 340, 270, 273, - 274, 275, 276, 264, 265, 345, 346, 347, 348, 277, - 278, 279, 283, 287, 301, 266, 290, 288, 311, 292, - 272, 293, 294, 302, 337, 303, 304, 305, 280, 281, - 282, 312, |