From be603035021b0ba261a368ac22631f703dc62106 Mon Sep 17 00:00:00 2001 From: rdb Date: Sun, 3 Jan 2016 19:56:20 +0100 Subject: [PATCH] Support =default and =delete methods in Interrogate --- dtool/src/cppparser/cppBison.cxx.prebuilt | 3590 +++++++++--------- dtool/src/cppparser/cppBison.yxx | 8 + dtool/src/cppparser/cppExpression.cxx | 32 + dtool/src/cppparser/cppExpression.h | 6 + dtool/src/cppparser/cppInstance.cxx | 24 +- dtool/src/cppparser/cppInstance.h | 4 + dtool/src/cppparser/cppStructType.cxx | 16 +- dtool/src/interrogate/interrogateBuilder.cxx | 9 +- 8 files changed, 1895 insertions(+), 1794 deletions(-) diff --git a/dtool/src/cppparser/cppBison.cxx.prebuilt b/dtool/src/cppparser/cppBison.cxx.prebuilt index cd2465951c..d20ad47a8c 100644 --- a/dtool/src/cppparser/cppBison.cxx.prebuilt +++ b/dtool/src/cppparser/cppBison.cxx.prebuilt @@ -799,16 +799,16 @@ union yyalloc /* YYFINAL -- State number of the termination state. */ #define YYFINAL 79 /* YYLAST -- Last index in YYTABLE. */ -#define YYLAST 4680 +#define YYLAST 4690 /* YYNTOKENS -- Number of terminals. */ #define YYNTOKENS 142 /* YYNNTS -- Number of nonterminals. */ #define YYNNTS 95 /* YYNRULES -- Number of rules. */ -#define YYNRULES 591 +#define YYNRULES 593 /* YYNRULES -- Number of states. */ -#define YYNSTATES 1097 +#define YYNSTATES 1101 /* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX. */ #define YYUNDEFTOK 2 @@ -882,49 +882,49 @@ static const yytype_uint16 yyprhs[] = 461, 465, 470, 472, 474, 476, 478, 481, 485, 488, 491, 494, 497, 500, 504, 509, 513, 517, 518, 525, 527, 529, 531, 535, 538, 540, 544, 546, 549, 551, - 554, 556, 560, 566, 570, 575, 577, 579, 582, 584, - 588, 592, 598, 602, 607, 613, 616, 618, 620, 622, - 624, 627, 630, 633, 636, 639, 643, 648, 650, 652, - 654, 657, 660, 663, 666, 669, 673, 678, 686, 690, - 692, 695, 698, 701, 704, 707, 711, 716, 724, 726, - 728, 731, 733, 735, 737, 740, 745, 750, 752, 754, - 756, 759, 761, 763, 765, 768, 773, 776, 781, 783, - 785, 787, 790, 793, 796, 798, 800, 803, 807, 808, - 814, 815, 823, 825, 827, 830, 834, 837, 840, 843, - 847, 851, 855, 859, 863, 867, 872, 877, 880, 884, - 886, 888, 890, 892, 896, 902, 904, 907, 912, 914, - 916, 918, 920, 921, 928, 929, 937, 942, 948, 951, - 955, 957, 959, 961, 963, 965, 967, 969, 971, 973, - 975, 977, 979, 981, 983, 986, 989, 992, 995, 997, - 1000, 1002, 1006, 1009, 1011, 1012, 1015, 1017, 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, 1172, 1174, 1176, 1178, 1180, 1182, - 1184, 1186, 1188, 1190, 1192, 1194, 1196, 1198, 1200, 1202, - 1204, 1206, 1208, 1210, 1212, 1214, 1216, 1218, 1220, 1222, - 1224, 1226, 1228, 1230, 1232, 1234, 1236, 1238, 1240, 1242, - 1244, 1246, 1248, 1250, 1252, 1254, 1258, 1260, 1262, 1264, - 1266, 1268, 1272, 1274, 1279, 1287, 1295, 1300, 1305, 1308, - 1311, 1314, 1317, 1320, 1324, 1328, 1332, 1336, 1340, 1344, + 554, 556, 560, 566, 570, 574, 578, 583, 585, 587, + 590, 592, 596, 600, 606, 610, 615, 621, 624, 626, + 628, 630, 632, 635, 638, 641, 644, 647, 651, 656, + 658, 660, 662, 665, 668, 671, 674, 677, 681, 686, + 694, 698, 700, 703, 706, 709, 712, 715, 719, 724, + 732, 734, 736, 739, 741, 743, 745, 748, 753, 758, + 760, 762, 764, 767, 769, 771, 773, 776, 781, 784, + 789, 791, 793, 795, 798, 801, 804, 806, 808, 811, + 815, 816, 822, 823, 831, 833, 835, 838, 842, 845, + 848, 851, 855, 859, 863, 867, 871, 875, 880, 885, + 888, 892, 894, 896, 898, 900, 904, 910, 912, 915, + 920, 922, 924, 926, 928, 929, 936, 937, 945, 950, + 956, 959, 963, 965, 967, 969, 971, 973, 975, 977, + 979, 981, 983, 985, 987, 989, 991, 994, 997, 1000, + 1003, 1005, 1008, 1010, 1014, 1017, 1019, 1020, 1023, 1025, + 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, 1172, 1174, 1176, 1178, 1180, 1182, 1184, 1186, + 1188, 1190, 1192, 1194, 1196, 1198, 1200, 1202, 1204, 1206, + 1208, 1210, 1212, 1214, 1216, 1218, 1220, 1222, 1224, 1226, + 1228, 1230, 1232, 1234, 1236, 1238, 1240, 1242, 1244, 1246, + 1248, 1250, 1252, 1254, 1256, 1258, 1260, 1262, 1266, 1268, + 1270, 1272, 1274, 1276, 1280, 1282, 1287, 1295, 1303, 1308, + 1313, 1316, 1319, 1322, 1325, 1328, 1332, 1336, 1340, 1344, 1348, 1352, 1356, 1360, 1364, 1368, 1372, 1376, 1380, 1384, - 1390, 1395, 1400, 1404, 1408, 1412, 1416, 1418, 1423, 1431, - 1439, 1444, 1449, 1454, 1459, 1464, 1469, 1474, 1479, 1484, - 1489, 1494, 1499, 1504, 1509, 1514, 1517, 1523, 1526, 1529, - 1532, 1535, 1538, 1542, 1546, 1550, 1554, 1558, 1562, 1566, + 1388, 1392, 1398, 1403, 1408, 1412, 1416, 1420, 1424, 1426, + 1431, 1439, 1447, 1452, 1457, 1462, 1467, 1472, 1477, 1482, + 1487, 1492, 1497, 1502, 1507, 1512, 1517, 1522, 1525, 1531, + 1534, 1537, 1540, 1543, 1546, 1550, 1554, 1558, 1562, 1566, 1570, 1574, 1578, 1582, 1586, 1590, 1594, 1598, 1602, 1606, - 1610, 1616, 1621, 1626, 1630, 1634, 1638, 1642, 1644, 1646, - 1648, 1650, 1652, 1654, 1656, 1658, 1660, 1662, 1667, 1675, - 1683, 1688, 1693, 1696, 1702, 1705, 1708, 1711, 1714, 1718, + 1610, 1614, 1618, 1624, 1629, 1634, 1638, 1642, 1646, 1650, + 1652, 1654, 1656, 1658, 1660, 1662, 1664, 1666, 1668, 1670, + 1675, 1683, 1691, 1696, 1701, 1704, 1710, 1713, 1716, 1719, 1722, 1726, 1730, 1734, 1738, 1742, 1746, 1750, 1754, 1758, - 1762, 1766, 1770, 1774, 1778, 1782, 1786, 1792, 1797, 1802, - 1806, 1810, 1814, 1818, 1820, 1822, 1824, 1826, 1828, 1830, - 1832, 1834, 1836, 1838, 1841, 1844, 1846, 1848, 1850, 1852, - 1855, 1858 + 1762, 1766, 1770, 1774, 1778, 1782, 1786, 1790, 1794, 1800, + 1805, 1810, 1814, 1818, 1822, 1826, 1828, 1830, 1832, 1834, + 1836, 1838, 1840, 1842, 1844, 1846, 1849, 1852, 1854, 1856, + 1858, 1860, 1863, 1866 }; /* YYRHS -- A `-1'-separated list of the rules' RHS. */ @@ -987,135 +987,136 @@ static const yytype_int16 yyrhs[] = 184, 119, 190, -1, 236, -1, 122, 228, -1, 236, -1, 122, 229, -1, 120, -1, 118, 221, 139, -1, 121, 145, 118, 221, 139, -1, 122, 229, 120, -1, - 122, 118, 188, 139, -1, 236, -1, 189, -1, 189, - 119, -1, 229, -1, 118, 188, 139, -1, 189, 119, - 229, -1, 189, 119, 118, 188, 139, -1, 194, 192, - 186, -1, 56, 194, 192, 186, -1, 56, 92, 194, - 192, 186, -1, 92, 190, -1, 231, -1, 236, -1, - 10, -1, 11, -1, 56, 191, -1, 112, 191, -1, - 131, 191, -1, 126, 191, -1, 16, 191, -1, 12, - 131, 191, -1, 191, 137, 225, 141, -1, 236, -1, - 10, -1, 11, -1, 56, 192, -1, 112, 192, -1, - 131, 192, -1, 126, 192, -1, 16, 192, -1, 12, - 131, 192, -1, 192, 137, 225, 141, -1, 136, 192, - 138, 136, 183, 138, 172, -1, 136, 192, 138, -1, - 236, -1, 56, 193, -1, 112, 193, -1, 131, 193, - -1, 126, 193, -1, 16, 193, -1, 12, 131, 193, - -1, 193, 137, 225, 141, -1, 136, 193, 138, 136, - 183, 138, 172, -1, 217, -1, 11, -1, 106, 234, - -1, 199, -1, 201, -1, 206, -1, 212, 234, -1, - 211, 234, 121, 208, -1, 58, 136, 229, 138, -1, - 47, -1, 217, -1, 11, -1, 106, 234, -1, 199, + 122, 59, 120, -1, 122, 60, 120, -1, 122, 118, + 188, 139, -1, 236, -1, 189, -1, 189, 119, -1, + 229, -1, 118, 188, 139, -1, 189, 119, 229, -1, + 189, 119, 118, 188, 139, -1, 194, 192, 186, -1, + 56, 194, 192, 186, -1, 56, 92, 194, 192, 186, + -1, 92, 190, -1, 231, -1, 236, -1, 10, -1, + 11, -1, 56, 191, -1, 112, 191, -1, 131, 191, + -1, 126, 191, -1, 16, 191, -1, 12, 131, 191, + -1, 191, 137, 225, 141, -1, 236, -1, 10, -1, + 11, -1, 56, 192, -1, 112, 192, -1, 131, 192, + -1, 126, 192, -1, 16, 192, -1, 12, 131, 192, + -1, 192, 137, 225, 141, -1, 136, 192, 138, 136, + 183, 138, 172, -1, 136, 192, 138, -1, 236, -1, + 56, 193, -1, 112, 193, -1, 131, 193, -1, 126, + 193, -1, 16, 193, -1, 12, 131, 193, -1, 193, + 137, 225, 141, -1, 136, 193, 138, 136, 183, 138, + 172, -1, 217, -1, 11, -1, 106, 234, -1, 199, -1, 201, -1, 206, -1, 212, 234, -1, 211, 234, - 121, 208, -1, 211, 234, -1, 58, 136, 229, 138, - -1, 47, -1, 217, -1, 11, -1, 106, 234, -1, - 212, 234, -1, 211, 234, -1, 195, -1, 10, -1, - 194, 193, -1, 56, 194, 193, -1, -1, 212, 118, - 200, 144, 139, -1, -1, 212, 234, 202, 203, 118, - 144, 139, -1, 236, -1, 204, -1, 121, 205, -1, - 204, 119, 205, -1, 91, 233, -1, 90, 233, -1, - 89, 233, -1, 110, 91, 233, -1, 110, 90, 233, - -1, 110, 89, 233, -1, 91, 110, 233, -1, 90, - 110, 233, -1, 89, 110, 233, -1, 207, 118, 210, - 139, -1, 211, 234, 121, 208, -1, 211, 234, -1, - 211, 121, 208, -1, 211, -1, 218, -1, 11, -1, - 236, -1, 209, 234, 119, -1, 209, 234, 122, 229, - 119, -1, 209, -1, 209, 234, -1, 209, 234, 122, - 229, -1, 65, -1, 55, -1, 100, -1, 107, -1, - -1, 84, 234, 118, 214, 144, 139, -1, -1, 76, - 84, 234, 118, 215, 144, 139, -1, 84, 118, 144, - 139, -1, 76, 84, 118, 144, 139, -1, 109, 234, - -1, 109, 84, 234, -1, 218, -1, 219, -1, 220, - -1, 50, -1, 52, -1, 113, -1, 53, -1, 54, - -1, 94, -1, 78, -1, 79, -1, 108, -1, 95, - -1, 77, -1, 94, 218, -1, 78, 218, -1, 108, - 218, -1, 95, 218, -1, 71, -1, 78, 71, -1, - 61, -1, 78, 78, 71, -1, 78, 61, -1, 111, - -1, -1, 222, 223, -1, 236, -1, 223, 224, -1, - 3, -1, 4, -1, 6, -1, 8, -1, 9, -1, - 5, -1, 10, -1, 11, -1, 12, -1, 7, -1, - 14, -1, 15, -1, 16, -1, 17, -1, 18, -1, - 19, -1, 20, -1, 21, -1, 22, -1, 23, -1, - 24, -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, 43, -1, 44, -1, - 45, -1, 46, -1, 47, -1, 50, -1, 51, -1, - 52, -1, 53, -1, 54, -1, 55, -1, 56, -1, - 57, -1, 58, -1, 59, -1, 60, -1, 61, -1, - 62, -1, 63, -1, 65, -1, 67, -1, 68, -1, - 70, -1, 71, -1, 72, -1, 73, -1, 74, -1, - 75, -1, 76, -1, 77, -1, 78, -1, 83, -1, - 84, -1, 85, -1, 87, -1, 88, -1, 89, -1, - 90, -1, 91, -1, 69, -1, 92, -1, 93, -1, - 94, -1, 95, -1, 96, -1, 97, -1, 98, -1, - 99, -1, 100, -1, 102, -1, 103, -1, 104, -1, - 105, -1, 106, -1, 107, -1, 108, -1, 109, -1, - 110, -1, 111, -1, 112, -1, 113, -1, 114, -1, - 129, -1, 130, -1, 131, -1, 132, -1, 126, -1, - 124, -1, 125, -1, 140, -1, 134, -1, 122, -1, - 133, -1, 127, -1, 128, -1, 136, -1, 138, -1, - 135, -1, 119, -1, 120, -1, 121, -1, 137, -1, - 141, -1, 123, -1, 118, 223, 139, -1, 236, -1, - 229, -1, 236, -1, 227, -1, 229, -1, 227, 119, - 229, -1, 230, -1, 136, 198, 138, 228, -1, 99, - 127, 198, 128, 136, 227, 138, -1, 62, 127, 198, - 128, 136, 227, 138, -1, 96, 136, 198, 138, -1, - 46, 136, 198, 138, -1, 140, 228, -1, 134, 228, - -1, 130, 228, -1, 131, 228, -1, 126, 228, -1, - 228, 131, 228, -1, 228, 132, 228, -1, 228, 133, - 228, -1, 228, 129, 228, -1, 228, 130, 228, -1, - 228, 124, 228, -1, 228, 125, 228, -1, 228, 126, - 228, -1, 228, 15, 228, -1, 228, 16, 228, -1, - 228, 17, 228, -1, 228, 18, 228, -1, 228, 19, - 228, -1, 228, 20, 228, -1, 228, 21, 228, -1, - 228, 22, 228, -1, 228, 123, 228, 121, 228, -1, - 228, 137, 229, 141, -1, 228, 136, 227, 138, -1, - 228, 136, 138, -1, 228, 135, 228, -1, 228, 31, - 228, -1, 136, 227, 138, -1, 230, -1, 136, 198, - 138, 229, -1, 99, 127, 198, 128, 136, 227, 138, - -1, 62, 127, 198, 128, 136, 227, 138, -1, 11, - 136, 226, 138, -1, 77, 136, 226, 138, -1, 52, - 136, 226, 138, -1, 113, 136, 226, 138, -1, 53, - 136, 226, 138, -1, 54, 136, 226, 138, -1, 50, - 136, 226, 138, -1, 94, 136, 226, 138, -1, 78, - 136, 226, 138, -1, 108, 136, 226, 138, -1, 95, - 136, 226, 138, -1, 71, 136, 226, 138, -1, 61, - 136, 226, 138, -1, 96, 136, 198, 138, -1, 46, - 136, 198, 138, -1, 85, 196, -1, 85, 196, 136, - 226, 138, -1, 140, 229, -1, 134, 229, -1, 130, - 229, -1, 131, 229, -1, 126, 229, -1, 229, 131, - 229, -1, 229, 132, 229, -1, 229, 133, 229, -1, - 229, 129, 229, -1, 229, 130, 229, -1, 229, 124, - 229, -1, 229, 125, 229, -1, 229, 126, 229, -1, - 229, 15, 229, -1, 229, 16, 229, -1, 229, 17, - 229, -1, 229, 18, 229, -1, 229, 19, 229, -1, - 229, 20, 229, -1, 229, 127, 229, -1, 229, 128, - 229, -1, 229, 21, 229, -1, 229, 22, 229, -1, - 229, 123, 229, 121, 229, -1, 229, 137, 229, 141, - -1, 229, 136, 227, 138, -1, 229, 136, 138, -1, - 229, 135, 229, -1, 229, 31, 229, -1, 136, 227, - 138, -1, 4, -1, 103, -1, 70, -1, 5, -1, - 3, -1, 235, -1, 9, -1, 10, -1, 87, -1, - 232, -1, 136, 198, 138, 229, -1, 99, 127, 198, + 121, 208, -1, 58, 136, 229, 138, -1, 47, -1, + 217, -1, 11, -1, 106, 234, -1, 199, -1, 201, + -1, 206, -1, 212, 234, -1, 211, 234, 121, 208, + -1, 211, 234, -1, 58, 136, 229, 138, -1, 47, + -1, 217, -1, 11, -1, 106, 234, -1, 212, 234, + -1, 211, 234, -1, 195, -1, 10, -1, 194, 193, + -1, 56, 194, 193, -1, -1, 212, 118, 200, 144, + 139, -1, -1, 212, 234, 202, 203, 118, 144, 139, + -1, 236, -1, 204, -1, 121, 205, -1, 204, 119, + 205, -1, 91, 233, -1, 90, 233, -1, 89, 233, + -1, 110, 91, 233, -1, 110, 90, 233, -1, 110, + 89, 233, -1, 91, 110, 233, -1, 90, 110, 233, + -1, 89, 110, 233, -1, 207, 118, 210, 139, -1, + 211, 234, 121, 208, -1, 211, 234, -1, 211, 121, + 208, -1, 211, -1, 218, -1, 11, -1, 236, -1, + 209, 234, 119, -1, 209, 234, 122, 229, 119, -1, + 209, -1, 209, 234, -1, 209, 234, 122, 229, -1, + 65, -1, 55, -1, 100, -1, 107, -1, -1, 84, + 234, 118, 214, 144, 139, -1, -1, 76, 84, 234, + 118, 215, 144, 139, -1, 84, 118, 144, 139, -1, + 76, 84, 118, 144, 139, -1, 109, 234, -1, 109, + 84, 234, -1, 218, -1, 219, -1, 220, -1, 50, + -1, 52, -1, 113, -1, 53, -1, 54, -1, 94, + -1, 78, -1, 79, -1, 108, -1, 95, -1, 77, + -1, 94, 218, -1, 78, 218, -1, 108, 218, -1, + 95, 218, -1, 71, -1, 78, 71, -1, 61, -1, + 78, 78, 71, -1, 78, 61, -1, 111, -1, -1, + 222, 223, -1, 236, -1, 223, 224, -1, 3, -1, + 4, -1, 6, -1, 8, -1, 9, -1, 5, -1, + 10, -1, 11, -1, 12, -1, 7, -1, 14, -1, + 15, -1, 16, -1, 17, -1, 18, -1, 19, -1, + 20, -1, 21, -1, 22, -1, 23, -1, 24, -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, 43, -1, 44, -1, 45, -1, + 46, -1, 47, -1, 50, -1, 51, -1, 52, -1, + 53, -1, 54, -1, 55, -1, 56, -1, 57, -1, + 58, -1, 59, -1, 60, -1, 61, -1, 62, -1, + 63, -1, 65, -1, 67, -1, 68, -1, 70, -1, + 71, -1, 72, -1, 73, -1, 74, -1, 75, -1, + 76, -1, 77, -1, 78, -1, 83, -1, 84, -1, + 85, -1, 87, -1, 88, -1, 89, -1, 90, -1, + 91, -1, 69, -1, 92, -1, 93, -1, 94, -1, + 95, -1, 96, -1, 97, -1, 98, -1, 99, -1, + 100, -1, 102, -1, 103, -1, 104, -1, 105, -1, + 106, -1, 107, -1, 108, -1, 109, -1, 110, -1, + 111, -1, 112, -1, 113, -1, 114, -1, 129, -1, + 130, -1, 131, -1, 132, -1, 126, -1, 124, -1, + 125, -1, 140, -1, 134, -1, 122, -1, 133, -1, + 127, -1, 128, -1, 136, -1, 138, -1, 135, -1, + 119, -1, 120, -1, 121, -1, 137, -1, 141, -1, + 123, -1, 118, 223, 139, -1, 236, -1, 229, -1, + 236, -1, 227, -1, 229, -1, 227, 119, 229, -1, + 230, -1, 136, 198, 138, 228, -1, 99, 127, 198, 128, 136, 227, 138, -1, 62, 127, 198, 128, 136, 227, 138, -1, 96, 136, 198, 138, -1, 46, 136, - 198, 138, -1, 85, 196, -1, 85, 196, 136, 226, - 138, -1, 140, 229, -1, 134, 229, -1, 130, 229, - -1, 126, 229, -1, 231, 131, 229, -1, 231, 132, - 229, -1, 231, 133, 229, -1, 231, 129, 229, -1, - 231, 130, 229, -1, 231, 124, 229, -1, 231, 125, - 229, -1, 231, 126, 229, -1, 231, 15, 229, -1, - 231, 16, 229, -1, 231, 17, 229, -1, 231, 18, - 229, -1, 231, 19, 229, -1, 231, 20, 229, -1, - 231, 127, 229, -1, 231, 128, 229, -1, 231, 21, - 229, -1, 231, 22, 229, -1, 231, 123, 229, 121, - 229, -1, 231, 137, 229, 141, -1, 231, 136, 227, - 138, -1, 231, 136, 138, -1, 231, 135, 229, -1, - 231, 31, 229, -1, 136, 227, 138, -1, 4, -1, - 103, -1, 70, -1, 5, -1, 3, -1, 235, -1, - 9, -1, 10, -1, 87, -1, 234, -1, 212, 234, - -1, 106, 234, -1, 10, -1, 11, -1, 6, -1, - 8, -1, 235, 6, -1, 235, 8, -1, -1 + 198, 138, -1, 140, 228, -1, 134, 228, -1, 130, + 228, -1, 131, 228, -1, 126, 228, -1, 228, 131, + 228, -1, 228, 132, 228, -1, 228, 133, 228, -1, + 228, 129, 228, -1, 228, 130, 228, -1, 228, 124, + 228, -1, 228, 125, 228, -1, 228, 126, 228, -1, + 228, 15, 228, -1, 228, 16, 228, -1, 228, 17, + 228, -1, 228, 18, 228, -1, 228, 19, 228, -1, + 228, 20, 228, -1, 228, 21, 228, -1, 228, 22, + 228, -1, 228, 123, 228, 121, 228, -1, 228, 137, + 229, 141, -1, 228, 136, 227, 138, -1, 228, 136, + 138, -1, 228, 135, 228, -1, 228, 31, 228, -1, + 136, 227, 138, -1, 230, -1, 136, 198, 138, 229, + -1, 99, 127, 198, 128, 136, 227, 138, -1, 62, + 127, 198, 128, 136, 227, 138, -1, 11, 136, 226, + 138, -1, 77, 136, 226, 138, -1, 52, 136, 226, + 138, -1, 113, 136, 226, 138, -1, 53, 136, 226, + 138, -1, 54, 136, 226, 138, -1, 50, 136, 226, + 138, -1, 94, 136, 226, 138, -1, 78, 136, 226, + 138, -1, 108, 136, 226, 138, -1, 95, 136, 226, + 138, -1, 71, 136, 226, 138, -1, 61, 136, 226, + 138, -1, 96, 136, 198, 138, -1, 46, 136, 198, + 138, -1, 85, 196, -1, 85, 196, 136, 226, 138, + -1, 140, 229, -1, 134, 229, -1, 130, 229, -1, + 131, 229, -1, 126, 229, -1, 229, 131, 229, -1, + 229, 132, 229, -1, 229, 133, 229, -1, 229, 129, + 229, -1, 229, 130, 229, -1, 229, 124, 229, -1, + 229, 125, 229, -1, 229, 126, 229, -1, 229, 15, + 229, -1, 229, 16, 229, -1, 229, 17, 229, -1, + 229, 18, 229, -1, 229, 19, 229, -1, 229, 20, + 229, -1, 229, 127, 229, -1, 229, 128, 229, -1, + 229, 21, 229, -1, 229, 22, 229, -1, 229, 123, + 229, 121, 229, -1, 229, 137, 229, 141, -1, 229, + 136, 227, 138, -1, 229, 136, 138, -1, 229, 135, + 229, -1, 229, 31, 229, -1, 136, 227, 138, -1, + 4, -1, 103, -1, 70, -1, 5, -1, 3, -1, + 235, -1, 9, -1, 10, -1, 87, -1, 232, -1, + 136, 198, 138, 229, -1, 99, 127, 198, 128, 136, + 227, 138, -1, 62, 127, 198, 128, 136, 227, 138, + -1, 96, 136, 198, 138, -1, 46, 136, 198, 138, + -1, 85, 196, -1, 85, 196, 136, 226, 138, -1, + 140, 229, -1, 134, 229, -1, 130, 229, -1, 126, + 229, -1, 231, 131, 229, -1, 231, 132, 229, -1, + 231, 133, 229, -1, 231, 129, 229, -1, 231, 130, + 229, -1, 231, 124, 229, -1, 231, 125, 229, -1, + 231, 126, 229, -1, 231, 15, 229, -1, 231, 16, + 229, -1, 231, 17, 229, -1, 231, 18, 229, -1, + 231, 19, 229, -1, 231, 20, 229, -1, 231, 127, + 229, -1, 231, 128, 229, -1, 231, 21, 229, -1, + 231, 22, 229, -1, 231, 123, 229, 121, 229, -1, + 231, 137, 229, 141, -1, 231, 136, 227, 138, -1, + 231, 136, 138, -1, 231, 135, 229, -1, 231, 31, + 229, -1, 136, 227, 138, -1, 4, -1, 103, -1, + 70, -1, 5, -1, 3, -1, 235, -1, 9, -1, + 10, -1, 87, -1, 234, -1, 212, 234, -1, 106, + 234, -1, 10, -1, 11, -1, 6, -1, 8, -1, + 235, 6, -1, 235, 8, -1, -1 }; /* YYRLINE[YYN] -- source line where rule number YYN was defined. */ @@ -1138,49 +1139,49 @@ static const yytype_uint16 yyrline[] = 1314, 1320, 1330, 1334, 1339, 1351, 1355, 1369, 1384, 1389, 1394, 1399, 1404, 1409, 1414, 1419, 1424, 1430, 1429, 1451, 1455, 1460, 1464, 1469, 1477, 1482, 1490, 1494, 1501, 1505, - 1512, 1516, 1520, 1524, 1528, 1535, 1536, 1537, 1541, 1544, - 1545, 1546, 1550, 1555, 1561, 1567, 1571, 1581, 1585, 1589, - 1593, 1598, 1603, 1608, 1613, 1618, 1623, 1631, 1635, 1639, - 1643, 1648, 1653, 1658, 1663, 1668, 1673, 1678, 1684, 1692, - 1696, 1701, 1706, 1711, 1716, 1721, 1726, 1731, 1740, 1744, - 1752, 1756, 1760, 1764, 1768, 1784, 1800, 1809, 1816, 1820, - 1828, 1832, 1836, 1840, 1844, 1860, 1876, 1894, 1903, 1910, - 1914, 1922, 1926, 1942, 1961, 1965, 1973, 1979, 1990, 1989, - 2014, 2013, 2043, 2044, 2048, 2049, 2053, 2057, 2061, 2065, - 2069, 2073, 2077, 2081, 2085, 2092, 2100, 2104, 2108, 2112, - 2119, 2123, 2130, 2131, 2137, 2145, 2146, 2152, 2161, 2168, - 2172, 2176, 2184, 2183, 2206, 2205, 2228, 2229, 2233, 2239, - 2248, 2249, 2250, 2254, 2258, 2262, 2266, 2270, 2274, 2279, - 2284, 2289, 2294, 2299, 2303, 2308, 2317, 2322, 2330, 2334, - 2339, 2343, 2348, 2356, 2366, 2366, 2376, 2377, 2381, 2382, - 2383, 2384, 2385, 2386, 2387, 2388, 2389, 2390, 2391, 2391, - 2391, 2392, 2392, 2392, 2392, 2393, 2393, 2393, 2393, 2393, - 2394, 2394, 2394, 2395, 2395, 2395, 2395, 2395, 2396, 2396, - 2396, 2396, 2396, 2397, 2397, 2397, 2397, 2397, 2398, 2398, - 2398, 2399, 2399, 2399, 2399, 2399, 2400, 2400, 2400, 2400, - 2400, 2401, 2401, 2401, 2402, 2402, 2402, 2402, 2402, 2402, - 2403, 2403, 2403, 2403, 2404, 2404, 2404, 2404, 2404, 2405, - 2405, 2405, 2405, 2406, 2406, 2406, 2406, 2406, 2407, 2407, - 2407, 2407, 2407, 2408, 2408, 2408, 2408, 2408, 2409, 2409, - 2409, 2409, 2409, 2412, 2412, 2412, 2412, 2412, 2412, 2412, - 2412, 2412, 2412, 2412, 2413, 2413, 2413, 2413, 2413, 2413, - 2413, 2413, 2413, 2413, 2414, 2414, 2418, 2422, 2429, 2433, - 2440, 2444, 2451, 2455, 2459, 2463, 2467, 2471, 2475, 2479, + 1512, 1516, 1520, 1524, 1528, 1532, 1536, 1543, 1544, 1545, + 1549, 1552, 1553, 1554, 1558, 1563, 1569, 1575, 1579, 1589, + 1593, 1597, 1601, 1606, 1611, 1616, 1621, 1626, 1631, 1639, + 1643, 1647, 1651, 1656, 1661, 1666, 1671, 1676, 1681, 1686, + 1692, 1700, 1704, 1709, 1714, 1719, 1724, 1729, 1734, 1739, + 1748, 1752, 1760, 1764, 1768, 1772, 1776, 1792, 1808, 1817, + 1824, 1828, 1836, 1840, 1844, 1848, 1852, 1868, 1884, 1902, + 1911, 1918, 1922, 1930, 1934, 1950, 1969, 1973, 1981, 1987, + 1998, 1997, 2022, 2021, 2051, 2052, 2056, 2057, 2061, 2065, + 2069, 2073, 2077, 2081, 2085, 2089, 2093, 2100, 2108, 2112, + 2116, 2120, 2127, 2131, 2138, 2139, 2145, 2153, 2154, 2160, + 2169, 2176, 2180, 2184, 2192, 2191, 2214, 2213, 2236, 2237, + 2241, 2247, 2256, 2257, 2258, 2262, 2266, 2270, 2274, 2278, + 2282, 2287, 2292, 2297, 2302, 2307, 2311, 2316, 2325, 2330, + 2338, 2342, 2347, 2351, 2356, 2364, 2374, 2374, 2384, 2385, + 2389, 2390, 2391, 2392, 2393, 2394, 2395, 2396, 2397, 2398, + 2399, 2399, 2399, 2400, 2400, 2400, 2400, 2401, 2401, 2401, + 2401, 2401, 2402, 2402, 2402, 2403, 2403, 2403, 2403, 2403, + 2404, 2404, 2404, 2404, 2404, 2405, 2405, 2405, 2405, 2405, + 2406, 2406, 2406, 2407, 2407, 2407, 2407, 2407, 2408, 2408, + 2408, 2408, 2408, 2409, 2409, 2409, 2410, 2410, 2410, 2410, + 2410, 2410, 2411, 2411, 2411, 2411, 2412, 2412, 2412, 2412, + 2412, 2413, 2413, 2413, 2413, 2414, 2414, 2414, 2414, 2414, + 2415, 2415, 2415, 2415, 2415, 2416, 2416, 2416, 2416, 2416, + 2417, 2417, 2417, 2417, 2417, 2420, 2420, 2420, 2420, 2420, + 2420, 2420, 2420, 2420, 2420, 2420, 2421, 2421, 2421, 2421, + 2421, 2421, 2421, 2421, 2421, 2421, 2422, 2422, 2426, 2430, + 2437, 2441, 2448, 2452, 2459, 2463, 2467, 2471, 2475, 2479, 2483, 2487, 2491, 2495, 2499, 2503, 2507, 2511, 2515, 2519, 2523, 2527, 2531, 2535, 2539, 2543, 2547, 2551, 2555, 2559, - 2563, 2567, 2571, 2575, 2579, 2583, 2591, 2595, 2599, 2603, - 2607, 2617, 2623, 2629, 2635, 2641, 2647, 2653, 2660, 2667, - 2674, 2681, 2687, 2693, 2697, 2701, 2705, 2709, 2713, 2717, + 2563, 2567, 2571, 2575, 2579, 2583, 2587, 2591, 2599, 2603, + 2607, 2611, 2615, 2625, 2631, 2637, 2643, 2649, 2655, 2661, + 2668, 2675, 2682, 2689, 2695, 2701, 2705, 2709, 2713, 2717, 2721, 2725, 2729, 2733, 2737, 2741, 2745, 2749, 2753, 2757, 2761, 2765, 2769, 2773, 2777, 2781, 2785, 2789, 2793, 2797, - 2801, 2805, 2809, 2813, 2817, 2821, 2825, 2832, 2836, 2840, - 2844, 2848, 2852, 2856, 2860, 2864, 2878, 2882, 2886, 2890, + 2801, 2805, 2809, 2813, 2817, 2821, 2825, 2829, 2833, 2840, + 2844, 2848, 2852, 2856, 2860, 2864, 2868, 2872, 2886, 2890, 2894, 2898, 2902, 2906, 2910, 2914, 2918, 2922, 2926, 2930, 2934, 2938, 2942, 2946, 2950, 2954, 2958, 2962, 2966, 2970, 2974, 2978, 2982, 2986, 2990, 2994, 2998, 3002, 3006, 3010, - 3014, 3018, 3022, 3029, 3033, 3037, 3041, 3045, 3049, 3053, - 3057, 3061, 3068, 3076, 3084, 3110, 3114, 3121, 3125, 3129, - 3135, 3146 + 3014, 3018, 3022, 3026, 3030, 3037, 3041, 3045, 3049, 3053, + 3057, 3061, 3065, 3069, 3076, 3084, 3092, 3118, 3122, 3129, + 3133, 3137, 3143, 3154 }; #endif @@ -1290,21 +1291,21 @@ static const yytype_uint8 yyr1[] = 179, 179, 180, 180, 180, 181, 181, 181, 181, 181, 181, 181, 181, 181, 181, 181, 181, 182, 181, 183, 183, 183, 183, 183, 184, 184, 185, 185, 186, 186, - 187, 187, 187, 187, 187, 188, 188, 188, 189, 189, - 189, 189, 190, 190, 190, 190, 190, 191, 191, 191, - 191, 191, 191, 191, 191, 191, 191, 192, 192, 192, - 192, 192, 192, 192, 192, 192, 192, 192, 192, 193, - 193, 193, 193, 193, 193, 193, 193, 193, 194, 194, - 194, 194, 194, 194, 194, 194, 194, 194, 195, 195, - 195, 195, 195, 195, 195, 195, 195, 195, 195, 196, - 196, 196, 196, 196, 197, 197, 198, 198, 200, 199, - 202, 201, 203, 203, 204, 204, 205, 205, 205, 205, - 205, 205, 205, 205, 205, 206, 207, 207, 207, 207, - 208, 208, 209, 209, 209, 210, 210, 210, 211, 212, - 212, 212, 214, 213, 215, 213, 213, 213, 216, 216, - 217, 217, 217, 218, 218, 218, 218, 218, 218, 218, - 218, 218, 218, 218, 218, 218, 218, 218, 219, 219, - 219, 219, 219, 220, 222, 221, 223, 223, 224, 224, + 187, 187, 187, 187, 187, 187, 187, 188, 188, 188, + 189, 189, 189, 189, 190, 190, 190, 190, 190, 191, + 191, 191, 191, 191, 191, 191, 191, 191, 191, 192, + 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, + 192, 193, 193, 193, 193, 193, 193, 193, 193, 193, + 194, 194, 194, 194, 194, 194, 194, 194, 194, 194, + 195, 195, 195, 195, 195, 195, 195, 195, 195, 195, + 195, 196, 196, 196, 196, 196, 197, 197, 198, 198, + 200, 199, 202, 201, 203, 203, 204, 204, 205, 205, + 205, 205, 205, 205, 205, 205, 205, 206, 207, 207, + 207, 207, 208, 208, 209, 209, 209, 210, 210, 210, + 211, 212, 212, 212, 214, 213, 215, 213, 213, 213, + 216, 216, 217, 217, 217, 218, 218, 218, 218, 218, + 218, 218, 218, 218, 218, 218, 218, 218, 218, 218, + 219, 219, 219, 219, 219, 220, 222, 221, 223, 223, 224, 224, 224, 224, 224, 224, 224, 224, 224, 224, 224, 224, 224, 224, 224, 224, 224, 224, 224, 224, 224, 224, 224, 224, 224, 224, 224, 224, 224, 224, @@ -1316,23 +1317,23 @@ static const yytype_uint8 yyr1[] = 224, 224, 224, 224, 224, 224, 224, 224, 224, 224, 224, 224, 224, 224, 224, 224, 224, 224, 224, 224, 224, 224, 224, 224, 224, 224, 224, 224, 224, 224, - 224, 224, 224, 224, 224, 224, 225, 225, 226, 226, - 227, 227, 228, 228, 228, 228, 228, 228, 228, 228, + 224, 224, 224, 224, 224, 224, 224, 224, 225, 225, + 226, 226, 227, 227, 228, 228, 228, 228, 228, 228, 228, 228, 228, 228, 228, 228, 228, 228, 228, 228, 228, 228, 228, 228, 228, 228, 228, 228, 228, 228, - 228, 228, 228, 228, 228, 228, 229, 229, 229, 229, + 228, 228, 228, 228, 228, 228, 228, 228, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, - 229, 229, 229, 229, 229, 229, 229, 230, 230, 230, - 230, 230, 230, 230, 230, 230, 231, 231, 231, 231, + 229, 229, 229, 229, 229, 229, 229, 229, 229, 230, + 230, 230, 230, 230, 230, 230, 230, 230, 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, - 231, 231, 231, 232, 232, 232, 232, 232, 232, 232, - 232, 232, 233, 233, 233, 234, 234, 235, 235, 235, - 235, 236 + 231, 231, 231, 231, 231, 232, 232, 232, 232, 232, + 232, 232, 232, 232, 233, 233, 233, 234, 234, 235, + 235, 235, 235, 236 }; /* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN. */ @@ -1355,21 +1356,21 @@ static const yytype_uint8 yyr2[] = 3, 4, 1, 1, 1, 1, 2, 3, 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, 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, 4, 1, 1, 1, - 2, 1, 1, 1, 2, 4, 2, 4, 1, 1, - 1, 2, 2, 2, 1, 1, 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, 0, 7, 4, 5, 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, 3, 5, 3, 3, 3, 4, 1, 1, 2, + 1, 3, 3, 5, 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, 4, 1, + 1, 1, 2, 1, 1, 1, 2, 4, 2, 4, + 1, 1, 1, 2, 2, 2, 1, 1, 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, 0, 7, 4, 5, + 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, @@ -1381,23 +1382,23 @@ 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, 3, 1, 1, 1, 1, - 1, 3, 1, 4, 7, 7, 4, 4, 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, 4, 7, 7, - 4, 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, + 1, 1, 1, 1, 1, 1, 1, 3, 1, 1, + 1, 1, 1, 3, 1, 4, 7, 7, 4, 4, + 2, 2, 2, 2, 2, 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, 1, 1, 4, 7, 7, - 4, 4, 2, 5, 2, 2, 2, 2, 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, 4, 2, 5, 2, + 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 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, 1, 1, 2, 2, 1, 1, 1, 1, 2, - 2, 0 + 3, 3, 5, 4, 4, 3, 3, 3, 3, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 4, + 7, 7, 4, 4, 2, 5, 2, 2, 2, 2, + 3, 3, 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, 1, 1, 2, 2, 1, 1, 1, + 1, 2, 2, 0 }; /* YYDEFACT[STATE-NAME] -- Default reduction number in state STATE-NUM. @@ -1405,446 +1406,444 @@ static const yytype_uint8 yyr2[] = means the default is an error. */ static const yytype_uint16 yydefact[] = { - 0, 591, 0, 0, 0, 591, 5, 531, 527, 530, - 587, 588, 533, 534, 0, 0, 0, 0, 0, 0, - 0, 0, 529, 0, 0, 0, 0, 535, 0, 0, - 0, 0, 528, 0, 0, 0, 0, 0, 0, 0, - 0, 3, 476, 532, 219, 227, 293, 294, 296, 297, - 279, 0, 0, 310, 278, 308, 303, 299, 300, 298, - 302, 280, 0, 281, 301, 313, 295, 591, 4, 221, - 222, 223, 0, 269, 0, 218, 290, 291, 292, 1, - 20, 591, 591, 21, 591, 591, 591, 0, 33, 591, - 0, 0, 0, 591, 0, 0, 0, 0, 591, 591, - 0, 591, 591, 0, 591, 591, 6, 15, 7, 18, - 0, 13, 48, 14, 16, 17, 35, 591, 0, 591, - 591, 591, 591, 591, 0, 591, 591, 591, 240, 0, - 495, 0, 0, 239, 591, 591, 0, 0, 591, 591, - 501, 499, 500, 498, 219, 293, 294, 296, 297, 310, - 308, 303, 299, 298, 302, 301, 295, 0, 0, 440, - 497, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 593, 0, 0, 0, 593, 5, 533, 529, 532, + 589, 590, 535, 536, 0, 0, 0, 0, 0, 0, + 0, 0, 531, 0, 0, 0, 0, 537, 0, 0, + 0, 0, 530, 0, 0, 0, 0, 0, 0, 0, + 0, 3, 478, 534, 221, 229, 295, 296, 298, 299, + 281, 0, 0, 312, 280, 310, 305, 301, 302, 300, + 304, 282, 0, 283, 303, 315, 297, 593, 4, 223, + 224, 225, 0, 271, 0, 220, 292, 293, 294, 1, + 20, 593, 593, 21, 593, 593, 593, 0, 33, 593, + 0, 0, 0, 593, 0, 0, 0, 0, 593, 593, + 0, 593, 593, 0, 593, 593, 6, 15, 7, 18, + 0, 13, 48, 14, 16, 17, 35, 593, 0, 593, + 593, 593, 593, 593, 0, 593, 593, 593, 242, 0, + 497, 0, 0, 241, 593, 593, 0, 0, 593, 593, + 503, 501, 502, 500, 221, 295, 296, 298, 299, 312, + 310, 305, 301, 300, 304, 303, 297, 0, 0, 442, + 499, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 589, 590, 591, 0, 312, 309, - 299, 305, 299, 304, 307, 585, 586, 220, 306, 0, - 591, 591, 591, 591, 591, 591, 246, 209, 591, 0, - 267, 248, 224, 591, 46, 45, 47, 591, 36, 41, - 22, 591, 0, 39, 0, 0, 0, 44, 591, 0, + 0, 0, 0, 0, 591, 592, 593, 0, 314, 311, + 301, 307, 301, 306, 309, 587, 588, 222, 308, 0, + 593, 593, 593, 593, 593, 593, 248, 211, 593, 0, + 269, 250, 226, 593, 46, 45, 47, 593, 36, 41, + 22, 593, 0, 39, 0, 0, 0, 44, 593, 0, 25, 24, 23, 42, 38, 0, 0, 131, 0, 0, - 19, 0, 288, 40, 43, 245, 229, 238, 0, 0, - 0, 0, 11, 0, 0, 244, 51, 231, 232, 233, - 269, 0, 228, 0, 439, 438, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 241, 591, 243, 242, - 0, 0, 0, 0, 0, 0, 0, 0, 526, 510, - 511, 512, 513, 514, 515, 518, 519, 525, 0, 507, - 508, 509, 516, 517, 505, 506, 502, 503, 504, 524, - 523, 0, 0, 247, 0, 311, 591, 214, 210, 211, - 213, 212, 0, 591, 275, 0, 272, 271, 268, 270, - 0, 591, 591, 37, 34, 591, 0, 0, 0, 0, - 591, 282, 0, 591, 0, 0, 244, 59, 289, 68, - 70, 245, 229, 53, 0, 0, 591, 230, 591, 0, - 314, 170, 0, 0, 50, 49, 0, 236, 234, 480, - 494, 486, 482, 484, 485, 492, 0, 491, 481, 488, - 0, 487, 490, 493, 0, 489, 483, 477, 441, 0, - 522, 521, 226, 215, 0, 0, 437, 436, 276, 265, - 225, 591, 0, 0, 253, 252, 591, 284, 0, 0, - 0, 286, 591, 0, 32, 143, 144, 0, 0, 0, - 0, 133, 134, 591, 142, 132, 61, 63, 0, 591, - 0, 0, 591, 0, 0, 591, 188, 189, 0, 591, - 591, 591, 591, 591, 0, 187, 591, 72, 0, 591, - 0, 8, 0, 591, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 52, 591, 145, 0, 0, 496, 0, - 520, 591, 216, 273, 0, 249, 0, 0, 0, 0, - 254, 591, 0, 287, 591, 0, 0, 0, 591, 0, - 136, 591, 138, 591, 0, 198, 199, 0, 591, 591, - 591, 591, 591, 591, 591, 197, 0, 60, 591, 577, - 573, 576, 579, 580, 160, 0, 0, 0, 575, 0, - 581, 0, 0, 0, 574, 0, 0, 0, 0, 0, - 0, 161, 164, 591, 186, 536, 578, 159, 0, 0, - 0, 54, 591, 237, 0, 591, 194, 190, 191, 193, - 192, 78, 591, 12, 591, 171, 315, 316, 314, 0, - 591, 591, 0, 176, 178, 175, 173, 0, 152, 148, - 0, 98, 99, 100, 101, 102, 103, 106, 107, 122, - 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, - 120, 121, 126, 125, 109, 108, 95, 97, 96, 104, - 105, 93, 94, 90, 91, 92, 89, 0, 0, 88, - 146, 149, 151, 150, 0, 0, 0, 157, 591, 0, - 55, 168, 235, 0, 0, 0, 277, 0, 0, 0, - 258, 582, 0, 257, 0, 256, 0, 0, 0, 591, - 255, 591, 0, 0, 0, 0, 283, 31, 0, 591, - 0, 127, 130, 128, 135, 591, 204, 200, 201, 203, - 202, 0, 0, 591, 140, 166, 62, 591, 0, 64, - 0, 0, 591, 0, 542, 185, 0, 0, 547, 546, - 545, 0, 0, 544, 591, 163, 0, 591, 0, 0, + 19, 0, 290, 40, 43, 247, 231, 240, 0, 0, + 0, 0, 11, 0, 0, 246, 51, 233, 234, 235, + 271, 0, 230, 0, 441, 440, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 243, 593, 245, 244, + 0, 0, 0, 0, 0, 0, 0, 0, 528, 512, + 513, 514, 515, 516, 517, 520, 521, 527, 0, 509, + 510, 511, 518, 519, 507, 508, 504, 505, 506, 526, + 525, 0, 0, 249, 0, 313, 593, 216, 212, 213, + 215, 214, 0, 593, 277, 0, 274, 273, 270, 272, + 0, 593, 593, 37, 34, 593, 0, 0, 0, 0, + 593, 284, 0, 593, 0, 0, 246, 59, 291, 68, + 70, 247, 231, 53, 0, 0, 593, 232, 593, 0, + 316, 170, 0, 0, 50, 49, 0, 238, 236, 482, + 496, 488, 484, 486, 487, 494, 0, 493, 483, 490, + 0, 489, 492, 495, 0, 491, 485, 479, 443, 0, + 524, 523, 228, 217, 0, 0, 439, 438, 278, 267, + 227, 593, 0, 0, 255, 254, 593, 286, 0, 0, + 0, 288, 593, 0, 32, 143, 144, 0, 0, 0, + 0, 133, 134, 593, 142, 132, 61, 63, 0, 593, + 0, 0, 593, 0, 0, 593, 190, 191, 0, 593, + 593, 593, 593, 593, 0, 189, 593, 72, 0, 593, + 0, 8, 0, 0, 0, 593, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 52, 593, 145, 0, 0, + 498, 0, 522, 593, 218, 275, 0, 251, 0, 0, + 0, 0, 256, 593, 0, 289, 593, 0, 0, 0, + 593, 0, 136, 593, 138, 593, 0, 200, 201, 0, + 593, 593, 593, 593, 593, 593, 593, 199, 0, 60, + 593, 579, 575, 578, 581, 582, 160, 0, 0, 0, + 577, 0, 583, 0, 0, 0, 576, 0, 0, 0, + 0, 0, 0, 161, 164, 593, 188, 538, 580, 159, + 0, 0, 0, 54, 593, 239, 0, 593, 196, 192, + 193, 195, 194, 78, 593, 12, 593, 171, 317, 318, + 316, 0, 593, 174, 175, 593, 0, 178, 180, 177, + 173, 0, 152, 148, 0, 98, 99, 100, 101, 102, + 103, 106, 107, 122, 110, 111, 112, 113, 114, 115, + 116, 117, 118, 119, 120, 121, 126, 125, 109, 108, + 95, 97, 96, 104, 105, 93, 94, 90, 91, 92, + 89, 0, 0, 88, 146, 149, 151, 150, 0, 0, + 0, 157, 593, 0, 55, 168, 237, 0, 0, 0, + 279, 0, 0, 0, 260, 584, 0, 259, 0, 258, + 0, 0, 0, 593, 257, 593, 0, 0, 0, 0, + 285, 31, 0, 593, 0, 127, 130, 128, 135, 593, + 206, 202, 203, 205, 204, 0, 0, 593, 140, 166, + 62, 593, 0, 64, 0, 0, 593, 0, 544, 187, + 0, 0, 549, 548, 547, 0, 0, 546, 593, 163, + 0, 593, 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, 593, 0, + 57, 80, 197, 593, 0, 0, 320, 321, 325, 322, + 329, 323, 324, 326, 327, 328, 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, 362, 363, + 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, + 374, 392, 375, 376, 377, 378, 379, 380, 381, 382, + 383, 384, 385, 386, 387, 388, 389, 390, 391, 393, + 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, + 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, + 414, 593, 431, 432, 433, 424, 436, 420, 421, 419, + 426, 427, 415, 416, 417, 418, 425, 423, 430, 428, + 434, 429, 422, 435, 319, 0, 9, 0, 0, 176, + 179, 153, 147, 124, 123, 156, 155, 169, 593, 0, + 0, 481, 480, 593, 276, 586, 266, 585, 265, 264, + 263, 262, 261, 253, 287, 0, 26, 0, 0, 137, + 141, 139, 207, 210, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 167, 444, 0, 0, 66, 0, + 0, 593, 593, 0, 593, 0, 0, 0, 574, 84, + 69, 83, 162, 165, 0, 184, 558, 559, 560, 561, + 562, 563, 566, 567, 573, 0, 555, 556, 557, 564, + 565, 553, 554, 550, 551, 552, 572, 571, 0, 0, + 0, 74, 71, 0, 593, 0, 198, 593, 0, 172, + 10, 181, 593, 182, 0, 154, 56, 219, 0, 0, + 0, 0, 593, 0, 0, 0, 0, 454, 452, 453, + 451, 0, 0, 450, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 591, 0, 57, 80, 195, 591, - 0, 0, 318, 319, 323, 320, 327, 321, 322, 324, - 325, 326, 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, 362, 363, 364, 365, - 366, 367, 368, 369, 370, 371, 372, 390, 373, 374, - 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, - 385, 386, 387, 388, 389, 391, 392, 393, 394, 395, - 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, - 406, 407, 408, 409, 410, 411, 412, 591, 429, 430, - 431, 422, 434, 418, 419, 417, 424, 425, 413, 414, - 415, 416, 423, 421, 428, 426, 432, 427, 420, 433, - 317, 0, 9, 0, 0, 174, 177, 153, 147, 124, - 123, 156, 155, 169, 591, 0, 0, 479, 478, 591, - 274, 584, 264, 583, 263, 262, 261, 260, 259, 251, - 285, 0, 26, 0, 0, 137, 141, 139, 205, 208, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 167, 442, 0, 0, 66, 0, 0, 591, 591, 0, - 591, 0, 0, 0, 572, 84, 69, 83, 162, 165, - 0, 182, 556, 557, 558, 559, 560, 561, 564, 565, - 571, 0, 553, 554, 555, 562, 563, 551, 552, 548, - 549, 550, 570, 569, 0, 0, 0, 74, 71, 0, - 591, 0, 196, 591, 0, 172, 10, 179, 591, 180, - 0, 154, 56, 217, 0, 0, 0, 0, 591, 0, - 0, 0, 0, 452, 450, 451, 449, 0, 0, 448, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 206, 0, 65, 541, 591, 183, 0, 0, 540, - 0, 537, 85, 0, 169, 0, 568, 567, 76, 591, - 58, 0, 591, 73, 435, 0, 591, 27, 0, 28, - 30, 0, 0, 0, 0, 0, 0, 475, 461, 462, - 463, 464, 465, 466, 467, 468, 474, 0, 458, 459, - 460, 456, 457, 453, 454, 455, 473, 472, 0, 0, - 67, 184, 0, 543, 0, 0, 566, 591, 0, 591, - 79, 181, 158, 0, 591, 447, 0, 446, 0, 443, - 0, 471, 470, 0, 0, 86, 0, 0, 591, 81, - 0, 207, 0, 0, 469, 539, 538, 87, 591, 75, - 0, 0, 0, 77, 29, 445, 444 + 0, 0, 0, 0, 0, 208, 0, 65, 543, 593, + 185, 0, 0, 542, 0, 539, 85, 0, 169, 0, + 570, 569, 76, 593, 58, 0, 593, 73, 437, 0, + 593, 27, 0, 28, 30, 0, 0, 0, 0, 0, + 0, 477, 463, 464, 465, 466, 467, 468, 469, 470, + 476, 0, 460, 461, 462, 458, 459, 455, 456, 457, + 475, 474, 0, 0, 67, 186, 0, 545, 0, 0, + 568, 593, 0, 593, 79, 183, 158, 0, 593, 449, + 0, 448, 0, 445, 0, 473, 472, 0, 0, 86, + 0, 0, 593, 81, 0, 209, 0, 0, 471, 541, + 540, 87, 593, 75, 0, 0, 0, 77, 29, 447, + 446 }; /* YYDEFGOTO[NTERM-NUM]. */ static const yytype_int16 yydefgoto[] = { -1, 4, 5, 450, 451, 107, 358, 108, 109, 221, - 110, 111, 112, 366, 433, 463, 541, 240, 428, 506, - 507, 666, 254, 429, 432, 554, 1009, 1057, 719, 940, - 906, 610, 652, 113, 238, 420, 421, 422, 423, 464, - 854, 530, 531, 664, 619, 364, 562, 563, 532, 444, - 504, 206, 67, 346, 130, 256, 68, 69, 331, 70, - 332, 403, 404, 480, 71, 72, 328, 324, 325, 73, - 74, 114, 412, 484, 115, 75, 76, 77, 78, 448, - 449, 556, 840, 395, 263, 264, 890, 159, 42, 534, - 535, 630, 465, 43, 116 + 110, 111, 112, 366, 433, 465, 543, 240, 428, 508, + 509, 670, 254, 429, 432, 556, 1013, 1061, 723, 944, + 910, 614, 656, 113, 238, 420, 421, 422, 423, 466, + 858, 532, 533, 668, 623, 364, 566, 567, 534, 444, + 506, 206, 67, 346, 130, 256, 68, 69, 331, 70, + 332, 403, 404, 482, 71, 72, 328, 324, 325, 73, + 74, 114, 412, 486, 115, 75, 76, 77, 78, 448, + 449, 558, 844, 395, 263, 264, 894, 159, 42, 536, + 537, 634, 467, 43, 116 }; /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing STATE-NUM. */ -#define YYPACT_NINF -666 +#define YYPACT_NINF -656 static const yytype_int16 yypact[] = { - 258, -666, 2548, 3820, 65, 2628, -666, -666, -666, -666, - -666, -666, -666, -666, -62, -30, 60, 110, 114, 130, - 149, 18, -666, 153, 173, 181, 4026, -666, 190, 207, - 210, 221, -666, 214, 226, 2548, 2548, 2548, 2548, 1720, - 2548, 3185, -666, 107, -666, -666, -666, -666, -666, -666, - -666, 4006, 228, -666, -666, -666, -666, 4537, -666, 3871, - 3871, -666, 75, -666, 3871, -666, -666, 276, -666, -666, - -666, -666, 161, 67, 14, -666, -666, -666, -666, -666, - -666, 4568, 4568, -666, 4568, 892, 4568, 15, -666, 2540, - 235, 243, 247, 4568, 41, 269, 271, 285, 4568, 4568, - 278, 2563, 4568, 33, 4568, 4568, -666, -666, -666, -666, - 2741, -666, -666, -666, -666, -666, -666, 2548, 3820, 2548, - 2548, 2548, 2548, 2548, 3820, 2548, 2548, 2548, -666, 75, - 283, 75, 75, -666, 2548, 2548, 3820, 3820, 2548, 2548, - 167, 167, 167, 167, -62, 60, 110, 114, 130, 149, - 153, 173, 4449, 1931, 3341, 3699, 226, 286, -107, 3185, - 167, 2548, 2548, 2548, 2548, 2548, 2548, 2548, 2548, 2548, - 2548, 2548, 2548, 2548, 2548, 2548, 2548, 2548, 2548, 2548, - 2548, 2548, 1942, 2548, -666, -666, 276, 2548, -666, -666, - 3809, -666, 3871, -666, -666, -666, -666, -666, -666, 290, - 276, 276, 276, 276, 276, 276, 292, -666, -666, 736, - 311, -666, 206, 4568, -666, -666, -666, 4568, -666, -666, - -666, 4483, 72, -666, 417, 426, 436, -666, -666, 329, - -666, -666, -666, -666, -666, 2548, 2811, -666, 323, 2873, - -666, 75, -666, -666, -666, 260, 315, -666, 3689, 328, - 3882, 75, -666, 75, 198, 339, -666, -666, -666, -666, - 67, 14, -666, 330, 346, -666, 334, 335, 337, 340, - 347, 350, 338, 351, 354, 355, -666, 2548, -666, -666, - 367, 370, 375, 349, 376, 377, 2548, 2548, -666, 3274, - 3357, 3574, 3574, 460, 460, 325, 325, -666, 3011, 3395, - 3410, 3440, 460, 460, 524, 524, 167, 167, 167, -666, - -666, -58, 1516, 292, 2972, -666, 276, 292, 292, 292, - 292, 292, 160, 2548, 75, 345, -666, -666, -666, -666, - 736, -666, 396, -666, -666, -666, 400, 401, 402, 404, - 3575, -666, 2938, 3709, 3689, 198, -666, -666, -666, -666, - -2, -666, -666, -666, 2548, 4006, 553, -666, -666, 383, - -666, -666, 75, 2043, -666, -666, 289, 217, 206, -666, - -666, -666, -666, -666, -666, -666, 388, -666, -666, -666, - 390, -666, -666, -666, 394, -666, -666, 167, 3185, 2548, - -666, -666, -666, 292, 397, 399, 3185, -666, 158, -666, - 419, 4074, -71, 420, 423, -666, 4139, -666, 537, 538, - 539, -666, -666, 333, -666, -666, -666, 75, 3771, 75, - 422, 435, -666, 714, -666, -666, -666, -666, 289, 1498, - 425, 289, 1498, 289, 2993, 553, -666, -666, 427, 553, - 553, 553, 553, 553, 216, -666, 4204, -666, 428, -666, - 267, -666, 430, 2144, 3029, 437, 289, 289, 1064, 289, - 289, 289, 289, -666, 147, -666, 736, 2548, -666, 2548, - 3185, 1498, -666, -666, 2548, -666, 476, 891, 940, 327, - -666, -666, -71, -666, -666, -50, 451, 452, 4269, 8, - 453, 714, 458, 4545, 3709, -666, -666, 450, 714, 714, - 714, 714, 714, 714, -69, -666, 289, -666, 147, -666, - -666, -666, -666, -666, -666, 448, 3944, 461, -666, 4026, - -666, 1831, 462, 472, -666, 2548, 2548, 2548, 1720, 2548, - 464, 9, -666, 714, 3202, -666, 107, -666, 289, 170, - 477, -666, 147, -666, 261, 553, 463, 463, 463, 463, - 463, -666, 2548, -666, 1498, -666, 1359, -666, -666, 75, - 2548, 2144, 474, 495, 3185, -666, -666, 289, 273, 273, - 609, -666, -666, -666, -666, -666, -666, -666, -666, -666, - -666, -666, -666, -666, -666, -666, -666, -666, -666, -666, - -666, -666, -666, -666, -666, -666, -666, -666, -666, -666, - -666, -666, -666, -666, -666, -666, -666, 483, 481, -666, - -666, 273, 273, 273, 223, 86, 2043, -666, 2548, 504, - -666, -666, 419, -49, -44, 486, 3062, 75, 659, 75, - -666, -666, 659, -666, 659, -666, 659, 659, 659, 4334, - -666, 4399, 615, 507, 618, 620, -666, -666, 3820, -69, - 3820, -666, -666, -666, -666, 714, 497, 497, 497, 497, - 497, 306, 883, 2548, -666, -666, -666, 147, 516, -666, - 3820, 4006, 714, 3820, 501, -666, 3820, 3820, 167, 167, - 167, 498, -27, 167, 582, -666, 1609, 174, 2548, 2548, - 2548, 2548, 2548, 2548, 2548, 2548, 2548, 2548, 2548, 2548, - 2548, 2548, 2548, 2548, 2548, 2548, 2548, 2548, 2548, 2245, - 2548, 374, 635, 506, 582, 534, -666, -666, 463, 1498, - 523, 530, -666, -666, -666, -666, -666, -666, -666, -666, - -666, -666, -666, -666, -666, -666, -666, -666, -666, -666, - -666, -666, -666, -666, -666, -666, -666, -666, -666, -666, - -666, -666, -666, -666, -666, -666, -666, -666, -666, -666, - -666, -666, -666, -666, -666, -666, -666, -666, -666, -666, - -666, -666, -666, -666, -666, -666, -666, -666, -666, -666, - -666, -666, -666, -666, -666, -666, -666, -666, -666, -666, - -666, -666, -666, -666, -666, -666, -666, -666, -666, -666, - -666, -666, -666, -666, -666, -666, -666, -666, -666, -666, - -666, -666, -666, -666, -666, -666, -666, -666, -666, -666, - -666, -666, -666, -666, -666, -666, -666, -666, -666, -666, - -666, -666, -666, -666, -666, -666, -666, -666, -666, -666, - -666, 533, -666, 535, 541, -666, 2346, 273, -666, -666, - -666, -666, -666, 3029, 1498, 536, 289, -666, -666, 582, - -666, -666, -666, -666, -666, -666, -666, -666, -666, -666, - -666, 540, -666, 104, 543, -666, -666, -666, 497, 546, - 549, 560, 573, 584, 883, 883, 883, 883, 1720, 883, - 3236, -666, 571, 596, -666, 289, 578, 714, 174, 589, - 2548, 581, 592, 2548, -666, -666, -38, -666, -666, -666, - 2548, -666, 3274, 3357, 3574, 3574, 460, 460, 325, 325, - -666, 3152, 3395, 3410, 3440, 460, 460, 524, 524, 167, - 167, 167, -666, -666, 115, 1738, 595, -666, -38, 289, - 1498, 590, -666, 582, 1220, -666, -666, -666, 2144, 3185, - 594, -666, -666, -38, 614, 726, 622, 624, 1498, 3820, - 3820, 3820, 3820, 177, 177, 177, 177, 602, 118, 177, - 883, 883, 883, 883, 883, 883, 883, 883, 883, 883, - 883, 883, 883, 883, 883, 883, 883, 883, 883, 2447, - 2548, -666, 289, -666, -666, 174, -666, 612, 607, -666, - 616, 167, -666, 619, 3185, 2548, -666, -666, -666, 1498, - -666, 625, 582, -38, -666, 617, 582, -666, 638, -666, - -666, 639, 640, 626, 645, 630, 883, -666, 801, 3425, - 3597, 3597, 514, 514, 475, 475, -666, 3219, 3478, 1955, - 3561, 636, 636, 177, 177, 177, -666, -666, 135, 2649, - -666, -666, 2548, -666, 2548, 11, 3185, 1498, 647, 582, - -38, -666, -38, 752, 582, -666, 651, -666, 655, 177, - 883, -666, -666, 143, 152, -666, 654, 656, 582, -38, - 657, -38, 2548, 2548, 3236, -666, -666, -666, 582, -38, - 673, 155, 156, -38, -666, -666, -666 + 351, -656, 2508, 3720, 19, 2632, -656, -656, -656, -656, + -656, -656, -656, -656, -135, -103, -99, -85, -60, -28, + -13, -27, -656, 11, 45, 74, 3926, -656, 83, 88, + 98, 16, -656, 105, 111, 2508, 2508, 2508, 2508, 1680, + 2508, 3135, -656, 109, -656, -656, -656, -656, -656, -656, + -656, 3906, 121, -656, -656, -656, -656, 4521, -656, 3527, + 3527, -656, 306, -656, 3527, -656, -656, 293, -656, -656, + -656, -656, 42, 20, 24, -656, -656, -656, -656, -656, + -656, 4578, 4578, -656, 4578, 2516, 4578, 43, -656, 4528, + 123, 135, 137, 4578, 64, 140, 154, 156, 4578, 4578, + 143, 4421, 4578, 47, 4578, 4578, -656, -656, -656, -656, + 2725, -656, -656, -656, -656, -656, -656, 2508, 3720, 2508, + 2508, 2508, 2508, 2508, 3720, 2508, 2508, 2508, -656, 306, + 150, 306, 306, -656, 2508, 2508, 3720, 3720, 2508, 2508, + 184, 184, 184, 184, -135, -99, -85, -60, -28, -13, + 11, 45, 4414, 1891, 3324, 3709, 111, 164, -76, 3135, + 184, 2508, 2508, 2508, 2508, 2508, 2508, 2508, 2508, 2508, + 2508, 2508, 2508, 2508, 2508, 2508, 2508, 2508, 2508, 2508, + 2508, 2508, 2003, 2508, -656, -656, 293, 2508, -656, -656, + 3771, -656, 3527, -656, -656, -656, -656, -656, -656, 175, + 293, 293, 293, 293, 293, 293, 173, -656, -656, 3833, + 222, -656, 34, 4578, -656, -656, -656, 4578, -656, -656, + -656, 4471, 78, -656, 379, 381, 389, -656, -656, 296, + -656, -656, -656, -656, -656, 2508, 2795, -656, 269, 2857, + -656, 306, -656, -656, -656, 261, 279, -656, 3589, 289, + 3782, 306, -656, 306, 329, 310, -656, -656, -656, -656, + 20, 24, -656, 294, 307, -656, 315, 317, 324, 325, + 331, 340, 352, 345, 349, 355, -656, 2508, -656, -656, + 359, 360, 368, 361, 369, 370, 2508, 2508, -656, 3219, + 864, 3481, 3481, 738, 738, 532, 532, -656, 2977, 3340, + 3378, 3393, 738, 738, 215, 215, 184, 184, 184, -656, + -656, -73, 1037, 173, 2922, -656, 293, 173, 173, 173, + 173, 173, 186, 2508, 306, 371, -656, -656, -656, -656, + 3833, -656, 391, -656, -656, -656, 395, 401, 402, 404, + 3974, -656, 947, 3609, 3589, 329, -656, -656, -656, -656, + 9, -656, -656, -656, 2508, 3906, 182, -656, -656, 388, + -656, -656, 306, 1902, -656, -656, 244, 100, 34, -656, + -656, -656, -656, -656, -656, -656, 392, -656, -656, -656, + 387, -656, -656, -656, 393, -656, -656, 184, 3135, 2508, + -656, -656, -656, 173, 394, 390, 3135, -656, 192, -656, + 409, 4039, 277, 414, 416, -656, 4104, -656, 526, 527, + 528, -656, -656, 124, -656, -656, -656, 306, 3671, 306, + 413, 423, -656, 348, -656, -656, -656, -656, 244, 1133, + 417, 244, 1133, 244, 2956, 182, -656, -656, 418, 182, + 182, 182, 182, 182, 217, -656, 4169, -656, 405, -656, + 288, -656, 411, 425, 430, 2104, 2995, 420, 244, 244, + 2634, 244, 244, 244, 244, -656, 512, -656, 3833, 2508, + -656, 2508, 3135, 1133, -656, -656, 2508, -656, 595, 743, + 792, 386, -656, -656, 277, -656, -656, -71, 435, 439, + 4234, 53, 437, 348, 438, 4556, 3609, -656, -656, 434, + 348, 348, 348, 348, 348, 348, -114, -656, 244, -656, + 512, -656, -656, -656, -656, -656, -656, 436, 3844, 442, + -656, 3926, -656, 1791, 440, 443, -656, 2508, 2508, 2508, + 1680, 2508, 441, 26, -656, 348, 3169, -656, 109, -656, + 244, 191, 465, -656, 512, -656, 226, 182, 415, 415, + 415, 415, 415, -656, 2508, -656, 1133, -656, 1541, -656, + -656, 306, 2508, -656, -656, 2104, 432, 454, 3135, -656, + -656, 244, 284, 284, 567, -656, -656, -656, -656, -656, + -656, -656, -656, -656, -656, -656, -656, -656, -656, -656, + -656, -656, -656, -656, -656, -656, -656, -656, -656, -656, + -656, -656, -656, -656, -656, -656, -656, -656, -656, -656, + -656, 469, 468, -656, -656, 284, 284, 284, 248, 103, + 1902, -656, 2508, 459, -656, -656, 409, 76, 90, 472, + 3046, 306, 433, 306, -656, -656, 433, -656, 433, -656, + 433, 433, 433, 4299, -656, 4364, 570, 461, 601, 602, + -656, -656, 3720, -114, 3720, -656, -656, -656, -656, 348, + 476, 476, 476, 476, 476, 308, 675, 2508, -656, -656, + -656, 512, 497, -656, 3720, 3906, 348, 3720, 481, -656, + 3720, 3720, 184, 184, 184, 485, 93, 184, 563, -656, + 1244, -58, 2508, 2508, 2508, 2508, 2508, 2508, 2508, 2508, + 2508, 2508, 2508, 2508, 2508, 2508, 2508, 2508, 2508, 2508, + 2508, 2508, 2508, 2205, 2508, 280, 620, 495, 563, 516, + -656, -656, 415, 1133, 496, 498, -656, -656, -656, -656, + -656, -656, -656, -656, -656, -656, -656, -656, -656, -656, + -656, -656, -656, -656, -656, -656, -656, -656, -656, -656, + -656, -656, -656, -656, -656, -656, -656, -656, -656, -656, + -656, -656, -656, -656, -656, -656, -656, -656, -656, -656, + -656, -656, -656, -656, -656, -656, -656, -656, -656, -656, + -656, -656, -656, -656, -656, -656, -656, -656, -656, -656, + -656, -656, -656, -656, -656, -656, -656, -656, -656, -656, + -656, -656, -656, -656, -656, -656, -656, -656, -656, -656, + -656, -656, -656, -656, -656, -656, -656, -656, -656, -656, + -656, -656, -656, -656, -656, -656, -656, -656, -656, -656, + -656, -656, -656, -656, -656, -656, -656, -656, -656, -656, + -656, -656, -656, -656, -656, 500, -656, 503, 505, -656, + 2306, 284, -656, -656, -656, -656, -656, 2995, 1133, 501, + 244, -656, -656, 563, -656, -656, -656, -656, -656, -656, + -656, -656, -656, -656, -656, 507, -656, 107, 513, -656, + -656, -656, 476, 518, 519, 530, 523, 533, 675, 675, + 675, 675, 1680, 675, 3203, -656, 531, 552, -656, 244, + 538, 348, -58, 554, 2508, 550, 561, 2508, -656, -656, + 7, -656, -656, -656, 2508, -656, 3219, 864, 3481, 3481, + 738, 738, 532, 532, -656, 3012, 3340, 3378, 3393, 738, + 738, 215, 215, 184, 184, 184, -656, -656, 113, 1262, + 555, -656, 7, 244, 1133, 556, -656, 563, 1402, -656, + -656, -656, 2104, 3135, 558, -656, -656, 7, 572, 683, + 577, 578, 1133, 3720, 3720, 3720, 3720, 204, 204, 204, + 204, 562, 125, 204, 675, 675, 675, 675, 675, 675, + 675, 675, 675, 675, 675, 675, 675, 675, 675, 675, + 675, 675, 675, 2407, 2508, -656, 244, -656, -656, -58, + -656, 568, 565, -656, 573, 184, -656, 575, 3135, 2508, + -656, -656, -656, 1133, -656, 585, 563, 7, -656, 560, + 563, -656, 587, -656, -656, 586, 588, 597, 589, 600, + 675, -656, 3257, 1915, 3542, 3542, 1995, 1995, 583, 583, + -656, 3186, 3408, 3423, 3461, 241, 241, 204, 204, 204, + -656, -656, 131, 1698, -656, -656, 2508, -656, 2508, 28, + 3135, 1133, 591, 563, 7, -656, 7, 720, 563, -656, + 596, -656, 598, 204, 675, -656, -656, 146, 155, -656, + 593, 604, 563, 7, 608, 7, 2508, 2508, 3203, -656, + -656, -656, 563, 7, 613, 163, 169, 7, -656, -656, + -656 }; /* YYPGOTO[NTERM-NUM]. */ static const yytype_int16 yypgoto[] = { - -666, -666, -76, -666, 215, -666, -666, 555, -666, -666, - 159, -100, -666, -666, -666, -60, -142, -666, -666, -666, - -96, -194, 561, -666, -666, -666, -666, -666, -666, -666, - -665, -666, -666, 308, -666, -666, -666, 309, 384, -352, - -666, -424, -666, 157, -449, -272, -557, -666, -504, -385, - -133, -102, -45, -101, 291, -125, 73, -97, -666, -95, - -666, -666, -666, 322, -19, -666, -323, -666, -666, -23, - 101, -666, -666, -666, -666, -15, 3, -666, -666, 250, - -666, -12, -666, -412, -93, -34, 180, 0, -105, -666, - -666, -406, 500, -282, -1 + -656, -656, -196, -656, 174, -656, -656, 515, -656, -656, + 72, -97, -656, -656, -656, -113, -195, -656, -656, -656, + -149, -247, 522, -656, -656, -656, -656, -656, -656, -656, + -655, -656, -656, 256, -656, -656, -656, 259, 334, -381, + -656, -388, -656, 110, -508, -338, -559, -656, -501, -144, + -406, -132, -37, -92, 243, -147, -34, -61, -656, -19, + -656, -656, -656, 281, 0, -656, -289, -656, -656, 1, + 278, -656, -656, -656, -656, -6, -4, -656, -656, 206, + -656, -54, -656, -442, -110, -36, 118, 421, -150, -656, + -656, -374, 149, -387, -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 -268 +#define YYTABLE_NINF -270 static const yytype_int16 yytable[] = { - 6, 237, 41, 131, 844, 158, 186, 400, 540, 255, - 430, 133, 287, 257, 184, 258, 185, 675, 476, 477, - 478, 195, 196, 685, 195, 196, 267, 268, 269, 270, - 271, 288, 273, 274, 275, 140, 141, 142, 143, 479, - 160, 280, 281, 195, 196, 284, 285, 625, 1002, 938, - 544, 195, 196, 662, 546, 547, 548, 549, 550, 668, - 191, 287, 193, 194, 1003, 79, 207, 198, 663, 642, - 287, 633, 635, 427, 117, 287, 508, 195, 196, 539, - 390, 542, 195, 196, 313, 195, 196, 260, 643, 857, - 852, 259, 287, 715, 858, 262, 195, 196, 317, 318, - 319, 320, 321, 322, 568, 569, 118, 611, 612, 613, - 614, 904, 157, 184, 347, 185, 265, 241, 265, 265, - 265, 265, 265, 353, 265, 265, 265, 132, 686, 431, - 721, 489, 211, 265, 265, 255, 220, 265, 265, 257, - 720, 258, 257, 622, 258, 124, 647, 536, 311, 1075, - 536, 257, 340, 258, 667, 191, 193, 194, 198, 228, - 718, 289, 290, 291, 292, 293, 294, 295, 296, 297, - 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, - 308, 309, 909, 312, 380, 207, 711, 314, 209, 536, - 335, 266, 620, 191, 953, 191, 119, 272, 169, 207, - 207, 207, 207, 207, 207, 356, 855, 326, 978, 282, - 283, 261, 329, 260, 393, 847, 260, 259, 893, 426, - 259, 262, 862, 955, 262, 260, 864, 6, 865, 259, - 866, 867, 868, 262, 287, 342, 669, 287, 911, 536, - 214, 215, 956, 216, 218, 219, 120, 257, 223, 258, - 121, 892, 227, 1006, 287, 401, 1027, 233, 234, 406, - 236, 239, 287, 243, 244, 360, 122, 361, 615, 616, - 716, 287, 536, 1071, 287, 287, 265, 473, 1013, 208, - 474, 1085, 446, 617, 618, 123, 387, 388, 199, 125, - 1086, 712, 200, 1095, 1096, 941, 910, 323, 394, 195, - 196, 455, 181, 182, 183, 456, 617, 618, 713, 126, - 435, 663, 988, 989, 990, 207, 360, 127, 361, 362, - 363, 260, 397, 396, -250, 259, 134, -250, 424, 262, - 6, 405, 201, 329, 6, -267, 488, 261, 466, 10, - 261, 11, 425, 135, 712, 457, 136, 1060, 137, 261, - 138, 1062, 551, 552, 434, 445, 169, 6, 649, 617, - 618, 851, 139, 454, 187, 656, 657, 658, 659, 660, - 661, 224, 223, 1, 2, 3, 333, 458, -82, 225, - -82, -82, -82, 226, 533, 558, 559, 533, 202, 470, - 230, 1015, 231, 651, 1079, 894, 349, 717, 552, 1081, - 687, 459, 203, 424, 536, 639, 232, 204, 641, 617, - 618, 6, 205, 1089, 235, 460, 636, 637, 638, 277, - 461, 316, 505, 1093, 286, 462, 533, 337, 537, 323, - 950, 537, 330, 623, 445, 624, 338, 536, 445, 445, - 445, 445, 445, 663, 879, 261, 339, 341, 557, 996, - 343, 350, 565, 564, 176, 177, 178, 179, 180, 365, - 181, 182, 183, 621, 354, 287, 376, 843, 369, 329, - 537, 672, 370, 371, 626, 372, 533, 384, 373, 424, - 6, 167, 168, 6, 399, 374, 195, 196, 375, 377, - 505, 169, 378, 379, 682, 712, 131, 505, 505, 505, - 505, 505, 505, 665, 133, 381, 978, 621, 382, 533, - 617, 618, 936, 383, 385, 386, 1011, 402, 407, 447, - 408, 409, 878, 410, 467, 678, 679, 680, 468, 683, - 469, 50, 505, 471, 1021, 976, 977, -266, 481, 898, - 472, 621, 482, 508, 445, 978, 1051, 485, 486, 487, - 493, 397, 396, 537, 494, 169, 538, 891, 545, 265, - 565, 564, 197, 436, 437, 438, 560, 555, 567, 439, - 644, 645, 536, 210, 212, 648, 61, 629, 629, 629, - 650, 655, 627, 63, 670, 1058, 628, 542, 673, 176, - 177, 178, 179, 180, 229, 181, 182, 183, 676, 677, - 552, 681, 684, 242, 983, 984, 985, 986, 987, 440, - 988, 989, 990, 845, 846, 714, 853, 397, 396, 848, - 132, 849, 850, 856, 859, 871, 897, 872, 873, 276, - 874, 278, 279, 1077, 663, 895, 903, 900, 905, 852, - 667, 533, 937, 983, 984, 985, 986, 987, 665, 988, - 989, 990, 236, 939, 505, 178, 179, 180, 536, 181, - 182, 183, 397, 396, 942, 441, 621, 978, 943, 195, - 196, 505, 945, 946, 533, 934, 536, 951, 954, 442, - 947, 957, 958, 907, 443, 959, 621, 960, 912, 913, - 914, 915, 916, 917, 918, 919, 920, 921, 922, 923, - 924, 925, 926, 927, 928, 929, 930, 931, 932, 961, - 935, 962, 991, 907, 50, 992, 994, 997, 537, 999, - 1000, 875, 336, 877, 495, 496, 497, 536, 1012, 629, - 498, 1008, 1016, 629, 1017, 629, 1018, 629, 629, 629, - 1026, 348, 1019, 896, 1020, 1053, 899, 327, 1052, 901, - 902, 357, 1054, 359, 1066, 1055, 1061, 1063, 1068, 61, - 367, 368, 1080, 1059, 995, 627, 63, 985, 986, 987, - 499, 988, 989, 990, 842, 536, 334, 1064, 1065, 891, - 891, 891, 891, 1067, 891, 1078, 46, 1082, 47, 48, - 49, 1083, 1087, 1094, 1088, 1090, 952, 1010, 1050, 993, - 345, 653, 491, 654, 640, 944, 876, 998, 841, 533, - 674, 0, 0, 56, 192, 58, 557, 971, 972, 973, - 974, 975, 976, 977, 398, 0, 500, 0, 0, 0, - 59, 60, 978, 0, 0, 0, 0, 0, 0, 0, - 501, 0, 0, 0, 64, 502, 949, 0, 0, 66, - 503, 0, 0, 537, 968, 0, 0, 0, 907, 0, - 0, 0, 452, 0, 0, 891, 891, 891, 891, 891, - 891, 891, 891, 891, 891, 891, 891, 891, 891, 891, - 891, 891, 891, 891, 0, 0, 7, 8, 9, 10, - 0, 11, 12, 13, 0, 533, 505, 621, 217, 265, - 0, 195, 196, 1001, 0, 0, 0, 0, 0, 0, - 1004, 0, 0, 533, 0, 0, 0, 490, 0, 492, - 0, 891, 0, 0, 0, 980, 981, 982, 0, 880, - 983, 984, 985, 986, 987, 0, 988, 989, 990, 537, - 0, 81, 907, 0, 0, 881, 50, 565, 564, 82, - 195, 196, 0, 22, 0, 1048, 0, 537, 84, 85, - 86, 967, 0, 0, 533, 891, 0, 0, 213, 0, - 27, 0, 0, 0, 0, 93, 631, 631, 631, 882, - 0, 0, 883, 0, 98, 0, 32, 0, 0, 99, - 1049, 61, 0, 0, 621, 50, 0, 627, 63, 0, - 0, 632, 104, 0, 105, 1056, 0, 0, 537, 884, - 0, 907, 533, 885, 886, 907, 0, 887, 1073, 888, - 1074, 0, 0, 889, 0, 0, 0, 0, 0, 0, - 0, 0, 1022, 1023, 1024, 1025, 0, 0, 0, 0, - 61, 0, 0, 0, 0, 0, 627, 63, 1091, 1092, - 634, 0, 0, 0, 0, 0, 537, 0, 907, 452, - 0, 0, 0, 907, 963, 964, 965, 966, 0, 969, - 570, 0, 0, 0, 0, 0, 0, 907, 0, 571, - 572, 573, 574, 575, 576, 577, 578, 907, 0, 0, - 0, 0, 0, 0, 0, 579, 0, 580, 581, 582, - 583, 584, 585, 586, 587, 588, 589, 590, 591, 0, - 0, 0, 0, 0, 0, 452, 0, 0, 0, 0, - 0, 0, 0, 0, 592, 0, 0, 861, 631, 863, - 0, 0, 631, 0, 631, 0, 631, 631, 631, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 593, - 1028, 1029, 1030, 1031, 1032, 1033, 1034, 1035, 1036, 1037, - 1038, 1039, 1040, 1041, 1042, 1043, 1044, 1045, 1046, 0, + 6, 117, 672, 158, 237, 157, 848, 427, 666, 267, + 268, 269, 270, 271, 186, 273, 274, 275, 255, 79, + 133, 430, 679, 667, 280, 281, 491, 131, 284, 285, + 195, 196, 340, 118, 195, 196, 719, 119, 195, 196, + 689, 400, 538, 287, 542, 538, 287, 510, 646, 257, + 541, 120, 544, 191, 313, 193, 194, 195, 196, 184, + 198, 185, 288, 942, 914, 390, 207, 647, 317, 318, + 319, 320, 321, 322, 195, 196, 121, 572, 573, 667, + 615, 616, 617, 618, 266, 629, 538, 653, 195, 196, + 272, 258, 347, 1006, 660, 661, 662, 663, 664, 665, + 124, 353, 282, 283, 262, 637, 639, 856, 122, 1007, + 259, 260, 724, 195, 196, 184, 265, 185, 265, 265, + 265, 265, 265, 123, 265, 265, 265, 671, 624, 691, + 10, 241, 11, 265, 265, 401, 538, 265, 265, 406, + 431, 209, 211, 137, 255, 690, 311, 125, 191, 193, + 194, 198, -252, 214, 215, -252, 216, 218, 219, 715, + 208, 223, 446, 897, 220, 227, 1079, 380, 725, 538, + 233, 234, 673, 236, 239, 257, 243, 244, 257, 626, + 859, 126, 228, 915, 393, 207, 191, 257, 191, 913, + 851, 651, 436, 437, 438, 287, 335, 426, 439, 207, + 207, 207, 207, 207, 207, 329, 720, 326, 957, 287, + 127, 197, 287, 356, 861, 169, 490, 258, -269, 134, + 258, 468, 210, 212, 135, 896, 959, 6, 862, 258, + 262, 908, 287, 262, 136, 982, 259, 260, 440, 259, + 260, 138, 262, 229, 287, 960, 169, 139, 259, 260, + 287, 1010, 242, 882, 195, 196, 457, 187, 866, 224, + 458, 230, 868, 1031, 869, 287, 870, 871, 872, 1075, + 902, 225, 982, 226, 287, 231, 265, 232, 276, 235, + 278, 279, 287, 257, 1089, 223, 277, 643, 287, 333, + 645, 546, 1017, 1090, 441, 548, 549, 550, 551, 552, + 459, 1099, 286, 538, 132, 199, 316, 1100, 442, 200, + 323, 475, 716, 443, 476, 207, 195, 196, 435, 181, + 182, 183, 397, 323, 394, 258, 329, 621, 622, 717, + 6, 405, 460, 898, 6, 945, 538, 424, 262, 992, + 993, 994, 425, 330, 259, 260, 178, 179, 180, 201, + 181, 182, 183, 553, 554, 445, 461, 6, 497, 498, + 499, 1064, 721, 554, 500, 1066, 478, 479, 480, 716, + 462, 336, 989, 990, 991, 463, 992, 993, 994, -82, + 464, -82, -82, -82, 621, 622, 855, 481, 261, 337, + 348, 338, 535, 1019, 1000, 535, 343, 349, 655, 339, + 357, 716, 359, 722, 501, 202, 560, 561, 1083, 367, + 368, 6, 424, 1085, 341, 350, 621, 622, 940, 203, + 621, 622, 507, 41, 204, 354, 287, 1093, 539, 205, + 365, 539, 369, 627, 445, 628, 535, 1097, 445, 445, + 445, 445, 445, 195, 196, 667, 883, 360, 559, 361, + 362, 363, 847, 370, 569, 371, 140, 141, 142, 143, + 502, 160, 372, 373, 329, 625, 1, 2, 3, 374, + 954, 538, 539, 398, 503, 640, 641, 642, 375, 504, + 376, 676, 6, 377, 505, 6, 535, 378, 50, 384, + 424, 1055, 507, 379, 686, 999, 685, 381, 382, 507, + 507, 507, 507, 507, 507, 669, 383, 385, 386, 625, + 399, 452, 402, 407, 261, 133, 895, 261, 510, 535, + 408, 409, 131, 410, 447, 470, 261, -268, 469, 471, + 473, 474, 483, 61, 507, 484, 487, 488, 489, 631, + 63, 495, 496, 625, 557, 563, 445, 562, 540, 547, + 564, 571, 554, 397, 648, 539, 1015, 538, 649, 652, + 654, 265, 544, 169, 569, 659, 492, 236, 494, 677, + 681, 849, 674, 850, 1025, 538, 680, 852, 860, 688, + 875, 876, 289, 290, 291, 292, 293, 294, 295, 296, + 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, + 307, 308, 309, 718, 312, 195, 196, 853, 314, 854, + 863, 877, 878, 667, 982, 671, 899, 904, 879, 909, + 881, 397, 261, 907, 856, 1062, 538, 635, 635, 635, + 360, 941, 361, 619, 620, 943, 947, 946, 901, 949, + 900, 950, 955, 903, 951, 958, 905, 906, 621, 622, + 50, 961, 669, 535, 962, 963, 342, 964, 507, 965, + 966, 176, 177, 178, 179, 180, 397, 181, 182, 183, + 625, 996, 995, 1081, 538, 507, 998, 938, 7, 8, + 9, 10, 1001, 11, 12, 13, 535, 911, 1003, 1004, + 625, 1012, 1021, 1022, 1016, 61, 1020, 1023, 1024, 1065, + 1030, 631, 63, 1057, 1056, 632, 1067, 387, 388, 1058, + 452, 1059, 987, 988, 989, 990, 991, 911, 992, 993, + 994, 884, 539, 1063, 1068, 1070, 1069, 1071, 1072, 1082, + 1084, 1091, 1086, 1098, 1087, 846, 334, 885, 895, 895, + 895, 895, 1092, 895, 396, 22, 1094, 956, 1014, 1054, + 997, 657, 493, 195, 196, 658, 633, 633, 633, 167, + 168, 345, 27, 880, 678, 644, 845, 948, 452, 169, + 0, 886, 0, 0, 887, 434, 0, 0, 32, 0, + 865, 635, 867, 0, 456, 635, 0, 635, 0, 635, + 635, 635, 0, 0, 1002, 0, 0, 0, 50, 132, + 0, 888, 195, 196, 0, 889, 890, 0, 0, 891, + 472, 892, 0, 0, 0, 893, 0, 0, 0, 0, + 559, 535, 0, 0, 895, 895, 895, 895, 895, 895, + 895, 895, 895, 895, 895, 895, 895, 895, 895, 895, + 895, 895, 895, 61, 0, 0, 0, 50, 0, 631, + 63, 0, 0, 636, 0, 0, 972, 539, 971, 0, + 0, 0, 911, 0, 0, 0, 0, 176, 177, 178, + 179, 180, 0, 181, 182, 183, 568, 0, 0, 0, + 895, 163, 164, 165, 166, 167, 168, 0, 0, 0, + 0, 0, 61, 0, 0, 169, 0, 630, 631, 63, + 507, 625, 638, 265, 0, 0, 0, 535, 0, 0, + 633, 0, 0, 0, 633, 0, 633, 0, 633, 633, + 633, 0, 0, 0, 895, 535, 0, 0, 0, 1026, + 1027, 1028, 1029, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 539, 0, 0, 911, 0, 682, 683, + 684, 569, 687, 0, 0, 0, 0, 1052, 0, 0, + 0, 539, 161, 162, 163, 164, 165, 166, 167, 168, + 0, 0, 0, 0, 0, 396, 535, 0, 169, 0, + 0, 0, 0, 0, 0, 0, 568, 0, 171, 172, + 173, 174, 175, 176, 177, 178, 179, 180, 625, 181, + 182, 183, 0, 0, 0, 0, 967, 968, 969, 970, + 0, 973, 539, 0, 0, 911, 0, 0, 0, 911, + 1077, 0, 1078, 0, 535, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 594, 0, 0, 595, 0, 596, 597, - 598, 599, 600, 601, 602, 603, 604, 605, 606, 0, - 607, 608, 0, 0, 609, 0, 1069, 0, 0, 0, + 0, 857, 0, 396, 0, 0, 0, 0, 0, 0, + 1095, 1096, 161, 162, 163, 164, 165, 166, 167, 168, + 539, 0, 911, 0, 0, 0, 413, 911, 169, 0, + 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, + 180, 911, 181, 182, 183, 414, 0, 0, 396, 0, + 0, 911, 1032, 1033, 1034, 1035, 1036, 1037, 1038, 1039, + 1040, 1041, 1042, 1043, 1044, 1045, 1046, 1047, 1048, 1049, + 1050, 0, 0, 916, 917, 918, 919, 920, 921, 922, + 923, 924, 925, 926, 927, 928, 929, 930, 931, 932, + 933, 934, 935, 936, 0, 939, 511, 512, 513, 10, + 0, 11, 514, 515, 44, 0, 0, 516, 1073, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 722, 723, 724, 725, 726, 727, 728, - 729, 730, 731, 0, 732, 733, 734, 735, 736, 737, - 738, 739, 740, 741, 742, 0, 0, 0, 0, 0, - 1084, 743, 744, 745, 746, 747, 748, 749, 750, 751, - 752, 753, 754, 755, 756, 757, 758, 759, 0, 0, - 760, 761, 762, 763, 764, 765, 766, 767, 768, 769, - 770, 771, 772, 773, 0, 774, 0, 775, 776, 777, - 778, 779, 780, 781, 782, 783, 784, 785, 786, 0, - 0, 0, 0, 787, 788, 789, 0, 790, 791, 792, - 793, 794, 795, 796, 797, 798, 799, 800, 801, 802, - 803, 0, 804, 805, 806, 807, 808, 809, 810, 811, - 812, 813, 814, 815, 816, 0, 0, 0, 817, 818, - 819, 820, 821, 822, 823, 824, 825, 826, 827, 828, - 829, 830, 831, 832, 833, 834, 835, 836, 837, 1014, - 838, 839, 722, 723, 724, 725, 726, 727, 728, 729, - 730, 731, 0, 732, 733, 734, 735, 736, 737, 738, - 739, 740, 741, 742, 0, 0, 0, 0, 0, 0, - 743, 744, 745, 746, 747, 748, 749, 750, 751, 752, - 753, 754, 755, 756, 757, 758, 759, 0, 0, 760, - 761, 762, 763, 764, 765, 766, 767, 768, 769, 770, - 771, 772, 773, 0, 774, 0, 775, 776, 777, 778, - 779, 780, 781, 782, 783, 784, 785, 786, 0, 0, - 0, 0, 787, 788, 789, 0, 790, 791, 792, 793, - 794, 795, 796, 797, 798, 799, 800, 801, 802, 803, - 0, 804, 805, 806, 807, 808, 809, 810, 811, 812, - 813, 814, 815, 816, 0, 0, 0, 817, 818, 819, - 820, 821, 822, 823, 824, 825, 826, 827, 828, 829, - 830, 831, 832, 833, 834, 835, 836, 837, 0, 838, - 839, 509, 510, 511, 10, 0, 11, 512, 513, 44, - 0, 0, 514, 0, 0, 0, 0, 0, 0, 0, + 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, + 180, 0, 181, 182, 183, 0, 0, 0, 391, 517, + 45, 0, 0, 46, 0, 47, 48, 49, 50, 518, + 0, 52, 1088, 0, 53, 519, 0, 0, 54, 0, + 0, 0, 0, 520, 55, 0, 0, 0, 1080, 0, + 56, 57, 58, 0, 0, 0, 0, 0, 521, 0, + 522, 0, 0, 0, 0, 523, 0, 59, 60, 524, + 0, 0, 525, 61, 0, 0, 526, 0, 0, 62, + 63, 64, 0, 0, 65, 0, 66, 511, 512, 513, + 10, 0, 11, 514, 515, 44, 0, 0, 912, 527, + 0, 0, 0, 528, 0, 0, 0, 529, 0, 530, + 0, 953, 0, 531, 0, 0, 0, 161, 162, 163, + 164, 165, 166, 167, 168, 0, 0, 0, 0, 0, + 517, 45, 0, 169, 46, 0, 47, 48, 49, 50, + 518, 0, 52, 0, 0, 53, 519, 0, 0, 54, + 0, 0, 0, 0, 520, 55, 0, 0, 0, 0, + 0, 56, 57, 58, 0, 0, 0, 0, 1005, 521, + 0, 522, 0, 0, 0, 1008, 523, 0, 59, 60, + 524, 0, 0, 525, 61, 0, 0, 526, 0, 0, + 62, 63, 64, 0, 0, 65, 0, 66, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 527, 0, 0, 568, 528, 0, 0, 0, 529, 0, + 530, 0, 0, 0, 531, 170, 171, 172, 173, 174, + 175, 176, 177, 178, 179, 180, 0, 181, 182, 183, + 0, 0, 0, 1011, 0, 726, 727, 728, 729, 730, + 731, 732, 733, 734, 735, 1053, 736, 737, 738, 739, + 740, 741, 742, 743, 744, 745, 746, 0, 0, 0, + 1060, 0, 0, 747, 748, 749, 750, 751, 752, 753, + 754, 755, 756, 757, 758, 759, 760, 761, 762, 763, + 0, 0, 764, 765, 766, 767, 768, 769, 770, 771, + 772, 773, 774, 775, 776, 777, 0, 778, 0, 779, + 780, 781, 782, 783, 784, 785, 786, 787, 788, 789, + 790, 0, 0, 0, 0, 791, 792, 793, 0, 794, + 795, 796, 797, 798, 799, 800, 801, 802, 803, 804, + 805, 806, 807, 0, 808, 809, 810, 811, 812, 813, + 814, 815, 816, 817, 818, 819, 820, 0, 0, 0, + 821, 822, 823, 824, 825, 826, 827, 828, 829, 830, + 831, 832, 833, 834, 835, 836, 837, 838, 839, 840, + 841, 1018, 842, 843, 726, 727, 728, 729, 730, 731, + 732, 733, 734, 735, 0, 736, 737, 738, 739, 740, + 741, 742, 743, 744, 745, 746, 0, 0, 0, 0, + 0, 0, 747, 748, 749, 750, 751, 752, 753, 754, + 755, 756, 757, 758, 759, 760, 761, 762, 763, 0, + 0, 764, 765, 766, 767, 768, 769, 770, 771, 772, + 773, 774, 775, 776, 777, 0, 778, 0, 779, 780, + 781, 782, 783, 784, 785, 786, 787, 788, 789, 790, + 0, 0, 0, 0, 791, 792, 793, 0, 794, 795, + 796, 797, 798, 799, 800, 801, 802, 803, 804, 805, + 806, 807, 0, 808, 809, 810, 811, 812, 813, 814, + 815, 816, 817, 818, 819, 820, 0, 0, 0, 821, + 822, 823, 824, 825, 826, 827, 828, 829, 830, 831, + 832, 833, 834, 835, 836, 837, 838, 839, 840, 841, + 0, 842, 843, 7, 8, 9, 10, 0, 11, 12, + 13, 144, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 161, 162, 163, 164, 165, 166, 167, 168, 0, - 0, 0, 0, 0, 515, 45, 0, 169, 46, 0, - 47, 48, 49, 50, 516, 1076, 52, 0, 0, 53, - 517, 0, 0, 54, 0, 0, 0, 0, 518, 55, - 0, 0, 0, 0, 0, 56, 57, 58, 0, 0, - 0, 0, 0, 519, 0, 520, 0, 0, 0, 0, - 521, 0, 59, 60, 522, 0, 0, 523, 61, 0, - 0, 524, 0, 0, 62, 63, 64, 0, 0, 65, - 0, 66, 509, 510, 511, 10, 0, 11, 512, 513, - 44, 0, 0, 908, 525, 0, 0, 0, 526, 0, - 0, 0, 527, 0, 528, 0, 0, 0, 529, 170, - 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, - 0, 181, 182, 183, 0, 515, 45, 391, 0, 46, - 0, 47, 48, 49, 50, 516, 0, 52, 0, 0, - 53, 517, 0, 0, 54, 0, 0, 0, 0, 518, - 55, 0, 0, 0, 0, 0, 56, 57, 58, 0, - 0, 0, 0, 0, 519, 0, 520, 0, 0, 0, - 0, 521, 0, 59, 60, 522, 0, 0, 523, 61, - 0, 0, 524, 0, 0, 62, 63, 64, 0, 0, - 65, 0, 66, 7, 8, 9, 10, 0, 11, 12, - 13, 144, 0, 0, 0, 525, 0, 0, 0, 526, - 0, 0, 0, 527, 0, 528, 0, 0, 0, 529, 0, 0, 0, 161, 162, 163, 164, 165, 166, 167, 168, 0, 0, 0, 0, 0, 15, 45, 0, 169, 145, 0, 146, 147, 148, 50, 51, 0, 52, 0, @@ -1853,42 +1852,42 @@ static const yytype_int16 yytable[] = 0, 0, 0, 0, 0, 26, 0, 27, 0, 0, 0, 0, 0, 0, 153, 154, 30, 0, 0, 31, 61, 0, 0, 32, 0, 0, 62, 63, 155, 0, - 0, 65, 0, 156, 509, 510, 511, 10, 0, 11, - 512, 513, 44, 0, 0, 0, 35, 0, 0, 0, + 0, 65, 0, 156, 511, 512, 513, 10, 0, 11, + 514, 515, 44, 0, 0, 0, 35, 0, 0, 0, 36, 37, 0, 0, 38, 0, 39, 0, 0, 0, 40, 170, 171, 172, 173, 174, 175, 176, 177, 178, - 179, 180, 0, 181, 182, 183, 0, 515, 45, 1007, - 0, 46, 0, 47, 48, 49, 50, 516, 0, 52, - 0, 0, 53, 517, 0, 0, 54, 0, 0, 0, - 0, 518, 55, 0, 0, 0, 0, 0, 56, 57, - 58, 0, 0, 0, 0, 0, 519, 0, 520, 0, - 0, 0, 0, 521, 0, 59, 60, 522, 0, 0, - 523, 61, 0, 0, 524, 0, 0, 62, 63, 64, + 179, 180, 0, 181, 182, 183, 0, 517, 45, 1076, + 0, 46, 0, 47, 48, 49, 50, 518, 0, 52, + 0, 0, 53, 519, 0, 0, 54, 0, 0, 0, + 0, 520, 55, 0, 0, 0, 0, 0, 56, 57, + 58, 0, 0, 0, 0, 0, 521, 0, 522, 0, + 0, 0, 0, 523, 0, 59, 60, 524, 0, 0, + 525, 61, 0, 0, 526, 0, 0, 62, 63, 64, 0, 0, 65, 0, 66, 7, 8, 9, 10, 0, - 11, 12, 13, 14, 0, 0, 0, 525, 0, 0, - 0, 526, 0, 0, 0, 527, 0, 528, 0, 0, - 0, 529, 972, 973, 974, 975, 976, 977, 0, 0, - 0, 46, 0, 47, 48, 49, 978, 0, 15, 0, + 11, 12, 13, 14, 0, 0, 0, 527, 0, 0, + 0, 528, 0, 0, 0, 529, 0, 530, 0, 0, + 0, 531, 976, 977, 978, 979, 980, 981, 0, 0, + 0, 46, 0, 47, 48, 49, 982, 0, 15, 0, 0, 0, 16, 0, 17, 18, 19, 0, 0, 0, - 0, 0, 0, 20, 21, 0, 0, 0, 56, 192, + 0, 453, 454, 20, 21, 0, 0, 0, 56, 192, 58, 0, 22, 23, 0, 0, 0, 0, 0, 24, 25, 0, 0, 0, 0, 59, 60, 26, 0, 27, 0, 0, 0, 0, 0, 0, 28, 29, 30, 64, 0, 31, 0, 0, 66, 32, 7, 8, 9, 10, - 33, 11, 12, 13, 14, 34, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 134, 35, 0, - 0, 0, 36, 37, 0, 0, 38, 0, 39, 0, - 310, 982, 40, 0, 983, 984, 985, 986, 987, 15, - 988, 989, 990, 16, 0, 17, 18, 19, 0, 0, + 33, 11, 12, 13, 14, 34, 980, 981, 0, 0, + 455, 0, 0, 0, 0, 0, 982, 134, 35, 0, + 0, 0, 36, 37, 0, 0, 38, 0, 39, 984, + 985, 986, 40, 0, 987, 988, 989, 990, 991, 15, + 992, 993, 994, 16, 0, 17, 18, 19, 0, 0, 0, 0, 0, 0, 20, 21, 0, 0, 0, 0, 0, 0, 0, 22, 23, 0, 0, 0, 0, 0, 24, 25, 0, 0, 0, 0, 0, 0, 26, 0, 27, 0, 0, 0, 0, 0, 0, 28, 29, 30, 0, 0, 31, 0, 0, 0, 32, 7, 8, 9, 10, 33, 11, 12, 13, 14, 34, 0, 0, 0, - 0, 453, 0, 0, 0, 0, 0, 0, 0, 35, - 0, 0, 0, 36, 37, 0, 0, 38, 0, 39, - 0, 0, 0, 40, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 987, 988, 989, 990, 991, 35, + 992, 993, 994, 36, 37, 0, 0, 38, 0, 39, + 0, 310, 0, 40, 0, 0, 0, 0, 0, 0, 15, 0, 0, 0, 16, 0, 17, 18, 19, 0, 0, 0, 0, 0, 0, 20, 21, 0, 0, 0, 0, 0, 0, 0, 22, 23, 0, 0, 0, 0, @@ -1896,7 +1895,7 @@ static const yytype_int16 yytable[] = 0, 27, 0, 0, 0, 0, 0, 0, 28, 29, 30, 0, 0, 31, 0, 0, 0, 32, 7, 8, 9, 10, 33, 11, 12, 13, 14, 34, 0, 0, - 0, 0, 561, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 565, 0, 0, 0, 0, 0, 0, 0, 35, 0, 0, 0, 36, 37, 0, 0, 38, 0, 39, 0, 0, 0, 40, 0, 0, 0, 0, 0, 0, 15, 0, 0, 0, 16, 0, 17, 18, 19, @@ -1908,7 +1907,7 @@ static const yytype_int16 yytable[] = 8, 9, 10, 33, 11, 12, 13, 14, 34, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 35, 0, 0, 0, 36, 37, 0, 0, 38, - 0, 39, 0, 933, 0, 40, 0, 0, 0, 0, + 0, 39, 0, 937, 0, 40, 0, 0, 0, 0, 0, 0, 15, 0, 0, 0, 16, 0, 17, 18, 19, 0, 0, 0, 0, 0, 0, 20, 21, 0, 0, 0, 0, 0, 0, 0, 22, 23, 0, 0, @@ -1916,7 +1915,7 @@ static const yytype_int16 yytable[] = 0, 26, 0, 27, 0, 0, 0, 0, 0, 0, 28, 29, 30, 0, 0, 31, 0, 0, 0, 32, 7, 8, 9, 10, 33, 11, 12, 13, 14, 34, - 0, 0, 0, 0, 948, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 952, 0, 0, 0, 0, 0, 0, 0, 35, 0, 0, 0, 36, 37, 0, 0, 38, 0, 39, 0, 0, 0, 40, 0, 0, 0, 0, 0, 0, 15, 0, 0, 0, 16, 0, 17, @@ -1926,155 +1925,149 @@ static const yytype_int16 yytable[] = 0, 0, 26, 0, 27, 0, 0, 0, 0, 0, 0, 28, 29, 30, 0, 0, 31, 0, 0, 0, 32, 7, 8, 9, 10, 33, 11, 12, 13, 14, - 34, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 34, 0, 217, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 35, 0, 0, 0, 36, 37, 0, - 0, 38, 0, 39, 0, 1047, 0, 40, 0, 81, - 0, 0, 0, 0, 15, 0, 0, 82, 16, 0, - 17, 18, 19, 0, 0, 0, 84, 85, 86, 20, - 21, 0, 81, 0, 0, 0, 213, 0, 22, 23, - 82, 0, 0, 93, 222, 24, 25, 0, -2, 84, - 85, 86, 98, 26, 0, 27, 0, 99, 0, 213, - 0, 0, 28, 29, 30, 0, 93, 31, 0, 0, - 104, 32, 105, 0, 0, 98, 33, 0, 0, 0, - 99, 34, 0, 0, 161, 162, 163, 164, 165, 166, - 167, 168, 0, 104, 35, 105, 80, 81, 36, 37, - 169, 0, 38, 0, 39, 82, 0, 0, 40, 0, - -129, 0, 83, 0, 84, 85, 86, 87, 0, 0, - 88, 0, 0, 0, 89, 0, 0, 0, 90, 91, - 92, 93, 94, 0, 0, 0, 0, 95, 96, 97, - 98, 0, 0, 0, 0, 99, 100, 0, 0, 101, - 0, 0, 0, 102, 0, 0, 0, 103, 104, 0, - 105, 0, 0, 0, 0, 0, 0, 0, 106, 0, - 0, 245, 246, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 170, 171, 172, 173, 174, 175, 176, 177, - 178, 179, 180, 0, 181, 182, 183, 0, 247, 0, - 1072, 46, 0, 47, 48, 49, 50, 248, 0, 249, - 0, 0, 53, 0, 0, 0, 54, 0, 0, 0, - 0, 0, 55, 0, 0, 0, 0, 0, 56, 57, - 58, 245, 246, 0, 0, 0, 0, 0, 0, 250, - 0, 0, 0, 0, 0, 59, 60, 0, 0, 0, - 0, 61, 0, 0, 0, 0, 0, 251, 63, 64, - 0, 0, 65, 0, 66, 0, 0, 0, 247, 252, - 0, 46, 0, 47, 48, 49, 50, 248, 0, 249, - 0, 0, 53, 0, 0, 253, 54, 0, 0, 0, - 0, 0, 55, 245, 246, 0, 0, 0, 56, 57, - 58, 0, 0, 0, 0, 0, 0, 0, 0, 250, - 0, 0, 0, 0, 0, 59, 60, 0, 0, 0, - 0, 61, 0, 0, 0, 0, 0, 251, 63, 64, - 247, 0, 65, 46, 66, 47, 48, 49, 50, 344, - 0, 249, 0, 0, 53, 0, 0, 0, 54, 0, - 0, 0, 0, 0, 55, 253, 0, 0, 0, 0, - 56, 57, 58, 161, 162, 163, 164, 165, 166, 167, - 168, 250, 0, 0, 0, 0, 0, 59, 60, 169, - 0, 0, 0, 61, 0, 0, 0, 0, 0, 251, - 63, 64, 0, 0, 65, 0, 66, 161, 162, 163, - 164, 165, 166, 167, 168, 0, 0, 0, 0, 0, - 0, 0, 0, 169, 0, 0, 0, 253, 161, 162, - 163, 164, 165, 166, 167, 168, 0, 0, 0, 0, - 0, 0, 0, 0, 169, 0, 161, 162, 163, 164, - 165, 166, 167, 168, 0, 0, 0, 0, 0, 0, - 0, 0, 169, 0, 161, 162, 163, 164, 165, 166, - 167, 168, 0, 0, 0, 0, 0, 413, 0, 0, - 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, - 179, 180, 0, 181, 182, 183, 414, 161, 162, 163, + 0, 38, 0, 39, 0, 1051, 0, 40, 0, 0, + 0, 0, 0, 0, 15, 0, 0, 0, 16, 0, + 17, 18, 19, 0, 0, 81, 0, 0, 0, 20, + 21, 0, 0, 82, 0, 0, 0, 0, 22, 23, + 0, 0, 84, 85, 86, 24, 25, 0, 0, 0, + 0, 0, 213, 26, 0, 27, 0, 0, 0, 93, + 0, 0, 28, 29, 30, 0, 0, 31, 98, 0, + 0, 32, 0, 99, 0, 0, 33, 0, 0, 0, + 0, 34, 0, 0, 0, 0, 104, 0, 105, 0, + 0, 0, -2, 0, 35, 0, 0, 0, 36, 37, + 574, 0, 38, 0, 39, 0, 0, 0, 40, 575, + 576, 577, 578, 579, 580, 581, 582, 0, 0, 0, + 0, 0, 0, 0, 0, 583, 0, 584, 585, 586, + 587, 588, 589, 590, 591, 592, 593, 594, 595, 0, + 80, 81, 0, 0, 0, 0, 0, 0, 0, 82, + 0, 0, 0, 0, 596, 0, 83, 0, 84, 85, + 86, 87, 0, 0, 88, 0, 0, 0, 89, 0, + 0, 0, 90, 91, 92, 93, 94, 0, 0, 597, + 0, 95, 96, 97, 98, 0, 0, 0, 0, 99, + 100, 0, 0, 101, 0, 245, 246, 102, 0, 0, + 0, 103, 104, 0, 105, 0, 0, 0, 0, 0, + 0, 0, 106, 598, 0, 0, 599, 0, 600, 601, + 602, 603, 604, 605, 606, 607, 608, 609, 610, 0, + 611, 612, 247, 0, 613, 46, 0, 47, 48, 49, + 50, 248, 0, 249, 0, 0, 53, 0, 0, 0, + 54, 0, 0, 0, 0, 0, 55, 0, 0, 0, + 0, 0, 56, 57, 58, 245, 246, 0, 0, 0, + 0, 0, 0, 250, 0, 0, 0, 0, 0, 59, + 60, 0, 0, 0, 0, 61, 0, 0, 0, 0, + 0, 251, 63, 64, 0, 0, 65, 0, 66, 0, + 0, 0, 247, 252, 0, 46, 0, 47, 48, 49, + 50, 248, 0, 249, 0, 0, 53, 0, 0, 253, + 54, 0, 0, 0, 0, 0, 55, 245, 246, 0, + 0, 0, 56, 57, 58, 0, 0, 0, 0, 0, + 0, 0, 0, 250, 0, 0, 0, 0, 0, 59, + 60, 0, 0, 0, 0, 61, 0, 0, 0, 0, + 0, 251, 63, 64, 247, 0, 65, 46, 66, 47, + 48, 49, 50, 344, 0, 249, 0, 0, 53, 0, + 0, 0, 54, 0, 0, 0, 0, 0, 55, 253, + 0, 0, 0, 0, 56, 57, 58, 161, 162, 163, + 164, 165, 166, 167, 168, 250, 0, 0, 0, 0, + 0, 59, 60, 169, 0, 0, 0, 61, 0, 0, + 0, 0, 0, 251, 63, 64, 0, 0, 65, 0, + 66, 161, 162, 163, 164, 165, 166, 167, 168, 0, + 0, 0, 0, 0, 0, 0, 0, 169, 0, 0, + 0, 253, 161, 162, 163, 164, 165, 166, 167, 168, + 0, 0, 0, 0, 0, 0, 0, 0, 169, 0, + 161, 162, 163, 164, 165, 166, 167, 168, 0, 0, + 0, 0, 0, 0, 0, 0, 169, 161, 162, 163, 164, 165, 166, 167, 168, 0, 0, 0, 0, 0, 0, 0, 0, 169, 0, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 0, 181, 182, 183, - 392, 0, 0, 0, 0, 0, 170, 171, 172, 173, - 174, 175, 176, 177, 178, 179, 180, 0, 181, 182, - 183, 543, 389, 0, 170, 171, 172, 173, 174, 175, - 176, 177, 178, 179, 180, 0, 181, 182, 183, 566, - 0, 0, 170, 171, 172, 173, 174, 175, 176, 177, - 178, 179, 180, 0, 181, 182, 183, 161, 162, 163, - 164, 165, 166, 167, 168, 0, 0, 0, 0, 0, - 0, 860, 0, 169, 0, 170, 171, 172, 173, 174, + 392, 161, 162, 163, 164, 165, 166, 167, 168, 0, + 0, 0, 0, 0, 0, 0, 0, 169, 0, 170, + 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, + 0, 181, 182, 183, 545, 0, 0, 0, 389, 0, + 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, + 180, 0, 181, 182, 183, 570, 0, 0, 170, 171, + 172, 173, 174, 175, 176, 177, 178, 179, 180, 0, + 181, 182, 183, 1009, 0, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 0, 181, 182, 183, 161, 162, 163, 164, 165, 166, 167, 168, 0, 0, - 0, 0, 0, 0, 0, 0, 169, 688, 689, 690, - 691, 692, 693, 694, 695, 0, 0, 0, 0, 0, - 0, 0, 0, 696, 970, 971, 972, 973, 974, 975, - 976, 977, 0, 0, 0, 0, 0, 0, 0, 0, - 978, 970, 971, 972, 973, 974, 975, 976, 977, 0, - 0, 0, 0, 0, 0, 0, 0, 978, 0, 0, - 0, 0, 0, 1005, 0, 170, 171, 172, 173, 174, - 175, 176, 177, 178, 179, 180, 0, 181, 182, 183, - 162, 163, 164, 165, 166, 167, 168, 0, 0, 0, - 0, 0, 0, 0, 0, 169, 0, 0, 170, 171, + 0, 0, 0, 0, 0, 864, 169, 0, 0, 170, + 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, + 0, 181, 182, 183, 692, 693, 694, 695, 696, 697, + 698, 699, 0, 0, 0, 0, 0, 0, 0, 0, + 700, 974, 975, 976, 977, 978, 979, 980, 981, 0, + 0, 0, 0, 0, 0, 0, 0, 982, 974, 975, + 976, 977, 978, 979, 980, 981, 0, 0, 0, 0, + 0, 0, 0, 0, 982, 162, 163, 164, 165, 166, + 167, 168, 0, 0, 0, 0, 0, 0, 0, 0, + 169, 0, 0, 0, 0, 0, 0, 0, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 0, - 181, 182, 183, 0, 0, 697, 698, 699, 700, 701, - 702, 703, 704, 705, 706, 707, 0, 708, 709, 710, - 1070, 0, 979, 980, 981, 982, 0, 0, 983, 984, - 985, 986, 987, 0, 988, 989, 990, 0, 0, 979, - 980, 981, 982, 0, 0, 983, 984, 985, 986, 987, - 0, 988, 989, 990, 163, 164, 165, 166, 167, 168, - 0, 0, 0, 0, 0, 0, 0, 0, 169, 0, - 0, 46, 0, 47, 48, 49, 0, 0, 171, 172, - 173, 174, 175, 176, 177, 178, 179, 180, 0, 181, - 182, 183, 163, 164, 165, 166, 167, 168, 56, 192, - 58, 0, 0, 0, 0, 0, 169, 163, 164, 165, - 166, 167, 168, 0, 0, 59, 60, 0, 0, 0, - 0, 169, 972, 973, 974, 975, 976, 977, 0, 64, - 0, 0, 0, 0, 66, 0, 978, 163, 164, 165, + 181, 182, 183, 975, 976, 977, 978, 979, 980, 981, + 0, 0, 0, 0, 0, 0, 0, 0, 982, 0, + 0, 0, 701, 702, 703, 704, 705, 706, 707, 708, + 709, 710, 711, 0, 712, 713, 714, 1074, 0, 983, + 984, 985, 986, 0, 0, 987, 988, 989, 990, 991, + 0, 992, 993, 994, 0, 0, 983, 984, 985, 986, + 0, 0, 987, 988, 989, 990, 991, 0, 992, 993, + 994, 0, 0, 171, 172, 173, 174, 175, 176, 177, + 178, 179, 180, 0, 181, 182, 183, 163, 164, 165, 166, 167, 168, 0, 0, 0, 0, 0, 0, 0, - 0, 169, 0, 0, 0, 0, 0, 135, 0, 0, - 0, 171, 172, 173, 174, 175, 176, 177, 178, 179, - 180, 0, 181, 182, 183, 972, 973, 974, 975, 976, - 977, 0, 0, 0, 0, 0, 0, 0, 0, 978, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 172, 173, 174, 175, 176, 177, 178, 179, 180, 0, - 181, 182, 183, 0, 0, 0, 173, 174, 175, 176, - 177, 178, 179, 180, 0, 181, 182, 183, 0, 980, - 981, 982, 0, 0, 983, 984, 985, 986, 987, 0, - 988, 989, 990, 0, 0, 0, 0, 174, 175, 176, - 177, 178, 179, 180, 0, 181, 182, 183, 972, 973, - 974, 975, 976, 977, 0, 0, 0, 0, 0, 0, - 0, 0, 978, 165, 166, 167, 168, 0, 0, 0, - 0, 0, 0, 981, 982, 169, 0, 983, 984, 985, - 986, 987, 0, 988, 989, 990, 974, 975, 976, 977, - 0, 0, 0, 80, 81, 0, 0, 0, 978, 0, - 0, 0, 82, 0, 0, 0, 0, 0, 0, 83, - 0, 84, 85, 86, 87, 0, 0, 88, 0, 0, - 0, 89, 0, 0, 0, 90, 91, 92, 93, 94, - 0, 0, 0, 0, 95, 96, 97, 98, 0, 0, - 0, 0, 99, 100, 0, 0, 101, 0, 0, 0, - 102, 0, 0, 0, 103, 104, 0, 105, 0, 0, - 983, 984, 985, 986, 987, 106, 988, 989, 990, 351, - 352, 174, 175, 176, 177, 178, 179, 180, 0, 181, - 182, 183, 0, 0, 411, 0, 0, 0, 0, 415, - 416, 0, 0, 0, 0, 0, 983, 984, 985, 986, - 987, 0, 988, 989, 990, 0, 247, 0, 0, 46, - 0, 47, 48, 49, 50, 0, 0, 249, 0, 46, - 53, 47, 48, 49, 54, 0, 0, 0, 0, 46, + 0, 169, 0, 0, 46, 0, 47, 48, 49, 0, + 0, 984, 985, 986, 0, 0, 987, 988, 989, 990, + 991, 0, 992, 993, 994, 163, 164, 165, 166, 167, + 168, 56, 192, 58, 0, 0, 0, 0, 0, 169, + 163, 164, 165, 166, 167, 168, 0, 0, 59, 60, + 0, 0, 0, 0, 169, 976, 977, 978, 979, 980, + 981, 0, 64, 0, 0, 0, 0, 66, 0, 982, + 976, 977, 978, 979, 980, 981, 0, 0, 0, 0, + 0, 0, 0, 0, 982, 0, 0, 0, 0, 0, + 135, 0, 0, 0, 0, 172, 173, 174, 175, 176, + 177, 178, 179, 180, 0, 181, 182, 183, 976, 977, + 978, 979, 980, 981, 0, 0, 0, 0, 0, 0, + 0, 0, 982, 0, 0, 0, 0, 0, 0, 0, + 165, 166, 167, 168, 173, 174, 175, 176, 177, 178, + 179, 180, 169, 181, 182, 183, 0, 0, 0, 0, + 174, 175, 176, 177, 178, 179, 180, 0, 181, 182, + 183, 0, 0, 985, 986, 0, 0, 987, 988, 989, + 990, 991, 0, 992, 993, 994, 0, 0, 0, 986, + 0, 0, 987, 988, 989, 990, 991, 0, 992, 993, + 994, 978, 979, 980, 981, 0, 0, 0, 0, 0, + 0, 0, 0, 982, 0, 0, 0, 46, 0, 47, + 48, 49, 0, 0, 0, 0, 0, 0, 0, 0, + 987, 988, 989, 990, 991, 0, 992, 993, 994, 351, + 352, 0, 0, 0, 56, 192, 58, 0, 174, 175, + 176, 177, 178, 179, 180, 0, 181, 182, 183, 415, + 416, 59, 60, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 64, 247, 0, 0, 46, + 66, 47, 48, 49, 50, 0, 0, 249, 0, 0, + 53, 0, 0, 0, 54, 0, 0, 0, 0, 46, 55, 47, 48, 49, 417, 418, 56, 57, 58, 0, - 53, 0, 0, 0, 0, 0, 56, 192, 58, 0, + 53, 987, 988, 989, 990, 991, 0, 992, 993, 994, 55, 415, 416, 59, 60, 0, 56, 57, 58, 61, - 0, 0, 0, 59, 60, 251, 63, 64, 0, 0, - 65, 0, 66, 59, 60, 0, 0, 64, 0, 0, - 0, 0, 66, 0, 0, 419, 0, 64, 0, 0, + 0, 0, 0, 0, 0, 251, 63, 64, 0, 0, + 65, 0, 66, 59, 60, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 419, 0, 64, 0, 0, 65, 46, 66, 47, 48, 49, 0, 0, 0, 0, - 0, 44, 53, 0, 0, 138, 0, 0, 0, 0, + 0, 44, 53, 0, 0, 0, 0, 0, 0, 0, 0, 0, 55, 0, 0, 0, 0, 0, 56, 57, 58, 0, 0, 0, 0, 0, 0, 0, 0, 46, 0, 47, 48, 49, 0, 59, 60, 45, 0, 0, 46, 0, 47, 48, 49, 50, 51, 0, 52, 64, - 315, 53, 65, 0, 66, 54, 56, 192, 58, 0, + 0, 53, 65, 0, 66, 54, 56, 192, 58, 0, 0, 55, 0, 44, 0, 0, 0, 56, 57, 58, 0, 0, 0, 59, 60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 59, 60, 0, 64, 0, 0, 61, 46, 66, 47, 48, 49, 62, 63, 64, 45, 0, 65, 46, 66, 47, 48, 49, 50, 355, 0, - 52, 0, 0, 53, 0, 0, 0, 54, 56, 192, + 52, 0, 315, 53, 327, 138, 0, 54, 56, 192, 58, 0, 0, 55, 0, 44, 0, 0, 0, 56, 57, 58, 0, 0, 0, 59, 60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 59, 60, 0, 64, - 0, 0, 61, 0, 66, 0, 0, 0, 62, 63, + 0, 0, 61, 46, 66, 47, 48, 49, 62, 63, 64, 45, 0, 65, 46, 66, 47, 48, 49, 50, 0, 0, 52, 0, 0, 53, 0, 0, 0, 54, - 0, 0, 0, 0, 0, 55, 0, 44, 0, 0, - 0, 56, 57, 58, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 671, 128, 59, 60, - 0, 0, 0, 0, 61, 0, 0, 0, 0, 0, + 56, 192, 58, 0, 0, 55, 0, 44, 0, 0, + 0, 56, 57, 58, 0, 0, 0, 59, 60, 0, + 0, 0, 0, 0, 0, 0, 675, 128, 59, 60, + 0, 64, 0, 0, 61, 0, 66, 0, 0, 0, 62, 63, 64, 45, 0, 65, 46, 66, 47, 48, 49, 50, 0, 0, 52, 0, 0, 53, 0, 0, 0, 54, 0, 0, 0, 0, 46, 55, 47, 48, @@ -2091,239 +2084,246 @@ static const yytype_int16 yytable[] = 0, 0, 0, 103, 104, 0, 105, 80, 81, 0, 0, 0, 0, 0, 106, 0, 82, 0, 0, 0, 0, 0, 0, 83, 0, 84, 85, 86, 87, 0, - 0, 88, 0, 475, 0, 89, 0, 0, 0, 90, + 0, 88, 0, 411, 0, 89, 0, 0, 0, 90, 91, 92, 93, 94, 0, 0, 0, 0, 95, 96, 97, 98, 0, 0, 0, 0, 99, 100, 0, 0, 101, 0, 0, 0, 102, 0, 0, 0, 103, 104, 0, 105, 80, 81, 0, 0, 0, 0, 0, 106, 0, 82, 0, 0, 0, 0, 0, 0, 83, 0, - 84, 85, 86, 87, 0, 0, 88, 0, 483, 0, + 84, 85, 86, 87, 0, 0, 88, 0, 477, 0, 89, 0, 0, 0, 90, 91, 92, 93, 94, 0, 0, 0, 0, 95, 96, 97, 98, 0, 0, 0, 0, 99, 100, 0, 0, 101, 0, 0, 0, 102, 0, 0, 0, 103, 104, 0, 105, 80, 81, 0, 0, 0, 0, 0, 106, 0, 82, 0, 0, 0, 0, 0, 0, 83, 0, 84, 85, 86, 87, 0, - 0, 88, 0, 553, 0, 89, 0, 0, 0, 90, + 0, 88, 0, 485, 0, 89, 0, 0, 0, 90, 91, 92, 93, 94, 0, 0, 0, 0, 95, 96, 97, 98, 0, 0, 0, 0, 99, 100, 0, 0, 101, 0, 0, 0, 102, 0, 0, 0, 103, 104, 0, 105, 80, 81, 0, 0, 0, 0, 0, 106, 0, 82, 0, 0, 0, 0, 0, 0, 83, 0, - 84, 85, 86, 87, 0, 0, 88, 0, 646, 0, + 84, 85, 86, 87, 0, 0, 88, 0, 555, 0, 89, 0, 0, 0, 90, 91, 92, 93, 94, 0, 0, 0, 0, 95, 96, 97, 98, 0, 0, 0, 0, 99, 100, 0, 0, 101, 0, 0, 0, 102, 0, 0, 0, 103, 104, 0, 105, 80, 81, 0, 0, 0, 0, 0, 106, 0, 82, 0, 0, 0, 0, 0, 0, 83, 0, 84, 85, 86, 87, 0, - 0, 88, 0, 869, 0, 89, 0, 0, 0, 90, + 0, 88, 0, 650, 0, 89, 0, 0, 0, 90, 91, 92, 93, 94, 0, 0, 0, 0, 95, 96, - 97, 98, 0, 0, 0, 0, 99, 100, 0, 46, - 101, 47, 48, 49, 102, 0, 0, 0, 103, 104, - 188, 105, 0, 0, 0, 0, 0, 0, 0, 106, - 189, 0, 0, 0, 0, 0, 56, 190, 58, 0, - 0, 80, 81, 0, 0, 0, 0, 0, 870, 0, - 82, 0, 0, 59, 60, 0, 0, 83, 0, 84, - 85, 86, 87, 0, 0, 88, 0, 64, 0, 89, - 0, 0, 66, 90, 91, 92, 93, 94, 0, 0, - 0, 0, 95, 96, 97, 98, 0, 0, 0, 0, - 99, 100, 0, 0, 101, 127, 0, 46, 102, 47, - 48, 49, 103, 104, 81, 105, 0, 0, 188, 0, - 0, 0, 82, 0, 0, 0, 0, 0, 189, 0, - 0, 84, 85, 86, 56, 190, 58, 81, 0, 0, - 0, 213, 0, 0, 0, 82, 0, 0, 93, 0, - 0, 59, 60, 0, 84, 85, 86, 98, 0, 0, - 0, 0, 99, 0, 213, 64, 101, 0, 0, 0, - 66, 93, 0, 0, 0, 104, 0, 105, 0, 0, + 97, 98, 0, 0, 0, 0, 99, 100, 0, 0, + 101, 0, 0, 0, 102, 0, 0, 0, 103, 104, + 0, 105, 80, 81, 0, 0, 0, 0, 0, 106, + 0, 82, 0, 0, 0, 0, 0, 0, 83, 0, + 84, 85, 86, 87, 0, 0, 88, 0, 873, 0, + 89, 0, 0, 0, 90, 91, 92, 93, 94, 0, + 0, 0, 0, 95, 96, 97, 98, 0, 0, 0, + 0, 99, 100, 0, 46, 101, 47, 48, 49, 102, + 81, 0, 0, 103, 104, 188, 105, 0, 82, 0, + 0, 0, 0, 0, 106, 189, 0, 84, 85, 86, + 0, 56, 190, 58, 0, 0, 0, 213, 0, 0, + 0, 0, 0, 874, 93, 0, 0, 0, 59, 60, + 0, 0, 0, 98, 0, 0, 0, 0, 99, 80, + 81, 0, 64, 0, 0, 0, 0, 66, 82, 0, + 0, 104, 0, 105, 0, 83, 0, 84, 85, 86, + 87, 0, 0, 88, 0, 0, 0, 89, -129, 0, + 127, 90, 91, 92, 93, 94, 0, 0, 0, 0, + 95, 96, 97, 98, 0, 0, 0, 0, 99, 100, + 0, 46, 101, 47, 48, 49, 102, 81, 0, 0, + 103, 104, 188, 105, 0, 82, 0, 0, 0, 0, + 0, 0, 189, 0, 84, 85, 86, 0, 56, 190, + 58, 0, 0, 0, 213, 81, 0, 0, 0, 0, + 0, 93, 222, 82, 0, 59, 60, 0, 0, 0, + 98, 0, 84, 85, 86, 99, 0, 81, 0, 64, + 0, 0, 213, 0, 66, 82, 0, 0, 104, 93, + 105, 0, 0, 0, 84, 85, 86, 0, 98, 0, + 0, 0, 0, 99, 213, 0, 0, 101, 0, 0, + 0, 93, 0, 0, 0, 0, 104, 0, 105, 0, 98, 0, 0, 0, 0, 99, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 104, 0, 105 }; #define yypact_value_is_default(Yystate) \ - (!!((Yystate) == (-666))) + (!!((Yystate) == (-656))) #define yytable_value_is_error(Yytable_value) \ YYID (0) static const yytype_int16 yycheck[] = { - 1, 101, 2, 26, 561, 39, 51, 330, 432, 110, - 12, 26, 119, 110, 6, 110, 8, 521, 89, 90, - 91, 10, 11, 14, 10, 11, 119, 120, 121, 122, - 123, 138, 125, 126, 127, 35, 36, 37, 38, 110, - 40, 134, 135, 10, 11, 138, 139, 471, 86, 714, - 435, 10, 11, 122, 439, 440, 441, 442, 443, 508, - 57, 119, 59, 60, 102, 0, 67, 64, 137, 119, - 119, 477, 478, 345, 136, 119, 428, 10, 11, 431, - 138, 433, 10, 11, 186, 10, 11, 110, 138, 138, - 4, 110, 119, 542, 138, 110, 10, 11, 200, 201, - 202, 203, 204, 205, 456, 457, 136, 459, 460, 461, - 462, 138, 39, 6, 239, 8, 117, 84, 119, 120, - 121, 122, 123, 248, 125, 126, 127, 26, 119, 131, - 554, 413, 118, 134, 135, 236, 121, 138, 139, 236, - 552, 236, 239, 466, 239, 127, 138, 429, 182, 138, - 432, 248, 228, 248, 506, 152, 153, 154, 155, 118, - 545, 161, 162, 163, 164, 165, 166, 167, 168, 169, - 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, - 180, 181, 686, 183, 277, 186, 538, 187, 121, 471, - 118, 118, 464, 190, 859, 192, 136, 124, 31, 200, - 201, 202, 203, 204, 205, 250, 618, 208, 31, 136, - 137, 110, 209, 236, 316, 567, 239, 236, 667, 344, - 239, 236, 628, 119, 239, 248, 632, 228, 634, 248, - 636, 637, 638, 248, 119, 235, 508, 119, 687, 521, - 81, 82, 138, 84, 85, 86, 136, 344, 89, 344, - 136, 663, 93, 138, 119, 331, 138, 98, 99, 335, - 101, 102, 119, 104, 105, 118, 136, 120, 121, 122, - 542, 119, 554, 138, 119, 119, 277, 119, 943, 118, - 122, 138, 358, 136, 137, 136, 286, 287, 12, 136, - 138, 121, 16, 138, 138, 719, 122, 137, 138, 10, - 11, 12, 135, 136, 137, 16, 136, 137, 138, 136, - 355, 137, 135, 136, 137, 316, 118, 136, 120, 121, - 122, 344, 323, 323, 118, 344, 136, 121, 343, 344, - 331, 332, 56, 330, 335, 118, 412, 236, 121, 6, - 239, 8, 343, 136, 121, 56, 136, 1012, 127, 248, - 136, 1016, 136, 137, 354, 356, 31, 358, 491, 136, - 137, 138, 136, 363, 136, 498, 499, 500, 501, 502, - 503, 136, 213, 115, 116, 117, 217, 88, 118, 136, - 120, 121, 122, 136, 429, 118, 119, 432, 112, 389, - 121, 948, 121, 493, 1059, 667, 136, 136, 137, 1064, - 533, 112, 126, 418, 686, 481, 121, 131, 484, 136, - 137, 412, 136, 1078, 136, 126, 89, 90, 91, 136, - 131, 131, 423, 1088, 138, 136, 471, 10, 429, 137, - 854, 432, 121, 467, 435, 469, 10, 719, 439, 440, - 441, 442, 443, 137, 138, 344, 10, 118, 449, 898, - 127, 136, 453, 453, 129, 130, 131, 132, 133, 120, - 135, 136, 137, 464, 136, 119, 128, 560, 138, 466, - 471, 516, 138, 138, 474, 138, 521, 128, 138, 494, - 481, 21, 22, 484, 139, 138, 10, 11, 138, 138, - 491, 31, 138, 138, 528, 121, 519, 498, 499, 500, - 501, 502, 503, 504, 519, 138, 31, 508, 138, 554, - 136, 137, 138, 138, 138, 138, 940, 121, 118, 136, - 119, 119, 655, 119, 136, 525, 526, 527, 138, 529, - 136, 55, 533, 136, 958, 21, 22, 118, 118, 672, - 141, 542, 119, 895, 545, 31, 995, 10, 10, 10, - 128, 552, 552, 554, 119, 31, 131, 662, 131, 560, - 561, 561, 62, 10, 11, 12, 136, 139, 131, 16, - 119, 119, 854, 73, 74, 122, 100, 476, 477, 478, - 122, 131, 106, 107, 136, 1009, 110, 939, 127, 129, - 130, 131, 132, 133, 94, 135, 136, 137, 136, 127, - 137, 528, 138, 103, 129, 130, 131, 132, 133, 56, - 135, 136, 137, 139, 119, 138, 616, 618, 618, 10, - 519, 138, 141, 119, 138, 10, 671, 120, 10, 129, - 10, 131, 132, 1057, 137, 119, 138, 136, 56, 4, - 992, 686, 136, 129, 130, 131, 132, 133, 649, 135, - 136, 137, 493, 119, 655, 131, 132, 133, 940, 135, - 136, 137, 663, 663, 141, 112, 667, 31, 138, 10, - 11, 672, 139, 138, 719, 709, 958, 141, 138, 126, - 139, 138, 136, 684, 131, 136, 687, 127, 688, 689, - 690, 691, 692, 693, 694, 695, 696, 697, 698, 699, - 700, 701, 702, 703, 704, 705, 706, 707, 708, 136, - 710, 127, 141, 714, 55, 119, 138, 128, 719, 138, - 128, 648, 222, 650, 10, 11, 12, 1009, 138, 628, - 16, 136, 138, 632, 120, 634, 10, 636, 637, 638, - 138, 241, 120, 670, 120, 138, 673, 11, 136, 676, - 677, 251, 136, 253, 128, 136, 139, 119, 128, 100, - 260, 261, 10, 138, 897, 106, 107, 131, 132, 133, - 56, 135, 136, 137, 559, 1057, 221, 138, 138, 884, - 885, 886, 887, 138, 889, 138, 50, 136, 52, 53, - 54, 136, 138, 120, 138, 138, 856, 939, 992, 895, - 239, 493, 418, 494, 482, 817, 649, 900, 558, 854, - 519, -1, -1, 77, 78, 79, 817, 16, 17, 18, - 19, 20, 21, 22, 324, -1, 112, -1, -1, -1, - 94, 95, 31, -1, -1, -1, -1, -1, -1, -1, - 126, -1, -1, -1, 108, 131, 846, -1, -1, 113, - 136, -1, -1, 854, 888, -1, -1, -1, 859, -1, - -1, -1, 362, -1, -1, 970, 971, 972, 973, 974, - 975, 976, 977, 978, 979, 980, 981, 982, 983, 984, - 985, 986, 987, 988, -1, -1, 3, 4, 5, 6, - -1, 8, 9, 10, -1, 940, 897, 898, 6, 900, - -1, 10, 11, 903, -1, -1, -1, -1, -1, -1, - 910, -1, -1, 958, -1, -1, -1, 417, -1, 419, - -1, 1026, -1, -1, -1, 124, 125, 126, -1, 46, - 129, 130, 131, 132, 133, -1, 135, 136, 137, 940, - -1, 49, 943, -1, -1, 62, 55, 948, 948, 57, - 10, 11, -1, 70, -1, 989, -1, 958, 66, 67, - 68, 888, -1, -1, 1009, 1070, -1, -1, 76, -1, - 87, -1, -1, -1, -1, 83, 476, 477, 478, 96, - -1, -1, 99, -1, 92, -1, 103, -1, -1, 97, - 990, 100, -1, -1, 995, 55, -1, 106, 107, -1, - -1, 110, 110, -1, 112, 1005, -1, -1, 1009, 126, - -1, 1012, 1057, 130, 131, 1016, -1, 134, 1052, 136, - 1054, -1, -1, 140, -1, -1, -1, -1, -1, -1, - -1, -1, 959, 960, 961, 962, -1, -1, -1, -1, - 100, -1, -1, -1, -1, -1, 106, 107, 1082, 1083, - 110, -1, -1, -1, -1, -1, 1057, -1, 1059, 559, - -1, -1, -1, 1064, 884, 885, 886, 887, -1, 889, - 6, -1, -1, -1, -1, -1, -1, 1078, -1, 15, - 16, 17, 18, 19, 20, 21, 22, 1088, -1, -1, - -1, -1, -1, -1, -1, 31, -1, 33, 34, 35, - 36, 37, 38, 39, 40, 41, 42, 43, 44, -1, - -1, -1, -1, -1, -1, 615, -1, -1, -1, -1, - -1, -1, -1, -1, 60, -1, -1, 627, 628, 629, - -1, -1, 632, -1, 634, -1, 636, 637, 638, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 85, - 970, 971, 972, 973, 974, 975, 976, 977, 978, 979, - 980, 981, 982, 983, 984, 985, 986, 987, 988, -1, + 1, 136, 510, 39, 101, 39, 565, 345, 122, 119, + 120, 121, 122, 123, 51, 125, 126, 127, 110, 0, + 26, 12, 523, 137, 134, 135, 413, 26, 138, 139, + 10, 11, 228, 136, 10, 11, 544, 136, 10, 11, + 14, 330, 429, 119, 432, 432, 119, 428, 119, 110, + 431, 136, 433, 57, 186, 59, 60, 10, 11, 6, + 64, 8, 138, 718, 122, 138, 67, 138, 200, 201, + 202, 203, 204, 205, 10, 11, 136, 458, 459, 137, + 461, 462, 463, 464, 118, 473, 473, 493, 10, 11, + 124, 110, 239, 86, 500, 501, 502, 503, 504, 505, + 127, 248, 136, 137, 110, 479, 480, 4, 136, 102, + 110, 110, 554, 10, 11, 6, 117, 8, 119, 120, + 121, 122, 123, 136, 125, 126, 127, 508, 466, 535, + 6, 84, 8, 134, 135, 331, 523, 138, 139, 335, + 131, 121, 118, 127, 236, 119, 182, 136, 152, 153, + 154, 155, 118, 81, 82, 121, 84, 85, 86, 540, + 118, 89, 358, 671, 121, 93, 138, 277, 556, 556, + 98, 99, 510, 101, 102, 236, 104, 105, 239, 468, + 622, 136, 118, 691, 316, 186, 190, 248, 192, 690, + 571, 138, 10, 11, 12, 119, 118, 344, 16, 200, + 201, 202, 203, 204, 205, 209, 544, 208, 863, 119, + 136, 62, 119, 250, 138, 31, 412, 236, 118, 136, + 239, 121, 73, 74, 136, 667, 119, 228, 138, 248, + 236, 138, 119, 239, 136, 31, 236, 236, 56, 239, + 239, 136, 248, 94, 119, 138, 31, 136, 248, 248, + 119, 138, 103, 659, 10, 11, 12, 136, 632, 136, + 16, 121, 636, 138, 638, 119, 640, 641, 642, 138, + 676, 136, 31, 136, 119, 121, 277, 121, 129, 136, + 131, 132, 119, 344, 138, 213, 136, 483, 119, 217, + 486, 435, 947, 138, 112, 439, 440, 441, 442, 443, + 56, 138, 138, 690, 26, 12, 131, 138, 126, 16, + 137, 119, 121, 131, 122, 316, 10, 11, 355, 135, + 136, 137, 323, 137, 138, 344, 330, 136, 137, 138, + 331, 332, 88, 671, 335, 723, 723, 343, 344, 135, + 136, 137, 343, 121, 344, 344, 131, 132, 133, 56, + 135, 136, 137, 136, 137, 356, 112, 358, 10, 11, + 12, 1016, 136, 137, 16, 1020, 89, 90, 91, 121, + 126, 222, 131, 132, 133, 131, 135, 136, 137, 118, + 136, 120, 121, 122, 136, 137, 138, 110, 110, 10, + 241, 10, 429, 952, 902, 432, 127, 136, 495, 10, + 251, 121, 253, 547, 56, 112, 118, 119, 1063, 260, + 261, 412, 418, 1068, 118, 136, 136, 137, 138, 126, + 136, 137, 423, 2, 131, 136, 119, 1082, 429, 136, + 120, 432, 138, 469, 435, 471, 473, 1092, 439, 440, + 441, 442, 443, 10, 11, 137, 138, 118, 449, 120, + 121, 122, 562, 138, 455, 138, 35, 36, 37, 38, + 112, 40, 138, 138, 468, 466, 115, 116, 117, 138, + 858, 858, 473, 324, 126, 89, 90, 91, 138, 131, + 128, 518, 483, 138, 136, 486, 523, 138, 55, 128, + 496, 999, 493, 138, 530, 901, 530, 138, 138, 500, + 501, 502, 503, 504, 505, 506, 138, 138, 138, 510, + 139, 362, 121, 118, 236, 521, 666, 239, 899, 556, + 119, 119, 521, 119, 136, 138, 248, 118, 136, 136, + 136, 141, 118, 100, 535, 119, 10, 10, 10, 106, + 107, 128, 119, 544, 139, 120, 547, 136, 131, 131, + 120, 131, 137, 554, 119, 556, 944, 944, 119, 122, + 122, 562, 943, 31, 565, 131, 417, 495, 419, 127, + 127, 139, 136, 119, 962, 962, 136, 10, 119, 138, + 10, 120, 161, 162, 163, 164, 165, 166, 167, 168, + 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, + 179, 180, 181, 138, 183, 10, 11, 138, 187, 141, + 138, 10, 10, 137, 31, 996, 119, 136, 652, 56, + 654, 622, 344, 138, 4, 1013, 1013, 478, 479, 480, + 118, 136, 120, 121, 122, 119, 138, 141, 675, 139, + 674, 138, 141, 677, 139, 138, 680, 681, 136, 137, + 55, 138, 653, 690, 136, 136, 235, 127, 659, 136, + 127, 129, 130, 131, 132, 133, 667, 135, 136, 137, + 671, 119, 141, 1061, 1061, 676, 138, 713, 3, 4, + 5, 6, 128, 8, 9, 10, 723, 688, 138, 128, + 691, 136, 120, 10, 138, 100, 138, 120, 120, 139, + 138, 106, 107, 138, 136, 110, 119, 286, 287, 136, + 561, 136, 129, 130, 131, 132, 133, 718, 135, 136, + 137, 46, 723, 138, 138, 128, 138, 138, 128, 138, + 10, 138, 136, 120, 136, 561, 221, 62, 888, 889, + 890, 891, 138, 893, 323, 70, 138, 860, 943, 996, + 899, 495, 418, 10, 11, 496, 478, 479, 480, 21, + 22, 239, 87, 653, 521, 484, 560, 821, 619, 31, + -1, 96, -1, -1, 99, 354, -1, -1, 103, -1, + 631, 632, 633, -1, 363, 636, -1, 638, -1, 640, + 641, 642, -1, -1, 904, -1, -1, -1, 55, 521, + -1, 126, 10, 11, -1, 130, 131, -1, -1, 134, + 389, 136, -1, -1, -1, 140, -1, -1, -1, -1, + 821, 858, -1, -1, 974, 975, 976, 977, 978, 979, + 980, 981, 982, 983, 984, 985, 986, 987, 988, 989, + 990, 991, 992, 100, -1, -1, -1, 55, -1, 106, + 107, -1, -1, 110, -1, -1, 892, 858, 892, -1, + -1, -1, 863, -1, -1, -1, -1, 129, 130, 131, + 132, 133, -1, 135, 136, 137, 455, -1, -1, -1, + 1030, 17, 18, 19, 20, 21, 22, -1, -1, -1, + -1, -1, 100, -1, -1, 31, -1, 476, 106, 107, + 901, 902, 110, 904, -1, -1, -1, 944, -1, -1, + 632, -1, -1, -1, 636, -1, 638, -1, 640, 641, + 642, -1, -1, -1, 1074, 962, -1, -1, -1, 963, + 964, 965, 966, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 944, -1, -1, 947, -1, 527, 528, + 529, 952, 531, -1, -1, -1, -1, 993, -1, -1, + -1, 962, 15, 16, 17, 18, 19, 20, 21, 22, + -1, -1, -1, -1, -1, 554, 1013, -1, 31, -1, + -1, -1, -1, -1, -1, -1, 565, -1, 124, 125, + 126, 127, 128, 129, 130, 131, 132, 133, 999, 135, + 136, 137, -1, -1, -1, -1, 888, 889, 890, 891, + -1, 893, 1013, -1, -1, 1016, -1, -1, -1, 1020, + 1056, -1, 1058, -1, 1061, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 119, -1, -1, 122, -1, 124, 125, - 126, 127, 128, 129, 130, 131, 132, 133, 134, -1, - 136, 137, -1, -1, 140, -1, 1026, -1, -1, -1, + -1, 620, -1, 622, -1, -1, -1, -1, -1, -1, + 1086, 1087, 15, 16, 17, 18, 19, 20, 21, 22, + 1061, -1, 1063, -1, -1, -1, 119, 1068, 31, -1, + 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, + 133, 1082, 135, 136, 137, 138, -1, -1, 667, -1, + -1, 1092, 974, 975, 976, 977, 978, 979, 980, 981, + 982, 983, 984, 985, 986, 987, 988, 989, 990, 991, + 992, -1, -1, 692, 693, 694, 695, 696, 697, 698, + 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, + 709, 710, 711, 712, -1, 714, 3, 4, 5, 6, + -1, 8, 9, 10, 11, -1, -1, 14, 1030, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 3, 4, 5, 6, 7, 8, 9, - 10, 11, 12, -1, 14, 15, 16, 17, 18, 19, - 20, 21, 22, 23, 24, -1, -1, -1, -1, -1, - 1070, 31, 32, 33, 34, 35, 36, 37, 38, 39, - 40, 41, 42, 43, 44, 45, 46, 47, -1, -1, - 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, - 60, 61, 62, 63, -1, 65, -1, 67, 68, 69, - 70, 71, 72, 73, 74, 75, 76, 77, 78, -1, - -1, -1, -1, 83, 84, 85, -1, 87, 88, 89, - 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, - 100, -1, 102, 103, 104, 105, 106, 107, 108, 109, - 110, 111, 112, 113, 114, -1, -1, -1, 118, 119, - 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, - 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, - 140, 141, 3, 4, 5, 6, 7, 8, 9, 10, - 11, 12, -1, 14, 15, 16, 17, 18, 19, 20, - 21, 22, 23, 24, -1, -1, -1, -1, -1, -1, - 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, - 41, 42, 43, 44, 45, 46, 47, -1, -1, 50, - 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, - 61, 62, 63, -1, 65, -1, 67, 68, 69, 70, - 71, 72, 73, 74, 75, 76, 77, 78, -1, -1, - -1, -1, 83, 84, 85, -1, 87, 88, 89, 90, - 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, - -1, 102, 103, 104, 105, 106, 107, 108, 109, 110, - 111, 112, 113, 114, -1, -1, -1, 118, 119, 120, - 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, - 131, 132, 133, 134, 135, 136, 137, 138, -1, 140, - 141, 3, 4, 5, 6, -1, 8, 9, 10, 11, - -1, -1, 14, -1, -1, -1, -1, -1, -1, -1, + 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, + 133, -1, 135, 136, 137, -1, -1, -1, 141, 46, + 47, -1, -1, 50, -1, 52, 53, 54, 55, 56, + -1, 58, 1074, -1, 61, 62, -1, -1, 65, -1, + -1, -1, -1, 70, 71, -1, -1, -1, 1059, -1, + 77, 78, 79, -1, -1, -1, -1, -1, 85, -1, + 87, -1, -1, -1, -1, 92, -1, 94, 95, 96, + -1, -1, 99, 100, -1, -1, 103, -1, -1, 106, + 107, 108, -1, -1, 111, -1, 113, 3, 4, 5, + 6, -1, 8, 9, 10, 11, -1, -1, 14, 126, + -1, -1, -1, 130, -1, -1, -1, 134, -1, 136, + -1, 850, -1, 140, -1, -1, -1, 15, 16, 17, + 18, 19, 20, 21, 22, -1, -1, -1, -1, -1, + 46, 47, -1, 31, 50, -1, 52, 53, 54, 55, + 56, -1, 58, -1, -1, 61, 62, -1, -1, 65, + -1, -1, -1, -1, 70, 71, -1, -1, -1, -1, + -1, 77, 78, 79, -1, -1, -1, -1, 907, 85, + -1, 87, -1, -1, -1, 914, 92, -1, 94, 95, + 96, -1, -1, 99, 100, -1, -1, 103, -1, -1, + 106, 107, 108, -1, -1, 111, -1, 113, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 126, -1, -1, 952, 130, -1, -1, -1, 134, -1, + 136, -1, -1, -1, 140, 123, 124, 125, 126, 127, + 128, 129, 130, 131, 132, 133, -1, 135, 136, 137, + -1, -1, -1, 141, -1, 3, 4, 5, 6, 7, + 8, 9, 10, 11, 12, 994, 14, 15, 16, 17, + 18, 19, 20, 21, 22, 23, 24, -1, -1, -1, + 1009, -1, -1, 31, 32, 33, 34, 35, 36, 37, + 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, + -1, -1, 50, 51, 52, 53, 54, 55, 56, 57, + 58, 59, 60, 61, 62, 63, -1, 65, -1, 67, + 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, + 78, -1, -1, -1, -1, 83, 84, 85, -1, 87, + 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, + 98, 99, 100, -1, 102, 103, 104, 105, 106, 107, + 108, 109, 110, 111, 112, 113, 114, -1, -1, -1, + 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, + 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, + 138, 139, 140, 141, 3, 4, 5, 6, 7, 8, + 9, 10, 11, 12, -1, 14, 15, 16, 17, 18, + 19, 20, 21, 22, 23, 24, -1, -1, -1, -1, + -1, -1, 31, 32, 33, 34, 35, 36, 37, 38, + 39, 40, 41, 42, 43, 44, 45, 46, 47, -1, + -1, 50, 51, 52, 53, 54, 55, 56, 57, 58, + 59, 60, 61, 62, 63, -1, 65, -1, 67, 68, + 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, + -1, -1, -1, -1, 83, 84, 85, -1, 87, 88, + 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, + 99, 100, -1, 102, 103, 104, 105, 106, 107, 108, + 109, 110, 111, 112, 113, 114, -1, -1, -1, 118, + 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, + 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, + -1, 140, 141, 3, 4, 5, 6, -1, 8, 9, + 10, 11, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 15, 16, 17, 18, 19, 20, 21, 22, -1, - -1, -1, -1, -1, 46, 47, -1, 31, 50, -1, - 52, 53, 54, 55, 56, 1055, 58, -1, -1, 61, - 62, -1, -1, 65, -1, -1, -1, -1, 70, 71, - -1, -1, -1, -1, -1, 77, 78, 79, -1, -1, - -1, -1, -1, 85, -1, 87, -1, -1, -1, -1, - 92, -1, 94, 95, 96, -1, -1, 99, 100, -1, - -1, 103, -1, -1, 106, 107, 108, -1, -1, 111, - -1, 113, 3, 4, 5, 6, -1, 8, 9, 10, - 11, -1, -1, 14, 126, -1, -1, -1, 130, -1, - -1, -1, 134, -1, 136, -1, -1, -1, 140, 123, - 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, - -1, 135, 136, 137, -1, 46, 47, 141, -1, 50, - -1, 52, 53, 54, 55, 56, -1, 58, -1, -1, - 61, 62, -1, -1, 65, -1, -1, -1, -1, 70, - 71, -1, -1, -1, -1, -1, 77, 78, 79, -1, - -1, -1, -1, -1, 85, -1, 87, -1, -1, -1, - -1, 92, -1, 94, 95, 96, -1, -1, 99, 100, - -1, -1, 103, -1, -1, 106, 107, 108, -1, -1, - 111, -1, 113, 3, 4, 5, 6, -1, 8, 9, - 10, 11, -1, -1, -1, 126, -1, -1, -1, 130, - -1, -1, -1, 134, -1, 136, -1, -1, -1, 140, -1, -1, -1, 15, 16, 17, 18, 19, 20, 21, 22, -1, -1, -1, -1, -1, 46, 47, -1, 31, 50, -1, 52, 53, 54, 55, 56, -1, 58, -1, @@ -2349,15 +2349,15 @@ static const yytype_int16 yycheck[] = -1, 140, 17, 18, 19, 20, 21, 22, -1, -1, -1, 50, -1, 52, 53, 54, 31, -1, 46, -1, -1, -1, 50, -1, 52, 53, 54, -1, -1, -1, - -1, -1, -1, 61, 62, -1, -1, -1, 77, 78, + -1, 59, 60, 61, 62, -1, -1, -1, 77, 78, 79, -1, 70, 71, -1, -1, -1, -1, -1, 77, 78, -1, -1, -1, -1, 94, 95, 85, -1, 87, -1, -1, -1, -1, -1, -1, 94, 95, 96, 108, -1, 99, -1, -1, 113, 103, 3, 4, 5, 6, - 108, 8, 9, 10, 11, 113, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 136, 126, -1, - -1, -1, 130, 131, -1, -1, 134, -1, 136, -1, - 138, 126, 140, -1, 129, 130, 131, 132, 133, 46, + 108, 8, 9, 10, 11, 113, 21, 22, -1, -1, + 118, -1, -1, -1, -1, -1, 31, 136, 126, -1, + -1, -1, 130, 131, -1, -1, 134, -1, 136, 124, + 125, 126, 140, -1, 129, 130, 131, 132, 133, 46, 135, 136, 137, 50, -1, 52, 53, 54, -1, -1, -1, -1, -1, -1, 61, 62, -1, -1, -1, -1, -1, -1, -1, 70, 71, -1, -1, -1, -1, -1, @@ -2365,9 +2365,9 @@ static const yytype_int16 yycheck[] = 87, -1, -1, -1, -1, -1, -1, 94, 95, 96, -1, -1, 99, -1, -1, -1, 103, 3, 4, 5, 6, 108, 8, 9, 10, 11, 113, -1, -1, -1, - -1, 118, -1, -1, -1, -1, -1, -1, -1, 126, - -1, -1, -1, 130, 131, -1, -1, 134, -1, 136, - -1, -1, -1, 140, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 129, 130, 131, 132, 133, 126, + 135, 136, 137, 130, 131, -1, -1, 134, -1, 136, + -1, 138, -1, 140, -1, -1, -1, -1, -1, -1, 46, -1, -1, -1, 50, -1, 52, 53, 54, -1, -1, -1, -1, -1, -1, 61, 62, -1, -1, -1, -1, -1, -1, -1, 70, 71, -1, -1, -1, -1, @@ -2405,155 +2405,149 @@ static const yytype_int16 yycheck[] = -1, -1, 85, -1, 87, -1, -1, -1, -1, -1, -1, 94, 95, 96, -1, -1, 99, -1, -1, -1, 103, 3, 4, 5, 6, 108, 8, 9, 10, 11, - 113, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 113, -1, 6, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 126, -1, -1, -1, 130, 131, -1, - -1, 134, -1, 136, -1, 138, -1, 140, -1, 49, - -1, -1, -1, -1, 46, -1, -1, 57, 50, -1, - 52, 53, 54, -1, -1, -1, 66, 67, 68, 61, - 62, -1, 49, -1, -1, -1, 76, -1, 70, 71, - 57, -1, -1, 83, 84, 77, 78, -1, 0, 66, - 67, 68, 92, 85, -1, 87, -1, 97, -1, 76, - -1, -1, 94, 95, 96, -1, 83, 99, -1, -1, - 110, 103, 112, -1, -1, 92, 108, -1, -1, -1, - 97, 113, -1, -1, 15, 16, 17, 18, 19, 20, - 21, 22, -1, 110, 126, 112, 48, 49, 130, 131, - 31, -1, 134, -1, 136, 57, -1, -1, 140, -1, - 127, -1, 64, -1, 66, 67, 68, 69, -1, -1, - 72, -1, -1, -1, 76, -1, -1, -1, 80, 81, - 82, 83, 84, -1, -1, -1, -1, 89, 90, 91, - 92, -1, -1, -1, -1, 97, 98, -1, -1, 101, - -1, -1, -1, 105, -1, -1, -1, 109, 110, -1, - 112, -1, -1, -1, -1, -1, -1, -1, 120, -1, - -1, 10, 11, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 123, 124, 125, 126, 127, 128, 129, 130, - 131, 132, 133, -1, 135, 136, 137, -1, 47, -1, - 141, 50, -1, 52, 53, 54, 55, 56, -1, 58, - -1, -1, 61, -1, -1, -1, 65, -1, -1, -1, - -1, -1, 71, -1, -1, -1, -1, -1, 77, 78, - 79, 10, 11, -1, -1, -1, -1, -1, -1, 88, - -1, -1, -1, -1, -1, 94, 95, -1, -1, -1, - -1, 100, -1, -1, -1, -1, -1, 106, 107, 108, - -1, -1, 111, -1, 113, -1, -1, -1, 47, 118, - -1, 50, -1, 52, 53, 54, 55, 56, -1, 58, - -1, -1, 61, -1, -1, 134, 65, -1, -1, -1, - -1, -1, 71, 10, 11, -1, -1, -1, 77, 78, - 79, -1, -1, -1, -1, -1, -1, -1, -1, 88, - -1, -1, -1, -1, -1, 94, 95, -1, -1, -1, - -1, 100, -1, -1, -1, -1, -1, 106, 107, 108, - 47, -1, 111, 50, 113, 52, 53, 54, 55, 56, - -1, 58, -1, -1, 61, -1, -1, -1, 65, -1, - -1, -1, -1, -1, 71, 134, -1, -1, -1, -1, - 77, 78, 79, 15, 16, 17, 18, 19, 20, 21, - 22, 88, -1, -1, -1, -1, -1, 94, 95, 31, - -1, -1, -1, 100, -1, -1, -1, -1, -1, 106, - 107, 108, -1, -1, 111, -1, 113, 15, 16, 17, - 18, 19, 20, 21, 22, -1, -1, -1, -1, -1, - -1, -1, -1, 31, -1, -1, -1, 134, 15, 16, - 17, 18, 19, 20, 21, 22, -1, -1, -1, -1, - -1, -1, -1, -1, 31, -1, 15, 16, 17, 18, - 19, 20, 21, 22, -1, -1, -1, -1, -1, -1, - -1, -1, 31, -1, 15, 16, 17, 18, 19, 20, - 21, 22, -1, -1, -1, -1, -1, 119, -1, -1, - 31, 123, 124, 125, 126, 127, 128, 129, 130, 131, - 132, 133, -1, 135, 136, 137, 138, 15, 16, 17, - 18, 19, 20, 21, 22, -1, -1, -1, -1, -1, - -1, -1, -1, 31, -1, 123, 124, 125, 126, 127, - 128, 129, 130, 131, 132, 133, -1, 135, 136, 137, - 138, -1, -1, -1, -1, -1, 123, 124, 125, 126, - 127, 128, 129, 130, 131, 132, 133, -1, 135, 136, - 137, 138, 121, -1, 123, 124, 125, 126, 127, 128, - 129, 130, 131, 132, 133, -1, 135, 136, 137, 120, - -1, -1, 123, 124, 125, 126, 127, 128, 129, 130, - 131, 132, 133, -1, 135, 136, 137, 15, 16, 17, - 18, 19, 20, 21, 22, -1, -1, -1, -1, -1, - -1, 119, -1, 31, -1, 123, 124, 125, 126, 127, - 128, 129, 130, 131, 132, 133, -1, 135, 136, 137, + -1, 134, -1, 136, -1, 138, -1, 140, -1, -1, + -1, -1, -1, -1, 46, -1, -1, -1, 50, -1, + 52, 53, 54, -1, -1, 49, -1, -1, -1, 61, + 62, -1, -1, 57, -1, -1, -1, -1, 70, 71, + -1, -1, 66, 67, 68, 77, 78, -1, -1, -1, + -1, -1, 76, 85, -1, 87, -1, -1, -1, 83, + -1, -1, 94, 95, 96, -1, -1, 99, 92, -1, + -1, 103, -1, 97, -1, -1, 108, -1, -1, -1, + -1, 113, -1, -1, -1, -1, 110, -1, 112, -1, + -1, -1, 0, -1, 126, -1, -1, -1, 130, 131, + 6, -1, 134, -1, 136, -1, -1, -1, 140, 15, + 16, 17, 18, 19, 20, 21, 22, -1, -1, -1, + -1, -1, -1, -1, -1, 31, -1, 33, 34, 35, + 36, 37, 38, 39, 40, 41, 42, 43, 44, -1, + 48, 49, -1, -1, -1, -1, -1, -1, -1, 57, + -1, -1, -1, -1, 60, -1, 64, -1, 66, 67, + 68, 69, -1, -1, 72, -1, -1, -1, 76, -1, + -1, -1, 80, 81, 82, 83, 84, -1, -1, 85, + -1, 89, 90, 91, 92, -1, -1, -1, -1, 97, + 98, -1, -1, 101, -1, 10, 11, 105, -1, -1, + -1, 109, 110, -1, 112, -1, -1, -1, -1, -1, + -1, -1, 120, 119, -1, -1, 122, -1, 124, 125, + 126, 127, 128, 129, 130, 131, 132, 133, 134, -1, + 136, 137, 47, -1, 140, 50, -1, 52, 53, 54, + 55, 56, -1, 58, -1, -1, 61, -1, -1, -1, + 65, -1, -1, -1, -1, -1, 71, -1, -1, -1, + -1, -1, 77, 78, 79, 10, 11, -1, -1, -1, + -1, -1, -1, 88, -1, -1, -1, -1, -1, 94, + 95, -1, -1, -1, -1, 100, -1, -1, -1, -1, + -1, 106, 107, 108, -1, -1, 111, -1, 113, -1, + -1, -1, 47, 118, -1, 50, -1, 52, 53, 54, + 55, 56, -1, 58, -1, -1, 61, -1, -1, 134, + 65, -1, -1, -1, -1, -1, 71, 10, 11, -1, + -1, -1, 77, 78, 79, -1, -1, -1, -1, -1, + -1, -1, -1, 88, -1, -1, -1, -1, -1, 94, + 95, -1, -1, -1, -1, 100, -1, -1, -1, -1, + -1, 106, 107, 108, 47, -1, 111, 50, 113, 52, + 53, 54, 55, 56, -1, 58, -1, -1, 61, -1, + -1, -1, 65, -1, -1, -1, -1, -1, 71, 134, + -1, -1, -1, -1, 77, 78, 79, 15, 16, 17, + 18, 19, 20, 21, 22, 88, -1, -1, -1, -1, + -1, 94, 95, 31, -1, -1, -1, 100, -1, -1, + -1, -1, -1, 106, 107, 108, -1, -1, 111, -1, + 113, 15, 16, 17, 18, 19, 20, 21, 22, -1, + -1, -1, -1, -1, -1, -1, -1, 31, -1, -1, + -1, 134, 15, 16, 17, 18, 19, 20, 21, 22, + -1, -1, -1, -1, -1, -1, -1, -1, 31, -1, 15, 16, 17, 18, 19, 20, 21, 22, -1, -1, -1, -1, -1, -1, -1, -1, 31, 15, 16, 17, 18, 19, 20, 21, 22, -1, -1, -1, -1, -1, - -1, -1, -1, 31, 15, 16, 17, 18, 19, 20, + -1, -1, -1, 31, -1, 123, 124, 125, 126, 127, + 128, 129, 130, 131, 132, 133, -1, 135, 136, 137, + 138, 15, 16, 17, 18, 19, 20, 21, 22, -1, + -1, -1, -1, -1, -1, -1, -1, 31, -1, 123, + 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, + -1, 135, 136, 137, 138, -1, -1, -1, 121, -1, + 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, + 133, -1, 135, 136, 137, 120, -1, -1, 123, 124, + 125, 126, 127, 128, 129, 130, 131, 132, 133, -1, + 135, 136, 137, 121, -1, 123, 124, 125, 126, 127, + 128, 129, 130, 131, 132, 133, -1, 135, 136, 137, + 15, 16, 17, 18, 19, 20, 21, 22, -1, -1, + -1, -1, -1, -1, -1, 119, 31, -1, -1, 123, + 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, + -1, 135, 136, 137, 15, 16, 17, 18, 19, 20, 21, 22, -1, -1, -1, -1, -1, -1, -1, -1, 31, 15, 16, 17, 18, 19, 20, 21, 22, -1, - -1, -1, -1, -1, -1, -1, -1, 31, -1, -1, - -1, -1, -1, 121, -1, 123, 124, 125, 126, 127, - 128, 129, 130, 131, 132, 133, -1, 135, 136, 137, - 16, 17, 18, 19, 20, 21, 22, -1, -1, -1, - -1, -1, -1, -1, -1, 31, -1, -1, 123, 124, + -1, -1, -1, -1, -1, -1, -1, 31, 15, 16, + 17, 18, 19, 20, 21, 22, -1, -1, -1, -1, + -1, -1, -1, -1, 31, 16, 17, 18, 19, 20, + 21, 22, -1, -1, -1, -1, -1, -1, -1, -1, + 31, -1, -1, -1, -1, -1, -1, -1, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, -1, - 135, 136, 137, -1, -1, 123, 124, 125, 126, 127, - 128, 129, 130, 131, 132, 133, -1, 135, 136, 137, - 121, -1, 123, 124, 125, 126, -1, -1, 129, 130, - 131, 132, 133, -1, 135, 136, 137, -1, -1, 123, - 124, 125, 126, -1, -1, 129, 130, 131, 132, 133, - -1, 135, 136, 137, 17, 18, 19, 20, 21, 22, + 135, 136, 137, 16, 17, 18, 19, 20, 21, 22, -1, -1, -1, -1, -1, -1, -1, -1, 31, -1, - -1, 50, -1, 52, 53, 54, -1, -1, 124, 125, - 126, 127, 128, 129, 130, 131, 132, 133, -1, 135, - 136, 137, 17, 18, 19, 20, 21, 22, 77, 78, - 79, -1, -1, -1, -1, -1, 31, 17, 18, 19, - 20, 21, 22, -1, -1, 94, 95, -1, -1, -1, - -1, 31, 17, 18, 19, 20, 21, 22, -1, 108, - -1, -1, -1, -1, 113, -1, 31, 17, 18, 19, + -1, -1, 123, 124, 125, 126, 127, 128, 129, 130, + 131, 132, 133, -1, 135, 136, 137, 121, -1, 123, + 124, 125, 126, -1, -1, 129, 130, 131, 132, 133, + -1, 135, 136, 137, -1, -1, 123, 124, 125, 126, + -1, -1, 129, 130, 131, 132, 133, -1, 135, 136, + 137, -1, -1, 124, 125, 126, 127, 128, 129, 130, + 131, 132, 133, -1, 135, 136, 137, 17, 18, 19, 20, 21, 22, -1, -1, -1, -1, -1, -1, -1, - -1, 31, -1, -1, -1, -1, -1, 136, -1, -1, - -1, 124, 125, 126, 127, 128, 129, 130, 131, 132, + -1, 31, -1, -1, 50, -1, 52, 53, 54, -1, + -1, 124, 125, 126, -1, -1, 129, 130, 131, 132, 133, -1, 135, 136, 137, 17, 18, 19, 20, 21, - 22, -1, -1, -1, -1, -1, -1, -1, -1, 31, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 125, 126, 127, 128, 129, 130, 131, 132, 133, -1, - 135, 136, 137, -1, -1, -1, 126, 127, 128, 129, - 130, 131, 132, 133, -1, 135, 136, 137, -1, 124, - 125, 126, -1, -1, 129, 130, 131, 132, 133, -1, - 135, 136, 137, -1, -1, -1, -1, 127, 128, 129, + 22, 77, 78, 79, -1, -1, -1, -1, -1, 31, + 17, 18, 19, 20, 21, 22, -1, -1, 94, 95, + -1, -1, -1, -1, 31, 17, 18, 19, 20, 21, + 22, -1, 108, -1, -1, -1, -1, 113, -1, 31, + 17, 18, 19, 20, 21, 22, -1, -1, -1, -1, + -1, -1, -1, -1, 31, -1, -1, -1, -1, -1, + 136, -1, -1, -1, -1, 125, 126, 127, 128, 129, 130, 131, 132, 133, -1, 135, 136, 137, 17, 18, 19, 20, 21, 22, -1, -1, -1, -1, -1, -1, - -1, -1, 31, 19, 20, 21, 22, -1, -1, -1, - -1, -1, -1, 125, 126, 31, -1, 129, 130, 131, - 132, 133, -1, 135, 136, 137, 19, 20, 21, 22, - -1, -1, -1, 48, 49, -1, -1, -1, 31, -1, - -1, -1, 57, -1, -1, -1, -1, -1, -1, 64, - -1, 66, 67, 68, 69, -1, -1, 72, -1, -1, - -1, 76, -1, -1, -1, 80, 81, 82, 83, 84, - -1, -1, -1, -1, 89, 90, 91, 92, -1, -1, - -1, -1, 97, 98, -1, -1, 101, -1, -1, -1, - 105, -1, -1, -1, 109, 110, -1, 112, -1, -1, - 129, 130, 131, 132, 133, 120, 135, 136, 137, 10, - 11, 127, 128, 129, 130, 131, 132, 133, -1, 135, - 136, 137, -1, -1, 139, -1, -1, -1, -1, 10, - 11, -1, -1, -1, -1, -1, 129, 130, 131, 132, - 133, -1, 135, 136, 137, -1, 47, -1, -1, 50, - -1, 52, 53, 54, 55, -1, -1, 58, -1, 50, - 61, 52, 53, 54, 65, -1, -1, -1, -1, 50, + -1, -1, 31, -1, -1, -1, -1, -1, -1, -1, + 19, 20, 21, 22, 126, 127, 128, 129, 130, 131, + 132, 133, 31, 135, 136, 137, -1, -1, -1, -1, + 127, 128, 129, 130, 131, 132, 133, -1, 135, 136, + 137, -1, -1, 125, 126, -1, -1, 129, 130, 131, + 132, 133, -1, 135, 136, 137, -1, -1, -1, 126, + -1, -1, 129, 130, 131, 132, 133, -1, 135, 136, + 137, 19, 20, 21, 22, -1, -1, -1, -1, -1, + -1, -1, -1, 31, -1, -1, -1, 50, -1, 52, + 53, 54, -1, -1, -1, -1, -1, -1, -1, -1, + 129, 130, 131, 132, 133, -1, 135, 136, 137, 10, + 11, -1, -1, -1, 77, 78, 79, -1, 127, 128, + 129, 130, 131, 132, 133, -1, 135, 136, 137, 10, + 11, 94, 95, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 108, 47, -1, -1, 50, + 113, 52, 53, 54, 55, -1, -1, 58, -1, -1, + 61, -1, -1, -1, 65, -1, -1, -1, -1, 50, 71, 52, 53, 54, 55, 56, 77, 78, 79, -1, - 61, -1, -1, -1, -1, -1, 77, 78, 79, -1, + 61, 129, 130, 131, 132, 133, -1, 135, 136, 137, 71, 10, 11, 94, 95, -1, 77, 78, 79, 100, - -1, -1, -1, 94, 95, 106, 107, 108, -1, -1, - 111, -1, 113, 94, 95, -1, -1, 108, -1, -1, - -1, -1, 113, -1, -1, 106, -1, 108, -1, -1, + -1, -1, -1, -1, -1, 106, 107, 108, -1, -1, + 111, -1, 113, 94, 95, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 106, -1, 108, -1, -1, 111, 50, 113, 52, 53, 54, -1, -1, -1, -1, - -1, 11, 61, -1, -1, 136, -1, -1, -1, -1, + -1, 11, 61, -1, -1, -1, -1, -1, -1, -1, -1, -1, 71, -1, -1, -1, -1, -1, 77, 78, 79, -1, -1, -1, -1, -1, -1, -1, -1, 50, -1, 52, 53, 54, -1, 94, 95, 47, -1, -1, 50, -1, 52, 53, 54, 55, 56, -1, 58, 108, - 71, 61, 111, -1, 113, 65, 77, 78, 79, -1, + -1, 61, 111, -1, 113, 65, 77, 78, 79, -1, -1, 71, -1, 11, -1, -1, -1, 77, 78, 79, -1, -1, -1, 94, 95, -1, -1, -1, -1, -1, -1, -1, -1, -1, 94, 95, -1, 108, -1, -1, 100, 50, 113, 52, 53, 54, 106, 107, 108, 47, -1, 111, 50, 113, 52, 53, 54, 55, 56, -1, - 58, -1, -1, 61, -1, -1, -1, 65, 77, 78, + 58, -1, 71, 61, 11, 136, -1, 65, 77, 78, 79, -1, -1, 71, -1, 11, -1, -1, -1, 77, 78, 79, -1, -1, -1, 94, 95, -1, -1, -1, -1, -1, -1, -1, -1, -1, 94, 95, -1, 108, - -1, -1, 100, -1, 113, -1, -1, -1, 106, 107, + -1, -1, 100, 50, 113, 52, 53, 54, 106, 107, 108, 47, -1, 111, 50, 113, 52, 53, 54, 55, -1, -1, 58, -1, -1, 61, -1, -1, -1, 65, - -1, -1, -1, -1, -1, 71, -1, 11, -1, -1, - -1, 77, 78, 79, -1, -1, -1, -1, -1, -1, + 77, 78, 79, -1, -1, 71, -1, 11, -1, -1, + -1, 77, 78, 79, -1, -1, -1, 94, 95, -1, -1, -1, -1, -1, -1, -1, 92, 11, 94, 95, - -1, -1, -1, -1, 100, -1, -1, -1, -1, -1, + -1, 108, -1, -1, 100, -1, 113, -1, -1, -1, 106, 107, 108, 47, -1, 111, 50, 113, 52, 53, 54, 55, -1, -1, 58, -1, -1, 61, -1, -1, -1, 65, -1, -1, -1, -1, 50, 71, 52, 53, @@ -2598,23 +2592,34 @@ static const yytype_int16 yycheck[] = -1, -1, -1, 64, -1, 66, 67, 68, 69, -1, -1, 72, -1, 139, -1, 76, -1, -1, -1, 80, 81, 82, 83, 84, -1, -1, -1, -1, 89, 90, - 91, 92, -1, -1, -1, -1, 97, 98, -1, 50, - 101, 52, 53, 54, 105, -1, -1, -1, 109, 110, - 61, 112, -1, -1, -1, -1, -1, -1, -1, 120, - 71, -1, -1, -1, -1, -1, 77, 78, 79, -1, - -1, 48, 49, -1, -1, -1, -1, -1, 139, -1, - 57, -1, -1, 94, 95, -1, -1, 64, -1, 66, - 67, 68, 69, -1, -1, 72, -1, 108, -1, 76, - -1, -1, 113, 80, 81, 82, 83, 84, -1, -1, - -1, -1, 89, 90, 91, 92, -1, -1, -1, -1, - 97, 98, -1, -1, 101, 136, -1, 50, 105, 52, - 53, 54, 109, 110, 49, 112, -1, -1, 61, -1, - -1, -1, 57, -1, -1, -1, -1, -1, 71, -1, - -1, 66, 67, 68, 77, 78, 79, 49, -1, -1, - -1, 76, -1, -1, -1, 57, -1, -1, 83, -1, - -1, 94, 95, -1, 66, 67, 68, 92, -1, -1, - -1, -1, 97, -1, 76, 108, 101, -1, -1, -1, - 113, 83, -1, -1, -1, 110, -1, 112, -1, -1, + 91, 92, -1, -1, -1, -1, 97, 98, -1, -1, + 101, -1, -1, -1, 105, -1, -1, -1, 109, 110, + -1, 112, 48, 49, -1, -1, -1, -1, -1, 120, + -1, 57, -1, -1, -1, -1, -1, -1, 64, -1, + 66, 67, 68, 69, -1, -1, 72, -1, 139, -1, + 76, -1, -1, -1, 80, 81, 82, 83, 84, -1, + -1, -1, -1, 89, 90, 91, 92, -1, -1, -1, + -1, 97, 98, -1, 50, 101, 52, 53, 54, 105, + 49, -1, -1, 109, 110, 61, 112, -1, 57, -1, + -1, -1, -1, -1, 120, 71, -1, 66, 67, 68, + -1, 77, 78, 79, -1, -1, -1, 76, -1, -1, + -1, -1, -1, 139, 83, -1, -1, -1, 94, 95, + -1, -1, -1, 92, -1, -1, -1, -1, 97, 48, + 49, -1, 108, -1, -1, -1, -1, 113, 57, -1, + -1, 110, -1, 112, -1, 64, -1, 66, 67, 68, + 69, -1, -1, 72, -1, -1, -1, 76, 127, -1, + 136, 80, 81, 82, 83, 84, -1, -1, -1, -1, + 89, 90, 91, 92, -1, -1, -1, -1, 97, 98, + -1, 50, 101, 52, 53, 54, 105, 49, -1, -1, + 109, 110, 61, 112, -1, 57, -1, -1, -1, -1, + -1, -1, 71, -1, 66, 67, 68, -1, 77, 78, + 79, -1, -1, -1, 76, 49, -1, -1, -1, -1, + -1, 83, 84, 57, -1, 94, 95, -1, -1, -1, + 92, -1, 66, 67, 68, 97, -1, 49, -1, 108, + -1, -1, 76, -1, 113, 57, -1, -1, 110, 83, + 112, -1, -1, -1, 66, 67, 68, -1, 92, -1, + -1, -1, -1, 97, 76, -1, -1, 101, -1, -1, + -1, 83, -1, -1, -1, -1, 110, -1, 112, -1, 92, -1, -1, -1, -1, 97, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 110, -1, 112 @@ -2669,71 +2674,72 @@ static const yytype_uint8 yystos[] = 177, 178, 179, 180, 217, 236, 197, 187, 160, 165, 12, 131, 166, 156, 229, 194, 10, 11, 12, 16, 56, 112, 126, 131, 191, 236, 144, 136, 221, 222, - 145, 146, 234, 118, 229, 12, 16, 56, 88, 112, - 126, 131, 136, 157, 181, 234, 121, 136, 138, 136, - 229, 136, 141, 119, 122, 139, 89, 90, 91, 110, - 205, 118, 119, 139, 215, 10, 10, 10, 144, 235, - 234, 180, 234, 128, 119, 10, 11, 12, 16, 56, - 112, 126, 131, 136, 192, 236, 161, 162, 181, 3, - 4, 5, 9, 10, 14, 46, 56, 62, 70, 85, - 87, 92, 96, 99, 103, 126, 130, 134, 136, 140, - 183, 184, 190, 194, 231, 232, 235, 236, 131, 181, - 183, 158, 181, 138, 191, 131, 191, 191, 191, 191, - 191, 136, 137, 139, 167, 139, 223, 236, 118, 119, - 136, 118, 188, 189, 229, 236, 120, 131, 181, 181, - 6, 15, 16, 17, 18, 19, 20, 21, 22, 31, - 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, - 43, 44, 60, 85, 119, 122, 124, 125, 126, 127, - 128, 129, 130, 131, 132, 133, 134, 136, 137, 140, - 173, 181, 181, 181, 181, 121, 122, 136, 137, 186, - 187, 236, 208, 227, 227, 183, 229, 106, 110, 212, - 233, 234, 110, 233, 110, 233, 89, 90, 91, 144, - 205, 144, 119, 138, 119, 119, 139, 138, 122, 192, - 122, 153, 174, 175, 179, 131, 192, 192, 192, 192, - 192, 192, 122, 137, 185, 236, 163, 181, 186, 187, - 136, 92, 194, 127, 196, 190, 136, 127, 229, 229, - 229, 198, 227, 229, 138, 14, 119, 192, 15, 16, - 17, 18, 19, 20, 21, 22, 31, 123, 124, 125, - 126, 127, 128, 129, 130, 131, 132, 133, 135, 136, - 137, 181, 121, 138, 138, 186, 187, 136, 191, 170, - 225, 183, 3, 4, 5, 6, 7, 8, 9, 10, - 11, 12, 14, 15, 16, 17, 18, 19, 20, 21, - 22, 23, 24, 31, 32, 33, 34, 35, 36, 37, - 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, - 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, - 60, 61, 62, 63, 65, 67, 68, 69, 70, 71, - 72, 73, 74, 75, 76, 77, 78, 83, 84, 85, - 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, - 97, 98, 99, 100, 102, 103, 104, 105, 106, 107, - 108, 109, 110, 111, 112, 113, 114, 118, 119, 120, - 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, - 131, 132, 133, 134, 135, 136, 137, 138, 140, 141, - 224, 221, 146, 226, 188, 139, 119, 181, 10, 138, - 141, 138, 4, 229, 182, 225, 119, 138, 138, 138, - 119, 234, 233, 234, 233, 233, 233, 233, 233, 139, - 139, 10, 120, 10, 10, 198, 185, 198, 192, 138, - 46, 62, 96, 99, 126, 130, 131, 134, 136, 140, - 228, 230, 225, 186, 187, 119, 198, 194, 192, 198, - 136, 198, 198, 138, 138, 56, 172, 236, 14, 190, - 122, 186, 229, 229, 229, 229, 229, 229, 229, 229, + 145, 146, 234, 59, 60, 118, 229, 12, 16, 56, + 88, 112, 126, 131, 136, 157, 181, 234, 121, 136, + 138, 136, 229, 136, 141, 119, 122, 139, 89, 90, + 91, 110, 205, 118, 119, 139, 215, 10, 10, 10, + 144, 235, 234, 180, 234, 128, 119, 10, 11, 12, + 16, 56, 112, 126, 131, 136, 192, 236, 161, 162, + 181, 3, 4, 5, 9, 10, 14, 46, 56, 62, + 70, 85, 87, 92, 96, 99, 103, 126, 130, 134, + 136, 140, 183, 184, 190, 194, 231, 232, 235, 236, + 131, 181, 183, 158, 181, 138, 191, 131, 191, 191, + 191, 191, 191, 136, 137, 139, 167, 139, 223, 236, + 118, 119, 136, 120, 120, 118, 188, 189, 229, 236, + 120, 131, 181, 181, 6, 15, 16, 17, 18, 19, + 20, 21, 22, 31, 33, 34, 35, 36, 37, 38, + 39, 40, 41, 42, 43, 44, 60, 85, 119, 122, + 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, + 134, 136, 137, 140, 173, 181, 181, 181, 181, 121, + 122, 136, 137, 186, 187, 236, 208, 227, 227, 183, + 229, 106, 110, 212, 233, 234, 110, 233, 110, 233, + 89, 90, 91, 144, 205, 144, 119, 138, 119, 119, + 139, 138, 122, 192, 122, 153, 174, 175, 179, 131, + 192, 192, 192, 192, 192, 192, 122, 137, 185, 236, + 163, 181, 186, 187, 136, 92, 194, 127, 196, 190, + 136, 127, 229, 229, 229, 198, 227, 229, 138, 14, + 119, 192, 15, 16, 17, 18, 19, 20, 21, 22, + 31, 123, 124, 125, 126, 127, 128, 129, 130, 131, + 132, 133, 135, 136, 137, 181, 121, 138, 138, 186, + 187, 136, 191, 170, 225, 183, 3, 4, 5, 6, + 7, 8, 9, 10, 11, 12, 14, 15, 16, 17, + 18, 19, 20, 21, 22, 23, 24, 31, 32, 33, + 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, + 44, 45, 46, 47, 50, 51, 52, 53, 54, 55, + 56, 57, 58, 59, 60, 61, 62, 63, 65, 67, + 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, + 78, 83, 84, 85, 87, 88, 89, 90, 91, 92, + 93, 94, 95, 96, 97, 98, 99, 100, 102, 103, + 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, + 114, 118, 119, 120, 121, 122, 123, 124, 125, 126, + 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, + 137, 138, 140, 141, 224, 221, 146, 226, 188, 139, + 119, 181, 10, 138, 141, 138, 4, 229, 182, 225, + 119, 138, 138, 138, 119, 234, 233, 234, 233, 233, + 233, 233, 233, 139, 139, 10, 120, 10, 10, 198, + 185, 198, 192, 138, 46, 62, 96, 99, 126, 130, + 131, 134, 136, 140, 228, 230, 225, 186, 187, 119, + 198, 194, 192, 198, 136, 198, 198, 138, 138, 56, + 172, 236, 14, 190, 122, 186, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, - 229, 229, 229, 138, 227, 229, 138, 136, 172, 119, - 171, 183, 141, 138, 223, 139, 138, 139, 118, 229, - 183, 141, 157, 172, 138, 119, 138, 138, 136, 136, - 127, 136, 127, 228, 228, 228, 228, 198, 227, 228, - 15, 16, 17, 18, 19, 20, 21, 22, 31, 123, - 124, 125, 126, 129, 130, 131, 132, 133, 135, 136, - 137, 141, 119, 162, 138, 192, 186, 128, 226, 138, - 128, 229, 86, 102, 229, 121, 138, 141, 136, 168, - 158, 183, 138, 172, 139, 188, 138, 120, 10, 120, - 120, 183, 198, 198, 198, 198, 138, 138, 228, 228, + 229, 229, 229, 229, 229, 229, 229, 138, 227, 229, + 138, 136, 172, 119, 171, 183, 141, 138, 223, 139, + 138, 139, 118, 229, 183, 141, 157, 172, 138, 119, + 138, 138, 136, 136, 127, 136, 127, 228, 228, 228, + 228, 198, 227, 228, 15, 16, 17, 18, 19, 20, + 21, 22, 31, 123, 124, 125, 126, 129, 130, 131, + 132, 133, 135, 136, 137, 141, 119, 162, 138, 192, + 186, 128, 226, 138, 128, 229, 86, 102, 229, 121, + 138, 141, 136, 168, 158, 183, 138, 172, 139, 188, + 138, 120, 10, 120, 120, 183, 198, 198, 198, 198, + 138, 138, 228, 228, 228, 228, 228, 228, 228, 228, 228, 228, 228, 228, 228, 228, 228, 228, 228, 228, - 228, 228, 228, 228, 228, 228, 228, 138, 227, 229, - 163, 186, 136, 138, 136, 136, 229, 169, 183, 138, - 172, 139, 172, 119, 138, 138, 128, 138, 128, 228, - 121, 138, 141, 227, 227, 138, 234, 183, 138, 172, - 10, 172, 136, 136, 228, 138, 138, 138, 138, 172, - 138, 227, 227, 172, 120, 138, 138 + 228, 138, 227, 229, 163, 186, 136, 138, 136, 136, + 229, 169, 183, 138, 172, 139, 172, 119, 138, 138, + 128, 138, 128, 228, 121, 138, 141, 227, 227, 138, + 234, 183, 138, 172, 10, 172, 136, 136, 228, 138, + 138, 138, 138, 172, 138, 227, 227, 172, 120, 138, + 138 }; #define yyerrok (yyerrstatus = 0) @@ -5261,29 +5267,45 @@ yyreduce: /* Line 1792 of yacc.c */ #line 1529 "dtool/src/cppparser/cppBison.yxx" { + (yyval.u.expr) = new CPPExpression(CPPExpression::get_default()); +} + break; + + case 175: +/* Line 1792 of yacc.c */ +#line 1533 "dtool/src/cppparser/cppBison.yxx" + { + (yyval.u.expr) = new CPPExpression(CPPExpression::get_delete()); +} + break; + + case 176: +/* Line 1792 of yacc.c */ +#line 1537 "dtool/src/cppparser/cppBison.yxx" + { (yyval.u.expr) = (CPPExpression *)NULL; } break; - case 178: + case 180: /* Line 1792 of yacc.c */ -#line 1542 "dtool/src/cppparser/cppBison.yxx" +#line 1550 "dtool/src/cppparser/cppBison.yxx" { } break; - case 182: + case 184: /* Line 1792 of yacc.c */ -#line 1551 "dtool/src/cppparser/cppBison.yxx" +#line 1559 "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 183: + case 185: /* Line 1792 of yacc.c */ -#line 1556 "dtool/src/cppparser/cppBison.yxx" +#line 1564 "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); @@ -5291,9 +5313,9 @@ yyreduce: } break; - case 184: + case 186: /* Line 1792 of yacc.c */ -#line 1562 "dtool/src/cppparser/cppBison.yxx" +#line 1570 "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); @@ -5301,17 +5323,17 @@ yyreduce: } break; - case 185: + case 187: /* Line 1792 of yacc.c */ -#line 1568 "dtool/src/cppparser/cppBison.yxx" +#line 1576 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.instance) = (yyvsp[(2) - (2)].u.instance); } break; - case 186: + case 188: /* Line 1792 of yacc.c */ -#line 1572 "dtool/src/cppparser/cppBison.yxx" +#line 1580 "dtool/src/cppparser/cppBison.yxx" { CPPType *type = CPPType::new_type(new CPPSimpleType(CPPSimpleType::T_parameter)); @@ -5320,27 +5342,11 @@ yyreduce: } break; - case 187: -/* Line 1792 of yacc.c */ -#line 1582 "dtool/src/cppparser/cppBison.yxx" - { - (yyval.u.inst_ident) = new CPPInstanceIdentifier((CPPIdentifier *)NULL); -} - break; - - case 188: -/* Line 1792 of yacc.c */ -#line 1586 "dtool/src/cppparser/cppBison.yxx" - { - (yyval.u.inst_ident) = new CPPInstanceIdentifier((yyvsp[(1) - (1)].u.identifier)); -} - break; - case 189: /* Line 1792 of yacc.c */ #line 1590 "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; @@ -5348,78 +5354,78 @@ yyreduce: /* Line 1792 of yacc.c */ #line 1594 "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 191: /* Line 1792 of yacc.c */ -#line 1599 "dtool/src/cppparser/cppBison.yxx" +#line 1598 "dtool/src/cppparser/cppBison.yxx" + { + (yyval.u.inst_ident) = new CPPInstanceIdentifier((yyvsp[(1) - (1)].u.identifier)); +} + break; + + case 192: +/* Line 1792 of yacc.c */ +#line 1602 "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 193: +/* Line 1792 of yacc.c */ +#line 1607 "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 192: + case 194: /* Line 1792 of yacc.c */ -#line 1604 "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_pointer); } break; - case 193: + case 195: /* Line 1792 of yacc.c */ -#line 1609 "dtool/src/cppparser/cppBison.yxx" +#line 1617 "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 194: + case 196: /* Line 1792 of yacc.c */ -#line 1614 "dtool/src/cppparser/cppBison.yxx" +#line 1622 "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 195: + case 197: /* Line 1792 of yacc.c */ -#line 1619 "dtool/src/cppparser/cppBison.yxx" +#line 1627 "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 196: -/* Line 1792 of yacc.c */ -#line 1624 "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 197: + case 198: /* Line 1792 of yacc.c */ #line 1632 "dtool/src/cppparser/cppBison.yxx" { - (yyval.u.inst_ident) = new CPPInstanceIdentifier((CPPIdentifier *)NULL); -} - break; - - case 198: -/* Line 1792 of yacc.c */ -#line 1636 "dtool/src/cppparser/cppBison.yxx" - { - (yyval.u.inst_ident) = new CPPInstanceIdentifier((yyvsp[(1) - (1)].u.identifier)); + (yyval.u.inst_ident) = (yyvsp[(1) - (4)].u.inst_ident); + (yyval.u.inst_ident)->add_array_modifier((yyvsp[(3) - (4)].u.expr)); } break; @@ -5427,7 +5433,7 @@ yyreduce: /* Line 1792 of yacc.c */ #line 1640 "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; @@ -5435,68 +5441,84 @@ yyreduce: /* Line 1792 of yacc.c */ #line 1644 "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 201: /* Line 1792 of yacc.c */ -#line 1649 "dtool/src/cppparser/cppBison.yxx" +#line 1648 "dtool/src/cppparser/cppBison.yxx" + { + (yyval.u.inst_ident) = new CPPInstanceIdentifier((yyvsp[(1) - (1)].u.identifier)); +} + break; + + case 202: +/* Line 1792 of yacc.c */ +#line 1652 "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 203: +/* Line 1792 of yacc.c */ +#line 1657 "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 202: + case 204: /* Line 1792 of yacc.c */ -#line 1654 "dtool/src/cppparser/cppBison.yxx" +#line 1662 "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 203: + case 205: /* Line 1792 of yacc.c */ -#line 1659 "dtool/src/cppparser/cppBison.yxx" +#line 1667 "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 204: + case 206: /* Line 1792 of yacc.c */ -#line 1664 "dtool/src/cppparser/cppBison.yxx" +#line 1672 "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 205: + case 207: /* Line 1792 of yacc.c */ -#line 1669 "dtool/src/cppparser/cppBison.yxx" +#line 1677 "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 206: + case 208: /* Line 1792 of yacc.c */ -#line 1674 "dtool/src/cppparser/cppBison.yxx" +#line 1682 "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 207: + case 209: /* Line 1792 of yacc.c */ -#line 1679 "dtool/src/cppparser/cppBison.yxx" +#line 1687 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.inst_ident) = (yyvsp[(2) - (7)].u.inst_ident); (yyval.u.inst_ident)->add_modifier(IIT_paren); @@ -5504,89 +5526,89 @@ yyreduce: } break; - case 208: + case 210: /* Line 1792 of yacc.c */ -#line 1685 "dtool/src/cppparser/cppBison.yxx" +#line 1693 "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 209: + case 211: /* Line 1792 of yacc.c */ -#line 1693 "dtool/src/cppparser/cppBison.yxx" +#line 1701 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.inst_ident) = new CPPInstanceIdentifier((CPPIdentifier *)NULL); } break; - case 210: + case 212: /* Line 1792 of yacc.c */ -#line 1697 "dtool/src/cppparser/cppBison.yxx" +#line 1705 "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 211: + case 213: /* Line 1792 of yacc.c */ -#line 1702 "dtool/src/cppparser/cppBison.yxx" +#line 1710 "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 212: + case 214: /* Line 1792 of yacc.c */ -#line 1707 "dtool/src/cppparser/cppBison.yxx" +#line 1715 "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 213: + case 215: /* Line 1792 of yacc.c */ -#line 1712 "dtool/src/cppparser/cppBison.yxx" +#line 1720 "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 214: + case 216: /* Line 1792 of yacc.c */ -#line 1717 "dtool/src/cppparser/cppBison.yxx" +#line 1725 "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 215: + case 217: /* Line 1792 of yacc.c */ -#line 1722 "dtool/src/cppparser/cppBison.yxx" +#line 1730 "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 216: + case 218: /* Line 1792 of yacc.c */ -#line 1727 "dtool/src/cppparser/cppBison.yxx" +#line 1735 "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 217: + case 219: /* Line 1792 of yacc.c */ -#line 1732 "dtool/src/cppparser/cppBison.yxx" +#line 1740 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.inst_ident) = (yyvsp[(2) - (7)].u.inst_ident); (yyval.u.inst_ident)->add_modifier(IIT_paren); @@ -5594,17 +5616,17 @@ yyreduce: } break; - case 218: + case 220: /* Line 1792 of yacc.c */ -#line 1741 "dtool/src/cppparser/cppBison.yxx" +#line 1749 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.type) = CPPType::new_type((yyvsp[(1) - (1)].u.simple_type)); } break; - case 219: + case 221: /* Line 1792 of yacc.c */ -#line 1745 "dtool/src/cppparser/cppBison.yxx" +#line 1753 "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) { @@ -5614,27 +5636,11 @@ yyreduce: } break; - case 220: -/* Line 1792 of yacc.c */ -#line 1753 "dtool/src/cppparser/cppBison.yxx" - { - (yyval.u.type) = CPPType::new_type(new CPPTBDType((yyvsp[(2) - (2)].u.identifier))); -} - break; - - case 221: -/* Line 1792 of yacc.c */ -#line 1757 "dtool/src/cppparser/cppBison.yxx" - { - (yyval.u.type) = CPPType::new_type((yyvsp[(1) - (1)].u.struct_type)); -} - break; - case 222: /* Line 1792 of yacc.c */ #line 1761 "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; @@ -5642,7 +5648,7 @@ yyreduce: /* Line 1792 of yacc.c */ #line 1765 "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; @@ -5650,6 +5656,22 @@ yyreduce: /* Line 1792 of yacc.c */ #line 1769 "dtool/src/cppparser/cppBison.yxx" { + (yyval.u.type) = CPPType::new_type((yyvsp[(1) - (1)].u.struct_type)); +} + break; + + case 225: +/* Line 1792 of yacc.c */ +#line 1773 "dtool/src/cppparser/cppBison.yxx" + { + (yyval.u.type) = CPPType::new_type((yyvsp[(1) - (1)].u.enum_type)); +} + break; + + case 226: +/* Line 1792 of yacc.c */ +#line 1777 "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; @@ -5666,9 +5688,9 @@ yyreduce: } break; - case 225: + case 227: /* Line 1792 of yacc.c */ -#line 1785 "dtool/src/cppparser/cppBison.yxx" +#line 1793 "dtool/src/cppparser/cppBison.yxx" { CPPType *type = (yyvsp[(2) - (4)].u.identifier)->find_type(current_scope, global_scope, false, current_lexer); if (type != NULL) { @@ -5686,9 +5708,9 @@ yyreduce: } break; - case 226: + case 228: /* Line 1792 of yacc.c */ -#line 1801 "dtool/src/cppparser/cppBison.yxx" +#line 1809 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.type) = (yyvsp[(3) - (4)].u.expr)->determine_type(); if ((yyval.u.type) == (CPPType *)NULL) { @@ -5699,25 +5721,25 @@ yyreduce: } break; - case 227: + case 229: /* Line 1792 of yacc.c */ -#line 1810 "dtool/src/cppparser/cppBison.yxx" +#line 1818 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.type) = new CPPSimpleType(CPPSimpleType::T_auto); } break; - case 228: + case 230: /* Line 1792 of yacc.c */ -#line 1817 "dtool/src/cppparser/cppBison.yxx" +#line 1825 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.decl) = CPPType::new_type((yyvsp[(1) - (1)].u.simple_type)); } break; - case 229: + case 231: /* Line 1792 of yacc.c */ -#line 1821 "dtool/src/cppparser/cppBison.yxx" +#line 1829 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.decl) = (yyvsp[(1) - (1)].u.identifier)->find_type(current_scope, global_scope, false, current_lexer); if ((yyval.u.decl) == NULL) { @@ -5727,27 +5749,11 @@ yyreduce: } break; - case 230: -/* Line 1792 of yacc.c */ -#line 1829 "dtool/src/cppparser/cppBison.yxx" - { - (yyval.u.decl) = CPPType::new_type(new CPPTBDType((yyvsp[(2) - (2)].u.identifier))); -} - break; - - case 231: -/* Line 1792 of yacc.c */ -#line 1833 "dtool/src/cppparser/cppBison.yxx" - { - (yyval.u.decl) = CPPType::new_type((yyvsp[(1) - (1)].u.struct_type)); -} - break; - case 232: /* Line 1792 of yacc.c */ #line 1837 "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; @@ -5755,7 +5761,7 @@ yyreduce: /* Line 1792 of yacc.c */ #line 1841 "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; @@ -5763,6 +5769,22 @@ yyreduce: /* Line 1792 of yacc.c */ #line 1845 "dtool/src/cppparser/cppBison.yxx" { + (yyval.u.decl) = new CPPTypeDeclaration(CPPType::new_type((yyvsp[(1) - (1)].u.struct_type))); +} + break; + + case 235: +/* Line 1792 of yacc.c */ +#line 1849 "dtool/src/cppparser/cppBison.yxx" + { + (yyval.u.decl) = new CPPTypeDeclaration(CPPType::new_type((yyvsp[(1) - (1)].u.enum_type))); +} + break; + + case 236: +/* Line 1792 of yacc.c */ +#line 1853 "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.decl) = type; @@ -5779,9 +5801,9 @@ yyreduce: } break; - case 235: + case 237: /* Line 1792 of yacc.c */ -#line 1861 "dtool/src/cppparser/cppBison.yxx" +#line 1869 "dtool/src/cppparser/cppBison.yxx" { CPPType *type = (yyvsp[(2) - (4)].u.identifier)->find_type(current_scope, global_scope, false, current_lexer); if (type != NULL) { @@ -5799,9 +5821,9 @@ yyreduce: } break; - case 236: + case 238: /* Line 1792 of yacc.c */ -#line 1877 "dtool/src/cppparser/cppBison.yxx" +#line 1885 "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)])); @@ -5821,9 +5843,9 @@ yyreduce: } break; - case 237: + case 239: /* Line 1792 of yacc.c */ -#line 1895 "dtool/src/cppparser/cppBison.yxx" +#line 1903 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.decl) = (yyvsp[(3) - (4)].u.expr)->determine_type(); if ((yyval.u.decl) == (CPPType *)NULL) { @@ -5834,25 +5856,25 @@ yyreduce: } break; - case 238: + case 240: /* Line 1792 of yacc.c */ -#line 1904 "dtool/src/cppparser/cppBison.yxx" +#line 1912 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.decl) = new CPPSimpleType(CPPSimpleType::T_auto); } break; - case 239: + case 241: /* Line 1792 of yacc.c */ -#line 1911 "dtool/src/cppparser/cppBison.yxx" +#line 1919 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.type) = CPPType::new_type((yyvsp[(1) - (1)].u.simple_type)); } break; - case 240: + case 242: /* Line 1792 of yacc.c */ -#line 1915 "dtool/src/cppparser/cppBison.yxx" +#line 1923 "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) { @@ -5862,65 +5884,65 @@ yyreduce: } break; - case 241: + case 243: /* Line 1792 of yacc.c */ -#line 1923 "dtool/src/cppparser/cppBison.yxx" +#line 1931 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.type) = CPPType::new_type(new CPPTBDType((yyvsp[(2) - (2)].u.identifier))); } break; - case 242: -/* Line 1792 of yacc.c */ -#line 1927 "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 243: -/* Line 1792 of yacc.c */ -#line 1943 "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 244: /* Line 1792 of yacc.c */ -#line 1962 "dtool/src/cppparser/cppBison.yxx" +#line 1935 "dtool/src/cppparser/cppBison.yxx" { - (yyval.u.decl) = (yyvsp[(1) - (1)].u.decl); + 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 245: /* Line 1792 of yacc.c */ -#line 1966 "dtool/src/cppparser/cppBison.yxx" +#line 1951 "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 246: +/* Line 1792 of yacc.c */ +#line 1970 "dtool/src/cppparser/cppBison.yxx" + { + (yyval.u.decl) = (yyvsp[(1) - (1)].u.decl); +} + break; + + case 247: +/* Line 1792 of yacc.c */ +#line 1974 "dtool/src/cppparser/cppBison.yxx" { yyerror(string("unknown type '") + (yyvsp[(1) - (1)].u.identifier)->get_fully_scoped_name() + "'", (yylsp[(1) - (1)])); @@ -5928,9 +5950,9 @@ yyreduce: } break; - case 246: + case 248: /* Line 1792 of yacc.c */ -#line 1974 "dtool/src/cppparser/cppBison.yxx" +#line 1982 "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; @@ -5938,9 +5960,9 @@ yyreduce: } break; - case 247: + case 249: /* Line 1792 of yacc.c */ -#line 1980 "dtool/src/cppparser/cppBison.yxx" +#line 1988 "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); @@ -5949,9 +5971,9 @@ yyreduce: } break; - case 248: + case 250: /* Line 1792 of yacc.c */ -#line 1990 "dtool/src/cppparser/cppBison.yxx" +#line 1998 "dtool/src/cppparser/cppBison.yxx" { CPPVisibility starting_vis = ((yyvsp[(1) - (2)].u.extension_enum) == CPPExtensionType::T_class) ? V_private : V_public; @@ -5967,9 +5989,9 @@ yyreduce: } break; - case 249: + case 251: /* Line 1792 of yacc.c */ -#line 2004 "dtool/src/cppparser/cppBison.yxx" +#line 2012 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.struct_type) = current_struct; current_struct->_incomplete = false; @@ -5978,9 +6000,9 @@ yyreduce: } break; - case 250: + case 252: /* Line 1792 of yacc.c */ -#line 2014 "dtool/src/cppparser/cppBison.yxx" +#line 2022 "dtool/src/cppparser/cppBison.yxx" { CPPVisibility starting_vis = ((yyvsp[(1) - (2)].u.extension_enum) == CPPExtensionType::T_class) ? V_private : V_public; @@ -6002,9 +6024,9 @@ yyreduce: } break; - case 251: + case 253: /* Line 1792 of yacc.c */ -#line 2034 "dtool/src/cppparser/cppBison.yxx" +#line 2042 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.struct_type) = current_struct; current_struct->_incomplete = false; @@ -6013,27 +6035,11 @@ yyreduce: } break; - case 256: -/* Line 1792 of yacc.c */ -#line 2054 "dtool/src/cppparser/cppBison.yxx" - { - current_struct->append_derivation((yyvsp[(2) - (2)].u.type), V_public, false); -} - break; - - case 257: -/* Line 1792 of yacc.c */ -#line 2058 "dtool/src/cppparser/cppBison.yxx" - { - current_struct->append_derivation((yyvsp[(2) - (2)].u.type), V_protected, false); -} - break; - case 258: /* Line 1792 of yacc.c */ #line 2062 "dtool/src/cppparser/cppBison.yxx" { - current_struct->append_derivation((yyvsp[(2) - (2)].u.type), V_private, false); + current_struct->append_derivation((yyvsp[(2) - (2)].u.type), V_public, false); } break; @@ -6041,7 +6047,7 @@ yyreduce: /* Line 1792 of yacc.c */ #line 2066 "dtool/src/cppparser/cppBison.yxx" { - current_struct->append_derivation((yyvsp[(3) - (3)].u.type), V_public, true); + current_struct->append_derivation((yyvsp[(2) - (2)].u.type), V_protected, false); } break; @@ -6049,7 +6055,7 @@ yyreduce: /* Line 1792 of yacc.c */ #line 2070 "dtool/src/cppparser/cppBison.yxx" { - current_struct->append_derivation((yyvsp[(3) - (3)].u.type), V_protected, true); + current_struct->append_derivation((yyvsp[(2) - (2)].u.type), V_private, false); } break; @@ -6057,7 +6063,7 @@ yyreduce: /* Line 1792 of yacc.c */ #line 2074 "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; @@ -6065,7 +6071,7 @@ yyreduce: /* Line 1792 of yacc.c */ #line 2078 "dtool/src/cppparser/cppBison.yxx" { - current_struct->append_derivation((yyvsp[(3) - (3)].u.type), V_public, true); + current_struct->append_derivation((yyvsp[(3) - (3)].u.type), V_protected, true); } break; @@ -6073,7 +6079,7 @@ yyreduce: /* Line 1792 of yacc.c */ #line 2082 "dtool/src/cppparser/cppBison.yxx" { - current_struct->append_derivation((yyvsp[(3) - (3)].u.type), V_protected, true); + current_struct->append_derivation((yyvsp[(3) - (3)].u.type), V_private, true); } break; @@ -6081,32 +6087,32 @@ yyreduce: /* Line 1792 of yacc.c */ #line 2086 "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 265: /* Line 1792 of yacc.c */ -#line 2093 "dtool/src/cppparser/cppBison.yxx" +#line 2090 "dtool/src/cppparser/cppBison.yxx" { - (yyval.u.enum_type) = current_enum; - current_enum = NULL; + current_struct->append_derivation((yyvsp[(3) - (3)].u.type), V_protected, true); } break; case 266: /* Line 1792 of yacc.c */ -#line 2101 "dtool/src/cppparser/cppBison.yxx" +#line 2094 "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); + current_struct->append_derivation((yyvsp[(3) - (3)].u.type), V_private, true); } break; case 267: /* Line 1792 of yacc.c */ -#line 2105 "dtool/src/cppparser/cppBison.yxx" +#line 2101 "dtool/src/cppparser/cppBison.yxx" { - current_enum = new CPPEnumType((yyvsp[(2) - (2)].u.identifier), current_scope, (yylsp[(1) - (2)]).file); + (yyval.u.enum_type) = current_enum; + current_enum = NULL; } break; @@ -6114,7 +6120,7 @@ yyreduce: /* Line 1792 of yacc.c */ #line 2109 "dtool/src/cppparser/cppBison.yxx" { - current_enum = new CPPEnumType(NULL, (yyvsp[(3) - (3)].u.type), current_scope, (yylsp[(1) - (3)]).file); + current_enum = new CPPEnumType((yyvsp[(2) - (4)].u.identifier), (yyvsp[(4) - (4)].u.type), current_scope, (yylsp[(1) - (4)]).file); } break; @@ -6122,23 +6128,31 @@ yyreduce: /* Line 1792 of yacc.c */ #line 2113 "dtool/src/cppparser/cppBison.yxx" { - current_enum = new CPPEnumType(NULL, current_scope, (yylsp[(1) - (1)]).file); + current_enum = new CPPEnumType((yyvsp[(2) - (2)].u.identifier), current_scope, (yylsp[(1) - (2)]).file); } break; case 270: /* Line 1792 of yacc.c */ -#line 2120 "dtool/src/cppparser/cppBison.yxx" +#line 2117 "dtool/src/cppparser/cppBison.yxx" { - (yyval.u.type) = CPPType::new_type((yyvsp[(1) - (1)].u.simple_type)); + current_enum = new CPPEnumType(NULL, (yyvsp[(3) - (3)].u.type), current_scope, (yylsp[(1) - (3)]).file); } break; case 271: /* Line 1792 of yacc.c */ -#line 2124 "dtool/src/cppparser/cppBison.yxx" +#line 2121 "dtool/src/cppparser/cppBison.yxx" { - (yyval.u.type) = (yyvsp[(1) - (1)].u.identifier)->find_type(current_scope, global_scope, false, current_lexer); + current_enum = new CPPEnumType(NULL, current_scope, (yylsp[(1) - (1)]).file); +} + break; + + case 272: +/* Line 1792 of yacc.c */ +#line 2128 "dtool/src/cppparser/cppBison.yxx" + { + (yyval.u.type) = CPPType::new_type((yyvsp[(1) - (1)].u.simple_type)); } break; @@ -6146,15 +6160,23 @@ yyreduce: /* Line 1792 of yacc.c */ #line 2132 "dtool/src/cppparser/cppBison.yxx" { + (yyval.u.type) = (yyvsp[(1) - (1)].u.identifier)->find_type(current_scope, global_scope, false, current_lexer); +} + break; + + case 275: +/* Line 1792 of yacc.c */ +#line 2140 "dtool/src/cppparser/cppBison.yxx" + { assert(current_enum != NULL); CPPInstance *inst = current_enum->add_element((yyvsp[(2) - (3)].u.identifier)->get_simple_name()); current_scope->add_enum_value(inst, current_lexer, (yylsp[(2) - (3)])); } break; - case 274: + case 276: /* Line 1792 of yacc.c */ -#line 2138 "dtool/src/cppparser/cppBison.yxx" +#line 2146 "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)); @@ -6162,9 +6184,9 @@ yyreduce: } break; - case 276: + case 278: /* Line 1792 of yacc.c */ -#line 2147 "dtool/src/cppparser/cppBison.yxx" +#line 2155 "dtool/src/cppparser/cppBison.yxx" { assert(current_enum != NULL); CPPInstance *inst = current_enum->add_element((yyvsp[(2) - (2)].u.identifier)->get_simple_name()); @@ -6172,9 +6194,9 @@ yyreduce: } break; - case 277: + case 279: /* Line 1792 of yacc.c */ -#line 2153 "dtool/src/cppparser/cppBison.yxx" +#line 2161 "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)); @@ -6182,27 +6204,11 @@ yyreduce: } break; - case 278: -/* Line 1792 of yacc.c */ -#line 2162 "dtool/src/cppparser/cppBison.yxx" - { - (yyval.u.extension_enum) = CPPExtensionType::T_enum; -} - break; - - case 279: -/* Line 1792 of yacc.c */ -#line 2169 "dtool/src/cppparser/cppBison.yxx" - { - (yyval.u.extension_enum) = CPPExtensionType::T_class; -} - break; - case 280: /* Line 1792 of yacc.c */ -#line 2173 "dtool/src/cppparser/cppBison.yxx" +#line 2170 "dtool/src/cppparser/cppBison.yxx" { - (yyval.u.extension_enum) = CPPExtensionType::T_struct; + (yyval.u.extension_enum) = CPPExtensionType::T_enum; } break; @@ -6210,13 +6216,29 @@ yyreduce: /* Line 1792 of yacc.c */ #line 2177 "dtool/src/cppparser/cppBison.yxx" { - (yyval.u.extension_enum) = CPPExtensionType::T_union; + (yyval.u.extension_enum) = CPPExtensionType::T_class; } break; case 282: /* Line 1792 of yacc.c */ -#line 2184 "dtool/src/cppparser/cppBison.yxx" +#line 2181 "dtool/src/cppparser/cppBison.yxx" + { + (yyval.u.extension_enum) = CPPExtensionType::T_struct; +} + break; + + case 283: +/* Line 1792 of yacc.c */ +#line 2185 "dtool/src/cppparser/cppBison.yxx" + { + (yyval.u.extension_enum) = CPPExtensionType::T_union; +} + break; + + case 284: +/* Line 1792 of yacc.c */ +#line 2192 "dtool/src/cppparser/cppBison.yxx" { CPPScope *scope = (yyvsp[(2) - (3)].u.identifier)->find_scope(current_scope, global_scope, current_lexer); if (scope == NULL) { @@ -6236,17 +6258,17 @@ yyreduce: } break; - case 283: + case 285: /* Line 1792 of yacc.c */ -#line 2202 "dtool/src/cppparser/cppBison.yxx" +#line 2210 "dtool/src/cppparser/cppBison.yxx" { pop_scope(); } break; - case 284: + case 286: /* Line 1792 of yacc.c */ -#line 2206 "dtool/src/cppparser/cppBison.yxx" +#line 2214 "dtool/src/cppparser/cppBison.yxx" { CPPScope *scope = (yyvsp[(3) - (4)].u.identifier)->find_scope(current_scope, global_scope, current_lexer); if (scope == NULL) { @@ -6267,17 +6289,17 @@ yyreduce: } break; - case 285: + case 287: /* Line 1792 of yacc.c */ -#line 2225 "dtool/src/cppparser/cppBison.yxx" +#line 2233 "dtool/src/cppparser/cppBison.yxx" { pop_scope(); } break; - case 288: + case 290: /* Line 1792 of yacc.c */ -#line 2234 "dtool/src/cppparser/cppBison.yxx" +#line 2242 "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)])); @@ -6285,9 +6307,9 @@ yyreduce: } break; - case 289: + case 291: /* Line 1792 of yacc.c */ -#line 2240 "dtool/src/cppparser/cppBison.yxx" +#line 2248 "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)])); @@ -6295,27 +6317,11 @@ yyreduce: } break; - case 293: -/* Line 1792 of yacc.c */ -#line 2255 "dtool/src/cppparser/cppBison.yxx" - { - (yyval.u.simple_type) = new CPPSimpleType(CPPSimpleType::T_bool); -} - break; - - case 294: -/* Line 1792 of yacc.c */ -#line 2259 "dtool/src/cppparser/cppBison.yxx" - { - (yyval.u.simple_type) = new CPPSimpleType(CPPSimpleType::T_char); -} - break; - case 295: /* Line 1792 of yacc.c */ #line 2263 "dtool/src/cppparser/cppBison.yxx" { - (yyval.u.simple_type) = new CPPSimpleType(CPPSimpleType::T_wchar_t); + (yyval.u.simple_type) = new CPPSimpleType(CPPSimpleType::T_bool); } break; @@ -6323,7 +6329,7 @@ yyreduce: /* Line 1792 of yacc.c */ #line 2267 "dtool/src/cppparser/cppBison.yxx" { - (yyval.u.simple_type) = new CPPSimpleType(CPPSimpleType::T_char16_t); + (yyval.u.simple_type) = new CPPSimpleType(CPPSimpleType::T_char); } break; @@ -6331,7 +6337,7 @@ yyreduce: /* Line 1792 of yacc.c */ #line 2271 "dtool/src/cppparser/cppBison.yxx" { - (yyval.u.simple_type) = new CPPSimpleType(CPPSimpleType::T_char32_t); + (yyval.u.simple_type) = new CPPSimpleType(CPPSimpleType::T_wchar_t); } break; @@ -6339,67 +6345,83 @@ yyreduce: /* Line 1792 of yacc.c */ #line 2275 "dtool/src/cppparser/cppBison.yxx" { - (yyval.u.simple_type) = new CPPSimpleType(CPPSimpleType::T_int, - CPPSimpleType::F_short); + (yyval.u.simple_type) = new CPPSimpleType(CPPSimpleType::T_char16_t); } break; case 299: /* Line 1792 of yacc.c */ -#line 2280 "dtool/src/cppparser/cppBison.yxx" +#line 2279 "dtool/src/cppparser/cppBison.yxx" + { + (yyval.u.simple_type) = new CPPSimpleType(CPPSimpleType::T_char32_t); +} + break; + + case 300: +/* Line 1792 of yacc.c */ +#line 2283 "dtool/src/cppparser/cppBison.yxx" + { + (yyval.u.simple_type) = new CPPSimpleType(CPPSimpleType::T_int, + CPPSimpleType::F_short); +} + break; + + case 301: +/* Line 1792 of yacc.c */ +#line 2288 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.simple_type) = new CPPSimpleType(CPPSimpleType::T_int, CPPSimpleType::F_long); } break; - case 300: + case 302: /* Line 1792 of yacc.c */ -#line 2285 "dtool/src/cppparser/cppBison.yxx" +#line 2293 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.simple_type) = new CPPSimpleType(CPPSimpleType::T_int, CPPSimpleType::F_longlong); } break; - case 301: + case 303: /* Line 1792 of yacc.c */ -#line 2290 "dtool/src/cppparser/cppBison.yxx" +#line 2298 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.simple_type) = new CPPSimpleType(CPPSimpleType::T_int, CPPSimpleType::F_unsigned); } break; - case 302: + case 304: /* Line 1792 of yacc.c */ -#line 2295 "dtool/src/cppparser/cppBison.yxx" +#line 2303 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.simple_type) = new CPPSimpleType(CPPSimpleType::T_int, CPPSimpleType::F_signed); } break; - case 303: + case 305: /* Line 1792 of yacc.c */ -#line 2300 "dtool/src/cppparser/cppBison.yxx" +#line 2308 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.simple_type) = new CPPSimpleType(CPPSimpleType::T_int); } break; - case 304: + case 306: /* Line 1792 of yacc.c */ -#line 2304 "dtool/src/cppparser/cppBison.yxx" +#line 2312 "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 305: + case 307: /* Line 1792 of yacc.c */ -#line 2309 "dtool/src/cppparser/cppBison.yxx" +#line 2317 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.simple_type) = (yyvsp[(2) - (2)].u.simple_type); if ((yyval.u.simple_type)->_flags & CPPSimpleType::F_long) { @@ -6410,117 +6432,101 @@ yyreduce: } break; - case 306: + case 308: /* Line 1792 of yacc.c */ -#line 2318 "dtool/src/cppparser/cppBison.yxx" +#line 2326 "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 307: + case 309: /* Line 1792 of yacc.c */ -#line 2323 "dtool/src/cppparser/cppBison.yxx" +#line 2331 "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 308: + case 310: /* Line 1792 of yacc.c */ -#line 2331 "dtool/src/cppparser/cppBison.yxx" +#line 2339 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.simple_type) = new CPPSimpleType(CPPSimpleType::T_float); } break; - case 309: + case 311: /* Line 1792 of yacc.c */ -#line 2335 "dtool/src/cppparser/cppBison.yxx" +#line 2343 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.simple_type) = new CPPSimpleType(CPPSimpleType::T_float, CPPSimpleType::F_long); } break; - case 310: + case 312: /* Line 1792 of yacc.c */ -#line 2340 "dtool/src/cppparser/cppBison.yxx" +#line 2348 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.simple_type) = new CPPSimpleType(CPPSimpleType::T_double); } break; - case 311: + case 313: /* Line 1792 of yacc.c */ -#line 2344 "dtool/src/cppparser/cppBison.yxx" +#line 2352 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.simple_type) = new CPPSimpleType(CPPSimpleType::T_float, CPPSimpleType::F_longlong); } break; - case 312: + case 314: /* Line 1792 of yacc.c */ -#line 2349 "dtool/src/cppparser/cppBison.yxx" +#line 2357 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.simple_type) = new CPPSimpleType(CPPSimpleType::T_double, CPPSimpleType::F_long); } break; - case 313: + case 315: /* Line 1792 of yacc.c */ -#line 2357 "dtool/src/cppparser/cppBison.yxx" +#line 2365 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.simple_type) = new CPPSimpleType(CPPSimpleType::T_void); } break; - case 314: + case 316: /* Line 1792 of yacc.c */ -#line 2366 "dtool/src/cppparser/cppBison.yxx" +#line 2374 "dtool/src/cppparser/cppBison.yxx" { current_lexer->_resolve_identifiers = false; } break; - case 315: + case 317: /* Line 1792 of yacc.c */ -#line 2370 "dtool/src/cppparser/cppBison.yxx" +#line 2378 "dtool/src/cppparser/cppBison.yxx" { current_lexer->_resolve_identifiers = true; } break; - case 412: + case 414: /* Line 1792 of yacc.c */ -#line 2410 "dtool/src/cppparser/cppBison.yxx" +#line 2418 "dtool/src/cppparser/cppBison.yxx" { } break; - case 436: -/* Line 1792 of yacc.c */ -#line 2419 "dtool/src/cppparser/cppBison.yxx" - { - (yyval.u.expr) = (CPPExpression *)NULL; -} - break; - - case 437: -/* Line 1792 of yacc.c */ -#line 2423 "dtool/src/cppparser/cppBison.yxx" - { - (yyval.u.expr) = (yyvsp[(1) - (1)].u.expr); -} - break; - case 438: /* Line 1792 of yacc.c */ -#line 2430 "dtool/src/cppparser/cppBison.yxx" +#line 2427 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = (CPPExpression *)NULL; } @@ -6528,7 +6534,7 @@ yyreduce: case 439: /* Line 1792 of yacc.c */ -#line 2434 "dtool/src/cppparser/cppBison.yxx" +#line 2431 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = (yyvsp[(1) - (1)].u.expr); } @@ -6536,23 +6542,23 @@ yyreduce: case 440: /* Line 1792 of yacc.c */ -#line 2441 "dtool/src/cppparser/cppBison.yxx" +#line 2438 "dtool/src/cppparser/cppBison.yxx" { - (yyval.u.expr) = (yyvsp[(1) - (1)].u.expr); + (yyval.u.expr) = (CPPExpression *)NULL; } break; case 441: /* Line 1792 of yacc.c */ -#line 2445 "dtool/src/cppparser/cppBison.yxx" +#line 2442 "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 442: /* Line 1792 of yacc.c */ -#line 2452 "dtool/src/cppparser/cppBison.yxx" +#line 2449 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = (yyvsp[(1) - (1)].u.expr); } @@ -6560,9 +6566,9 @@ yyreduce: case 443: /* Line 1792 of yacc.c */ -#line 2456 "dtool/src/cppparser/cppBison.yxx" +#line 2453 "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; @@ -6570,7 +6576,7 @@ yyreduce: /* Line 1792 of yacc.c */ #line 2460 "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; @@ -6578,7 +6584,7 @@ yyreduce: /* Line 1792 of yacc.c */ #line 2464 "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; @@ -6586,7 +6592,7 @@ yyreduce: /* Line 1792 of yacc.c */ #line 2468 "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; @@ -6594,7 +6600,7 @@ yyreduce: /* Line 1792 of yacc.c */ #line 2472 "dtool/src/cppparser/cppBison.yxx" { - (yyval.u.expr) = new CPPExpression(CPPExpression::alignof_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; @@ -6602,7 +6608,7 @@ yyreduce: /* Line 1792 of yacc.c */ #line 2476 "dtool/src/cppparser/cppBison.yxx" { - (yyval.u.expr) = new CPPExpression(UNARY_NOT, (yyvsp[(2) - (2)].u.expr)); + (yyval.u.expr) = new CPPExpression(CPPExpression::sizeof_func((yyvsp[(3) - (4)].u.type))); } break; @@ -6610,7 +6616,7 @@ yyreduce: /* Line 1792 of yacc.c */ #line 2480 "dtool/src/cppparser/cppBison.yxx" { - (yyval.u.expr) = new CPPExpression(UNARY_NEGATE, (yyvsp[(2) - (2)].u.expr)); + (yyval.u.expr) = new CPPExpression(CPPExpression::alignof_func((yyvsp[(3) - (4)].u.type))); } break; @@ -6618,7 +6624,7 @@ yyreduce: /* Line 1792 of yacc.c */ #line 2484 "dtool/src/cppparser/cppBison.yxx" { - (yyval.u.expr) = new CPPExpression(UNARY_MINUS, (yyvsp[(2) - (2)].u.expr)); + (yyval.u.expr) = new CPPExpression(UNARY_NOT, (yyvsp[(2) - (2)].u.expr)); } break; @@ -6626,7 +6632,7 @@ yyreduce: /* Line 1792 of yacc.c */ #line 2488 "dtool/src/cppparser/cppBison.yxx" { - (yyval.u.expr) = new CPPExpression(UNARY_STAR, (yyvsp[(2) - (2)].u.expr)); + (yyval.u.expr) = new CPPExpression(UNARY_NEGATE, (yyvsp[(2) - (2)].u.expr)); } break; @@ -6634,7 +6640,7 @@ yyreduce: /* Line 1792 of yacc.c */ #line 2492 "dtool/src/cppparser/cppBison.yxx" { - (yyval.u.expr) = new CPPExpression(UNARY_REF, (yyvsp[(2) - (2)].u.expr)); + (yyval.u.expr) = new CPPExpression(UNARY_MINUS, (yyvsp[(2) - (2)].u.expr)); } break; @@ -6642,7 +6648,7 @@ yyreduce: /* Line 1792 of yacc.c */ #line 2496 "dtool/src/cppparser/cppBison.yxx" { - (yyval.u.expr) = new CPPExpression('*', (yyvsp[(1) - (3)].u.expr), (yyvsp[(3) - (3)].u.expr)); + (yyval.u.expr) = new CPPExpression(UNARY_STAR, (yyvsp[(2) - (2)].u.expr)); } break; @@ -6650,7 +6656,7 @@ yyreduce: /* Line 1792 of yacc.c */ #line 2500 "dtool/src/cppparser/cppBison.yxx" { - (yyval.u.expr) = new CPPExpression('/', (yyvsp[(1) - (3)].u.expr), (yyvsp[(3) - (3)].u.expr)); + (yyval.u.expr) = new CPPExpression(UNARY_REF, (yyvsp[(2) - (2)].u.expr)); } break; @@ -6658,7 +6664,7 @@ yyreduce: /* Line 1792 of yacc.c */ #line 2504 "dtool/src/cppparser/cppBison.yxx" { - (yyval.u.expr) = new CPPExpression('%', (yyvsp[(1) - (3)].u.expr), (yyvsp[(3) - (3)].u.expr)); + (yyval.u.expr) = new CPPExpression('*', (yyvsp[(1) - (3)].u.expr), (yyvsp[(3) - (3)].u.expr)); } break; @@ -6666,7 +6672,7 @@ yyreduce: /* Line 1792 of yacc.c */ #line 2508 "dtool/src/cppparser/cppBison.yxx" { - (yyval.u.expr) = new CPPExpression('+', (yyvsp[(1) - (3)].u.expr), (yyvsp[(3) - (3)].u.expr)); + (yyval.u.expr) = new CPPExpression('/', (yyvsp[(1) - (3)].u.expr), (yyvsp[(3) - (3)].u.expr)); } break; @@ -6674,7 +6680,7 @@ yyreduce: /* Line 1792 of yacc.c */ #line 2512 "dtool/src/cppparser/cppBison.yxx" { - (yyval.u.expr) = new CPPExpression('-', (yyvsp[(1) - (3)].u.expr), (yyvsp[(3) - (3)].u.expr)); + (yyval.u.expr) = new CPPExpression('%', (yyvsp[(1) - (3)].u.expr), (yyvsp[(3) - (3)].u.expr)); } break; @@ -6682,7 +6688,7 @@ yyreduce: /* Line 1792 of yacc.c */ #line 2516 "dtool/src/cppparser/cppBison.yxx" { - (yyval.u.expr) = new CPPExpression('|', (yyvsp[(1) - (3)].u.expr), (yyvsp[(3) - (3)].u.expr)); + (yyval.u.expr) = new CPPExpression('+', (yyvsp[(1) - (3)].u.expr), (yyvsp[(3) - (3)].u.expr)); } break; @@ -6690,7 +6696,7 @@ yyreduce: /* Line 1792 of yacc.c */ #line 2520 "dtool/src/cppparser/cppBison.yxx" { - (yyval.u.expr) = new CPPExpression('^', (yyvsp[(1) - (3)].u.expr), (yyvsp[(3) - (3)].u.expr)); + (yyval.u.expr) = new CPPExpression('-', (yyvsp[(1) - (3)].u.expr), (yyvsp[(3) - (3)].u.expr)); } break; @@ -6698,7 +6704,7 @@ yyreduce: /* Line 1792 of yacc.c */ #line 2524 "dtool/src/cppparser/cppBison.yxx" { - (yyval.u.expr) = new CPPExpression('&', (yyvsp[(1) - (3)].u.expr), (yyvsp[(3) - (3)].u.expr)); + (yyval.u.expr) = new CPPExpression('|', (yyvsp[(1) - (3)].u.expr), (yyvsp[(3) - (3)].u.expr)); } break; @@ -6706,7 +6712,7 @@ yyreduce: /* Line 1792 of yacc.c */ #line 2528 "dtool/src/cppparser/cppBison.yxx" { - (yyval.u.expr) = new CPPExpression(OROR, (yyvsp[(1) - (3)].u.expr), (yyvsp[(3) - (3)].u.expr)); + (yyval.u.expr) = new CPPExpression('^', (yyvsp[(1) - (3)].u.expr), (yyvsp[(3) - (3)].u.expr)); } break; @@ -6714,7 +6720,7 @@ yyreduce: /* Line 1792 of yacc.c */ #line 2532 "dtool/src/cppparser/cppBison.yxx" { - (yyval.u.expr) = new CPPExpression(ANDAND, (yyvsp[(1) - (3)].u.expr), (yyvsp[(3) - (3)].u.expr)); + (yyval.u.expr) = new CPPExpression('&', (yyvsp[(1) - (3)].u.expr), (yyvsp[(3) - (3)].u.expr)); } break; @@ -6722,7 +6728,7 @@ yyreduce: /* Line 1792 of yacc.c */ #line 2536 "dtool/src/cppparser/cppBison.yxx" { - (yyval.u.expr) = new CPPExpression(EQCOMPARE, (yyvsp[(1) - (3)].u.expr), (yyvsp[(3) - (3)].u.expr)); + (yyval.u.expr) = new CPPExpression(OROR, (yyvsp[(1) - (3)].u.expr), (yyvsp[(3) - (3)].u.expr)); } break; @@ -6730,7 +6736,7 @@ yyreduce: /* Line 1792 of yacc.c */ #line 2540 "dtool/src/cppparser/cppBison.yxx" { - (yyval.u.expr) = new CPPExpression(NECOMPARE, (yyvsp[(1) - (3)].u.expr), (yyvsp[(3) - (3)].u.expr)); + (yyval.u.expr) = new CPPExpression(ANDAND, (yyvsp[(1) - (3)].u.expr), (yyvsp[(3) - (3)].u.expr)); } break; @@ -6738,7 +6744,7 @@ yyreduce: /* Line 1792 of yacc.c */ #line 2544 "dtool/src/cppparser/cppBison.yxx" { - (yyval.u.expr) = new CPPExpression(LECOMPARE, (yyvsp[(1) - (3)].u.expr), (yyvsp[(3) - (3)].u.expr)); + (yyval.u.expr) = new CPPExpression(EQCOMPARE, (yyvsp[(1) - (3)].u.expr), (yyvsp[(3) - (3)].u.expr)); } break; @@ -6746,7 +6752,7 @@ yyreduce: /* Line 1792 of yacc.c */ #line 2548 "dtool/src/cppparser/cppBison.yxx" { - (yyval.u.expr) = new CPPExpression(GECOMPARE, (yyvsp[(1) - (3)].u.expr), (yyvsp[(3) - (3)].u.expr)); + (yyval.u.expr) = new CPPExpression(NECOMPARE, (yyvsp[(1) - (3)].u.expr), (yyvsp[(3) - (3)].u.expr)); } break; @@ -6754,7 +6760,7 @@ yyreduce: /* Line 1792 of yacc.c */ #line 2552 "dtool/src/cppparser/cppBison.yxx" { - (yyval.u.expr) = new CPPExpression(LSHIFT, (yyvsp[(1) - (3)].u.expr), (yyvsp[(3) - (3)].u.expr)); + (yyval.u.expr) = new CPPExpression(LECOMPARE, (yyvsp[(1) - (3)].u.expr), (yyvsp[(3) - (3)].u.expr)); } break; @@ -6762,7 +6768,7 @@ yyreduce: /* Line 1792 of yacc.c */ #line 2556 "dtool/src/cppparser/cppBison.yxx" { - (yyval.u.expr) = new CPPExpression(RSHIFT, (yyvsp[(1) - (3)].u.expr), (yyvsp[(3) - (3)].u.expr)); + (yyval.u.expr) = new CPPExpression(GECOMPARE, (yyvsp[(1) - (3)].u.expr), (yyvsp[(3) - (3)].u.expr)); } break; @@ -6770,7 +6776,7 @@ yyreduce: /* Line 1792 of yacc.c */ #line 2560 "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)); + (yyval.u.expr) = new CPPExpression(LSHIFT, (yyvsp[(1) - (3)].u.expr), (yyvsp[(3) - (3)].u.expr)); } break; @@ -6778,7 +6784,7 @@ yyreduce: /* Line 1792 of yacc.c */ #line 2564 "dtool/src/cppparser/cppBison.yxx" { - (yyval.u.expr) = new CPPExpression('[', (yyvsp[(1) - (4)].u.expr), (yyvsp[(3) - (4)].u.expr)); + (yyval.u.expr) = new CPPExpression(RSHIFT, (yyvsp[(1) - (3)].u.expr), (yyvsp[(3) - (3)].u.expr)); } break; @@ -6786,7 +6792,7 @@ yyreduce: /* Line 1792 of yacc.c */ #line 2568 "dtool/src/cppparser/cppBison.yxx" { - (yyval.u.expr) = new CPPExpression('f', (yyvsp[(1) - (4)].u.expr), (yyvsp[(3) - (4)].u.expr)); + (yyval.u.expr) = new CPPExpression('?', (yyvsp[(1) - (5)].u.expr), (yyvsp[(3) - (5)].u.expr), (yyvsp[(5) - (5)].u.expr)); } break; @@ -6794,7 +6800,7 @@ yyreduce: /* Line 1792 of yacc.c */ #line 2572 "dtool/src/cppparser/cppBison.yxx" { - (yyval.u.expr) = new CPPExpression('f', (yyvsp[(1) - (3)].u.expr)); + (yyval.u.expr) = new CPPExpression('[', (yyvsp[(1) - (4)].u.expr), (yyvsp[(3) - (4)].u.expr)); } break; @@ -6802,7 +6808,7 @@ yyreduce: /* Line 1792 of yacc.c */ #line 2576 "dtool/src/cppparser/cppBison.yxx" { - (yyval.u.expr) = new CPPExpression('.', (yyvsp[(1) - (3)].u.expr), (yyvsp[(3) - (3)].u.expr)); + (yyval.u.expr) = new CPPExpression('f', (yyvsp[(1) - (4)].u.expr), (yyvsp[(3) - (4)].u.expr)); } break; @@ -6810,7 +6816,7 @@ yyreduce: /* Line 1792 of yacc.c */ #line 2580 "dtool/src/cppparser/cppBison.yxx" { - (yyval.u.expr) = new CPPExpression(POINTSAT, (yyvsp[(1) - (3)].u.expr), (yyvsp[(3) - (3)].u.expr)); + (yyval.u.expr) = new CPPExpression('f', (yyvsp[(1) - (3)].u.expr)); } break; @@ -6818,23 +6824,23 @@ yyreduce: /* Line 1792 of yacc.c */ #line 2584 "dtool/src/cppparser/cppBison.yxx" { - (yyval.u.expr) = (yyvsp[(2) - (3)].u.expr); + (yyval.u.expr) = new CPPExpression('.', (yyvsp[(1) - (3)].u.expr), (yyvsp[(3) - (3)].u.expr)); } break; case 476: /* Line 1792 of yacc.c */ -#line 2592 "dtool/src/cppparser/cppBison.yxx" +#line 2588 "dtool/src/cppparser/cppBison.yxx" { - (yyval.u.expr) = (yyvsp[(1) - (1)].u.expr); + (yyval.u.expr) = new CPPExpression(POINTSAT, (yyvsp[(1) - (3)].u.expr), (yyvsp[(3) - (3)].u.expr)); } break; case 477: /* Line 1792 of yacc.c */ -#line 2596 "dtool/src/cppparser/cppBison.yxx" +#line 2592 "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) = (yyvsp[(2) - (3)].u.expr); } break; @@ -6842,7 +6848,7 @@ yyreduce: /* Line 1792 of yacc.c */ #line 2600 "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; @@ -6850,7 +6856,7 @@ yyreduce: /* Line 1792 of yacc.c */ #line 2604 "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; @@ -6858,6 +6864,22 @@ yyreduce: /* Line 1792 of yacc.c */ #line 2608 "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 481: +/* Line 1792 of yacc.c */ +#line 2612 "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 482: +/* Line 1792 of yacc.c */ +#line 2616 "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) { @@ -6868,9 +6890,9 @@ yyreduce: } break; - case 481: + case 483: /* Line 1792 of yacc.c */ -#line 2618 "dtool/src/cppparser/cppBison.yxx" +#line 2626 "dtool/src/cppparser/cppBison.yxx" { CPPType *type = CPPType::new_type(new CPPSimpleType(CPPSimpleType::T_int)); @@ -6878,9 +6900,9 @@ yyreduce: } break; - case 482: + case 484: /* Line 1792 of yacc.c */ -#line 2624 "dtool/src/cppparser/cppBison.yxx" +#line 2632 "dtool/src/cppparser/cppBison.yxx" { CPPType *type = CPPType::new_type(new CPPSimpleType(CPPSimpleType::T_char)); @@ -6888,9 +6910,9 @@ yyreduce: } break; - case 483: + case 485: /* Line 1792 of yacc.c */ -#line 2630 "dtool/src/cppparser/cppBison.yxx" +#line 2638 "dtool/src/cppparser/cppBison.yxx" { CPPType *type = CPPType::new_type(new CPPSimpleType(CPPSimpleType::T_wchar_t)); @@ -6898,9 +6920,9 @@ yyreduce: } break; - case 484: + case 486: /* Line 1792 of yacc.c */ -#line 2636 "dtool/src/cppparser/cppBison.yxx" +#line 2644 "dtool/src/cppparser/cppBison.yxx" { CPPType *type = CPPType::new_type(new CPPSimpleType(CPPSimpleType::T_char16_t)); @@ -6908,9 +6930,9 @@ yyreduce: } break; - case 485: + case 487: /* Line 1792 of yacc.c */ -#line 2642 "dtool/src/cppparser/cppBison.yxx" +#line 2650 "dtool/src/cppparser/cppBison.yxx" { CPPType *type = CPPType::new_type(new CPPSimpleType(CPPSimpleType::T_char32_t)); @@ -6918,9 +6940,9 @@ yyreduce: } break; - case 486: + case 488: /* Line 1792 of yacc.c */ -#line 2648 "dtool/src/cppparser/cppBison.yxx" +#line 2656 "dtool/src/cppparser/cppBison.yxx" { CPPType *type = CPPType::new_type(new CPPSimpleType(CPPSimpleType::T_bool)); @@ -6928,9 +6950,9 @@ yyreduce: } break; - case 487: + case 489: /* Line 1792 of yacc.c */ -#line 2654 "dtool/src/cppparser/cppBison.yxx" +#line 2662 "dtool/src/cppparser/cppBison.yxx" { CPPType *type = CPPType::new_type(new CPPSimpleType(CPPSimpleType::T_int, @@ -6939,9 +6961,9 @@ yyreduce: } break; - case 488: + case 490: /* Line 1792 of yacc.c */ -#line 2661 "dtool/src/cppparser/cppBison.yxx" +#line 2669 "dtool/src/cppparser/cppBison.yxx" { CPPType *type = CPPType::new_type(new CPPSimpleType(CPPSimpleType::T_int, @@ -6950,9 +6972,9 @@ yyreduce: } break; - case 489: + case 491: /* Line 1792 of yacc.c */ -#line 2668 "dtool/src/cppparser/cppBison.yxx" +#line 2676 "dtool/src/cppparser/cppBison.yxx" { CPPType *type = CPPType::new_type(new CPPSimpleType(CPPSimpleType::T_int, @@ -6961,9 +6983,9 @@ yyreduce: } break; - case 490: + case 492: /* Line 1792 of yacc.c */ -#line 2675 "dtool/src/cppparser/cppBison.yxx" +#line 2683 "dtool/src/cppparser/cppBison.yxx" { CPPType *type = CPPType::new_type(new CPPSimpleType(CPPSimpleType::T_int, @@ -6972,9 +6994,9 @@ yyreduce: } break; - case 491: + case 493: /* Line 1792 of yacc.c */ -#line 2682 "dtool/src/cppparser/cppBison.yxx" +#line 2690 "dtool/src/cppparser/cppBison.yxx" { CPPType *type = CPPType::new_type(new CPPSimpleType(CPPSimpleType::T_float)); @@ -6982,9 +7004,9 @@ yyreduce: } break; - case 492: + case 494: /* Line 1792 of yacc.c */ -#line 2688 "dtool/src/cppparser/cppBison.yxx" +#line 2696 "dtool/src/cppparser/cppBison.yxx" { CPPType *type = CPPType::new_type(new CPPSimpleType(CPPSimpleType::T_double)); @@ -6992,27 +7014,11 @@ yyreduce: } break; - case 493: -/* Line 1792 of yacc.c */ -#line 2694 "dtool/src/cppparser/cppBison.yxx" - { - (yyval.u.expr) = new CPPExpression(CPPExpression::sizeof_func((yyvsp[(3) - (4)].u.type))); -} - break; - - case 494: -/* Line 1792 of yacc.c */ -#line 2698 "dtool/src/cppparser/cppBison.yxx" - { - (yyval.u.expr) = new CPPExpression(CPPExpression::alignof_func((yyvsp[(3) - (4)].u.type))); -} - break; - case 495: /* Line 1792 of yacc.c */ #line 2702 "dtool/src/cppparser/cppBison.yxx" { - (yyval.u.expr) = new CPPExpression(CPPExpression::new_op((yyvsp[(2) - (2)].u.type))); + (yyval.u.expr) = new CPPExpression(CPPExpression::sizeof_func((yyvsp[(3) - (4)].u.type))); } break; @@ -7020,7 +7026,7 @@ yyreduce: /* Line 1792 of yacc.c */ #line 2706 "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::alignof_func((yyvsp[(3) - (4)].u.type))); } break; @@ -7028,7 +7034,7 @@ yyreduce: /* Line 1792 of yacc.c */ #line 2710 "dtool/src/cppparser/cppBison.yxx" { - (yyval.u.expr) = new CPPExpression(UNARY_NOT, (yyvsp[(2) - (2)].u.expr)); + (yyval.u.expr) = new CPPExpression(CPPExpression::new_op((yyvsp[(2) - (2)].u.type))); } break; @@ -7036,7 +7042,7 @@ yyreduce: /* Line 1792 of yacc.c */ #line 2714 "dtool/src/cppparser/cppBison.yxx" { - (yyval.u.expr) = new CPPExpression(UNARY_NEGATE, (yyvsp[(2) - (2)].u.expr)); + (yyval.u.expr) = new CPPExpression(CPPExpression::new_op((yyvsp[(2) - (5)].u.type), (yyvsp[(4) - (5)].u.expr))); } break; @@ -7044,7 +7050,7 @@ yyreduce: /* Line 1792 of yacc.c */ #line 2718 "dtool/src/cppparser/cppBison.yxx" { - (yyval.u.expr) = new CPPExpression(UNARY_MINUS, (yyvsp[(2) - (2)].u.expr)); + (yyval.u.expr) = new CPPExpression(UNARY_NOT, (yyvsp[(2) - (2)].u.expr)); } break; @@ -7052,7 +7058,7 @@ yyreduce: /* Line 1792 of yacc.c */ #line 2722 "dtool/src/cppparser/cppBison.yxx" { - (yyval.u.expr) = new CPPExpression(UNARY_STAR, (yyvsp[(2) - (2)].u.expr)); + (yyval.u.expr) = new CPPExpression(UNARY_NEGATE, (yyvsp[(2) - (2)].u.expr)); } break; @@ -7060,7 +7066,7 @@ yyreduce: /* Line 1792 of yacc.c */ #line 2726 "dtool/src/cppparser/cppBison.yxx" { - (yyval.u.expr) = new CPPExpression(UNARY_REF, (yyvsp[(2) - (2)].u.expr)); + (yyval.u.expr) = new CPPExpression(UNARY_MINUS, (yyvsp[(2) - (2)].u.expr)); } break; @@ -7068,7 +7074,7 @@ yyreduce: /* Line 1792 of yacc.c */ #line 2730 "dtool/src/cppparser/cppBison.yxx" { - (yyval.u.expr) = new CPPExpression('*', (yyvsp[(1) - (3)].u.expr), (yyvsp[(3) - (3)].u.expr)); + (yyval.u.expr) = new CPPExpression(UNARY_STAR, (yyvsp[(2) - (2)].u.expr)); } break; @@ -7076,7 +7082,7 @@ yyreduce: /* Line 1792 of yacc.c */ #line 2734 "dtool/src/cppparser/cppBison.yxx" { - (yyval.u.expr) = new CPPExpression('/', (yyvsp[(1) - (3)].u.expr), (yyvsp[(3) - (3)].u.expr)); + (yyval.u.expr) = new CPPExpression(UNARY_REF, (yyvsp[(2) - (2)].u.expr)); } break; @@ -7084,7 +7090,7 @@ yyreduce: /* Line 1792 of yacc.c */ #line 2738 "dtool/src/cppparser/cppBison.yxx" { - (yyval.u.expr) = new CPPExpression('%', (yyvsp[(1) - (3)].u.expr), (yyvsp[(3) - (3)].u.expr)); + (yyval.u.expr) = new CPPExpression('*', (yyvsp[(1) - (3)].u.expr), (yyvsp[(3) - (3)].u.expr)); } break; @@ -7092,7 +7098,7 @@ yyreduce: /* Line 1792 of yacc.c */ #line 2742 "dtool/src/cppparser/cppBison.yxx" { - (yyval.u.expr) = new CPPExpression('+', (yyvsp[(1) - (3)].u.expr), (yyvsp[(3) - (3)].u.expr)); + (yyval.u.expr) = new CPPExpression('/', (yyvsp[(1) - (3)].u.expr), (yyvsp[(3) - (3)].u.expr)); } break; @@ -7100,7 +7106,7 @@ yyreduce: /* Line 1792 of yacc.c */ #line 2746 "dtool/src/cppparser/cppBison.yxx" { - (yyval.u.expr) = new CPPExpression('-', (yyvsp[(1) - (3)].u.expr), (yyvsp[(3) - (3)].u.expr)); + (yyval.u.expr) = new CPPExpression('%', (yyvsp[(1) - (3)].u.expr), (yyvsp[(3) - (3)].u.expr)); } break; @@ -7108,7 +7114,7 @@ yyreduce: /* Line 1792 of yacc.c */ #line 2750 "dtool/src/cppparser/cppBison.yxx" { - (yyval.u.expr) = new CPPExpression('|', (yyvsp[(1) - (3)].u.expr), (yyvsp[(3) - (3)].u.expr)); + (yyval.u.expr) = new CPPExpression('+', (yyvsp[(1) - (3)].u.expr), (yyvsp[(3) - (3)].u.expr)); } break; @@ -7116,7 +7122,7 @@ yyreduce: /* Line 1792 of yacc.c */ #line 2754 "dtool/src/cppparser/cppBison.yxx" { - (yyval.u.expr) = new CPPExpression('^', (yyvsp[(1) - (3)].u.expr), (yyvsp[(3) - (3)].u.expr)); + (yyval.u.expr) = new CPPExpression('-', (yyvsp[(1) - (3)].u.expr), (yyvsp[(3) - (3)].u.expr)); } break; @@ -7124,7 +7130,7 @@ yyreduce: /* Line 1792 of yacc.c */ #line 2758 "dtool/src/cppparser/cppBison.yxx" { - (yyval.u.expr) = new CPPExpression('&', (yyvsp[(1) - (3)].u.expr), (yyvsp[(3) - (3)].u.expr)); + (yyval.u.expr) = new CPPExpression('|', (yyvsp[(1) - (3)].u.expr), (yyvsp[(3) - (3)].u.expr)); } break; @@ -7132,7 +7138,7 @@ yyreduce: /* Line 1792 of yacc.c */ #line 2762 "dtool/src/cppparser/cppBison.yxx" { - (yyval.u.expr) = new CPPExpression(OROR, (yyvsp[(1) - (3)].u.expr), (yyvsp[(3) - (3)].u.expr)); + (yyval.u.expr) = new CPPExpression('^', (yyvsp[(1) - (3)].u.expr), (yyvsp[(3) - (3)].u.expr)); } break; @@ -7140,7 +7146,7 @@ yyreduce: /* Line 1792 of yacc.c */ #line 2766 "dtool/src/cppparser/cppBison.yxx" { - (yyval.u.expr) = new CPPExpression(ANDAND, (yyvsp[(1) - (3)].u.expr), (yyvsp[(3) - (3)].u.expr)); + (yyval.u.expr) = new CPPExpression('&', (yyvsp[(1) - (3)].u.expr), (yyvsp[(3) - (3)].u.expr)); } break; @@ -7148,7 +7154,7 @@ yyreduce: /* Line 1792 of yacc.c */ #line 2770 "dtool/src/cppparser/cppBison.yxx" { - (yyval.u.expr) = new CPPExpression(EQCOMPARE, (yyvsp[(1) - (3)].u.expr), (yyvsp[(3) - (3)].u.expr)); + (yyval.u.expr) = new CPPExpression(OROR, (yyvsp[(1) - (3)].u.expr), (yyvsp[(3) - (3)].u.expr)); } break; @@ -7156,7 +7162,7 @@ yyreduce: /* Line 1792 of yacc.c */ #line 2774 "dtool/src/cppparser/cppBison.yxx" { - (yyval.u.expr) = new CPPExpression(NECOMPARE, (yyvsp[(1) - (3)].u.expr), (yyvsp[(3) - (3)].u.expr)); + (yyval.u.expr) = new CPPExpression(ANDAND, (yyvsp[(1) - (3)].u.expr), (yyvsp[(3) - (3)].u.expr)); } break; @@ -7164,7 +7170,7 @@ yyreduce: /* Line 1792 of yacc.c */ #line 2778 "dtool/src/cppparser/cppBison.yxx" { - (yyval.u.expr) = new CPPExpression(LECOMPARE, (yyvsp[(1) - (3)].u.expr), (yyvsp[(3) - (3)].u.expr)); + (yyval.u.expr) = new CPPExpression(EQCOMPARE, (yyvsp[(1) - (3)].u.expr), (yyvsp[(3) - (3)].u.expr)); } break; @@ -7172,7 +7178,7 @@ yyreduce: /* Line 1792 of yacc.c */ #line 2782 "dtool/src/cppparser/cppBison.yxx" { - (yyval.u.expr) = new CPPExpression(GECOMPARE, (yyvsp[(1) - (3)].u.expr), (yyvsp[(3) - (3)].u.expr)); + (yyval.u.expr) = new CPPExpression(NECOMPARE, (yyvsp[(1) - (3)].u.expr), (yyvsp[(3) - (3)].u.expr)); } break; @@ -7180,7 +7186,7 @@ yyreduce: /* 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)); + (yyval.u.expr) = new CPPExpression(LECOMPARE, (yyvsp[(1) - (3)].u.expr), (yyvsp[(3) - (3)].u.expr)); } break; @@ -7188,7 +7194,7 @@ yyreduce: /* 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)); + (yyval.u.expr) = new CPPExpression(GECOMPARE, (yyvsp[(1) - (3)].u.expr), (yyvsp[(3) - (3)].u.expr)); } break; @@ -7196,7 +7202,7 @@ yyreduce: /* Line 1792 of yacc.c */ #line 2794 "dtool/src/cppparser/cppBison.yxx" { - (yyval.u.expr) = new CPPExpression(LSHIFT, (yyvsp[(1) - (3)].u.expr), (yyvsp[(3) - (3)].u.expr)); + (yyval.u.expr) = new CPPExpression('<', (yyvsp[(1) - (3)].u.expr), (yyvsp[(3) - (3)].u.expr)); } break; @@ -7204,7 +7210,7 @@ yyreduce: /* Line 1792 of yacc.c */ #line 2798 "dtool/src/cppparser/cppBison.yxx" { - (yyval.u.expr) = new CPPExpression(RSHIFT, (yyvsp[(1) - (3)].u.expr), (yyvsp[(3) - (3)].u.expr)); + (yyval.u.expr) = new CPPExpression('>', (yyvsp[(1) - (3)].u.expr), (yyvsp[(3) - (3)].u.expr)); } break; @@ -7212,7 +7218,7 @@ yyreduce: /* Line 1792 of yacc.c */ #line 2802 "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)); + (yyval.u.expr) = new CPPExpression(LSHIFT, (yyvsp[(1) - (3)].u.expr), (yyvsp[(3) - (3)].u.expr)); } break; @@ -7220,7 +7226,7 @@ yyreduce: /* Line 1792 of yacc.c */ #line 2806 "dtool/src/cppparser/cppBison.yxx" { - (yyval.u.expr) = new CPPExpression('[', (yyvsp[(1) - (4)].u.expr), (yyvsp[(3) - (4)].u.expr)); + (yyval.u.expr) = new CPPExpression(RSHIFT, (yyvsp[(1) - (3)].u.expr), (yyvsp[(3) - (3)].u.expr)); } break; @@ -7228,7 +7234,7 @@ yyreduce: /* Line 1792 of yacc.c */ #line 2810 "dtool/src/cppparser/cppBison.yxx" { - (yyval.u.expr) = new CPPExpression('f', (yyvsp[(1) - (4)].u.expr), (yyvsp[(3) - (4)].u.expr)); + (yyval.u.expr) = new CPPExpression('?', (yyvsp[(1) - (5)].u.expr), (yyvsp[(3) - (5)].u.expr), (yyvsp[(5) - (5)].u.expr)); } break; @@ -7236,7 +7242,7 @@ yyreduce: /* Line 1792 of yacc.c */ #line 2814 "dtool/src/cppparser/cppBison.yxx" { - (yyval.u.expr) = new CPPExpression('f', (yyvsp[(1) - (3)].u.expr)); + (yyval.u.expr) = new CPPExpression('[', (yyvsp[(1) - (4)].u.expr), (yyvsp[(3) - (4)].u.expr)); } break; @@ -7244,7 +7250,7 @@ yyreduce: /* Line 1792 of yacc.c */ #line 2818 "dtool/src/cppparser/cppBison.yxx" { - (yyval.u.expr) = new CPPExpression('.', (yyvsp[(1) - (3)].u.expr), (yyvsp[(3) - (3)].u.expr)); + (yyval.u.expr) = new CPPExpression('f', (yyvsp[(1) - (4)].u.expr), (yyvsp[(3) - (4)].u.expr)); } break; @@ -7252,7 +7258,7 @@ yyreduce: /* Line 1792 of yacc.c */ #line 2822 "dtool/src/cppparser/cppBison.yxx" { - (yyval.u.expr) = new CPPExpression(POINTSAT, (yyvsp[(1) - (3)].u.expr), (yyvsp[(3) - (3)].u.expr)); + (yyval.u.expr) = new CPPExpression('f', (yyvsp[(1) - (3)].u.expr)); } break; @@ -7260,23 +7266,23 @@ yyreduce: /* Line 1792 of yacc.c */ #line 2826 "dtool/src/cppparser/cppBison.yxx" { - (yyval.u.expr) = (yyvsp[(2) - (3)].u.expr); + (yyval.u.expr) = new CPPExpression('.', (yyvsp[(1) - (3)].u.expr), (yyvsp[(3) - (3)].u.expr)); } break; case 527: /* Line 1792 of yacc.c */ -#line 2833 "dtool/src/cppparser/cppBison.yxx" +#line 2830 "dtool/src/cppparser/cppBison.yxx" { - (yyval.u.expr) = new CPPExpression((yyvsp[(1) - (1)].u.integer)); + (yyval.u.expr) = new CPPExpression(POINTSAT, (yyvsp[(1) - (3)].u.expr), (yyvsp[(3) - (3)].u.expr)); } break; case 528: /* Line 1792 of yacc.c */ -#line 2837 "dtool/src/cppparser/cppBison.yxx" +#line 2834 "dtool/src/cppparser/cppBison.yxx" { - (yyval.u.expr) = new CPPExpression(true); + (yyval.u.expr) = (yyvsp[(2) - (3)].u.expr); } break; @@ -7284,7 +7290,7 @@ yyreduce: /* Line 1792 of yacc.c */ #line 2841 "dtool/src/cppparser/cppBison.yxx" { - (yyval.u.expr) = new CPPExpression(false); + (yyval.u.expr) = new CPPExpression((yyvsp[(1) - (1)].u.integer)); } break; @@ -7292,7 +7298,7 @@ yyreduce: /* Line 1792 of yacc.c */ #line 2845 "dtool/src/cppparser/cppBison.yxx" { - (yyval.u.expr) = new CPPExpression((yyvsp[(1) - (1)].u.integer)); + (yyval.u.expr) = new CPPExpression(true); } break; @@ -7300,7 +7306,7 @@ yyreduce: /* Line 1792 of yacc.c */ #line 2849 "dtool/src/cppparser/cppBison.yxx" { - (yyval.u.expr) = new CPPExpression((yyvsp[(1) - (1)].u.real)); + (yyval.u.expr) = new CPPExpression(false); } break; @@ -7308,7 +7314,7 @@ yyreduce: /* Line 1792 of yacc.c */ #line 2853 "dtool/src/cppparser/cppBison.yxx" { - (yyval.u.expr) = (yyvsp[(1) - (1)].u.expr); + (yyval.u.expr) = new CPPExpression((yyvsp[(1) - (1)].u.integer)); } break; @@ -7316,7 +7322,7 @@ yyreduce: /* Line 1792 of yacc.c */ #line 2857 "dtool/src/cppparser/cppBison.yxx" { - (yyval.u.expr) = (yyvsp[(1) - (1)].u.expr); + (yyval.u.expr) = new CPPExpression((yyvsp[(1) - (1)].u.real)); } break; @@ -7324,7 +7330,7 @@ yyreduce: /* Line 1792 of yacc.c */ #line 2861 "dtool/src/cppparser/cppBison.yxx" { - (yyval.u.expr) = new CPPExpression((yyvsp[(1) - (1)].u.identifier), current_scope, global_scope, current_lexer); + (yyval.u.expr) = (yyvsp[(1) - (1)].u.expr); } break; @@ -7332,23 +7338,23 @@ yyreduce: /* Line 1792 of yacc.c */ #line 2865 "dtool/src/cppparser/cppBison.yxx" { - (yyval.u.expr) = new CPPExpression(CPPExpression::get_nullptr()); + (yyval.u.expr) = (yyvsp[(1) - (1)].u.expr); } break; case 536: /* Line 1792 of yacc.c */ -#line 2879 "dtool/src/cppparser/cppBison.yxx" +#line 2869 "dtool/src/cppparser/cppBison.yxx" { - (yyval.u.expr) = (yyvsp[(1) - (1)].u.expr); + (yyval.u.expr) = new CPPExpression((yyvsp[(1) - (1)].u.identifier), current_scope, global_scope, current_lexer); } break; case 537: /* Line 1792 of yacc.c */ -#line 2883 "dtool/src/cppparser/cppBison.yxx" +#line 2873 "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(CPPExpression::get_nullptr()); } break; @@ -7356,7 +7362,7 @@ yyreduce: /* Line 1792 of yacc.c */ #line 2887 "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; @@ -7364,7 +7370,7 @@ yyreduce: /* Line 1792 of yacc.c */ #line 2891 "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; @@ -7372,7 +7378,7 @@ yyreduce: /* Line 1792 of yacc.c */ #line 2895 "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; @@ -7380,7 +7386,7 @@ yyreduce: /* Line 1792 of yacc.c */ #line 2899 "dtool/src/cppparser/cppBison.yxx" { - (yyval.u.expr) = new CPPExpression(CPPExpression::alignof_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; @@ -7388,7 +7394,7 @@ yyreduce: /* Line 1792 of yacc.c */ #line 2903 "dtool/src/cppparser/cppBison.yxx" { - (yyval.u.expr) = new CPPExpression(CPPExpression::new_op((yyvsp[(2) - (2)].u.type))); + (yyval.u.expr) = new CPPExpression(CPPExpression::sizeof_func((yyvsp[(3) - (4)].u.type))); } break; @@ -7396,7 +7402,7 @@ yyreduce: /* Line 1792 of yacc.c */ #line 2907 "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::alignof_func((yyvsp[(3) - (4)].u.type))); } break; @@ -7404,7 +7410,7 @@ yyreduce: /* Line 1792 of yacc.c */ #line 2911 "dtool/src/cppparser/cppBison.yxx" { - (yyval.u.expr) = new CPPExpression(UNARY_NOT, (yyvsp[(2) - (2)].u.expr)); + (yyval.u.expr) = new CPPExpression(CPPExpression::new_op((yyvsp[(2) - (2)].u.type))); } break; @@ -7412,7 +7418,7 @@ yyreduce: /* Line 1792 of yacc.c */ #line 2915 "dtool/src/cppparser/cppBison.yxx" { - (yyval.u.expr) = new CPPExpression(UNARY_NEGATE, (yyvsp[(2) - (2)].u.expr)); + (yyval.u.expr) = new CPPExpression(CPPExpression::new_op((yyvsp[(2) - (5)].u.type), (yyvsp[(4) - (5)].u.expr))); } break; @@ -7420,7 +7426,7 @@ yyreduce: /* Line 1792 of yacc.c */ #line 2919 "dtool/src/cppparser/cppBison.yxx" { - (yyval.u.expr) = new CPPExpression(UNARY_MINUS, (yyvsp[(2) - (2)].u.expr)); + (yyval.u.expr) = new CPPExpression(UNARY_NOT, (yyvsp[(2) - (2)].u.expr)); } break; @@ -7428,7 +7434,7 @@ yyreduce: /* Line 1792 of yacc.c */ #line 2923 "dtool/src/cppparser/cppBison.yxx" { - (yyval.u.expr) = new CPPExpression(UNARY_REF, (yyvsp[(2) - (2)].u.expr)); + (yyval.u.expr) = new CPPExpression(UNARY_NEGATE, (yyvsp[(2) - (2)].u.expr)); } break; @@ -7436,7 +7442,7 @@ yyreduce: /* Line 1792 of yacc.c */ #line 2927 "dtool/src/cppparser/cppBison.yxx" { - (yyval.u.expr) = new CPPExpression('*', (yyvsp[(1) - (3)].u.expr), (yyvsp[(3) - (3)].u.expr)); + (yyval.u.expr) = new CPPExpression(UNARY_MINUS, (yyvsp[(2) - (2)].u.expr)); } break; @@ -7444,7 +7450,7 @@ yyreduce: /* Line 1792 of yacc.c */ #line 2931 "dtool/src/cppparser/cppBison.yxx" { - (yyval.u.expr) = new CPPExpression('/', (yyvsp[(1) - (3)].u.expr), (yyvsp[(3) - (3)].u.expr)); + (yyval.u.expr) = new CPPExpression(UNARY_REF, (yyvsp[(2) - (2)].u.expr)); } break; @@ -7452,7 +7458,7 @@ yyreduce: /* Line 1792 of yacc.c */ #line 2935 "dtool/src/cppparser/cppBison.yxx" { - (yyval.u.expr) = new CPPExpression('%', (yyvsp[(1) - (3)].u.expr), (yyvsp[(3) - (3)].u.expr)); + (yyval.u.expr) = new CPPExpression('*', (yyvsp[(1) - (3)].u.expr), (yyvsp[(3) - (3)].u.expr)); } break; @@ -7460,7 +7466,7 @@ yyreduce: /* Line 1792 of yacc.c */ #line 2939 "dtool/src/cppparser/cppBison.yxx" { - (yyval.u.expr) = new CPPExpression('+', (yyvsp[(1) - (3)].u.expr), (yyvsp[(3) - (3)].u.expr)); + (yyval.u.expr) = new CPPExpression('/', (yyvsp[(1) - (3)].u.expr), (yyvsp[(3) - (3)].u.expr)); } break; @@ -7468,7 +7474,7 @@ yyreduce: /* Line 1792 of yacc.c */ #line 2943 "dtool/src/cppparser/cppBison.yxx" { - (yyval.u.expr) = new CPPExpression('-', (yyvsp[(1) - (3)].u.expr), (yyvsp[(3) - (3)].u.expr)); + (yyval.u.expr) = new CPPExpression('%', (yyvsp[(1) - (3)].u.expr), (yyvsp[(3) - (3)].u.expr)); } break; @@ -7476,7 +7482,7 @@ yyreduce: /* Line 1792 of yacc.c */ #line 2947 "dtool/src/cppparser/cppBison.yxx" { - (yyval.u.expr) = new CPPExpression('|', (yyvsp[(1) - (3)].u.expr), (yyvsp[(3) - (3)].u.expr)); + (yyval.u.expr) = new CPPExpression('+', (yyvsp[(1) - (3)].u.expr), (yyvsp[(3) - (3)].u.expr)); } break; @@ -7484,7 +7490,7 @@ yyreduce: /* Line 1792 of yacc.c */ #line 2951 "dtool/src/cppparser/cppBison.yxx" { - (yyval.u.expr) = new CPPExpression('^', (yyvsp[(1) - (3)].u.expr), (yyvsp[(3) - (3)].u.expr)); + (yyval.u.expr) = new CPPExpression('-', (yyvsp[(1) - (3)].u.expr), (yyvsp[(3) - (3)].u.expr)); } break; @@ -7492,7 +7498,7 @@ yyreduce: /* Line 1792 of yacc.c */ #line 2955 "dtool/src/cppparser/cppBison.yxx" { - (yyval.u.expr) = new CPPExpression('&', (yyvsp[(1) - (3)].u.expr), (yyvsp[(3) - (3)].u.expr)); + (yyval.u.expr) = new CPPExpression('|', (yyvsp[(1) - (3)].u.expr), (yyvsp[(3) - (3)].u.expr)); } break; @@ -7500,7 +7506,7 @@ yyreduce: /* Line 1792 of yacc.c */ #line 2959 "dtool/src/cppparser/cppBison.yxx" { - (yyval.u.expr) = new CPPExpression(OROR, (yyvsp[(1) - (3)].u.expr), (yyvsp[(3) - (3)].u.expr)); + (yyval.u.expr) = new CPPExpression('^', (yyvsp[(1) - (3)].u.expr), (yyvsp[(3) - (3)].u.expr)); } break; @@ -7508,7 +7514,7 @@ yyreduce: /* Line 1792 of yacc.c */ #line 2963 "dtool/src/cppparser/cppBison.yxx" { - (yyval.u.expr) = new CPPExpression(ANDAND, (yyvsp[(1) - (3)].u.expr), (yyvsp[(3) - (3)].u.expr)); + (yyval.u.expr) = new CPPExpression('&', (yyvsp[(1) - (3)].u.expr), (yyvsp[(3) - (3)].u.expr)); } break; @@ -7516,7 +7522,7 @@ yyreduce: /* Line 1792 of yacc.c */ #line 2967 "dtool/src/cppparser/cppBison.yxx" { - (yyval.u.expr) = new CPPExpression(EQCOMPARE, (yyvsp[(1) - (3)].u.expr), (yyvsp[(3) - (3)].u.expr)); + (yyval.u.expr) = new CPPExpression(OROR, (yyvsp[(1) - (3)].u.expr), (yyvsp[(3) - (3)].u.expr)); } break; @@ -7524,7 +7530,7 @@ yyreduce: /* Line 1792 of yacc.c */ #line 2971 "dtool/src/cppparser/cppBison.yxx" { - (yyval.u.expr) = new CPPExpression(NECOMPARE, (yyvsp[(1) - (3)].u.expr), (yyvsp[(3) - (3)].u.expr)); + (yyval.u.expr) = new CPPExpression(ANDAND, (yyvsp[(1) - (3)].u.expr), (yyvsp[(3) - (3)].u.expr)); } break; @@ -7532,7 +7538,7 @@ yyreduce: /* Line 1792 of yacc.c */ #line 2975 "dtool/src/cppparser/cppBison.yxx" { - (yyval.u.expr) = new CPPExpression(LECOMPARE, (yyvsp[(1) - (3)].u.expr), (yyvsp[(3) - (3)].u.expr)); + (yyval.u.expr) = new CPPExpression(EQCOMPARE, (yyvsp[(1) - (3)].u.expr), (yyvsp[(3) - (3)].u.expr)); } break; @@ -7540,7 +7546,7 @@ yyreduce: /* Line 1792 of yacc.c */ #line 2979 "dtool/src/cppparser/cppBison.yxx" { - (yyval.u.expr) = new CPPExpression(GECOMPARE, (yyvsp[(1) - (3)].u.expr), (yyvsp[(3) - (3)].u.expr)); + (yyval.u.expr) = new CPPExpression(NECOMPARE, (yyvsp[(1) - (3)].u.expr), (yyvsp[(3) - (3)].u.expr)); } break; @@ -7548,7 +7554,7 @@ yyreduce: /* Line 1792 of yacc.c */ #line 2983 "dtool/src/cppparser/cppBison.yxx" { - (yyval.u.expr) = new CPPExpression('<', (yyvsp[(1) - (3)].u.expr), (yyvsp[(3) - (3)].u.expr)); + (yyval.u.expr) = new CPPExpression(LECOMPARE, (yyvsp[(1) - (3)].u.expr), (yyvsp[(3) - (3)].u.expr)); } break; @@ -7556,7 +7562,7 @@ yyreduce: /* Line 1792 of yacc.c */ #line 2987 "dtool/src/cppparser/cppBison.yxx" { - (yyval.u.expr) = new CPPExpression('>', (yyvsp[(1) - (3)].u.expr), (yyvsp[(3) - (3)].u.expr)); + (yyval.u.expr) = new CPPExpression(GECOMPARE, (yyvsp[(1) - (3)].u.expr), (yyvsp[(3) - (3)].u.expr)); } break; @@ -7564,7 +7570,7 @@ yyreduce: /* Line 1792 of yacc.c */ #line 2991 "dtool/src/cppparser/cppBison.yxx" { - (yyval.u.expr) = new CPPExpression(LSHIFT, (yyvsp[(1) - (3)].u.expr), (yyvsp[(3) - (3)].u.expr)); + (yyval.u.expr) = new CPPExpression('<', (yyvsp[(1) - (3)].u.expr), (yyvsp[(3) - (3)].u.expr)); } break; @@ -7572,7 +7578,7 @@ yyreduce: /* Line 1792 of yacc.c */ #line 2995 "dtool/src/cppparser/cppBison.yxx" { - (yyval.u.expr) = new CPPExpression(RSHIFT, (yyvsp[(1) - (3)].u.expr), (yyvsp[(3) - (3)].u.expr)); + (yyval.u.expr) = new CPPExpression('>', (yyvsp[(1) - (3)].u.expr), (yyvsp[(3) - (3)].u.expr)); } break; @@ -7580,7 +7586,7 @@ yyreduce: /* Line 1792 of yacc.c */ #line 2999 "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)); + (yyval.u.expr) = new CPPExpression(LSHIFT, (yyvsp[(1) - (3)].u.expr), (yyvsp[(3) - (3)].u.expr)); } break; @@ -7588,7 +7594,7 @@ yyreduce: /* Line 1792 of yacc.c */ #line 3003 "dtool/src/cppparser/cppBison.yxx" { - (yyval.u.expr) = new CPPExpression('[', (yyvsp[(1) - (4)].u.expr), (yyvsp[(3) - (4)].u.expr)); + (yyval.u.expr) = new CPPExpression(RSHIFT, (yyvsp[(1) - (3)].u.expr), (yyvsp[(3) - (3)].u.expr)); } break; @@ -7596,7 +7602,7 @@ yyreduce: /* Line 1792 of yacc.c */ #line 3007 "dtool/src/cppparser/cppBison.yxx" { - (yyval.u.expr) = new CPPExpression('f', (yyvsp[(1) - (4)].u.expr), (yyvsp[(3) - (4)].u.expr)); + (yyval.u.expr) = new CPPExpression('?', (yyvsp[(1) - (5)].u.expr), (yyvsp[(3) - (5)].u.expr), (yyvsp[(5) - (5)].u.expr)); } break; @@ -7604,7 +7610,7 @@ yyreduce: /* Line 1792 of yacc.c */ #line 3011 "dtool/src/cppparser/cppBison.yxx" { - (yyval.u.expr) = new CPPExpression('f', (yyvsp[(1) - (3)].u.expr)); + (yyval.u.expr) = new CPPExpression('[', (yyvsp[(1) - (4)].u.expr), (yyvsp[(3) - (4)].u.expr)); } break; @@ -7612,7 +7618,7 @@ yyreduce: /* Line 1792 of yacc.c */ #line 3015 "dtool/src/cppparser/cppBison.yxx" { - (yyval.u.expr) = new CPPExpression('.', (yyvsp[(1) - (3)].u.expr), (yyvsp[(3) - (3)].u.expr)); + (yyval.u.expr) = new CPPExpression('f', (yyvsp[(1) - (4)].u.expr), (yyvsp[(3) - (4)].u.expr)); } break; @@ -7620,7 +7626,7 @@ yyreduce: /* Line 1792 of yacc.c */ #line 3019 "dtool/src/cppparser/cppBison.yxx" { - (yyval.u.expr) = new CPPExpression(POINTSAT, (yyvsp[(1) - (3)].u.expr), (yyvsp[(3) - (3)].u.expr)); + (yyval.u.expr) = new CPPExpression('f', (yyvsp[(1) - (3)].u.expr)); } break; @@ -7628,23 +7634,23 @@ yyreduce: /* Line 1792 of yacc.c */ #line 3023 "dtool/src/cppparser/cppBison.yxx" { - (yyval.u.expr) = (yyvsp[(2) - (3)].u.expr); + (yyval.u.expr) = new CPPExpression('.', (yyvsp[(1) - (3)].u.expr), (yyvsp[(3) - (3)].u.expr)); } break; case 573: /* Line 1792 of yacc.c */ -#line 3030 "dtool/src/cppparser/cppBison.yxx" +#line 3027 "dtool/src/cppparser/cppBison.yxx" { - (yyval.u.expr) = new CPPExpression((yyvsp[(1) - (1)].u.integer)); + (yyval.u.expr) = new CPPExpression(POINTSAT, (yyvsp[(1) - (3)].u.expr), (yyvsp[(3) - (3)].u.expr)); } break; case 574: /* Line 1792 of yacc.c */ -#line 3034 "dtool/src/cppparser/cppBison.yxx" +#line 3031 "dtool/src/cppparser/cppBison.yxx" { - (yyval.u.expr) = new CPPExpression(true); + (yyval.u.expr) = (yyvsp[(2) - (3)].u.expr); } break; @@ -7652,7 +7658,7 @@ yyreduce: /* Line 1792 of yacc.c */ #line 3038 "dtool/src/cppparser/cppBison.yxx" { - (yyval.u.expr) = new CPPExpression(false); + (yyval.u.expr) = new CPPExpression((yyvsp[(1) - (1)].u.integer)); } break; @@ -7660,7 +7666,7 @@ yyreduce: /* Line 1792 of yacc.c */ #line 3042 "dtool/src/cppparser/cppBison.yxx" { - (yyval.u.expr) = new CPPExpression((yyvsp[(1) - (1)].u.integer)); + (yyval.u.expr) = new CPPExpression(true); } break; @@ -7668,7 +7674,7 @@ yyreduce: /* Line 1792 of yacc.c */ #line 3046 "dtool/src/cppparser/cppBison.yxx" { - (yyval.u.expr) = new CPPExpression((yyvsp[(1) - (1)].u.real)); + (yyval.u.expr) = new CPPExpression(false); } break; @@ -7676,7 +7682,7 @@ yyreduce: /* Line 1792 of yacc.c */ #line 3050 "dtool/src/cppparser/cppBison.yxx" { - (yyval.u.expr) = (yyvsp[(1) - (1)].u.expr); + (yyval.u.expr) = new CPPExpression((yyvsp[(1) - (1)].u.integer)); } break; @@ -7684,7 +7690,7 @@ yyreduce: /* Line 1792 of yacc.c */ #line 3054 "dtool/src/cppparser/cppBison.yxx" { - (yyval.u.expr) = (yyvsp[(1) - (1)].u.expr); + (yyval.u.expr) = new CPPExpression((yyvsp[(1) - (1)].u.real)); } break; @@ -7692,7 +7698,7 @@ yyreduce: /* Line 1792 of yacc.c */ #line 3058 "dtool/src/cppparser/cppBison.yxx" { - (yyval.u.expr) = new CPPExpression((yyvsp[(1) - (1)].u.identifier), current_scope, global_scope, current_lexer); + (yyval.u.expr) = (yyvsp[(1) - (1)].u.expr); } break; @@ -7700,13 +7706,29 @@ yyreduce: /* Line 1792 of yacc.c */ #line 3062 "dtool/src/cppparser/cppBison.yxx" { - (yyval.u.expr) = new CPPExpression(CPPExpression::get_nullptr()); + (yyval.u.expr) = (yyvsp[(1) - (1)].u.expr); } break; case 582: /* Line 1792 of yacc.c */ -#line 3069 "dtool/src/cppparser/cppBison.yxx" +#line 3066 "dtool/src/cppparser/cppBison.yxx" + { + (yyval.u.expr) = new CPPExpression((yyvsp[(1) - (1)].u.identifier), current_scope, global_scope, current_lexer); +} + break; + + case 583: +/* Line 1792 of yacc.c */ +#line 3070 "dtool/src/cppparser/cppBison.yxx" + { + (yyval.u.expr) = new CPPExpression(CPPExpression::get_nullptr()); +} + break; + + case 584: +/* Line 1792 of yacc.c */ +#line 3077 "dtool/src/cppparser/cppBison.yxx" { CPPType *type = (yyvsp[(1) - (1)].u.identifier)->find_type(current_scope, global_scope, true); if (type == NULL) { @@ -7716,9 +7738,9 @@ yyreduce: } break; - case 583: + case 585: /* Line 1792 of yacc.c */ -#line 3077 "dtool/src/cppparser/cppBison.yxx" +#line 3085 "dtool/src/cppparser/cppBison.yxx" { CPPType *type = (yyvsp[(2) - (2)].u.identifier)->find_type(current_scope, global_scope, true, current_lexer); if (type == NULL) { @@ -7728,43 +7750,27 @@ yyreduce: } break; - case 584: + case 586: /* Line 1792 of yacc.c */ -#line 3085 "dtool/src/cppparser/cppBison.yxx" +#line 3093 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.type) = CPPType::new_type(new CPPTBDType((yyvsp[(2) - (2)].u.identifier))); } break; - case 585: -/* Line 1792 of yacc.c */ -#line 3111 "dtool/src/cppparser/cppBison.yxx" - { - (yyval.u.identifier) = (yyvsp[(1) - (1)].u.identifier); -} - break; - - case 586: -/* Line 1792 of yacc.c */ -#line 3115 "dtool/src/cppparser/cppBison.yxx" - { - (yyval.u.identifier) = (yyvsp[(1) - (1)].u.identifier); -} - break; - case 587: /* Line 1792 of yacc.c */ -#line 3122 "dtool/src/cppparser/cppBison.yxx" +#line 3119 "dtool/src/cppparser/cppBison.yxx" { - (yyval.u.expr) = new CPPExpression((yyvsp[(1) - (1)].str)); + (yyval.u.identifier) = (yyvsp[(1) - (1)].u.identifier); } break; case 588: /* Line 1792 of yacc.c */ -#line 3126 "dtool/src/cppparser/cppBison.yxx" +#line 3123 "dtool/src/cppparser/cppBison.yxx" { - (yyval.u.expr) = (yyvsp[(1) - (1)].u.expr); + (yyval.u.identifier) = (yyvsp[(1) - (1)].u.identifier); } break; @@ -7772,15 +7778,31 @@ yyreduce: /* Line 1792 of yacc.c */ #line 3130 "dtool/src/cppparser/cppBison.yxx" { + (yyval.u.expr) = new CPPExpression((yyvsp[(1) - (1)].str)); +} + break; + + case 590: +/* Line 1792 of yacc.c */ +#line 3134 "dtool/src/cppparser/cppBison.yxx" + { + (yyval.u.expr) = (yyvsp[(1) - (1)].u.expr); +} + break; + + case 591: +/* Line 1792 of yacc.c */ +#line 3138 "dtool/src/cppparser/cppBison.yxx" + { // The right string takes on the literal type of the left. (yyval.u.expr) = (yyvsp[(1) - (2)].u.expr); (yyval.u.expr)->_str += (yyvsp[(2) - (2)].str); } break; - case 590: + case 592: /* Line 1792 of yacc.c */ -#line 3136 "dtool/src/cppparser/cppBison.yxx" +#line 3144 "dtool/src/cppparser/cppBison.yxx" { // We have to check that the two literal types match up. (yyval.u.expr) = (yyvsp[(1) - (2)].u.expr); @@ -7793,7 +7815,7 @@ yyreduce: /* Line 1792 of yacc.c */ -#line 7797 "built/tmp/cppBison.yxx.c" +#line 7819 "built/tmp/cppBison.yxx.c" default: break; } /* User semantic actions sometimes alter yychar, and that requires diff --git a/dtool/src/cppparser/cppBison.yxx b/dtool/src/cppparser/cppBison.yxx index 4978edb0f2..d4597eb40e 100644 --- a/dtool/src/cppparser/cppBison.yxx +++ b/dtool/src/cppparser/cppBison.yxx @@ -1524,6 +1524,14 @@ maybe_initialize_or_function_body: | '=' const_expr ';' { $$ = $2; +} + | '=' KW_DEFAULT ';' +{ + $$ = new CPPExpression(CPPExpression::get_default()); +} + | '=' KW_DELETE ';' +{ + $$ = new CPPExpression(CPPExpression::get_delete()); } | '=' '{' structure_init '}' { diff --git a/dtool/src/cppparser/cppExpression.cxx b/dtool/src/cppparser/cppExpression.cxx index e4b4617e32..9e2bc15ee1 100644 --- a/dtool/src/cppparser/cppExpression.cxx +++ b/dtool/src/cppparser/cppExpression.cxx @@ -494,6 +494,30 @@ get_nullptr() { return expr; } +//////////////////////////////////////////////////////////////////// +// Function: CPPExpression::get_default +// Access: Public, Static +// Description: +//////////////////////////////////////////////////////////////////// +const CPPExpression &CPPExpression:: +get_default() { + static CPPExpression expr(0); + expr._type = T_default; + return expr; +} + +//////////////////////////////////////////////////////////////////// +// Function: CPPExpression::get_delete +// Access: Public, Static +// Description: +//////////////////////////////////////////////////////////////////// +const CPPExpression &CPPExpression:: +get_delete() { + static CPPExpression expr(0); + expr._type = T_delete; + return expr; +} + //////////////////////////////////////////////////////////////////// // Function: CPPExpression::Destructor // Access: Public @@ -1619,6 +1643,14 @@ output(ostream &out, int indent_level, CPPScope *scope, bool) const { } break; + case T_default: + out << "default"; + break; + + case T_delete: + out << "delete"; + break; + default: out << "(** invalid operand type " << (int)_type << " **)"; } diff --git a/dtool/src/cppparser/cppExpression.h b/dtool/src/cppparser/cppExpression.h index 44e72baf5c..8b0aa7d469 100644 --- a/dtool/src/cppparser/cppExpression.h +++ b/dtool/src/cppparser/cppExpression.h @@ -52,6 +52,8 @@ public: static CPPExpression raw_literal(const string &raw, CPPInstance *lit_op); static const CPPExpression &get_nullptr(); + static const CPPExpression &get_default(); + static const CPPExpression &get_delete(); ~CPPExpression(); @@ -124,6 +126,10 @@ public: T_trinary_operation, T_literal, T_raw_literal, + + // These are used when parsing =default and =delete methods. + T_default, + T_delete, }; Type _type; diff --git a/dtool/src/cppparser/cppInstance.cxx b/dtool/src/cppparser/cppInstance.cxx index 5cbe0696af..e41cbc36b3 100644 --- a/dtool/src/cppparser/cppInstance.cxx +++ b/dtool/src/cppparser/cppInstance.cxx @@ -251,12 +251,20 @@ void CPPInstance:: set_initializer(CPPExpression *initializer) { if (_type->as_function_type() != (CPPFunctionType *)NULL) { // This is a function declaration. - if (initializer == (CPPExpression *)NULL) { - _storage_class &= ~SC_pure_virtual; - } else { - _storage_class |= SC_pure_virtual; - } + _storage_class &= ~(SC_pure_virtual | SC_defaulted | SC_deleted); _initializer = (CPPExpression *)NULL; + + if (initializer != (CPPExpression *)NULL) { + if (initializer->_type == CPPExpression::T_integer) { // = 0 + _storage_class |= SC_pure_virtual; + + } else if (initializer->_type == CPPExpression::T_default) { + _storage_class |= SC_defaulted; + + } else if (initializer->_type == CPPExpression::T_delete) { + _storage_class |= SC_deleted; + } + } } else { _initializer = initializer; } @@ -622,6 +630,12 @@ output(ostream &out, int indent_level, CPPScope *scope, bool complete, if (_storage_class & SC_pure_virtual) { out << " = 0"; } + if (_storage_class & SC_defaulted) { + out << " = default"; + } + if (_storage_class & SC_deleted) { + out << " = delete"; + } if (_initializer != NULL) { out << " = " << *_initializer; } diff --git a/dtool/src/cppparser/cppInstance.h b/dtool/src/cppparser/cppInstance.h index d22342730f..3ea50ebee6 100644 --- a/dtool/src/cppparser/cppInstance.h +++ b/dtool/src/cppparser/cppInstance.h @@ -60,6 +60,10 @@ public: // And this is for methods tagged with __extension, which declares // extension methods defined separately from the source code. SC_extension = 0x2000, + + // These are for =default and =delete functions. + SC_defaulted = 0x4000, + SC_deleted = 0x8000, }; CPPInstance(CPPType *type, const string &name, int storage_class = 0); diff --git a/dtool/src/cppparser/cppStructType.cxx b/dtool/src/cppparser/cppStructType.cxx index c6188ada30..d002626cd9 100644 --- a/dtool/src/cppparser/cppStructType.cxx +++ b/dtool/src/cppparser/cppStructType.cxx @@ -190,6 +190,11 @@ is_trivial() const { return false; } + // The following checks don't apply for defaulted functions. + if (inst->_storage_class & CPPInstance::SC_defaulted) { + continue; + } + assert(inst->_type != (CPPType *)NULL); CPPFunctionType *ftype = inst->_type->as_function_type(); assert(ftype != (CPPFunctionType *)NULL); @@ -197,7 +202,8 @@ is_trivial() const { if (ftype->_flags & (CPPFunctionType::F_destructor | CPPFunctionType::F_move_constructor | CPPFunctionType::F_copy_constructor)) { - // User-provided destructors and copy/move constructors are not trivial. + // User-provided destructors and copy/move constructors are not + // trivial unless they are defaulted (and not virtual). return false; } @@ -584,7 +590,10 @@ get_virtual_funcs(VFunctions &funcs) const { CPPFunctionType *base_ftype = inst->_type->as_function_type(); assert(base_ftype != (CPPFunctionType *)NULL); - if ((base_ftype->_flags & CPPFunctionType::F_destructor) != 0) { + if (inst->_storage_class & CPPInstance::SC_deleted) { + // Ignore deleted functions. + + } else if ((base_ftype->_flags & CPPFunctionType::F_destructor) != 0) { // Match destructor-for-destructor; don't try to match // destructors up by name. CPPInstance *destructor = get_destructor(); @@ -646,7 +655,8 @@ get_virtual_funcs(VFunctions &funcs) const { ii != fgroup->_instances.end(); ++ii) { CPPInstance *inst = (*ii); - if ((inst->_storage_class & CPPInstance::SC_virtual) != 0) { + if ((inst->_storage_class & CPPInstance::SC_virtual) != 0 && + (inst->_storage_class & CPPInstance::SC_deleted) == 0) { // Here's a virtual function. funcs.push_back(inst); } diff --git a/dtool/src/interrogate/interrogateBuilder.cxx b/dtool/src/interrogate/interrogateBuilder.cxx index efac2a7902..7b5b95fcc4 100644 --- a/dtool/src/interrogate/interrogateBuilder.cxx +++ b/dtool/src/interrogate/interrogateBuilder.cxx @@ -1134,8 +1134,8 @@ scan_function(CPPInstance *function) { return; } - if ((function->_storage_class & CPPInstance::SC_static) != 0) { - // The function is static, so can't be exported. + if ((function->_storage_class & (CPPInstance::SC_static | CPPInstance::SC_deleted)) != 0) { + // The function is static or deleted, so can't be exported. return; } @@ -2821,6 +2821,11 @@ define_method(CPPInstance *function, InterrogateType &itype, return; } + if (function->_storage_class & CPPInstance::SC_deleted) { + // It was explicitly marked as deleted. + return; + } + // As a special kludgey extension, we consider a public static // method called "get_class_type()" to be marked published, even if // it is not. This allows us to export all of the TypeHandle system