diff --git a/dtool/src/cppparser/cppBison.cxx.prebuilt b/dtool/src/cppparser/cppBison.cxx.prebuilt index e82963410c..bee2ccfa65 100644 --- a/dtool/src/cppparser/cppBison.cxx.prebuilt +++ b/dtool/src/cppparser/cppBison.cxx.prebuilt @@ -126,7 +126,7 @@ int yyparse(); static void yyerror(const string &msg) { - current_lexer->error(msg); + current_lexer->error(msg, current_lexer->_last_token_loc); } static void @@ -387,25 +387,26 @@ extern int cppyydebug; KW_SIGNED = 340, KW_SIZEOF = 341, KW_STATIC = 342, - KW_STATIC_CAST = 343, - KW_STRUCT = 344, - KW_TEMPLATE = 345, - KW_THROW = 346, - KW_TRUE = 347, - KW_TRY = 348, - KW_TYPEDEF = 349, - KW_TYPENAME = 350, - KW_UNION = 351, - KW_UNSIGNED = 352, - KW_USING = 353, - KW_VIRTUAL = 354, - KW_VOID = 355, - KW_VOLATILE = 356, - KW_WCHAR_T = 357, - KW_WHILE = 358, - START_CPP = 359, - START_CONST_EXPR = 360, - START_TYPE = 361 + KW_STATIC_ASSERT = 343, + KW_STATIC_CAST = 344, + KW_STRUCT = 345, + KW_TEMPLATE = 346, + KW_THROW = 347, + KW_TRUE = 348, + KW_TRY = 349, + KW_TYPEDEF = 350, + KW_TYPENAME = 351, + KW_UNION = 352, + KW_UNSIGNED = 353, + KW_USING = 354, + KW_VIRTUAL = 355, + KW_VOID = 356, + KW_VOLATILE = 357, + KW_WCHAR_T = 358, + KW_WHILE = 359, + START_CPP = 360, + START_CONST_EXPR = 361, + START_TYPE = 362 }; #endif /* Tokens. */ @@ -494,25 +495,26 @@ extern int cppyydebug; #define KW_SIGNED 340 #define KW_SIZEOF 341 #define KW_STATIC 342 -#define KW_STATIC_CAST 343 -#define KW_STRUCT 344 -#define KW_TEMPLATE 345 -#define KW_THROW 346 -#define KW_TRUE 347 -#define KW_TRY 348 -#define KW_TYPEDEF 349 -#define KW_TYPENAME 350 -#define KW_UNION 351 -#define KW_UNSIGNED 352 -#define KW_USING 353 -#define KW_VIRTUAL 354 -#define KW_VOID 355 -#define KW_VOLATILE 356 -#define KW_WCHAR_T 357 -#define KW_WHILE 358 -#define START_CPP 359 -#define START_CONST_EXPR 360 -#define START_TYPE 361 +#define KW_STATIC_ASSERT 343 +#define KW_STATIC_CAST 344 +#define KW_STRUCT 345 +#define KW_TEMPLATE 346 +#define KW_THROW 347 +#define KW_TRUE 348 +#define KW_TRY 349 +#define KW_TYPEDEF 350 +#define KW_TYPENAME 351 +#define KW_UNION 352 +#define KW_UNSIGNED 353 +#define KW_USING 354 +#define KW_VIRTUAL 355 +#define KW_VOID 356 +#define KW_VOLATILE 357 +#define KW_WCHAR_T 358 +#define KW_WHILE 359 +#define START_CPP 360 +#define START_CONST_EXPR 361 +#define START_TYPE 362 @@ -555,7 +557,7 @@ int cppyyparse (); /* Copy the second part of user declarations. */ /* Line 390 of yacc.c */ -#line 559 "built/tmp/cppBison.yxx.c" +#line 561 "built/tmp/cppBison.yxx.c" #ifdef short # undef short @@ -777,20 +779,20 @@ union yyalloc /* YYFINAL -- State number of the termination state. */ #define YYFINAL 73 /* YYLAST -- Last index in YYTABLE. */ -#define YYLAST 3857 +#define YYLAST 3843 /* YYNTOKENS -- Number of terminals. */ -#define YYNTOKENS 131 +#define YYNTOKENS 132 /* YYNNTS -- Number of nonterminals. */ #define YYNNTS 93 /* YYNRULES -- Number of rules. */ -#define YYNRULES 555 +#define YYNRULES 557 /* YYNRULES -- Number of states. */ -#define YYNSTATES 1008 +#define YYNSTATES 1015 /* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX. */ #define YYUNDEFTOK 2 -#define YYMAXUTOK 361 +#define YYMAXUTOK 362 #define YYTRANSLATE(YYX) \ ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK) @@ -801,16 +803,16 @@ static const yytype_uint8 yytranslate[] = 0, 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, 129, 2, 2, 2, 122, 115, 2, - 125, 127, 120, 118, 108, 119, 124, 121, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 110, 109, - 116, 111, 117, 112, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 130, 2, 2, 2, 123, 116, 2, + 126, 128, 121, 119, 109, 120, 125, 122, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 111, 110, + 117, 112, 118, 113, 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, 126, 2, 130, 114, 2, 2, 2, 2, 2, + 2, 127, 2, 131, 115, 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, 107, 113, 128, 123, 2, 2, 2, + 2, 2, 2, 108, 114, 129, 124, 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, @@ -834,7 +836,7 @@ static const yytype_uint8 yytranslate[] = 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, - 105, 106 + 105, 106, 107 }; #if YYDEBUG @@ -845,299 +847,300 @@ static const yytype_uint16 yyprhs[] = 0, 0, 3, 6, 9, 12, 14, 17, 20, 22, 26, 31, 32, 38, 40, 42, 44, 46, 48, 50, 53, 55, 57, 60, 63, 66, 69, 77, 87, 97, - 98, 102, 104, 107, 111, 114, 117, 120, 123, 126, - 129, 132, 135, 138, 140, 144, 148, 149, 154, 155, - 161, 164, 169, 172, 177, 178, 183, 184, 190, 194, - 197, 202, 205, 210, 211, 218, 219, 226, 227, 235, - 236, 247, 248, 260, 261, 270, 271, 281, 283, 285, - 287, 290, 295, 301, 303, 305, 307, 309, 311, 313, - 315, 317, 319, 321, 323, 325, 327, 329, 331, 333, - 335, 337, 339, 341, 343, 345, 347, 349, 351, 353, - 355, 357, 359, 361, 363, 365, 367, 369, 371, 374, - 377, 379, 381, 383, 385, 386, 393, 396, 398, 400, - 402, 406, 409, 414, 417, 422, 426, 431, 433, 435, - 437, 439, 442, 445, 448, 451, 454, 457, 461, 466, - 470, 474, 475, 482, 484, 486, 488, 492, 495, 497, - 501, 503, 506, 508, 511, 513, 517, 523, 527, 532, - 534, 536, 539, 541, 545, 549, 555, 559, 563, 568, - 574, 577, 579, 581, 583, 585, 588, 591, 594, 597, - 600, 604, 609, 611, 613, 615, 618, 621, 624, 627, - 630, 634, 639, 647, 651, 653, 656, 659, 662, 665, - 668, 672, 677, 685, 687, 689, 692, 694, 696, 698, - 701, 706, 708, 710, 713, 715, 717, 719, 722, 727, - 730, 732, 734, 737, 740, 743, 746, 750, 751, 757, - 758, 766, 768, 770, 773, 777, 780, 783, 786, 790, - 794, 798, 802, 806, 810, 815, 820, 823, 827, 829, - 831, 833, 835, 839, 845, 847, 850, 855, 857, 859, - 861, 863, 864, 871, 876, 879, 883, 885, 887, 889, - 891, 893, 895, 897, 899, 901, 903, 905, 907, 909, - 911, 914, 917, 920, 923, 925, 928, 930, 934, 937, - 939, 940, 943, 945, 948, 950, 952, 954, 956, 958, - 960, 962, 964, 966, 968, 970, 972, 974, 976, 978, - 980, 982, 984, 986, 988, 990, 992, 994, 996, 998, - 1000, 1002, 1004, 1006, 1008, 1010, 1012, 1014, 1016, 1018, - 1020, 1022, 1024, 1026, 1028, 1030, 1032, 1034, 1036, 1038, - 1040, 1042, 1044, 1046, 1048, 1050, 1052, 1054, 1056, 1058, - 1060, 1062, 1064, 1066, 1068, 1070, 1072, 1074, 1076, 1078, - 1080, 1082, 1084, 1086, 1088, 1090, 1092, 1094, 1096, 1098, - 1100, 1102, 1104, 1106, 1108, 1110, 1112, 1114, 1116, 1118, - 1120, 1122, 1124, 1126, 1128, 1130, 1132, 1134, 1136, 1138, - 1140, 1142, 1144, 1146, 1148, 1150, 1152, 1154, 1156, 1158, - 1162, 1164, 1166, 1168, 1170, 1172, 1176, 1178, 1183, 1191, - 1199, 1204, 1207, 1210, 1213, 1216, 1219, 1223, 1227, 1231, - 1235, 1239, 1243, 1247, 1251, 1255, 1259, 1263, 1267, 1271, - 1275, 1279, 1283, 1289, 1294, 1299, 1303, 1307, 1311, 1315, - 1317, 1322, 1330, 1338, 1343, 1348, 1353, 1358, 1363, 1368, - 1373, 1378, 1383, 1388, 1393, 1398, 1403, 1408, 1411, 1417, - 1420, 1423, 1426, 1429, 1432, 1436, 1440, 1444, 1448, 1452, - 1456, 1460, 1464, 1468, 1472, 1476, 1480, 1484, 1488, 1492, - 1496, 1500, 1504, 1510, 1515, 1520, 1524, 1528, 1532, 1536, - 1538, 1540, 1542, 1544, 1546, 1548, 1550, 1552, 1557, 1565, - 1573, 1578, 1581, 1587, 1590, 1593, 1596, 1599, 1603, 1607, - 1611, 1615, 1619, 1623, 1627, 1631, 1635, 1639, 1643, 1647, - 1651, 1655, 1659, 1663, 1667, 1671, 1677, 1682, 1687, 1691, - 1695, 1699, 1703, 1705, 1707, 1709, 1711, 1713, 1715, 1717, - 1720, 1723, 1725, 1727, 1729, 1732 + 104, 109, 110, 114, 116, 119, 123, 126, 129, 132, + 135, 138, 141, 144, 147, 150, 152, 156, 160, 161, + 166, 167, 173, 176, 181, 184, 189, 190, 195, 196, + 202, 206, 209, 214, 217, 222, 223, 230, 231, 238, + 239, 247, 248, 259, 260, 272, 273, 282, 283, 293, + 295, 297, 299, 302, 307, 313, 315, 317, 319, 321, + 323, 325, 327, 329, 331, 333, 335, 337, 339, 341, + 343, 345, 347, 349, 351, 353, 355, 357, 359, 361, + 363, 365, 367, 369, 371, 373, 375, 377, 379, 381, + 383, 386, 389, 391, 393, 395, 397, 398, 405, 408, + 410, 412, 414, 418, 421, 426, 429, 434, 438, 443, + 445, 447, 449, 451, 454, 457, 460, 463, 466, 469, + 473, 478, 482, 486, 487, 494, 496, 498, 500, 504, + 507, 509, 513, 515, 518, 520, 523, 525, 529, 535, + 539, 544, 546, 548, 551, 553, 557, 561, 567, 571, + 575, 580, 586, 589, 591, 593, 595, 597, 600, 603, + 606, 609, 612, 616, 621, 623, 625, 627, 630, 633, + 636, 639, 642, 646, 651, 659, 663, 665, 668, 671, + 674, 677, 680, 684, 689, 697, 699, 701, 704, 706, + 708, 710, 713, 718, 720, 722, 725, 727, 729, 731, + 734, 739, 742, 744, 746, 749, 752, 755, 758, 762, + 763, 769, 770, 778, 780, 782, 785, 789, 792, 795, + 798, 802, 806, 810, 814, 818, 822, 827, 832, 835, + 839, 841, 843, 845, 847, 851, 857, 859, 862, 867, + 869, 871, 873, 875, 876, 883, 888, 891, 895, 897, + 899, 901, 903, 905, 907, 909, 911, 913, 915, 917, + 919, 921, 923, 926, 929, 932, 935, 937, 940, 942, + 946, 949, 951, 952, 955, 957, 960, 962, 964, 966, + 968, 970, 972, 974, 976, 978, 980, 982, 984, 986, + 988, 990, 992, 994, 996, 998, 1000, 1002, 1004, 1006, + 1008, 1010, 1012, 1014, 1016, 1018, 1020, 1022, 1024, 1026, + 1028, 1030, 1032, 1034, 1036, 1038, 1040, 1042, 1044, 1046, + 1048, 1050, 1052, 1054, 1056, 1058, 1060, 1062, 1064, 1066, + 1068, 1070, 1072, 1074, 1076, 1078, 1080, 1082, 1084, 1086, + 1088, 1090, 1092, 1094, 1096, 1098, 1100, 1102, 1104, 1106, + 1108, 1110, 1112, 1114, 1116, 1118, 1120, 1122, 1124, 1126, + 1128, 1130, 1132, 1134, 1136, 1138, 1140, 1142, 1144, 1146, + 1148, 1150, 1152, 1154, 1156, 1158, 1160, 1162, 1164, 1166, + 1168, 1170, 1174, 1176, 1178, 1180, 1182, 1184, 1188, 1190, + 1195, 1203, 1211, 1216, 1219, 1222, 1225, 1228, 1231, 1235, + 1239, 1243, 1247, 1251, 1255, 1259, 1263, 1267, 1271, 1275, + 1279, 1283, 1287, 1291, 1295, 1301, 1306, 1311, 1315, 1319, + 1323, 1327, 1329, 1334, 1342, 1350, 1355, 1360, 1365, 1370, + 1375, 1380, 1385, 1390, 1395, 1400, 1405, 1410, 1415, 1420, + 1423, 1429, 1432, 1435, 1438, 1441, 1444, 1448, 1452, 1456, + 1460, 1464, 1468, 1472, 1476, 1480, 1484, 1488, 1492, 1496, + 1500, 1504, 1508, 1512, 1516, 1522, 1527, 1532, 1536, 1540, + 1544, 1548, 1550, 1552, 1554, 1556, 1558, 1560, 1562, 1564, + 1569, 1577, 1585, 1590, 1593, 1599, 1602, 1605, 1608, 1611, + 1615, 1619, 1623, 1627, 1631, 1635, 1639, 1643, 1647, 1651, + 1655, 1659, 1663, 1667, 1671, 1675, 1679, 1683, 1689, 1694, + 1699, 1703, 1707, 1711, 1715, 1717, 1719, 1721, 1723, 1725, + 1727, 1729, 1732, 1735, 1737, 1739, 1741, 1744 }; /* YYRHS -- A `-1'-separated list of the rules' RHS. */ static const yytype_int16 yyrhs[] = { - 132, 0, -1, 104, 133, -1, 105, 216, -1, 106, - 186, -1, 223, -1, 133, 109, -1, 133, 138, -1, - 135, -1, 134, 108, 135, -1, 221, 125, 213, 127, - -1, -1, 141, 107, 137, 133, 128, -1, 142, -1, - 164, -1, 136, -1, 201, -1, 203, -1, 139, -1, - 94, 148, -1, 43, -1, 56, -1, 61, 110, -1, - 81, 110, -1, 80, 110, -1, 79, 110, -1, 72, - 125, 8, 108, 8, 127, 109, -1, 72, 125, 8, - 108, 8, 108, 8, 127, 109, -1, 73, 125, 221, - 108, 221, 108, 221, 127, 109, -1, -1, 64, 140, - 138, -1, 223, -1, 141, 59, -1, 141, 59, 222, - -1, 141, 87, -1, 141, 68, -1, 141, 99, -1, - 141, 60, -1, 141, 101, -1, 141, 74, -1, 141, - 82, -1, 141, 44, -1, 141, 58, -1, 143, -1, - 141, 184, 109, -1, 141, 153, 176, -1, -1, 141, - 184, 144, 146, -1, -1, 141, 51, 183, 145, 147, - -1, 170, 176, -1, 170, 175, 108, 146, -1, 170, - 176, -1, 170, 175, 108, 147, -1, -1, 141, 184, - 149, 151, -1, -1, 141, 51, 183, 150, 152, -1, - 141, 153, 176, -1, 170, 176, -1, 170, 175, 108, - 151, -1, 170, 176, -1, 170, 175, 108, 152, -1, - -1, 8, 125, 154, 172, 127, 161, -1, -1, 9, - 125, 155, 172, 127, 161, -1, -1, 123, 221, 125, - 156, 172, 127, 161, -1, -1, 9, 125, 120, 170, - 127, 125, 157, 172, 127, 161, -1, -1, 9, 125, - 10, 120, 170, 127, 125, 158, 172, 127, 161, -1, - -1, 78, 183, 180, 125, 159, 172, 127, 161, -1, - -1, 78, 51, 183, 180, 125, 160, 172, 127, 161, - -1, 8, -1, 223, -1, 51, -1, 161, 77, -1, - 161, 91, 125, 127, -1, 161, 91, 125, 221, 127, - -1, 129, -1, 123, -1, 120, -1, 121, -1, 122, - -1, 118, -1, 119, -1, 113, -1, 115, -1, 114, - -1, 13, -1, 14, -1, 15, -1, 16, -1, 17, - -1, 18, -1, 116, -1, 117, -1, 19, -1, 20, - -1, 111, -1, 108, -1, 31, -1, 32, -1, 33, - -1, 34, -1, 35, -1, 36, -1, 37, -1, 38, - -1, 39, -1, 40, -1, 41, -1, 42, -1, 29, - -1, 126, 130, -1, 125, 127, -1, 76, -1, 52, - -1, 142, -1, 164, -1, -1, 90, 165, 116, 166, - 117, 163, -1, 90, 142, -1, 223, -1, 167, -1, - 168, -1, 167, 108, 168, -1, 50, 221, -1, 50, - 221, 111, 186, -1, 95, 221, -1, 95, 221, 111, - 186, -1, 169, 181, 174, -1, 51, 169, 181, 174, - -1, 204, -1, 8, -1, 9, -1, 221, -1, 78, - 162, -1, 51, 170, -1, 101, 170, -1, 120, 170, - -1, 115, 170, -1, 14, 170, -1, 10, 120, 170, - -1, 170, 126, 212, 130, -1, 170, 110, 4, -1, - 125, 170, 127, -1, -1, 170, 125, 171, 172, 127, - 161, -1, 223, -1, 12, -1, 173, -1, 173, 108, - 12, -1, 173, 12, -1, 179, -1, 173, 108, 179, - -1, 223, -1, 111, 215, -1, 223, -1, 111, 216, - -1, 109, -1, 107, 208, 128, -1, 110, 134, 107, - 208, 128, -1, 111, 216, 109, -1, 111, 107, 177, - 128, -1, 223, -1, 178, -1, 178, 108, -1, 216, - -1, 107, 177, 128, -1, 178, 108, 216, -1, 178, - 108, 107, 177, 128, -1, 183, 181, 175, -1, 8, - 181, 175, -1, 51, 183, 181, 175, -1, 51, 82, - 183, 181, 175, -1, 82, 179, -1, 218, -1, 223, - -1, 8, -1, 9, -1, 51, 180, -1, 101, 180, - -1, 120, 180, -1, 115, 180, -1, 14, 180, -1, - 10, 120, 180, -1, 180, 126, 212, 130, -1, 223, - -1, 8, -1, 9, -1, 51, 181, -1, 101, 181, - -1, 120, 181, -1, 115, 181, -1, 14, 181, -1, - 10, 120, 181, -1, 181, 126, 212, 130, -1, 125, - 181, 127, 125, 172, 127, 161, -1, 125, 181, 127, - -1, 223, -1, 51, 182, -1, 101, 182, -1, 120, - 182, -1, 115, 182, -1, 14, 182, -1, 10, 120, - 182, -1, 182, 126, 212, 130, -1, 125, 182, 127, - 125, 172, 127, 161, -1, 204, -1, 9, -1, 95, - 221, -1, 187, -1, 189, -1, 194, -1, 200, 221, - -1, 199, 221, 110, 196, -1, 204, -1, 9, -1, - 95, 221, -1, 187, -1, 189, -1, 194, -1, 200, - 221, -1, 199, 221, 110, 196, -1, 199, 221, -1, - 204, -1, 9, -1, 95, 221, -1, 200, 221, -1, - 199, 221, -1, 183, 182, -1, 51, 183, 182, -1, - -1, 200, 107, 188, 133, 128, -1, -1, 200, 221, - 190, 191, 107, 133, 128, -1, 223, -1, 192, -1, - 110, 193, -1, 192, 108, 193, -1, 81, 220, -1, - 80, 220, -1, 79, 220, -1, 99, 81, 220, -1, - 99, 80, 220, -1, 99, 79, 220, -1, 81, 99, - 220, -1, 80, 99, 220, -1, 79, 99, 220, -1, - 195, 107, 198, 128, -1, 199, 221, 110, 196, -1, - 199, 221, -1, 199, 110, 196, -1, 199, -1, 205, - -1, 9, -1, 223, -1, 197, 221, 108, -1, 197, - 221, 111, 216, 108, -1, 197, -1, 197, 221, -1, - 197, 221, 111, 216, -1, 57, -1, 50, -1, 89, - -1, 96, -1, -1, 75, 221, 107, 202, 133, 128, - -1, 75, 107, 133, 128, -1, 98, 221, -1, 98, - 75, 221, -1, 205, -1, 206, -1, 207, -1, 45, - -1, 47, -1, 102, -1, 48, -1, 49, -1, 84, - -1, 70, -1, 71, -1, 97, -1, 85, -1, 69, - -1, 84, 205, -1, 70, 205, -1, 97, 205, -1, - 85, 205, -1, 63, -1, 70, 63, -1, 53, -1, - 70, 70, 63, -1, 70, 53, -1, 100, -1, -1, - 209, 210, -1, 223, -1, 210, 211, -1, 3, -1, - 4, -1, 6, -1, 5, -1, 8, -1, 9, -1, - 10, -1, 7, -1, 12, -1, 13, -1, 14, -1, - 15, -1, 16, -1, 17, -1, 18, -1, 19, -1, - 20, -1, 21, -1, 22, -1, 29, -1, 30, -1, - 31, -1, 32, -1, 33, -1, 34, -1, 35, -1, - 36, -1, 37, -1, 38, -1, 39, -1, 40, -1, - 41, -1, 42, -1, 45, -1, 46, -1, 47, -1, - 48, -1, 49, -1, 102, -1, 50, -1, 51, -1, - 52, -1, 53, -1, 54, -1, 55, -1, 57, -1, - 59, -1, 60, -1, 62, -1, 63, -1, 64, -1, - 65, -1, 66, -1, 67, -1, 68, -1, 69, -1, - 70, -1, 74, -1, 76, -1, 79, -1, 80, -1, - 81, -1, 61, -1, 82, -1, 83, -1, 84, -1, - 85, -1, 86, -1, 87, -1, 88, -1, 89, -1, - 91, -1, 92, -1, 93, -1, 94, -1, 95, -1, - 96, -1, 97, -1, 99, -1, 100, -1, 101, -1, - 103, -1, 78, -1, 118, -1, 119, -1, 120, -1, - 121, -1, 115, -1, 113, -1, 114, -1, 129, -1, - 123, -1, 111, -1, 122, -1, 116, -1, 117, -1, - 125, -1, 127, -1, 124, -1, 108, -1, 109, -1, - 110, -1, 126, -1, 130, -1, 112, -1, 107, 210, - 128, -1, 223, -1, 216, -1, 223, -1, 214, -1, - 216, -1, 214, 108, 216, -1, 217, -1, 125, 186, - 127, 215, -1, 88, 116, 186, 117, 125, 214, 127, - -1, 54, 116, 186, 117, 125, 214, 127, -1, 86, - 125, 186, 127, -1, 129, 215, -1, 123, 215, -1, - 119, 215, -1, 120, 215, -1, 115, 215, -1, 215, - 120, 215, -1, 215, 121, 215, -1, 215, 122, 215, - -1, 215, 118, 215, -1, 215, 119, 215, -1, 215, - 113, 215, -1, 215, 114, 215, -1, 215, 115, 215, - -1, 215, 13, 215, -1, 215, 14, 215, -1, 215, - 15, 215, -1, 215, 16, 215, -1, 215, 17, 215, - -1, 215, 18, 215, -1, 215, 19, 215, -1, 215, - 20, 215, -1, 215, 112, 215, 110, 215, -1, 215, - 126, 216, 130, -1, 215, 125, 214, 127, -1, 215, - 125, 127, -1, 215, 124, 215, -1, 215, 29, 215, - -1, 125, 214, 127, -1, 217, -1, 125, 186, 127, - 216, -1, 88, 116, 186, 117, 125, 214, 127, -1, - 54, 116, 186, 117, 125, 214, 127, -1, 9, 125, - 213, 127, -1, 69, 125, 213, 127, -1, 47, 125, - 213, 127, -1, 102, 125, 213, 127, -1, 48, 125, - 213, 127, -1, 49, 125, 213, 127, -1, 45, 125, - 213, 127, -1, 84, 125, 213, 127, -1, 70, 125, - 213, 127, -1, 97, 125, 213, 127, -1, 85, 125, - 213, 127, -1, 63, 125, 213, 127, -1, 53, 125, - 213, 127, -1, 86, 125, 186, 127, -1, 76, 185, - -1, 76, 185, 125, 213, 127, -1, 129, 216, -1, - 123, 216, -1, 119, 216, -1, 120, 216, -1, 115, - 216, -1, 216, 120, 216, -1, 216, 121, 216, -1, - 216, 122, 216, -1, 216, 118, 216, -1, 216, 119, - 216, -1, 216, 113, 216, -1, 216, 114, 216, -1, - 216, 115, 216, -1, 216, 13, 216, -1, 216, 14, - 216, -1, 216, 15, 216, -1, 216, 16, 216, -1, - 216, 17, 216, -1, 216, 18, 216, -1, 216, 116, - 216, -1, 216, 117, 216, -1, 216, 19, 216, -1, - 216, 20, 216, -1, 216, 112, 216, 110, 216, -1, - 216, 126, 216, 130, -1, 216, 125, 214, 127, -1, - 216, 125, 127, -1, 216, 124, 216, -1, 216, 29, - 216, -1, 125, 214, 127, -1, 4, -1, 92, -1, - 62, -1, 5, -1, 3, -1, 222, -1, 8, -1, - 219, -1, 125, 186, 127, 216, -1, 88, 116, 186, - 117, 125, 214, 127, -1, 54, 116, 186, 117, 125, - 214, 127, -1, 86, 125, 186, 127, -1, 76, 185, - -1, 76, 185, 125, 213, 127, -1, 129, 216, -1, - 123, 216, -1, 119, 216, -1, 115, 216, -1, 218, - 120, 216, -1, 218, 121, 216, -1, 218, 122, 216, - -1, 218, 118, 216, -1, 218, 119, 216, -1, 218, - 113, 216, -1, 218, 114, 216, -1, 218, 115, 216, - -1, 218, 13, 216, -1, 218, 14, 216, -1, 218, - 15, 216, -1, 218, 16, 216, -1, 218, 17, 216, - -1, 218, 18, 216, -1, 218, 116, 216, -1, 218, - 117, 216, -1, 218, 19, 216, -1, 218, 20, 216, - -1, 218, 112, 216, 110, 216, -1, 218, 126, 216, - 130, -1, 218, 125, 214, 127, -1, 218, 125, 127, - -1, 218, 124, 216, -1, 218, 29, 216, -1, 125, - 214, 127, -1, 4, -1, 92, -1, 62, -1, 5, - -1, 3, -1, 222, -1, 221, -1, 200, 221, -1, - 95, 221, -1, 8, -1, 9, -1, 6, -1, 222, - 6, -1, -1 + 133, 0, -1, 105, 134, -1, 106, 217, -1, 107, + 187, -1, 224, -1, 134, 110, -1, 134, 139, -1, + 136, -1, 135, 109, 136, -1, 222, 126, 214, 128, + -1, -1, 142, 108, 138, 134, 129, -1, 143, -1, + 165, -1, 137, -1, 202, -1, 204, -1, 140, -1, + 95, 149, -1, 43, -1, 56, -1, 61, 111, -1, + 81, 111, -1, 80, 111, -1, 79, 111, -1, 72, + 126, 8, 109, 8, 128, 110, -1, 72, 126, 8, + 109, 8, 109, 8, 128, 110, -1, 73, 126, 222, + 109, 222, 109, 222, 128, 110, -1, 88, 126, 217, + 109, 223, 128, -1, 88, 126, 217, 128, -1, -1, + 64, 141, 139, -1, 224, -1, 142, 59, -1, 142, + 59, 223, -1, 142, 87, -1, 142, 68, -1, 142, + 100, -1, 142, 60, -1, 142, 102, -1, 142, 74, + -1, 142, 82, -1, 142, 44, -1, 142, 58, -1, + 144, -1, 142, 185, 110, -1, 142, 154, 177, -1, + -1, 142, 185, 145, 147, -1, -1, 142, 51, 184, + 146, 148, -1, 171, 177, -1, 171, 176, 109, 147, + -1, 171, 177, -1, 171, 176, 109, 148, -1, -1, + 142, 185, 150, 152, -1, -1, 142, 51, 184, 151, + 153, -1, 142, 154, 177, -1, 171, 177, -1, 171, + 176, 109, 152, -1, 171, 177, -1, 171, 176, 109, + 153, -1, -1, 8, 126, 155, 173, 128, 162, -1, + -1, 9, 126, 156, 173, 128, 162, -1, -1, 124, + 222, 126, 157, 173, 128, 162, -1, -1, 9, 126, + 121, 171, 128, 126, 158, 173, 128, 162, -1, -1, + 9, 126, 10, 121, 171, 128, 126, 159, 173, 128, + 162, -1, -1, 78, 184, 181, 126, 160, 173, 128, + 162, -1, -1, 78, 51, 184, 181, 126, 161, 173, + 128, 162, -1, 8, -1, 224, -1, 51, -1, 162, + 77, -1, 162, 92, 126, 128, -1, 162, 92, 126, + 222, 128, -1, 130, -1, 124, -1, 121, -1, 122, + -1, 123, -1, 119, -1, 120, -1, 114, -1, 116, + -1, 115, -1, 13, -1, 14, -1, 15, -1, 16, + -1, 17, -1, 18, -1, 117, -1, 118, -1, 19, + -1, 20, -1, 112, -1, 109, -1, 31, -1, 32, + -1, 33, -1, 34, -1, 35, -1, 36, -1, 37, + -1, 38, -1, 39, -1, 40, -1, 41, -1, 42, + -1, 29, -1, 127, 131, -1, 126, 128, -1, 76, + -1, 52, -1, 143, -1, 165, -1, -1, 91, 166, + 117, 167, 118, 164, -1, 91, 143, -1, 224, -1, + 168, -1, 169, -1, 168, 109, 169, -1, 50, 222, + -1, 50, 222, 112, 187, -1, 96, 222, -1, 96, + 222, 112, 187, -1, 170, 182, 175, -1, 51, 170, + 182, 175, -1, 205, -1, 8, -1, 9, -1, 222, + -1, 78, 163, -1, 51, 171, -1, 102, 171, -1, + 121, 171, -1, 116, 171, -1, 14, 171, -1, 10, + 121, 171, -1, 171, 127, 213, 131, -1, 171, 111, + 4, -1, 126, 171, 128, -1, -1, 171, 126, 172, + 173, 128, 162, -1, 224, -1, 12, -1, 174, -1, + 174, 109, 12, -1, 174, 12, -1, 180, -1, 174, + 109, 180, -1, 224, -1, 112, 216, -1, 224, -1, + 112, 217, -1, 110, -1, 108, 209, 129, -1, 111, + 135, 108, 209, 129, -1, 112, 217, 110, -1, 112, + 108, 178, 129, -1, 224, -1, 179, -1, 179, 109, + -1, 217, -1, 108, 178, 129, -1, 179, 109, 217, + -1, 179, 109, 108, 178, 129, -1, 184, 182, 176, + -1, 8, 182, 176, -1, 51, 184, 182, 176, -1, + 51, 82, 184, 182, 176, -1, 82, 180, -1, 219, + -1, 224, -1, 8, -1, 9, -1, 51, 181, -1, + 102, 181, -1, 121, 181, -1, 116, 181, -1, 14, + 181, -1, 10, 121, 181, -1, 181, 127, 213, 131, + -1, 224, -1, 8, -1, 9, -1, 51, 182, -1, + 102, 182, -1, 121, 182, -1, 116, 182, -1, 14, + 182, -1, 10, 121, 182, -1, 182, 127, 213, 131, + -1, 126, 182, 128, 126, 173, 128, 162, -1, 126, + 182, 128, -1, 224, -1, 51, 183, -1, 102, 183, + -1, 121, 183, -1, 116, 183, -1, 14, 183, -1, + 10, 121, 183, -1, 183, 127, 213, 131, -1, 126, + 183, 128, 126, 173, 128, 162, -1, 205, -1, 9, + -1, 96, 222, -1, 188, -1, 190, -1, 195, -1, + 201, 222, -1, 200, 222, 111, 197, -1, 205, -1, + 9, -1, 96, 222, -1, 188, -1, 190, -1, 195, + -1, 201, 222, -1, 200, 222, 111, 197, -1, 200, + 222, -1, 205, -1, 9, -1, 96, 222, -1, 201, + 222, -1, 200, 222, -1, 184, 183, -1, 51, 184, + 183, -1, -1, 201, 108, 189, 134, 129, -1, -1, + 201, 222, 191, 192, 108, 134, 129, -1, 224, -1, + 193, -1, 111, 194, -1, 193, 109, 194, -1, 81, + 221, -1, 80, 221, -1, 79, 221, -1, 100, 81, + 221, -1, 100, 80, 221, -1, 100, 79, 221, -1, + 81, 100, 221, -1, 80, 100, 221, -1, 79, 100, + 221, -1, 196, 108, 199, 129, -1, 200, 222, 111, + 197, -1, 200, 222, -1, 200, 111, 197, -1, 200, + -1, 206, -1, 9, -1, 224, -1, 198, 222, 109, + -1, 198, 222, 112, 217, 109, -1, 198, -1, 198, + 222, -1, 198, 222, 112, 217, -1, 57, -1, 50, + -1, 90, -1, 97, -1, -1, 75, 222, 108, 203, + 134, 129, -1, 75, 108, 134, 129, -1, 99, 222, + -1, 99, 75, 222, -1, 206, -1, 207, -1, 208, + -1, 45, -1, 47, -1, 103, -1, 48, -1, 49, + -1, 84, -1, 70, -1, 71, -1, 98, -1, 85, + -1, 69, -1, 84, 206, -1, 70, 206, -1, 98, + 206, -1, 85, 206, -1, 63, -1, 70, 63, -1, + 53, -1, 70, 70, 63, -1, 70, 53, -1, 101, + -1, -1, 210, 211, -1, 224, -1, 211, 212, -1, + 3, -1, 4, -1, 6, -1, 5, -1, 8, -1, + 9, -1, 10, -1, 7, -1, 12, -1, 13, -1, + 14, -1, 15, -1, 16, -1, 17, -1, 18, -1, + 19, -1, 20, -1, 21, -1, 22, -1, 29, -1, + 30, -1, 31, -1, 32, -1, 33, -1, 34, -1, + 35, -1, 36, -1, 37, -1, 38, -1, 39, -1, + 40, -1, 41, -1, 42, -1, 45, -1, 46, -1, + 47, -1, 48, -1, 49, -1, 103, -1, 50, -1, + 51, -1, 52, -1, 53, -1, 54, -1, 55, -1, + 57, -1, 59, -1, 60, -1, 62, -1, 63, -1, + 64, -1, 65, -1, 66, -1, 67, -1, 68, -1, + 69, -1, 70, -1, 74, -1, 76, -1, 79, -1, + 80, -1, 81, -1, 61, -1, 82, -1, 83, -1, + 84, -1, 85, -1, 86, -1, 87, -1, 89, -1, + 90, -1, 92, -1, 93, -1, 94, -1, 95, -1, + 96, -1, 97, -1, 98, -1, 100, -1, 101, -1, + 102, -1, 104, -1, 78, -1, 119, -1, 120, -1, + 121, -1, 122, -1, 116, -1, 114, -1, 115, -1, + 130, -1, 124, -1, 112, -1, 123, -1, 117, -1, + 118, -1, 126, -1, 128, -1, 125, -1, 109, -1, + 110, -1, 111, -1, 127, -1, 131, -1, 113, -1, + 108, 211, 129, -1, 224, -1, 217, -1, 224, -1, + 215, -1, 217, -1, 215, 109, 217, -1, 218, -1, + 126, 187, 128, 216, -1, 89, 117, 187, 118, 126, + 215, 128, -1, 54, 117, 187, 118, 126, 215, 128, + -1, 86, 126, 187, 128, -1, 130, 216, -1, 124, + 216, -1, 120, 216, -1, 121, 216, -1, 116, 216, + -1, 216, 121, 216, -1, 216, 122, 216, -1, 216, + 123, 216, -1, 216, 119, 216, -1, 216, 120, 216, + -1, 216, 114, 216, -1, 216, 115, 216, -1, 216, + 116, 216, -1, 216, 13, 216, -1, 216, 14, 216, + -1, 216, 15, 216, -1, 216, 16, 216, -1, 216, + 17, 216, -1, 216, 18, 216, -1, 216, 19, 216, + -1, 216, 20, 216, -1, 216, 113, 216, 111, 216, + -1, 216, 127, 217, 131, -1, 216, 126, 215, 128, + -1, 216, 126, 128, -1, 216, 125, 216, -1, 216, + 29, 216, -1, 126, 215, 128, -1, 218, -1, 126, + 187, 128, 217, -1, 89, 117, 187, 118, 126, 215, + 128, -1, 54, 117, 187, 118, 126, 215, 128, -1, + 9, 126, 214, 128, -1, 69, 126, 214, 128, -1, + 47, 126, 214, 128, -1, 103, 126, 214, 128, -1, + 48, 126, 214, 128, -1, 49, 126, 214, 128, -1, + 45, 126, 214, 128, -1, 84, 126, 214, 128, -1, + 70, 126, 214, 128, -1, 98, 126, 214, 128, -1, + 85, 126, 214, 128, -1, 63, 126, 214, 128, -1, + 53, 126, 214, 128, -1, 86, 126, 187, 128, -1, + 76, 186, -1, 76, 186, 126, 214, 128, -1, 130, + 217, -1, 124, 217, -1, 120, 217, -1, 121, 217, + -1, 116, 217, -1, 217, 121, 217, -1, 217, 122, + 217, -1, 217, 123, 217, -1, 217, 119, 217, -1, + 217, 120, 217, -1, 217, 114, 217, -1, 217, 115, + 217, -1, 217, 116, 217, -1, 217, 13, 217, -1, + 217, 14, 217, -1, 217, 15, 217, -1, 217, 16, + 217, -1, 217, 17, 217, -1, 217, 18, 217, -1, + 217, 117, 217, -1, 217, 118, 217, -1, 217, 19, + 217, -1, 217, 20, 217, -1, 217, 113, 217, 111, + 217, -1, 217, 127, 217, 131, -1, 217, 126, 215, + 128, -1, 217, 126, 128, -1, 217, 125, 217, -1, + 217, 29, 217, -1, 126, 215, 128, -1, 4, -1, + 93, -1, 62, -1, 5, -1, 3, -1, 223, -1, + 8, -1, 220, -1, 126, 187, 128, 217, -1, 89, + 117, 187, 118, 126, 215, 128, -1, 54, 117, 187, + 118, 126, 215, 128, -1, 86, 126, 187, 128, -1, + 76, 186, -1, 76, 186, 126, 214, 128, -1, 130, + 217, -1, 124, 217, -1, 120, 217, -1, 116, 217, + -1, 219, 121, 217, -1, 219, 122, 217, -1, 219, + 123, 217, -1, 219, 119, 217, -1, 219, 120, 217, + -1, 219, 114, 217, -1, 219, 115, 217, -1, 219, + 116, 217, -1, 219, 13, 217, -1, 219, 14, 217, + -1, 219, 15, 217, -1, 219, 16, 217, -1, 219, + 17, 217, -1, 219, 18, 217, -1, 219, 117, 217, + -1, 219, 118, 217, -1, 219, 19, 217, -1, 219, + 20, 217, -1, 219, 113, 217, 111, 217, -1, 219, + 127, 217, 131, -1, 219, 126, 215, 128, -1, 219, + 126, 128, -1, 219, 125, 217, -1, 219, 29, 217, + -1, 126, 215, 128, -1, 4, -1, 93, -1, 62, + -1, 5, -1, 3, -1, 223, -1, 222, -1, 201, + 222, -1, 96, 222, -1, 8, -1, 9, -1, 6, + -1, 223, 6, -1, -1 }; /* YYRLINE[YYN] -- source line where rule number YYN was defined. */ static const yytype_uint16 yyrline[] = { - 0, 397, 397, 398, 402, 409, 410, 411, 415, 416, - 420, 433, 432, 444, 445, 446, 447, 448, 449, 450, - 451, 464, 473, 477, 485, 489, 493, 504, 525, 534, - 533, 548, 552, 556, 567, 571, 575, 579, 583, 587, - 591, 595, 599, 606, 610, 619, 631, 630, 646, 645, - 663, 671, 682, 691, 705, 704, 720, 719, 730, 745, - 751, 760, 767, 780, 779, 802, 801, 826, 825, 856, - 855, 871, 870, 888, 887, 919, 918, 944, 957, 961, - 965, 969, 973, 980, 984, 988, 992, 996, 1000, 1004, - 1008, 1012, 1016, 1020, 1024, 1028, 1032, 1036, 1040, 1044, - 1048, 1052, 1056, 1060, 1064, 1068, 1072, 1076, 1080, 1084, - 1088, 1092, 1096, 1100, 1104, 1108, 1112, 1116, 1120, 1124, - 1128, 1132, 1139, 1140, 1145, 1144, 1152, 1156, 1157, 1161, - 1167, 1176, 1180, 1184, 1188, 1192, 1198, 1208, 1212, 1217, - 1226, 1230, 1244, 1249, 1254, 1259, 1264, 1269, 1274, 1279, - 1284, 1290, 1289, 1311, 1315, 1320, 1324, 1329, 1337, 1342, - 1350, 1354, 1361, 1365, 1372, 1376, 1380, 1384, 1388, 1395, - 1396, 1397, 1401, 1404, 1405, 1406, 1410, 1415, 1423, 1429, - 1435, 1439, 1449, 1453, 1457, 1461, 1466, 1471, 1476, 1481, - 1486, 1491, 1499, 1503, 1507, 1511, 1516, 1521, 1526, 1531, - 1536, 1541, 1546, 1552, 1560, 1564, 1569, 1574, 1579, 1584, - 1589, 1594, 1599, 1608, 1612, 1617, 1621, 1625, 1629, 1633, - 1649, 1668, 1672, 1677, 1681, 1685, 1689, 1693, 1709, 1725, - 1746, 1750, 1755, 1759, 1775, 1794, 1800, 1811, 1810, 1835, - 1834, 1864, 1865, 1869, 1870, 1874, 1878, 1882, 1886, 1890, - 1894, 1898, 1902, 1906, 1913, 1921, 1925, 1929, 1933, 1940, - 1944, 1951, 1952, 1958, 1966, 1967, 1973, 1982, 1989, 1993, - 1997, 2005, 2004, 2026, 2030, 2036, 2045, 2046, 2047, 2051, - 2055, 2059, 2063, 2067, 2071, 2076, 2081, 2086, 2091, 2096, - 2100, 2105, 2114, 2119, 2127, 2131, 2136, 2140, 2145, 2153, - 2163, 2163, 2173, 2174, 2178, 2181, 2184, 2187, 2190, 2193, - 2196, 2199, 2202, 2202, 2202, 2203, 2203, 2203, 2203, 2204, - 2204, 2204, 2204, 2204, 2205, 2205, 2205, 2206, 2206, 2206, - 2206, 2206, 2207, 2207, 2207, 2207, 2207, 2208, 2208, 2208, - 2208, 2208, 2209, 2209, 2209, 2210, 2210, 2210, 2210, 2210, - 2211, 2211, 2211, 2212, 2212, 2212, 2212, 2213, 2213, 2213, - 2214, 2214, 2214, 2214, 2214, 2215, 2215, 2215, 2215, 2216, - 2216, 2216, 2216, 2216, 2217, 2217, 2217, 2217, 2217, 2217, - 2218, 2218, 2218, 2218, 2218, 2219, 2220, 2223, 2223, 2223, - 2223, 2223, 2223, 2223, 2223, 2223, 2223, 2223, 2224, 2224, - 2224, 2224, 2224, 2224, 2224, 2224, 2224, 2224, 2225, 2225, - 2229, 2233, 2240, 2244, 2251, 2255, 2262, 2266, 2270, 2274, - 2278, 2282, 2286, 2290, 2302, 2306, 2310, 2314, 2318, 2322, - 2326, 2330, 2334, 2338, 2342, 2346, 2350, 2354, 2358, 2362, - 2366, 2370, 2374, 2378, 2382, 2386, 2390, 2394, 2398, 2406, - 2410, 2414, 2418, 2422, 2429, 2435, 2441, 2447, 2453, 2459, - 2465, 2472, 2479, 2486, 2493, 2499, 2505, 2509, 2513, 2517, - 2521, 2525, 2537, 2541, 2545, 2549, 2553, 2557, 2561, 2565, - 2569, 2573, 2577, 2581, 2585, 2589, 2593, 2597, 2601, 2605, - 2609, 2613, 2617, 2621, 2625, 2629, 2633, 2637, 2641, 2648, - 2652, 2656, 2660, 2664, 2668, 2672, 2686, 2690, 2694, 2698, - 2702, 2706, 2710, 2714, 2718, 2722, 2734, 2738, 2742, 2746, - 2750, 2754, 2758, 2762, 2766, 2770, 2774, 2778, 2782, 2786, - 2790, 2794, 2798, 2802, 2806, 2810, 2814, 2818, 2822, 2826, - 2830, 2834, 2841, 2845, 2849, 2853, 2857, 2861, 2868, 2876, - 2884, 2907, 2911, 2918, 2922, 2928 + 0, 396, 396, 397, 401, 408, 409, 410, 414, 415, + 419, 432, 431, 443, 444, 445, 446, 447, 448, 449, + 450, 463, 472, 476, 484, 488, 492, 503, 524, 529, + 538, 552, 551, 566, 570, 574, 585, 589, 593, 597, + 601, 605, 609, 613, 617, 624, 628, 637, 649, 648, + 664, 663, 681, 689, 700, 709, 723, 722, 738, 737, + 748, 763, 769, 778, 785, 798, 797, 820, 819, 844, + 843, 874, 873, 892, 891, 912, 911, 943, 942, 968, + 981, 985, 989, 993, 997, 1004, 1008, 1012, 1016, 1020, + 1024, 1028, 1032, 1036, 1040, 1044, 1048, 1052, 1056, 1060, + 1064, 1068, 1072, 1076, 1080, 1084, 1088, 1092, 1096, 1100, + 1104, 1108, 1112, 1116, 1120, 1124, 1128, 1132, 1136, 1140, + 1144, 1148, 1152, 1156, 1163, 1164, 1169, 1168, 1176, 1180, + 1181, 1185, 1191, 1200, 1204, 1208, 1212, 1216, 1222, 1232, + 1236, 1241, 1253, 1257, 1271, 1276, 1281, 1286, 1291, 1296, + 1301, 1306, 1311, 1317, 1316, 1338, 1342, 1347, 1351, 1356, + 1364, 1369, 1377, 1381, 1388, 1392, 1399, 1403, 1407, 1411, + 1415, 1422, 1423, 1424, 1428, 1431, 1432, 1433, 1437, 1442, + 1450, 1456, 1462, 1466, 1476, 1480, 1484, 1488, 1493, 1498, + 1503, 1508, 1513, 1518, 1526, 1530, 1534, 1538, 1543, 1548, + 1553, 1558, 1563, 1568, 1573, 1579, 1587, 1591, 1596, 1601, + 1606, 1611, 1616, 1621, 1626, 1635, 1639, 1647, 1651, 1655, + 1659, 1663, 1679, 1698, 1702, 1710, 1714, 1718, 1722, 1726, + 1742, 1758, 1779, 1783, 1791, 1795, 1811, 1830, 1836, 1847, + 1846, 1871, 1870, 1900, 1901, 1905, 1906, 1910, 1914, 1918, + 1922, 1926, 1930, 1934, 1938, 1942, 1949, 1957, 1961, 1965, + 1969, 1976, 1980, 1987, 1988, 1994, 2002, 2003, 2009, 2018, + 2025, 2029, 2033, 2041, 2040, 2062, 2066, 2072, 2081, 2082, + 2083, 2087, 2091, 2095, 2099, 2103, 2107, 2112, 2117, 2122, + 2127, 2132, 2136, 2141, 2150, 2155, 2163, 2167, 2172, 2176, + 2181, 2189, 2199, 2199, 2209, 2210, 2214, 2217, 2220, 2223, + 2226, 2229, 2232, 2235, 2238, 2238, 2238, 2239, 2239, 2239, + 2239, 2240, 2240, 2240, 2240, 2240, 2241, 2241, 2241, 2242, + 2242, 2242, 2242, 2242, 2243, 2243, 2243, 2243, 2243, 2244, + 2244, 2244, 2244, 2244, 2245, 2245, 2245, 2246, 2246, 2246, + 2246, 2246, 2247, 2247, 2247, 2248, 2248, 2248, 2248, 2249, + 2249, 2249, 2250, 2250, 2250, 2250, 2250, 2251, 2251, 2251, + 2251, 2252, 2252, 2252, 2252, 2252, 2253, 2253, 2253, 2253, + 2253, 2253, 2254, 2254, 2254, 2254, 2254, 2255, 2256, 2259, + 2259, 2259, 2259, 2259, 2259, 2259, 2259, 2259, 2259, 2259, + 2260, 2260, 2260, 2260, 2260, 2260, 2260, 2260, 2260, 2260, + 2261, 2261, 2265, 2269, 2276, 2280, 2287, 2291, 2298, 2302, + 2306, 2310, 2314, 2318, 2322, 2326, 2338, 2342, 2346, 2350, + 2354, 2358, 2362, 2366, 2370, 2374, 2378, 2382, 2386, 2390, + 2394, 2398, 2402, 2406, 2410, 2414, 2418, 2422, 2426, 2430, + 2434, 2442, 2446, 2450, 2454, 2458, 2468, 2474, 2480, 2486, + 2492, 2498, 2504, 2511, 2518, 2525, 2532, 2538, 2544, 2548, + 2552, 2556, 2560, 2564, 2576, 2580, 2584, 2588, 2592, 2596, + 2600, 2604, 2608, 2612, 2616, 2620, 2624, 2628, 2632, 2636, + 2640, 2644, 2648, 2652, 2656, 2660, 2664, 2668, 2672, 2676, + 2680, 2687, 2691, 2695, 2699, 2703, 2707, 2711, 2725, 2729, + 2733, 2737, 2741, 2745, 2749, 2753, 2757, 2761, 2773, 2777, + 2781, 2785, 2789, 2793, 2797, 2801, 2805, 2809, 2813, 2817, + 2821, 2825, 2829, 2833, 2837, 2841, 2845, 2849, 2853, 2857, + 2861, 2865, 2869, 2873, 2880, 2884, 2888, 2892, 2896, 2900, + 2907, 2915, 2923, 2949, 2953, 2960, 2964, 2970 }; #endif @@ -1162,14 +1165,14 @@ static const char *const yytname[] = "KW_INT", "KW_LONG", "KW_LONGLONG", "KW_MAKE_PROPERTY", "KW_MAKE_SEQ", "KW_MUTABLE", "KW_NAMESPACE", "KW_NEW", "KW_NOEXCEPT", "KW_OPERATOR", "KW_PRIVATE", "KW_PROTECTED", "KW_PUBLIC", "KW_REGISTER", "KW_RETURN", - "KW_SHORT", "KW_SIGNED", "KW_SIZEOF", "KW_STATIC", "KW_STATIC_CAST", - "KW_STRUCT", "KW_TEMPLATE", "KW_THROW", "KW_TRUE", "KW_TRY", - "KW_TYPEDEF", "KW_TYPENAME", "KW_UNION", "KW_UNSIGNED", "KW_USING", - "KW_VIRTUAL", "KW_VOID", "KW_VOLATILE", "KW_WCHAR_T", "KW_WHILE", - "START_CPP", "START_CONST_EXPR", "START_TYPE", "'{'", "','", "';'", - "':'", "'='", "'?'", "'|'", "'^'", "'&'", "'<'", "'>'", "'+'", "'-'", - "'*'", "'/'", "'%'", "'~'", "'.'", "'('", "'['", "')'", "'}'", "'!'", - "']'", "$accept", "grammar", "cpp", "constructor_inits", + "KW_SHORT", "KW_SIGNED", "KW_SIZEOF", "KW_STATIC", "KW_STATIC_ASSERT", + "KW_STATIC_CAST", "KW_STRUCT", "KW_TEMPLATE", "KW_THROW", "KW_TRUE", + "KW_TRY", "KW_TYPEDEF", "KW_TYPENAME", "KW_UNION", "KW_UNSIGNED", + "KW_USING", "KW_VIRTUAL", "KW_VOID", "KW_VOLATILE", "KW_WCHAR_T", + "KW_WHILE", "START_CPP", "START_CONST_EXPR", "START_TYPE", "'{'", "','", + "';'", "':'", "'='", "'?'", "'|'", "'^'", "'&'", "'<'", "'>'", "'+'", + "'-'", "'*'", "'/'", "'%'", "'~'", "'.'", "'('", "'['", "')'", "'}'", + "'!'", "']'", "$accept", "grammar", "cpp", "constructor_inits", "constructor_init", "extern_c", "$@1", "declaration", "friend_declaration", "$@2", "storage_class", "type_like_declaration", "multiple_var_declaration", "$@3", "$@4", @@ -1215,72 +1218,72 @@ static const yytype_uint16 yytoknum[] = 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, - 355, 356, 357, 358, 359, 360, 361, 123, 44, 59, - 58, 61, 63, 124, 94, 38, 60, 62, 43, 45, - 42, 47, 37, 126, 46, 40, 91, 41, 125, 33, - 93 + 355, 356, 357, 358, 359, 360, 361, 362, 123, 44, + 59, 58, 61, 63, 124, 94, 38, 60, 62, 43, + 45, 42, 47, 37, 126, 46, 40, 91, 41, 125, + 33, 93 }; # endif /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */ static const yytype_uint8 yyr1[] = { - 0, 131, 132, 132, 132, 133, 133, 133, 134, 134, - 135, 137, 136, 138, 138, 138, 138, 138, 138, 138, - 138, 138, 138, 138, 138, 138, 138, 138, 138, 140, - 139, 141, 141, 141, 141, 141, 141, 141, 141, 141, - 141, 141, 141, 142, 142, 142, 144, 143, 145, 143, - 146, 146, 147, 147, 149, 148, 150, 148, 148, 151, - 151, 152, 152, 154, 153, 155, 153, 156, 153, 157, - 153, 158, 153, 159, 153, 160, 153, 153, 161, 161, - 161, 161, 161, 162, 162, 162, 162, 162, 162, 162, - 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, - 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, - 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, - 162, 162, 163, 163, 165, 164, 164, 166, 166, 167, - 167, 168, 168, 168, 168, 168, 168, 169, 169, 169, - 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, - 170, 171, 170, 172, 172, 172, 172, 172, 173, 173, - 174, 174, 175, 175, 176, 176, 176, 176, 176, 177, - 177, 177, 178, 178, 178, 178, 179, 179, 179, 179, - 179, 179, 180, 180, 180, 180, 180, 180, 180, 180, - 180, 180, 181, 181, 181, 181, 181, 181, 181, 181, + 0, 132, 133, 133, 133, 134, 134, 134, 135, 135, + 136, 138, 137, 139, 139, 139, 139, 139, 139, 139, + 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, + 139, 141, 140, 142, 142, 142, 142, 142, 142, 142, + 142, 142, 142, 142, 142, 143, 143, 143, 145, 144, + 146, 144, 147, 147, 148, 148, 150, 149, 151, 149, + 149, 152, 152, 153, 153, 155, 154, 156, 154, 157, + 154, 158, 154, 159, 154, 160, 154, 161, 154, 154, + 162, 162, 162, 162, 162, 163, 163, 163, 163, 163, + 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, + 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, + 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, + 163, 163, 163, 163, 164, 164, 166, 165, 165, 167, + 167, 168, 168, 169, 169, 169, 169, 169, 169, 170, + 170, 170, 171, 171, 171, 171, 171, 171, 171, 171, + 171, 171, 171, 172, 171, 173, 173, 173, 173, 173, + 174, 174, 175, 175, 176, 176, 177, 177, 177, 177, + 177, 178, 178, 178, 179, 179, 179, 179, 180, 180, + 180, 180, 180, 180, 181, 181, 181, 181, 181, 181, 181, 181, 181, 181, 182, 182, 182, 182, 182, 182, - 182, 182, 182, 183, 183, 183, 183, 183, 183, 183, - 183, 184, 184, 184, 184, 184, 184, 184, 184, 184, - 185, 185, 185, 185, 185, 186, 186, 188, 187, 190, - 189, 191, 191, 192, 192, 193, 193, 193, 193, 193, - 193, 193, 193, 193, 194, 195, 195, 195, 195, 196, - 196, 197, 197, 197, 198, 198, 198, 199, 200, 200, - 200, 202, 201, 201, 203, 203, 204, 204, 204, 205, - 205, 205, 205, 205, 205, 205, 205, 205, 205, 205, - 205, 205, 205, 205, 206, 206, 206, 206, 206, 207, - 209, 208, 210, 210, 211, 211, 211, 211, 211, 211, - 211, 211, 211, 211, 211, 211, 211, 211, 211, 211, - 211, 211, 211, 211, 211, 211, 211, 211, 211, 211, - 211, 211, 211, 211, 211, 211, 211, 211, 211, 211, - 211, 211, 211, 211, 211, 211, 211, 211, 211, 211, - 211, 211, 211, 211, 211, 211, 211, 211, 211, 211, - 211, 211, 211, 211, 211, 211, 211, 211, 211, 211, - 211, 211, 211, 211, 211, 211, 211, 211, 211, 211, - 211, 211, 211, 211, 211, 211, 211, 211, 211, 211, - 211, 211, 211, 211, 211, 211, 211, 211, 211, 211, - 211, 211, 211, 211, 211, 211, 211, 211, 211, 211, - 212, 212, 213, 213, 214, 214, 215, 215, 215, 215, - 215, 215, 215, 215, 215, 215, 215, 215, 215, 215, - 215, 215, 215, 215, 215, 215, 215, 215, 215, 215, - 215, 215, 215, 215, 215, 215, 215, 215, 215, 216, + 182, 182, 182, 182, 182, 182, 183, 183, 183, 183, + 183, 183, 183, 183, 183, 184, 184, 184, 184, 184, + 184, 184, 184, 185, 185, 185, 185, 185, 185, 185, + 185, 185, 186, 186, 186, 186, 186, 187, 187, 189, + 188, 191, 190, 192, 192, 193, 193, 194, 194, 194, + 194, 194, 194, 194, 194, 194, 195, 196, 196, 196, + 196, 197, 197, 198, 198, 198, 199, 199, 199, 200, + 201, 201, 201, 203, 202, 202, 204, 204, 205, 205, + 205, 206, 206, 206, 206, 206, 206, 206, 206, 206, + 206, 206, 206, 206, 206, 206, 207, 207, 207, 207, + 207, 208, 210, 209, 211, 211, 212, 212, 212, 212, + 212, 212, 212, 212, 212, 212, 212, 212, 212, 212, + 212, 212, 212, 212, 212, 212, 212, 212, 212, 212, + 212, 212, 212, 212, 212, 212, 212, 212, 212, 212, + 212, 212, 212, 212, 212, 212, 212, 212, 212, 212, + 212, 212, 212, 212, 212, 212, 212, 212, 212, 212, + 212, 212, 212, 212, 212, 212, 212, 212, 212, 212, + 212, 212, 212, 212, 212, 212, 212, 212, 212, 212, + 212, 212, 212, 212, 212, 212, 212, 212, 212, 212, + 212, 212, 212, 212, 212, 212, 212, 212, 212, 212, + 212, 212, 212, 212, 212, 212, 212, 212, 212, 212, + 212, 212, 213, 213, 214, 214, 215, 215, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, - 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, - 216, 216, 216, 216, 216, 216, 216, 216, 216, 217, - 217, 217, 217, 217, 217, 217, 218, 218, 218, 218, - 218, 218, 218, 218, 218, 218, 218, 218, 218, 218, - 218, 218, 218, 218, 218, 218, 218, 218, 218, 218, - 218, 218, 218, 218, 218, 218, 218, 218, 218, 218, - 218, 218, 219, 219, 219, 219, 219, 219, 220, 220, - 220, 221, 221, 222, 222, 223 + 216, 217, 217, 217, 217, 217, 217, 217, 217, 217, + 217, 217, 217, 217, 217, 217, 217, 217, 217, 217, + 217, 217, 217, 217, 217, 217, 217, 217, 217, 217, + 217, 217, 217, 217, 217, 217, 217, 217, 217, 217, + 217, 217, 217, 217, 217, 217, 217, 217, 217, 217, + 217, 218, 218, 218, 218, 218, 218, 218, 219, 219, + 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, + 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, + 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, + 219, 219, 219, 219, 220, 220, 220, 220, 220, 220, + 221, 221, 221, 222, 222, 223, 223, 224 }; /* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN. */ @@ -1288,35 +1291,35 @@ static const yytype_uint8 yyr2[] = { 0, 2, 2, 2, 2, 1, 2, 2, 1, 3, 4, 0, 5, 1, 1, 1, 1, 1, 1, 2, - 1, 1, 2, 2, 2, 2, 7, 9, 9, 0, - 3, 1, 2, 3, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 1, 3, 3, 0, 4, 0, 5, - 2, 4, 2, 4, 0, 4, 0, 5, 3, 2, - 4, 2, 4, 0, 6, 0, 6, 0, 7, 0, - 10, 0, 11, 0, 8, 0, 9, 1, 1, 1, - 2, 4, 5, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 2, 2, 2, 2, 7, 9, 9, 6, + 4, 0, 3, 1, 2, 3, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 1, 3, 3, 0, 4, + 0, 5, 2, 4, 2, 4, 0, 4, 0, 5, + 3, 2, 4, 2, 4, 0, 6, 0, 6, 0, + 7, 0, 10, 0, 11, 0, 8, 0, 9, 1, + 1, 1, 2, 4, 5, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, - 1, 1, 1, 1, 0, 6, 2, 1, 1, 1, - 3, 2, 4, 2, 4, 3, 4, 1, 1, 1, - 1, 2, 2, 2, 2, 2, 2, 3, 4, 3, - 3, 0, 6, 1, 1, 1, 3, 2, 1, 3, - 1, 2, 1, 2, 1, 3, 5, 3, 4, 1, - 1, 2, 1, 3, 3, 5, 3, 3, 4, 5, - 2, 1, 1, 1, 1, 2, 2, 2, 2, 2, - 3, 4, 1, 1, 1, 2, 2, 2, 2, 2, - 3, 4, 7, 3, 1, 2, 2, 2, 2, 2, - 3, 4, 7, 1, 1, 2, 1, 1, 1, 2, - 4, 1, 1, 2, 1, 1, 1, 2, 4, 2, - 1, 1, 2, 2, 2, 2, 3, 0, 5, 0, - 7, 1, 1, 2, 3, 2, 2, 2, 3, 3, - 3, 3, 3, 3, 4, 4, 2, 3, 1, 1, - 1, 1, 3, 5, 1, 2, 4, 1, 1, 1, - 1, 0, 6, 4, 2, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 2, 2, 2, 2, 1, 2, 1, 3, 2, 1, - 0, 2, 1, 2, 1, 1, 1, 1, 1, 1, + 2, 2, 1, 1, 1, 1, 0, 6, 2, 1, + 1, 1, 3, 2, 4, 2, 4, 3, 4, 1, + 1, 1, 1, 2, 2, 2, 2, 2, 2, 3, + 4, 3, 3, 0, 6, 1, 1, 1, 3, 2, + 1, 3, 1, 2, 1, 2, 1, 3, 5, 3, + 4, 1, 1, 2, 1, 3, 3, 5, 3, 3, + 4, 5, 2, 1, 1, 1, 1, 2, 2, 2, + 2, 2, 3, 4, 1, 1, 1, 2, 2, 2, + 2, 2, 3, 4, 7, 3, 1, 2, 2, 2, + 2, 2, 3, 4, 7, 1, 1, 2, 1, 1, + 1, 2, 4, 1, 1, 2, 1, 1, 1, 2, + 4, 2, 1, 1, 2, 2, 2, 2, 3, 0, + 5, 0, 7, 1, 1, 2, 3, 2, 2, 2, + 3, 3, 3, 3, 3, 3, 4, 4, 2, 3, + 1, 1, 1, 1, 3, 5, 1, 2, 4, 1, + 1, 1, 1, 0, 6, 4, 2, 3, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 2, 2, 2, 2, 1, 2, 1, 3, + 2, 1, 0, 2, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, @@ -1326,22 +1329,22 @@ static const yytype_uint8 yyr2[] = 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, - 1, 1, 1, 1, 1, 3, 1, 4, 7, 7, - 4, 2, 2, 2, 2, 2, 3, 3, 3, 3, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 3, 1, 1, 1, 1, 1, 3, 1, 4, + 7, 7, 4, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 5, 4, 4, 3, 3, 3, 3, 1, - 4, 7, 7, 4, 4, 4, 4, 4, 4, 4, - 4, 4, 4, 4, 4, 4, 4, 2, 5, 2, - 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 3, 5, 4, 4, 3, 3, 3, + 3, 1, 4, 7, 7, 4, 4, 4, 4, 4, + 4, 4, 4, 4, 4, 4, 4, 4, 4, 2, + 5, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 5, 4, 4, 3, 3, 3, 3, 1, - 1, 1, 1, 1, 1, 1, 1, 4, 7, 7, - 4, 2, 5, 2, 2, 2, 2, 3, 3, 3, + 3, 3, 3, 3, 5, 4, 4, 3, 3, 3, + 3, 1, 1, 1, 1, 1, 1, 1, 1, 4, + 7, 7, 4, 2, 5, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 5, 4, 4, 3, 3, - 3, 3, 1, 1, 1, 1, 1, 1, 1, 2, - 2, 1, 1, 1, 2, 0 + 3, 3, 3, 3, 3, 3, 3, 5, 4, 4, + 3, 3, 3, 3, 1, 1, 1, 1, 1, 1, + 1, 2, 2, 1, 1, 1, 2, 0 }; /* YYDEFACT[STATE-NAME] -- Default reduction number in state STATE-NUM. @@ -1349,1142 +1352,1143 @@ static const yytype_uint8 yyr2[] = means the default is an error. */ static const yytype_uint16 yydefact[] = { - 0, 555, 0, 0, 0, 555, 5, 503, 499, 502, - 553, 505, 0, 0, 0, 0, 0, 0, 0, 501, - 0, 0, 0, 0, 0, 0, 0, 0, 500, 0, - 0, 0, 0, 0, 0, 0, 0, 3, 449, 504, - 214, 279, 280, 282, 283, 268, 0, 296, 267, 294, - 289, 285, 286, 284, 288, 269, 0, 270, 287, 299, - 281, 555, 4, 216, 217, 218, 0, 258, 0, 213, - 276, 277, 278, 1, 20, 21, 0, 29, 0, 0, - 0, 0, 0, 0, 555, 555, 0, 6, 15, 7, - 18, 0, 13, 43, 14, 16, 17, 31, 555, 555, - 555, 555, 555, 555, 0, 555, 555, 555, 231, 0, - 467, 0, 0, 230, 555, 555, 0, 0, 555, 555, - 473, 471, 472, 470, 214, 279, 280, 282, 283, 296, - 294, 289, 285, 284, 288, 287, 281, 0, 0, 414, - 469, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 557, 0, 0, 0, 557, 5, 505, 501, 504, + 555, 507, 0, 0, 0, 0, 0, 0, 0, 503, + 0, 0, 0, 0, 0, 0, 0, 0, 502, 0, + 0, 0, 0, 0, 0, 0, 0, 3, 451, 506, + 216, 281, 282, 284, 285, 270, 0, 298, 269, 296, + 291, 287, 288, 286, 290, 271, 0, 272, 289, 301, + 283, 557, 4, 218, 219, 220, 0, 260, 0, 215, + 278, 279, 280, 1, 20, 21, 0, 31, 0, 0, + 0, 0, 0, 0, 0, 557, 557, 0, 6, 15, + 7, 18, 0, 13, 45, 14, 16, 17, 33, 557, + 557, 557, 557, 557, 557, 0, 557, 557, 557, 233, + 0, 469, 0, 0, 232, 557, 557, 0, 0, 557, + 557, 475, 473, 474, 472, 216, 281, 282, 284, 285, + 298, 296, 291, 287, 286, 290, 289, 283, 0, 0, + 416, 471, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 554, 555, 298, 295, 285, 291, - 285, 290, 293, 551, 552, 215, 292, 0, 555, 555, - 555, 555, 555, 555, 235, 204, 555, 0, 256, 237, - 219, 22, 555, 0, 0, 555, 0, 25, 24, 23, - 0, 126, 0, 0, 19, 0, 274, 77, 222, 41, - 0, 42, 32, 37, 35, 39, 0, 40, 34, 0, - 36, 38, 11, 0, 0, 46, 224, 225, 226, 258, - 0, 221, 0, 413, 412, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 232, 555, 234, 233, 0, 0, - 0, 0, 0, 0, 0, 0, 498, 482, 483, 484, - 485, 486, 487, 490, 491, 497, 0, 479, 480, 481, - 488, 489, 477, 478, 474, 475, 476, 496, 495, 0, - 0, 236, 297, 555, 209, 205, 206, 208, 207, 0, - 555, 264, 0, 261, 260, 257, 259, 0, 555, 555, - 30, 0, 0, 555, 271, 555, 0, 0, 54, 275, - 63, 65, 48, 33, 0, 555, 223, 555, 0, 300, - 164, 0, 0, 45, 44, 0, 229, 227, 453, 459, - 455, 457, 458, 465, 0, 464, 454, 461, 0, 460, - 463, 466, 0, 462, 456, 450, 415, 0, 494, 493, - 210, 0, 0, 411, 410, 265, 254, 220, 555, 0, - 0, 242, 241, 0, 0, 273, 555, 138, 139, 0, - 0, 0, 0, 128, 129, 555, 137, 127, 56, 58, - 0, 555, 0, 0, 555, 0, 555, 183, 184, 0, - 555, 555, 555, 555, 555, 0, 182, 555, 67, 0, - 555, 0, 8, 0, 555, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 47, 555, 140, 0, 0, 468, - 0, 492, 555, 211, 262, 0, 238, 0, 0, 0, - 0, 243, 555, 0, 0, 0, 555, 131, 555, 133, - 555, 0, 193, 194, 0, 555, 555, 555, 555, 555, - 555, 555, 192, 0, 55, 555, 546, 542, 545, 555, - 154, 0, 0, 544, 0, 0, 0, 0, 543, 0, - 0, 0, 0, 0, 0, 155, 158, 555, 181, 506, - 547, 153, 0, 0, 0, 49, 555, 0, 555, 189, - 185, 186, 188, 187, 73, 555, 12, 555, 165, 301, - 302, 300, 0, 555, 555, 0, 170, 172, 169, 167, - 0, 146, 142, 93, 94, 95, 96, 97, 98, 101, - 102, 117, 105, 106, 107, 108, 109, 110, 111, 112, - 113, 114, 115, 116, 121, 120, 104, 103, 90, 92, - 91, 99, 100, 88, 89, 85, 86, 87, 84, 0, - 0, 83, 141, 143, 145, 144, 0, 0, 0, 151, - 555, 0, 50, 162, 228, 0, 0, 0, 266, 0, - 0, 0, 247, 548, 0, 246, 0, 245, 0, 0, - 0, 555, 244, 0, 0, 0, 272, 0, 555, 0, - 122, 125, 123, 130, 555, 199, 195, 196, 198, 197, - 0, 0, 555, 135, 160, 57, 555, 0, 59, 555, - 0, 555, 0, 511, 180, 0, 0, 516, 515, 514, - 0, 0, 513, 555, 157, 0, 555, 0, 0, 0, + 0, 0, 0, 0, 0, 556, 557, 300, 297, 287, + 293, 287, 292, 295, 553, 554, 217, 294, 0, 557, + 557, 557, 557, 557, 557, 237, 206, 557, 0, 258, + 239, 221, 22, 557, 0, 0, 557, 0, 25, 24, + 23, 0, 0, 128, 0, 0, 19, 0, 276, 79, + 224, 43, 0, 44, 34, 39, 37, 41, 0, 42, + 36, 0, 38, 40, 11, 0, 0, 48, 226, 227, + 228, 260, 0, 223, 0, 415, 414, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 234, 557, 236, 235, + 0, 0, 0, 0, 0, 0, 0, 0, 500, 484, + 485, 486, 487, 488, 489, 492, 493, 499, 0, 481, + 482, 483, 490, 491, 479, 480, 476, 477, 478, 498, + 497, 0, 0, 238, 299, 557, 211, 207, 208, 210, + 209, 0, 557, 266, 0, 263, 262, 259, 261, 0, + 557, 557, 32, 0, 0, 557, 273, 0, 557, 0, + 0, 56, 277, 65, 67, 50, 35, 0, 557, 225, + 557, 0, 302, 166, 0, 0, 47, 46, 0, 231, + 229, 455, 461, 457, 459, 460, 467, 0, 466, 456, + 463, 0, 462, 465, 468, 0, 464, 458, 452, 417, + 0, 496, 495, 212, 0, 0, 413, 412, 267, 256, + 222, 557, 0, 0, 244, 243, 0, 0, 275, 557, + 0, 30, 140, 141, 0, 0, 0, 0, 130, 131, + 557, 139, 129, 58, 60, 0, 557, 0, 0, 557, + 0, 557, 185, 186, 0, 557, 557, 557, 557, 557, + 0, 184, 557, 69, 0, 557, 0, 8, 0, 557, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 49, + 557, 142, 0, 0, 470, 0, 494, 557, 213, 264, + 0, 240, 0, 0, 0, 0, 245, 557, 0, 0, + 0, 557, 0, 133, 557, 135, 557, 0, 195, 196, + 0, 557, 557, 557, 557, 557, 557, 557, 194, 0, + 57, 557, 548, 544, 547, 557, 156, 0, 0, 546, + 0, 0, 0, 0, 545, 0, 0, 0, 0, 0, + 0, 157, 160, 557, 183, 508, 549, 155, 0, 0, + 0, 51, 557, 0, 557, 191, 187, 188, 190, 189, + 75, 557, 12, 557, 167, 303, 304, 302, 0, 557, + 557, 0, 172, 174, 171, 169, 0, 148, 144, 95, + 96, 97, 98, 99, 100, 103, 104, 119, 107, 108, + 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, + 123, 122, 106, 105, 92, 94, 93, 101, 102, 90, + 91, 87, 88, 89, 86, 0, 0, 85, 143, 145, + 147, 146, 0, 0, 0, 153, 557, 0, 52, 164, + 230, 0, 0, 0, 268, 0, 0, 0, 249, 550, + 0, 248, 0, 247, 0, 0, 0, 557, 246, 0, + 0, 0, 274, 29, 0, 557, 0, 124, 127, 125, + 132, 557, 201, 197, 198, 200, 199, 0, 0, 557, + 137, 162, 59, 557, 0, 61, 557, 0, 557, 0, + 513, 182, 0, 0, 518, 517, 516, 0, 0, 515, + 557, 159, 0, 557, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 555, 0, 52, 75, 190, 555, 0, - 0, 304, 305, 307, 306, 311, 308, 309, 310, 312, - 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, - 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, - 333, 334, 335, 336, 337, 338, 339, 340, 341, 343, - 344, 345, 346, 347, 348, 349, 350, 351, 366, 352, - 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, - 386, 363, 364, 365, 367, 368, 369, 370, 371, 372, - 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, - 383, 384, 342, 385, 555, 403, 404, 405, 396, 408, - 392, 393, 391, 398, 399, 387, 388, 389, 390, 397, - 395, 402, 400, 406, 401, 394, 407, 303, 0, 9, - 0, 0, 168, 171, 147, 119, 118, 150, 149, 163, - 555, 0, 0, 452, 451, 555, 263, 550, 253, 549, - 252, 251, 250, 249, 248, 240, 0, 26, 0, 132, - 136, 134, 200, 203, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 161, 416, 0, 0, 61, 0, 0, - 177, 555, 555, 0, 555, 0, 0, 0, 541, 79, - 64, 78, 156, 159, 176, 525, 526, 527, 528, 529, - 530, 533, 534, 540, 0, 522, 523, 524, 531, 532, - 520, 521, 517, 518, 519, 539, 538, 0, 0, 0, - 69, 66, 0, 555, 0, 191, 555, 0, 166, 10, - 173, 555, 174, 0, 148, 51, 212, 0, 0, 555, - 0, 0, 0, 425, 423, 424, 422, 0, 0, 421, + 557, 0, 54, 77, 192, 557, 0, 0, 306, 307, + 309, 308, 313, 310, 311, 312, 314, 315, 316, 317, + 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, + 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, + 338, 339, 340, 341, 342, 343, 345, 346, 347, 348, + 349, 350, 351, 352, 353, 368, 354, 355, 356, 357, + 358, 359, 360, 361, 362, 363, 364, 388, 365, 366, + 367, 369, 370, 371, 372, 373, 374, 375, 376, 377, + 378, 379, 380, 381, 382, 383, 384, 385, 386, 344, + 387, 557, 405, 406, 407, 398, 410, 394, 395, 393, + 400, 401, 389, 390, 391, 392, 399, 397, 404, 402, + 408, 403, 396, 409, 305, 0, 9, 0, 0, 170, + 173, 149, 121, 120, 152, 151, 165, 557, 0, 0, + 454, 453, 557, 265, 552, 255, 551, 254, 253, 252, + 251, 250, 242, 0, 26, 0, 134, 138, 136, 202, + 205, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 163, 418, 0, 0, 63, 0, 0, 179, 557, 557, + 0, 557, 0, 0, 0, 543, 81, 66, 80, 158, + 161, 178, 527, 528, 529, 530, 531, 532, 535, 536, + 542, 0, 524, 525, 526, 533, 534, 522, 523, 519, + 520, 521, 541, 540, 0, 0, 0, 71, 68, 0, + 557, 0, 193, 557, 0, 168, 10, 175, 557, 176, + 0, 150, 53, 214, 0, 0, 557, 0, 0, 0, + 427, 425, 426, 424, 0, 0, 423, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 201, 0, 60, 163, 555, 178, 0, 0, 510, - 0, 507, 80, 0, 0, 537, 536, 71, 555, 53, - 0, 555, 68, 409, 0, 555, 27, 28, 0, 0, - 0, 0, 0, 448, 434, 435, 436, 437, 438, 439, - 440, 441, 447, 0, 431, 432, 433, 429, 430, 426, - 427, 428, 446, 445, 0, 0, 62, 179, 0, 512, - 0, 0, 535, 555, 0, 555, 74, 175, 152, 555, - 0, 420, 0, 417, 0, 444, 443, 0, 0, 81, - 0, 0, 555, 76, 202, 0, 0, 442, 509, 508, - 82, 555, 70, 0, 0, 72, 419, 418 + 0, 0, 0, 0, 0, 0, 0, 0, 203, 0, + 62, 165, 557, 180, 0, 0, 512, 0, 509, 82, + 0, 0, 539, 538, 73, 557, 55, 0, 557, 70, + 411, 0, 557, 27, 28, 0, 0, 0, 0, 0, + 450, 436, 437, 438, 439, 440, 441, 442, 443, 449, + 0, 433, 434, 435, 431, 432, 428, 429, 430, 448, + 447, 0, 0, 64, 181, 0, 514, 0, 0, 537, + 557, 0, 557, 76, 177, 154, 557, 0, 422, 0, + 419, 0, 446, 445, 0, 0, 83, 0, 0, 557, + 78, 204, 0, 0, 444, 511, 510, 84, 557, 72, + 0, 0, 74, 421, 420 }; /* YYDEFGOTO[NTERM-NUM]. */ static const yytype_int16 yydefgoto[] = { - -1, 4, 5, 401, 402, 88, 317, 89, 90, 192, - 91, 92, 93, 325, 385, 414, 485, 204, 380, 453, - 454, 605, 224, 381, 384, 497, 928, 973, 658, 863, - 830, 552, 591, 94, 202, 372, 373, 374, 375, 415, - 780, 474, 475, 603, 561, 323, 505, 506, 476, 395, - 451, 184, 61, 225, 110, 62, 63, 298, 64, 299, - 360, 361, 431, 65, 66, 295, 291, 292, 67, 68, - 95, 366, 96, 69, 70, 71, 72, 399, 400, 499, - 767, 352, 232, 233, 813, 139, 38, 478, 479, 572, - 416, 39, 234 + -1, 4, 5, 406, 407, 89, 320, 90, 91, 193, + 92, 93, 94, 328, 390, 419, 491, 206, 385, 459, + 460, 612, 226, 386, 389, 503, 935, 980, 665, 870, + 837, 558, 598, 95, 204, 377, 378, 379, 380, 420, + 787, 480, 481, 610, 567, 326, 511, 512, 482, 400, + 457, 185, 61, 227, 111, 62, 63, 300, 64, 301, + 363, 364, 436, 65, 66, 297, 293, 294, 67, 68, + 96, 369, 97, 69, 70, 71, 72, 404, 405, 505, + 774, 355, 234, 235, 820, 140, 38, 484, 485, 578, + 421, 39, 236 }; /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing STATE-NUM. */ -#define YYPACT_NINF -646 +#define YYPACT_NINF -508 static const yytype_int16 yypact[] = { - 21, -646, 2272, 3337, 36, 3218, -646, -646, -646, -646, - -646, -646, -96, -63, -33, -9, 16, 18, -71, -646, - 24, 33, 40, 3505, 42, 47, 65, 79, -646, 80, - 82, 2272, 2272, 2272, 2272, 1532, 2272, 2813, -646, 99, - -646, -646, -646, -646, -646, -646, 3561, -646, -646, -646, - -646, 1793, -646, 1503, 1503, -646, 234, -646, 1503, -646, - -646, 318, -646, -646, -646, -646, 106, 29, 77, -646, - -646, -646, -646, -646, -646, -646, 44, -646, 100, 110, - 86, 140, 156, 178, 169, -646, 49, -646, -646, -646, - -646, 2508, -646, -646, -646, -646, -646, -646, 2272, 2272, - 2272, 2272, 2272, 2272, 3337, 2272, 2272, 2272, -646, 234, - 171, 234, 234, -646, 2272, 2272, 3337, 3337, 2272, 2272, - 122, 122, 122, 122, -96, -63, -33, -9, 16, 18, - 24, 33, 2243, 3438, 3550, 3727, 82, 182, -62, 2813, - 122, 2272, 2272, 2272, 2272, 2272, 2272, 2272, 2272, 2272, - 2272, 2272, 2272, 2272, 2272, 2272, 2272, 2272, 2272, 2272, - 2272, 2272, 1732, 2272, -646, 318, -646, -646, 1883, -646, - 1503, -646, -646, -646, -646, -646, -646, 193, 318, 318, - 318, 318, 318, 318, 191, -646, -646, 2341, 210, -646, - 126, -646, 3759, 316, 234, -646, 222, -646, -646, -646, - 2575, -646, 223, 2642, -646, 234, -646, 219, 221, -646, - 3561, -646, 343, -646, -646, -646, 3393, -646, -646, 234, - -646, -646, -646, 234, 196, 255, -646, -646, -646, 29, - 77, -646, 240, 270, -646, 248, 259, 261, 274, 275, - 280, 277, 279, 285, -646, 2272, -646, -646, 288, 290, - 291, 312, 305, 309, 2272, 2272, -646, 1549, 2991, 715, - 715, 668, 668, 347, 347, -646, 2665, 837, 3006, 3039, - 668, 668, 201, 201, 122, 122, 122, -646, -646, -49, - 1107, 191, -646, 318, 191, 191, 191, 191, 191, 131, - 2272, 234, 313, -646, -646, -646, -646, 2341, -646, 297, - -646, 332, 334, 3132, -646, 3272, 3561, 196, -646, -646, - -646, 11, -646, 99, 3561, 218, -646, -646, 326, -646, - -646, 234, 1822, -646, -646, 230, 177, 126, -646, -646, - -646, -646, -646, -646, 330, -646, -646, -646, 336, -646, - -646, -646, 345, -646, -646, 122, 2813, 2272, -646, -646, - 191, 356, 359, 2813, -646, 166, -646, 350, 3598, 38, - 379, 382, -646, 483, 234, -646, -646, -646, -646, 234, - 3328, 234, 375, 387, -646, 136, -646, -646, -646, -646, - 230, 984, 378, 230, 984, 230, 218, -646, -646, 380, - 218, 218, 218, 218, 218, 175, -646, 3625, -646, 369, - -646, 253, -646, 374, 1912, 2732, 381, 230, 230, 2415, - 230, 230, 230, 230, -646, 438, -646, 2341, 2272, -646, - 2272, 2813, 984, -646, -646, 2272, -646, 327, 466, 642, - 272, -646, -646, 38, -40, 394, 3652, 395, 136, 400, - 415, 3272, -646, -646, 393, 136, 136, 136, 136, 136, - 136, -50, -646, 230, -646, 438, -646, -646, -646, 136, - -646, 3449, 399, -646, 3505, 1632, 392, 423, -646, 2272, - 2272, 2272, 1532, 2272, 414, 1, -646, 136, 2846, -646, - 99, -646, 230, 153, 424, -646, 438, 216, 218, 426, - 426, 426, 426, 426, -646, 2272, -646, 984, -646, 1404, - -646, -646, 234, 2272, 1912, 422, 446, 2813, -646, -646, - 230, 245, 245, -646, -646, -646, -646, -646, -646, -646, - -646, -646, -646, -646, -646, -646, -646, -646, -646, -646, - -646, -646, -646, -646, -646, -646, -646, -646, -646, -646, - -646, -646, -646, -646, -646, -646, -646, -646, -646, 429, - 427, -646, -646, 245, 245, 245, 185, 267, 1822, -646, - 2272, 450, -646, -646, 350, -31, -26, 433, 2779, 234, - 871, 234, -646, -646, 871, -646, 871, -646, 871, 871, - 871, 3679, -646, 558, 459, 234, -646, 3337, -50, 3337, - -646, -646, -646, -646, 136, 447, 447, 447, 447, 447, - 268, 586, 2272, -646, -646, -646, 438, 467, -646, -36, - 3561, 136, 3337, 452, -646, 3337, 3337, 122, 122, 122, - 451, -19, 122, 530, -646, 1084, -36, 2272, 2272, 2272, - 2272, 2272, 2272, 2272, 2272, 2272, 2272, 2272, 2272, 2272, - 2272, 2272, 2272, 2272, 2272, 2272, 2272, 2272, 2002, 2272, - 383, 579, 460, 530, 478, -646, -646, 426, 984, 458, - 468, -646, -646, -646, -646, -646, -646, -646, -646, -646, - -646, -646, -646, -646, -646, -646, -646, -646, -646, -646, - -646, -646, -646, -646, -646, -646, -646, -646, -646, -646, - -646, -646, -646, -646, -646, -646, -646, -646, -646, -646, - -646, -646, -646, -646, -646, -646, -646, -646, -646, -646, - -646, -646, -646, -646, -646, -646, -646, -646, -646, -646, - -646, -646, -646, -646, -646, -646, -646, -646, -646, -646, - -646, -646, -646, -646, -646, -646, -646, -646, -646, -646, - -646, -646, -646, -646, -646, -646, -646, -646, -646, -646, - -646, -646, -646, -646, -646, -646, -646, -646, -646, -646, - -646, -646, -646, -646, -646, -646, -646, -646, 469, -646, - 473, 476, -646, 2092, 245, -646, -646, -646, -646, 2732, - 984, 477, 230, -646, -646, 530, -646, -646, -646, -646, - -646, -646, -646, -646, -646, -646, 479, -646, 482, -646, - -646, -646, 447, 471, 496, 488, 498, 586, 586, 586, - 586, 1532, 586, 2960, -646, 485, 508, -646, 230, 2272, - -646, 136, -36, 501, 2272, 492, 503, 2272, -646, -646, - 2, -646, -646, -646, -646, 1549, 2991, 715, 715, 668, - 668, 347, 347, -646, 2796, 837, 3006, 3039, 668, 668, - 201, 201, 122, 122, 122, -646, -646, -6, 2364, 499, - -646, 2, 230, 984, 494, -646, 530, 1276, -646, -646, - -646, 1912, 2813, 500, -646, -646, 2, 514, 520, 984, - 3337, 3337, 3337, 167, 167, 167, 167, 506, 20, 167, - 586, 586, 586, 586, 586, 586, 586, 586, 586, 586, - 586, 586, 586, 586, 586, 586, 586, 586, 586, 2182, - 2272, -646, 230, -646, 2813, -36, -646, 505, 507, -646, - 519, 122, -646, 521, 2272, -646, -646, -646, 984, -646, - 522, 530, 2, -646, 525, 530, -646, -646, 527, 509, - 528, 539, 586, -646, 2976, 798, 1145, 1145, 1120, 1120, - 517, 517, -646, 2927, 3118, 3133, 3151, 358, 358, 167, - 167, 167, -646, -646, 93, 2389, -646, -646, 2272, -646, - 2272, 26, 2813, 984, 531, 530, 2, -646, 2, 530, - 534, -646, 535, 167, 586, -646, -646, 133, 137, -646, - 536, 537, 530, 2, 2, 2272, 2272, 2960, -646, -646, - -646, 530, 2, 141, 145, 2, -646, -646 + 84, -508, 2205, 3287, 35, 3159, -508, -508, -508, -508, + -508, -508, -77, -64, -48, -46, -40, -30, -86, -508, + -28, 1, 3, 3458, 29, 34, 73, 94, -508, 113, + 115, 2205, 2205, 2205, 2205, 1580, 2205, 2865, -508, 132, + -508, -508, -508, -508, -508, -508, 3515, -508, -508, -508, + -508, 3447, -508, 3712, 3712, -508, 105, -508, 3712, -508, + -508, 230, -508, -508, -508, -508, 43, 91, 33, -508, + -508, -508, -508, -508, -508, -508, 138, -508, 129, 156, + 58, 181, 192, 194, 184, 211, -508, 110, -508, -508, + -508, -508, 2556, -508, -508, -508, -508, -508, -508, 2205, + 2205, 2205, 2205, 2205, 2205, 3287, 2205, 2205, 2205, -508, + 105, 190, 105, 105, -508, 2205, 2205, 3287, 3287, 2205, + 2205, 50, 50, 50, 50, -77, -64, -48, -46, -40, + -30, -28, 1, 2103, 1367, 3158, 3333, 115, 201, -27, + 2865, 50, 2205, 2205, 2205, 2205, 2205, 2205, 2205, 2205, + 2205, 2205, 2205, 2205, 2205, 2205, 2205, 2205, 2205, 2205, + 2205, 2205, 2205, 1782, 2205, -508, 230, -508, -508, 3504, + -508, 3712, -508, -508, -508, -508, -508, -508, 215, 230, + 230, 230, 230, 230, 230, 210, -508, -508, 1771, 228, + -508, 14, -508, 3744, 335, 105, -508, 236, -508, -508, + -508, 2205, 2624, -508, 232, 2692, -508, 105, -508, 221, + 224, -508, 3515, -508, 346, -508, -508, -508, 3344, -508, + -508, 105, -508, -508, -508, 105, 336, 243, -508, -508, + -508, 91, 33, -508, 227, 248, -508, 233, 234, 235, + 237, 244, 240, 247, 250, 252, -508, 2205, -508, -508, + 254, 256, 258, 269, 261, 265, 2205, 2205, -508, 895, + 1597, 977, 977, 1572, 1572, 312, 312, -508, 2715, 2268, + 2913, 3026, 1572, 1572, 352, 352, 50, 50, 50, -508, + -508, -26, 2298, 210, -508, 230, 210, 210, 210, 210, + 210, 87, 2205, 105, 271, -508, -508, -508, -508, 1771, + -508, 291, -508, 267, 297, 3553, -508, 2417, 3228, 3515, + 336, -508, -508, -508, 24, -508, 132, 3515, 238, -508, + -508, 283, -508, -508, 105, 1873, -508, -508, 199, 53, + 14, -508, -508, -508, -508, -508, -508, 284, -508, -508, + -508, 285, -508, -508, -508, 290, -508, -508, 50, 2865, + 2205, -508, -508, 210, 292, 280, 2865, -508, 11, -508, + 309, 3581, 36, 313, 316, -508, 414, 105, -508, -508, + 346, -508, -508, -508, 105, 736, 105, 323, 333, -508, + 520, -508, -508, -508, -508, 199, 1378, 328, 199, 1378, + 199, 238, -508, -508, 340, 238, 238, 238, 238, 238, + 145, -508, 3614, -508, 339, -508, 200, -508, 331, 1884, + 2783, 348, 199, 199, 2472, 199, 199, 199, 199, -508, + 185, -508, 1771, 2205, -508, 2205, 2865, 1378, -508, -508, + 2205, -508, 537, 697, 802, 124, -508, -508, 36, 12, + 361, 3642, 16, 359, 520, 368, 401, 3228, -508, -508, + 373, 520, 520, 520, 520, 520, 520, -54, -508, 199, + -508, 185, -508, -508, -508, 520, -508, 3401, 384, -508, + 3458, 1681, 377, 389, -508, 2205, 2205, 2205, 1580, 2205, + 385, 25, -508, 520, 2898, -508, 132, -508, 199, 207, + 386, -508, 185, 187, 238, 388, 388, 388, 388, 388, + -508, 2205, -508, 1378, -508, 1249, -508, -508, 105, 2205, + 1884, 390, 408, 2865, -508, -508, 199, 195, 195, -508, + -508, -508, -508, -508, -508, -508, -508, -508, -508, -508, + -508, -508, -508, -508, -508, -508, -508, -508, -508, -508, + -508, -508, -508, -508, -508, -508, -508, -508, -508, -508, + -508, -508, -508, -508, -508, 393, 387, -508, -508, 195, + 195, 195, 370, 154, 1873, -508, 2205, 416, -508, -508, + 309, 21, 22, 398, 2830, 105, 277, 105, -508, -508, + 277, -508, 277, -508, 277, 277, 277, 3675, -508, 519, + 421, 105, -508, -508, 3287, -54, 3287, -508, -508, -508, + -508, 520, 413, 413, 413, 413, 413, 196, 2216, 2205, + -508, -508, -508, 185, 426, -508, -23, 3515, 520, 3287, + 415, -508, 3287, 3287, 50, 50, 50, 419, 142, 50, + 493, -508, 1479, -23, 2205, 2205, 2205, 2205, 2205, 2205, + 2205, 2205, 2205, 2205, 2205, 2205, 2205, 2205, 2205, 2205, + 2205, 2205, 2205, 2205, 2205, 2012, 2205, 411, 544, 428, + 493, 443, -508, -508, 388, 1378, 424, 430, -508, -508, + -508, -508, -508, -508, -508, -508, -508, -508, -508, -508, + -508, -508, -508, -508, -508, -508, -508, -508, -508, -508, + -508, -508, -508, -508, -508, -508, -508, -508, -508, -508, + -508, -508, -508, -508, -508, -508, -508, -508, -508, -508, + -508, -508, -508, -508, -508, -508, -508, -508, -508, -508, + -508, -508, -508, -508, -508, -508, -508, -508, -508, -508, + -508, -508, -508, -508, -508, -508, -508, -508, -508, -508, + -508, -508, -508, -508, -508, -508, -508, -508, -508, -508, + -508, -508, -508, -508, -508, -508, -508, -508, -508, -508, + -508, -508, -508, -508, -508, -508, -508, -508, -508, -508, + -508, -508, -508, -508, -508, 427, -508, 431, 432, -508, + 2023, 195, -508, -508, -508, -508, 2783, 1378, 433, 199, + -508, -508, 493, -508, -508, -508, -508, -508, -508, -508, + -508, -508, -508, 434, -508, 435, -508, -508, -508, 413, + 441, 453, 448, 460, 2216, 2216, 2216, 2216, 1580, 2216, + 930, -508, 452, 470, -508, 199, 2205, -508, 520, -23, + 467, 2205, 461, 472, 2205, -508, -508, 32, -508, -508, + -508, -508, 895, 1597, 977, 977, 1572, 1572, 312, 312, + -508, 2847, 2268, 2913, 3026, 1572, 1572, 352, 352, 50, + 50, 50, -508, -508, 148, 2334, 465, -508, 32, 199, + 1378, 464, -508, 493, 1120, -508, -508, -508, 1884, 2865, + 478, -508, -508, 32, 483, 494, 1378, 3287, 3287, 3287, + 141, 141, 141, 141, 479, 150, 141, 2216, 2216, 2216, + 2216, 2216, 2216, 2216, 2216, 2216, 2216, 2216, 2216, 2216, + 2216, 2216, 2216, 2216, 2216, 2216, 2114, 2205, -508, 199, + -508, 2865, -23, -508, 484, 481, -508, 485, 50, -508, + 487, 2205, -508, -508, -508, 1378, -508, 486, 493, 32, + -508, 489, 493, -508, -508, 488, 501, 492, 505, 2216, + -508, 1391, 2978, 3167, 3167, 1921, 1921, 476, 476, -508, + 847, 3041, 3056, 3091, 363, 363, 141, 141, 141, -508, + -508, 152, 2353, -508, -508, 2205, -508, 2205, 31, 2865, + 1378, 497, 493, 32, -508, 32, 493, 502, -508, 504, + 141, 2216, -508, -508, 160, 170, -508, 503, 511, 493, + 32, 32, 2205, 2205, 930, -508, -508, -508, 493, 32, + 174, 178, 32, -508, -508 }; /* YYPGOTO[NTERM-NUM]. */ static const yytype_int16 yypgoto[] = { - -646, -646, -162, -646, 160, -646, -646, 455, -646, -646, - -82, -77, -646, -646, -646, -116, -187, -646, -646, -646, - -142, -235, 480, -646, -646, -646, -646, -646, -646, -646, - -645, -646, -646, 239, -646, -646, -646, 241, 310, -251, - -646, -375, -646, 96, -438, -252, -503, -646, -459, -279, - -396, -109, -41, 487, 232, -13, -80, -646, -27, -646, - -646, -646, 265, 19, -646, -287, -646, -646, -3, 115, - -646, -646, -646, -11, -35, -646, -646, 202, -646, -58, - -646, -454, -75, -20, 0, 377, -139, -646, -646, -362, - 143, -198, -1 + -508, -508, -163, -508, 134, -508, -508, 450, -508, -508, + -69, -55, -508, -508, -508, -145, -224, -508, -508, -508, + -178, -271, 445, -508, -508, -508, -508, -508, -508, -508, + -466, -508, -508, 209, -508, -508, -508, 213, 281, -362, + -508, -375, -508, 62, -460, -249, -507, -508, -444, -327, + -408, -89, -44, 457, 188, 30, -63, -508, -33, -508, + -508, -508, 223, -18, -508, -289, -508, -508, -5, -4, + -508, -508, -508, 40, 643, -508, -508, 158, -508, -85, + -508, -463, -95, -20, 173, 74, -141, -508, -508, -322, + 456, -133, -1 }; /* YYTABLE[YYPACT[STATE-NUM]]. What to do in state STATE-NUM. If positive, shift that token. If negative, reduce the rule which number is the opposite. If YYTABLE_NINF, syntax error. */ -#define YYTABLE_NINF -257 +#define YYTABLE_NINF -259 static const yytype_int16 yytable[] = { - 6, 771, 200, 203, 97, 165, 614, 201, 861, 484, - 357, 226, 113, 624, 313, 138, 169, 607, 171, 172, - 111, 382, 137, 176, 235, 236, 237, 238, 239, 98, - 241, 242, 243, 303, 173, 174, 73, 173, 174, 248, - 249, 659, 588, 252, 253, 104, 255, 567, 654, 595, - 596, 597, 598, 599, 600, 379, 281, 173, 174, 255, - 185, 601, 99, 609, 227, 256, 575, 577, 583, 284, - 285, 286, 287, 288, 289, 819, 602, 255, 348, 922, - 231, 626, 255, 97, 97, 173, 174, 584, 229, 255, - 602, 240, 100, 923, 173, 174, 783, 169, 171, 172, - 176, 784, 255, 250, 251, 164, 781, 487, 828, 625, - 228, 489, 490, 491, 492, 493, 101, 427, 428, 429, - 226, 925, 660, 226, 205, 1, 2, 3, 255, 455, - 564, 383, 483, 169, 486, 169, 358, 430, 112, 187, - 876, 102, 279, 103, 442, 443, 444, 943, 815, 105, - 445, 149, 296, 989, 191, 397, 511, 512, 106, 553, - 554, 555, 556, 562, 185, 107, 833, 114, 816, 312, - 338, 820, 115, 227, 350, 315, 227, 185, 185, 185, - 185, 185, 185, 480, 189, 293, 480, 446, 834, 231, - 116, 97, 231, 195, 6, 117, 898, 229, 802, 175, - 229, 255, 606, 608, 436, 118, 230, 119, 788, 657, - 188, 190, 790, 186, 791, 822, 792, 793, 794, 228, - 985, 932, 228, 196, 480, 193, 387, 388, 389, 206, - 149, 650, 390, -239, 655, 194, -239, 447, 173, 174, - 406, 255, 173, 174, 407, 255, 161, 162, 163, 255, - 197, 448, 244, 255, 246, 247, 449, 290, 351, 774, - 998, 450, 296, 651, 999, 378, 198, 480, 1006, 391, - 581, 778, 1007, 386, 424, 173, 174, 425, 559, 560, - 652, 408, 185, 864, -256, -124, 976, 417, 199, 354, - 978, 908, 909, 910, 376, 651, 245, 6, 362, 480, - 494, 495, 97, 319, 377, 320, 321, 322, 409, 254, - 559, 560, 777, 283, 396, 230, 6, 290, 230, 392, - 297, 158, 159, 160, 301, 161, 162, 163, 177, 304, - 993, 410, 178, 393, 994, 173, 174, 302, 394, 305, - 477, 656, 495, 477, 310, 411, 311, 1002, 309, 10, - 412, 578, 579, 580, 817, 413, 1005, 97, 200, 376, - 501, 502, 316, 590, 324, 6, 318, 328, 934, 179, - 559, 560, 326, 327, 452, 329, 149, 45, 255, 37, - 481, 477, 296, 481, 916, 396, 330, 898, 331, 396, - 396, 396, 396, 396, 602, 803, 97, 334, 565, 500, - 566, 332, 333, 508, 335, 873, 336, 359, 120, 121, - 122, 123, 337, 140, 563, 339, 55, 340, 341, 180, - 611, 481, 569, 57, 477, 915, 570, 480, 770, 342, - 376, 6, 343, 181, 355, 97, 344, 452, 182, 97, - 363, 356, 364, 183, 452, 452, 452, 452, 452, 452, - 604, 398, 621, 113, 563, 418, 477, -255, 452, 620, - 480, 111, 814, 419, 403, 156, 157, 158, 159, 160, - 420, 161, 162, 163, 173, 174, 452, 967, 905, 906, - 907, 422, 908, 909, 910, 563, 432, 396, 930, 423, - 433, 434, 440, 651, 354, 441, 481, 498, 482, 503, - 488, 510, 585, 508, 938, 84, 587, 435, 559, 560, - 859, 589, 437, 594, 439, 612, 45, 615, 257, 258, - 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, - 269, 270, 271, 272, 273, 274, 275, 276, 277, 616, - 280, 623, 571, 571, 571, 319, 898, 320, 557, 558, - 772, 653, 495, 974, 773, 55, 775, 776, 782, 354, - 785, 569, 57, 559, 560, 574, 796, 455, 797, 821, - 573, 573, 573, 602, 799, 818, 801, 824, 827, 112, - 97, 829, 480, 778, 477, 860, 862, 604, 865, 7, - 8, 9, 10, 452, 11, 866, 879, 868, 991, 823, - 869, 354, 825, 826, 870, 563, 877, 874, 563, 878, - 452, 486, 880, 881, 882, 911, 912, 477, 917, 919, - 920, 931, 831, 936, 927, 563, 980, 935, 857, 937, - 968, 345, 346, 942, 969, 903, 904, 905, 906, 907, - 804, 908, 909, 910, 970, 403, 971, 300, 19, 975, - 173, 174, 831, 977, 979, 981, 982, 481, 992, 995, - 996, 606, 769, 1000, 1001, 480, 875, 353, 814, 814, - 814, 814, 805, 814, 806, 929, 913, 966, 28, 592, - 438, 480, 593, 307, 800, 571, 867, 147, 148, 571, - 308, 571, 45, 571, 571, 571, 613, 149, 582, 405, - 403, 807, 0, 768, 0, 808, 809, 0, 0, 810, - 0, 811, 787, 573, 789, 812, 0, 573, 0, 573, - 0, 573, 573, 573, 421, 0, 0, 0, 798, 0, - 480, 55, 145, 146, 147, 148, 0, 569, 57, 477, - 0, 576, 0, 500, 149, 0, 0, 0, 0, 918, - 0, 814, 814, 814, 814, 814, 814, 814, 814, 814, - 814, 814, 814, 814, 814, 814, 814, 814, 814, 814, - 0, 0, 0, 0, 0, 480, 0, 0, 0, 481, - 0, 507, 0, 0, 831, 0, 156, 157, 158, 159, - 160, 888, 161, 162, 163, 0, 0, 0, 887, 0, - 0, 0, 568, 814, 0, 0, 0, 883, 884, 885, - 886, 0, 889, 892, 893, 894, 895, 896, 897, 0, - 452, 563, 477, 0, 0, 0, 0, 898, 0, 0, - 0, 154, 155, 156, 157, 158, 159, 160, 477, 161, - 162, 163, 0, 0, 0, 814, 617, 618, 619, 0, - 622, 0, 143, 144, 145, 146, 147, 148, 0, 0, - 0, 0, 481, 0, 0, 831, 149, 939, 940, 941, - 508, 0, 353, 0, 0, 0, 0, 0, 481, 173, - 174, 507, 0, 0, 0, 0, 0, 477, 0, 964, - 944, 945, 946, 947, 948, 949, 950, 951, 952, 953, - 954, 955, 956, 957, 958, 959, 960, 961, 962, 0, - 0, 900, 901, 902, 563, 0, 903, 904, 905, 906, - 907, 45, 908, 909, 910, 0, 0, 481, 0, 0, - 831, 0, 477, 0, 831, 779, 0, 353, 0, 0, - 0, 0, 983, 0, 0, 0, 0, 0, 987, 0, - 988, 152, 153, 154, 155, 156, 157, 158, 159, 160, - 55, 161, 162, 163, 0, 0, 569, 57, 0, 0, - 0, 0, 481, 0, 831, 1003, 1004, 0, 831, 353, - 0, 0, 0, 0, 997, 0, 0, 456, 457, 458, - 10, 831, 459, 40, 0, 0, 460, 0, 0, 0, - 831, 0, 0, 0, 835, 836, 837, 838, 839, 840, - 841, 842, 843, 844, 845, 846, 847, 848, 849, 850, - 851, 852, 853, 854, 855, 0, 858, 0, 0, 41, - 0, 42, 43, 44, 45, 461, 0, 47, 462, 0, - 0, 48, 0, 0, 0, 0, 463, 49, 0, 0, - 0, 0, 0, 50, 51, 52, 0, 0, 0, 0, - 464, 0, 0, 0, 0, 0, 465, 0, 53, 54, - 466, 0, 467, 55, 0, 0, 468, 0, 0, 56, - 57, 58, 0, 0, 59, 0, 60, 456, 457, 458, - 10, 0, 459, 40, 0, 0, 832, 0, 0, 469, - 0, 0, 0, 470, 0, 0, 0, 471, 0, 472, - 0, 0, 0, 473, 990, 0, 0, 0, 0, 0, - 141, 142, 143, 144, 145, 146, 147, 148, 0, 41, - 0, 42, 43, 44, 45, 461, 149, 47, 462, 896, - 897, 48, 0, 0, 0, 0, 463, 49, 0, 898, - 872, 0, 0, 50, 51, 52, 0, 0, 0, 0, - 464, 0, 894, 895, 896, 897, 465, 0, 53, 54, - 466, 0, 467, 55, 898, 0, 468, 0, 0, 56, - 57, 58, 0, 0, 59, 0, 60, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 914, 0, 0, 469, - 0, 0, 0, 470, 921, 0, 0, 471, 0, 472, - 0, 0, 0, 473, 0, 0, 0, 0, 0, 150, - 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, - 0, 161, 162, 163, 0, 0, 0, 349, 903, 904, - 905, 906, 907, 0, 908, 909, 910, 0, 507, 0, + 6, 614, 166, 778, 98, 237, 238, 239, 240, 241, + 360, 243, 244, 245, 490, 139, 202, 205, 112, 113, + 250, 251, 165, 461, 254, 255, 489, 621, 492, 228, + 203, 105, 661, 305, 387, 73, 595, 631, 666, 174, + 175, 174, 175, 602, 603, 604, 605, 606, 607, 99, + 517, 518, 573, 559, 560, 561, 562, 616, 608, 229, + 186, 384, 100, 114, 493, 138, 174, 175, 495, 496, + 497, 498, 499, 609, 230, 633, 37, 283, 101, 150, + 102, 316, 257, 257, 98, 98, 103, 231, 232, 826, + 286, 287, 288, 289, 290, 291, 104, 613, 106, 174, + 175, 258, 351, 788, 609, 121, 122, 123, 124, 929, + 141, 581, 583, 174, 175, 432, 433, 434, 174, 175, + 429, 589, -241, 430, 930, -241, 657, 107, 667, 108, + 257, 257, 233, 570, 632, 242, 435, 361, 165, 228, + 590, 190, 228, 281, 593, 388, 822, 252, 253, 790, + 791, 187, 341, 823, 781, 115, 827, 402, 785, 996, + 116, -258, 174, 175, 422, 186, 196, 664, 315, 229, + 905, 568, 229, 841, 318, 162, 163, 164, 186, 186, + 186, 186, 186, 186, 230, 207, 295, 230, 840, 1, + 2, 3, 98, 809, 868, 6, 353, 231, 232, 117, + 231, 232, 188, 584, 585, 586, 441, 174, 175, 411, + 829, 118, 615, 412, 292, 354, 259, 260, 261, 262, + 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, + 273, 274, 275, 276, 277, 278, 279, 442, 282, 119, + 178, 120, 233, 662, 179, 233, 392, 393, 394, 192, + 413, 257, 395, 486, 795, 194, 486, 257, 797, 257, + 798, 257, 799, 800, 801, 383, 915, 916, 917, 257, + 835, 500, 501, 391, 587, 307, 932, 414, 950, 257, + 992, 180, 195, 257, 186, 174, 175, 257, 1005, 396, + 871, 357, 198, 322, 486, 323, 563, 564, 1006, 6, + 365, 415, 1013, 199, 98, 200, 1014, 382, 507, 508, + 201, 565, 566, 663, 501, 416, 247, 401, 658, 6, + 417, 565, 566, 609, 810, 418, 883, 45, -126, 256, + 348, 349, 181, 565, 566, 659, 285, 292, 486, 299, + 397, 150, 483, 303, 306, 483, 182, 313, 381, 308, + 314, 183, 10, 327, 398, 331, 184, 257, 337, 399, + 98, 332, 333, 334, 824, 335, 356, 55, 6, 923, + 486, 941, 336, 575, 57, 338, 366, 202, 339, 458, + 340, 150, 342, 483, 343, 487, 344, 345, 487, 346, + 401, 597, 905, 347, 401, 401, 401, 401, 401, 410, + 359, 98, 362, 571, 506, 572, 367, 939, 514, 403, + 423, 428, 880, 424, 777, 381, 425, -257, 427, 569, + 922, 437, 439, 618, 426, 438, 487, 483, 577, 577, + 577, 157, 158, 159, 160, 161, 6, 162, 163, 164, + 98, 446, 447, 458, 322, 98, 323, 324, 325, 488, + 458, 458, 458, 458, 458, 458, 611, 509, 628, 483, + 569, 494, 974, 461, 458, 112, 113, 821, 504, 516, + 591, 594, 983, 159, 160, 161, 985, 162, 163, 164, + 596, 658, 458, 513, 912, 913, 914, 381, 915, 916, + 917, 569, 85, 401, 601, 937, 565, 566, 784, 486, + 357, 619, 487, 622, 574, 905, 623, 492, 627, 514, + 114, 945, 176, 630, 660, 501, 1000, 780, 783, 779, + 1001, 782, 658, 189, 191, 789, 792, 803, 448, 449, + 450, 804, 486, 1009, 451, 825, 197, 565, 566, 866, + 609, 831, 1012, 208, 836, 174, 175, 834, 785, 624, + 625, 626, 869, 629, 867, 872, 875, 613, 873, 876, + 981, 877, 884, 885, 881, 357, 246, 886, 248, 249, + 887, 452, 577, 828, 888, 356, 577, 889, 577, 919, + 577, 577, 577, 918, 513, 924, 98, 45, 483, 926, + 927, 934, 938, 943, 611, 910, 911, 912, 913, 914, + 458, 915, 916, 917, 944, 998, 942, 949, 357, 976, + 975, 977, 569, 978, 982, 569, 986, 458, 984, 987, + 988, 483, 453, 989, 806, 999, 808, 55, 1002, 838, + 1003, 1007, 569, 575, 57, 864, 454, 576, 786, 1008, + 356, 455, 776, 302, 882, 936, 456, 920, 973, 830, + 310, 304, 832, 833, 486, 599, 444, 807, 620, 838, + 600, 588, 311, 312, 487, 775, 874, 0, 0, 0, + 0, 0, 0, 821, 821, 821, 821, 319, 821, 0, + 0, 321, 0, 356, 0, 0, 0, 329, 330, 0, + 0, 0, 0, 0, 170, 0, 172, 173, 0, 0, + 0, 177, 0, 0, 0, 174, 175, 0, 842, 843, + 844, 845, 846, 847, 848, 849, 850, 851, 852, 853, + 854, 855, 856, 857, 858, 859, 860, 861, 862, 0, + 865, 0, 0, 0, 0, 0, 925, 486, 0, 0, + 0, 0, 0, 483, 372, 373, 0, 45, 0, 358, + 506, 0, 0, 486, 0, 0, 821, 821, 821, 821, + 821, 821, 821, 821, 821, 821, 821, 821, 821, 821, + 821, 821, 821, 821, 821, 0, 170, 172, 173, 177, + 408, 41, 0, 42, 43, 44, 487, 55, 0, 47, + 0, 838, 0, 575, 57, 0, 0, 580, 895, 49, + 0, 0, 486, 0, 0, 50, 51, 52, 821, 0, + 174, 175, 170, 0, 170, 0, 0, 0, 0, 0, + 53, 54, 0, 440, 0, 0, 483, 458, 569, 0, + 443, 298, 445, 0, 58, 0, 0, 59, 0, 60, + 0, 0, 483, 0, 0, 0, 0, 486, 894, 0, + 821, 0, 45, 0, 879, 0, 0, 0, 0, 0, + 897, 898, 899, 900, 901, 902, 903, 904, 0, 487, + 0, 0, 838, 0, 0, 0, 905, 514, 0, 0, + 0, 0, 0, 0, 0, 487, 0, 0, 579, 579, + 579, 483, 55, 0, 0, 0, 971, 0, 575, 57, + 921, 0, 582, 0, 0, 0, 0, 0, 928, 143, + 144, 145, 146, 147, 148, 149, 0, 946, 947, 948, + 0, 569, 0, 0, 150, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 487, 0, 483, 838, 0, 0, + 0, 838, 298, 897, 898, 899, 900, 901, 902, 903, + 904, 0, 513, 0, 0, 994, 0, 995, 991, 905, + 906, 907, 908, 909, 408, 0, 910, 911, 912, 913, + 914, 0, 915, 916, 917, 0, 0, 0, 0, 487, + 0, 838, 1010, 1011, 0, 838, 0, 890, 891, 892, + 893, 972, 896, 0, 146, 147, 148, 149, 838, 0, + 0, 0, 0, 0, 0, 979, 150, 838, 0, 152, + 153, 154, 155, 156, 157, 158, 159, 160, 161, 408, + 162, 163, 164, 0, 0, 0, 0, 0, 0, 0, + 0, 794, 579, 796, 0, 0, 579, 0, 579, 0, + 579, 579, 579, 906, 907, 908, 909, 805, 0, 910, + 911, 912, 913, 914, 0, 915, 916, 917, 0, 0, + 0, 0, 0, 0, 0, 298, 0, 0, 0, 0, + 951, 952, 953, 954, 955, 956, 957, 958, 959, 960, + 961, 962, 963, 964, 965, 966, 967, 968, 969, 0, + 0, 0, 0, 0, 155, 156, 157, 158, 159, 160, + 161, 0, 162, 163, 164, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 903, 904, 905, 906, 907, 0, 908, - 909, 910, 0, 0, 0, 0, 0, 0, 0, 661, - 662, 663, 664, 665, 666, 667, 668, 965, 669, 670, - 671, 672, 673, 674, 675, 676, 677, 678, 679, 0, - 0, 972, 0, 0, 0, 680, 681, 682, 683, 684, - 685, 686, 687, 688, 689, 690, 691, 692, 693, 0, - 0, 694, 695, 696, 697, 698, 699, 700, 701, 702, - 703, 704, 0, 705, 0, 706, 707, 708, 709, 710, - 711, 712, 713, 714, 715, 716, 717, 0, 0, 0, - 718, 0, 719, 0, 720, 721, 722, 723, 724, 725, - 726, 727, 728, 729, 730, 731, 0, 732, 733, 734, - 735, 736, 737, 738, 0, 739, 740, 741, 742, 743, - 0, 0, 0, 744, 745, 746, 747, 748, 749, 750, - 751, 752, 753, 754, 755, 756, 757, 758, 759, 760, - 761, 762, 763, 764, 933, 765, 766, 661, 662, 663, - 664, 665, 666, 667, 668, 0, 669, 670, 671, 672, - 673, 674, 675, 676, 677, 678, 679, 0, 0, 0, - 0, 0, 0, 680, 681, 682, 683, 684, 685, 686, - 687, 688, 689, 690, 691, 692, 693, 0, 0, 694, - 695, 696, 697, 698, 699, 700, 701, 702, 703, 704, - 0, 705, 0, 706, 707, 708, 709, 710, 711, 712, - 713, 714, 715, 716, 717, 0, 0, 0, 718, 0, - 719, 0, 720, 721, 722, 723, 724, 725, 726, 727, - 728, 729, 730, 731, 0, 732, 733, 734, 735, 736, - 737, 738, 0, 739, 740, 741, 742, 743, 0, 0, - 0, 744, 745, 746, 747, 748, 749, 750, 751, 752, + 0, 0, 990, 668, 669, 670, 671, 672, 673, 674, + 675, 0, 676, 677, 678, 679, 680, 681, 682, 683, + 684, 685, 686, 0, 0, 0, 0, 0, 0, 687, + 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, + 698, 699, 700, 0, 1004, 701, 702, 703, 704, 705, + 706, 707, 708, 709, 710, 711, 0, 712, 0, 713, + 714, 715, 716, 717, 718, 719, 720, 721, 722, 723, + 724, 0, 0, 0, 725, 0, 726, 0, 727, 728, + 729, 730, 731, 732, 733, 734, 735, 736, 0, 737, + 738, 0, 739, 740, 741, 742, 743, 744, 745, 0, + 746, 747, 748, 749, 750, 0, 0, 0, 751, 752, 753, 754, 755, 756, 757, 758, 759, 760, 761, 762, - 763, 764, 0, 765, 766, 7, 8, 9, 10, 0, - 11, 124, 0, 0, 0, 0, 0, 0, 41, 0, - 42, 43, 44, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 142, 143, 144, 145, 146, 147, 148, - 0, 0, 50, 170, 52, 0, 0, 125, 149, 126, - 127, 128, 45, 46, 0, 129, 18, 53, 54, 48, - 0, 0, 0, 0, 19, 130, 0, 0, 0, 0, - 58, 131, 132, 52, 0, 60, 0, 0, 23, 0, - 0, 0, 0, 0, 0, 0, 133, 134, 26, 0, - 27, 55, 0, 0, 28, 0, 0, 56, 57, 135, - 0, 0, 59, 0, 136, 456, 457, 458, 10, 0, - 459, 40, 0, 0, 0, 0, 0, 31, 0, 0, - 0, 32, 33, 0, 0, 34, 0, 35, 0, 0, - 0, 36, 151, 152, 153, 154, 155, 156, 157, 158, - 159, 160, 0, 161, 162, 163, 0, 41, 0, 42, - 43, 44, 45, 461, 0, 47, 462, 0, 0, 48, - 0, 0, 0, 0, 463, 49, 0, 0, 0, 0, - 0, 50, 51, 52, 0, 0, 0, 0, 464, 0, - 0, 0, 0, 0, 465, 0, 53, 54, 466, 0, - 467, 55, 0, 0, 468, 0, 0, 56, 57, 58, - 0, 0, 59, 0, 60, 7, 8, 9, 10, 0, - 11, 12, 0, 0, 0, 0, 0, 469, 0, 0, - 0, 470, 0, 0, 0, 471, 0, 472, 0, 0, - 0, 473, 0, 0, 0, 0, 0, 0, 0, 0, + 763, 764, 765, 766, 767, 768, 769, 770, 771, 940, + 772, 773, 668, 669, 670, 671, 672, 673, 674, 675, + 0, 676, 677, 678, 679, 680, 681, 682, 683, 684, + 685, 686, 0, 0, 0, 0, 0, 0, 687, 688, + 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, + 699, 700, 0, 0, 701, 702, 703, 704, 705, 706, + 707, 708, 709, 710, 711, 0, 712, 0, 713, 714, + 715, 716, 717, 718, 719, 720, 721, 722, 723, 724, + 0, 0, 0, 725, 0, 726, 0, 727, 728, 729, + 730, 731, 732, 733, 734, 735, 736, 0, 737, 738, + 0, 739, 740, 741, 742, 743, 744, 745, 0, 746, + 747, 748, 749, 750, 0, 0, 0, 751, 752, 753, + 754, 755, 756, 757, 758, 759, 760, 761, 762, 763, + 764, 765, 766, 767, 768, 769, 770, 771, 0, 772, + 773, 462, 463, 464, 10, 0, 465, 40, 0, 0, + 466, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 898, 899, 900, 901, 902, + 903, 904, 41, 0, 42, 43, 44, 0, 0, 0, + 905, 0, 0, 41, 0, 42, 43, 44, 45, 467, + 0, 47, 468, 0, 997, 48, 50, 171, 52, 0, + 469, 49, 0, 0, 0, 0, 0, 50, 51, 52, + 0, 53, 54, 0, 470, 0, 0, 0, 0, 0, + 471, 0, 53, 54, 472, 58, 0, 473, 55, 0, + 60, 474, 0, 0, 56, 57, 58, 0, 0, 59, + 0, 60, 462, 463, 464, 10, 0, 465, 40, 0, + 0, 839, 0, 115, 475, 0, 0, 0, 476, 0, + 0, 0, 477, 0, 478, 907, 908, 909, 479, 0, + 910, 911, 912, 913, 914, 0, 915, 916, 917, 0, + 0, 0, 0, 0, 41, 0, 42, 43, 44, 45, + 467, 0, 47, 468, 0, 0, 48, 0, 0, 0, + 0, 469, 49, 0, 0, 0, 0, 0, 50, 51, + 52, 0, 0, 0, 0, 470, 0, 0, 0, 0, + 0, 471, 0, 53, 54, 472, 0, 0, 473, 55, + 0, 0, 474, 0, 0, 56, 57, 58, 0, 0, + 59, 0, 60, 7, 8, 9, 10, 0, 11, 125, + 0, 148, 149, 0, 0, 475, 0, 0, 0, 476, + 0, 150, 0, 477, 0, 478, 0, 0, 0, 479, + 0, 0, 144, 145, 146, 147, 148, 149, 0, 0, + 0, 0, 0, 0, 0, 126, 150, 127, 128, 129, + 45, 46, 0, 130, 18, 0, 0, 48, 0, 0, + 0, 0, 19, 131, 0, 0, 0, 0, 0, 132, + 133, 52, 0, 0, 0, 0, 23, 0, 0, 0, + 0, 0, 0, 0, 134, 135, 26, 0, 0, 27, + 55, 0, 0, 28, 0, 0, 56, 57, 136, 0, + 0, 59, 0, 137, 462, 463, 464, 10, 0, 465, + 40, 157, 158, 159, 160, 161, 31, 162, 163, 164, + 32, 33, 0, 0, 34, 0, 35, 0, 0, 0, + 36, 152, 153, 154, 155, 156, 157, 158, 159, 160, + 161, 0, 162, 163, 164, 0, 41, 0, 42, 43, + 44, 45, 467, 0, 47, 468, 0, 0, 48, 0, + 0, 0, 0, 469, 49, 0, 0, 0, 0, 0, + 50, 51, 52, 0, 0, 0, 0, 470, 0, 0, + 0, 0, 0, 471, 0, 53, 54, 472, 0, 0, + 473, 55, 0, 0, 474, 0, 0, 56, 57, 58, + 296, 0, 59, 0, 60, 7, 8, 9, 10, 0, + 11, 12, 0, 0, 0, 0, 0, 475, 0, 0, + 0, 476, 0, 0, 0, 477, 0, 478, 0, 0, + 0, 479, 0, 0, 0, 0, 41, 0, 42, 43, + 44, 0, 0, 0, 0, 0, 0, 13, 0, 14, + 15, 16, 0, 0, 0, 17, 18, 0, 0, 0, + 50, 171, 52, 0, 19, 20, 0, 0, 0, 0, + 0, 21, 22, 0, 0, 53, 54, 0, 23, 0, + 0, 0, 0, 0, 0, 0, 24, 25, 26, 58, + 0, 27, 0, 0, 60, 28, 7, 8, 9, 10, + 29, 11, 12, 0, 0, 30, 0, 7, 8, 9, + 10, 0, 11, 12, 0, 0, 0, 0, 31, 0, + 0, 0, 32, 33, 0, 0, 34, 0, 35, 0, + 280, 0, 36, 0, 0, 0, 0, 0, 13, 0, + 14, 15, 16, 0, 0, 0, 17, 18, 0, 13, + 0, 14, 15, 16, 0, 19, 20, 17, 18, 0, + 903, 904, 21, 22, 0, 0, 19, 20, 0, 23, + 905, 0, 0, 21, 22, 0, 0, 24, 25, 26, + 23, 0, 27, 0, 0, 0, 28, 0, 24, 25, + 26, 29, 0, 27, 0, 0, 30, 28, 0, 0, + 0, 409, 29, 0, 0, 0, 0, 30, 0, 31, + 0, 0, 510, 32, 33, 0, 0, 34, 0, 35, + 31, 0, 0, 36, 32, 33, 0, 0, 34, 0, + 35, 0, 0, 0, 36, 7, 8, 9, 10, 0, + 11, 12, 0, 0, 0, 0, 7, 8, 9, 10, + 0, 11, 12, 0, 0, 0, 0, 0, 0, 0, + 910, 911, 912, 913, 914, 0, 915, 916, 917, 0, 0, 0, 0, 0, 0, 0, 0, 13, 0, 14, - 15, 16, 0, 0, 0, 17, 18, 0, 0, 0, - 0, 0, 0, 0, 19, 20, 0, 0, 0, 0, - 0, 21, 22, 0, 0, 0, 0, 0, 23, 0, - 0, 0, 0, 0, 0, 0, 24, 25, 26, 0, - 27, 0, 0, 0, 28, 7, 8, 9, 10, 29, - 11, 12, 0, 0, 30, 0, 0, 0, 41, 0, - 42, 43, 44, 0, 0, 0, 166, 31, 0, 0, - 0, 32, 33, 0, 0, 34, 167, 35, 0, 278, - 0, 36, 50, 168, 52, 0, 0, 13, 0, 14, - 15, 16, 0, 0, 0, 17, 18, 53, 54, 0, - 0, 0, 0, 0, 19, 20, 0, 0, 0, 0, - 58, 21, 22, 0, 0, 60, 0, 0, 23, 0, - 0, 0, 0, 0, 0, 0, 24, 25, 26, 0, - 27, 0, 0, 0, 28, 7, 8, 9, 10, 29, - 11, 12, 0, 0, 30, 0, 0, 0, 41, 404, - 42, 43, 44, 0, 0, 0, 0, 31, 0, 0, - 0, 32, 33, 0, 0, 34, 282, 35, 0, 0, - 0, 36, 50, 170, 52, 0, 0, 13, 0, 14, - 15, 16, 0, 0, 0, 17, 18, 53, 54, 0, - 0, 0, 0, 0, 19, 20, 0, 0, 0, 0, - 58, 21, 22, 0, 0, 60, 0, 0, 23, 0, - 0, 0, 0, 0, 0, 0, 24, 25, 26, 0, - 27, 0, 0, 0, 28, 7, 8, 9, 10, 29, - 11, 12, 0, 0, 30, 0, 0, 0, 0, 504, - 0, 0, 0, 0, 0, 0, 0, 31, 0, 0, - 0, 32, 33, 0, 0, 34, 0, 35, 0, 0, - 0, 36, 0, 0, 0, 0, 0, 13, 0, 14, - 15, 16, 0, 0, 0, 17, 18, 0, 0, 0, - 0, 0, 0, 0, 19, 20, 0, 0, 0, 0, - 0, 21, 22, 0, 0, 0, 0, 0, 23, 0, - 0, 0, 0, 0, 0, 0, 24, 25, 26, 0, - 27, 0, 0, 0, 28, 7, 8, 9, 10, 29, - 11, 12, 0, 0, 30, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 31, 0, 0, - 0, 32, 33, 0, 0, 34, 0, 35, 0, 856, - 0, 36, 0, 0, 0, 0, 0, 13, 0, 14, - 15, 16, 0, 0, 0, 17, 18, 0, 0, 0, - 0, 0, 0, 0, 19, 20, 0, 0, 0, 0, - 0, 21, 22, 0, 0, 0, 0, 0, 23, 0, - 0, 0, 0, 0, 0, 0, 24, 25, 26, 0, - 27, 0, 0, 0, 28, 7, 8, 9, 10, 29, - 11, 12, 0, 0, 30, 0, 0, 0, 0, 871, - 0, 0, 0, 0, 0, 0, 0, 31, 0, 0, - 0, 32, 33, 0, 0, 34, 0, 35, 0, 0, - 0, 36, 0, 0, 0, 0, 0, 13, 0, 14, - 15, 16, 0, 0, 0, 17, 18, 0, 0, 0, - 0, 0, 0, 0, 19, 20, 0, 0, 0, 0, - 0, 21, 22, 0, 0, 0, 0, 0, 23, 0, - 0, 0, 0, 0, 0, 0, 24, 25, 26, 0, - 27, 0, 0, 0, 28, 7, 8, 9, 10, 29, - 11, 12, 0, 0, 30, 0, 0, 0, 41, 0, - 42, 43, 44, 0, 0, 0, 166, 31, 0, 0, - 0, 32, 33, 0, 0, 34, 167, 35, 0, 963, - 0, 36, 50, 168, 52, 0, 0, 13, 0, 14, - 15, 16, 0, 0, 0, 17, 18, 53, 54, 0, - 0, 0, 0, 0, 19, 20, 0, 0, 0, 0, - 58, 21, 22, 0, 0, 60, 0, 0, 23, 0, - 294, 0, 0, 0, 0, 0, 24, 25, 26, 0, - 27, 0, 0, 0, 28, 0, 0, 0, 107, 29, - 0, 0, 0, 0, 30, 0, 0, 141, 142, 143, - 144, 145, 146, 147, 148, 0, 41, 31, 42, 43, - 44, 32, 33, 149, 0, 34, 0, 35, 0, 0, - 0, 36, 141, 142, 143, 144, 145, 146, 147, 148, - 50, 170, 52, 0, 0, 0, 0, 0, 149, 0, - 0, 0, 0, 0, 0, 53, 54, 0, 513, 514, - 515, 516, 517, 518, 519, 520, 0, 0, 58, 0, - 0, 0, 0, 60, 521, 0, 522, 523, 524, 525, - 526, 527, 528, 529, 530, 531, 532, 533, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 534, 0, 0, + 15, 16, 0, 0, 0, 17, 18, 0, 13, 0, + 14, 15, 16, 0, 19, 20, 17, 18, 0, 0, + 0, 21, 22, 0, 0, 19, 20, 0, 23, 0, + 0, 0, 21, 22, 0, 0, 24, 25, 26, 23, + 0, 27, 0, 0, 0, 28, 0, 24, 25, 26, + 29, 0, 27, 0, 0, 30, 28, 7, 8, 9, + 10, 29, 11, 12, 0, 0, 30, 0, 31, 0, + 0, 878, 32, 33, 0, 0, 34, 0, 35, 31, + 863, 0, 36, 32, 33, 0, 0, 34, 41, 35, + 42, 43, 44, 36, 0, 0, 167, 0, 0, 13, + 0, 14, 15, 16, 0, 0, 168, 17, 18, 0, + 0, 0, 50, 169, 52, 0, 19, 20, 0, 0, + 0, 0, 0, 21, 22, 0, 0, 53, 54, 0, + 23, 0, 0, 0, 0, 0, 0, 0, 24, 25, + 26, 58, 0, 27, 0, 0, 60, 28, 7, 8, + 9, 10, 29, 11, 12, 0, 0, 30, 0, 7, + 8, 9, 10, 0, 11, 0, 0, 0, 0, 108, + 31, 0, 0, 0, 32, 33, 0, 0, 34, 0, + 35, 0, 970, 0, 36, 0, 0, 0, 0, 0, + 13, 0, 14, 15, 16, 0, 0, 0, 17, 18, + 0, 0, 0, 0, 0, 0, 0, 19, 20, 0, + 811, 0, 0, 0, 21, 22, 0, 0, 19, 0, + 0, 23, 0, 144, 145, 146, 147, 148, 149, 24, + 25, 26, 0, 0, 27, 0, 0, 150, 28, 0, + 0, 0, 812, 29, 0, 813, 0, 0, 30, 28, + 0, 142, 143, 144, 145, 146, 147, 148, 149, 0, + 0, 31, 0, 0, 0, 32, 33, 150, 0, 34, + 0, 35, 814, 0, 0, 36, 815, 816, 0, 0, + 817, 0, 818, 0, 0, 0, 819, 142, 143, 144, + 145, 146, 147, 148, 149, 0, 0, 0, 0, 0, + 0, 0, 0, 150, 0, 0, 142, 143, 144, 145, + 146, 147, 148, 149, 0, 0, 0, 0, 0, 0, + 0, 0, 150, 153, 154, 155, 156, 157, 158, 159, + 160, 161, 0, 162, 163, 164, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 151, 152, 153, 154, 155, 156, 157, 158, 159, + 160, 161, 0, 162, 163, 164, 0, 0, 0, 352, + 142, 143, 144, 145, 146, 147, 148, 149, 0, 0, 0, 0, 0, 0, 0, 0, 150, 151, 152, 153, - 154, 155, 156, 157, 158, 159, 160, 0, 161, 162, - 163, 535, 0, 0, 926, 0, 0, 0, 0, 0, - 0, 150, 151, 152, 153, 154, 155, 156, 157, 158, - 159, 160, 0, 161, 162, 163, 207, 208, 0, 986, - 0, 0, 0, 536, 0, 0, 537, 0, 538, 539, - 540, 541, 542, 543, 544, 545, 546, 547, 548, 0, - 549, 550, 0, 0, 551, 0, 0, 0, 0, 0, - 0, 0, 209, 41, 0, 42, 43, 44, 45, 210, - 0, 47, 0, 0, 0, 48, 211, 212, 213, 0, - 0, 49, 0, 0, 0, 0, 214, 50, 51, 52, - 0, 0, 215, 207, 208, 0, 216, 0, 0, 0, - 217, 0, 53, 54, 0, 218, 0, 55, 0, 0, - 0, 0, 0, 219, 57, 58, 0, 220, 59, 221, - 60, 0, 0, 0, 0, 222, 0, 0, 0, 209, - 41, 0, 42, 43, 44, 45, 210, 0, 47, 0, - 0, 223, 48, 211, 212, 213, 0, 0, 49, 0, - 0, 0, 0, 214, 50, 51, 52, 0, 0, 215, - 207, 208, 0, 216, 0, 0, 0, 217, 0, 53, - 54, 0, 218, 0, 55, 0, 0, 0, 0, 0, - 219, 57, 58, 0, 220, 59, 221, 60, 141, 142, - 143, 144, 145, 146, 147, 148, 209, 41, 0, 42, - 43, 44, 45, 306, 149, 47, 0, 0, 223, 48, - 211, 212, 213, 0, 0, 49, 0, 0, 0, 0, - 214, 50, 51, 52, 0, 0, 215, 0, 0, 0, - 216, 0, 0, 0, 217, 0, 53, 54, 0, 218, - 0, 55, 0, 0, 0, 0, 0, 219, 57, 58, - 0, 220, 59, 221, 60, 141, 142, 143, 144, 145, - 146, 147, 148, 0, 0, 0, 0, 0, 0, 0, - 0, 149, 0, 0, 0, 223, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 347, 0, 150, 151, 152, - 153, 154, 155, 156, 157, 158, 159, 160, 0, 161, - 162, 163, 141, 142, 143, 144, 145, 146, 147, 148, - 0, 0, 0, 0, 0, 0, 0, 0, 149, 141, - 142, 143, 144, 145, 146, 147, 148, 0, 0, 0, - 0, 0, 0, 0, 0, 149, 141, 142, 143, 144, - 145, 146, 147, 148, 0, 0, 0, 0, 0, 0, - 0, 509, 149, 0, 150, 151, 152, 153, 154, 155, - 156, 157, 158, 159, 160, 0, 161, 162, 163, 627, - 628, 629, 630, 631, 632, 633, 634, 0, 0, 0, - 0, 0, 0, 0, 0, 635, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 786, 0, 0, - 0, 150, 151, 152, 153, 154, 155, 156, 157, 158, - 159, 160, 0, 161, 162, 163, 924, 0, 150, 151, - 152, 153, 154, 155, 156, 157, 158, 159, 160, 0, - 161, 162, 163, 0, 0, 150, 151, 152, 153, 154, - 155, 156, 157, 158, 159, 160, 0, 161, 162, 163, - 890, 891, 892, 893, 894, 895, 896, 897, 0, 0, - 0, 0, 0, 0, 0, 0, 898, 0, 636, 637, - 638, 639, 640, 641, 642, 643, 644, 645, 646, 0, - 647, 648, 649, 890, 891, 892, 893, 894, 895, 896, - 897, 0, 0, 0, 0, 0, 0, 0, 0, 898, - 891, 892, 893, 894, 895, 896, 897, 0, 0, 0, - 0, 0, 0, 0, 0, 898, 143, 144, 145, 146, - 147, 148, 0, 0, 0, 0, 0, 0, 0, 0, - 149, 143, 144, 145, 146, 147, 148, 0, 0, 0, - 0, 0, 0, 0, 0, 149, 0, 984, 0, 899, - 900, 901, 902, 0, 0, 903, 904, 905, 906, 907, - 0, 908, 909, 910, 143, 144, 145, 146, 147, 148, - 0, 0, 0, 0, 0, 0, 0, 0, 149, 0, - 0, 0, 899, 900, 901, 902, 0, 0, 903, 904, - 905, 906, 907, 0, 908, 909, 910, 0, 0, 900, - 901, 902, 0, 0, 903, 904, 905, 906, 907, 0, - 908, 909, 910, 0, 151, 152, 153, 154, 155, 156, - 157, 158, 159, 160, 0, 161, 162, 163, 0, 0, - 0, 153, 154, 155, 156, 157, 158, 159, 160, 0, - 161, 162, 163, 892, 893, 894, 895, 896, 897, 0, - 0, 0, 0, 0, 0, 0, 0, 898, 892, 893, - 894, 895, 896, 897, 0, 154, 155, 156, 157, 158, - 159, 160, 898, 161, 162, 163, 892, 893, 894, 895, - 896, 897, 0, 0, 0, 74, 0, 0, 0, 0, - 898, 0, 0, 0, 0, 0, 0, 0, 75, 0, - 0, 0, 0, 76, 0, 0, 77, 0, 0, 0, - 0, 0, 0, 0, 78, 79, 0, 80, 0, 0, - 0, 81, 82, 83, 0, 0, 0, 0, -2, 0, - 0, 0, 84, 0, 0, 0, 85, 0, 0, 0, - 86, 0, 901, 902, 0, 0, 903, 904, 905, 906, - 907, 87, 908, 909, 910, 0, 0, 0, 902, 0, - 0, 903, 904, 905, 906, 907, 0, 908, 909, 910, - 365, 74, 0, 0, 0, 0, 0, 0, 0, 903, - 904, 905, 906, 907, 75, 908, 909, 910, 0, 76, - 367, 368, 77, 0, 0, 0, 0, 0, 0, 0, - 78, 79, 0, 80, 0, 0, 0, 81, 82, 83, - 0, 0, 0, 0, 0, 0, 0, 0, 84, 0, - 0, 0, 85, 0, 0, 0, 86, 41, 0, 42, - 43, 44, 369, 370, 0, 47, 0, 87, 0, 0, - 0, 0, 0, 0, 0, 49, 367, 368, 0, 0, - 0, 50, 51, 52, 0, 0, 40, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 53, 54, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 371, 0, 58, - 0, 0, 59, 41, 60, 42, 43, 44, 0, 0, - 0, 47, 41, 0, 42, 43, 44, 45, 46, 0, - 47, 49, 0, 0, 48, 0, 0, 50, 51, 52, - 49, 0, 40, 0, 0, 0, 50, 51, 52, 0, + 154, 155, 156, 157, 158, 159, 160, 161, 0, 162, + 163, 164, 0, 0, 0, 933, 151, 152, 153, 154, + 155, 156, 157, 158, 159, 160, 161, 0, 162, 163, + 164, 0, 0, 0, 993, 519, 520, 521, 522, 523, + 524, 525, 526, 0, 0, 0, 0, 0, 0, 0, + 0, 527, 0, 528, 529, 530, 531, 532, 533, 534, + 535, 536, 537, 538, 539, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 540, 0, 370, 0, 0, 0, + 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, + 161, 0, 162, 163, 164, 371, 0, 0, 541, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 209, 210, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 542, 0, 0, 543, 0, 544, 545, 546, 547, + 548, 549, 550, 551, 552, 553, 554, 0, 555, 556, + 211, 41, 557, 42, 43, 44, 45, 212, 0, 47, + 0, 0, 0, 48, 213, 214, 215, 0, 0, 49, + 0, 0, 0, 0, 216, 50, 51, 52, 0, 0, + 217, 0, 209, 210, 218, 0, 0, 0, 219, 0, + 53, 54, 0, 220, 0, 0, 55, 0, 0, 0, + 0, 0, 221, 57, 58, 0, 222, 59, 223, 60, + 0, 0, 0, 0, 224, 0, 0, 0, 211, 41, + 0, 42, 43, 44, 45, 212, 0, 47, 0, 0, + 225, 48, 213, 214, 215, 0, 0, 49, 0, 0, + 0, 0, 216, 50, 51, 52, 0, 0, 217, 0, + 209, 210, 218, 0, 0, 0, 219, 0, 53, 54, + 0, 220, 0, 0, 55, 0, 0, 0, 0, 0, + 221, 57, 58, 0, 222, 59, 223, 60, 142, 143, + 144, 145, 146, 147, 148, 149, 211, 41, 0, 42, + 43, 44, 45, 309, 150, 47, 0, 0, 225, 48, + 213, 214, 215, 0, 0, 49, 0, 0, 0, 0, + 216, 50, 51, 52, 0, 0, 217, 0, 0, 0, + 218, 0, 0, 0, 219, 0, 53, 54, 0, 220, + 0, 0, 55, 0, 0, 0, 0, 0, 221, 57, + 58, 0, 222, 59, 223, 60, 142, 143, 144, 145, + 146, 147, 148, 149, 0, 0, 0, 0, 0, 0, + 0, 0, 150, 0, 0, 0, 225, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 350, 0, 151, 152, + 153, 154, 155, 156, 157, 158, 159, 160, 161, 0, + 162, 163, 164, 142, 143, 144, 145, 146, 147, 148, + 149, 0, 0, 0, 0, 0, 0, 0, 0, 150, + 142, 143, 144, 145, 146, 147, 148, 149, 0, 0, + 0, 0, 0, 0, 0, 0, 150, 0, 142, 143, + 144, 145, 146, 147, 148, 149, 0, 0, 0, 0, + 0, 0, 0, 515, 150, 0, 151, 152, 153, 154, + 155, 156, 157, 158, 159, 160, 161, 0, 162, 163, + 164, 634, 635, 636, 637, 638, 639, 640, 641, 0, + 0, 0, 0, 0, 0, 0, 0, 642, 144, 145, + 146, 147, 148, 149, 0, 0, 0, 0, 0, 793, + 0, 0, 150, 151, 152, 153, 154, 155, 156, 157, + 158, 159, 160, 161, 0, 162, 163, 164, 931, 0, + 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, + 161, 0, 162, 163, 164, 0, 0, 0, 151, 152, + 153, 154, 155, 156, 157, 158, 159, 160, 161, 0, + 162, 163, 164, 899, 900, 901, 902, 903, 904, 0, + 0, 0, 0, 0, 0, 0, 0, 905, 0, 0, + 0, 643, 644, 645, 646, 647, 648, 649, 650, 651, + 652, 653, 0, 654, 655, 656, 0, 0, 0, 154, + 155, 156, 157, 158, 159, 160, 161, 0, 162, 163, + 164, 144, 145, 146, 147, 148, 149, 0, 0, 0, + 0, 0, 0, 0, 0, 150, 899, 900, 901, 902, + 903, 904, 0, 0, 0, 0, 0, 0, 0, 0, + 905, 899, 900, 901, 902, 903, 904, 0, 0, 0, + 0, 0, 0, 0, 0, 905, 0, 0, 0, 0, + 0, 0, 907, 908, 909, 0, 0, 910, 911, 912, + 913, 914, 0, 915, 916, 917, 899, 900, 901, 902, + 903, 904, 0, 0, 0, 0, 0, 0, 0, 0, + 905, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 155, 156, 157, 158, 159, 160, 161, + 0, 162, 163, 164, 0, 0, 908, 909, 0, -2, + 910, 911, 912, 913, 914, 0, 915, 916, 917, 0, + 0, 0, 909, 0, 0, 910, 911, 912, 913, 914, + 0, 915, 916, 917, 901, 902, 903, 904, 0, 0, + 0, 0, 0, 0, 0, 0, 905, 0, 0, 0, + 0, 0, 74, 41, 0, 42, 43, 44, 0, 0, + 910, 911, 912, 913, 914, 75, 915, 916, 917, 0, + 76, 0, 0, 77, 0, 0, 0, 50, 171, 52, + 0, 78, 79, 0, 80, 0, 372, 373, 81, 82, + 83, 0, 53, 54, 0, 0, 0, 84, 0, 0, + 85, 0, 0, 0, 86, 0, 58, 0, 87, 0, + 0, 60, 0, 0, 0, 0, 0, 0, 0, 88, + 0, 0, 0, 41, 0, 42, 43, 44, 374, 375, + 0, 47, 0, 0, 116, 0, 910, 911, 912, 913, + 914, 49, 915, 916, 917, 0, 40, 50, 51, 52, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 53, 54, 0, 0, 0, 0, 0, 0, - 0, 53, 54, 0, 0, 58, 55, 0, 59, 0, - 60, 0, 56, 57, 58, 0, 0, 59, 41, 60, - 42, 43, 44, 45, 314, 0, 47, 0, 0, 0, - 48, 0, 0, 0, 0, 0, 49, 0, 40, 0, - 0, 0, 50, 51, 52, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 53, 54, 0, - 0, 0, 55, 41, 0, 42, 43, 44, 56, 57, - 58, 0, 0, 59, 41, 60, 42, 43, 44, 45, - 0, 0, 47, 0, 0, 0, 48, 50, 170, 52, - 0, 0, 49, 0, 108, 0, 0, 0, 50, 51, - 52, 0, 53, 54, 0, 0, 0, 0, 0, 0, - 0, 610, 0, 53, 54, 58, 0, 0, 55, 0, - 60, 0, 0, 0, 56, 57, 58, 0, 0, 59, - 41, 60, 42, 43, 44, 45, 0, 0, 47, 0, - 0, 0, 48, 114, 0, 0, 0, 0, 49, 0, - 40, 0, 0, 0, 50, 51, 52, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 53, - 54, 0, 0, 0, 55, 41, 0, 42, 43, 44, - 109, 57, 58, 0, 0, 59, 41, 60, 42, 43, - 44, 45, 0, 0, 47, 0, 0, 0, 48, 50, - 170, 52, 0, 0, 49, 0, 0, 0, 0, 0, - 50, 51, 52, 0, 53, 54, 0, 0, 0, 0, - 0, 74, 0, 0, 0, 53, 54, 58, 0, 0, - 55, 0, 60, 0, 75, 0, 56, 57, 58, 76, - 0, 59, 77, 60, 0, 0, 0, 0, 74, 0, - 78, 79, 0, 80, 0, 115, 0, 81, 82, 83, - 0, 75, 0, 0, 0, 0, 76, 0, 84, 77, - 0, 0, 85, 0, 0, 74, 86, 78, 79, 0, - 80, 0, 0, 0, 81, 82, 83, 87, 75, 0, - 0, 0, 0, 76, 0, 84, 77, 0, 0, 85, - 0, 0, 74, 86, 78, 79, 426, 80, 0, 0, - 0, 81, 82, 83, 87, 75, 0, 0, 0, 0, - 76, 0, 84, 77, 0, 0, 85, 0, 0, 0, - 86, 78, 79, 496, 80, 0, 0, 0, 81, 82, - 83, 87, 0, 0, 0, 0, 0, 0, 0, 84, - 0, 0, 41, 85, 42, 43, 44, 86, 0, 0, - 586, 0, 0, 0, 0, 0, 0, 0, 87, 0, - 0, 0, 0, 0, 0, 0, 50, 170, 52, 0, - 0, 0, 74, 0, 0, 0, 0, 795, 0, 0, - 0, 53, 54, 0, 0, 75, 0, 0, 0, 0, - 76, 0, 0, 77, 58, 0, 0, 0, 0, 60, - 0, 78, 79, 0, 80, 0, 0, 0, 81, 82, - 83, 0, 0, 0, 0, 0, 0, 0, 0, 84, - 0, 0, 118, 85, 0, 0, 0, 86 + 0, 0, 0, 0, 376, 0, 58, 0, 0, 59, + 0, 60, 41, 0, 42, 43, 44, 45, 46, 0, + 47, 0, 0, 0, 48, 0, 0, 0, 0, 0, + 49, 0, 0, 40, 0, 0, 50, 51, 52, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 53, 54, 0, 0, 0, 0, 55, 41, 0, + 42, 43, 44, 56, 57, 58, 0, 0, 59, 41, + 60, 42, 43, 44, 45, 317, 0, 47, 0, 0, + 0, 48, 50, 171, 52, 0, 0, 49, 0, 0, + 40, 0, 0, 50, 51, 52, 0, 53, 54, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 53, 54, + 0, 58, 0, 0, 55, 0, 60, 0, 0, 0, + 56, 57, 58, 0, 0, 59, 41, 60, 42, 43, + 44, 45, 0, 0, 47, 0, 0, 0, 48, 119, + 0, 0, 0, 0, 49, 0, 0, 109, 0, 0, + 50, 51, 52, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 617, 0, 53, 54, 0, 0, 0, + 0, 55, 41, 0, 42, 43, 44, 56, 57, 58, + 167, 0, 59, 41, 60, 42, 43, 44, 45, 0, + 168, 47, 0, 0, 0, 48, 50, 169, 52, 0, + 0, 49, 0, 0, 40, 0, 0, 50, 51, 52, + 0, 53, 54, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 53, 54, 0, 58, 0, 0, 55, 41, + 60, 42, 43, 44, 110, 57, 58, 0, 0, 59, + 41, 60, 42, 43, 44, 45, 0, 284, 47, 0, + 0, 0, 48, 50, 171, 52, 0, 0, 49, 0, + 0, 0, 0, 0, 50, 51, 52, 0, 53, 54, + 0, 0, 0, 0, 0, 0, 74, 0, 0, 53, + 54, 0, 58, 0, 0, 55, 0, 60, 0, 75, + 0, 56, 57, 58, 76, 0, 59, 77, 60, 0, + 0, 0, 0, 0, 74, 78, 79, 0, 80, 0, + 0, 0, 81, 82, 83, 0, 0, 75, 0, 0, + 0, 84, 76, 0, 85, 77, 0, 0, 86, 0, + 0, 0, 87, 78, 79, 0, 80, 74, 0, 0, + 81, 82, 83, 88, 0, 0, 0, 0, 0, 84, + 75, 0, 85, 0, 0, 76, 86, 0, 77, 0, + 87, 0, 368, 0, 0, 74, 78, 79, 0, 80, + 0, 88, 0, 81, 82, 83, 0, 0, 75, 0, + 0, 0, 84, 76, 0, 85, 77, 0, 0, 86, + 431, 0, 0, 87, 78, 79, 0, 80, 74, 0, + 0, 81, 82, 83, 88, 0, 0, 0, 0, 0, + 84, 75, 0, 85, 0, 0, 76, 86, 0, 77, + 0, 87, 0, 502, 0, 0, 0, 78, 79, 0, + 80, 0, 88, 0, 81, 82, 83, 41, 0, 42, + 43, 44, 0, 84, 0, 0, 85, 0, 0, 0, + 86, 592, 0, 0, 87, 0, 0, 0, 0, 0, + 0, 50, 171, 52, 0, 88, 0, 74, 0, 0, + 0, 0, 0, 0, 0, 0, 53, 54, 0, 0, + 75, 0, 0, 0, 802, 76, 0, 0, 77, 0, + 58, 0, 0, 0, 0, 60, 78, 79, 0, 80, + 0, 0, 0, 81, 82, 83, 0, 0, 0, 0, + 0, 0, 84, 0, 0, 85, 0, 0, 0, 86, + 0, 0, 0, 87 }; #define yypact_value_is_default(Yystate) \ - (!!((Yystate) == (-646))) + (!!((Yystate) == (-508))) #define yytable_value_is_error(Yytable_value) \ YYID (0) static const yytype_int16 yycheck[] = { - 1, 504, 84, 85, 5, 46, 465, 84, 653, 384, - 297, 91, 23, 12, 212, 35, 51, 455, 53, 54, - 23, 10, 35, 58, 99, 100, 101, 102, 103, 125, - 105, 106, 107, 195, 8, 9, 0, 8, 9, 114, - 115, 495, 438, 118, 119, 116, 108, 422, 486, 445, - 446, 447, 448, 449, 450, 307, 165, 8, 9, 108, - 61, 111, 125, 459, 91, 127, 428, 429, 108, 178, - 179, 180, 181, 182, 183, 111, 126, 108, 127, 77, - 91, 477, 108, 84, 85, 8, 9, 127, 91, 108, - 126, 104, 125, 91, 8, 9, 127, 132, 133, 134, - 135, 127, 108, 116, 117, 6, 560, 386, 127, 108, - 91, 390, 391, 392, 393, 394, 125, 79, 80, 81, - 200, 127, 497, 203, 75, 104, 105, 106, 108, 380, - 417, 120, 383, 168, 385, 170, 298, 99, 23, 110, - 785, 125, 162, 125, 8, 9, 10, 127, 602, 125, - 14, 29, 187, 127, 110, 317, 407, 408, 125, 410, - 411, 412, 413, 415, 165, 125, 625, 125, 606, 210, - 245, 609, 125, 200, 283, 216, 203, 178, 179, 180, - 181, 182, 183, 381, 107, 186, 384, 51, 626, 200, - 125, 192, 203, 107, 195, 116, 29, 200, 594, 56, - 203, 108, 453, 455, 366, 125, 91, 125, 570, 488, - 67, 68, 574, 107, 576, 611, 578, 579, 580, 200, - 127, 866, 203, 80, 422, 125, 8, 9, 10, 86, - 29, 482, 14, 107, 486, 125, 110, 101, 8, 9, - 10, 108, 8, 9, 14, 108, 124, 125, 126, 108, - 110, 115, 109, 108, 111, 112, 120, 126, 127, 510, - 127, 125, 297, 110, 127, 306, 110, 465, 127, 51, - 432, 4, 127, 314, 108, 8, 9, 111, 125, 126, - 127, 51, 283, 658, 107, 116, 931, 110, 110, 290, - 935, 124, 125, 126, 305, 110, 125, 298, 299, 497, - 125, 126, 303, 107, 305, 109, 110, 111, 78, 127, - 125, 126, 127, 120, 315, 200, 317, 126, 203, 101, - 110, 120, 121, 122, 8, 124, 125, 126, 10, 107, - 975, 101, 14, 115, 979, 8, 9, 194, 120, 116, - 381, 125, 126, 384, 125, 115, 125, 992, 205, 6, - 120, 79, 80, 81, 606, 125, 1001, 358, 440, 370, - 107, 108, 219, 440, 109, 366, 223, 127, 871, 51, - 125, 126, 229, 230, 375, 127, 29, 50, 108, 2, - 381, 422, 417, 384, 822, 386, 127, 29, 127, 390, - 391, 392, 393, 394, 126, 127, 397, 117, 418, 400, - 420, 127, 127, 404, 127, 780, 127, 110, 31, 32, - 33, 34, 127, 36, 415, 127, 89, 127, 127, 101, - 461, 422, 95, 96, 465, 821, 99, 625, 503, 117, - 441, 432, 127, 115, 291, 436, 127, 438, 120, 440, - 108, 128, 108, 125, 445, 446, 447, 448, 449, 450, - 451, 125, 472, 464, 455, 125, 497, 107, 459, 472, - 658, 464, 601, 127, 321, 118, 119, 120, 121, 122, - 125, 124, 125, 126, 8, 9, 477, 915, 120, 121, - 122, 125, 124, 125, 126, 486, 107, 488, 863, 130, - 108, 8, 117, 110, 495, 108, 497, 128, 120, 125, - 120, 120, 108, 504, 879, 90, 111, 364, 125, 126, - 127, 111, 369, 120, 371, 116, 50, 125, 141, 142, - 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, - 153, 154, 155, 156, 157, 158, 159, 160, 161, 116, - 163, 127, 427, 428, 429, 107, 29, 109, 110, 111, - 128, 127, 126, 928, 108, 89, 127, 130, 108, 560, - 127, 95, 96, 125, 126, 99, 8, 818, 109, 610, - 427, 428, 429, 126, 587, 108, 589, 125, 127, 464, - 581, 51, 780, 4, 625, 125, 108, 588, 130, 3, - 4, 5, 6, 594, 8, 127, 125, 128, 973, 612, - 127, 602, 615, 616, 128, 606, 127, 130, 609, 127, - 611, 862, 116, 125, 116, 130, 108, 658, 117, 127, - 117, 127, 623, 109, 125, 626, 117, 127, 648, 109, - 125, 254, 255, 127, 127, 118, 119, 120, 121, 122, - 54, 124, 125, 126, 125, 502, 125, 192, 62, 127, - 8, 9, 653, 128, 127, 127, 117, 658, 127, 125, - 125, 912, 502, 127, 127, 863, 782, 290, 807, 808, - 809, 810, 86, 812, 88, 862, 818, 912, 92, 440, - 370, 879, 441, 203, 588, 570, 744, 19, 20, 574, - 203, 576, 50, 578, 579, 580, 464, 29, 433, 322, - 557, 115, -1, 501, -1, 119, 120, -1, -1, 123, - -1, 125, 569, 570, 571, 129, -1, 574, -1, 576, - -1, 578, 579, 580, 347, -1, -1, -1, 585, -1, - 928, 89, 17, 18, 19, 20, -1, 95, 96, 780, - -1, 99, -1, 744, 29, -1, -1, -1, -1, 824, - -1, 890, 891, 892, 893, 894, 895, 896, 897, 898, - 899, 900, 901, 902, 903, 904, 905, 906, 907, 908, - -1, -1, -1, -1, -1, 973, -1, -1, -1, 780, - -1, 404, -1, -1, 785, -1, 118, 119, 120, 121, - 122, 811, 124, 125, 126, -1, -1, -1, 811, -1, - -1, -1, 425, 942, -1, -1, -1, 807, 808, 809, - 810, -1, 812, 15, 16, 17, 18, 19, 20, -1, - 821, 822, 863, -1, -1, -1, -1, 29, -1, -1, - -1, 116, 117, 118, 119, 120, 121, 122, 879, 124, - 125, 126, -1, -1, -1, 984, 469, 470, 471, -1, - 473, -1, 15, 16, 17, 18, 19, 20, -1, -1, - -1, -1, 863, -1, -1, 866, 29, 880, 881, 882, - 871, -1, 495, -1, -1, -1, -1, -1, 879, 8, - 9, 504, -1, -1, -1, -1, -1, 928, -1, 909, - 890, 891, 892, 893, 894, 895, 896, 897, 898, 899, - 900, 901, 902, 903, 904, 905, 906, 907, 908, -1, - -1, 113, 114, 115, 915, -1, 118, 119, 120, 121, - 122, 50, 124, 125, 126, -1, -1, 928, -1, -1, - 931, -1, 973, -1, 935, 558, -1, 560, -1, -1, - -1, -1, 942, -1, -1, -1, -1, -1, 968, -1, - 970, 114, 115, 116, 117, 118, 119, 120, 121, 122, - 89, 124, 125, 126, -1, -1, 95, 96, -1, -1, - -1, -1, 973, -1, 975, 995, 996, -1, 979, 602, - -1, -1, -1, -1, 984, -1, -1, 3, 4, 5, - 6, 992, 8, 9, -1, -1, 12, -1, -1, -1, - 1001, -1, -1, -1, 627, 628, 629, 630, 631, 632, - 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, - 643, 644, 645, 646, 647, -1, 649, -1, -1, 45, - -1, 47, 48, 49, 50, 51, -1, 53, 54, -1, - -1, 57, -1, -1, -1, -1, 62, 63, -1, -1, - -1, -1, -1, 69, 70, 71, -1, -1, -1, -1, - 76, -1, -1, -1, -1, -1, 82, -1, 84, 85, - 86, -1, 88, 89, -1, -1, 92, -1, -1, 95, - 96, 97, -1, -1, 100, -1, 102, 3, 4, 5, - 6, -1, 8, 9, -1, -1, 12, -1, -1, 115, - -1, -1, -1, 119, -1, -1, -1, 123, -1, 125, - -1, -1, -1, 129, 971, -1, -1, -1, -1, -1, - 13, 14, 15, 16, 17, 18, 19, 20, -1, 45, - -1, 47, 48, 49, 50, 51, 29, 53, 54, 19, - 20, 57, -1, -1, -1, -1, 62, 63, -1, 29, - 773, -1, -1, 69, 70, 71, -1, -1, -1, -1, - 76, -1, 17, 18, 19, 20, 82, -1, 84, 85, - 86, -1, 88, 89, 29, -1, 92, -1, -1, 95, - 96, 97, -1, -1, 100, -1, 102, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 819, -1, -1, 115, - -1, -1, -1, 119, 827, -1, -1, 123, -1, 125, - -1, -1, -1, 129, -1, -1, -1, -1, -1, 112, - 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, - -1, 124, 125, 126, -1, -1, -1, 130, 118, 119, - 120, 121, 122, -1, 124, 125, 126, -1, 871, -1, + 1, 461, 46, 510, 5, 100, 101, 102, 103, 104, + 299, 106, 107, 108, 389, 35, 85, 86, 23, 23, + 115, 116, 6, 385, 119, 120, 388, 471, 390, 92, + 85, 117, 492, 196, 10, 0, 444, 12, 501, 8, + 9, 8, 9, 451, 452, 453, 454, 455, 456, 126, + 412, 413, 427, 415, 416, 417, 418, 465, 112, 92, + 61, 310, 126, 23, 391, 35, 8, 9, 395, 396, + 397, 398, 399, 127, 92, 483, 2, 166, 126, 29, + 126, 214, 109, 109, 85, 86, 126, 92, 92, 112, + 179, 180, 181, 182, 183, 184, 126, 459, 126, 8, + 9, 128, 128, 566, 127, 31, 32, 33, 34, 77, + 36, 433, 434, 8, 9, 79, 80, 81, 8, 9, + 109, 109, 108, 112, 92, 111, 488, 126, 503, 126, + 109, 109, 92, 422, 109, 105, 100, 300, 6, 202, + 128, 108, 205, 163, 128, 121, 609, 117, 118, 128, + 128, 108, 247, 613, 516, 126, 616, 320, 4, 128, + 126, 108, 8, 9, 111, 166, 108, 494, 212, 202, + 29, 420, 205, 633, 218, 125, 126, 127, 179, 180, + 181, 182, 183, 184, 202, 75, 187, 205, 632, 105, + 106, 107, 193, 601, 660, 196, 285, 202, 202, 126, + 205, 205, 111, 79, 80, 81, 369, 8, 9, 10, + 618, 117, 461, 14, 127, 128, 142, 143, 144, 145, + 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, + 156, 157, 158, 159, 160, 161, 162, 370, 164, 126, + 10, 126, 202, 492, 14, 205, 8, 9, 10, 111, + 51, 109, 14, 386, 576, 126, 389, 109, 580, 109, + 582, 109, 584, 585, 586, 309, 125, 126, 127, 109, + 128, 126, 127, 317, 437, 201, 128, 78, 128, 109, + 128, 51, 126, 109, 285, 8, 9, 109, 128, 51, + 665, 292, 111, 108, 427, 110, 111, 112, 128, 300, + 301, 102, 128, 111, 305, 111, 128, 308, 108, 109, + 126, 126, 127, 126, 127, 116, 126, 318, 111, 320, + 121, 126, 127, 127, 128, 126, 792, 50, 117, 128, + 256, 257, 102, 126, 127, 128, 121, 127, 471, 111, + 102, 29, 386, 8, 108, 389, 116, 126, 308, 117, + 126, 121, 6, 110, 116, 128, 126, 109, 118, 121, + 361, 128, 128, 128, 613, 128, 292, 90, 369, 829, + 503, 878, 128, 96, 97, 128, 109, 446, 128, 380, + 128, 29, 128, 427, 128, 386, 128, 118, 389, 128, + 391, 446, 29, 128, 395, 396, 397, 398, 399, 325, + 129, 402, 111, 423, 405, 425, 109, 873, 409, 126, + 126, 131, 787, 128, 509, 375, 126, 108, 126, 420, + 828, 108, 8, 467, 350, 109, 427, 471, 432, 433, + 434, 119, 120, 121, 122, 123, 437, 125, 126, 127, + 441, 118, 109, 444, 108, 446, 110, 111, 112, 121, + 451, 452, 453, 454, 455, 456, 457, 126, 478, 503, + 461, 121, 922, 825, 465, 470, 470, 608, 129, 121, + 109, 112, 938, 121, 122, 123, 942, 125, 126, 127, + 112, 111, 483, 409, 121, 122, 123, 447, 125, 126, + 127, 492, 91, 494, 121, 870, 126, 127, 128, 632, + 501, 117, 503, 126, 430, 29, 117, 869, 478, 510, + 470, 886, 56, 128, 128, 127, 982, 109, 131, 129, + 986, 128, 111, 67, 68, 109, 128, 8, 8, 9, + 10, 110, 665, 999, 14, 109, 80, 126, 127, 128, + 127, 126, 1008, 87, 51, 8, 9, 128, 4, 475, + 476, 477, 109, 479, 126, 131, 129, 919, 128, 128, + 935, 129, 128, 128, 131, 566, 110, 126, 112, 113, + 117, 51, 576, 617, 126, 501, 580, 117, 582, 109, + 584, 585, 586, 131, 510, 118, 587, 50, 632, 128, + 118, 126, 128, 110, 595, 119, 120, 121, 122, 123, + 601, 125, 126, 127, 110, 980, 128, 128, 609, 128, + 126, 126, 613, 126, 128, 616, 128, 618, 129, 118, + 128, 665, 102, 118, 594, 128, 596, 90, 126, 630, + 126, 128, 633, 96, 97, 655, 116, 100, 564, 128, + 566, 121, 508, 193, 789, 869, 126, 825, 919, 619, + 205, 195, 622, 623, 787, 446, 375, 595, 470, 660, + 447, 438, 205, 207, 665, 507, 751, -1, -1, -1, + -1, -1, -1, 814, 815, 816, 817, 221, 819, -1, + -1, 225, -1, 609, -1, -1, -1, 231, 232, -1, + -1, -1, -1, -1, 51, -1, 53, 54, -1, -1, + -1, 58, -1, -1, -1, 8, 9, -1, 634, 635, + 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, + 646, 647, 648, 649, 650, 651, 652, 653, 654, -1, + 656, -1, -1, -1, -1, -1, 831, 870, -1, -1, + -1, -1, -1, 787, 8, 9, -1, 50, -1, 293, + 751, -1, -1, 886, -1, -1, 897, 898, 899, 900, + 901, 902, 903, 904, 905, 906, 907, 908, 909, 910, + 911, 912, 913, 914, 915, -1, 133, 134, 135, 136, + 324, 45, -1, 47, 48, 49, 787, 90, -1, 53, + -1, 792, -1, 96, 97, -1, -1, 100, 818, 63, + -1, -1, 935, -1, -1, 69, 70, 71, 949, -1, + 8, 9, 169, -1, 171, -1, -1, -1, -1, -1, + 84, 85, -1, 367, -1, -1, 870, 828, 829, -1, + 374, 188, 376, -1, 98, -1, -1, 101, -1, 103, + -1, -1, 886, -1, -1, -1, -1, 980, 818, -1, + 991, -1, 50, -1, 780, -1, -1, -1, -1, -1, + 13, 14, 15, 16, 17, 18, 19, 20, -1, 870, + -1, -1, 873, -1, -1, -1, 29, 878, -1, -1, + -1, -1, -1, -1, -1, 886, -1, -1, 432, 433, + 434, 935, 90, -1, -1, -1, 916, -1, 96, 97, + 826, -1, 100, -1, -1, -1, -1, -1, 834, 14, + 15, 16, 17, 18, 19, 20, -1, 887, 888, 889, + -1, 922, -1, -1, 29, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 935, -1, 980, 938, -1, -1, + -1, 942, 299, 13, 14, 15, 16, 17, 18, 19, + 20, -1, 878, -1, -1, 975, -1, 977, 111, 29, + 113, 114, 115, 116, 508, -1, 119, 120, 121, 122, + 123, -1, 125, 126, 127, -1, -1, -1, -1, 980, + -1, 982, 1002, 1003, -1, 986, -1, 814, 815, 816, + 817, 917, 819, -1, 17, 18, 19, 20, 999, -1, + -1, -1, -1, -1, -1, 931, 29, 1008, -1, 114, + 115, 116, 117, 118, 119, 120, 121, 122, 123, 563, + 125, 126, 127, -1, -1, -1, -1, -1, -1, -1, + -1, 575, 576, 577, -1, -1, 580, -1, 582, -1, + 584, 585, 586, 113, 114, 115, 116, 591, -1, 119, + 120, 121, 122, 123, -1, 125, 126, 127, -1, -1, + -1, -1, -1, -1, -1, 422, -1, -1, -1, -1, + 897, 898, 899, 900, 901, 902, 903, 904, 905, 906, + 907, 908, 909, 910, 911, 912, 913, 914, 915, -1, + -1, -1, -1, -1, 117, 118, 119, 120, 121, 122, + 123, -1, 125, 126, 127, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 118, 119, 120, 121, 122, -1, 124, - 125, 126, -1, -1, -1, -1, -1, -1, -1, 3, - 4, 5, 6, 7, 8, 9, 10, 910, 12, 13, - 14, 15, 16, 17, 18, 19, 20, 21, 22, -1, - -1, 924, -1, -1, -1, 29, 30, 31, 32, 33, - 34, 35, 36, 37, 38, 39, 40, 41, 42, -1, - -1, 45, 46, 47, 48, 49, 50, 51, 52, 53, - 54, 55, -1, 57, -1, 59, 60, 61, 62, 63, - 64, 65, 66, 67, 68, 69, 70, -1, -1, -1, - 74, -1, 76, -1, 78, 79, 80, 81, 82, 83, - 84, 85, 86, 87, 88, 89, -1, 91, 92, 93, - 94, 95, 96, 97, -1, 99, 100, 101, 102, 103, - -1, -1, -1, 107, 108, 109, 110, 111, 112, 113, - 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, - 124, 125, 126, 127, 128, 129, 130, 3, 4, 5, - 6, 7, 8, 9, 10, -1, 12, 13, 14, 15, - 16, 17, 18, 19, 20, 21, 22, -1, -1, -1, - -1, -1, -1, 29, 30, 31, 32, 33, 34, 35, - 36, 37, 38, 39, 40, 41, 42, -1, -1, 45, - 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, - -1, 57, -1, 59, 60, 61, 62, 63, 64, 65, - 66, 67, 68, 69, 70, -1, -1, -1, 74, -1, - 76, -1, 78, 79, 80, 81, 82, 83, 84, 85, - 86, 87, 88, 89, -1, 91, 92, 93, 94, 95, - 96, 97, -1, 99, 100, 101, 102, 103, -1, -1, - -1, 107, 108, 109, 110, 111, 112, 113, 114, 115, - 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, - 126, 127, -1, 129, 130, 3, 4, 5, 6, -1, - 8, 9, -1, -1, -1, -1, -1, -1, 45, -1, - 47, 48, 49, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 14, 15, 16, 17, 18, 19, 20, - -1, -1, 69, 70, 71, -1, -1, 45, 29, 47, - 48, 49, 50, 51, -1, 53, 54, 84, 85, 57, - -1, -1, -1, -1, 62, 63, -1, -1, -1, -1, - 97, 69, 70, 71, -1, 102, -1, -1, 76, -1, - -1, -1, -1, -1, -1, -1, 84, 85, 86, -1, - 88, 89, -1, -1, 92, -1, -1, 95, 96, 97, - -1, -1, 100, -1, 102, 3, 4, 5, 6, -1, - 8, 9, -1, -1, -1, -1, -1, 115, -1, -1, - -1, 119, 120, -1, -1, 123, -1, 125, -1, -1, - -1, 129, 113, 114, 115, 116, 117, 118, 119, 120, - 121, 122, -1, 124, 125, 126, -1, 45, -1, 47, - 48, 49, 50, 51, -1, 53, 54, -1, -1, 57, - -1, -1, -1, -1, 62, 63, -1, -1, -1, -1, - -1, 69, 70, 71, -1, -1, -1, -1, 76, -1, - -1, -1, -1, -1, 82, -1, 84, 85, 86, -1, - 88, 89, -1, -1, 92, -1, -1, 95, 96, 97, - -1, -1, 100, -1, 102, 3, 4, 5, 6, -1, - 8, 9, -1, -1, -1, -1, -1, 115, -1, -1, - -1, 119, -1, -1, -1, 123, -1, 125, -1, -1, - -1, 129, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 949, 3, 4, 5, 6, 7, 8, 9, + 10, -1, 12, 13, 14, 15, 16, 17, 18, 19, + 20, 21, 22, -1, -1, -1, -1, -1, -1, 29, + 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, + 40, 41, 42, -1, 991, 45, 46, 47, 48, 49, + 50, 51, 52, 53, 54, 55, -1, 57, -1, 59, + 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, + 70, -1, -1, -1, 74, -1, 76, -1, 78, 79, + 80, 81, 82, 83, 84, 85, 86, 87, -1, 89, + 90, -1, 92, 93, 94, 95, 96, 97, 98, -1, + 100, 101, 102, 103, 104, -1, -1, -1, 108, 109, + 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, + 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, + 130, 131, 3, 4, 5, 6, 7, 8, 9, 10, + -1, 12, 13, 14, 15, 16, 17, 18, 19, 20, + 21, 22, -1, -1, -1, -1, -1, -1, 29, 30, + 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, + 41, 42, -1, -1, 45, 46, 47, 48, 49, 50, + 51, 52, 53, 54, 55, -1, 57, -1, 59, 60, + 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, + -1, -1, -1, 74, -1, 76, -1, 78, 79, 80, + 81, 82, 83, 84, 85, 86, 87, -1, 89, 90, + -1, 92, 93, 94, 95, 96, 97, 98, -1, 100, + 101, 102, 103, 104, -1, -1, -1, 108, 109, 110, + 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, + 121, 122, 123, 124, 125, 126, 127, 128, -1, 130, + 131, 3, 4, 5, 6, -1, 8, 9, -1, -1, + 12, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 14, 15, 16, 17, 18, + 19, 20, 45, -1, 47, 48, 49, -1, -1, -1, + 29, -1, -1, 45, -1, 47, 48, 49, 50, 51, + -1, 53, 54, -1, 978, 57, 69, 70, 71, -1, + 62, 63, -1, -1, -1, -1, -1, 69, 70, 71, + -1, 84, 85, -1, 76, -1, -1, -1, -1, -1, + 82, -1, 84, 85, 86, 98, -1, 89, 90, -1, + 103, 93, -1, -1, 96, 97, 98, -1, -1, 101, + -1, 103, 3, 4, 5, 6, -1, 8, 9, -1, + -1, 12, -1, 126, 116, -1, -1, -1, 120, -1, + -1, -1, 124, -1, 126, 114, 115, 116, 130, -1, + 119, 120, 121, 122, 123, -1, 125, 126, 127, -1, + -1, -1, -1, -1, 45, -1, 47, 48, 49, 50, + 51, -1, 53, 54, -1, -1, 57, -1, -1, -1, + -1, 62, 63, -1, -1, -1, -1, -1, 69, 70, + 71, -1, -1, -1, -1, 76, -1, -1, -1, -1, + -1, 82, -1, 84, 85, 86, -1, -1, 89, 90, + -1, -1, 93, -1, -1, 96, 97, 98, -1, -1, + 101, -1, 103, 3, 4, 5, 6, -1, 8, 9, + -1, 19, 20, -1, -1, 116, -1, -1, -1, 120, + -1, 29, -1, 124, -1, 126, -1, -1, -1, 130, + -1, -1, 15, 16, 17, 18, 19, 20, -1, -1, + -1, -1, -1, -1, -1, 45, 29, 47, 48, 49, + 50, 51, -1, 53, 54, -1, -1, 57, -1, -1, + -1, -1, 62, 63, -1, -1, -1, -1, -1, 69, + 70, 71, -1, -1, -1, -1, 76, -1, -1, -1, + -1, -1, -1, -1, 84, 85, 86, -1, -1, 89, + 90, -1, -1, 93, -1, -1, 96, 97, 98, -1, + -1, 101, -1, 103, 3, 4, 5, 6, -1, 8, + 9, 119, 120, 121, 122, 123, 116, 125, 126, 127, + 120, 121, -1, -1, 124, -1, 126, -1, -1, -1, + 130, 114, 115, 116, 117, 118, 119, 120, 121, 122, + 123, -1, 125, 126, 127, -1, 45, -1, 47, 48, + 49, 50, 51, -1, 53, 54, -1, -1, 57, -1, + -1, -1, -1, 62, 63, -1, -1, -1, -1, -1, + 69, 70, 71, -1, -1, -1, -1, 76, -1, -1, + -1, -1, -1, 82, -1, 84, 85, 86, -1, -1, + 89, 90, -1, -1, 93, -1, -1, 96, 97, 98, + 9, -1, 101, -1, 103, 3, 4, 5, 6, -1, + 8, 9, -1, -1, -1, -1, -1, 116, -1, -1, + -1, 120, -1, -1, -1, 124, -1, 126, -1, -1, + -1, 130, -1, -1, -1, -1, 45, -1, 47, 48, + 49, -1, -1, -1, -1, -1, -1, 45, -1, 47, + 48, 49, -1, -1, -1, 53, 54, -1, -1, -1, + 69, 70, 71, -1, 62, 63, -1, -1, -1, -1, + -1, 69, 70, -1, -1, 84, 85, -1, 76, -1, + -1, -1, -1, -1, -1, -1, 84, 85, 86, 98, + -1, 89, -1, -1, 103, 93, 3, 4, 5, 6, + 98, 8, 9, -1, -1, 103, -1, 3, 4, 5, + 6, -1, 8, 9, -1, -1, -1, -1, 116, -1, + -1, -1, 120, 121, -1, -1, 124, -1, 126, -1, + 128, -1, 130, -1, -1, -1, -1, -1, 45, -1, + 47, 48, 49, -1, -1, -1, 53, 54, -1, 45, + -1, 47, 48, 49, -1, 62, 63, 53, 54, -1, + 19, 20, 69, 70, -1, -1, 62, 63, -1, 76, + 29, -1, -1, 69, 70, -1, -1, 84, 85, 86, + 76, -1, 89, -1, -1, -1, 93, -1, 84, 85, + 86, 98, -1, 89, -1, -1, 103, 93, -1, -1, + -1, 108, 98, -1, -1, -1, -1, 103, -1, 116, + -1, -1, 108, 120, 121, -1, -1, 124, -1, 126, + 116, -1, -1, 130, 120, 121, -1, -1, 124, -1, + 126, -1, -1, -1, 130, 3, 4, 5, 6, -1, + 8, 9, -1, -1, -1, -1, 3, 4, 5, 6, + -1, 8, 9, -1, -1, -1, -1, -1, -1, -1, + 119, 120, 121, 122, 123, -1, 125, 126, 127, -1, -1, -1, -1, -1, -1, -1, -1, 45, -1, 47, - 48, 49, -1, -1, -1, 53, 54, -1, -1, -1, - -1, -1, -1, -1, 62, 63, -1, -1, -1, -1, - -1, 69, 70, -1, -1, -1, -1, -1, 76, -1, - -1, -1, -1, -1, -1, -1, 84, 85, 86, -1, - 88, -1, -1, -1, 92, 3, 4, 5, 6, 97, - 8, 9, -1, -1, 102, -1, -1, -1, 45, -1, - 47, 48, 49, -1, -1, -1, 53, 115, -1, -1, - -1, 119, 120, -1, -1, 123, 63, 125, -1, 127, - -1, 129, 69, 70, 71, -1, -1, 45, -1, 47, - 48, 49, -1, -1, -1, 53, 54, 84, 85, -1, - -1, -1, -1, -1, 62, 63, -1, -1, -1, -1, - 97, 69, 70, -1, -1, 102, -1, -1, 76, -1, - -1, -1, -1, -1, -1, -1, 84, 85, 86, -1, - 88, -1, -1, -1, 92, 3, 4, 5, 6, 97, - 8, 9, -1, -1, 102, -1, -1, -1, 45, 107, - 47, 48, 49, -1, -1, -1, -1, 115, -1, -1, - -1, 119, 120, -1, -1, 123, 63, 125, -1, -1, - -1, 129, 69, 70, 71, -1, -1, 45, -1, 47, - 48, 49, -1, -1, -1, 53, 54, 84, 85, -1, - -1, -1, -1, -1, 62, 63, -1, -1, -1, -1, - 97, 69, 70, -1, -1, 102, -1, -1, 76, -1, - -1, -1, -1, -1, -1, -1, 84, 85, 86, -1, - 88, -1, -1, -1, 92, 3, 4, 5, 6, 97, - 8, 9, -1, -1, 102, -1, -1, -1, -1, 107, - -1, -1, -1, -1, -1, -1, -1, 115, -1, -1, - -1, 119, 120, -1, -1, 123, -1, 125, -1, -1, - -1, 129, -1, -1, -1, -1, -1, 45, -1, 47, - 48, 49, -1, -1, -1, 53, 54, -1, -1, -1, - -1, -1, -1, -1, 62, 63, -1, -1, -1, -1, - -1, 69, 70, -1, -1, -1, -1, -1, 76, -1, - -1, -1, -1, -1, -1, -1, 84, 85, 86, -1, - 88, -1, -1, -1, 92, 3, 4, 5, 6, 97, - 8, 9, -1, -1, 102, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 115, -1, -1, - -1, 119, 120, -1, -1, 123, -1, 125, -1, 127, - -1, 129, -1, -1, -1, -1, -1, 45, -1, 47, - 48, 49, -1, -1, -1, 53, 54, -1, -1, -1, - -1, -1, -1, -1, 62, 63, -1, -1, -1, -1, - -1, 69, 70, -1, -1, -1, -1, -1, 76, -1, - -1, -1, -1, -1, -1, -1, 84, 85, 86, -1, - 88, -1, -1, -1, 92, 3, 4, 5, 6, 97, - 8, 9, -1, -1, 102, -1, -1, -1, -1, 107, - -1, -1, -1, -1, -1, -1, -1, 115, -1, -1, - -1, 119, 120, -1, -1, 123, -1, 125, -1, -1, - -1, 129, -1, -1, -1, -1, -1, 45, -1, 47, - 48, 49, -1, -1, -1, 53, 54, -1, -1, -1, - -1, -1, -1, -1, 62, 63, -1, -1, -1, -1, - -1, 69, 70, -1, -1, -1, -1, -1, 76, -1, - -1, -1, -1, -1, -1, -1, 84, 85, 86, -1, - 88, -1, -1, -1, 92, 3, 4, 5, 6, 97, - 8, 9, -1, -1, 102, -1, -1, -1, 45, -1, - 47, 48, 49, -1, -1, -1, 53, 115, -1, -1, - -1, 119, 120, -1, -1, 123, 63, 125, -1, 127, - -1, 129, 69, 70, 71, -1, -1, 45, -1, 47, - 48, 49, -1, -1, -1, 53, 54, 84, 85, -1, - -1, -1, -1, -1, 62, 63, -1, -1, -1, -1, - 97, 69, 70, -1, -1, 102, -1, -1, 76, -1, - 9, -1, -1, -1, -1, -1, 84, 85, 86, -1, - 88, -1, -1, -1, 92, -1, -1, -1, 125, 97, - -1, -1, -1, -1, 102, -1, -1, 13, 14, 15, - 16, 17, 18, 19, 20, -1, 45, 115, 47, 48, - 49, 119, 120, 29, -1, 123, -1, 125, -1, -1, - -1, 129, 13, 14, 15, 16, 17, 18, 19, 20, - 69, 70, 71, -1, -1, -1, -1, -1, 29, -1, - -1, -1, -1, -1, -1, 84, 85, -1, 13, 14, - 15, 16, 17, 18, 19, 20, -1, -1, 97, -1, - -1, -1, -1, 102, 29, -1, 31, 32, 33, 34, - 35, 36, 37, 38, 39, 40, 41, 42, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 52, -1, -1, - -1, -1, -1, -1, -1, -1, 112, 113, 114, 115, - 116, 117, 118, 119, 120, 121, 122, -1, 124, 125, - 126, 76, -1, -1, 130, -1, -1, -1, -1, -1, - -1, 112, 113, 114, 115, 116, 117, 118, 119, 120, - 121, 122, -1, 124, 125, 126, 8, 9, -1, 130, - -1, -1, -1, 108, -1, -1, 111, -1, 113, 114, - 115, 116, 117, 118, 119, 120, 121, 122, 123, -1, - 125, 126, -1, -1, 129, -1, -1, -1, -1, -1, - -1, -1, 44, 45, -1, 47, 48, 49, 50, 51, - -1, 53, -1, -1, -1, 57, 58, 59, 60, -1, - -1, 63, -1, -1, -1, -1, 68, 69, 70, 71, - -1, -1, 74, 8, 9, -1, 78, -1, -1, -1, - 82, -1, 84, 85, -1, 87, -1, 89, -1, -1, - -1, -1, -1, 95, 96, 97, -1, 99, 100, 101, - 102, -1, -1, -1, -1, 107, -1, -1, -1, 44, - 45, -1, 47, 48, 49, 50, 51, -1, 53, -1, - -1, 123, 57, 58, 59, 60, -1, -1, 63, -1, - -1, -1, -1, 68, 69, 70, 71, -1, -1, 74, - 8, 9, -1, 78, -1, -1, -1, 82, -1, 84, - 85, -1, 87, -1, 89, -1, -1, -1, -1, -1, - 95, 96, 97, -1, 99, 100, 101, 102, 13, 14, + 48, 49, -1, -1, -1, 53, 54, -1, 45, -1, + 47, 48, 49, -1, 62, 63, 53, 54, -1, -1, + -1, 69, 70, -1, -1, 62, 63, -1, 76, -1, + -1, -1, 69, 70, -1, -1, 84, 85, 86, 76, + -1, 89, -1, -1, -1, 93, -1, 84, 85, 86, + 98, -1, 89, -1, -1, 103, 93, 3, 4, 5, + 6, 98, 8, 9, -1, -1, 103, -1, 116, -1, + -1, 108, 120, 121, -1, -1, 124, -1, 126, 116, + 128, -1, 130, 120, 121, -1, -1, 124, 45, 126, + 47, 48, 49, 130, -1, -1, 53, -1, -1, 45, + -1, 47, 48, 49, -1, -1, 63, 53, 54, -1, + -1, -1, 69, 70, 71, -1, 62, 63, -1, -1, + -1, -1, -1, 69, 70, -1, -1, 84, 85, -1, + 76, -1, -1, -1, -1, -1, -1, -1, 84, 85, + 86, 98, -1, 89, -1, -1, 103, 93, 3, 4, + 5, 6, 98, 8, 9, -1, -1, 103, -1, 3, + 4, 5, 6, -1, 8, -1, -1, -1, -1, 126, + 116, -1, -1, -1, 120, 121, -1, -1, 124, -1, + 126, -1, 128, -1, 130, -1, -1, -1, -1, -1, + 45, -1, 47, 48, 49, -1, -1, -1, 53, 54, + -1, -1, -1, -1, -1, -1, -1, 62, 63, -1, + 54, -1, -1, -1, 69, 70, -1, -1, 62, -1, + -1, 76, -1, 15, 16, 17, 18, 19, 20, 84, + 85, 86, -1, -1, 89, -1, -1, 29, 93, -1, + -1, -1, 86, 98, -1, 89, -1, -1, 103, 93, + -1, 13, 14, 15, 16, 17, 18, 19, 20, -1, + -1, 116, -1, -1, -1, 120, 121, 29, -1, 124, + -1, 126, 116, -1, -1, 130, 120, 121, -1, -1, + 124, -1, 126, -1, -1, -1, 130, 13, 14, 15, + 16, 17, 18, 19, 20, -1, -1, -1, -1, -1, + -1, -1, -1, 29, -1, -1, 13, 14, 15, 16, + 17, 18, 19, 20, -1, -1, -1, -1, -1, -1, + -1, -1, 29, 115, 116, 117, 118, 119, 120, 121, + 122, 123, -1, 125, 126, 127, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 113, 114, 115, 116, 117, 118, 119, 120, 121, + 122, 123, -1, 125, 126, 127, -1, -1, -1, 131, + 13, 14, 15, 16, 17, 18, 19, 20, -1, -1, + -1, -1, -1, -1, -1, -1, 29, 113, 114, 115, + 116, 117, 118, 119, 120, 121, 122, 123, -1, 125, + 126, 127, -1, -1, -1, 131, 113, 114, 115, 116, + 117, 118, 119, 120, 121, 122, 123, -1, 125, 126, + 127, -1, -1, -1, 131, 13, 14, 15, 16, 17, + 18, 19, 20, -1, -1, -1, -1, -1, -1, -1, + -1, 29, -1, 31, 32, 33, 34, 35, 36, 37, + 38, 39, 40, 41, 42, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 52, -1, 109, -1, -1, -1, + 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, + 123, -1, 125, 126, 127, 128, -1, -1, 76, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 8, 9, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 109, -1, -1, 112, -1, 114, 115, 116, 117, + 118, 119, 120, 121, 122, 123, 124, -1, 126, 127, + 44, 45, 130, 47, 48, 49, 50, 51, -1, 53, + -1, -1, -1, 57, 58, 59, 60, -1, -1, 63, + -1, -1, -1, -1, 68, 69, 70, 71, -1, -1, + 74, -1, 8, 9, 78, -1, -1, -1, 82, -1, + 84, 85, -1, 87, -1, -1, 90, -1, -1, -1, + -1, -1, 96, 97, 98, -1, 100, 101, 102, 103, + -1, -1, -1, -1, 108, -1, -1, -1, 44, 45, + -1, 47, 48, 49, 50, 51, -1, 53, -1, -1, + 124, 57, 58, 59, 60, -1, -1, 63, -1, -1, + -1, -1, 68, 69, 70, 71, -1, -1, 74, -1, + 8, 9, 78, -1, -1, -1, 82, -1, 84, 85, + -1, 87, -1, -1, 90, -1, -1, -1, -1, -1, + 96, 97, 98, -1, 100, 101, 102, 103, 13, 14, 15, 16, 17, 18, 19, 20, 44, 45, -1, 47, - 48, 49, 50, 51, 29, 53, -1, -1, 123, 57, + 48, 49, 50, 51, 29, 53, -1, -1, 124, 57, 58, 59, 60, -1, -1, 63, -1, -1, -1, -1, 68, 69, 70, 71, -1, -1, 74, -1, -1, -1, 78, -1, -1, -1, 82, -1, 84, 85, -1, 87, - -1, 89, -1, -1, -1, -1, -1, 95, 96, 97, - -1, 99, 100, 101, 102, 13, 14, 15, 16, 17, - 18, 19, 20, -1, -1, -1, -1, -1, -1, -1, - -1, 29, -1, -1, -1, 123, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 110, -1, 112, 113, 114, - 115, 116, 117, 118, 119, 120, 121, 122, -1, 124, - 125, 126, 13, 14, 15, 16, 17, 18, 19, 20, - -1, -1, -1, -1, -1, -1, -1, -1, 29, 13, - 14, 15, 16, 17, 18, 19, 20, -1, -1, -1, - -1, -1, -1, -1, -1, 29, 13, 14, 15, 16, + -1, -1, 90, -1, -1, -1, -1, -1, 96, 97, + 98, -1, 100, 101, 102, 103, 13, 14, 15, 16, 17, 18, 19, 20, -1, -1, -1, -1, -1, -1, - -1, 109, 29, -1, 112, 113, 114, 115, 116, 117, - 118, 119, 120, 121, 122, -1, 124, 125, 126, 13, - 14, 15, 16, 17, 18, 19, 20, -1, -1, -1, - -1, -1, -1, -1, -1, 29, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 108, -1, -1, - -1, 112, 113, 114, 115, 116, 117, 118, 119, 120, - 121, 122, -1, 124, 125, 126, 110, -1, 112, 113, - 114, 115, 116, 117, 118, 119, 120, 121, 122, -1, - 124, 125, 126, -1, -1, 112, 113, 114, 115, 116, - 117, 118, 119, 120, 121, 122, -1, 124, 125, 126, - 13, 14, 15, 16, 17, 18, 19, 20, -1, -1, - -1, -1, -1, -1, -1, -1, 29, -1, 112, 113, - 114, 115, 116, 117, 118, 119, 120, 121, 122, -1, - 124, 125, 126, 13, 14, 15, 16, 17, 18, 19, + -1, -1, 29, -1, -1, -1, 124, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 111, -1, 113, 114, + 115, 116, 117, 118, 119, 120, 121, 122, 123, -1, + 125, 126, 127, 13, 14, 15, 16, 17, 18, 19, 20, -1, -1, -1, -1, -1, -1, -1, -1, 29, - 14, 15, 16, 17, 18, 19, 20, -1, -1, -1, + 13, 14, 15, 16, 17, 18, 19, 20, -1, -1, + -1, -1, -1, -1, -1, -1, 29, -1, 13, 14, + 15, 16, 17, 18, 19, 20, -1, -1, -1, -1, + -1, -1, -1, 110, 29, -1, 113, 114, 115, 116, + 117, 118, 119, 120, 121, 122, 123, -1, 125, 126, + 127, 13, 14, 15, 16, 17, 18, 19, 20, -1, + -1, -1, -1, -1, -1, -1, -1, 29, 15, 16, + 17, 18, 19, 20, -1, -1, -1, -1, -1, 109, + -1, -1, 29, 113, 114, 115, 116, 117, 118, 119, + 120, 121, 122, 123, -1, 125, 126, 127, 111, -1, + 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, + 123, -1, 125, 126, 127, -1, -1, -1, 113, 114, + 115, 116, 117, 118, 119, 120, 121, 122, 123, -1, + 125, 126, 127, 15, 16, 17, 18, 19, 20, -1, + -1, -1, -1, -1, -1, -1, -1, 29, -1, -1, + -1, 113, 114, 115, 116, 117, 118, 119, 120, 121, + 122, 123, -1, 125, 126, 127, -1, -1, -1, 116, + 117, 118, 119, 120, 121, 122, 123, -1, 125, 126, + 127, 15, 16, 17, 18, 19, 20, -1, -1, -1, -1, -1, -1, -1, -1, 29, 15, 16, 17, 18, 19, 20, -1, -1, -1, -1, -1, -1, -1, -1, 29, 15, 16, 17, 18, 19, 20, -1, -1, -1, - -1, -1, -1, -1, -1, 29, -1, 110, -1, 112, - 113, 114, 115, -1, -1, 118, 119, 120, 121, 122, - -1, 124, 125, 126, 15, 16, 17, 18, 19, 20, - -1, -1, -1, -1, -1, -1, -1, -1, 29, -1, - -1, -1, 112, 113, 114, 115, -1, -1, 118, 119, - 120, 121, 122, -1, 124, 125, 126, -1, -1, 113, - 114, 115, -1, -1, 118, 119, 120, 121, 122, -1, - 124, 125, 126, -1, 113, 114, 115, 116, 117, 118, - 119, 120, 121, 122, -1, 124, 125, 126, -1, -1, - -1, 115, 116, 117, 118, 119, 120, 121, 122, -1, - 124, 125, 126, 15, 16, 17, 18, 19, 20, -1, - -1, -1, -1, -1, -1, -1, -1, 29, 15, 16, - 17, 18, 19, 20, -1, 116, 117, 118, 119, 120, - 121, 122, 29, 124, 125, 126, 15, 16, 17, 18, - 19, 20, -1, -1, -1, 43, -1, -1, -1, -1, - 29, -1, -1, -1, -1, -1, -1, -1, 56, -1, - -1, -1, -1, 61, -1, -1, 64, -1, -1, -1, - -1, -1, -1, -1, 72, 73, -1, 75, -1, -1, - -1, 79, 80, 81, -1, -1, -1, -1, 0, -1, - -1, -1, 90, -1, -1, -1, 94, -1, -1, -1, - 98, -1, 114, 115, -1, -1, 118, 119, 120, 121, - 122, 109, 124, 125, 126, -1, -1, -1, 115, -1, - -1, 118, 119, 120, 121, 122, -1, 124, 125, 126, - 128, 43, -1, -1, -1, -1, -1, -1, -1, 118, - 119, 120, 121, 122, 56, 124, 125, 126, -1, 61, - 8, 9, 64, -1, -1, -1, -1, -1, -1, -1, - 72, 73, -1, 75, -1, -1, -1, 79, 80, 81, - -1, -1, -1, -1, -1, -1, -1, -1, 90, -1, - -1, -1, 94, -1, -1, -1, 98, 45, -1, 47, - 48, 49, 50, 51, -1, 53, -1, 109, -1, -1, - -1, -1, -1, -1, -1, 63, 8, 9, -1, -1, - -1, 69, 70, 71, -1, -1, 9, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 84, 85, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 95, -1, 97, - -1, -1, 100, 45, 102, 47, 48, 49, -1, -1, - -1, 53, 45, -1, 47, 48, 49, 50, 51, -1, - 53, 63, -1, -1, 57, -1, -1, 69, 70, 71, - 63, -1, 9, -1, -1, -1, 69, 70, 71, -1, + -1, -1, -1, -1, -1, 29, -1, -1, -1, -1, + -1, -1, 114, 115, 116, -1, -1, 119, 120, 121, + 122, 123, -1, 125, 126, 127, 15, 16, 17, 18, + 19, 20, -1, -1, -1, -1, -1, -1, -1, -1, + 29, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 117, 118, 119, 120, 121, 122, 123, + -1, 125, 126, 127, -1, -1, 115, 116, -1, 0, + 119, 120, 121, 122, 123, -1, 125, 126, 127, -1, + -1, -1, 116, -1, -1, 119, 120, 121, 122, 123, + -1, 125, 126, 127, 17, 18, 19, 20, -1, -1, + -1, -1, -1, -1, -1, -1, 29, -1, -1, -1, + -1, -1, 43, 45, -1, 47, 48, 49, -1, -1, + 119, 120, 121, 122, 123, 56, 125, 126, 127, -1, + 61, -1, -1, 64, -1, -1, -1, 69, 70, 71, + -1, 72, 73, -1, 75, -1, 8, 9, 79, 80, + 81, -1, 84, 85, -1, -1, -1, 88, -1, -1, + 91, -1, -1, -1, 95, -1, 98, -1, 99, -1, + -1, 103, -1, -1, -1, -1, -1, -1, -1, 110, + -1, -1, -1, 45, -1, 47, 48, 49, 50, 51, + -1, 53, -1, -1, 126, -1, 119, 120, 121, 122, + 123, 63, 125, 126, 127, -1, 9, 69, 70, 71, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 84, 85, -1, -1, -1, -1, -1, -1, - -1, 84, 85, -1, -1, 97, 89, -1, 100, -1, - 102, -1, 95, 96, 97, -1, -1, 100, 45, 102, - 47, 48, 49, 50, 51, -1, 53, -1, -1, -1, - 57, -1, -1, -1, -1, -1, 63, -1, 9, -1, - -1, -1, 69, 70, 71, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 84, 85, -1, - -1, -1, 89, 45, -1, 47, 48, 49, 95, 96, - 97, -1, -1, 100, 45, 102, 47, 48, 49, 50, - -1, -1, 53, -1, -1, -1, 57, 69, 70, 71, - -1, -1, 63, -1, 9, -1, -1, -1, 69, 70, - 71, -1, 84, 85, -1, -1, -1, -1, -1, -1, - -1, 82, -1, 84, 85, 97, -1, -1, 89, -1, - 102, -1, -1, -1, 95, 96, 97, -1, -1, 100, - 45, 102, 47, 48, 49, 50, -1, -1, 53, -1, - -1, -1, 57, 125, -1, -1, -1, -1, 63, -1, - 9, -1, -1, -1, 69, 70, 71, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 84, - 85, -1, -1, -1, 89, 45, -1, 47, 48, 49, - 95, 96, 97, -1, -1, 100, 45, 102, 47, 48, - 49, 50, -1, -1, 53, -1, -1, -1, 57, 69, - 70, 71, -1, -1, 63, -1, -1, -1, -1, -1, - 69, 70, 71, -1, 84, 85, -1, -1, -1, -1, - -1, 43, -1, -1, -1, 84, 85, 97, -1, -1, - 89, -1, 102, -1, 56, -1, 95, 96, 97, 61, - -1, 100, 64, 102, -1, -1, -1, -1, 43, -1, - 72, 73, -1, 75, -1, 125, -1, 79, 80, 81, - -1, 56, -1, -1, -1, -1, 61, -1, 90, 64, - -1, -1, 94, -1, -1, 43, 98, 72, 73, -1, - 75, -1, -1, -1, 79, 80, 81, 109, 56, -1, - -1, -1, -1, 61, -1, 90, 64, -1, -1, 94, - -1, -1, 43, 98, 72, 73, 128, 75, -1, -1, - -1, 79, 80, 81, 109, 56, -1, -1, -1, -1, - 61, -1, 90, 64, -1, -1, 94, -1, -1, -1, - 98, 72, 73, 128, 75, -1, -1, -1, 79, 80, - 81, 109, -1, -1, -1, -1, -1, -1, -1, 90, - -1, -1, 45, 94, 47, 48, 49, 98, -1, -1, - 128, -1, -1, -1, -1, -1, -1, -1, 109, -1, - -1, -1, -1, -1, -1, -1, 69, 70, 71, -1, - -1, -1, 43, -1, -1, -1, -1, 128, -1, -1, - -1, 84, 85, -1, -1, 56, -1, -1, -1, -1, - 61, -1, -1, 64, 97, -1, -1, -1, -1, 102, - -1, 72, 73, -1, 75, -1, -1, -1, 79, 80, - 81, -1, -1, -1, -1, -1, -1, -1, -1, 90, - -1, -1, 125, 94, -1, -1, -1, 98 + -1, -1, -1, -1, 96, -1, 98, -1, -1, 101, + -1, 103, 45, -1, 47, 48, 49, 50, 51, -1, + 53, -1, -1, -1, 57, -1, -1, -1, -1, -1, + 63, -1, -1, 9, -1, -1, 69, 70, 71, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 84, 85, -1, -1, -1, -1, 90, 45, -1, + 47, 48, 49, 96, 97, 98, -1, -1, 101, 45, + 103, 47, 48, 49, 50, 51, -1, 53, -1, -1, + -1, 57, 69, 70, 71, -1, -1, 63, -1, -1, + 9, -1, -1, 69, 70, 71, -1, 84, 85, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 84, 85, + -1, 98, -1, -1, 90, -1, 103, -1, -1, -1, + 96, 97, 98, -1, -1, 101, 45, 103, 47, 48, + 49, 50, -1, -1, 53, -1, -1, -1, 57, 126, + -1, -1, -1, -1, 63, -1, -1, 9, -1, -1, + 69, 70, 71, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 82, -1, 84, 85, -1, -1, -1, + -1, 90, 45, -1, 47, 48, 49, 96, 97, 98, + 53, -1, 101, 45, 103, 47, 48, 49, 50, -1, + 63, 53, -1, -1, -1, 57, 69, 70, 71, -1, + -1, 63, -1, -1, 9, -1, -1, 69, 70, 71, + -1, 84, 85, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 84, 85, -1, 98, -1, -1, 90, 45, + 103, 47, 48, 49, 96, 97, 98, -1, -1, 101, + 45, 103, 47, 48, 49, 50, -1, 63, 53, -1, + -1, -1, 57, 69, 70, 71, -1, -1, 63, -1, + -1, -1, -1, -1, 69, 70, 71, -1, 84, 85, + -1, -1, -1, -1, -1, -1, 43, -1, -1, 84, + 85, -1, 98, -1, -1, 90, -1, 103, -1, 56, + -1, 96, 97, 98, 61, -1, 101, 64, 103, -1, + -1, -1, -1, -1, 43, 72, 73, -1, 75, -1, + -1, -1, 79, 80, 81, -1, -1, 56, -1, -1, + -1, 88, 61, -1, 91, 64, -1, -1, 95, -1, + -1, -1, 99, 72, 73, -1, 75, 43, -1, -1, + 79, 80, 81, 110, -1, -1, -1, -1, -1, 88, + 56, -1, 91, -1, -1, 61, 95, -1, 64, -1, + 99, -1, 129, -1, -1, 43, 72, 73, -1, 75, + -1, 110, -1, 79, 80, 81, -1, -1, 56, -1, + -1, -1, 88, 61, -1, 91, 64, -1, -1, 95, + 129, -1, -1, 99, 72, 73, -1, 75, 43, -1, + -1, 79, 80, 81, 110, -1, -1, -1, -1, -1, + 88, 56, -1, 91, -1, -1, 61, 95, -1, 64, + -1, 99, -1, 129, -1, -1, -1, 72, 73, -1, + 75, -1, 110, -1, 79, 80, 81, 45, -1, 47, + 48, 49, -1, 88, -1, -1, 91, -1, -1, -1, + 95, 129, -1, -1, 99, -1, -1, -1, -1, -1, + -1, 69, 70, 71, -1, 110, -1, 43, -1, -1, + -1, -1, -1, -1, -1, -1, 84, 85, -1, -1, + 56, -1, -1, -1, 129, 61, -1, -1, 64, -1, + 98, -1, -1, -1, -1, 103, 72, 73, -1, 75, + -1, -1, -1, 79, 80, 81, -1, -1, -1, -1, + -1, -1, 88, -1, -1, 91, -1, -1, -1, 95, + -1, -1, -1, 99 }; /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing symbol of state STATE-NUM. */ static const yytype_uint8 yystos[] = { - 0, 104, 105, 106, 132, 133, 223, 3, 4, 5, + 0, 105, 106, 107, 133, 134, 224, 3, 4, 5, 6, 8, 9, 45, 47, 48, 49, 53, 54, 62, - 63, 69, 70, 76, 84, 85, 86, 88, 92, 97, - 102, 115, 119, 120, 123, 125, 129, 216, 217, 222, + 63, 69, 70, 76, 84, 85, 86, 89, 93, 98, + 103, 116, 120, 121, 124, 126, 130, 217, 218, 223, 9, 45, 47, 48, 49, 50, 51, 53, 57, 63, - 69, 70, 71, 84, 85, 89, 95, 96, 97, 100, - 102, 183, 186, 187, 189, 194, 195, 199, 200, 204, - 205, 206, 207, 0, 43, 56, 61, 64, 72, 73, - 75, 79, 80, 81, 90, 94, 98, 109, 136, 138, - 139, 141, 142, 143, 164, 201, 203, 223, 125, 125, - 125, 125, 125, 125, 116, 125, 125, 125, 9, 95, - 185, 199, 200, 204, 125, 125, 125, 116, 125, 125, - 216, 216, 216, 216, 9, 45, 47, 48, 49, 53, - 63, 69, 70, 84, 85, 97, 102, 186, 214, 216, - 216, 13, 14, 15, 16, 17, 18, 19, 20, 29, - 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, - 122, 124, 125, 126, 6, 183, 53, 63, 70, 205, - 70, 205, 205, 8, 9, 221, 205, 10, 14, 51, - 101, 115, 120, 125, 182, 223, 107, 110, 221, 107, - 221, 110, 140, 125, 125, 107, 221, 110, 110, 110, - 141, 142, 165, 141, 148, 75, 221, 8, 9, 44, - 51, 58, 59, 60, 68, 74, 78, 82, 87, 95, - 99, 101, 107, 123, 153, 184, 187, 189, 194, 199, - 200, 204, 213, 214, 223, 213, 213, 213, 213, 213, - 186, 213, 213, 213, 221, 125, 221, 221, 213, 213, - 186, 186, 213, 213, 127, 108, 127, 216, 216, 216, + 69, 70, 71, 84, 85, 90, 96, 97, 98, 101, + 103, 184, 187, 188, 190, 195, 196, 200, 201, 205, + 206, 207, 208, 0, 43, 56, 61, 64, 72, 73, + 75, 79, 80, 81, 88, 91, 95, 99, 110, 137, + 139, 140, 142, 143, 144, 165, 202, 204, 224, 126, + 126, 126, 126, 126, 126, 117, 126, 126, 126, 9, + 96, 186, 200, 201, 205, 126, 126, 126, 117, 126, + 126, 217, 217, 217, 217, 9, 45, 47, 48, 49, + 53, 63, 69, 70, 84, 85, 98, 103, 187, 215, + 217, 217, 13, 14, 15, 16, 17, 18, 19, 20, + 29, 113, 114, 115, 116, 117, 118, 119, 120, 121, + 122, 123, 125, 126, 127, 6, 184, 53, 63, 70, + 206, 70, 206, 206, 8, 9, 222, 206, 10, 14, + 51, 102, 116, 121, 126, 183, 224, 108, 111, 222, + 108, 222, 111, 141, 126, 126, 108, 222, 111, 111, + 111, 126, 142, 143, 166, 142, 149, 75, 222, 8, + 9, 44, 51, 58, 59, 60, 68, 74, 78, 82, + 87, 96, 100, 102, 108, 124, 154, 185, 188, 190, + 195, 200, 201, 205, 214, 215, 224, 214, 214, 214, + 214, 214, 187, 214, 214, 214, 222, 126, 222, 222, + 214, 214, 187, 187, 214, 214, 128, 109, 128, 217, + 217, 217, 217, 217, 217, 217, 217, 217, 217, 217, + 217, 217, 217, 217, 217, 217, 217, 217, 217, 217, + 128, 215, 217, 183, 63, 121, 183, 183, 183, 183, + 183, 183, 127, 198, 199, 224, 9, 197, 206, 111, + 189, 191, 139, 8, 222, 134, 108, 217, 117, 51, + 154, 185, 222, 126, 126, 184, 223, 51, 184, 222, + 138, 222, 108, 110, 111, 112, 177, 110, 145, 222, + 222, 128, 128, 128, 128, 128, 128, 118, 128, 128, + 128, 214, 128, 128, 128, 118, 128, 128, 217, 217, + 111, 128, 131, 183, 128, 213, 217, 224, 222, 129, + 197, 134, 111, 192, 193, 224, 109, 109, 129, 203, + 109, 128, 8, 9, 50, 51, 96, 167, 168, 169, + 170, 205, 224, 184, 177, 150, 155, 10, 121, 156, + 146, 184, 8, 9, 10, 14, 51, 102, 116, 121, + 181, 224, 134, 126, 209, 210, 135, 136, 222, 108, + 217, 10, 14, 51, 78, 102, 116, 121, 126, 147, + 171, 222, 111, 126, 128, 126, 217, 126, 131, 109, + 112, 129, 79, 80, 81, 100, 194, 108, 109, 8, + 222, 134, 223, 222, 170, 222, 118, 109, 8, 9, + 10, 14, 51, 102, 116, 121, 126, 182, 224, 151, + 152, 171, 3, 4, 5, 8, 12, 51, 54, 62, + 76, 82, 86, 89, 93, 116, 120, 124, 126, 130, + 173, 174, 180, 184, 219, 220, 223, 224, 121, 171, + 173, 148, 171, 181, 121, 181, 181, 181, 181, 181, + 126, 127, 129, 157, 129, 211, 224, 108, 109, 126, + 108, 178, 179, 217, 224, 110, 121, 171, 171, 13, + 14, 15, 16, 17, 18, 19, 20, 29, 31, 32, + 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, + 52, 76, 109, 112, 114, 115, 116, 117, 118, 119, + 120, 121, 122, 123, 124, 126, 127, 130, 163, 171, + 171, 171, 171, 111, 112, 126, 127, 176, 177, 224, + 197, 215, 215, 173, 217, 96, 100, 201, 221, 222, + 100, 221, 100, 221, 79, 80, 81, 134, 194, 109, + 128, 109, 129, 128, 112, 182, 112, 143, 164, 165, + 169, 121, 182, 182, 182, 182, 182, 182, 112, 127, + 175, 224, 153, 171, 176, 177, 182, 82, 184, 117, + 186, 180, 126, 117, 217, 217, 217, 187, 215, 217, + 128, 12, 109, 182, 13, 14, 15, 16, 17, 18, + 19, 20, 29, 113, 114, 115, 116, 117, 118, 119, + 120, 121, 122, 123, 125, 126, 127, 171, 111, 128, + 128, 176, 177, 126, 181, 160, 213, 173, 3, 4, + 5, 6, 7, 8, 9, 10, 12, 13, 14, 15, + 16, 17, 18, 19, 20, 21, 22, 29, 30, 31, + 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, + 42, 45, 46, 47, 48, 49, 50, 51, 52, 53, + 54, 55, 57, 59, 60, 61, 62, 63, 64, 65, + 66, 67, 68, 69, 70, 74, 76, 78, 79, 80, + 81, 82, 83, 84, 85, 86, 87, 89, 90, 92, + 93, 94, 95, 96, 97, 98, 100, 101, 102, 103, + 104, 108, 109, 110, 111, 112, 113, 114, 115, 116, + 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, + 127, 128, 130, 131, 212, 209, 136, 214, 178, 129, + 109, 171, 128, 131, 128, 4, 217, 172, 213, 109, + 128, 128, 128, 109, 222, 221, 222, 221, 221, 221, + 221, 221, 129, 8, 110, 222, 187, 175, 187, 182, + 128, 54, 86, 89, 116, 120, 121, 124, 126, 130, + 216, 218, 213, 176, 177, 109, 112, 176, 184, 182, + 187, 126, 187, 187, 128, 128, 51, 162, 224, 12, + 180, 176, 217, 217, 217, 217, 217, 217, 217, 217, + 217, 217, 217, 217, 217, 217, 217, 217, 217, 217, + 217, 217, 217, 128, 215, 217, 128, 126, 162, 109, + 161, 173, 131, 128, 211, 129, 128, 129, 108, 217, + 173, 131, 147, 162, 128, 128, 126, 117, 126, 117, + 216, 216, 216, 216, 187, 215, 216, 13, 14, 15, + 16, 17, 18, 19, 20, 29, 113, 114, 115, 116, + 119, 120, 121, 122, 123, 125, 126, 127, 131, 109, + 152, 217, 182, 176, 118, 214, 128, 118, 217, 77, + 92, 111, 128, 131, 126, 158, 148, 173, 128, 162, + 129, 178, 128, 110, 110, 173, 187, 187, 187, 128, + 128, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, - 216, 216, 216, 216, 216, 216, 216, 216, 127, 214, - 216, 182, 63, 120, 182, 182, 182, 182, 182, 182, - 126, 197, 198, 223, 9, 196, 205, 110, 188, 190, - 138, 8, 221, 133, 107, 116, 51, 153, 184, 221, - 125, 125, 183, 222, 51, 183, 221, 137, 221, 107, - 109, 110, 111, 176, 109, 144, 221, 221, 127, 127, - 127, 127, 127, 127, 117, 127, 127, 127, 213, 127, - 127, 127, 117, 127, 127, 216, 216, 110, 127, 130, - 182, 127, 212, 216, 223, 221, 128, 196, 133, 110, - 191, 192, 223, 108, 108, 128, 202, 8, 9, 50, - 51, 95, 166, 167, 168, 169, 204, 223, 183, 176, - 149, 154, 10, 120, 155, 145, 183, 8, 9, 10, - 14, 51, 101, 115, 120, 180, 223, 133, 125, 208, - 209, 134, 135, 221, 107, 216, 10, 14, 51, 78, - 101, 115, 120, 125, 146, 170, 221, 110, 125, 127, - 125, 216, 125, 130, 108, 111, 128, 79, 80, 81, - 99, 193, 107, 108, 8, 221, 133, 221, 169, 221, - 117, 108, 8, 9, 10, 14, 51, 101, 115, 120, - 125, 181, 223, 150, 151, 170, 3, 4, 5, 8, - 12, 51, 54, 62, 76, 82, 86, 88, 92, 115, - 119, 123, 125, 129, 172, 173, 179, 183, 218, 219, - 222, 223, 120, 170, 172, 147, 170, 180, 120, 180, - 180, 180, 180, 180, 125, 126, 128, 156, 128, 210, - 223, 107, 108, 125, 107, 177, 178, 216, 223, 109, - 120, 170, 170, 13, 14, 15, 16, 17, 18, 19, - 20, 29, 31, 32, 33, 34, 35, 36, 37, 38, - 39, 40, 41, 42, 52, 76, 108, 111, 113, 114, - 115, 116, 117, 118, 119, 120, 121, 122, 123, 125, - 126, 129, 162, 170, 170, 170, 170, 110, 111, 125, - 126, 175, 176, 223, 196, 214, 214, 172, 216, 95, - 99, 200, 220, 221, 99, 220, 99, 220, 79, 80, - 81, 133, 193, 108, 127, 108, 128, 111, 181, 111, - 142, 163, 164, 168, 120, 181, 181, 181, 181, 181, - 181, 111, 126, 174, 223, 152, 170, 175, 176, 181, - 82, 183, 116, 185, 179, 125, 116, 216, 216, 216, - 186, 214, 216, 127, 12, 108, 181, 13, 14, 15, - 16, 17, 18, 19, 20, 29, 112, 113, 114, 115, - 116, 117, 118, 119, 120, 121, 122, 124, 125, 126, - 170, 110, 127, 127, 175, 176, 125, 180, 159, 212, - 172, 3, 4, 5, 6, 7, 8, 9, 10, 12, - 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, - 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, - 39, 40, 41, 42, 45, 46, 47, 48, 49, 50, - 51, 52, 53, 54, 55, 57, 59, 60, 61, 62, - 63, 64, 65, 66, 67, 68, 69, 70, 74, 76, - 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, - 88, 89, 91, 92, 93, 94, 95, 96, 97, 99, - 100, 101, 102, 103, 107, 108, 109, 110, 111, 112, - 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, - 123, 124, 125, 126, 127, 129, 130, 211, 208, 135, - 213, 177, 128, 108, 170, 127, 130, 127, 4, 216, - 171, 212, 108, 127, 127, 127, 108, 221, 220, 221, - 220, 220, 220, 220, 220, 128, 8, 109, 221, 186, - 174, 186, 181, 127, 54, 86, 88, 115, 119, 120, - 123, 125, 129, 215, 217, 212, 175, 176, 108, 111, - 175, 183, 181, 186, 125, 186, 186, 127, 127, 51, - 161, 223, 12, 179, 175, 216, 216, 216, 216, 216, - 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, - 216, 216, 216, 216, 216, 216, 127, 214, 216, 127, - 125, 161, 108, 160, 172, 130, 127, 210, 128, 127, - 128, 107, 216, 172, 130, 146, 161, 127, 127, 125, - 116, 125, 116, 215, 215, 215, 215, 186, 214, 215, - 13, 14, 15, 16, 17, 18, 19, 20, 29, 112, - 113, 114, 115, 118, 119, 120, 121, 122, 124, 125, - 126, 130, 108, 151, 216, 181, 175, 117, 213, 127, - 117, 216, 77, 91, 110, 127, 130, 125, 157, 147, - 172, 127, 161, 128, 177, 127, 109, 109, 172, 186, - 186, 186, 127, 127, 215, 215, 215, 215, 215, 215, - 215, 215, 215, 215, 215, 215, 215, 215, 215, 215, - 215, 215, 215, 127, 214, 216, 152, 175, 125, 127, - 125, 125, 216, 158, 172, 127, 161, 128, 161, 127, - 117, 127, 117, 215, 110, 127, 130, 214, 214, 127, - 221, 172, 127, 161, 161, 125, 125, 215, 127, 127, - 127, 127, 161, 214, 214, 161, 127, 127 + 128, 215, 217, 153, 176, 126, 128, 126, 126, 217, + 159, 173, 128, 162, 129, 162, 128, 118, 128, 118, + 216, 111, 128, 131, 215, 215, 128, 222, 173, 128, + 162, 162, 126, 126, 216, 128, 128, 128, 128, 162, + 215, 215, 162, 128, 128 }; #define yyerrok (yyerrstatus = 0) @@ -3407,7 +3411,7 @@ yyreduce: { case 3: /* Line 1792 of yacc.c */ -#line 399 "dtool/src/cppparser/cppBison.yxx" +#line 398 "dtool/src/cppparser/cppBison.yxx" { current_expr = (yyvsp[(2) - (2)].u.expr); } @@ -3415,7 +3419,7 @@ yyreduce: case 4: /* Line 1792 of yacc.c */ -#line 403 "dtool/src/cppparser/cppBison.yxx" +#line 402 "dtool/src/cppparser/cppBison.yxx" { current_type = (yyvsp[(2) - (2)].u.type); } @@ -3423,7 +3427,7 @@ yyreduce: case 10: /* Line 1792 of yacc.c */ -#line 421 "dtool/src/cppparser/cppBison.yxx" +#line 420 "dtool/src/cppparser/cppBison.yxx" { delete (yyvsp[(3) - (4)].u.expr); } @@ -3431,7 +3435,7 @@ yyreduce: case 11: /* Line 1792 of yacc.c */ -#line 433 "dtool/src/cppparser/cppBison.yxx" +#line 432 "dtool/src/cppparser/cppBison.yxx" { push_storage_class((current_storage_class & ~CPPInstance::SC_c_binding) | ((yyvsp[(1) - (2)].u.integer) & CPPInstance::SC_c_binding)); @@ -3440,7 +3444,7 @@ yyreduce: case 12: /* Line 1792 of yacc.c */ -#line 438 "dtool/src/cppparser/cppBison.yxx" +#line 437 "dtool/src/cppparser/cppBison.yxx" { pop_storage_class(); } @@ -3448,7 +3452,7 @@ yyreduce: case 20: /* Line 1792 of yacc.c */ -#line 452 "dtool/src/cppparser/cppBison.yxx" +#line 451 "dtool/src/cppparser/cppBison.yxx" { if (publish_nest_level != 0) { yyerror("Unclosed __begin_publish", publish_loc); @@ -3465,7 +3469,7 @@ yyreduce: case 21: /* Line 1792 of yacc.c */ -#line 465 "dtool/src/cppparser/cppBison.yxx" +#line 464 "dtool/src/cppparser/cppBison.yxx" { if (publish_nest_level != 1) { yyerror("Unmatched __end_publish", (yylsp[(1) - (1)])); @@ -3478,7 +3482,7 @@ yyreduce: case 22: /* Line 1792 of yacc.c */ -#line 474 "dtool/src/cppparser/cppBison.yxx" +#line 473 "dtool/src/cppparser/cppBison.yxx" { current_scope->set_current_vis(V_published); } @@ -3486,7 +3490,7 @@ yyreduce: case 23: /* Line 1792 of yacc.c */ -#line 478 "dtool/src/cppparser/cppBison.yxx" +#line 477 "dtool/src/cppparser/cppBison.yxx" { if (publish_nest_level > 0) { current_scope->set_current_vis(V_published); @@ -3498,7 +3502,7 @@ yyreduce: case 24: /* Line 1792 of yacc.c */ -#line 486 "dtool/src/cppparser/cppBison.yxx" +#line 485 "dtool/src/cppparser/cppBison.yxx" { current_scope->set_current_vis(V_protected); } @@ -3506,7 +3510,7 @@ yyreduce: case 25: /* Line 1792 of yacc.c */ -#line 490 "dtool/src/cppparser/cppBison.yxx" +#line 489 "dtool/src/cppparser/cppBison.yxx" { current_scope->set_current_vis(V_private); } @@ -3514,7 +3518,7 @@ yyreduce: case 26: /* Line 1792 of yacc.c */ -#line 494 "dtool/src/cppparser/cppBison.yxx" +#line 493 "dtool/src/cppparser/cppBison.yxx" { CPPDeclaration *getter = (yyvsp[(5) - (7)].u.identifier)->find_symbol(current_scope, global_scope, current_lexer); @@ -3529,7 +3533,7 @@ yyreduce: case 27: /* Line 1792 of yacc.c */ -#line 505 "dtool/src/cppparser/cppBison.yxx" +#line 504 "dtool/src/cppparser/cppBison.yxx" { CPPDeclaration *getter = (yyvsp[(5) - (9)].u.identifier)->find_symbol(current_scope, global_scope, current_lexer); if (getter == (CPPDeclaration *)NULL || getter->get_subtype() != CPPDeclaration::ST_function_group) { @@ -3554,7 +3558,7 @@ yyreduce: case 28: /* Line 1792 of yacc.c */ -#line 526 "dtool/src/cppparser/cppBison.yxx" +#line 525 "dtool/src/cppparser/cppBison.yxx" { CPPMakeSeq *make_seq = new CPPMakeSeq((yyvsp[(3) - (9)].u.identifier)->get_simple_name(), (yyvsp[(5) - (9)].u.identifier)->get_simple_name(), (yyvsp[(7) - (9)].u.identifier)->get_simple_name(), (yylsp[(1) - (9)]).file); current_scope->add_declaration(make_seq, global_scope, current_lexer, (yylsp[(1) - (9)])); @@ -3563,7 +3567,34 @@ yyreduce: case 29: /* Line 1792 of yacc.c */ -#line 534 "dtool/src/cppparser/cppBison.yxx" +#line 530 "dtool/src/cppparser/cppBison.yxx" + { + CPPExpression::Result result = (yyvsp[(3) - (6)].u.expr)->evaluate(); + if (result._type == CPPExpression::RT_error) { + yywarning("static_assert requires a constant expression", (yylsp[(3) - (6)])); + } else if (!result.as_boolean()) { + yywarning("static_assert failed: " + (yyvsp[(5) - (6)].str), (yylsp[(3) - (6)])); + } +} + break; + + case 30: +/* Line 1792 of yacc.c */ +#line 539 "dtool/src/cppparser/cppBison.yxx" + { + // This alternative version of static_assert was introduced in C++17. + CPPExpression::Result result = (yyvsp[(3) - (4)].u.expr)->evaluate(); + if (result._type == CPPExpression::RT_error) { + yywarning("static_assert requires a constant expression", (yylsp[(3) - (4)])); + } else if (!result.as_boolean()) { + yywarning("static_assert failed", (yylsp[(3) - (4)])); + } +} + break; + + case 31: +/* Line 1792 of yacc.c */ +#line 552 "dtool/src/cppparser/cppBison.yxx" { CPPScope *new_scope = new CPPScope(current_scope, CPPNameComponent("temp"), V_public); @@ -3571,34 +3602,34 @@ yyreduce: } break; - case 30: + case 32: /* Line 1792 of yacc.c */ -#line 540 "dtool/src/cppparser/cppBison.yxx" +#line 558 "dtool/src/cppparser/cppBison.yxx" { delete current_scope; pop_scope(); } break; - case 31: + case 33: /* Line 1792 of yacc.c */ -#line 549 "dtool/src/cppparser/cppBison.yxx" +#line 567 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.integer) = 0; } break; - case 32: + case 34: /* Line 1792 of yacc.c */ -#line 553 "dtool/src/cppparser/cppBison.yxx" +#line 571 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.integer) = (yyvsp[(1) - (2)].u.integer) | (int)CPPInstance::SC_extern; } break; - case 33: + case 35: /* Line 1792 of yacc.c */ -#line 557 "dtool/src/cppparser/cppBison.yxx" +#line 575 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.integer) = (yyvsp[(1) - (3)].u.integer) | (int)CPPInstance::SC_extern; if ((yyvsp[(3) - (3)].str) == "C") { @@ -3611,89 +3642,89 @@ yyreduce: } break; - case 34: + case 36: /* Line 1792 of yacc.c */ -#line 568 "dtool/src/cppparser/cppBison.yxx" +#line 586 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.integer) = (yyvsp[(1) - (2)].u.integer) | (int)CPPInstance::SC_static; } break; - case 35: + case 37: /* Line 1792 of yacc.c */ -#line 572 "dtool/src/cppparser/cppBison.yxx" +#line 590 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.integer) = (yyvsp[(1) - (2)].u.integer) | (int)CPPInstance::SC_inline; } break; - case 36: + case 38: /* Line 1792 of yacc.c */ -#line 576 "dtool/src/cppparser/cppBison.yxx" +#line 594 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.integer) = (yyvsp[(1) - (2)].u.integer) | (int)CPPInstance::SC_virtual; } break; - case 37: + case 39: /* Line 1792 of yacc.c */ -#line 580 "dtool/src/cppparser/cppBison.yxx" +#line 598 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.integer) = (yyvsp[(1) - (2)].u.integer) | (int)CPPInstance::SC_explicit; } break; - case 38: + case 40: /* Line 1792 of yacc.c */ -#line 584 "dtool/src/cppparser/cppBison.yxx" +#line 602 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.integer) = (yyvsp[(1) - (2)].u.integer) | (int)CPPInstance::SC_volatile; } break; - case 39: + case 41: /* Line 1792 of yacc.c */ -#line 588 "dtool/src/cppparser/cppBison.yxx" +#line 606 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.integer) = (yyvsp[(1) - (2)].u.integer) | (int)CPPInstance::SC_mutable; } break; - case 40: + case 42: /* Line 1792 of yacc.c */ -#line 592 "dtool/src/cppparser/cppBison.yxx" +#line 610 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.integer) = (yyvsp[(1) - (2)].u.integer) | (int)CPPInstance::SC_register; } break; - case 41: + case 43: /* Line 1792 of yacc.c */ -#line 596 "dtool/src/cppparser/cppBison.yxx" +#line 614 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.integer) = (yyvsp[(1) - (2)].u.integer) | (int)CPPInstance::SC_blocking; } break; - case 42: + case 44: /* Line 1792 of yacc.c */ -#line 600 "dtool/src/cppparser/cppBison.yxx" +#line 618 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.integer) = (yyvsp[(1) - (2)].u.integer) | (int)CPPInstance::SC_extension; } break; - case 43: + case 45: /* Line 1792 of yacc.c */ -#line 607 "dtool/src/cppparser/cppBison.yxx" +#line 625 "dtool/src/cppparser/cppBison.yxx" { /* multiple_var_declaration adds itself to the scope. */ } break; - case 44: + case 46: /* Line 1792 of yacc.c */ -#line 611 "dtool/src/cppparser/cppBison.yxx" +#line 629 "dtool/src/cppparser/cppBison.yxx" { // We don't really care about the storage class here. In fact, it's // not actually legal to define a class or struct using a particular @@ -3704,9 +3735,9 @@ yyreduce: } break; - case 45: + case 47: /* Line 1792 of yacc.c */ -#line 620 "dtool/src/cppparser/cppBison.yxx" +#line 638 "dtool/src/cppparser/cppBison.yxx" { if ((yyvsp[(2) - (3)].u.instance) != (CPPInstance *)NULL) { (yyvsp[(2) - (3)].u.instance)->_storage_class |= (current_storage_class | (yyvsp[(1) - (3)].u.integer)); @@ -3716,9 +3747,9 @@ yyreduce: } break; - case 46: + case 48: /* Line 1792 of yacc.c */ -#line 631 "dtool/src/cppparser/cppBison.yxx" +#line 649 "dtool/src/cppparser/cppBison.yxx" { // We don't need to push/pop type, because we can't nest // multiple_var_declarations. @@ -3731,28 +3762,9 @@ yyreduce: } break; - case 47: -/* Line 1792 of yacc.c */ -#line 642 "dtool/src/cppparser/cppBison.yxx" - { - pop_storage_class(); -} - break; - - case 48: -/* Line 1792 of yacc.c */ -#line 646 "dtool/src/cppparser/cppBison.yxx" - { - // We don't need to push/pop type, because we can't nest - // multiple_var_declarations. - current_type = (yyvsp[(3) - (3)].u.type); - push_storage_class((yyvsp[(1) - (3)].u.integer)); -} - break; - case 49: /* Line 1792 of yacc.c */ -#line 653 "dtool/src/cppparser/cppBison.yxx" +#line 660 "dtool/src/cppparser/cppBison.yxx" { pop_storage_class(); } @@ -3762,31 +3774,25 @@ yyreduce: /* Line 1792 of yacc.c */ #line 664 "dtool/src/cppparser/cppBison.yxx" { - CPPInstance *inst = new CPPInstance(current_type, (yyvsp[(1) - (2)].u.inst_ident), - current_storage_class, - (yylsp[(1) - (2)]).file); - inst->set_initializer((yyvsp[(2) - (2)].u.expr)); - current_scope->add_declaration(inst, global_scope, current_lexer, (yylsp[(1) - (2)])); + // We don't need to push/pop type, because we can't nest + // multiple_var_declarations. + current_type = (yyvsp[(3) - (3)].u.type); + push_storage_class((yyvsp[(1) - (3)].u.integer)); } break; case 51: /* Line 1792 of yacc.c */ -#line 672 "dtool/src/cppparser/cppBison.yxx" +#line 671 "dtool/src/cppparser/cppBison.yxx" { - CPPInstance *inst = new CPPInstance(current_type, (yyvsp[(1) - (4)].u.inst_ident), - current_storage_class, - (yylsp[(1) - (4)]).file); - inst->set_initializer((yyvsp[(2) - (4)].u.expr)); - current_scope->add_declaration(inst, global_scope, current_lexer, (yylsp[(1) - (4)])); + pop_storage_class(); } break; case 52: /* Line 1792 of yacc.c */ -#line 683 "dtool/src/cppparser/cppBison.yxx" +#line 682 "dtool/src/cppparser/cppBison.yxx" { - (yyvsp[(1) - (2)].u.inst_ident)->add_modifier(IIT_const); CPPInstance *inst = new CPPInstance(current_type, (yyvsp[(1) - (2)].u.inst_ident), current_storage_class, (yylsp[(1) - (2)]).file); @@ -3797,9 +3803,8 @@ yyreduce: case 53: /* Line 1792 of yacc.c */ -#line 692 "dtool/src/cppparser/cppBison.yxx" +#line 690 "dtool/src/cppparser/cppBison.yxx" { - (yyvsp[(1) - (4)].u.inst_ident)->add_modifier(IIT_const); CPPInstance *inst = new CPPInstance(current_type, (yyvsp[(1) - (4)].u.inst_ident), current_storage_class, (yylsp[(1) - (4)]).file); @@ -3810,7 +3815,33 @@ yyreduce: case 54: /* Line 1792 of yacc.c */ -#line 705 "dtool/src/cppparser/cppBison.yxx" +#line 701 "dtool/src/cppparser/cppBison.yxx" + { + (yyvsp[(1) - (2)].u.inst_ident)->add_modifier(IIT_const); + CPPInstance *inst = new CPPInstance(current_type, (yyvsp[(1) - (2)].u.inst_ident), + current_storage_class, + (yylsp[(1) - (2)]).file); + inst->set_initializer((yyvsp[(2) - (2)].u.expr)); + current_scope->add_declaration(inst, global_scope, current_lexer, (yylsp[(1) - (2)])); +} + break; + + case 55: +/* Line 1792 of yacc.c */ +#line 710 "dtool/src/cppparser/cppBison.yxx" + { + (yyvsp[(1) - (4)].u.inst_ident)->add_modifier(IIT_const); + CPPInstance *inst = new CPPInstance(current_type, (yyvsp[(1) - (4)].u.inst_ident), + current_storage_class, + (yylsp[(1) - (4)]).file); + inst->set_initializer((yyvsp[(2) - (4)].u.expr)); + current_scope->add_declaration(inst, global_scope, current_lexer, (yylsp[(1) - (4)])); +} + break; + + case 56: +/* Line 1792 of yacc.c */ +#line 723 "dtool/src/cppparser/cppBison.yxx" { // We don't need to push/pop type, because we can't nest // multiple_var_declarations. @@ -3823,17 +3854,17 @@ yyreduce: } break; - case 55: + case 57: /* Line 1792 of yacc.c */ -#line 716 "dtool/src/cppparser/cppBison.yxx" +#line 734 "dtool/src/cppparser/cppBison.yxx" { pop_storage_class(); } break; - case 56: + case 58: /* Line 1792 of yacc.c */ -#line 720 "dtool/src/cppparser/cppBison.yxx" +#line 738 "dtool/src/cppparser/cppBison.yxx" { // We don't need to push/pop type, because we can't nest // multiple_var_declarations. @@ -3842,17 +3873,17 @@ yyreduce: } break; - case 57: + case 59: /* Line 1792 of yacc.c */ -#line 727 "dtool/src/cppparser/cppBison.yxx" +#line 745 "dtool/src/cppparser/cppBison.yxx" { pop_storage_class(); } break; - case 58: + case 60: /* Line 1792 of yacc.c */ -#line 731 "dtool/src/cppparser/cppBison.yxx" +#line 749 "dtool/src/cppparser/cppBison.yxx" { if ((yyvsp[(2) - (3)].u.instance) != (CPPDeclaration *)NULL) { CPPInstance *inst = (yyvsp[(2) - (3)].u.instance)->as_instance(); @@ -3866,31 +3897,10 @@ yyreduce: } break; - case 59: -/* Line 1792 of yacc.c */ -#line 746 "dtool/src/cppparser/cppBison.yxx" - { - CPPType *target_type = current_type; - CPPTypedefType *typedef_type = new CPPTypedefType(target_type, (yyvsp[(1) - (2)].u.inst_ident), current_scope, (yylsp[(1) - (2)]).file); - current_scope->add_declaration(CPPType::new_type(typedef_type), global_scope, current_lexer, (yylsp[(1) - (2)])); -} - break; - - case 60: -/* Line 1792 of yacc.c */ -#line 752 "dtool/src/cppparser/cppBison.yxx" - { - CPPType *target_type = current_type; - CPPTypedefType *typedef_type = new CPPTypedefType(target_type, (yyvsp[(1) - (4)].u.inst_ident), current_scope, (yylsp[(1) - (4)]).file); - current_scope->add_declaration(CPPType::new_type(typedef_type), global_scope, current_lexer, (yylsp[(1) - (4)])); -} - break; - case 61: /* Line 1792 of yacc.c */ -#line 761 "dtool/src/cppparser/cppBison.yxx" +#line 764 "dtool/src/cppparser/cppBison.yxx" { - (yyvsp[(1) - (2)].u.inst_ident)->add_modifier(IIT_const); CPPType *target_type = current_type; CPPTypedefType *typedef_type = new CPPTypedefType(target_type, (yyvsp[(1) - (2)].u.inst_ident), current_scope, (yylsp[(1) - (2)]).file); current_scope->add_declaration(CPPType::new_type(typedef_type), global_scope, current_lexer, (yylsp[(1) - (2)])); @@ -3899,9 +3909,8 @@ yyreduce: case 62: /* Line 1792 of yacc.c */ -#line 768 "dtool/src/cppparser/cppBison.yxx" +#line 770 "dtool/src/cppparser/cppBison.yxx" { - (yyvsp[(1) - (4)].u.inst_ident)->add_modifier(IIT_const); CPPType *target_type = current_type; CPPTypedefType *typedef_type = new CPPTypedefType(target_type, (yyvsp[(1) - (4)].u.inst_ident), current_scope, (yylsp[(1) - (4)]).file); current_scope->add_declaration(CPPType::new_type(typedef_type), global_scope, current_lexer, (yylsp[(1) - (4)])); @@ -3910,37 +3919,29 @@ yyreduce: case 63: /* Line 1792 of yacc.c */ -#line 780 "dtool/src/cppparser/cppBison.yxx" +#line 779 "dtool/src/cppparser/cppBison.yxx" { - push_scope((yyvsp[(1) - (2)].u.identifier)->get_scope(current_scope, global_scope)); + (yyvsp[(1) - (2)].u.inst_ident)->add_modifier(IIT_const); + CPPType *target_type = current_type; + CPPTypedefType *typedef_type = new CPPTypedefType(target_type, (yyvsp[(1) - (2)].u.inst_ident), current_scope, (yylsp[(1) - (2)]).file); + current_scope->add_declaration(CPPType::new_type(typedef_type), global_scope, current_lexer, (yylsp[(1) - (2)])); } break; case 64: /* Line 1792 of yacc.c */ -#line 784 "dtool/src/cppparser/cppBison.yxx" +#line 786 "dtool/src/cppparser/cppBison.yxx" { - pop_scope(); - CPPType *type; - if ((yyvsp[(1) - (6)].u.identifier)->get_simple_name() == current_scope->get_simple_name()) { - // This is a constructor, and has no return. - type = new CPPSimpleType(CPPSimpleType::T_void); - } else { - // This isn't a constructor, so it has an implicit return type of - // int. - type = new CPPSimpleType(CPPSimpleType::T_int); - } - - CPPInstanceIdentifier *ii = new CPPInstanceIdentifier((yyvsp[(1) - (6)].u.identifier)); - ii->add_func_modifier((yyvsp[(4) - (6)].u.param_list), (yyvsp[(6) - (6)].u.integer)); - - (yyval.u.instance) = new CPPInstance(type, ii, 0, (yylsp[(1) - (6)]).file); + (yyvsp[(1) - (4)].u.inst_ident)->add_modifier(IIT_const); + CPPType *target_type = current_type; + CPPTypedefType *typedef_type = new CPPTypedefType(target_type, (yyvsp[(1) - (4)].u.inst_ident), current_scope, (yylsp[(1) - (4)]).file); + current_scope->add_declaration(CPPType::new_type(typedef_type), global_scope, current_lexer, (yylsp[(1) - (4)])); } break; case 65: /* Line 1792 of yacc.c */ -#line 802 "dtool/src/cppparser/cppBison.yxx" +#line 798 "dtool/src/cppparser/cppBison.yxx" { push_scope((yyvsp[(1) - (2)].u.identifier)->get_scope(current_scope, global_scope)); } @@ -3948,7 +3949,7 @@ yyreduce: case 66: /* Line 1792 of yacc.c */ -#line 806 "dtool/src/cppparser/cppBison.yxx" +#line 802 "dtool/src/cppparser/cppBison.yxx" { pop_scope(); CPPType *type; @@ -3970,15 +3971,45 @@ yyreduce: case 67: /* Line 1792 of yacc.c */ -#line 826 "dtool/src/cppparser/cppBison.yxx" +#line 820 "dtool/src/cppparser/cppBison.yxx" { - push_scope((yyvsp[(2) - (3)].u.identifier)->get_scope(current_scope, global_scope)); + push_scope((yyvsp[(1) - (2)].u.identifier)->get_scope(current_scope, global_scope)); } break; case 68: /* Line 1792 of yacc.c */ -#line 830 "dtool/src/cppparser/cppBison.yxx" +#line 824 "dtool/src/cppparser/cppBison.yxx" + { + pop_scope(); + CPPType *type; + if ((yyvsp[(1) - (6)].u.identifier)->get_simple_name() == current_scope->get_simple_name()) { + // This is a constructor, and has no return. + type = new CPPSimpleType(CPPSimpleType::T_void); + } else { + // This isn't a constructor, so it has an implicit return type of + // int. + type = new CPPSimpleType(CPPSimpleType::T_int); + } + + CPPInstanceIdentifier *ii = new CPPInstanceIdentifier((yyvsp[(1) - (6)].u.identifier)); + ii->add_func_modifier((yyvsp[(4) - (6)].u.param_list), (yyvsp[(6) - (6)].u.integer)); + + (yyval.u.instance) = new CPPInstance(type, ii, 0, (yylsp[(1) - (6)]).file); +} + break; + + case 69: +/* Line 1792 of yacc.c */ +#line 844 "dtool/src/cppparser/cppBison.yxx" + { + push_scope((yyvsp[(2) - (3)].u.identifier)->get_scope(current_scope, global_scope)); +} + break; + + case 70: +/* Line 1792 of yacc.c */ +#line 848 "dtool/src/cppparser/cppBison.yxx" { pop_scope(); if ((yyvsp[(2) - (7)].u.identifier)->is_scoped()) { @@ -3999,20 +4030,23 @@ yyreduce: } break; - case 69: + case 71: /* Line 1792 of yacc.c */ -#line 856 "dtool/src/cppparser/cppBison.yxx" +#line 874 "dtool/src/cppparser/cppBison.yxx" { push_scope((yyvsp[(4) - (6)].u.inst_ident)->get_scope(current_scope, global_scope)); } break; - case 70: + case 72: /* Line 1792 of yacc.c */ -#line 860 "dtool/src/cppparser/cppBison.yxx" +#line 878 "dtool/src/cppparser/cppBison.yxx" { pop_scope(); CPPType *type = (yyvsp[(1) - (10)].u.identifier)->find_type(current_scope, global_scope, false, current_lexer); + if (type == NULL) { + yyerror(string("internal error resolving type ") + (yyvsp[(1) - (10)].u.identifier)->get_fully_scoped_name(), (yylsp[(1) - (10)])); + } assert(type != NULL); CPPInstanceIdentifier *ii = (yyvsp[(4) - (10)].u.inst_ident); @@ -4022,20 +4056,23 @@ yyreduce: } break; - case 71: + case 73: /* Line 1792 of yacc.c */ -#line 871 "dtool/src/cppparser/cppBison.yxx" +#line 892 "dtool/src/cppparser/cppBison.yxx" { push_scope((yyvsp[(5) - (7)].u.inst_ident)->get_scope(current_scope, global_scope)); } break; - case 72: + case 74: /* Line 1792 of yacc.c */ -#line 875 "dtool/src/cppparser/cppBison.yxx" +#line 896 "dtool/src/cppparser/cppBison.yxx" { pop_scope(); CPPType *type = (yyvsp[(1) - (11)].u.identifier)->find_type(current_scope, global_scope, false, current_lexer); + if (type == NULL) { + yyerror(string("internal error resolving type ") + (yyvsp[(1) - (11)].u.identifier)->get_fully_scoped_name(), (yylsp[(1) - (11)])); + } assert(type != NULL); CPPInstanceIdentifier *ii = (yyvsp[(5) - (11)].u.inst_ident); @@ -4045,9 +4082,9 @@ yyreduce: } break; - case 73: + case 75: /* Line 1792 of yacc.c */ -#line 888 "dtool/src/cppparser/cppBison.yxx" +#line 912 "dtool/src/cppparser/cppBison.yxx" { if ((yyvsp[(1) - (4)].u.identifier) != NULL) { push_scope((yyvsp[(1) - (4)].u.identifier)->get_scope(current_scope, global_scope)); @@ -4055,9 +4092,9 @@ yyreduce: } break; - case 74: + case 76: /* Line 1792 of yacc.c */ -#line 894 "dtool/src/cppparser/cppBison.yxx" +#line 918 "dtool/src/cppparser/cppBison.yxx" { if ((yyvsp[(1) - (8)].u.identifier) != NULL) { pop_scope(); @@ -4084,9 +4121,9 @@ yyreduce: } break; - case 75: + case 77: /* Line 1792 of yacc.c */ -#line 919 "dtool/src/cppparser/cppBison.yxx" +#line 943 "dtool/src/cppparser/cppBison.yxx" { if ((yyvsp[(1) - (5)].u.identifier) != NULL) { push_scope((yyvsp[(1) - (5)].u.identifier)->get_scope(current_scope, global_scope)); @@ -4094,9 +4131,9 @@ yyreduce: } break; - case 76: + case 78: /* Line 1792 of yacc.c */ -#line 925 "dtool/src/cppparser/cppBison.yxx" +#line 949 "dtool/src/cppparser/cppBison.yxx" { if ((yyvsp[(1) - (9)].u.identifier) != NULL) { pop_scope(); @@ -4114,9 +4151,9 @@ yyreduce: } break; - case 77: + case 79: /* Line 1792 of yacc.c */ -#line 945 "dtool/src/cppparser/cppBison.yxx" +#line 969 "dtool/src/cppparser/cppBison.yxx" { CPPDeclaration *decl = (yyvsp[(1) - (1)].u.identifier)->find_symbol(current_scope, global_scope, current_lexer); @@ -4128,377 +4165,377 @@ yyreduce: } break; - case 78: + case 80: /* Line 1792 of yacc.c */ -#line 958 "dtool/src/cppparser/cppBison.yxx" +#line 982 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.integer) = 0; } break; - case 79: + case 81: /* Line 1792 of yacc.c */ -#line 962 "dtool/src/cppparser/cppBison.yxx" +#line 986 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.integer) = (int)CPPFunctionType::F_const_method; } break; - case 80: + case 82: /* Line 1792 of yacc.c */ -#line 966 "dtool/src/cppparser/cppBison.yxx" +#line 990 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.integer) = (int)CPPFunctionType::F_noexcept; } break; - case 81: + case 83: /* Line 1792 of yacc.c */ -#line 970 "dtool/src/cppparser/cppBison.yxx" +#line 994 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.integer) = (yyvsp[(1) - (4)].u.integer); } break; - case 82: + case 84: /* Line 1792 of yacc.c */ -#line 974 "dtool/src/cppparser/cppBison.yxx" +#line 998 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.integer) = (yyvsp[(1) - (5)].u.integer); } break; - case 83: + case 85: /* Line 1792 of yacc.c */ -#line 981 "dtool/src/cppparser/cppBison.yxx" +#line 1005 "dtool/src/cppparser/cppBison.yxx" { (yyval.str) = "!"; } break; - case 84: + case 86: /* Line 1792 of yacc.c */ -#line 985 "dtool/src/cppparser/cppBison.yxx" +#line 1009 "dtool/src/cppparser/cppBison.yxx" { (yyval.str) = "~"; } break; - case 85: + case 87: /* Line 1792 of yacc.c */ -#line 989 "dtool/src/cppparser/cppBison.yxx" +#line 1013 "dtool/src/cppparser/cppBison.yxx" { (yyval.str) = "*"; } break; - case 86: + case 88: /* Line 1792 of yacc.c */ -#line 993 "dtool/src/cppparser/cppBison.yxx" +#line 1017 "dtool/src/cppparser/cppBison.yxx" { (yyval.str) = "/"; } break; - case 87: + case 89: /* Line 1792 of yacc.c */ -#line 997 "dtool/src/cppparser/cppBison.yxx" +#line 1021 "dtool/src/cppparser/cppBison.yxx" { (yyval.str) = "%"; } break; - case 88: + case 90: /* Line 1792 of yacc.c */ -#line 1001 "dtool/src/cppparser/cppBison.yxx" +#line 1025 "dtool/src/cppparser/cppBison.yxx" { (yyval.str) = "+"; } break; - case 89: + case 91: /* Line 1792 of yacc.c */ -#line 1005 "dtool/src/cppparser/cppBison.yxx" +#line 1029 "dtool/src/cppparser/cppBison.yxx" { (yyval.str) = "-"; } break; - case 90: + case 92: /* Line 1792 of yacc.c */ -#line 1009 "dtool/src/cppparser/cppBison.yxx" +#line 1033 "dtool/src/cppparser/cppBison.yxx" { (yyval.str) = "|"; } break; - case 91: + case 93: /* Line 1792 of yacc.c */ -#line 1013 "dtool/src/cppparser/cppBison.yxx" +#line 1037 "dtool/src/cppparser/cppBison.yxx" { (yyval.str) = "&"; } break; - case 92: + case 94: /* Line 1792 of yacc.c */ -#line 1017 "dtool/src/cppparser/cppBison.yxx" +#line 1041 "dtool/src/cppparser/cppBison.yxx" { (yyval.str) = "^"; } break; - case 93: + case 95: /* Line 1792 of yacc.c */ -#line 1021 "dtool/src/cppparser/cppBison.yxx" +#line 1045 "dtool/src/cppparser/cppBison.yxx" { (yyval.str) = "||"; } break; - case 94: + case 96: /* Line 1792 of yacc.c */ -#line 1025 "dtool/src/cppparser/cppBison.yxx" +#line 1049 "dtool/src/cppparser/cppBison.yxx" { (yyval.str) = "&&"; } break; - case 95: + case 97: /* Line 1792 of yacc.c */ -#line 1029 "dtool/src/cppparser/cppBison.yxx" +#line 1053 "dtool/src/cppparser/cppBison.yxx" { (yyval.str) = "=="; } break; - case 96: + case 98: /* Line 1792 of yacc.c */ -#line 1033 "dtool/src/cppparser/cppBison.yxx" +#line 1057 "dtool/src/cppparser/cppBison.yxx" { (yyval.str) = "!="; } break; - case 97: + case 99: /* Line 1792 of yacc.c */ -#line 1037 "dtool/src/cppparser/cppBison.yxx" +#line 1061 "dtool/src/cppparser/cppBison.yxx" { (yyval.str) = "<="; } break; - case 98: + case 100: /* Line 1792 of yacc.c */ -#line 1041 "dtool/src/cppparser/cppBison.yxx" +#line 1065 "dtool/src/cppparser/cppBison.yxx" { (yyval.str) = ">="; } break; - case 99: + case 101: /* Line 1792 of yacc.c */ -#line 1045 "dtool/src/cppparser/cppBison.yxx" +#line 1069 "dtool/src/cppparser/cppBison.yxx" { (yyval.str) = "<"; } break; - case 100: + case 102: /* Line 1792 of yacc.c */ -#line 1049 "dtool/src/cppparser/cppBison.yxx" +#line 1073 "dtool/src/cppparser/cppBison.yxx" { (yyval.str) = ">"; } break; - case 101: + case 103: /* Line 1792 of yacc.c */ -#line 1053 "dtool/src/cppparser/cppBison.yxx" +#line 1077 "dtool/src/cppparser/cppBison.yxx" { (yyval.str) = "<<"; } break; - case 102: + case 104: /* Line 1792 of yacc.c */ -#line 1057 "dtool/src/cppparser/cppBison.yxx" +#line 1081 "dtool/src/cppparser/cppBison.yxx" { (yyval.str) = ">>"; } break; - case 103: + case 105: /* Line 1792 of yacc.c */ -#line 1061 "dtool/src/cppparser/cppBison.yxx" +#line 1085 "dtool/src/cppparser/cppBison.yxx" { (yyval.str) = "="; } break; - case 104: + case 106: /* Line 1792 of yacc.c */ -#line 1065 "dtool/src/cppparser/cppBison.yxx" +#line 1089 "dtool/src/cppparser/cppBison.yxx" { (yyval.str) = ","; } break; - case 105: + case 107: /* Line 1792 of yacc.c */ -#line 1069 "dtool/src/cppparser/cppBison.yxx" +#line 1093 "dtool/src/cppparser/cppBison.yxx" { (yyval.str) = "++"; } break; - case 106: + case 108: /* Line 1792 of yacc.c */ -#line 1073 "dtool/src/cppparser/cppBison.yxx" +#line 1097 "dtool/src/cppparser/cppBison.yxx" { (yyval.str) = "--"; } break; - case 107: + case 109: /* Line 1792 of yacc.c */ -#line 1077 "dtool/src/cppparser/cppBison.yxx" +#line 1101 "dtool/src/cppparser/cppBison.yxx" { (yyval.str) = "*="; } break; - case 108: + case 110: /* Line 1792 of yacc.c */ -#line 1081 "dtool/src/cppparser/cppBison.yxx" +#line 1105 "dtool/src/cppparser/cppBison.yxx" { (yyval.str) = "/="; } break; - case 109: + case 111: /* Line 1792 of yacc.c */ -#line 1085 "dtool/src/cppparser/cppBison.yxx" +#line 1109 "dtool/src/cppparser/cppBison.yxx" { (yyval.str) = "%="; } break; - case 110: + case 112: /* Line 1792 of yacc.c */ -#line 1089 "dtool/src/cppparser/cppBison.yxx" +#line 1113 "dtool/src/cppparser/cppBison.yxx" { (yyval.str) = "+="; } break; - case 111: + case 113: /* Line 1792 of yacc.c */ -#line 1093 "dtool/src/cppparser/cppBison.yxx" +#line 1117 "dtool/src/cppparser/cppBison.yxx" { (yyval.str) = "-="; } break; - case 112: + case 114: /* Line 1792 of yacc.c */ -#line 1097 "dtool/src/cppparser/cppBison.yxx" +#line 1121 "dtool/src/cppparser/cppBison.yxx" { (yyval.str) = "|="; } break; - case 113: + case 115: /* Line 1792 of yacc.c */ -#line 1101 "dtool/src/cppparser/cppBison.yxx" +#line 1125 "dtool/src/cppparser/cppBison.yxx" { (yyval.str) = "&="; } break; - case 114: + case 116: /* Line 1792 of yacc.c */ -#line 1105 "dtool/src/cppparser/cppBison.yxx" +#line 1129 "dtool/src/cppparser/cppBison.yxx" { (yyval.str) = "^="; } break; - case 115: + case 117: /* Line 1792 of yacc.c */ -#line 1109 "dtool/src/cppparser/cppBison.yxx" +#line 1133 "dtool/src/cppparser/cppBison.yxx" { (yyval.str) = "<<="; } break; - case 116: + case 118: /* Line 1792 of yacc.c */ -#line 1113 "dtool/src/cppparser/cppBison.yxx" +#line 1137 "dtool/src/cppparser/cppBison.yxx" { (yyval.str) = ">>="; } break; - case 117: + case 119: /* Line 1792 of yacc.c */ -#line 1117 "dtool/src/cppparser/cppBison.yxx" +#line 1141 "dtool/src/cppparser/cppBison.yxx" { (yyval.str) = "->"; } break; - case 118: + case 120: /* Line 1792 of yacc.c */ -#line 1121 "dtool/src/cppparser/cppBison.yxx" +#line 1145 "dtool/src/cppparser/cppBison.yxx" { (yyval.str) = "[]"; } break; - case 119: + case 121: /* Line 1792 of yacc.c */ -#line 1125 "dtool/src/cppparser/cppBison.yxx" +#line 1149 "dtool/src/cppparser/cppBison.yxx" { (yyval.str) = "()"; } break; - case 120: + case 122: /* Line 1792 of yacc.c */ -#line 1129 "dtool/src/cppparser/cppBison.yxx" +#line 1153 "dtool/src/cppparser/cppBison.yxx" { (yyval.str) = "new"; } break; - case 121: + case 123: /* Line 1792 of yacc.c */ -#line 1133 "dtool/src/cppparser/cppBison.yxx" +#line 1157 "dtool/src/cppparser/cppBison.yxx" { (yyval.str) = "delete"; } break; - case 124: + case 126: /* Line 1792 of yacc.c */ -#line 1145 "dtool/src/cppparser/cppBison.yxx" +#line 1169 "dtool/src/cppparser/cppBison.yxx" { push_scope(new CPPTemplateScope(current_scope)); } break; - case 125: + case 127: /* Line 1792 of yacc.c */ -#line 1149 "dtool/src/cppparser/cppBison.yxx" +#line 1173 "dtool/src/cppparser/cppBison.yxx" { pop_scope(); } break; - case 129: + case 131: /* Line 1792 of yacc.c */ -#line 1162 "dtool/src/cppparser/cppBison.yxx" +#line 1186 "dtool/src/cppparser/cppBison.yxx" { CPPTemplateScope *ts = current_scope->as_template_scope(); assert(ts != NULL); @@ -4506,9 +4543,9 @@ yyreduce: } break; - case 130: + case 132: /* Line 1792 of yacc.c */ -#line 1168 "dtool/src/cppparser/cppBison.yxx" +#line 1192 "dtool/src/cppparser/cppBison.yxx" { CPPTemplateScope *ts = current_scope->as_template_scope(); assert(ts != NULL); @@ -4516,25 +4553,9 @@ yyreduce: } break; - case 131: -/* Line 1792 of yacc.c */ -#line 1177 "dtool/src/cppparser/cppBison.yxx" - { - (yyval.u.decl) = CPPType::new_type(new CPPClassTemplateParameter((yyvsp[(2) - (2)].u.identifier))); -} - break; - - case 132: -/* Line 1792 of yacc.c */ -#line 1181 "dtool/src/cppparser/cppBison.yxx" - { - (yyval.u.decl) = CPPType::new_type(new CPPClassTemplateParameter((yyvsp[(2) - (4)].u.identifier), (yyvsp[(4) - (4)].u.type))); -} - break; - case 133: /* Line 1792 of yacc.c */ -#line 1185 "dtool/src/cppparser/cppBison.yxx" +#line 1201 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.decl) = CPPType::new_type(new CPPClassTemplateParameter((yyvsp[(2) - (2)].u.identifier))); } @@ -4542,7 +4563,7 @@ yyreduce: case 134: /* Line 1792 of yacc.c */ -#line 1189 "dtool/src/cppparser/cppBison.yxx" +#line 1205 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.decl) = CPPType::new_type(new CPPClassTemplateParameter((yyvsp[(2) - (4)].u.identifier), (yyvsp[(4) - (4)].u.type))); } @@ -4550,7 +4571,23 @@ yyreduce: case 135: /* Line 1792 of yacc.c */ -#line 1193 "dtool/src/cppparser/cppBison.yxx" +#line 1209 "dtool/src/cppparser/cppBison.yxx" + { + (yyval.u.decl) = CPPType::new_type(new CPPClassTemplateParameter((yyvsp[(2) - (2)].u.identifier))); +} + break; + + case 136: +/* Line 1792 of yacc.c */ +#line 1213 "dtool/src/cppparser/cppBison.yxx" + { + (yyval.u.decl) = CPPType::new_type(new CPPClassTemplateParameter((yyvsp[(2) - (4)].u.identifier), (yyvsp[(4) - (4)].u.type))); +} + break; + + case 137: +/* Line 1792 of yacc.c */ +#line 1217 "dtool/src/cppparser/cppBison.yxx" { CPPInstance *inst = new CPPInstance((yyvsp[(1) - (3)].u.type), (yyvsp[(2) - (3)].u.inst_ident), 0, (yylsp[(2) - (3)]).file); inst->set_initializer((yyvsp[(3) - (3)].u.expr)); @@ -4558,9 +4595,9 @@ yyreduce: } break; - case 136: + case 138: /* Line 1792 of yacc.c */ -#line 1199 "dtool/src/cppparser/cppBison.yxx" +#line 1223 "dtool/src/cppparser/cppBison.yxx" { (yyvsp[(3) - (4)].u.inst_ident)->add_modifier(IIT_const); CPPInstance *inst = new CPPInstance((yyvsp[(2) - (4)].u.type), (yyvsp[(3) - (4)].u.inst_ident), 0, (yylsp[(3) - (4)]).file); @@ -4569,43 +4606,46 @@ yyreduce: } break; - case 137: + case 139: /* Line 1792 of yacc.c */ -#line 1209 "dtool/src/cppparser/cppBison.yxx" +#line 1233 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.type) = CPPType::new_type((yyvsp[(1) - (1)].u.simple_type)); } break; - case 138: + case 140: /* Line 1792 of yacc.c */ -#line 1213 "dtool/src/cppparser/cppBison.yxx" +#line 1237 "dtool/src/cppparser/cppBison.yxx" { yywarning("Not a type: " + (yyvsp[(1) - (1)].u.identifier)->get_fully_scoped_name(), (yylsp[(1) - (1)])); (yyval.u.type) = CPPType::new_type(new CPPSimpleType(CPPSimpleType::T_unknown)); } break; - case 139: + case 141: /* Line 1792 of yacc.c */ -#line 1218 "dtool/src/cppparser/cppBison.yxx" +#line 1242 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.type) = (yyvsp[(1) - (1)].u.identifier)->find_type(current_scope, global_scope, false, current_lexer); + if ((yyval.u.type) == NULL) { + yyerror(string("internal error resolving type ") + (yyvsp[(1) - (1)].u.identifier)->get_fully_scoped_name(), (yylsp[(1) - (1)])); + } assert((yyval.u.type) != NULL); } break; - case 140: + case 142: /* Line 1792 of yacc.c */ -#line 1227 "dtool/src/cppparser/cppBison.yxx" +#line 1254 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.inst_ident) = new CPPInstanceIdentifier((yyvsp[(1) - (1)].u.identifier)); } break; - case 141: + case 143: /* Line 1792 of yacc.c */ -#line 1231 "dtool/src/cppparser/cppBison.yxx" +#line 1258 "dtool/src/cppparser/cppBison.yxx" { // For an operator function. We implement this simply by building a // ficticious name for the function; in other respects it's just @@ -4621,98 +4661,98 @@ yyreduce: } break; - case 142: + case 144: /* Line 1792 of yacc.c */ -#line 1245 "dtool/src/cppparser/cppBison.yxx" +#line 1272 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.inst_ident) = (yyvsp[(2) - (2)].u.inst_ident); (yyval.u.inst_ident)->add_modifier(IIT_const); } break; - case 143: + case 145: /* Line 1792 of yacc.c */ -#line 1250 "dtool/src/cppparser/cppBison.yxx" +#line 1277 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.inst_ident) = (yyvsp[(2) - (2)].u.inst_ident); (yyval.u.inst_ident)->add_modifier(IIT_volatile); } break; - case 144: + case 146: /* Line 1792 of yacc.c */ -#line 1255 "dtool/src/cppparser/cppBison.yxx" +#line 1282 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.inst_ident) = (yyvsp[(2) - (2)].u.inst_ident); (yyval.u.inst_ident)->add_modifier(IIT_pointer); } break; - case 145: + case 147: /* Line 1792 of yacc.c */ -#line 1260 "dtool/src/cppparser/cppBison.yxx" +#line 1287 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.inst_ident) = (yyvsp[(2) - (2)].u.inst_ident); (yyval.u.inst_ident)->add_modifier(IIT_reference); } break; - case 146: + case 148: /* Line 1792 of yacc.c */ -#line 1265 "dtool/src/cppparser/cppBison.yxx" +#line 1292 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.inst_ident) = (yyvsp[(2) - (2)].u.inst_ident); (yyval.u.inst_ident)->add_modifier(IIT_rvalue_reference); } break; - case 147: + case 149: /* Line 1792 of yacc.c */ -#line 1270 "dtool/src/cppparser/cppBison.yxx" +#line 1297 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.inst_ident) = (yyvsp[(3) - (3)].u.inst_ident); (yyval.u.inst_ident)->add_scoped_pointer_modifier((yyvsp[(1) - (3)].u.identifier)); } break; - case 148: + case 150: /* Line 1792 of yacc.c */ -#line 1275 "dtool/src/cppparser/cppBison.yxx" +#line 1302 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.inst_ident) = (yyvsp[(1) - (4)].u.inst_ident); (yyval.u.inst_ident)->add_array_modifier((yyvsp[(3) - (4)].u.expr)); } break; - case 149: + case 151: /* Line 1792 of yacc.c */ -#line 1280 "dtool/src/cppparser/cppBison.yxx" +#line 1307 "dtool/src/cppparser/cppBison.yxx" { // bitfield definition. We ignore the bitfield for now. (yyval.u.inst_ident) = (yyvsp[(1) - (3)].u.inst_ident); } break; - case 150: + case 152: /* Line 1792 of yacc.c */ -#line 1285 "dtool/src/cppparser/cppBison.yxx" +#line 1312 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.inst_ident) = (yyvsp[(2) - (3)].u.inst_ident); (yyval.u.inst_ident)->add_modifier(IIT_paren); } break; - case 151: + case 153: /* Line 1792 of yacc.c */ -#line 1290 "dtool/src/cppparser/cppBison.yxx" +#line 1317 "dtool/src/cppparser/cppBison.yxx" { push_scope((yyvsp[(1) - (2)].u.inst_ident)->get_scope(current_scope, global_scope)); } break; - case 152: + case 154: /* Line 1792 of yacc.c */ -#line 1294 "dtool/src/cppparser/cppBison.yxx" +#line 1321 "dtool/src/cppparser/cppBison.yxx" { pop_scope(); (yyval.u.inst_ident) = (yyvsp[(1) - (6)].u.inst_ident); @@ -4728,86 +4768,70 @@ yyreduce: } break; - case 153: -/* Line 1792 of yacc.c */ -#line 1312 "dtool/src/cppparser/cppBison.yxx" - { - (yyval.u.param_list) = new CPPParameterList; -} - break; - - case 154: -/* Line 1792 of yacc.c */ -#line 1316 "dtool/src/cppparser/cppBison.yxx" - { - (yyval.u.param_list) = new CPPParameterList; - (yyval.u.param_list)->_includes_ellipsis = true; -} - break; - case 155: /* Line 1792 of yacc.c */ -#line 1321 "dtool/src/cppparser/cppBison.yxx" +#line 1339 "dtool/src/cppparser/cppBison.yxx" { - (yyval.u.param_list) = (yyvsp[(1) - (1)].u.param_list); + (yyval.u.param_list) = new CPPParameterList; } break; case 156: /* Line 1792 of yacc.c */ -#line 1325 "dtool/src/cppparser/cppBison.yxx" +#line 1343 "dtool/src/cppparser/cppBison.yxx" { - (yyval.u.param_list) = (yyvsp[(1) - (3)].u.param_list); + (yyval.u.param_list) = new CPPParameterList; (yyval.u.param_list)->_includes_ellipsis = true; } break; case 157: /* Line 1792 of yacc.c */ -#line 1330 "dtool/src/cppparser/cppBison.yxx" +#line 1348 "dtool/src/cppparser/cppBison.yxx" + { + (yyval.u.param_list) = (yyvsp[(1) - (1)].u.param_list); +} + break; + + case 158: +/* Line 1792 of yacc.c */ +#line 1352 "dtool/src/cppparser/cppBison.yxx" + { + (yyval.u.param_list) = (yyvsp[(1) - (3)].u.param_list); + (yyval.u.param_list)->_includes_ellipsis = true; +} + break; + + case 159: +/* Line 1792 of yacc.c */ +#line 1357 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.param_list) = (yyvsp[(1) - (2)].u.param_list); (yyval.u.param_list)->_includes_ellipsis = true; } break; - case 158: + case 160: /* Line 1792 of yacc.c */ -#line 1338 "dtool/src/cppparser/cppBison.yxx" +#line 1365 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.param_list) = new CPPParameterList; (yyval.u.param_list)->_parameters.push_back((yyvsp[(1) - (1)].u.instance)); } break; - case 159: + case 161: /* Line 1792 of yacc.c */ -#line 1343 "dtool/src/cppparser/cppBison.yxx" +#line 1370 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.param_list) = (yyvsp[(1) - (3)].u.param_list); (yyval.u.param_list)->_parameters.push_back((yyvsp[(3) - (3)].u.instance)); } break; - case 160: -/* Line 1792 of yacc.c */ -#line 1351 "dtool/src/cppparser/cppBison.yxx" - { - (yyval.u.expr) = (CPPExpression *)NULL; -} - break; - - case 161: -/* Line 1792 of yacc.c */ -#line 1355 "dtool/src/cppparser/cppBison.yxx" - { - (yyval.u.expr) = (yyvsp[(2) - (2)].u.expr); -} - break; - case 162: /* Line 1792 of yacc.c */ -#line 1362 "dtool/src/cppparser/cppBison.yxx" +#line 1378 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = (CPPExpression *)NULL; } @@ -4815,7 +4839,7 @@ yyreduce: case 163: /* Line 1792 of yacc.c */ -#line 1366 "dtool/src/cppparser/cppBison.yxx" +#line 1382 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = (yyvsp[(2) - (2)].u.expr); } @@ -4823,7 +4847,7 @@ yyreduce: case 164: /* Line 1792 of yacc.c */ -#line 1373 "dtool/src/cppparser/cppBison.yxx" +#line 1389 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = (CPPExpression *)NULL; } @@ -4831,15 +4855,15 @@ yyreduce: case 165: /* Line 1792 of yacc.c */ -#line 1377 "dtool/src/cppparser/cppBison.yxx" +#line 1393 "dtool/src/cppparser/cppBison.yxx" { - (yyval.u.expr) = (CPPExpression *)NULL; + (yyval.u.expr) = (yyvsp[(2) - (2)].u.expr); } break; case 166: /* Line 1792 of yacc.c */ -#line 1381 "dtool/src/cppparser/cppBison.yxx" +#line 1400 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = (CPPExpression *)NULL; } @@ -4847,39 +4871,55 @@ yyreduce: case 167: /* Line 1792 of yacc.c */ -#line 1385 "dtool/src/cppparser/cppBison.yxx" - { - (yyval.u.expr) = (yyvsp[(2) - (3)].u.expr); -} - break; - - case 168: -/* Line 1792 of yacc.c */ -#line 1389 "dtool/src/cppparser/cppBison.yxx" +#line 1404 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = (CPPExpression *)NULL; } break; - case 172: + case 168: /* Line 1792 of yacc.c */ -#line 1402 "dtool/src/cppparser/cppBison.yxx" +#line 1408 "dtool/src/cppparser/cppBison.yxx" + { + (yyval.u.expr) = (CPPExpression *)NULL; +} + break; + + case 169: +/* Line 1792 of yacc.c */ +#line 1412 "dtool/src/cppparser/cppBison.yxx" + { + (yyval.u.expr) = (yyvsp[(2) - (3)].u.expr); +} + break; + + case 170: +/* Line 1792 of yacc.c */ +#line 1416 "dtool/src/cppparser/cppBison.yxx" + { + (yyval.u.expr) = (CPPExpression *)NULL; +} + break; + + case 174: +/* Line 1792 of yacc.c */ +#line 1429 "dtool/src/cppparser/cppBison.yxx" { } break; - case 176: + case 178: /* Line 1792 of yacc.c */ -#line 1411 "dtool/src/cppparser/cppBison.yxx" +#line 1438 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.instance) = new CPPInstance((yyvsp[(1) - (3)].u.type), (yyvsp[(2) - (3)].u.inst_ident), 0, (yylsp[(2) - (3)]).file); (yyval.u.instance)->set_initializer((yyvsp[(3) - (3)].u.expr)); } break; - case 177: + case 179: /* Line 1792 of yacc.c */ -#line 1416 "dtool/src/cppparser/cppBison.yxx" +#line 1443 "dtool/src/cppparser/cppBison.yxx" { yywarning("Not a type: " + (yyvsp[(1) - (3)].u.identifier)->get_fully_scoped_name(), (yylsp[(1) - (3)])); CPPType *type = @@ -4889,9 +4929,9 @@ yyreduce: } break; - case 178: + case 180: /* Line 1792 of yacc.c */ -#line 1424 "dtool/src/cppparser/cppBison.yxx" +#line 1451 "dtool/src/cppparser/cppBison.yxx" { (yyvsp[(3) - (4)].u.inst_ident)->add_modifier(IIT_const); (yyval.u.instance) = new CPPInstance((yyvsp[(2) - (4)].u.type), (yyvsp[(3) - (4)].u.inst_ident), 0, (yylsp[(3) - (4)]).file); @@ -4899,9 +4939,9 @@ yyreduce: } break; - case 179: + case 181: /* Line 1792 of yacc.c */ -#line 1430 "dtool/src/cppparser/cppBison.yxx" +#line 1457 "dtool/src/cppparser/cppBison.yxx" { (yyvsp[(4) - (5)].u.inst_ident)->add_modifier(IIT_const); (yyval.u.instance) = new CPPInstance((yyvsp[(3) - (5)].u.type), (yyvsp[(4) - (5)].u.inst_ident), 0, (yylsp[(3) - (5)]).file); @@ -4909,17 +4949,17 @@ yyreduce: } break; - case 180: + case 182: /* Line 1792 of yacc.c */ -#line 1436 "dtool/src/cppparser/cppBison.yxx" +#line 1463 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.instance) = (yyvsp[(2) - (2)].u.instance); } break; - case 181: + case 183: /* Line 1792 of yacc.c */ -#line 1440 "dtool/src/cppparser/cppBison.yxx" +#line 1467 "dtool/src/cppparser/cppBison.yxx" { CPPType *type = CPPType::new_type(new CPPSimpleType(CPPSimpleType::T_parameter)); @@ -4928,183 +4968,183 @@ yyreduce: } break; - case 182: -/* Line 1792 of yacc.c */ -#line 1450 "dtool/src/cppparser/cppBison.yxx" - { - (yyval.u.inst_ident) = new CPPInstanceIdentifier((CPPIdentifier *)NULL); -} - break; - - case 183: -/* Line 1792 of yacc.c */ -#line 1454 "dtool/src/cppparser/cppBison.yxx" - { - (yyval.u.inst_ident) = new CPPInstanceIdentifier((yyvsp[(1) - (1)].u.identifier)); -} - break; - case 184: /* Line 1792 of yacc.c */ -#line 1458 "dtool/src/cppparser/cppBison.yxx" +#line 1477 "dtool/src/cppparser/cppBison.yxx" { - (yyval.u.inst_ident) = new CPPInstanceIdentifier((yyvsp[(1) - (1)].u.identifier)); + (yyval.u.inst_ident) = new CPPInstanceIdentifier((CPPIdentifier *)NULL); } break; case 185: /* Line 1792 of yacc.c */ -#line 1462 "dtool/src/cppparser/cppBison.yxx" +#line 1481 "dtool/src/cppparser/cppBison.yxx" { - (yyval.u.inst_ident) = (yyvsp[(2) - (2)].u.inst_ident); - (yyval.u.inst_ident)->add_modifier(IIT_const); + (yyval.u.inst_ident) = new CPPInstanceIdentifier((yyvsp[(1) - (1)].u.identifier)); } break; case 186: /* Line 1792 of yacc.c */ -#line 1467 "dtool/src/cppparser/cppBison.yxx" +#line 1485 "dtool/src/cppparser/cppBison.yxx" { - (yyval.u.inst_ident) = (yyvsp[(2) - (2)].u.inst_ident); - (yyval.u.inst_ident)->add_modifier(IIT_volatile); + (yyval.u.inst_ident) = new CPPInstanceIdentifier((yyvsp[(1) - (1)].u.identifier)); } break; case 187: /* Line 1792 of yacc.c */ -#line 1472 "dtool/src/cppparser/cppBison.yxx" - { - (yyval.u.inst_ident) = (yyvsp[(2) - (2)].u.inst_ident); - (yyval.u.inst_ident)->add_modifier(IIT_pointer); -} - break; - - case 188: -/* Line 1792 of yacc.c */ -#line 1477 "dtool/src/cppparser/cppBison.yxx" - { - (yyval.u.inst_ident) = (yyvsp[(2) - (2)].u.inst_ident); - (yyval.u.inst_ident)->add_modifier(IIT_reference); -} - break; - - case 189: -/* Line 1792 of yacc.c */ -#line 1482 "dtool/src/cppparser/cppBison.yxx" - { - (yyval.u.inst_ident) = (yyvsp[(2) - (2)].u.inst_ident); - (yyval.u.inst_ident)->add_modifier(IIT_rvalue_reference); -} - break; - - case 190: -/* Line 1792 of yacc.c */ -#line 1487 "dtool/src/cppparser/cppBison.yxx" - { - (yyval.u.inst_ident) = (yyvsp[(3) - (3)].u.inst_ident); - (yyval.u.inst_ident)->add_scoped_pointer_modifier((yyvsp[(1) - (3)].u.identifier)); -} - break; - - case 191: -/* Line 1792 of yacc.c */ -#line 1492 "dtool/src/cppparser/cppBison.yxx" - { - (yyval.u.inst_ident) = (yyvsp[(1) - (4)].u.inst_ident); - (yyval.u.inst_ident)->add_array_modifier((yyvsp[(3) - (4)].u.expr)); -} - break; - - case 192: -/* Line 1792 of yacc.c */ -#line 1500 "dtool/src/cppparser/cppBison.yxx" - { - (yyval.u.inst_ident) = new CPPInstanceIdentifier((CPPIdentifier *)NULL); -} - break; - - case 193: -/* Line 1792 of yacc.c */ -#line 1504 "dtool/src/cppparser/cppBison.yxx" - { - (yyval.u.inst_ident) = new CPPInstanceIdentifier((yyvsp[(1) - (1)].u.identifier)); -} - break; - - case 194: -/* Line 1792 of yacc.c */ -#line 1508 "dtool/src/cppparser/cppBison.yxx" - { - (yyval.u.inst_ident) = new CPPInstanceIdentifier((yyvsp[(1) - (1)].u.identifier)); -} - break; - - case 195: -/* Line 1792 of yacc.c */ -#line 1512 "dtool/src/cppparser/cppBison.yxx" +#line 1489 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.inst_ident) = (yyvsp[(2) - (2)].u.inst_ident); (yyval.u.inst_ident)->add_modifier(IIT_const); } break; - case 196: + case 188: /* Line 1792 of yacc.c */ -#line 1517 "dtool/src/cppparser/cppBison.yxx" +#line 1494 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.inst_ident) = (yyvsp[(2) - (2)].u.inst_ident); (yyval.u.inst_ident)->add_modifier(IIT_volatile); } break; - case 197: + case 189: /* Line 1792 of yacc.c */ -#line 1522 "dtool/src/cppparser/cppBison.yxx" +#line 1499 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.inst_ident) = (yyvsp[(2) - (2)].u.inst_ident); (yyval.u.inst_ident)->add_modifier(IIT_pointer); } break; - case 198: + case 190: /* Line 1792 of yacc.c */ -#line 1527 "dtool/src/cppparser/cppBison.yxx" +#line 1504 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.inst_ident) = (yyvsp[(2) - (2)].u.inst_ident); (yyval.u.inst_ident)->add_modifier(IIT_reference); } break; - case 199: + case 191: /* Line 1792 of yacc.c */ -#line 1532 "dtool/src/cppparser/cppBison.yxx" +#line 1509 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.inst_ident) = (yyvsp[(2) - (2)].u.inst_ident); (yyval.u.inst_ident)->add_modifier(IIT_rvalue_reference); } break; - case 200: + case 192: /* Line 1792 of yacc.c */ -#line 1537 "dtool/src/cppparser/cppBison.yxx" +#line 1514 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.inst_ident) = (yyvsp[(3) - (3)].u.inst_ident); (yyval.u.inst_ident)->add_scoped_pointer_modifier((yyvsp[(1) - (3)].u.identifier)); } break; - case 201: + case 193: /* Line 1792 of yacc.c */ -#line 1542 "dtool/src/cppparser/cppBison.yxx" +#line 1519 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.inst_ident) = (yyvsp[(1) - (4)].u.inst_ident); (yyval.u.inst_ident)->add_array_modifier((yyvsp[(3) - (4)].u.expr)); } break; + case 194: +/* Line 1792 of yacc.c */ +#line 1527 "dtool/src/cppparser/cppBison.yxx" + { + (yyval.u.inst_ident) = new CPPInstanceIdentifier((CPPIdentifier *)NULL); +} + break; + + case 195: +/* Line 1792 of yacc.c */ +#line 1531 "dtool/src/cppparser/cppBison.yxx" + { + (yyval.u.inst_ident) = new CPPInstanceIdentifier((yyvsp[(1) - (1)].u.identifier)); +} + break; + + case 196: +/* Line 1792 of yacc.c */ +#line 1535 "dtool/src/cppparser/cppBison.yxx" + { + (yyval.u.inst_ident) = new CPPInstanceIdentifier((yyvsp[(1) - (1)].u.identifier)); +} + break; + + case 197: +/* Line 1792 of yacc.c */ +#line 1539 "dtool/src/cppparser/cppBison.yxx" + { + (yyval.u.inst_ident) = (yyvsp[(2) - (2)].u.inst_ident); + (yyval.u.inst_ident)->add_modifier(IIT_const); +} + break; + + case 198: +/* Line 1792 of yacc.c */ +#line 1544 "dtool/src/cppparser/cppBison.yxx" + { + (yyval.u.inst_ident) = (yyvsp[(2) - (2)].u.inst_ident); + (yyval.u.inst_ident)->add_modifier(IIT_volatile); +} + break; + + case 199: +/* Line 1792 of yacc.c */ +#line 1549 "dtool/src/cppparser/cppBison.yxx" + { + (yyval.u.inst_ident) = (yyvsp[(2) - (2)].u.inst_ident); + (yyval.u.inst_ident)->add_modifier(IIT_pointer); +} + break; + + case 200: +/* Line 1792 of yacc.c */ +#line 1554 "dtool/src/cppparser/cppBison.yxx" + { + (yyval.u.inst_ident) = (yyvsp[(2) - (2)].u.inst_ident); + (yyval.u.inst_ident)->add_modifier(IIT_reference); +} + break; + + case 201: +/* Line 1792 of yacc.c */ +#line 1559 "dtool/src/cppparser/cppBison.yxx" + { + (yyval.u.inst_ident) = (yyvsp[(2) - (2)].u.inst_ident); + (yyval.u.inst_ident)->add_modifier(IIT_rvalue_reference); +} + break; + case 202: /* Line 1792 of yacc.c */ -#line 1547 "dtool/src/cppparser/cppBison.yxx" +#line 1564 "dtool/src/cppparser/cppBison.yxx" + { + (yyval.u.inst_ident) = (yyvsp[(3) - (3)].u.inst_ident); + (yyval.u.inst_ident)->add_scoped_pointer_modifier((yyvsp[(1) - (3)].u.identifier)); +} + break; + + case 203: +/* Line 1792 of yacc.c */ +#line 1569 "dtool/src/cppparser/cppBison.yxx" + { + (yyval.u.inst_ident) = (yyvsp[(1) - (4)].u.inst_ident); + (yyval.u.inst_ident)->add_array_modifier((yyvsp[(3) - (4)].u.expr)); +} + break; + + case 204: +/* Line 1792 of yacc.c */ +#line 1574 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.inst_ident) = (yyvsp[(2) - (7)].u.inst_ident); (yyval.u.inst_ident)->add_modifier(IIT_paren); @@ -5112,89 +5152,89 @@ yyreduce: } break; - case 203: + case 205: /* Line 1792 of yacc.c */ -#line 1553 "dtool/src/cppparser/cppBison.yxx" +#line 1580 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.inst_ident) = (yyvsp[(2) - (3)].u.inst_ident); (yyval.u.inst_ident)->add_modifier(IIT_paren); } break; - case 204: + case 206: /* Line 1792 of yacc.c */ -#line 1561 "dtool/src/cppparser/cppBison.yxx" +#line 1588 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.inst_ident) = new CPPInstanceIdentifier((CPPIdentifier *)NULL); } break; - case 205: + case 207: /* Line 1792 of yacc.c */ -#line 1565 "dtool/src/cppparser/cppBison.yxx" +#line 1592 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.inst_ident) = (yyvsp[(2) - (2)].u.inst_ident); (yyval.u.inst_ident)->add_modifier(IIT_const); } break; - case 206: + case 208: /* Line 1792 of yacc.c */ -#line 1570 "dtool/src/cppparser/cppBison.yxx" +#line 1597 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.inst_ident) = (yyvsp[(2) - (2)].u.inst_ident); (yyval.u.inst_ident)->add_modifier(IIT_volatile); } break; - case 207: + case 209: /* Line 1792 of yacc.c */ -#line 1575 "dtool/src/cppparser/cppBison.yxx" +#line 1602 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.inst_ident) = (yyvsp[(2) - (2)].u.inst_ident); (yyval.u.inst_ident)->add_modifier(IIT_pointer); } break; - case 208: + case 210: /* Line 1792 of yacc.c */ -#line 1580 "dtool/src/cppparser/cppBison.yxx" +#line 1607 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.inst_ident) = (yyvsp[(2) - (2)].u.inst_ident); (yyval.u.inst_ident)->add_modifier(IIT_reference); } break; - case 209: + case 211: /* Line 1792 of yacc.c */ -#line 1585 "dtool/src/cppparser/cppBison.yxx" +#line 1612 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.inst_ident) = (yyvsp[(2) - (2)].u.inst_ident); (yyval.u.inst_ident)->add_modifier(IIT_rvalue_reference); } break; - case 210: + case 212: /* Line 1792 of yacc.c */ -#line 1590 "dtool/src/cppparser/cppBison.yxx" +#line 1617 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.inst_ident) = (yyvsp[(3) - (3)].u.inst_ident); (yyval.u.inst_ident)->add_scoped_pointer_modifier((yyvsp[(1) - (3)].u.identifier)); } break; - case 211: + case 213: /* Line 1792 of yacc.c */ -#line 1595 "dtool/src/cppparser/cppBison.yxx" +#line 1622 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.inst_ident) = (yyvsp[(1) - (4)].u.inst_ident); (yyval.u.inst_ident)->add_array_modifier((yyvsp[(3) - (4)].u.expr)); } break; - case 212: + case 214: /* Line 1792 of yacc.c */ -#line 1600 "dtool/src/cppparser/cppBison.yxx" +#line 1627 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.inst_ident) = (yyvsp[(2) - (7)].u.inst_ident); (yyval.u.inst_ident)->add_modifier(IIT_paren); @@ -5202,78 +5242,81 @@ yyreduce: } break; - case 213: + case 215: /* Line 1792 of yacc.c */ -#line 1609 "dtool/src/cppparser/cppBison.yxx" +#line 1636 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.type) = CPPType::new_type((yyvsp[(1) - (1)].u.simple_type)); } break; - case 214: -/* Line 1792 of yacc.c */ -#line 1613 "dtool/src/cppparser/cppBison.yxx" - { - (yyval.u.type) = (yyvsp[(1) - (1)].u.identifier)->find_type(current_scope, global_scope, false, current_lexer); - assert((yyval.u.type) != NULL); -} - break; - - case 215: -/* Line 1792 of yacc.c */ -#line 1618 "dtool/src/cppparser/cppBison.yxx" - { - (yyval.u.type) = CPPType::new_type(new CPPTBDType((yyvsp[(2) - (2)].u.identifier))); -} - break; - case 216: /* Line 1792 of yacc.c */ -#line 1622 "dtool/src/cppparser/cppBison.yxx" +#line 1640 "dtool/src/cppparser/cppBison.yxx" { - (yyval.u.type) = CPPType::new_type((yyvsp[(1) - (1)].u.struct_type)); + (yyval.u.type) = (yyvsp[(1) - (1)].u.identifier)->find_type(current_scope, global_scope, false, current_lexer); + if ((yyval.u.type) == NULL) { + yyerror(string("internal error resolving type ") + (yyvsp[(1) - (1)].u.identifier)->get_fully_scoped_name(), (yylsp[(1) - (1)])); + } + assert((yyval.u.type) != NULL); } break; case 217: /* Line 1792 of yacc.c */ -#line 1626 "dtool/src/cppparser/cppBison.yxx" +#line 1648 "dtool/src/cppparser/cppBison.yxx" { - (yyval.u.type) = CPPType::new_type((yyvsp[(1) - (1)].u.struct_type)); + (yyval.u.type) = CPPType::new_type(new CPPTBDType((yyvsp[(2) - (2)].u.identifier))); } break; case 218: /* Line 1792 of yacc.c */ -#line 1630 "dtool/src/cppparser/cppBison.yxx" +#line 1652 "dtool/src/cppparser/cppBison.yxx" { - (yyval.u.type) = CPPType::new_type((yyvsp[(1) - (1)].u.enum_type)); + (yyval.u.type) = CPPType::new_type((yyvsp[(1) - (1)].u.struct_type)); } break; case 219: /* Line 1792 of yacc.c */ -#line 1634 "dtool/src/cppparser/cppBison.yxx" +#line 1656 "dtool/src/cppparser/cppBison.yxx" { - CPPType *type = (yyvsp[(2) - (2)].u.identifier)->find_type(current_scope, global_scope, false, current_lexer); - if (type != NULL) { - (yyval.u.type) = type; - } else { - CPPExtensionType *et = - CPPType::new_type(new CPPExtensionType((yyvsp[(1) - (2)].u.extension_enum), (yyvsp[(2) - (2)].u.identifier), current_scope, (yylsp[(1) - (2)]).file)) - ->as_extension_type(); - CPPScope *scope = (yyvsp[(2) - (2)].u.identifier)->get_scope(current_scope, global_scope); - if (scope != NULL) { - scope->define_extension_type(et); - } - (yyval.u.type) = et; - } + (yyval.u.type) = CPPType::new_type((yyvsp[(1) - (1)].u.struct_type)); } break; case 220: /* Line 1792 of yacc.c */ -#line 1650 "dtool/src/cppparser/cppBison.yxx" +#line 1660 "dtool/src/cppparser/cppBison.yxx" + { + (yyval.u.type) = CPPType::new_type((yyvsp[(1) - (1)].u.enum_type)); +} + break; + + case 221: +/* Line 1792 of yacc.c */ +#line 1664 "dtool/src/cppparser/cppBison.yxx" + { + CPPType *type = (yyvsp[(2) - (2)].u.identifier)->find_type(current_scope, global_scope, false, current_lexer); + if (type != NULL) { + (yyval.u.type) = type; + } else { + CPPExtensionType *et = + CPPType::new_type(new CPPExtensionType((yyvsp[(1) - (2)].u.extension_enum), (yyvsp[(2) - (2)].u.identifier), current_scope, (yylsp[(1) - (2)]).file)) + ->as_extension_type(); + CPPScope *scope = (yyvsp[(2) - (2)].u.identifier)->get_scope(current_scope, global_scope); + if (scope != NULL) { + scope->define_extension_type(et); + } + (yyval.u.type) = et; + } +} + break; + + case 222: +/* Line 1792 of yacc.c */ +#line 1680 "dtool/src/cppparser/cppBison.yxx" { CPPType *type = (yyvsp[(2) - (4)].u.identifier)->find_type(current_scope, global_scope, false, current_lexer); if (type != NULL) { @@ -5291,58 +5334,61 @@ yyreduce: } break; - case 221: + case 223: /* Line 1792 of yacc.c */ -#line 1669 "dtool/src/cppparser/cppBison.yxx" +#line 1699 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.decl) = CPPType::new_type((yyvsp[(1) - (1)].u.simple_type)); } break; - case 222: -/* Line 1792 of yacc.c */ -#line 1673 "dtool/src/cppparser/cppBison.yxx" - { - (yyval.u.decl) = (yyvsp[(1) - (1)].u.identifier)->find_type(current_scope, global_scope, false, current_lexer); - assert((yyval.u.decl) != NULL); -} - break; - - case 223: -/* Line 1792 of yacc.c */ -#line 1678 "dtool/src/cppparser/cppBison.yxx" - { - (yyval.u.decl) = CPPType::new_type(new CPPTBDType((yyvsp[(2) - (2)].u.identifier))); -} - break; - case 224: /* Line 1792 of yacc.c */ -#line 1682 "dtool/src/cppparser/cppBison.yxx" +#line 1703 "dtool/src/cppparser/cppBison.yxx" { - (yyval.u.decl) = CPPType::new_type((yyvsp[(1) - (1)].u.struct_type)); + (yyval.u.decl) = (yyvsp[(1) - (1)].u.identifier)->find_type(current_scope, global_scope, false, current_lexer); + if ((yyval.u.decl) == NULL) { + yyerror(string("internal error resolving type ") + (yyvsp[(1) - (1)].u.identifier)->get_fully_scoped_name(), (yylsp[(1) - (1)])); + } + assert((yyval.u.decl) != NULL); } break; case 225: /* Line 1792 of yacc.c */ -#line 1686 "dtool/src/cppparser/cppBison.yxx" +#line 1711 "dtool/src/cppparser/cppBison.yxx" { - (yyval.u.decl) = new CPPTypeDeclaration(CPPType::new_type((yyvsp[(1) - (1)].u.struct_type))); + (yyval.u.decl) = CPPType::new_type(new CPPTBDType((yyvsp[(2) - (2)].u.identifier))); } break; case 226: /* Line 1792 of yacc.c */ -#line 1690 "dtool/src/cppparser/cppBison.yxx" +#line 1715 "dtool/src/cppparser/cppBison.yxx" { - (yyval.u.decl) = new CPPTypeDeclaration(CPPType::new_type((yyvsp[(1) - (1)].u.enum_type))); + (yyval.u.decl) = CPPType::new_type((yyvsp[(1) - (1)].u.struct_type)); } break; case 227: /* Line 1792 of yacc.c */ -#line 1694 "dtool/src/cppparser/cppBison.yxx" +#line 1719 "dtool/src/cppparser/cppBison.yxx" + { + (yyval.u.decl) = new CPPTypeDeclaration(CPPType::new_type((yyvsp[(1) - (1)].u.struct_type))); +} + break; + + case 228: +/* Line 1792 of yacc.c */ +#line 1723 "dtool/src/cppparser/cppBison.yxx" + { + (yyval.u.decl) = new CPPTypeDeclaration(CPPType::new_type((yyvsp[(1) - (1)].u.enum_type))); +} + break; + + case 229: +/* Line 1792 of yacc.c */ +#line 1727 "dtool/src/cppparser/cppBison.yxx" { CPPType *type = (yyvsp[(2) - (2)].u.identifier)->find_type(current_scope, global_scope, false, current_lexer); if (type != NULL) { @@ -5360,9 +5406,9 @@ yyreduce: } break; - case 228: + case 230: /* Line 1792 of yacc.c */ -#line 1710 "dtool/src/cppparser/cppBison.yxx" +#line 1743 "dtool/src/cppparser/cppBison.yxx" { CPPType *type = (yyvsp[(2) - (4)].u.identifier)->find_type(current_scope, global_scope, false, current_lexer); if (type != NULL) { @@ -5380,9 +5426,9 @@ yyreduce: } break; - case 229: + case 231: /* Line 1792 of yacc.c */ -#line 1726 "dtool/src/cppparser/cppBison.yxx" +#line 1759 "dtool/src/cppparser/cppBison.yxx" { yywarning(string("C++ does not permit forward declaration of untyped enum ") + (yyvsp[(2) - (2)].u.identifier)->get_fully_scoped_name(), (yylsp[(1) - (2)])); @@ -5402,54 +5448,37 @@ yyreduce: } break; - case 230: + case 232: /* Line 1792 of yacc.c */ -#line 1747 "dtool/src/cppparser/cppBison.yxx" +#line 1780 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.type) = CPPType::new_type((yyvsp[(1) - (1)].u.simple_type)); } break; - case 231: -/* Line 1792 of yacc.c */ -#line 1751 "dtool/src/cppparser/cppBison.yxx" - { - (yyval.u.type) = (yyvsp[(1) - (1)].u.identifier)->find_type(current_scope, global_scope, false, current_lexer); - assert((yyval.u.type) != NULL); -} - break; - - case 232: -/* Line 1792 of yacc.c */ -#line 1756 "dtool/src/cppparser/cppBison.yxx" - { - (yyval.u.type) = CPPType::new_type(new CPPTBDType((yyvsp[(2) - (2)].u.identifier))); -} - break; - case 233: /* Line 1792 of yacc.c */ -#line 1760 "dtool/src/cppparser/cppBison.yxx" +#line 1784 "dtool/src/cppparser/cppBison.yxx" { - CPPType *type = (yyvsp[(2) - (2)].u.identifier)->find_type(current_scope, global_scope, false, current_lexer); - if (type != NULL) { - (yyval.u.type) = type; - } else { - CPPExtensionType *et = - CPPType::new_type(new CPPExtensionType((yyvsp[(1) - (2)].u.extension_enum), (yyvsp[(2) - (2)].u.identifier), current_scope, (yylsp[(1) - (2)]).file)) - ->as_extension_type(); - CPPScope *scope = (yyvsp[(2) - (2)].u.identifier)->get_scope(current_scope, global_scope); - if (scope != NULL) { - scope->define_extension_type(et); - } - (yyval.u.type) = et; + (yyval.u.type) = (yyvsp[(1) - (1)].u.identifier)->find_type(current_scope, global_scope, false, current_lexer); + if ((yyval.u.type) == NULL) { + yyerror(string("internal error resolving type ") + (yyvsp[(1) - (1)].u.identifier)->get_fully_scoped_name(), (yylsp[(1) - (1)])); } + assert((yyval.u.type) != NULL); } break; case 234: /* Line 1792 of yacc.c */ -#line 1776 "dtool/src/cppparser/cppBison.yxx" +#line 1792 "dtool/src/cppparser/cppBison.yxx" + { + (yyval.u.type) = CPPType::new_type(new CPPTBDType((yyvsp[(2) - (2)].u.identifier))); +} + break; + + case 235: +/* Line 1792 of yacc.c */ +#line 1796 "dtool/src/cppparser/cppBison.yxx" { CPPType *type = (yyvsp[(2) - (2)].u.identifier)->find_type(current_scope, global_scope, false, current_lexer); if (type != NULL) { @@ -5467,9 +5496,29 @@ yyreduce: } break; - case 235: + case 236: /* Line 1792 of yacc.c */ -#line 1795 "dtool/src/cppparser/cppBison.yxx" +#line 1812 "dtool/src/cppparser/cppBison.yxx" + { + CPPType *type = (yyvsp[(2) - (2)].u.identifier)->find_type(current_scope, global_scope, false, current_lexer); + if (type != NULL) { + (yyval.u.type) = type; + } else { + CPPExtensionType *et = + CPPType::new_type(new CPPExtensionType((yyvsp[(1) - (2)].u.extension_enum), (yyvsp[(2) - (2)].u.identifier), current_scope, (yylsp[(1) - (2)]).file)) + ->as_extension_type(); + CPPScope *scope = (yyvsp[(2) - (2)].u.identifier)->get_scope(current_scope, global_scope); + if (scope != NULL) { + scope->define_extension_type(et); + } + (yyval.u.type) = et; + } +} + break; + + case 237: +/* Line 1792 of yacc.c */ +#line 1831 "dtool/src/cppparser/cppBison.yxx" { CPPInstance *inst = new CPPInstance((yyvsp[(1) - (2)].u.type), (yyvsp[(2) - (2)].u.inst_ident), 0, (yylsp[(1) - (2)]).file); (yyval.u.type) = inst->_type; @@ -5477,9 +5526,9 @@ yyreduce: } break; - case 236: + case 238: /* Line 1792 of yacc.c */ -#line 1801 "dtool/src/cppparser/cppBison.yxx" +#line 1837 "dtool/src/cppparser/cppBison.yxx" { (yyvsp[(3) - (3)].u.inst_ident)->add_modifier(IIT_const); CPPInstance *inst = new CPPInstance((yyvsp[(2) - (3)].u.type), (yyvsp[(3) - (3)].u.inst_ident), 0, (yylsp[(1) - (3)]).file); @@ -5488,9 +5537,9 @@ yyreduce: } break; - case 237: + case 239: /* Line 1792 of yacc.c */ -#line 1811 "dtool/src/cppparser/cppBison.yxx" +#line 1847 "dtool/src/cppparser/cppBison.yxx" { CPPVisibility starting_vis = ((yyvsp[(1) - (2)].u.extension_enum) == CPPExtensionType::T_class) ? V_private : V_public; @@ -5506,9 +5555,9 @@ yyreduce: } break; - case 238: + case 240: /* Line 1792 of yacc.c */ -#line 1825 "dtool/src/cppparser/cppBison.yxx" +#line 1861 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.struct_type) = current_struct; current_struct->_incomplete = false; @@ -5517,9 +5566,9 @@ yyreduce: } break; - case 239: + case 241: /* Line 1792 of yacc.c */ -#line 1835 "dtool/src/cppparser/cppBison.yxx" +#line 1871 "dtool/src/cppparser/cppBison.yxx" { CPPVisibility starting_vis = ((yyvsp[(1) - (2)].u.extension_enum) == CPPExtensionType::T_class) ? V_private : V_public; @@ -5541,9 +5590,9 @@ yyreduce: } break; - case 240: + case 242: /* Line 1792 of yacc.c */ -#line 1855 "dtool/src/cppparser/cppBison.yxx" +#line 1891 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.struct_type) = current_struct; current_struct->_incomplete = false; @@ -5552,138 +5601,138 @@ yyreduce: } break; - case 245: + case 247: /* Line 1792 of yacc.c */ -#line 1875 "dtool/src/cppparser/cppBison.yxx" +#line 1911 "dtool/src/cppparser/cppBison.yxx" { current_struct->append_derivation((yyvsp[(2) - (2)].u.type), V_public, false); } break; - case 246: + case 248: /* Line 1792 of yacc.c */ -#line 1879 "dtool/src/cppparser/cppBison.yxx" +#line 1915 "dtool/src/cppparser/cppBison.yxx" { current_struct->append_derivation((yyvsp[(2) - (2)].u.type), V_protected, false); } break; - case 247: + case 249: /* Line 1792 of yacc.c */ -#line 1883 "dtool/src/cppparser/cppBison.yxx" +#line 1919 "dtool/src/cppparser/cppBison.yxx" { current_struct->append_derivation((yyvsp[(2) - (2)].u.type), V_private, false); } break; - case 248: -/* Line 1792 of yacc.c */ -#line 1887 "dtool/src/cppparser/cppBison.yxx" - { - current_struct->append_derivation((yyvsp[(3) - (3)].u.type), V_public, true); -} - break; - - case 249: -/* Line 1792 of yacc.c */ -#line 1891 "dtool/src/cppparser/cppBison.yxx" - { - current_struct->append_derivation((yyvsp[(3) - (3)].u.type), V_protected, true); -} - break; - case 250: /* Line 1792 of yacc.c */ -#line 1895 "dtool/src/cppparser/cppBison.yxx" +#line 1923 "dtool/src/cppparser/cppBison.yxx" { - current_struct->append_derivation((yyvsp[(3) - (3)].u.type), V_private, true); + current_struct->append_derivation((yyvsp[(3) - (3)].u.type), V_public, true); } break; case 251: /* Line 1792 of yacc.c */ -#line 1899 "dtool/src/cppparser/cppBison.yxx" - { - current_struct->append_derivation((yyvsp[(3) - (3)].u.type), V_public, true); -} - break; - - case 252: -/* Line 1792 of yacc.c */ -#line 1903 "dtool/src/cppparser/cppBison.yxx" +#line 1927 "dtool/src/cppparser/cppBison.yxx" { current_struct->append_derivation((yyvsp[(3) - (3)].u.type), V_protected, true); } break; - case 253: + case 252: /* Line 1792 of yacc.c */ -#line 1907 "dtool/src/cppparser/cppBison.yxx" +#line 1931 "dtool/src/cppparser/cppBison.yxx" { current_struct->append_derivation((yyvsp[(3) - (3)].u.type), V_private, true); } break; + case 253: +/* Line 1792 of yacc.c */ +#line 1935 "dtool/src/cppparser/cppBison.yxx" + { + current_struct->append_derivation((yyvsp[(3) - (3)].u.type), V_public, true); +} + break; + case 254: /* Line 1792 of yacc.c */ -#line 1914 "dtool/src/cppparser/cppBison.yxx" +#line 1939 "dtool/src/cppparser/cppBison.yxx" + { + current_struct->append_derivation((yyvsp[(3) - (3)].u.type), V_protected, true); +} + break; + + case 255: +/* Line 1792 of yacc.c */ +#line 1943 "dtool/src/cppparser/cppBison.yxx" + { + current_struct->append_derivation((yyvsp[(3) - (3)].u.type), V_private, true); +} + break; + + case 256: +/* Line 1792 of yacc.c */ +#line 1950 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.enum_type) = current_enum; current_enum = NULL; } break; - case 255: + case 257: /* Line 1792 of yacc.c */ -#line 1922 "dtool/src/cppparser/cppBison.yxx" +#line 1958 "dtool/src/cppparser/cppBison.yxx" { current_enum = new CPPEnumType((yyvsp[(2) - (4)].u.identifier), (yyvsp[(4) - (4)].u.type), current_scope, (yylsp[(1) - (4)]).file); } break; - case 256: + case 258: /* Line 1792 of yacc.c */ -#line 1926 "dtool/src/cppparser/cppBison.yxx" +#line 1962 "dtool/src/cppparser/cppBison.yxx" { current_enum = new CPPEnumType((yyvsp[(2) - (2)].u.identifier), current_scope, (yylsp[(1) - (2)]).file); } break; - case 257: + case 259: /* Line 1792 of yacc.c */ -#line 1930 "dtool/src/cppparser/cppBison.yxx" +#line 1966 "dtool/src/cppparser/cppBison.yxx" { current_enum = new CPPEnumType(NULL, (yyvsp[(3) - (3)].u.type), current_scope, (yylsp[(1) - (3)]).file); } break; - case 258: + case 260: /* Line 1792 of yacc.c */ -#line 1934 "dtool/src/cppparser/cppBison.yxx" +#line 1970 "dtool/src/cppparser/cppBison.yxx" { current_enum = new CPPEnumType(NULL, current_scope, (yylsp[(1) - (1)]).file); } break; - case 259: + case 261: /* Line 1792 of yacc.c */ -#line 1941 "dtool/src/cppparser/cppBison.yxx" +#line 1977 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.type) = CPPType::new_type((yyvsp[(1) - (1)].u.simple_type)); } break; - case 260: + case 262: /* Line 1792 of yacc.c */ -#line 1945 "dtool/src/cppparser/cppBison.yxx" +#line 1981 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.type) = (yyvsp[(1) - (1)].u.identifier)->find_type(current_scope, global_scope, false, current_lexer); } break; - case 262: + case 264: /* Line 1792 of yacc.c */ -#line 1953 "dtool/src/cppparser/cppBison.yxx" +#line 1989 "dtool/src/cppparser/cppBison.yxx" { assert(current_enum != NULL); CPPInstance *inst = current_enum->add_element((yyvsp[(2) - (3)].u.identifier)->get_simple_name()); @@ -5691,9 +5740,9 @@ yyreduce: } break; - case 263: + case 265: /* Line 1792 of yacc.c */ -#line 1959 "dtool/src/cppparser/cppBison.yxx" +#line 1995 "dtool/src/cppparser/cppBison.yxx" { assert(current_enum != NULL); CPPInstance *inst = current_enum->add_element((yyvsp[(2) - (5)].u.identifier)->get_simple_name(), (yyvsp[(4) - (5)].u.expr)); @@ -5701,9 +5750,9 @@ yyreduce: } break; - case 265: + case 267: /* Line 1792 of yacc.c */ -#line 1968 "dtool/src/cppparser/cppBison.yxx" +#line 2004 "dtool/src/cppparser/cppBison.yxx" { assert(current_enum != NULL); CPPInstance *inst = current_enum->add_element((yyvsp[(2) - (2)].u.identifier)->get_simple_name()); @@ -5711,9 +5760,9 @@ yyreduce: } break; - case 266: + case 268: /* Line 1792 of yacc.c */ -#line 1974 "dtool/src/cppparser/cppBison.yxx" +#line 2010 "dtool/src/cppparser/cppBison.yxx" { assert(current_enum != NULL); CPPInstance *inst = current_enum->add_element((yyvsp[(2) - (4)].u.identifier)->get_simple_name(), (yyvsp[(4) - (4)].u.expr)); @@ -5721,41 +5770,41 @@ yyreduce: } break; - case 267: + case 269: /* Line 1792 of yacc.c */ -#line 1983 "dtool/src/cppparser/cppBison.yxx" +#line 2019 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.extension_enum) = CPPExtensionType::T_enum; } break; - case 268: + case 270: /* Line 1792 of yacc.c */ -#line 1990 "dtool/src/cppparser/cppBison.yxx" +#line 2026 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.extension_enum) = CPPExtensionType::T_class; } break; - case 269: + case 271: /* Line 1792 of yacc.c */ -#line 1994 "dtool/src/cppparser/cppBison.yxx" +#line 2030 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.extension_enum) = CPPExtensionType::T_struct; } break; - case 270: + case 272: /* Line 1792 of yacc.c */ -#line 1998 "dtool/src/cppparser/cppBison.yxx" +#line 2034 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.extension_enum) = CPPExtensionType::T_union; } break; - case 271: + case 273: /* Line 1792 of yacc.c */ -#line 2005 "dtool/src/cppparser/cppBison.yxx" +#line 2041 "dtool/src/cppparser/cppBison.yxx" { CPPScope *scope = (yyvsp[(2) - (3)].u.identifier)->find_scope(current_scope, global_scope, current_lexer); if (scope == NULL) { @@ -5775,17 +5824,17 @@ yyreduce: } break; - case 272: + case 274: /* Line 1792 of yacc.c */ -#line 2023 "dtool/src/cppparser/cppBison.yxx" +#line 2059 "dtool/src/cppparser/cppBison.yxx" { pop_scope(); } break; - case 274: + case 276: /* Line 1792 of yacc.c */ -#line 2031 "dtool/src/cppparser/cppBison.yxx" +#line 2067 "dtool/src/cppparser/cppBison.yxx" { CPPUsing *using_decl = new CPPUsing((yyvsp[(2) - (2)].u.identifier), false, (yylsp[(1) - (2)]).file); current_scope->add_declaration(using_decl, global_scope, current_lexer, (yylsp[(1) - (2)])); @@ -5793,9 +5842,9 @@ yyreduce: } break; - case 275: + case 277: /* Line 1792 of yacc.c */ -#line 2037 "dtool/src/cppparser/cppBison.yxx" +#line 2073 "dtool/src/cppparser/cppBison.yxx" { CPPUsing *using_decl = new CPPUsing((yyvsp[(3) - (3)].u.identifier), true, (yylsp[(1) - (3)]).file); current_scope->add_declaration(using_decl, global_scope, current_lexer, (yylsp[(1) - (3)])); @@ -5803,111 +5852,111 @@ yyreduce: } break; - case 279: + case 281: /* Line 1792 of yacc.c */ -#line 2052 "dtool/src/cppparser/cppBison.yxx" +#line 2088 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.simple_type) = new CPPSimpleType(CPPSimpleType::T_bool); } break; - case 280: + case 282: /* Line 1792 of yacc.c */ -#line 2056 "dtool/src/cppparser/cppBison.yxx" +#line 2092 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.simple_type) = new CPPSimpleType(CPPSimpleType::T_char); } break; - case 281: + case 283: /* Line 1792 of yacc.c */ -#line 2060 "dtool/src/cppparser/cppBison.yxx" +#line 2096 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.simple_type) = new CPPSimpleType(CPPSimpleType::T_wchar_t); } break; - case 282: + case 284: /* Line 1792 of yacc.c */ -#line 2064 "dtool/src/cppparser/cppBison.yxx" +#line 2100 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.simple_type) = new CPPSimpleType(CPPSimpleType::T_char16_t); } break; - case 283: + case 285: /* Line 1792 of yacc.c */ -#line 2068 "dtool/src/cppparser/cppBison.yxx" +#line 2104 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.simple_type) = new CPPSimpleType(CPPSimpleType::T_char32_t); } break; - case 284: + case 286: /* Line 1792 of yacc.c */ -#line 2072 "dtool/src/cppparser/cppBison.yxx" +#line 2108 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.simple_type) = new CPPSimpleType(CPPSimpleType::T_int, CPPSimpleType::F_short); } break; - case 285: + case 287: /* Line 1792 of yacc.c */ -#line 2077 "dtool/src/cppparser/cppBison.yxx" +#line 2113 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.simple_type) = new CPPSimpleType(CPPSimpleType::T_int, CPPSimpleType::F_long); } break; - case 286: + case 288: /* Line 1792 of yacc.c */ -#line 2082 "dtool/src/cppparser/cppBison.yxx" +#line 2118 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.simple_type) = new CPPSimpleType(CPPSimpleType::T_int, CPPSimpleType::F_longlong); } break; - case 287: + case 289: /* Line 1792 of yacc.c */ -#line 2087 "dtool/src/cppparser/cppBison.yxx" +#line 2123 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.simple_type) = new CPPSimpleType(CPPSimpleType::T_int, CPPSimpleType::F_unsigned); } break; - case 288: + case 290: /* Line 1792 of yacc.c */ -#line 2092 "dtool/src/cppparser/cppBison.yxx" +#line 2128 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.simple_type) = new CPPSimpleType(CPPSimpleType::T_int, CPPSimpleType::F_signed); } break; - case 289: + case 291: /* Line 1792 of yacc.c */ -#line 2097 "dtool/src/cppparser/cppBison.yxx" +#line 2133 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.simple_type) = new CPPSimpleType(CPPSimpleType::T_int); } break; - case 290: + case 292: /* Line 1792 of yacc.c */ -#line 2101 "dtool/src/cppparser/cppBison.yxx" +#line 2137 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.simple_type) = (yyvsp[(2) - (2)].u.simple_type); (yyval.u.simple_type)->_flags |= CPPSimpleType::F_short; } break; - case 291: + case 293: /* Line 1792 of yacc.c */ -#line 2106 "dtool/src/cppparser/cppBison.yxx" +#line 2142 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.simple_type) = (yyvsp[(2) - (2)].u.simple_type); if ((yyval.u.simple_type)->_flags & CPPSimpleType::F_long) { @@ -5918,173 +5967,157 @@ yyreduce: } break; - case 292: + case 294: /* Line 1792 of yacc.c */ -#line 2115 "dtool/src/cppparser/cppBison.yxx" +#line 2151 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.simple_type) = (yyvsp[(2) - (2)].u.simple_type); (yyval.u.simple_type)->_flags |= CPPSimpleType::F_unsigned; } break; - case 293: + case 295: /* Line 1792 of yacc.c */ -#line 2120 "dtool/src/cppparser/cppBison.yxx" +#line 2156 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.simple_type) = (yyvsp[(2) - (2)].u.simple_type); (yyval.u.simple_type)->_flags |= CPPSimpleType::F_signed; } break; - case 294: + case 296: /* Line 1792 of yacc.c */ -#line 2128 "dtool/src/cppparser/cppBison.yxx" +#line 2164 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.simple_type) = new CPPSimpleType(CPPSimpleType::T_float); } break; - case 295: + case 297: /* Line 1792 of yacc.c */ -#line 2132 "dtool/src/cppparser/cppBison.yxx" +#line 2168 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.simple_type) = new CPPSimpleType(CPPSimpleType::T_float, CPPSimpleType::F_long); } break; - case 296: + case 298: /* Line 1792 of yacc.c */ -#line 2137 "dtool/src/cppparser/cppBison.yxx" +#line 2173 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.simple_type) = new CPPSimpleType(CPPSimpleType::T_double); } break; - case 297: + case 299: /* Line 1792 of yacc.c */ -#line 2141 "dtool/src/cppparser/cppBison.yxx" +#line 2177 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.simple_type) = new CPPSimpleType(CPPSimpleType::T_float, CPPSimpleType::F_longlong); } break; - case 298: + case 300: /* Line 1792 of yacc.c */ -#line 2146 "dtool/src/cppparser/cppBison.yxx" +#line 2182 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.simple_type) = new CPPSimpleType(CPPSimpleType::T_double, CPPSimpleType::F_long); } break; - case 299: + case 301: /* Line 1792 of yacc.c */ -#line 2154 "dtool/src/cppparser/cppBison.yxx" +#line 2190 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.simple_type) = new CPPSimpleType(CPPSimpleType::T_void); } break; - case 300: + case 302: /* Line 1792 of yacc.c */ -#line 2163 "dtool/src/cppparser/cppBison.yxx" +#line 2199 "dtool/src/cppparser/cppBison.yxx" { current_lexer->_resolve_identifiers = false; } break; - case 301: + case 303: /* Line 1792 of yacc.c */ -#line 2167 "dtool/src/cppparser/cppBison.yxx" +#line 2203 "dtool/src/cppparser/cppBison.yxx" { current_lexer->_resolve_identifiers = true; } break; - case 304: -/* Line 1792 of yacc.c */ -#line 2179 "dtool/src/cppparser/cppBison.yxx" - { -} - break; - - case 305: -/* Line 1792 of yacc.c */ -#line 2182 "dtool/src/cppparser/cppBison.yxx" - { -} - break; - case 306: /* Line 1792 of yacc.c */ -#line 2185 "dtool/src/cppparser/cppBison.yxx" +#line 2215 "dtool/src/cppparser/cppBison.yxx" { } break; case 307: /* Line 1792 of yacc.c */ -#line 2188 "dtool/src/cppparser/cppBison.yxx" +#line 2218 "dtool/src/cppparser/cppBison.yxx" { } break; case 308: /* Line 1792 of yacc.c */ -#line 2191 "dtool/src/cppparser/cppBison.yxx" +#line 2221 "dtool/src/cppparser/cppBison.yxx" { } break; case 309: /* Line 1792 of yacc.c */ -#line 2194 "dtool/src/cppparser/cppBison.yxx" +#line 2224 "dtool/src/cppparser/cppBison.yxx" { } break; case 310: /* Line 1792 of yacc.c */ -#line 2197 "dtool/src/cppparser/cppBison.yxx" +#line 2227 "dtool/src/cppparser/cppBison.yxx" { } break; case 311: /* Line 1792 of yacc.c */ -#line 2200 "dtool/src/cppparser/cppBison.yxx" - { -} - break; - - case 386: -/* Line 1792 of yacc.c */ -#line 2221 "dtool/src/cppparser/cppBison.yxx" - { -} - break; - - case 410: -/* Line 1792 of yacc.c */ #line 2230 "dtool/src/cppparser/cppBison.yxx" { - (yyval.u.expr) = (CPPExpression *)NULL; } break; - case 411: + case 312: /* Line 1792 of yacc.c */ -#line 2234 "dtool/src/cppparser/cppBison.yxx" +#line 2233 "dtool/src/cppparser/cppBison.yxx" + { +} + break; + + case 313: +/* Line 1792 of yacc.c */ +#line 2236 "dtool/src/cppparser/cppBison.yxx" + { +} + break; + + case 388: +/* Line 1792 of yacc.c */ +#line 2257 "dtool/src/cppparser/cppBison.yxx" { - (yyval.u.expr) = (yyvsp[(1) - (1)].u.expr); } break; case 412: /* Line 1792 of yacc.c */ -#line 2241 "dtool/src/cppparser/cppBison.yxx" +#line 2266 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = (CPPExpression *)NULL; } @@ -6092,7 +6125,7 @@ yyreduce: case 413: /* Line 1792 of yacc.c */ -#line 2245 "dtool/src/cppparser/cppBison.yxx" +#line 2270 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = (yyvsp[(1) - (1)].u.expr); } @@ -6100,23 +6133,23 @@ yyreduce: case 414: /* Line 1792 of yacc.c */ -#line 2252 "dtool/src/cppparser/cppBison.yxx" +#line 2277 "dtool/src/cppparser/cppBison.yxx" { - (yyval.u.expr) = (yyvsp[(1) - (1)].u.expr); + (yyval.u.expr) = (CPPExpression *)NULL; } break; case 415: /* Line 1792 of yacc.c */ -#line 2256 "dtool/src/cppparser/cppBison.yxx" +#line 2281 "dtool/src/cppparser/cppBison.yxx" { - (yyval.u.expr) = new CPPExpression(',', (yyvsp[(1) - (3)].u.expr), (yyvsp[(3) - (3)].u.expr)); + (yyval.u.expr) = (yyvsp[(1) - (1)].u.expr); } break; case 416: /* Line 1792 of yacc.c */ -#line 2263 "dtool/src/cppparser/cppBison.yxx" +#line 2288 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = (yyvsp[(1) - (1)].u.expr); } @@ -6124,55 +6157,71 @@ yyreduce: case 417: /* Line 1792 of yacc.c */ -#line 2267 "dtool/src/cppparser/cppBison.yxx" +#line 2292 "dtool/src/cppparser/cppBison.yxx" { - (yyval.u.expr) = new CPPExpression(CPPExpression::typecast_op((yyvsp[(2) - (4)].u.type), (yyvsp[(4) - (4)].u.expr))); + (yyval.u.expr) = new CPPExpression(',', (yyvsp[(1) - (3)].u.expr), (yyvsp[(3) - (3)].u.expr)); } break; case 418: /* Line 1792 of yacc.c */ -#line 2271 "dtool/src/cppparser/cppBison.yxx" +#line 2299 "dtool/src/cppparser/cppBison.yxx" { - (yyval.u.expr) = new CPPExpression(CPPExpression::typecast_op((yyvsp[(3) - (7)].u.type), (yyvsp[(6) - (7)].u.expr))); + (yyval.u.expr) = (yyvsp[(1) - (1)].u.expr); } break; case 419: /* Line 1792 of yacc.c */ -#line 2275 "dtool/src/cppparser/cppBison.yxx" +#line 2303 "dtool/src/cppparser/cppBison.yxx" { - (yyval.u.expr) = new CPPExpression(CPPExpression::typecast_op((yyvsp[(3) - (7)].u.type), (yyvsp[(6) - (7)].u.expr))); + (yyval.u.expr) = new CPPExpression(CPPExpression::typecast_op((yyvsp[(2) - (4)].u.type), (yyvsp[(4) - (4)].u.expr))); } break; case 420: /* Line 1792 of yacc.c */ -#line 2279 "dtool/src/cppparser/cppBison.yxx" +#line 2307 "dtool/src/cppparser/cppBison.yxx" { - (yyval.u.expr) = new CPPExpression(CPPExpression::sizeof_func((yyvsp[(3) - (4)].u.type))); + (yyval.u.expr) = new CPPExpression(CPPExpression::typecast_op((yyvsp[(3) - (7)].u.type), (yyvsp[(6) - (7)].u.expr))); } break; case 421: /* Line 1792 of yacc.c */ -#line 2283 "dtool/src/cppparser/cppBison.yxx" +#line 2311 "dtool/src/cppparser/cppBison.yxx" { - (yyval.u.expr) = new CPPExpression(UNARY_NOT, (yyvsp[(2) - (2)].u.expr)); + (yyval.u.expr) = new CPPExpression(CPPExpression::typecast_op((yyvsp[(3) - (7)].u.type), (yyvsp[(6) - (7)].u.expr))); } break; case 422: /* Line 1792 of yacc.c */ -#line 2287 "dtool/src/cppparser/cppBison.yxx" +#line 2315 "dtool/src/cppparser/cppBison.yxx" { - (yyval.u.expr) = new CPPExpression(UNARY_NEGATE, (yyvsp[(2) - (2)].u.expr)); + (yyval.u.expr) = new CPPExpression(CPPExpression::sizeof_func((yyvsp[(3) - (4)].u.type))); } break; case 423: /* Line 1792 of yacc.c */ -#line 2291 "dtool/src/cppparser/cppBison.yxx" +#line 2319 "dtool/src/cppparser/cppBison.yxx" + { + (yyval.u.expr) = new CPPExpression(UNARY_NOT, (yyvsp[(2) - (2)].u.expr)); +} + break; + + case 424: +/* Line 1792 of yacc.c */ +#line 2323 "dtool/src/cppparser/cppBison.yxx" + { + (yyval.u.expr) = new CPPExpression(UNARY_NEGATE, (yyvsp[(2) - (2)].u.expr)); +} + break; + + case 425: +/* Line 1792 of yacc.c */ +#line 2327 "dtool/src/cppparser/cppBison.yxx" { if ((yyvsp[(2) - (2)].u.expr)->_type == CPPExpression::T_integer) { (yyval.u.expr) = (yyvsp[(2) - (2)].u.expr); @@ -6186,252 +6235,255 @@ yyreduce: } break; - case 424: + case 426: /* Line 1792 of yacc.c */ -#line 2303 "dtool/src/cppparser/cppBison.yxx" +#line 2339 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(UNARY_STAR, (yyvsp[(2) - (2)].u.expr)); } break; - case 425: + case 427: /* Line 1792 of yacc.c */ -#line 2307 "dtool/src/cppparser/cppBison.yxx" +#line 2343 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(UNARY_REF, (yyvsp[(2) - (2)].u.expr)); } break; - case 426: + case 428: /* Line 1792 of yacc.c */ -#line 2311 "dtool/src/cppparser/cppBison.yxx" +#line 2347 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression('*', (yyvsp[(1) - (3)].u.expr), (yyvsp[(3) - (3)].u.expr)); } break; - case 427: + case 429: /* Line 1792 of yacc.c */ -#line 2315 "dtool/src/cppparser/cppBison.yxx" +#line 2351 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression('/', (yyvsp[(1) - (3)].u.expr), (yyvsp[(3) - (3)].u.expr)); } break; - case 428: + case 430: /* Line 1792 of yacc.c */ -#line 2319 "dtool/src/cppparser/cppBison.yxx" +#line 2355 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression('%', (yyvsp[(1) - (3)].u.expr), (yyvsp[(3) - (3)].u.expr)); } break; - case 429: + case 431: /* Line 1792 of yacc.c */ -#line 2323 "dtool/src/cppparser/cppBison.yxx" +#line 2359 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression('+', (yyvsp[(1) - (3)].u.expr), (yyvsp[(3) - (3)].u.expr)); } break; - case 430: + case 432: /* Line 1792 of yacc.c */ -#line 2327 "dtool/src/cppparser/cppBison.yxx" +#line 2363 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression('-', (yyvsp[(1) - (3)].u.expr), (yyvsp[(3) - (3)].u.expr)); } break; - case 431: + case 433: /* Line 1792 of yacc.c */ -#line 2331 "dtool/src/cppparser/cppBison.yxx" +#line 2367 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression('|', (yyvsp[(1) - (3)].u.expr), (yyvsp[(3) - (3)].u.expr)); } break; - case 432: + case 434: /* Line 1792 of yacc.c */ -#line 2335 "dtool/src/cppparser/cppBison.yxx" +#line 2371 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression('^', (yyvsp[(1) - (3)].u.expr), (yyvsp[(3) - (3)].u.expr)); } break; - case 433: + case 435: /* Line 1792 of yacc.c */ -#line 2339 "dtool/src/cppparser/cppBison.yxx" +#line 2375 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression('&', (yyvsp[(1) - (3)].u.expr), (yyvsp[(3) - (3)].u.expr)); } break; - case 434: + case 436: /* Line 1792 of yacc.c */ -#line 2343 "dtool/src/cppparser/cppBison.yxx" +#line 2379 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(OROR, (yyvsp[(1) - (3)].u.expr), (yyvsp[(3) - (3)].u.expr)); } break; - case 435: + case 437: /* Line 1792 of yacc.c */ -#line 2347 "dtool/src/cppparser/cppBison.yxx" +#line 2383 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(ANDAND, (yyvsp[(1) - (3)].u.expr), (yyvsp[(3) - (3)].u.expr)); } break; - case 436: + case 438: /* Line 1792 of yacc.c */ -#line 2351 "dtool/src/cppparser/cppBison.yxx" +#line 2387 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(EQCOMPARE, (yyvsp[(1) - (3)].u.expr), (yyvsp[(3) - (3)].u.expr)); } break; - case 437: + case 439: /* Line 1792 of yacc.c */ -#line 2355 "dtool/src/cppparser/cppBison.yxx" +#line 2391 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(NECOMPARE, (yyvsp[(1) - (3)].u.expr), (yyvsp[(3) - (3)].u.expr)); } break; - case 438: + case 440: /* Line 1792 of yacc.c */ -#line 2359 "dtool/src/cppparser/cppBison.yxx" +#line 2395 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(LECOMPARE, (yyvsp[(1) - (3)].u.expr), (yyvsp[(3) - (3)].u.expr)); } break; - case 439: + case 441: /* Line 1792 of yacc.c */ -#line 2363 "dtool/src/cppparser/cppBison.yxx" +#line 2399 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(GECOMPARE, (yyvsp[(1) - (3)].u.expr), (yyvsp[(3) - (3)].u.expr)); } break; - case 440: + case 442: /* Line 1792 of yacc.c */ -#line 2367 "dtool/src/cppparser/cppBison.yxx" +#line 2403 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(LSHIFT, (yyvsp[(1) - (3)].u.expr), (yyvsp[(3) - (3)].u.expr)); } break; - case 441: + case 443: /* Line 1792 of yacc.c */ -#line 2371 "dtool/src/cppparser/cppBison.yxx" +#line 2407 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(RSHIFT, (yyvsp[(1) - (3)].u.expr), (yyvsp[(3) - (3)].u.expr)); } break; - case 442: + case 444: /* Line 1792 of yacc.c */ -#line 2375 "dtool/src/cppparser/cppBison.yxx" +#line 2411 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression('?', (yyvsp[(1) - (5)].u.expr), (yyvsp[(3) - (5)].u.expr), (yyvsp[(5) - (5)].u.expr)); } break; - case 443: + case 445: /* Line 1792 of yacc.c */ -#line 2379 "dtool/src/cppparser/cppBison.yxx" +#line 2415 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression('[', (yyvsp[(1) - (4)].u.expr), (yyvsp[(3) - (4)].u.expr)); } break; - case 444: + case 446: /* Line 1792 of yacc.c */ -#line 2383 "dtool/src/cppparser/cppBison.yxx" +#line 2419 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression('f', (yyvsp[(1) - (4)].u.expr), (yyvsp[(3) - (4)].u.expr)); } break; - case 445: + case 447: /* Line 1792 of yacc.c */ -#line 2387 "dtool/src/cppparser/cppBison.yxx" +#line 2423 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression('f', (yyvsp[(1) - (3)].u.expr)); } break; - case 446: + case 448: /* Line 1792 of yacc.c */ -#line 2391 "dtool/src/cppparser/cppBison.yxx" +#line 2427 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression('.', (yyvsp[(1) - (3)].u.expr), (yyvsp[(3) - (3)].u.expr)); } break; - case 447: + case 449: /* Line 1792 of yacc.c */ -#line 2395 "dtool/src/cppparser/cppBison.yxx" +#line 2431 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(POINTSAT, (yyvsp[(1) - (3)].u.expr), (yyvsp[(3) - (3)].u.expr)); } break; - case 448: + case 450: /* Line 1792 of yacc.c */ -#line 2399 "dtool/src/cppparser/cppBison.yxx" +#line 2435 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = (yyvsp[(2) - (3)].u.expr); } break; - case 449: + case 451: /* Line 1792 of yacc.c */ -#line 2407 "dtool/src/cppparser/cppBison.yxx" +#line 2443 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = (yyvsp[(1) - (1)].u.expr); } break; - case 450: + case 452: /* Line 1792 of yacc.c */ -#line 2411 "dtool/src/cppparser/cppBison.yxx" +#line 2447 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(CPPExpression::typecast_op((yyvsp[(2) - (4)].u.type), (yyvsp[(4) - (4)].u.expr))); } break; - case 451: -/* Line 1792 of yacc.c */ -#line 2415 "dtool/src/cppparser/cppBison.yxx" - { - (yyval.u.expr) = new CPPExpression(CPPExpression::typecast_op((yyvsp[(3) - (7)].u.type), (yyvsp[(6) - (7)].u.expr))); -} - break; - - case 452: -/* Line 1792 of yacc.c */ -#line 2419 "dtool/src/cppparser/cppBison.yxx" - { - (yyval.u.expr) = new CPPExpression(CPPExpression::typecast_op((yyvsp[(3) - (7)].u.type), (yyvsp[(6) - (7)].u.expr))); -} - break; - case 453: /* Line 1792 of yacc.c */ -#line 2423 "dtool/src/cppparser/cppBison.yxx" +#line 2451 "dtool/src/cppparser/cppBison.yxx" { - // A constructor call. - CPPType *type = (yyvsp[(1) - (4)].u.identifier)->find_type(current_scope, global_scope, false, current_lexer); - assert(type != NULL); - (yyval.u.expr) = new CPPExpression(CPPExpression::construct_op(type, (yyvsp[(3) - (4)].u.expr))); + (yyval.u.expr) = new CPPExpression(CPPExpression::typecast_op((yyvsp[(3) - (7)].u.type), (yyvsp[(6) - (7)].u.expr))); } break; case 454: /* Line 1792 of yacc.c */ -#line 2430 "dtool/src/cppparser/cppBison.yxx" +#line 2455 "dtool/src/cppparser/cppBison.yxx" + { + (yyval.u.expr) = new CPPExpression(CPPExpression::typecast_op((yyvsp[(3) - (7)].u.type), (yyvsp[(6) - (7)].u.expr))); +} + break; + + case 455: +/* Line 1792 of yacc.c */ +#line 2459 "dtool/src/cppparser/cppBison.yxx" + { + // A constructor call. + CPPType *type = (yyvsp[(1) - (4)].u.identifier)->find_type(current_scope, global_scope, false, current_lexer); + if (type == NULL) { + yyerror(string("internal error resolving type ") + (yyvsp[(1) - (4)].u.identifier)->get_fully_scoped_name(), (yylsp[(1) - (4)])); + } + assert(type != NULL); + (yyval.u.expr) = new CPPExpression(CPPExpression::construct_op(type, (yyvsp[(3) - (4)].u.expr))); +} + break; + + case 456: +/* Line 1792 of yacc.c */ +#line 2469 "dtool/src/cppparser/cppBison.yxx" { CPPType *type = CPPType::new_type(new CPPSimpleType(CPPSimpleType::T_int)); @@ -6439,9 +6491,9 @@ yyreduce: } break; - case 455: + case 457: /* Line 1792 of yacc.c */ -#line 2436 "dtool/src/cppparser/cppBison.yxx" +#line 2475 "dtool/src/cppparser/cppBison.yxx" { CPPType *type = CPPType::new_type(new CPPSimpleType(CPPSimpleType::T_char)); @@ -6449,9 +6501,9 @@ yyreduce: } break; - case 456: + case 458: /* Line 1792 of yacc.c */ -#line 2442 "dtool/src/cppparser/cppBison.yxx" +#line 2481 "dtool/src/cppparser/cppBison.yxx" { CPPType *type = CPPType::new_type(new CPPSimpleType(CPPSimpleType::T_wchar_t)); @@ -6459,9 +6511,9 @@ yyreduce: } break; - case 457: + case 459: /* Line 1792 of yacc.c */ -#line 2448 "dtool/src/cppparser/cppBison.yxx" +#line 2487 "dtool/src/cppparser/cppBison.yxx" { CPPType *type = CPPType::new_type(new CPPSimpleType(CPPSimpleType::T_char16_t)); @@ -6469,9 +6521,9 @@ yyreduce: } break; - case 458: + case 460: /* Line 1792 of yacc.c */ -#line 2454 "dtool/src/cppparser/cppBison.yxx" +#line 2493 "dtool/src/cppparser/cppBison.yxx" { CPPType *type = CPPType::new_type(new CPPSimpleType(CPPSimpleType::T_char32_t)); @@ -6479,9 +6531,9 @@ yyreduce: } break; - case 459: + case 461: /* Line 1792 of yacc.c */ -#line 2460 "dtool/src/cppparser/cppBison.yxx" +#line 2499 "dtool/src/cppparser/cppBison.yxx" { CPPType *type = CPPType::new_type(new CPPSimpleType(CPPSimpleType::T_bool)); @@ -6489,9 +6541,9 @@ yyreduce: } break; - case 460: + case 462: /* Line 1792 of yacc.c */ -#line 2466 "dtool/src/cppparser/cppBison.yxx" +#line 2505 "dtool/src/cppparser/cppBison.yxx" { CPPType *type = CPPType::new_type(new CPPSimpleType(CPPSimpleType::T_int, @@ -6500,9 +6552,9 @@ yyreduce: } break; - case 461: + case 463: /* Line 1792 of yacc.c */ -#line 2473 "dtool/src/cppparser/cppBison.yxx" +#line 2512 "dtool/src/cppparser/cppBison.yxx" { CPPType *type = CPPType::new_type(new CPPSimpleType(CPPSimpleType::T_int, @@ -6511,9 +6563,9 @@ yyreduce: } break; - case 462: + case 464: /* Line 1792 of yacc.c */ -#line 2480 "dtool/src/cppparser/cppBison.yxx" +#line 2519 "dtool/src/cppparser/cppBison.yxx" { CPPType *type = CPPType::new_type(new CPPSimpleType(CPPSimpleType::T_int, @@ -6522,9 +6574,9 @@ yyreduce: } break; - case 463: + case 465: /* Line 1792 of yacc.c */ -#line 2487 "dtool/src/cppparser/cppBison.yxx" +#line 2526 "dtool/src/cppparser/cppBison.yxx" { CPPType *type = CPPType::new_type(new CPPSimpleType(CPPSimpleType::T_int, @@ -6533,9 +6585,9 @@ yyreduce: } break; - case 464: + case 466: /* Line 1792 of yacc.c */ -#line 2494 "dtool/src/cppparser/cppBison.yxx" +#line 2533 "dtool/src/cppparser/cppBison.yxx" { CPPType *type = CPPType::new_type(new CPPSimpleType(CPPSimpleType::T_float)); @@ -6543,9 +6595,9 @@ yyreduce: } break; - case 465: + case 467: /* Line 1792 of yacc.c */ -#line 2500 "dtool/src/cppparser/cppBison.yxx" +#line 2539 "dtool/src/cppparser/cppBison.yxx" { CPPType *type = CPPType::new_type(new CPPSimpleType(CPPSimpleType::T_double)); @@ -6553,409 +6605,49 @@ yyreduce: } break; - case 466: -/* Line 1792 of yacc.c */ -#line 2506 "dtool/src/cppparser/cppBison.yxx" - { - (yyval.u.expr) = new CPPExpression(CPPExpression::sizeof_func((yyvsp[(3) - (4)].u.type))); -} - break; - - case 467: -/* Line 1792 of yacc.c */ -#line 2510 "dtool/src/cppparser/cppBison.yxx" - { - (yyval.u.expr) = new CPPExpression(CPPExpression::new_op((yyvsp[(2) - (2)].u.type))); -} - break; - case 468: /* Line 1792 of yacc.c */ -#line 2514 "dtool/src/cppparser/cppBison.yxx" +#line 2545 "dtool/src/cppparser/cppBison.yxx" { - (yyval.u.expr) = new CPPExpression(CPPExpression::new_op((yyvsp[(2) - (5)].u.type), (yyvsp[(4) - (5)].u.expr))); + (yyval.u.expr) = new CPPExpression(CPPExpression::sizeof_func((yyvsp[(3) - (4)].u.type))); } break; case 469: /* Line 1792 of yacc.c */ -#line 2518 "dtool/src/cppparser/cppBison.yxx" - { - (yyval.u.expr) = new CPPExpression(UNARY_NOT, (yyvsp[(2) - (2)].u.expr)); -} - break; - - case 470: -/* Line 1792 of yacc.c */ -#line 2522 "dtool/src/cppparser/cppBison.yxx" - { - (yyval.u.expr) = new CPPExpression(UNARY_NEGATE, (yyvsp[(2) - (2)].u.expr)); -} - break; - - case 471: -/* Line 1792 of yacc.c */ -#line 2526 "dtool/src/cppparser/cppBison.yxx" - { - if ((yyvsp[(2) - (2)].u.expr)->_type == CPPExpression::T_integer) { - (yyval.u.expr) = (yyvsp[(2) - (2)].u.expr); - (yyval.u.expr)->_u._integer = -(yyval.u.expr)->_u._integer; - } else if ((yyvsp[(2) - (2)].u.expr)->_type == CPPExpression::T_real) { - (yyval.u.expr) = (yyvsp[(2) - (2)].u.expr); - (yyval.u.expr)->_u._real = -(yyval.u.expr)->_u._real; - } else { - (yyval.u.expr) = new CPPExpression(UNARY_MINUS, (yyvsp[(2) - (2)].u.expr)); - } -} - break; - - case 472: -/* Line 1792 of yacc.c */ -#line 2538 "dtool/src/cppparser/cppBison.yxx" - { - (yyval.u.expr) = new CPPExpression(UNARY_STAR, (yyvsp[(2) - (2)].u.expr)); -} - break; - - case 473: -/* Line 1792 of yacc.c */ -#line 2542 "dtool/src/cppparser/cppBison.yxx" - { - (yyval.u.expr) = new CPPExpression(UNARY_REF, (yyvsp[(2) - (2)].u.expr)); -} - break; - - case 474: -/* Line 1792 of yacc.c */ -#line 2546 "dtool/src/cppparser/cppBison.yxx" - { - (yyval.u.expr) = new CPPExpression('*', (yyvsp[(1) - (3)].u.expr), (yyvsp[(3) - (3)].u.expr)); -} - break; - - case 475: -/* Line 1792 of yacc.c */ -#line 2550 "dtool/src/cppparser/cppBison.yxx" - { - (yyval.u.expr) = new CPPExpression('/', (yyvsp[(1) - (3)].u.expr), (yyvsp[(3) - (3)].u.expr)); -} - break; - - case 476: -/* Line 1792 of yacc.c */ -#line 2554 "dtool/src/cppparser/cppBison.yxx" - { - (yyval.u.expr) = new CPPExpression('%', (yyvsp[(1) - (3)].u.expr), (yyvsp[(3) - (3)].u.expr)); -} - break; - - case 477: -/* Line 1792 of yacc.c */ -#line 2558 "dtool/src/cppparser/cppBison.yxx" - { - (yyval.u.expr) = new CPPExpression('+', (yyvsp[(1) - (3)].u.expr), (yyvsp[(3) - (3)].u.expr)); -} - break; - - case 478: -/* Line 1792 of yacc.c */ -#line 2562 "dtool/src/cppparser/cppBison.yxx" - { - (yyval.u.expr) = new CPPExpression('-', (yyvsp[(1) - (3)].u.expr), (yyvsp[(3) - (3)].u.expr)); -} - break; - - case 479: -/* Line 1792 of yacc.c */ -#line 2566 "dtool/src/cppparser/cppBison.yxx" - { - (yyval.u.expr) = new CPPExpression('|', (yyvsp[(1) - (3)].u.expr), (yyvsp[(3) - (3)].u.expr)); -} - break; - - case 480: -/* Line 1792 of yacc.c */ -#line 2570 "dtool/src/cppparser/cppBison.yxx" - { - (yyval.u.expr) = new CPPExpression('^', (yyvsp[(1) - (3)].u.expr), (yyvsp[(3) - (3)].u.expr)); -} - break; - - case 481: -/* Line 1792 of yacc.c */ -#line 2574 "dtool/src/cppparser/cppBison.yxx" - { - (yyval.u.expr) = new CPPExpression('&', (yyvsp[(1) - (3)].u.expr), (yyvsp[(3) - (3)].u.expr)); -} - break; - - case 482: -/* Line 1792 of yacc.c */ -#line 2578 "dtool/src/cppparser/cppBison.yxx" - { - (yyval.u.expr) = new CPPExpression(OROR, (yyvsp[(1) - (3)].u.expr), (yyvsp[(3) - (3)].u.expr)); -} - break; - - case 483: -/* Line 1792 of yacc.c */ -#line 2582 "dtool/src/cppparser/cppBison.yxx" - { - (yyval.u.expr) = new CPPExpression(ANDAND, (yyvsp[(1) - (3)].u.expr), (yyvsp[(3) - (3)].u.expr)); -} - break; - - case 484: -/* Line 1792 of yacc.c */ -#line 2586 "dtool/src/cppparser/cppBison.yxx" - { - (yyval.u.expr) = new CPPExpression(EQCOMPARE, (yyvsp[(1) - (3)].u.expr), (yyvsp[(3) - (3)].u.expr)); -} - break; - - case 485: -/* Line 1792 of yacc.c */ -#line 2590 "dtool/src/cppparser/cppBison.yxx" - { - (yyval.u.expr) = new CPPExpression(NECOMPARE, (yyvsp[(1) - (3)].u.expr), (yyvsp[(3) - (3)].u.expr)); -} - break; - - case 486: -/* Line 1792 of yacc.c */ -#line 2594 "dtool/src/cppparser/cppBison.yxx" - { - (yyval.u.expr) = new CPPExpression(LECOMPARE, (yyvsp[(1) - (3)].u.expr), (yyvsp[(3) - (3)].u.expr)); -} - break; - - case 487: -/* Line 1792 of yacc.c */ -#line 2598 "dtool/src/cppparser/cppBison.yxx" - { - (yyval.u.expr) = new CPPExpression(GECOMPARE, (yyvsp[(1) - (3)].u.expr), (yyvsp[(3) - (3)].u.expr)); -} - break; - - case 488: -/* Line 1792 of yacc.c */ -#line 2602 "dtool/src/cppparser/cppBison.yxx" - { - (yyval.u.expr) = new CPPExpression('<', (yyvsp[(1) - (3)].u.expr), (yyvsp[(3) - (3)].u.expr)); -} - break; - - case 489: -/* Line 1792 of yacc.c */ -#line 2606 "dtool/src/cppparser/cppBison.yxx" - { - (yyval.u.expr) = new CPPExpression('>', (yyvsp[(1) - (3)].u.expr), (yyvsp[(3) - (3)].u.expr)); -} - break; - - case 490: -/* Line 1792 of yacc.c */ -#line 2610 "dtool/src/cppparser/cppBison.yxx" - { - (yyval.u.expr) = new CPPExpression(LSHIFT, (yyvsp[(1) - (3)].u.expr), (yyvsp[(3) - (3)].u.expr)); -} - break; - - case 491: -/* Line 1792 of yacc.c */ -#line 2614 "dtool/src/cppparser/cppBison.yxx" - { - (yyval.u.expr) = new CPPExpression(RSHIFT, (yyvsp[(1) - (3)].u.expr), (yyvsp[(3) - (3)].u.expr)); -} - break; - - case 492: -/* Line 1792 of yacc.c */ -#line 2618 "dtool/src/cppparser/cppBison.yxx" - { - (yyval.u.expr) = new CPPExpression('?', (yyvsp[(1) - (5)].u.expr), (yyvsp[(3) - (5)].u.expr), (yyvsp[(5) - (5)].u.expr)); -} - break; - - case 493: -/* Line 1792 of yacc.c */ -#line 2622 "dtool/src/cppparser/cppBison.yxx" - { - (yyval.u.expr) = new CPPExpression('[', (yyvsp[(1) - (4)].u.expr), (yyvsp[(3) - (4)].u.expr)); -} - break; - - case 494: -/* Line 1792 of yacc.c */ -#line 2626 "dtool/src/cppparser/cppBison.yxx" - { - (yyval.u.expr) = new CPPExpression('f', (yyvsp[(1) - (4)].u.expr), (yyvsp[(3) - (4)].u.expr)); -} - break; - - case 495: -/* Line 1792 of yacc.c */ -#line 2630 "dtool/src/cppparser/cppBison.yxx" - { - (yyval.u.expr) = new CPPExpression('f', (yyvsp[(1) - (3)].u.expr)); -} - break; - - case 496: -/* Line 1792 of yacc.c */ -#line 2634 "dtool/src/cppparser/cppBison.yxx" - { - (yyval.u.expr) = new CPPExpression('.', (yyvsp[(1) - (3)].u.expr), (yyvsp[(3) - (3)].u.expr)); -} - break; - - case 497: -/* Line 1792 of yacc.c */ -#line 2638 "dtool/src/cppparser/cppBison.yxx" - { - (yyval.u.expr) = new CPPExpression(POINTSAT, (yyvsp[(1) - (3)].u.expr), (yyvsp[(3) - (3)].u.expr)); -} - break; - - case 498: -/* Line 1792 of yacc.c */ -#line 2642 "dtool/src/cppparser/cppBison.yxx" - { - (yyval.u.expr) = (yyvsp[(2) - (3)].u.expr); -} - break; - - case 499: -/* Line 1792 of yacc.c */ -#line 2649 "dtool/src/cppparser/cppBison.yxx" - { - (yyval.u.expr) = new CPPExpression((yyvsp[(1) - (1)].u.integer)); -} - break; - - case 500: -/* Line 1792 of yacc.c */ -#line 2653 "dtool/src/cppparser/cppBison.yxx" - { - (yyval.u.expr) = new CPPExpression(true); -} - break; - - case 501: -/* Line 1792 of yacc.c */ -#line 2657 "dtool/src/cppparser/cppBison.yxx" - { - (yyval.u.expr) = new CPPExpression(false); -} - break; - - case 502: -/* Line 1792 of yacc.c */ -#line 2661 "dtool/src/cppparser/cppBison.yxx" - { - (yyval.u.expr) = new CPPExpression((yyvsp[(1) - (1)].u.integer)); -} - break; - - case 503: -/* Line 1792 of yacc.c */ -#line 2665 "dtool/src/cppparser/cppBison.yxx" - { - (yyval.u.expr) = new CPPExpression((yyvsp[(1) - (1)].u.real)); -} - break; - - case 504: -/* Line 1792 of yacc.c */ -#line 2669 "dtool/src/cppparser/cppBison.yxx" - { - (yyval.u.expr) = new CPPExpression((yyvsp[(1) - (1)].str)); -} - break; - - case 505: -/* Line 1792 of yacc.c */ -#line 2673 "dtool/src/cppparser/cppBison.yxx" - { - (yyval.u.expr) = new CPPExpression((yyvsp[(1) - (1)].u.identifier), current_scope, global_scope, current_lexer); -} - break; - - case 506: -/* Line 1792 of yacc.c */ -#line 2687 "dtool/src/cppparser/cppBison.yxx" - { - (yyval.u.expr) = (yyvsp[(1) - (1)].u.expr); -} - break; - - case 507: -/* Line 1792 of yacc.c */ -#line 2691 "dtool/src/cppparser/cppBison.yxx" - { - (yyval.u.expr) = new CPPExpression(CPPExpression::typecast_op((yyvsp[(2) - (4)].u.type), (yyvsp[(4) - (4)].u.expr))); -} - break; - - case 508: -/* Line 1792 of yacc.c */ -#line 2695 "dtool/src/cppparser/cppBison.yxx" - { - (yyval.u.expr) = new CPPExpression(CPPExpression::typecast_op((yyvsp[(3) - (7)].u.type), (yyvsp[(6) - (7)].u.expr))); -} - break; - - case 509: -/* Line 1792 of yacc.c */ -#line 2699 "dtool/src/cppparser/cppBison.yxx" - { - (yyval.u.expr) = new CPPExpression(CPPExpression::typecast_op((yyvsp[(3) - (7)].u.type), (yyvsp[(6) - (7)].u.expr))); -} - break; - - case 510: -/* Line 1792 of yacc.c */ -#line 2703 "dtool/src/cppparser/cppBison.yxx" - { - (yyval.u.expr) = new CPPExpression(CPPExpression::sizeof_func((yyvsp[(3) - (4)].u.type))); -} - break; - - case 511: -/* Line 1792 of yacc.c */ -#line 2707 "dtool/src/cppparser/cppBison.yxx" +#line 2549 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(CPPExpression::new_op((yyvsp[(2) - (2)].u.type))); } break; - case 512: + case 470: /* Line 1792 of yacc.c */ -#line 2711 "dtool/src/cppparser/cppBison.yxx" +#line 2553 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(CPPExpression::new_op((yyvsp[(2) - (5)].u.type), (yyvsp[(4) - (5)].u.expr))); } break; - case 513: + case 471: /* Line 1792 of yacc.c */ -#line 2715 "dtool/src/cppparser/cppBison.yxx" +#line 2557 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(UNARY_NOT, (yyvsp[(2) - (2)].u.expr)); } break; - case 514: + case 472: /* Line 1792 of yacc.c */ -#line 2719 "dtool/src/cppparser/cppBison.yxx" +#line 2561 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(UNARY_NEGATE, (yyvsp[(2) - (2)].u.expr)); } break; - case 515: + case 473: /* Line 1792 of yacc.c */ -#line 2723 "dtool/src/cppparser/cppBison.yxx" +#line 2565 "dtool/src/cppparser/cppBison.yxx" { if ((yyvsp[(2) - (2)].u.expr)->_type == CPPExpression::T_integer) { (yyval.u.expr) = (yyvsp[(2) - (2)].u.expr); @@ -6969,265 +6661,625 @@ yyreduce: } break; - case 516: + case 474: /* Line 1792 of yacc.c */ -#line 2735 "dtool/src/cppparser/cppBison.yxx" +#line 2577 "dtool/src/cppparser/cppBison.yxx" + { + (yyval.u.expr) = new CPPExpression(UNARY_STAR, (yyvsp[(2) - (2)].u.expr)); +} + break; + + case 475: +/* Line 1792 of yacc.c */ +#line 2581 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(UNARY_REF, (yyvsp[(2) - (2)].u.expr)); } break; - case 517: + case 476: /* Line 1792 of yacc.c */ -#line 2739 "dtool/src/cppparser/cppBison.yxx" +#line 2585 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression('*', (yyvsp[(1) - (3)].u.expr), (yyvsp[(3) - (3)].u.expr)); } break; - case 518: + case 477: /* Line 1792 of yacc.c */ -#line 2743 "dtool/src/cppparser/cppBison.yxx" +#line 2589 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression('/', (yyvsp[(1) - (3)].u.expr), (yyvsp[(3) - (3)].u.expr)); } break; - case 519: + case 478: /* Line 1792 of yacc.c */ -#line 2747 "dtool/src/cppparser/cppBison.yxx" +#line 2593 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression('%', (yyvsp[(1) - (3)].u.expr), (yyvsp[(3) - (3)].u.expr)); } break; - case 520: + case 479: /* Line 1792 of yacc.c */ -#line 2751 "dtool/src/cppparser/cppBison.yxx" +#line 2597 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression('+', (yyvsp[(1) - (3)].u.expr), (yyvsp[(3) - (3)].u.expr)); } break; - case 521: + case 480: /* Line 1792 of yacc.c */ -#line 2755 "dtool/src/cppparser/cppBison.yxx" +#line 2601 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression('-', (yyvsp[(1) - (3)].u.expr), (yyvsp[(3) - (3)].u.expr)); } break; - case 522: + case 481: /* Line 1792 of yacc.c */ -#line 2759 "dtool/src/cppparser/cppBison.yxx" +#line 2605 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression('|', (yyvsp[(1) - (3)].u.expr), (yyvsp[(3) - (3)].u.expr)); } break; - case 523: + case 482: /* Line 1792 of yacc.c */ -#line 2763 "dtool/src/cppparser/cppBison.yxx" +#line 2609 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression('^', (yyvsp[(1) - (3)].u.expr), (yyvsp[(3) - (3)].u.expr)); } break; - case 524: + case 483: /* Line 1792 of yacc.c */ -#line 2767 "dtool/src/cppparser/cppBison.yxx" +#line 2613 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression('&', (yyvsp[(1) - (3)].u.expr), (yyvsp[(3) - (3)].u.expr)); } break; - case 525: + case 484: /* Line 1792 of yacc.c */ -#line 2771 "dtool/src/cppparser/cppBison.yxx" +#line 2617 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(OROR, (yyvsp[(1) - (3)].u.expr), (yyvsp[(3) - (3)].u.expr)); } break; - case 526: + case 485: /* Line 1792 of yacc.c */ -#line 2775 "dtool/src/cppparser/cppBison.yxx" +#line 2621 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(ANDAND, (yyvsp[(1) - (3)].u.expr), (yyvsp[(3) - (3)].u.expr)); } break; - case 527: + case 486: /* Line 1792 of yacc.c */ -#line 2779 "dtool/src/cppparser/cppBison.yxx" +#line 2625 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(EQCOMPARE, (yyvsp[(1) - (3)].u.expr), (yyvsp[(3) - (3)].u.expr)); } break; - case 528: + case 487: /* Line 1792 of yacc.c */ -#line 2783 "dtool/src/cppparser/cppBison.yxx" +#line 2629 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(NECOMPARE, (yyvsp[(1) - (3)].u.expr), (yyvsp[(3) - (3)].u.expr)); } break; - case 529: + case 488: /* Line 1792 of yacc.c */ -#line 2787 "dtool/src/cppparser/cppBison.yxx" +#line 2633 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(LECOMPARE, (yyvsp[(1) - (3)].u.expr), (yyvsp[(3) - (3)].u.expr)); } break; - case 530: + case 489: /* Line 1792 of yacc.c */ -#line 2791 "dtool/src/cppparser/cppBison.yxx" +#line 2637 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(GECOMPARE, (yyvsp[(1) - (3)].u.expr), (yyvsp[(3) - (3)].u.expr)); } break; - case 531: + case 490: /* Line 1792 of yacc.c */ -#line 2795 "dtool/src/cppparser/cppBison.yxx" +#line 2641 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression('<', (yyvsp[(1) - (3)].u.expr), (yyvsp[(3) - (3)].u.expr)); } break; - case 532: + case 491: /* Line 1792 of yacc.c */ -#line 2799 "dtool/src/cppparser/cppBison.yxx" +#line 2645 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression('>', (yyvsp[(1) - (3)].u.expr), (yyvsp[(3) - (3)].u.expr)); } break; - case 533: + case 492: /* Line 1792 of yacc.c */ -#line 2803 "dtool/src/cppparser/cppBison.yxx" +#line 2649 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(LSHIFT, (yyvsp[(1) - (3)].u.expr), (yyvsp[(3) - (3)].u.expr)); } break; - case 534: + case 493: /* Line 1792 of yacc.c */ -#line 2807 "dtool/src/cppparser/cppBison.yxx" +#line 2653 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(RSHIFT, (yyvsp[(1) - (3)].u.expr), (yyvsp[(3) - (3)].u.expr)); } break; - case 535: + case 494: /* Line 1792 of yacc.c */ -#line 2811 "dtool/src/cppparser/cppBison.yxx" +#line 2657 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression('?', (yyvsp[(1) - (5)].u.expr), (yyvsp[(3) - (5)].u.expr), (yyvsp[(5) - (5)].u.expr)); } break; - case 536: + case 495: /* Line 1792 of yacc.c */ -#line 2815 "dtool/src/cppparser/cppBison.yxx" +#line 2661 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression('[', (yyvsp[(1) - (4)].u.expr), (yyvsp[(3) - (4)].u.expr)); } break; - case 537: + case 496: /* Line 1792 of yacc.c */ -#line 2819 "dtool/src/cppparser/cppBison.yxx" +#line 2665 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression('f', (yyvsp[(1) - (4)].u.expr), (yyvsp[(3) - (4)].u.expr)); } break; - case 538: + case 497: /* Line 1792 of yacc.c */ -#line 2823 "dtool/src/cppparser/cppBison.yxx" +#line 2669 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression('f', (yyvsp[(1) - (3)].u.expr)); } break; - case 539: + case 498: /* Line 1792 of yacc.c */ -#line 2827 "dtool/src/cppparser/cppBison.yxx" +#line 2673 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression('.', (yyvsp[(1) - (3)].u.expr), (yyvsp[(3) - (3)].u.expr)); } break; - case 540: + case 499: /* Line 1792 of yacc.c */ -#line 2831 "dtool/src/cppparser/cppBison.yxx" +#line 2677 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(POINTSAT, (yyvsp[(1) - (3)].u.expr), (yyvsp[(3) - (3)].u.expr)); } break; - case 541: + case 500: /* Line 1792 of yacc.c */ -#line 2835 "dtool/src/cppparser/cppBison.yxx" +#line 2681 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = (yyvsp[(2) - (3)].u.expr); } break; - case 542: + case 501: /* Line 1792 of yacc.c */ -#line 2842 "dtool/src/cppparser/cppBison.yxx" +#line 2688 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression((yyvsp[(1) - (1)].u.integer)); } break; - case 543: + case 502: /* Line 1792 of yacc.c */ -#line 2846 "dtool/src/cppparser/cppBison.yxx" +#line 2692 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(true); } break; - case 544: + case 503: /* Line 1792 of yacc.c */ -#line 2850 "dtool/src/cppparser/cppBison.yxx" +#line 2696 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(false); } break; - case 545: + case 504: /* Line 1792 of yacc.c */ -#line 2854 "dtool/src/cppparser/cppBison.yxx" +#line 2700 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression((yyvsp[(1) - (1)].u.integer)); } break; - case 546: + case 505: /* Line 1792 of yacc.c */ -#line 2858 "dtool/src/cppparser/cppBison.yxx" +#line 2704 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression((yyvsp[(1) - (1)].u.real)); } break; - case 547: + case 506: /* Line 1792 of yacc.c */ -#line 2862 "dtool/src/cppparser/cppBison.yxx" +#line 2708 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression((yyvsp[(1) - (1)].str)); } break; + case 507: +/* Line 1792 of yacc.c */ +#line 2712 "dtool/src/cppparser/cppBison.yxx" + { + (yyval.u.expr) = new CPPExpression((yyvsp[(1) - (1)].u.identifier), current_scope, global_scope, current_lexer); +} + break; + + case 508: +/* Line 1792 of yacc.c */ +#line 2726 "dtool/src/cppparser/cppBison.yxx" + { + (yyval.u.expr) = (yyvsp[(1) - (1)].u.expr); +} + break; + + case 509: +/* Line 1792 of yacc.c */ +#line 2730 "dtool/src/cppparser/cppBison.yxx" + { + (yyval.u.expr) = new CPPExpression(CPPExpression::typecast_op((yyvsp[(2) - (4)].u.type), (yyvsp[(4) - (4)].u.expr))); +} + break; + + case 510: +/* Line 1792 of yacc.c */ +#line 2734 "dtool/src/cppparser/cppBison.yxx" + { + (yyval.u.expr) = new CPPExpression(CPPExpression::typecast_op((yyvsp[(3) - (7)].u.type), (yyvsp[(6) - (7)].u.expr))); +} + break; + + case 511: +/* Line 1792 of yacc.c */ +#line 2738 "dtool/src/cppparser/cppBison.yxx" + { + (yyval.u.expr) = new CPPExpression(CPPExpression::typecast_op((yyvsp[(3) - (7)].u.type), (yyvsp[(6) - (7)].u.expr))); +} + break; + + case 512: +/* Line 1792 of yacc.c */ +#line 2742 "dtool/src/cppparser/cppBison.yxx" + { + (yyval.u.expr) = new CPPExpression(CPPExpression::sizeof_func((yyvsp[(3) - (4)].u.type))); +} + break; + + case 513: +/* Line 1792 of yacc.c */ +#line 2746 "dtool/src/cppparser/cppBison.yxx" + { + (yyval.u.expr) = new CPPExpression(CPPExpression::new_op((yyvsp[(2) - (2)].u.type))); +} + break; + + case 514: +/* Line 1792 of yacc.c */ +#line 2750 "dtool/src/cppparser/cppBison.yxx" + { + (yyval.u.expr) = new CPPExpression(CPPExpression::new_op((yyvsp[(2) - (5)].u.type), (yyvsp[(4) - (5)].u.expr))); +} + break; + + case 515: +/* Line 1792 of yacc.c */ +#line 2754 "dtool/src/cppparser/cppBison.yxx" + { + (yyval.u.expr) = new CPPExpression(UNARY_NOT, (yyvsp[(2) - (2)].u.expr)); +} + break; + + case 516: +/* Line 1792 of yacc.c */ +#line 2758 "dtool/src/cppparser/cppBison.yxx" + { + (yyval.u.expr) = new CPPExpression(UNARY_NEGATE, (yyvsp[(2) - (2)].u.expr)); +} + break; + + case 517: +/* Line 1792 of yacc.c */ +#line 2762 "dtool/src/cppparser/cppBison.yxx" + { + if ((yyvsp[(2) - (2)].u.expr)->_type == CPPExpression::T_integer) { + (yyval.u.expr) = (yyvsp[(2) - (2)].u.expr); + (yyval.u.expr)->_u._integer = -(yyval.u.expr)->_u._integer; + } else if ((yyvsp[(2) - (2)].u.expr)->_type == CPPExpression::T_real) { + (yyval.u.expr) = (yyvsp[(2) - (2)].u.expr); + (yyval.u.expr)->_u._real = -(yyval.u.expr)->_u._real; + } else { + (yyval.u.expr) = new CPPExpression(UNARY_MINUS, (yyvsp[(2) - (2)].u.expr)); + } +} + break; + + case 518: +/* Line 1792 of yacc.c */ +#line 2774 "dtool/src/cppparser/cppBison.yxx" + { + (yyval.u.expr) = new CPPExpression(UNARY_REF, (yyvsp[(2) - (2)].u.expr)); +} + break; + + case 519: +/* Line 1792 of yacc.c */ +#line 2778 "dtool/src/cppparser/cppBison.yxx" + { + (yyval.u.expr) = new CPPExpression('*', (yyvsp[(1) - (3)].u.expr), (yyvsp[(3) - (3)].u.expr)); +} + break; + + case 520: +/* Line 1792 of yacc.c */ +#line 2782 "dtool/src/cppparser/cppBison.yxx" + { + (yyval.u.expr) = new CPPExpression('/', (yyvsp[(1) - (3)].u.expr), (yyvsp[(3) - (3)].u.expr)); +} + break; + + case 521: +/* Line 1792 of yacc.c */ +#line 2786 "dtool/src/cppparser/cppBison.yxx" + { + (yyval.u.expr) = new CPPExpression('%', (yyvsp[(1) - (3)].u.expr), (yyvsp[(3) - (3)].u.expr)); +} + break; + + case 522: +/* Line 1792 of yacc.c */ +#line 2790 "dtool/src/cppparser/cppBison.yxx" + { + (yyval.u.expr) = new CPPExpression('+', (yyvsp[(1) - (3)].u.expr), (yyvsp[(3) - (3)].u.expr)); +} + break; + + case 523: +/* Line 1792 of yacc.c */ +#line 2794 "dtool/src/cppparser/cppBison.yxx" + { + (yyval.u.expr) = new CPPExpression('-', (yyvsp[(1) - (3)].u.expr), (yyvsp[(3) - (3)].u.expr)); +} + break; + + case 524: +/* Line 1792 of yacc.c */ +#line 2798 "dtool/src/cppparser/cppBison.yxx" + { + (yyval.u.expr) = new CPPExpression('|', (yyvsp[(1) - (3)].u.expr), (yyvsp[(3) - (3)].u.expr)); +} + break; + + case 525: +/* Line 1792 of yacc.c */ +#line 2802 "dtool/src/cppparser/cppBison.yxx" + { + (yyval.u.expr) = new CPPExpression('^', (yyvsp[(1) - (3)].u.expr), (yyvsp[(3) - (3)].u.expr)); +} + break; + + case 526: +/* Line 1792 of yacc.c */ +#line 2806 "dtool/src/cppparser/cppBison.yxx" + { + (yyval.u.expr) = new CPPExpression('&', (yyvsp[(1) - (3)].u.expr), (yyvsp[(3) - (3)].u.expr)); +} + break; + + case 527: +/* Line 1792 of yacc.c */ +#line 2810 "dtool/src/cppparser/cppBison.yxx" + { + (yyval.u.expr) = new CPPExpression(OROR, (yyvsp[(1) - (3)].u.expr), (yyvsp[(3) - (3)].u.expr)); +} + break; + + case 528: +/* Line 1792 of yacc.c */ +#line 2814 "dtool/src/cppparser/cppBison.yxx" + { + (yyval.u.expr) = new CPPExpression(ANDAND, (yyvsp[(1) - (3)].u.expr), (yyvsp[(3) - (3)].u.expr)); +} + break; + + case 529: +/* Line 1792 of yacc.c */ +#line 2818 "dtool/src/cppparser/cppBison.yxx" + { + (yyval.u.expr) = new CPPExpression(EQCOMPARE, (yyvsp[(1) - (3)].u.expr), (yyvsp[(3) - (3)].u.expr)); +} + break; + + case 530: +/* Line 1792 of yacc.c */ +#line 2822 "dtool/src/cppparser/cppBison.yxx" + { + (yyval.u.expr) = new CPPExpression(NECOMPARE, (yyvsp[(1) - (3)].u.expr), (yyvsp[(3) - (3)].u.expr)); +} + break; + + case 531: +/* Line 1792 of yacc.c */ +#line 2826 "dtool/src/cppparser/cppBison.yxx" + { + (yyval.u.expr) = new CPPExpression(LECOMPARE, (yyvsp[(1) - (3)].u.expr), (yyvsp[(3) - (3)].u.expr)); +} + break; + + case 532: +/* Line 1792 of yacc.c */ +#line 2830 "dtool/src/cppparser/cppBison.yxx" + { + (yyval.u.expr) = new CPPExpression(GECOMPARE, (yyvsp[(1) - (3)].u.expr), (yyvsp[(3) - (3)].u.expr)); +} + break; + + case 533: +/* Line 1792 of yacc.c */ +#line 2834 "dtool/src/cppparser/cppBison.yxx" + { + (yyval.u.expr) = new CPPExpression('<', (yyvsp[(1) - (3)].u.expr), (yyvsp[(3) - (3)].u.expr)); +} + break; + + case 534: +/* Line 1792 of yacc.c */ +#line 2838 "dtool/src/cppparser/cppBison.yxx" + { + (yyval.u.expr) = new CPPExpression('>', (yyvsp[(1) - (3)].u.expr), (yyvsp[(3) - (3)].u.expr)); +} + break; + + case 535: +/* Line 1792 of yacc.c */ +#line 2842 "dtool/src/cppparser/cppBison.yxx" + { + (yyval.u.expr) = new CPPExpression(LSHIFT, (yyvsp[(1) - (3)].u.expr), (yyvsp[(3) - (3)].u.expr)); +} + break; + + case 536: +/* Line 1792 of yacc.c */ +#line 2846 "dtool/src/cppparser/cppBison.yxx" + { + (yyval.u.expr) = new CPPExpression(RSHIFT, (yyvsp[(1) - (3)].u.expr), (yyvsp[(3) - (3)].u.expr)); +} + break; + + case 537: +/* Line 1792 of yacc.c */ +#line 2850 "dtool/src/cppparser/cppBison.yxx" + { + (yyval.u.expr) = new CPPExpression('?', (yyvsp[(1) - (5)].u.expr), (yyvsp[(3) - (5)].u.expr), (yyvsp[(5) - (5)].u.expr)); +} + break; + + case 538: +/* Line 1792 of yacc.c */ +#line 2854 "dtool/src/cppparser/cppBison.yxx" + { + (yyval.u.expr) = new CPPExpression('[', (yyvsp[(1) - (4)].u.expr), (yyvsp[(3) - (4)].u.expr)); +} + break; + + case 539: +/* Line 1792 of yacc.c */ +#line 2858 "dtool/src/cppparser/cppBison.yxx" + { + (yyval.u.expr) = new CPPExpression('f', (yyvsp[(1) - (4)].u.expr), (yyvsp[(3) - (4)].u.expr)); +} + break; + + case 540: +/* Line 1792 of yacc.c */ +#line 2862 "dtool/src/cppparser/cppBison.yxx" + { + (yyval.u.expr) = new CPPExpression('f', (yyvsp[(1) - (3)].u.expr)); +} + break; + + case 541: +/* Line 1792 of yacc.c */ +#line 2866 "dtool/src/cppparser/cppBison.yxx" + { + (yyval.u.expr) = new CPPExpression('.', (yyvsp[(1) - (3)].u.expr), (yyvsp[(3) - (3)].u.expr)); +} + break; + + case 542: +/* Line 1792 of yacc.c */ +#line 2870 "dtool/src/cppparser/cppBison.yxx" + { + (yyval.u.expr) = new CPPExpression(POINTSAT, (yyvsp[(1) - (3)].u.expr), (yyvsp[(3) - (3)].u.expr)); +} + break; + + case 543: +/* Line 1792 of yacc.c */ +#line 2874 "dtool/src/cppparser/cppBison.yxx" + { + (yyval.u.expr) = (yyvsp[(2) - (3)].u.expr); +} + break; + + case 544: +/* Line 1792 of yacc.c */ +#line 2881 "dtool/src/cppparser/cppBison.yxx" + { + (yyval.u.expr) = new CPPExpression((yyvsp[(1) - (1)].u.integer)); +} + break; + + case 545: +/* Line 1792 of yacc.c */ +#line 2885 "dtool/src/cppparser/cppBison.yxx" + { + (yyval.u.expr) = new CPPExpression(true); +} + break; + + case 546: +/* Line 1792 of yacc.c */ +#line 2889 "dtool/src/cppparser/cppBison.yxx" + { + (yyval.u.expr) = new CPPExpression(false); +} + break; + + case 547: +/* Line 1792 of yacc.c */ +#line 2893 "dtool/src/cppparser/cppBison.yxx" + { + (yyval.u.expr) = new CPPExpression((yyvsp[(1) - (1)].u.integer)); +} + break; + case 548: /* Line 1792 of yacc.c */ -#line 2869 "dtool/src/cppparser/cppBison.yxx" +#line 2897 "dtool/src/cppparser/cppBison.yxx" + { + (yyval.u.expr) = new CPPExpression((yyvsp[(1) - (1)].u.real)); +} + break; + + case 549: +/* Line 1792 of yacc.c */ +#line 2901 "dtool/src/cppparser/cppBison.yxx" + { + (yyval.u.expr) = new CPPExpression((yyvsp[(1) - (1)].str)); +} + break; + + case 550: +/* Line 1792 of yacc.c */ +#line 2908 "dtool/src/cppparser/cppBison.yxx" { CPPType *type = (yyvsp[(1) - (1)].u.identifier)->find_type(current_scope, global_scope, true); if (type == NULL) { @@ -7237,9 +7289,9 @@ yyreduce: } break; - case 549: + case 551: /* Line 1792 of yacc.c */ -#line 2877 "dtool/src/cppparser/cppBison.yxx" +#line 2916 "dtool/src/cppparser/cppBison.yxx" { CPPType *type = (yyvsp[(2) - (2)].u.identifier)->find_type(current_scope, global_scope, true, current_lexer); if (type == NULL) { @@ -7249,41 +7301,41 @@ yyreduce: } break; - case 550: + case 552: /* Line 1792 of yacc.c */ -#line 2885 "dtool/src/cppparser/cppBison.yxx" +#line 2924 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.type) = CPPType::new_type(new CPPTBDType((yyvsp[(2) - (2)].u.identifier))); } break; - case 551: -/* Line 1792 of yacc.c */ -#line 2908 "dtool/src/cppparser/cppBison.yxx" - { - (yyval.u.identifier) = (yyvsp[(1) - (1)].u.identifier); -} - break; - - case 552: -/* Line 1792 of yacc.c */ -#line 2912 "dtool/src/cppparser/cppBison.yxx" - { - (yyval.u.identifier) = (yyvsp[(1) - (1)].u.identifier); -} - break; - case 553: /* Line 1792 of yacc.c */ -#line 2919 "dtool/src/cppparser/cppBison.yxx" +#line 2950 "dtool/src/cppparser/cppBison.yxx" { - (yyval.str) = (yyvsp[(1) - (1)].str); + (yyval.u.identifier) = (yyvsp[(1) - (1)].u.identifier); } break; case 554: /* Line 1792 of yacc.c */ -#line 2923 "dtool/src/cppparser/cppBison.yxx" +#line 2954 "dtool/src/cppparser/cppBison.yxx" + { + (yyval.u.identifier) = (yyvsp[(1) - (1)].u.identifier); +} + break; + + case 555: +/* Line 1792 of yacc.c */ +#line 2961 "dtool/src/cppparser/cppBison.yxx" + { + (yyval.str) = (yyvsp[(1) - (1)].str); +} + break; + + case 556: +/* Line 1792 of yacc.c */ +#line 2965 "dtool/src/cppparser/cppBison.yxx" { (yyval.str) = (yyvsp[(1) - (2)].str) + (yyvsp[(2) - (2)].str); } @@ -7291,7 +7343,7 @@ yyreduce: /* Line 1792 of yacc.c */ -#line 7295 "built/tmp/cppBison.yxx.c" +#line 7347 "built/tmp/cppBison.yxx.c" default: break; } /* User semantic actions sometimes alter yychar, and that requires diff --git a/dtool/src/cppparser/cppBison.h.prebuilt b/dtool/src/cppparser/cppBison.h.prebuilt index 491ce5dc46..6c1aac48d8 100644 --- a/dtool/src/cppparser/cppBison.h.prebuilt +++ b/dtool/src/cppparser/cppBison.h.prebuilt @@ -131,25 +131,26 @@ extern int cppyydebug; KW_SIGNED = 340, KW_SIZEOF = 341, KW_STATIC = 342, - KW_STATIC_CAST = 343, - KW_STRUCT = 344, - KW_TEMPLATE = 345, - KW_THROW = 346, - KW_TRUE = 347, - KW_TRY = 348, - KW_TYPEDEF = 349, - KW_TYPENAME = 350, - KW_UNION = 351, - KW_UNSIGNED = 352, - KW_USING = 353, - KW_VIRTUAL = 354, - KW_VOID = 355, - KW_VOLATILE = 356, - KW_WCHAR_T = 357, - KW_WHILE = 358, - START_CPP = 359, - START_CONST_EXPR = 360, - START_TYPE = 361 + KW_STATIC_ASSERT = 343, + KW_STATIC_CAST = 344, + KW_STRUCT = 345, + KW_TEMPLATE = 346, + KW_THROW = 347, + KW_TRUE = 348, + KW_TRY = 349, + KW_TYPEDEF = 350, + KW_TYPENAME = 351, + KW_UNION = 352, + KW_UNSIGNED = 353, + KW_USING = 354, + KW_VIRTUAL = 355, + KW_VOID = 356, + KW_VOLATILE = 357, + KW_WCHAR_T = 358, + KW_WHILE = 359, + START_CPP = 360, + START_CONST_EXPR = 361, + START_TYPE = 362 }; #endif /* Tokens. */ @@ -238,25 +239,26 @@ extern int cppyydebug; #define KW_SIGNED 340 #define KW_SIZEOF 341 #define KW_STATIC 342 -#define KW_STATIC_CAST 343 -#define KW_STRUCT 344 -#define KW_TEMPLATE 345 -#define KW_THROW 346 -#define KW_TRUE 347 -#define KW_TRY 348 -#define KW_TYPEDEF 349 -#define KW_TYPENAME 350 -#define KW_UNION 351 -#define KW_UNSIGNED 352 -#define KW_USING 353 -#define KW_VIRTUAL 354 -#define KW_VOID 355 -#define KW_VOLATILE 356 -#define KW_WCHAR_T 357 -#define KW_WHILE 358 -#define START_CPP 359 -#define START_CONST_EXPR 360 -#define START_TYPE 361 +#define KW_STATIC_ASSERT 343 +#define KW_STATIC_CAST 344 +#define KW_STRUCT 345 +#define KW_TEMPLATE 346 +#define KW_THROW 347 +#define KW_TRUE 348 +#define KW_TRY 349 +#define KW_TYPEDEF 350 +#define KW_TYPENAME 351 +#define KW_UNION 352 +#define KW_UNSIGNED 353 +#define KW_USING 354 +#define KW_VIRTUAL 355 +#define KW_VOID 356 +#define KW_VOLATILE 357 +#define KW_WCHAR_T 358 +#define KW_WHILE 359 +#define START_CPP 360 +#define START_CONST_EXPR 361 +#define START_TYPE 362 diff --git a/dtool/src/cppparser/cppBison.yxx b/dtool/src/cppparser/cppBison.yxx index b94a21b749..5ca786f485 100644 --- a/dtool/src/cppparser/cppBison.yxx +++ b/dtool/src/cppparser/cppBison.yxx @@ -57,7 +57,7 @@ int yyparse(); static void yyerror(const string &msg) { - current_lexer->error(msg); + current_lexer->error(msg, current_lexer->_last_token_loc); } static void @@ -199,9 +199,11 @@ pop_struct() { /* This is a bison-specific declaration to enable recursive calls to yyparse(). It changes the calling sequence to yylex(), passing - pointers to the current yylval and yylloc. It also adds a pointer - to the current lloc to yyerror, which gives us better diagnostics. */ -%define api.pure full + pointers to the current yylval and yylloc. Bison 2.7 introduces a + different syntax that will also pass the current yylloc to yyerror, + but we have to support Bison versions as old as 2.5 for now. */ +/*%define api.pure full*/ +%pure-parser %locations %token REAL @@ -288,6 +290,7 @@ pop_struct() { %token KW_SIGNED %token KW_SIZEOF %token KW_STATIC +%token KW_STATIC_ASSERT %token KW_STATIC_CAST %token KW_STRUCT %token KW_TEMPLATE @@ -518,10 +521,29 @@ declaration: current_scope->add_declaration(make_property, global_scope, current_lexer, @1); } } - | KW_MAKE_SEQ '(' name ',' name ',' name ')' ';' + | KW_MAKE_SEQ '(' name ',' name ',' name ')' ';' { CPPMakeSeq *make_seq = new CPPMakeSeq($3->get_simple_name(), $5->get_simple_name(), $7->get_simple_name(), @1.file); current_scope->add_declaration(make_seq, global_scope, current_lexer, @1); +} + | KW_STATIC_ASSERT '(' const_expr ',' string ')' +{ + CPPExpression::Result result = $3->evaluate(); + if (result._type == CPPExpression::RT_error) { + yywarning("static_assert requires a constant expression", @3); + } else if (!result.as_boolean()) { + yywarning("static_assert failed: " + $5, @3); + } +} + | KW_STATIC_ASSERT '(' const_expr ')' +{ + // This alternative version of static_assert was introduced in C++17. + CPPExpression::Result result = $3->evaluate(); + if (result._type == CPPExpression::RT_error) { + yywarning("static_assert requires a constant expression", @3); + } else if (!result.as_boolean()) { + yywarning("static_assert failed", @3); + } } ; @@ -856,6 +878,9 @@ function_prototype: { pop_scope(); CPPType *type = $1->find_type(current_scope, global_scope, false, current_lexer); + if (type == NULL) { + yyerror(string("internal error resolving type ") + $1->get_fully_scoped_name(), @1); + } assert(type != NULL); CPPInstanceIdentifier *ii = $4; @@ -871,6 +896,9 @@ function_prototype: { pop_scope(); CPPType *type = $1->find_type(current_scope, global_scope, false, current_lexer); + if (type == NULL) { + yyerror(string("internal error resolving type ") + $1->get_fully_scoped_name(), @1); + } assert(type != NULL); CPPInstanceIdentifier *ii = $5; @@ -1213,6 +1241,9 @@ template_formal_parameter_type: | TYPENAME_IDENTIFIER { $$ = $1->find_type(current_scope, global_scope, false, current_lexer); + if ($$ == NULL) { + yyerror(string("internal error resolving type ") + $1->get_fully_scoped_name(), @1); + } assert($$ != NULL); } ; @@ -1608,6 +1639,9 @@ type: | TYPENAME_IDENTIFIER { $$ = $1->find_type(current_scope, global_scope, false, current_lexer); + if ($$ == NULL) { + yyerror(string("internal error resolving type ") + $1->get_fully_scoped_name(), @1); + } assert($$ != NULL); } | KW_TYPENAME name @@ -1668,6 +1702,9 @@ type_decl: | TYPENAME_IDENTIFIER { $$ = $1->find_type(current_scope, global_scope, false, current_lexer); + if ($$ == NULL) { + yyerror(string("internal error resolving type ") + $1->get_fully_scoped_name(), @1); + } assert($$ != NULL); } | KW_TYPENAME name @@ -1746,6 +1783,9 @@ predefined_type: | TYPENAME_IDENTIFIER { $$ = $1->find_type(current_scope, global_scope, false, current_lexer); + if ($$ == NULL) { + yyerror(string("internal error resolving type ") + $1->get_fully_scoped_name(), @1); + } assert($$ != NULL); } | KW_TYPENAME name @@ -2419,6 +2459,9 @@ const_expr: { // A constructor call. CPPType *type = $1->find_type(current_scope, global_scope, false, current_lexer); + if (type == NULL) { + yyerror(string("internal error resolving type ") + $1->get_fully_scoped_name(), @1); + } assert(type != NULL); $$ = new CPPExpression(CPPExpression::construct_op(type, $3)); } @@ -2888,6 +2931,9 @@ typedefname: TYPENAME_IDENTIFIER { CPPType *type = $1->find_type(current_scope, global_scope, false, current_lexer); + if (type == NULL) { + yyerror(string("internal error resolving type ") + $1->get_fully_scoped_name(), @1); + } assert(type != NULL); $$ = type; } diff --git a/dtool/src/cppparser/cppManifest.cxx b/dtool/src/cppparser/cppManifest.cxx index ff0d50e8e4..451416f93d 100644 --- a/dtool/src/cppparser/cppManifest.cxx +++ b/dtool/src/cppparser/cppManifest.cxx @@ -46,9 +46,9 @@ ExpansionNode(const string &str, bool paste) : // Description: //////////////////////////////////////////////////////////////////// CPPManifest:: -CPPManifest(const string &args, const CPPFile &file) : +CPPManifest(const string &args, const cppyyltype &loc) : _variadic_param(-1), - _file(file), + _loc(loc), _expr((CPPExpression *)NULL) { assert(!args.empty()); diff --git a/dtool/src/cppparser/cppManifest.h b/dtool/src/cppparser/cppManifest.h index 5717ad408a..549c50494f 100644 --- a/dtool/src/cppparser/cppManifest.h +++ b/dtool/src/cppparser/cppManifest.h @@ -19,6 +19,7 @@ #include "cppFile.h" #include "cppVisibility.h" +#include "cppBisonDefs.h" #include "vector_string.h" @@ -31,7 +32,7 @@ class CPPType; //////////////////////////////////////////////////////////////////// class CPPManifest { public: - CPPManifest(const string &args, const CPPFile &file = CPPFile()); + CPPManifest(const string &args, const cppyyltype &loc = {0}); ~CPPManifest(); static string stringify(const string &source); @@ -45,7 +46,7 @@ public: bool _has_parameters; int _num_parameters; int _variadic_param; - CPPFile _file; + cppyyltype _loc; CPPExpression *_expr; // Manifests don't have a visibility in the normal sense. Normally diff --git a/dtool/src/cppparser/cppPreprocessor.cxx b/dtool/src/cppparser/cppPreprocessor.cxx index 71f7dbc568..4a52bde6ec 100644 --- a/dtool/src/cppparser/cppPreprocessor.cxx +++ b/dtool/src/cppparser/cppPreprocessor.cxx @@ -407,6 +407,7 @@ get_next_token0() { return token; } _saved_tokens.push_back(token); + _last_token_loc = loc; return CPPToken(SCOPING, loc, name, result); } @@ -444,10 +445,12 @@ get_next_token0() { token_type = TYPENAME_IDENTIFIER; } + _last_token_loc = loc; return CPPToken(token_type, loc, name, result); } // This is the normal case: just pass through whatever token we got. + _last_token_loc = loc; return token; } @@ -843,10 +846,6 @@ expand_manifests(const string &input_expr, bool expand_undefined) { // Repeatedly scan the expr for any manifest names or defined() // function. - // We'll need to save the set of manifests we've already expanded, - // to guard against recursive references. - set already_expanded; - bool manifest_found; do { manifest_found = false; @@ -867,10 +866,9 @@ expand_manifests(const string &input_expr, bool expand_undefined) { Manifests::const_iterator mi = _manifests.find(ident); if (mi != _manifests.end()) { const CPPManifest *manifest = (*mi).second; - if (already_expanded.insert(manifest).second) { - expand_manifest_inline(expr, q, p, (*mi).second); - manifest_found = true; - } + expand_manifest_inline(expr, q, p, (*mi).second); + manifest_found = true; + } else if (expand_undefined && ident != "true" && ident != "false") { // It is not found. Expand it to 0. expr = expr.substr(0, q) + "0" + expr.substr(p); @@ -1470,7 +1468,7 @@ handle_define_directive(const string &args, const YYLTYPE &loc) { if (args.empty()) { warning("Ignoring empty #define directive", loc); } else { - CPPManifest *manifest = new CPPManifest(args, loc.file); + CPPManifest *manifest = new CPPManifest(args, loc); manifest->_vis = preprocessor_vis; if (!manifest->_has_parameters) { string expr_string = manifest->expand(); @@ -1479,18 +1477,17 @@ handle_define_directive(const string &args, const YYLTYPE &loc) { } } - // ok one memory leak here.. - Manifests::iterator mi = _manifests.find(manifest->_name); - if(mi != _manifests.end()) - { - // i do not see a goodway to compare the old and new hmmmm - //cerr << "Warning Overwriting Constant " << manifest->_name << "\n"; - delete mi->second; + pair result = + _manifests.insert(Manifests::value_type(manifest->_name, manifest)); + + if (!result.second) { + // There was already a macro with this name. Delete the old. + CPPManifest *other = result.first->second; + warning("redefinition of macro '" + manifest->_name + "'", loc); + warning("previous definition is here", other->_loc); + delete other; + result.first->second = manifest; } - - _manifests[manifest->_name] = manifest; - - } } @@ -1560,7 +1557,9 @@ handle_if_directive(const string &args, const YYLTYPE &loc) { if (expr != (CPPExpression *)NULL) { CPPExpression::Result result = expr->evaluate(); if (result._type == CPPExpression::RT_error) { - warning("Ignoring invalid expression " + args, loc); + ostringstream strm; + strm << *expr; + warning("Ignoring invalid expression " + strm.str(), loc); } else { expression_result = result.as_integer(); } @@ -2302,6 +2301,8 @@ check_keyword(const string &name) { if (name == "char32_t") return KW_CHAR32_T; if (name == "class") return KW_CLASS; if (name == "const") return KW_CONST; + if (name == "__const") return KW_CONST; + if (name == "__const__") return KW_CONST; if (name == "delete") return KW_DELETE; if (name == "double") return KW_DOUBLE; if (name == "dynamic_cast") return KW_DYNAMIC_CAST; @@ -2319,6 +2320,8 @@ check_keyword(const string &name) { if (name == "goto") return KW_GOTO; if (name == "if") return KW_IF; if (name == "inline") return KW_INLINE; + if (name == "__inline") return KW_INLINE; + if (name == "__inline__") return KW_INLINE; if (name == "int") return KW_INT; if (name == "long") return KW_LONG; if (name == "__make_property") return KW_MAKE_PROPERTY; @@ -2337,6 +2340,7 @@ check_keyword(const string &name) { if (name == "signed") return KW_SIGNED; if (name == "sizeof") return KW_SIZEOF; if (name == "static") return KW_STATIC; + if (name == "static_assert") return KW_STATIC_ASSERT; if (name == "static_cast") return KW_STATIC_CAST; if (name == "struct") return KW_STRUCT; if (name == "template") return KW_TEMPLATE; diff --git a/dtool/src/cppparser/cppPreprocessor.h b/dtool/src/cppparser/cppPreprocessor.h index c02f0a2e25..4d8e025682 100644 --- a/dtool/src/cppparser/cppPreprocessor.h +++ b/dtool/src/cppparser/cppPreprocessor.h @@ -101,6 +101,9 @@ public: // incremented), or set it higher to get more debugging information. int _verbose; + // The location of the last token. + cppyyltype _last_token_loc; + protected: bool init_cpp(const CPPFile &file); bool init_const_expr(const string &expr); diff --git a/dtool/src/interrogate/interrogateBuilder.cxx b/dtool/src/interrogate/interrogateBuilder.cxx index 5336c809f8..f16143c413 100644 --- a/dtool/src/interrogate/interrogateBuilder.cxx +++ b/dtool/src/interrogate/interrogateBuilder.cxx @@ -1344,14 +1344,14 @@ scan_manifest(CPPManifest *manifest) { return; } - if (manifest->_file.is_c_file()) { + if (manifest->_loc.file.is_c_file()) { // This #define appears in a .C file. We can only export // manifests defined in a .h file. return; } - if (manifest->_file._source != CPPFile::S_local || - in_ignorefile(manifest->_file._filename_as_referenced)) { + if (manifest->_loc.file._source != CPPFile::S_local || + in_ignorefile(manifest->_loc.file._filename_as_referenced)) { // The manifest is defined in some other package or in an // ignorable file. return; diff --git a/makepanda/makepanda.py b/makepanda/makepanda.py index 180e8bd3e2..8822a6d1c2 100755 --- a/makepanda/makepanda.py +++ b/makepanda/makepanda.py @@ -1354,13 +1354,13 @@ def CompileIgate(woutd,wsrc,opts): cmd += ' -srcdir %s -I%s' % (srcdir, srcdir) cmd += ' -DCPPPARSER -D__STDC__=1 -D__cplusplus=201103L' if (COMPILER=="MSVC"): - cmd += ' -D__inline -D_X86_ -DWIN32_VC -DWIN32 -D_WIN32' + cmd += ' -D_X86_ -DWIN32_VC -DWIN32 -D_WIN32' if GetTargetArch() == 'x64': cmd += ' -DWIN64_VC -DWIN64 -D_WIN64' # NOTE: this 1600 value is the version number for VC2010. cmd += ' -D_MSC_VER=1600 -D"__declspec(param)=" -D__cdecl -D_near -D_far -D__near -D__far -D__stdcall' if (COMPILER=="GCC"): - cmd += ' -D__inline -D__const=const -D__attribute__\(x\)=' + cmd += ' -D__attribute__\(x\)=' if GetTargetArch() in ("x86_64", "amd64"): cmd += ' -D_LP64' else: