From 920210c999977f2f654af646363b46ba2ac311a2 Mon Sep 17 00:00:00 2001 From: rdb Date: Fri, 16 Oct 2015 14:57:40 +0200 Subject: [PATCH] Fix the vast majority of Interrogate parse issues and warnings, add support for inline namespace and constexpr --- contrib/src/ai/p3ai_composite.cxx | 1 - dtool/metalibs/dtoolconfig/pydtool.cxx | 4 +- dtool/src/cppparser/cppBison.cxx.prebuilt | 5103 +++++++++-------- dtool/src/cppparser/cppBison.yxx | 96 +- dtool/src/cppparser/cppEnumType.cxx | 1 + dtool/src/cppparser/cppExpression.cxx | 12 +- dtool/src/cppparser/cppIdentifier.cxx | 20 +- dtool/src/cppparser/cppInstance.cxx | 3 + dtool/src/cppparser/cppInstance.h | 7 +- dtool/src/cppparser/cppNamespace.cxx | 7 +- dtool/src/cppparser/cppNamespace.h | 2 + dtool/src/cppparser/cppScope.cxx | 11 +- dtool/src/cppparser/cppStructType.cxx | 20 + dtool/src/cppparser/cppStructType.h | 1 + dtool/src/dtoolbase/dtoolbase.h | 2 - dtool/src/dtoolbase/dtoolbase_cc.h | 2 +- dtool/src/dtoolbase/selectThreadImpl.h | 2 +- dtool/src/interrogate/interfaceMaker.cxx | 10 + .../interfaceMakerPythonSimple.cxx | 4 +- dtool/src/interrogate/interrogateBuilder.cxx | 3 + dtool/src/interrogate/typeManager.cxx | 4 +- dtool/src/parser-inc/Dense | 6 +- dtool/src/parser-inc/alloca.h | 0 dtool/src/parser-inc/btBulletDynamicsCommon.h | 2 + dtool/src/parser-inc/cfloat | 1 + dtool/src/parser-inc/cmath | 4 + dtool/src/parser-inc/errno.h | 7 + dtool/src/parser-inc/fcntl.h | 7 + dtool/src/parser-inc/float.h | 18 + dtool/src/parser-inc/ft2build.h | 1 + dtool/src/parser-inc/iterator | 6 + dtool/src/parser-inc/limits | 5 + dtool/src/parser-inc/list | 33 +- dtool/src/parser-inc/locale.h | 9 + dtool/src/parser-inc/memory | 20 +- dtool/src/parser-inc/ode.h | 1 - dtool/src/parser-inc/ode/ode.h | 1 - dtool/src/parser-inc/ogg/ogg.h | 14 + dtool/src/parser-inc/squish.h | 9 + dtool/src/parser-inc/sstream | 23 + dtool/src/parser-inc/stdio.h | 4 + dtool/src/parser-inc/stdtypedefs.h | 23 +- dtool/src/parser-inc/string | 74 +- dtool/src/parser-inc/sys/stat.h | 3 + dtool/src/parser-inc/sys/time.h | 4 + dtool/src/parser-inc/sys/types.h | 17 + dtool/src/parser-inc/typeinfo | 5 + dtool/src/parser-inc/unistd.h | 10 + dtool/src/parser-inc/vorbis/codec.h | 1 + dtool/src/parser-inc/vorbis/vorbisfile.h | 10 +- dtool/src/parser-inc/zconf.h | 19 + dtool/src/parser-inc/zlib.h | 2 + panda/src/downloader/bioPtr.h | 3 + panda/src/downloader/bioStreamBuf.h | 3 + panda/src/downloader/bioStreamPtr.h | 3 + panda/src/downloader/httpChannel.h | 3 + panda/src/express/openSSLWrapper.h | 3 + panda/src/linmath/lmatrix3_src.I | 7 + panda/src/linmath/lmatrix4_src.I | 4 + panda/src/nativenet/socket_portable.h | 7 +- panda/src/net/connectionManager.cxx | 2 +- panda/src/putil/config_util.N | 3 - panda/src/rocket/rocketInputHandler.cxx | 2 + panda/src/vision/webcamVideoCursorV4L.cxx | 2 +- panda/src/vision/webcamVideoCursorV4L.h | 2 +- panda/src/vision/webcamVideoV4L.cxx | 2 +- panda/src/vision/webcamVideoV4L.h | 2 +- 67 files changed, 3067 insertions(+), 2635 deletions(-) delete mode 100644 contrib/src/ai/p3ai_composite.cxx create mode 100644 dtool/src/parser-inc/alloca.h create mode 100644 dtool/src/parser-inc/cfloat create mode 100644 dtool/src/parser-inc/cmath create mode 100644 dtool/src/parser-inc/errno.h create mode 100644 dtool/src/parser-inc/fcntl.h create mode 100644 dtool/src/parser-inc/float.h create mode 100644 dtool/src/parser-inc/iterator create mode 100644 dtool/src/parser-inc/limits create mode 100644 dtool/src/parser-inc/locale.h create mode 100644 dtool/src/parser-inc/ogg/ogg.h create mode 100644 dtool/src/parser-inc/squish.h create mode 100644 dtool/src/parser-inc/sstream create mode 100644 dtool/src/parser-inc/sys/stat.h create mode 100644 dtool/src/parser-inc/sys/time.h create mode 100644 dtool/src/parser-inc/sys/types.h create mode 100644 dtool/src/parser-inc/typeinfo create mode 100644 dtool/src/parser-inc/unistd.h create mode 100644 dtool/src/parser-inc/vorbis/codec.h create mode 100644 dtool/src/parser-inc/zconf.h diff --git a/contrib/src/ai/p3ai_composite.cxx b/contrib/src/ai/p3ai_composite.cxx deleted file mode 100644 index cd584a1060..0000000000 --- a/contrib/src/ai/p3ai_composite.cxx +++ /dev/null @@ -1 +0,0 @@ -#include "ai_composite1.cxx" \ No newline at end of file diff --git a/dtool/metalibs/dtoolconfig/pydtool.cxx b/dtool/metalibs/dtoolconfig/pydtool.cxx index 77a162c7ec..83250cd092 100644 --- a/dtool/metalibs/dtoolconfig/pydtool.cxx +++ b/dtool/metalibs/dtoolconfig/pydtool.cxx @@ -2359,8 +2359,8 @@ _inP07yte_7S(PyObject *, PyObject *args) { */ static PyObject * _inP07ytw_15(PyObject *, PyObject *args) { - int param0; - if (PyArg_ParseTuple(args, "i", ¶m0)) { + Py_ssize_t param0; + if (PyArg_ParseTuple(args, "n", ¶m0)) { interrogate_request_module((InterrogateModuleDef *)param0); return Py_BuildValue(""); } diff --git a/dtool/src/cppparser/cppBison.cxx.prebuilt b/dtool/src/cppparser/cppBison.cxx.prebuilt index 863abcd1d4..45982424b6 100644 --- a/dtool/src/cppparser/cppBison.cxx.prebuilt +++ b/dtool/src/cppparser/cppBison.cxx.prebuilt @@ -797,16 +797,16 @@ union yyalloc /* YYFINAL -- State number of the termination state. */ #define YYFINAL 78 /* YYLAST -- Last index in YYTABLE. */ -#define YYLAST 4093 +#define YYLAST 4444 /* YYNTOKENS -- Number of terminals. */ #define YYNTOKENS 141 /* YYNNTS -- Number of nonterminals. */ -#define YYNNTS 93 +#define YYNNTS 94 /* YYNRULES -- Number of rules. */ -#define YYNRULES 579 +#define YYNRULES 583 /* YYNRULES -- Number of states. */ -#define YYNSTATES 1053 +#define YYNSTATES 1074 /* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX. */ #define YYUNDEFTOK 2 @@ -867,246 +867,249 @@ static const yytype_uint16 yyprhs[] = 26, 31, 32, 38, 40, 42, 44, 46, 48, 50, 53, 55, 57, 60, 63, 66, 69, 77, 87, 97, 104, 109, 110, 114, 116, 119, 123, 126, 129, 132, - 135, 138, 141, 144, 147, 150, 152, 156, 160, 161, - 166, 167, 173, 176, 181, 184, 189, 190, 195, 196, - 202, 206, 209, 214, 217, 222, 223, 230, 231, 238, - 239, 247, 248, 259, 260, 272, 273, 282, 283, 293, - 295, 297, 299, 302, 307, 313, 315, 317, 319, 321, - 323, 325, 327, 329, 331, 333, 335, 337, 339, 341, - 343, 345, 347, 349, 351, 353, 355, 357, 359, 361, - 363, 365, 367, 369, 371, 373, 375, 377, 379, 381, - 383, 386, 389, 391, 393, 395, 397, 398, 405, 408, - 410, 412, 414, 418, 421, 426, 429, 434, 438, 443, - 445, 447, 449, 451, 454, 458, 461, 464, 467, 470, - 473, 477, 482, 486, 490, 491, 498, 500, 502, 504, - 508, 511, 513, 517, 519, 522, 524, 527, 529, 533, - 539, 543, 548, 550, 552, 555, 557, 561, 565, 571, - 575, 579, 584, 590, 593, 595, 597, 599, 601, 604, - 607, 610, 613, 616, 620, 625, 627, 629, 631, 634, - 637, 640, 643, 646, 650, 655, 663, 667, 669, 672, - 675, 678, 681, 684, 688, 693, 701, 703, 705, 708, - 710, 712, 714, 717, 722, 727, 729, 731, 734, 736, - 738, 740, 743, 748, 751, 756, 758, 760, 763, 766, - 769, 772, 776, 777, 783, 784, 792, 794, 796, 799, - 803, 806, 809, 812, 816, 820, 824, 828, 832, 836, - 841, 846, 849, 853, 855, 857, 859, 861, 865, 871, - 873, 876, 881, 883, 885, 887, 889, 890, 897, 902, - 905, 909, 911, 913, 915, 917, 919, 921, 923, 925, - 927, 929, 931, 933, 935, 937, 940, 943, 946, 949, - 951, 954, 956, 960, 963, 965, 966, 969, 971, 974, - 976, 978, 980, 982, 984, 986, 988, 990, 992, 994, - 996, 998, 1000, 1002, 1004, 1006, 1008, 1010, 1012, 1014, - 1016, 1018, 1020, 1022, 1024, 1026, 1028, 1030, 1032, 1034, - 1036, 1038, 1040, 1042, 1044, 1046, 1048, 1050, 1052, 1054, - 1056, 1058, 1060, 1062, 1064, 1066, 1068, 1070, 1072, 1074, - 1076, 1078, 1080, 1082, 1084, 1086, 1088, 1090, 1092, 1094, - 1096, 1098, 1100, 1102, 1104, 1106, 1108, 1110, 1112, 1114, - 1116, 1118, 1120, 1122, 1124, 1126, 1128, 1130, 1132, 1134, - 1136, 1138, 1140, 1142, 1144, 1146, 1148, 1150, 1152, 1154, - 1156, 1158, 1160, 1162, 1164, 1166, 1168, 1170, 1172, 1174, - 1176, 1178, 1180, 1182, 1184, 1186, 1188, 1190, 1192, 1194, - 1196, 1198, 1200, 1202, 1204, 1208, 1210, 1212, 1214, 1216, - 1218, 1222, 1224, 1229, 1237, 1245, 1250, 1255, 1258, 1261, - 1264, 1267, 1270, 1274, 1278, 1282, 1286, 1290, 1294, 1298, - 1302, 1306, 1310, 1314, 1318, 1322, 1326, 1330, 1334, 1340, - 1345, 1350, 1354, 1358, 1362, 1366, 1368, 1373, 1381, 1389, - 1394, 1399, 1404, 1409, 1414, 1419, 1424, 1429, 1434, 1439, - 1444, 1449, 1454, 1459, 1464, 1467, 1473, 1476, 1479, 1482, - 1485, 1488, 1492, 1496, 1500, 1504, 1508, 1512, 1516, 1520, - 1524, 1528, 1532, 1536, 1540, 1544, 1548, 1552, 1556, 1560, - 1566, 1571, 1576, 1580, 1584, 1588, 1592, 1594, 1596, 1598, - 1600, 1602, 1604, 1606, 1608, 1610, 1612, 1617, 1625, 1633, - 1638, 1643, 1646, 1652, 1655, 1658, 1661, 1664, 1668, 1672, - 1676, 1680, 1684, 1688, 1692, 1696, 1700, 1704, 1708, 1712, - 1716, 1720, 1724, 1728, 1732, 1736, 1742, 1747, 1752, 1756, - 1760, 1764, 1768, 1770, 1772, 1774, 1776, 1778, 1780, 1782, - 1784, 1786, 1789, 1792, 1794, 1796, 1798, 1800, 1803, 1806 + 135, 138, 141, 144, 147, 150, 153, 155, 159, 163, + 164, 169, 170, 176, 179, 184, 187, 192, 193, 198, + 199, 205, 209, 212, 217, 220, 225, 226, 233, 234, + 241, 242, 250, 251, 262, 263, 275, 276, 285, 286, + 296, 298, 300, 302, 305, 310, 316, 318, 320, 322, + 324, 326, 328, 330, 332, 334, 336, 338, 340, 342, + 344, 346, 348, 350, 352, 354, 356, 358, 360, 362, + 364, 366, 368, 370, 372, 374, 376, 378, 380, 382, + 384, 386, 389, 392, 394, 396, 398, 400, 401, 408, + 411, 413, 415, 417, 421, 424, 429, 432, 437, 441, + 446, 448, 450, 452, 454, 457, 461, 464, 467, 470, + 473, 476, 480, 485, 489, 493, 494, 501, 503, 505, + 507, 511, 514, 516, 520, 522, 525, 527, 530, 532, + 536, 542, 546, 551, 553, 555, 558, 560, 564, 568, + 574, 578, 583, 589, 592, 594, 596, 598, 600, 603, + 606, 609, 612, 615, 619, 624, 626, 628, 630, 633, + 636, 639, 642, 645, 649, 654, 662, 666, 668, 671, + 674, 677, 680, 683, 687, 692, 700, 702, 704, 707, + 709, 711, 713, 716, 721, 726, 728, 730, 733, 735, + 737, 739, 742, 747, 750, 755, 757, 759, 762, 765, + 768, 771, 775, 776, 782, 783, 791, 793, 795, 798, + 802, 805, 808, 811, 815, 819, 823, 827, 831, 835, + 840, 845, 848, 852, 854, 856, 858, 860, 864, 870, + 872, 875, 880, 882, 884, 886, 888, 889, 896, 897, + 905, 910, 916, 919, 923, 925, 927, 929, 931, 933, + 935, 937, 939, 941, 943, 945, 947, 949, 951, 954, + 957, 960, 963, 965, 968, 970, 974, 977, 979, 980, + 983, 985, 988, 990, 992, 994, 996, 998, 1000, 1002, + 1004, 1006, 1008, 1010, 1012, 1014, 1016, 1018, 1020, 1022, + 1024, 1026, 1028, 1030, 1032, 1034, 1036, 1038, 1040, 1042, + 1044, 1046, 1048, 1050, 1052, 1054, 1056, 1058, 1060, 1062, + 1064, 1066, 1068, 1070, 1072, 1074, 1076, 1078, 1080, 1082, + 1084, 1086, 1088, 1090, 1092, 1094, 1096, 1098, 1100, 1102, + 1104, 1106, 1108, 1110, 1112, 1114, 1116, 1118, 1120, 1122, + 1124, 1126, 1128, 1130, 1132, 1134, 1136, 1138, 1140, 1142, + 1144, 1146, 1148, 1150, 1152, 1154, 1156, 1158, 1160, 1162, + 1164, 1166, 1168, 1170, 1172, 1174, 1176, 1178, 1180, 1182, + 1184, 1186, 1188, 1190, 1192, 1194, 1196, 1198, 1200, 1202, + 1204, 1206, 1208, 1210, 1212, 1214, 1216, 1218, 1222, 1224, + 1226, 1228, 1230, 1232, 1236, 1238, 1243, 1251, 1259, 1264, + 1269, 1272, 1275, 1278, 1281, 1284, 1288, 1292, 1296, 1300, + 1304, 1308, 1312, 1316, 1320, 1324, 1328, 1332, 1336, 1340, + 1344, 1348, 1354, 1359, 1364, 1368, 1372, 1376, 1380, 1382, + 1387, 1395, 1403, 1408, 1413, 1418, 1423, 1428, 1433, 1438, + 1443, 1448, 1453, 1458, 1463, 1468, 1473, 1478, 1481, 1487, + 1490, 1493, 1496, 1499, 1502, 1506, 1510, 1514, 1518, 1522, + 1526, 1530, 1534, 1538, 1542, 1546, 1550, 1554, 1558, 1562, + 1566, 1570, 1574, 1580, 1585, 1590, 1594, 1598, 1602, 1606, + 1608, 1610, 1612, 1614, 1616, 1618, 1620, 1622, 1624, 1626, + 1631, 1639, 1647, 1652, 1657, 1660, 1666, 1669, 1672, 1675, + 1678, 1682, 1686, 1690, 1694, 1698, 1702, 1706, 1710, 1714, + 1718, 1722, 1726, 1730, 1734, 1738, 1742, 1746, 1750, 1756, + 1761, 1766, 1770, 1774, 1778, 1782, 1784, 1786, 1788, 1790, + 1792, 1794, 1796, 1798, 1800, 1802, 1805, 1808, 1810, 1812, + 1814, 1816, 1819, 1822 }; /* YYRHS -- A `-1'-separated list of the rules' RHS. */ static const yytype_int16 yyrhs[] = { - 142, 0, -1, 114, 143, -1, 115, 226, -1, 116, - 196, -1, 233, -1, 143, 119, -1, 143, 148, -1, - 145, -1, 144, 118, 145, -1, 231, 135, 223, 137, + 142, 0, -1, 114, 143, -1, 115, 227, -1, 116, + 196, -1, 234, -1, 143, 119, -1, 143, 148, -1, + 145, -1, 144, 118, 145, -1, 232, 135, 224, 137, -1, -1, 151, 117, 147, 143, 138, -1, 152, -1, - 174, -1, 146, -1, 211, -1, 213, -1, 149, -1, + 174, -1, 146, -1, 211, -1, 214, -1, 149, -1, 104, 158, -1, 48, -1, 64, -1, 69, 120, -1, 90, 120, -1, 89, 120, -1, 88, 120, -1, 80, 135, 10, 118, 10, 137, 119, -1, 80, 135, 10, - 118, 10, 118, 10, 137, 119, -1, 81, 135, 231, - 118, 231, 118, 231, 137, 119, -1, 97, 135, 226, - 118, 232, 137, -1, 97, 135, 226, 137, -1, -1, - 72, 150, 148, -1, 233, -1, 151, 67, -1, 151, - 67, 6, -1, 151, 96, -1, 151, 76, -1, 151, - 109, -1, 151, 68, -1, 151, 111, -1, 151, 82, - -1, 151, 91, -1, 151, 49, -1, 151, 66, -1, - 153, -1, 151, 194, 119, -1, 151, 163, 186, -1, - -1, 151, 194, 154, 156, -1, -1, 151, 56, 193, - 155, 157, -1, 180, 186, -1, 180, 185, 118, 156, - -1, 180, 186, -1, 180, 185, 118, 157, -1, -1, - 151, 194, 159, 161, -1, -1, 151, 56, 193, 160, - 162, -1, 151, 163, 186, -1, 180, 186, -1, 180, - 185, 118, 161, -1, 180, 186, -1, 180, 185, 118, - 162, -1, -1, 10, 135, 164, 182, 137, 171, -1, - -1, 11, 135, 165, 182, 137, 171, -1, -1, 133, - 231, 135, 166, 182, 137, 171, -1, -1, 11, 135, - 130, 180, 137, 135, 167, 182, 137, 171, -1, -1, - 11, 135, 12, 130, 180, 137, 135, 168, 182, 137, - 171, -1, -1, 87, 193, 190, 135, 169, 182, 137, - 171, -1, -1, 87, 56, 193, 190, 135, 170, 182, - 137, 171, -1, 10, -1, 233, -1, 56, -1, 171, - 85, -1, 171, 101, 135, 137, -1, 171, 101, 135, - 231, 137, -1, 139, -1, 133, -1, 130, -1, 131, - -1, 132, -1, 128, -1, 129, -1, 123, -1, 125, - -1, 124, -1, 15, -1, 16, -1, 17, -1, 18, - -1, 19, -1, 20, -1, 126, -1, 127, -1, 21, - -1, 22, -1, 121, -1, 118, -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, 31, -1, 136, 140, -1, 135, 137, -1, 84, - -1, 60, -1, 152, -1, 174, -1, -1, 100, 175, - 126, 176, 127, 173, -1, 100, 152, -1, 233, -1, - 177, -1, 178, -1, 177, 118, 178, -1, 55, 231, - -1, 55, 231, 121, 196, -1, 105, 231, -1, 105, - 231, 121, 196, -1, 179, 191, 184, -1, 56, 179, - 191, 184, -1, 214, -1, 10, -1, 11, -1, 231, - -1, 87, 172, -1, 87, 6, 10, -1, 56, 180, - -1, 111, 180, -1, 130, 180, -1, 125, 180, -1, - 16, 180, -1, 12, 130, 180, -1, 180, 136, 222, - 140, -1, 180, 120, 4, -1, 135, 180, 137, -1, - -1, 180, 135, 181, 182, 137, 171, -1, 233, -1, - 14, -1, 183, -1, 183, 118, 14, -1, 183, 14, - -1, 189, -1, 183, 118, 189, -1, 233, -1, 121, - 225, -1, 233, -1, 121, 226, -1, 119, -1, 117, - 218, 138, -1, 120, 144, 117, 218, 138, -1, 121, - 226, 119, -1, 121, 117, 187, 138, -1, 233, -1, - 188, -1, 188, 118, -1, 226, -1, 117, 187, 138, - -1, 188, 118, 226, -1, 188, 118, 117, 187, 138, - -1, 193, 191, 185, -1, 10, 191, 185, -1, 56, - 193, 191, 185, -1, 56, 91, 193, 191, 185, -1, - 91, 189, -1, 228, -1, 233, -1, 10, -1, 11, - -1, 56, 190, -1, 111, 190, -1, 130, 190, -1, - 125, 190, -1, 16, 190, -1, 12, 130, 190, -1, - 190, 136, 222, 140, -1, 233, -1, 10, -1, 11, - -1, 56, 191, -1, 111, 191, -1, 130, 191, -1, - 125, 191, -1, 16, 191, -1, 12, 130, 191, -1, - 191, 136, 222, 140, -1, 135, 191, 137, 135, 182, - 137, 171, -1, 135, 191, 137, -1, 233, -1, 56, - 192, -1, 111, 192, -1, 130, 192, -1, 125, 192, - -1, 16, 192, -1, 12, 130, 192, -1, 192, 136, - 222, 140, -1, 135, 192, 137, 135, 182, 137, 171, - -1, 214, -1, 11, -1, 105, 231, -1, 197, -1, - 199, -1, 204, -1, 210, 231, -1, 209, 231, 120, - 206, -1, 58, 135, 226, 137, -1, 214, -1, 11, - -1, 105, 231, -1, 197, -1, 199, -1, 204, -1, - 210, 231, -1, 209, 231, 120, 206, -1, 209, 231, - -1, 58, 135, 226, 137, -1, 214, -1, 11, -1, - 105, 231, -1, 210, 231, -1, 209, 231, -1, 193, - 192, -1, 56, 193, 192, -1, -1, 210, 117, 198, - 143, 138, -1, -1, 210, 231, 200, 201, 117, 143, - 138, -1, 233, -1, 202, -1, 120, 203, -1, 202, - 118, 203, -1, 90, 230, -1, 89, 230, -1, 88, - 230, -1, 109, 90, 230, -1, 109, 89, 230, -1, - 109, 88, 230, -1, 90, 109, 230, -1, 89, 109, - 230, -1, 88, 109, 230, -1, 205, 117, 208, 138, - -1, 209, 231, 120, 206, -1, 209, 231, -1, 209, - 120, 206, -1, 209, -1, 215, -1, 11, -1, 233, - -1, 207, 231, 118, -1, 207, 231, 121, 226, 118, - -1, 207, -1, 207, 231, -1, 207, 231, 121, 226, - -1, 65, -1, 55, -1, 99, -1, 106, -1, -1, - 83, 231, 117, 212, 143, 138, -1, 83, 117, 143, - 138, -1, 108, 231, -1, 108, 83, 231, -1, 215, - -1, 216, -1, 217, -1, 50, -1, 52, -1, 112, - -1, 53, -1, 54, -1, 93, -1, 78, -1, 79, - -1, 107, -1, 94, -1, 77, -1, 93, 215, -1, - 78, 215, -1, 107, 215, -1, 94, 215, -1, 71, - -1, 78, 71, -1, 61, -1, 78, 78, 71, -1, - 78, 61, -1, 110, -1, -1, 219, 220, -1, 233, - -1, 220, 221, -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, + 118, 10, 118, 10, 137, 119, -1, 81, 135, 232, + 118, 232, 118, 232, 137, 119, -1, 97, 135, 227, + 118, 233, 137, -1, 97, 135, 227, 137, -1, -1, + 72, 150, 148, -1, 234, -1, 67, 151, -1, 67, + 6, 151, -1, 96, 151, -1, 76, 151, -1, 109, + 151, -1, 68, 151, -1, 91, 151, -1, 111, 151, + -1, 82, 151, -1, 57, 151, -1, 49, 151, -1, + 66, 151, -1, 153, -1, 151, 194, 119, -1, 151, + 163, 186, -1, -1, 151, 194, 154, 156, -1, -1, + 151, 56, 193, 155, 157, -1, 180, 186, -1, 180, + 185, 118, 156, -1, 180, 186, -1, 180, 185, 118, + 157, -1, -1, 151, 194, 159, 161, -1, -1, 151, + 56, 193, 160, 162, -1, 151, 163, 186, -1, 180, + 186, -1, 180, 185, 118, 161, -1, 180, 186, -1, + 180, 185, 118, 162, -1, -1, 10, 135, 164, 182, + 137, 171, -1, -1, 11, 135, 165, 182, 137, 171, + -1, -1, 133, 232, 135, 166, 182, 137, 171, -1, + -1, 11, 135, 130, 180, 137, 135, 167, 182, 137, + 171, -1, -1, 11, 135, 12, 130, 180, 137, 135, + 168, 182, 137, 171, -1, -1, 87, 193, 190, 135, + 169, 182, 137, 171, -1, -1, 87, 56, 193, 190, + 135, 170, 182, 137, 171, -1, 10, -1, 234, -1, + 56, -1, 171, 85, -1, 171, 101, 135, 137, -1, + 171, 101, 135, 232, 137, -1, 139, -1, 133, -1, + 130, -1, 131, -1, 132, -1, 128, -1, 129, -1, + 123, -1, 125, -1, 124, -1, 15, -1, 16, -1, + 17, -1, 18, -1, 19, -1, 20, -1, 126, -1, + 127, -1, 21, -1, 22, -1, 121, -1, 118, -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, 82, -1, 84, -1, 86, -1, 87, -1, - 88, -1, 89, -1, 90, -1, 69, -1, 91, -1, - 92, -1, 93, -1, 94, -1, 95, -1, 96, -1, - 97, -1, 98, -1, 99, -1, 101, -1, 102, -1, - 103, -1, 104, -1, 105, -1, 106, -1, 107, -1, - 109, -1, 110, -1, 111, -1, 112, -1, 113, -1, - 128, -1, 129, -1, 130, -1, 131, -1, 125, -1, - 123, -1, 124, -1, 139, -1, 133, -1, 121, -1, - 132, -1, 126, -1, 127, -1, 135, -1, 137, -1, - 134, -1, 118, -1, 119, -1, 120, -1, 136, -1, - 140, -1, 122, -1, 117, 220, 138, -1, 233, -1, - 226, -1, 233, -1, 224, -1, 226, -1, 224, 118, - 226, -1, 227, -1, 135, 196, 137, 225, -1, 98, - 126, 196, 127, 135, 224, 137, -1, 62, 126, 196, - 127, 135, 224, 137, -1, 95, 135, 196, 137, -1, - 46, 135, 196, 137, -1, 139, 225, -1, 133, 225, - -1, 129, 225, -1, 130, 225, -1, 125, 225, -1, - 225, 130, 225, -1, 225, 131, 225, -1, 225, 132, - 225, -1, 225, 128, 225, -1, 225, 129, 225, -1, - 225, 123, 225, -1, 225, 124, 225, -1, 225, 125, - 225, -1, 225, 15, 225, -1, 225, 16, 225, -1, - 225, 17, 225, -1, 225, 18, 225, -1, 225, 19, - 225, -1, 225, 20, 225, -1, 225, 21, 225, -1, - 225, 22, 225, -1, 225, 122, 225, 120, 225, -1, - 225, 136, 226, 140, -1, 225, 135, 224, 137, -1, - 225, 135, 137, -1, 225, 134, 225, -1, 225, 31, - 225, -1, 135, 224, 137, -1, 227, -1, 135, 196, - 137, 226, -1, 98, 126, 196, 127, 135, 224, 137, - -1, 62, 126, 196, 127, 135, 224, 137, -1, 11, - 135, 223, 137, -1, 77, 135, 223, 137, -1, 52, - 135, 223, 137, -1, 112, 135, 223, 137, -1, 53, - 135, 223, 137, -1, 54, 135, 223, 137, -1, 50, - 135, 223, 137, -1, 93, 135, 223, 137, -1, 78, - 135, 223, 137, -1, 107, 135, 223, 137, -1, 94, - 135, 223, 137, -1, 71, 135, 223, 137, -1, 61, - 135, 223, 137, -1, 95, 135, 196, 137, -1, 46, - 135, 196, 137, -1, 84, 195, -1, 84, 195, 135, - 223, 137, -1, 139, 226, -1, 133, 226, -1, 129, - 226, -1, 130, 226, -1, 125, 226, -1, 226, 130, - 226, -1, 226, 131, 226, -1, 226, 132, 226, -1, - 226, 128, 226, -1, 226, 129, 226, -1, 226, 123, - 226, -1, 226, 124, 226, -1, 226, 125, 226, -1, - 226, 15, 226, -1, 226, 16, 226, -1, 226, 17, - 226, -1, 226, 18, 226, -1, 226, 19, 226, -1, - 226, 20, 226, -1, 226, 126, 226, -1, 226, 127, - 226, -1, 226, 21, 226, -1, 226, 22, 226, -1, - 226, 122, 226, 120, 226, -1, 226, 136, 226, 140, - -1, 226, 135, 224, 137, -1, 226, 135, 137, -1, - 226, 134, 226, -1, 226, 31, 226, -1, 135, 224, + 43, -1, 44, -1, 31, -1, 136, 140, -1, 135, + 137, -1, 84, -1, 60, -1, 152, -1, 174, -1, + -1, 100, 175, 126, 176, 127, 173, -1, 100, 152, + -1, 234, -1, 177, -1, 178, -1, 177, 118, 178, + -1, 55, 232, -1, 55, 232, 121, 196, -1, 105, + 232, -1, 105, 232, 121, 196, -1, 179, 191, 184, + -1, 56, 179, 191, 184, -1, 215, -1, 10, -1, + 11, -1, 232, -1, 87, 172, -1, 87, 6, 10, + -1, 56, 180, -1, 111, 180, -1, 130, 180, -1, + 125, 180, -1, 16, 180, -1, 12, 130, 180, -1, + 180, 136, 223, 140, -1, 180, 120, 4, -1, 135, + 180, 137, -1, -1, 180, 135, 181, 182, 137, 171, + -1, 234, -1, 14, -1, 183, -1, 183, 118, 14, + -1, 183, 14, -1, 189, -1, 183, 118, 189, -1, + 234, -1, 121, 226, -1, 234, -1, 121, 227, -1, + 119, -1, 117, 219, 138, -1, 120, 144, 117, 219, + 138, -1, 121, 227, 119, -1, 121, 117, 187, 138, + -1, 234, -1, 188, -1, 188, 118, -1, 227, -1, + 117, 187, 138, -1, 188, 118, 227, -1, 188, 118, + 117, 187, 138, -1, 193, 191, 185, -1, 56, 193, + 191, 185, -1, 56, 91, 193, 191, 185, -1, 91, + 189, -1, 229, -1, 234, -1, 10, -1, 11, -1, + 56, 190, -1, 111, 190, -1, 130, 190, -1, 125, + 190, -1, 16, 190, -1, 12, 130, 190, -1, 190, + 136, 223, 140, -1, 234, -1, 10, -1, 11, -1, + 56, 191, -1, 111, 191, -1, 130, 191, -1, 125, + 191, -1, 16, 191, -1, 12, 130, 191, -1, 191, + 136, 223, 140, -1, 135, 191, 137, 135, 182, 137, + 171, -1, 135, 191, 137, -1, 234, -1, 56, 192, + -1, 111, 192, -1, 130, 192, -1, 125, 192, -1, + 16, 192, -1, 12, 130, 192, -1, 192, 136, 223, + 140, -1, 135, 192, 137, 135, 182, 137, 171, -1, + 215, -1, 11, -1, 105, 232, -1, 197, -1, 199, + -1, 204, -1, 210, 232, -1, 209, 232, 120, 206, + -1, 58, 135, 227, 137, -1, 215, -1, 11, -1, + 105, 232, -1, 197, -1, 199, -1, 204, -1, 210, + 232, -1, 209, 232, 120, 206, -1, 209, 232, -1, + 58, 135, 227, 137, -1, 215, -1, 11, -1, 105, + 232, -1, 210, 232, -1, 209, 232, -1, 193, 192, + -1, 56, 193, 192, -1, -1, 210, 117, 198, 143, + 138, -1, -1, 210, 232, 200, 201, 117, 143, 138, + -1, 234, -1, 202, -1, 120, 203, -1, 202, 118, + 203, -1, 90, 231, -1, 89, 231, -1, 88, 231, + -1, 109, 90, 231, -1, 109, 89, 231, -1, 109, + 88, 231, -1, 90, 109, 231, -1, 89, 109, 231, + -1, 88, 109, 231, -1, 205, 117, 208, 138, -1, + 209, 232, 120, 206, -1, 209, 232, -1, 209, 120, + 206, -1, 209, -1, 216, -1, 11, -1, 234, -1, + 207, 232, 118, -1, 207, 232, 121, 227, 118, -1, + 207, -1, 207, 232, -1, 207, 232, 121, 227, -1, + 65, -1, 55, -1, 99, -1, 106, -1, -1, 83, + 232, 117, 212, 143, 138, -1, -1, 76, 83, 232, + 117, 213, 143, 138, -1, 83, 117, 143, 138, -1, + 76, 83, 117, 143, 138, -1, 108, 232, -1, 108, + 83, 232, -1, 216, -1, 217, -1, 218, -1, 50, + -1, 52, -1, 112, -1, 53, -1, 54, -1, 93, + -1, 78, -1, 79, -1, 107, -1, 94, -1, 77, + -1, 93, 216, -1, 78, 216, -1, 107, 216, -1, + 94, 216, -1, 71, -1, 78, 71, -1, 61, -1, + 78, 78, 71, -1, 78, 61, -1, 110, -1, -1, + 220, 221, -1, 234, -1, 221, 222, -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, 82, -1, 84, -1, + 86, -1, 87, -1, 88, -1, 89, -1, 90, -1, + 69, -1, 91, -1, 92, -1, 93, -1, 94, -1, + 95, -1, 96, -1, 97, -1, 98, -1, 99, -1, + 101, -1, 102, -1, 103, -1, 104, -1, 105, -1, + 106, -1, 107, -1, 109, -1, 110, -1, 111, -1, + 112, -1, 113, -1, 128, -1, 129, -1, 130, -1, + 131, -1, 125, -1, 123, -1, 124, -1, 139, -1, + 133, -1, 121, -1, 132, -1, 126, -1, 127, -1, + 135, -1, 137, -1, 134, -1, 118, -1, 119, -1, + 120, -1, 136, -1, 140, -1, 122, -1, 117, 221, + 138, -1, 234, -1, 227, -1, 234, -1, 225, -1, + 227, -1, 225, 118, 227, -1, 228, -1, 135, 196, + 137, 226, -1, 98, 126, 196, 127, 135, 225, 137, + -1, 62, 126, 196, 127, 135, 225, 137, -1, 95, + 135, 196, 137, -1, 46, 135, 196, 137, -1, 139, + 226, -1, 133, 226, -1, 129, 226, -1, 130, 226, + -1, 125, 226, -1, 226, 130, 226, -1, 226, 131, + 226, -1, 226, 132, 226, -1, 226, 128, 226, -1, + 226, 129, 226, -1, 226, 123, 226, -1, 226, 124, + 226, -1, 226, 125, 226, -1, 226, 15, 226, -1, + 226, 16, 226, -1, 226, 17, 226, -1, 226, 18, + 226, -1, 226, 19, 226, -1, 226, 20, 226, -1, + 226, 21, 226, -1, 226, 22, 226, -1, 226, 122, + 226, 120, 226, -1, 226, 136, 227, 140, -1, 226, + 135, 225, 137, -1, 226, 135, 137, -1, 226, 134, + 226, -1, 226, 31, 226, -1, 135, 225, 137, -1, + 228, -1, 135, 196, 137, 227, -1, 98, 126, 196, + 127, 135, 225, 137, -1, 62, 126, 196, 127, 135, + 225, 137, -1, 11, 135, 224, 137, -1, 77, 135, + 224, 137, -1, 52, 135, 224, 137, -1, 112, 135, + 224, 137, -1, 53, 135, 224, 137, -1, 54, 135, + 224, 137, -1, 50, 135, 224, 137, -1, 93, 135, + 224, 137, -1, 78, 135, 224, 137, -1, 107, 135, + 224, 137, -1, 94, 135, 224, 137, -1, 71, 135, + 224, 137, -1, 61, 135, 224, 137, -1, 95, 135, + 196, 137, -1, 46, 135, 196, 137, -1, 84, 195, + -1, 84, 195, 135, 224, 137, -1, 139, 227, -1, + 133, 227, -1, 129, 227, -1, 130, 227, -1, 125, + 227, -1, 227, 130, 227, -1, 227, 131, 227, -1, + 227, 132, 227, -1, 227, 128, 227, -1, 227, 129, + 227, -1, 227, 123, 227, -1, 227, 124, 227, -1, + 227, 125, 227, -1, 227, 15, 227, -1, 227, 16, + 227, -1, 227, 17, 227, -1, 227, 18, 227, -1, + 227, 19, 227, -1, 227, 20, 227, -1, 227, 126, + 227, -1, 227, 127, 227, -1, 227, 21, 227, -1, + 227, 22, 227, -1, 227, 122, 227, 120, 227, -1, + 227, 136, 227, 140, -1, 227, 135, 225, 137, -1, + 227, 135, 137, -1, 227, 134, 227, -1, 227, 31, + 227, -1, 135, 225, 137, -1, 4, -1, 102, -1, + 70, -1, 5, -1, 3, -1, 233, -1, 9, -1, + 10, -1, 86, -1, 230, -1, 135, 196, 137, 227, + -1, 98, 126, 196, 127, 135, 225, 137, -1, 62, + 126, 196, 127, 135, 225, 137, -1, 95, 135, 196, + 137, -1, 46, 135, 196, 137, -1, 84, 195, -1, + 84, 195, 135, 224, 137, -1, 139, 227, -1, 133, + 227, -1, 129, 227, -1, 125, 227, -1, 229, 130, + 227, -1, 229, 131, 227, -1, 229, 132, 227, -1, + 229, 128, 227, -1, 229, 129, 227, -1, 229, 123, + 227, -1, 229, 124, 227, -1, 229, 125, 227, -1, + 229, 15, 227, -1, 229, 16, 227, -1, 229, 17, + 227, -1, 229, 18, 227, -1, 229, 19, 227, -1, + 229, 20, 227, -1, 229, 126, 227, -1, 229, 127, + 227, -1, 229, 21, 227, -1, 229, 22, 227, -1, + 229, 122, 227, 120, 227, -1, 229, 136, 227, 140, + -1, 229, 135, 225, 137, -1, 229, 135, 137, -1, + 229, 134, 227, -1, 229, 31, 227, -1, 135, 225, 137, -1, 4, -1, 102, -1, 70, -1, 5, -1, - 3, -1, 232, -1, 9, -1, 10, -1, 86, -1, - 229, -1, 135, 196, 137, 226, -1, 98, 126, 196, - 127, 135, 224, 137, -1, 62, 126, 196, 127, 135, - 224, 137, -1, 95, 135, 196, 137, -1, 46, 135, - 196, 137, -1, 84, 195, -1, 84, 195, 135, 223, - 137, -1, 139, 226, -1, 133, 226, -1, 129, 226, - -1, 125, 226, -1, 228, 130, 226, -1, 228, 131, - 226, -1, 228, 132, 226, -1, 228, 128, 226, -1, - 228, 129, 226, -1, 228, 123, 226, -1, 228, 124, - 226, -1, 228, 125, 226, -1, 228, 15, 226, -1, - 228, 16, 226, -1, 228, 17, 226, -1, 228, 18, - 226, -1, 228, 19, 226, -1, 228, 20, 226, -1, - 228, 126, 226, -1, 228, 127, 226, -1, 228, 21, - 226, -1, 228, 22, 226, -1, 228, 122, 226, 120, - 226, -1, 228, 136, 226, 140, -1, 228, 135, 224, - 137, -1, 228, 135, 137, -1, 228, 134, 226, -1, - 228, 31, 226, -1, 135, 224, 137, -1, 4, -1, - 102, -1, 70, -1, 5, -1, 3, -1, 232, -1, - 9, -1, 86, -1, 231, -1, 210, 231, -1, 105, - 231, -1, 10, -1, 11, -1, 6, -1, 8, -1, - 232, 6, -1, 232, 8, -1, -1 + 3, -1, 233, -1, 9, -1, 10, -1, 86, -1, + 232, -1, 210, 232, -1, 105, 232, -1, 10, -1, + 11, -1, 6, -1, 8, -1, 233, 6, -1, 233, + 8, -1, -1 }; /* YYRLINE[YYN] -- source line where rule number YYN was defined. */ @@ -1116,60 +1119,61 @@ static const yytype_uint16 yyrline[] = 427, 440, 439, 451, 452, 453, 454, 455, 456, 457, 458, 471, 480, 484, 492, 496, 500, 511, 532, 537, 548, 562, 561, 576, 580, 584, 595, 599, 603, 607, - 611, 615, 619, 623, 627, 634, 638, 647, 659, 658, - 674, 673, 691, 699, 710, 719, 733, 732, 748, 747, - 758, 773, 779, 788, 795, 808, 807, 830, 829, 854, - 853, 884, 883, 902, 901, 922, 921, 953, 952, 978, - 991, 995, 999, 1003, 1007, 1014, 1018, 1022, 1026, 1030, - 1034, 1038, 1042, 1046, 1050, 1054, 1058, 1062, 1066, 1070, - 1074, 1078, 1082, 1086, 1090, 1094, 1098, 1102, 1106, 1110, - 1114, 1118, 1122, 1126, 1130, 1134, 1138, 1142, 1146, 1150, - 1154, 1158, 1162, 1166, 1173, 1174, 1179, 1178, 1186, 1190, - 1191, 1195, 1201, 1210, 1214, 1218, 1222, 1226, 1232, 1242, - 1246, 1251, 1263, 1267, 1281, 1296, 1301, 1306, 1311, 1316, - 1321, 1326, 1331, 1336, 1342, 1341, 1363, 1367, 1372, 1376, - 1381, 1389, 1394, 1402, 1406, 1413, 1417, 1424, 1428, 1432, - 1436, 1440, 1447, 1448, 1449, 1453, 1456, 1457, 1458, 1462, - 1467, 1475, 1481, 1487, 1491, 1501, 1505, 1509, 1513, 1518, - 1523, 1528, 1533, 1538, 1543, 1551, 1555, 1559, 1563, 1568, - 1573, 1578, 1583, 1588, 1593, 1598, 1604, 1612, 1616, 1621, - 1626, 1631, 1636, 1641, 1646, 1651, 1660, 1664, 1672, 1676, - 1680, 1684, 1688, 1704, 1720, 1732, 1736, 1744, 1748, 1752, - 1756, 1760, 1776, 1792, 1810, 1822, 1826, 1834, 1838, 1854, - 1873, 1879, 1890, 1889, 1914, 1913, 1943, 1944, 1948, 1949, - 1953, 1957, 1961, 1965, 1969, 1973, 1977, 1981, 1985, 1992, - 2000, 2004, 2008, 2012, 2019, 2023, 2030, 2031, 2037, 2045, - 2046, 2052, 2061, 2068, 2072, 2076, 2084, 2083, 2105, 2109, - 2115, 2124, 2125, 2126, 2130, 2134, 2138, 2142, 2146, 2150, - 2155, 2160, 2165, 2170, 2175, 2179, 2184, 2193, 2198, 2206, - 2210, 2215, 2219, 2224, 2232, 2242, 2242, 2252, 2253, 2257, - 2258, 2259, 2260, 2261, 2262, 2263, 2264, 2265, 2266, 2267, - 2267, 2267, 2268, 2268, 2268, 2268, 2269, 2269, 2269, 2269, - 2269, 2270, 2270, 2270, 2271, 2271, 2271, 2271, 2271, 2272, - 2272, 2272, 2272, 2272, 2273, 2273, 2273, 2273, 2273, 2274, - 2274, 2274, 2275, 2275, 2275, 2275, 2275, 2276, 2276, 2276, - 2276, 2276, 2277, 2277, 2277, 2278, 2278, 2278, 2278, 2279, - 2279, 2279, 2279, 2279, 2280, 2280, 2280, 2280, 2280, 2281, - 2281, 2281, 2281, 2282, 2282, 2282, 2282, 2282, 2283, 2283, - 2283, 2283, 2283, 2284, 2284, 2284, 2284, 2284, 2285, 2285, - 2285, 2285, 2288, 2288, 2288, 2288, 2288, 2288, 2288, 2288, - 2288, 2288, 2288, 2289, 2289, 2289, 2289, 2289, 2289, 2289, - 2289, 2289, 2289, 2290, 2290, 2294, 2298, 2305, 2309, 2316, - 2320, 2327, 2331, 2335, 2339, 2343, 2347, 2351, 2355, 2359, - 2363, 2367, 2371, 2375, 2379, 2383, 2387, 2391, 2395, 2399, - 2403, 2407, 2411, 2415, 2419, 2423, 2427, 2431, 2435, 2439, - 2443, 2447, 2451, 2455, 2459, 2467, 2471, 2475, 2479, 2483, - 2493, 2499, 2505, 2511, 2517, 2523, 2529, 2536, 2543, 2550, - 2557, 2563, 2569, 2573, 2577, 2581, 2585, 2589, 2593, 2597, - 2601, 2605, 2609, 2613, 2617, 2621, 2625, 2629, 2633, 2637, - 2641, 2645, 2649, 2653, 2657, 2661, 2665, 2669, 2673, 2677, - 2681, 2685, 2689, 2693, 2697, 2701, 2708, 2712, 2716, 2720, - 2724, 2728, 2732, 2736, 2740, 2754, 2758, 2762, 2766, 2770, - 2774, 2778, 2782, 2786, 2790, 2794, 2798, 2802, 2806, 2810, - 2814, 2818, 2822, 2826, 2830, 2834, 2838, 2842, 2846, 2850, - 2854, 2858, 2862, 2866, 2870, 2874, 2878, 2882, 2886, 2890, - 2894, 2898, 2905, 2909, 2913, 2917, 2921, 2925, 2929, 2933, - 2940, 2948, 2956, 2982, 2986, 2993, 2997, 3001, 3007, 3018 + 611, 615, 619, 623, 627, 631, 638, 642, 651, 663, + 662, 678, 677, 695, 703, 714, 723, 737, 736, 752, + 751, 762, 777, 783, 792, 799, 812, 811, 836, 835, + 860, 859, 890, 889, 908, 907, 928, 927, 959, 958, + 984, 997, 1001, 1005, 1009, 1013, 1020, 1024, 1028, 1032, + 1036, 1040, 1044, 1048, 1052, 1056, 1060, 1064, 1068, 1072, + 1076, 1080, 1084, 1088, 1092, 1096, 1100, 1104, 1108, 1112, + 1116, 1120, 1124, 1128, 1132, 1136, 1140, 1144, 1148, 1152, + 1156, 1160, 1164, 1168, 1172, 1179, 1180, 1185, 1184, 1192, + 1196, 1197, 1201, 1207, 1216, 1220, 1224, 1228, 1232, 1238, + 1248, 1252, 1257, 1269, 1273, 1287, 1302, 1307, 1312, 1317, + 1322, 1327, 1332, 1337, 1342, 1348, 1347, 1369, 1373, 1378, + 1382, 1387, 1395, 1400, 1408, 1412, 1419, 1423, 1430, 1434, + 1438, 1442, 1446, 1453, 1454, 1455, 1459, 1462, 1463, 1464, + 1468, 1473, 1479, 1485, 1489, 1499, 1503, 1507, 1511, 1516, + 1521, 1526, 1531, 1536, 1541, 1549, 1553, 1557, 1561, 1566, + 1571, 1576, 1581, 1586, 1591, 1596, 1602, 1610, 1614, 1619, + 1624, 1629, 1634, 1639, 1644, 1649, 1658, 1662, 1670, 1674, + 1678, 1682, 1686, 1702, 1718, 1730, 1734, 1742, 1746, 1750, + 1754, 1758, 1774, 1790, 1808, 1820, 1824, 1832, 1836, 1852, + 1871, 1877, 1888, 1887, 1912, 1911, 1941, 1942, 1946, 1947, + 1951, 1955, 1959, 1963, 1967, 1971, 1975, 1979, 1983, 1990, + 1998, 2002, 2006, 2010, 2017, 2021, 2028, 2029, 2035, 2043, + 2044, 2050, 2059, 2066, 2070, 2074, 2082, 2081, 2104, 2103, + 2126, 2127, 2131, 2137, 2146, 2147, 2148, 2152, 2156, 2160, + 2164, 2168, 2172, 2177, 2182, 2187, 2192, 2197, 2201, 2206, + 2215, 2220, 2228, 2232, 2237, 2241, 2246, 2254, 2264, 2264, + 2274, 2275, 2279, 2280, 2281, 2282, 2283, 2284, 2285, 2286, + 2287, 2288, 2289, 2289, 2289, 2290, 2290, 2290, 2290, 2291, + 2291, 2291, 2291, 2291, 2292, 2292, 2292, 2293, 2293, 2293, + 2293, 2293, 2294, 2294, 2294, 2294, 2294, 2295, 2295, 2295, + 2295, 2295, 2296, 2296, 2296, 2297, 2297, 2297, 2297, 2297, + 2298, 2298, 2298, 2298, 2298, 2299, 2299, 2299, 2300, 2300, + 2300, 2300, 2301, 2301, 2301, 2301, 2301, 2302, 2302, 2302, + 2302, 2302, 2303, 2303, 2303, 2303, 2304, 2304, 2304, 2304, + 2304, 2305, 2305, 2305, 2305, 2305, 2306, 2306, 2306, 2306, + 2306, 2307, 2307, 2307, 2307, 2310, 2310, 2310, 2310, 2310, + 2310, 2310, 2310, 2310, 2310, 2310, 2311, 2311, 2311, 2311, + 2311, 2311, 2311, 2311, 2311, 2311, 2312, 2312, 2316, 2320, + 2327, 2331, 2338, 2342, 2349, 2353, 2357, 2361, 2365, 2369, + 2373, 2377, 2381, 2385, 2389, 2393, 2397, 2401, 2405, 2409, + 2413, 2417, 2421, 2425, 2429, 2433, 2437, 2441, 2445, 2449, + 2453, 2457, 2461, 2465, 2469, 2473, 2477, 2481, 2489, 2493, + 2497, 2501, 2505, 2515, 2521, 2527, 2533, 2539, 2545, 2551, + 2558, 2565, 2572, 2579, 2585, 2591, 2595, 2599, 2603, 2607, + 2611, 2615, 2619, 2623, 2627, 2631, 2635, 2639, 2643, 2647, + 2651, 2655, 2659, 2663, 2667, 2671, 2675, 2679, 2683, 2687, + 2691, 2695, 2699, 2703, 2707, 2711, 2715, 2719, 2723, 2730, + 2734, 2738, 2742, 2746, 2750, 2754, 2758, 2762, 2776, 2780, + 2784, 2788, 2792, 2796, 2800, 2804, 2808, 2812, 2816, 2820, + 2824, 2828, 2832, 2836, 2840, 2844, 2848, 2852, 2856, 2860, + 2864, 2868, 2872, 2876, 2880, 2884, 2888, 2892, 2896, 2900, + 2904, 2908, 2912, 2916, 2920, 2927, 2931, 2935, 2939, 2943, + 2947, 2951, 2955, 2959, 2966, 2974, 2982, 3008, 3012, 3019, + 3023, 3027, 3033, 3044 }; #endif @@ -1225,8 +1229,8 @@ static const char *const yytname[] = "maybe_class_derivation", "class_derivation", "base_specification", "enum", "enum_decl", "enum_element_type", "enum_body_trailing_comma", "enum_body", "enum_keyword", "struct_keyword", "namespace_declaration", - "$@18", "using_declaration", "simple_type", "simple_int_type", - "simple_float_type", "simple_void_type", "code", "$@19", "code_block", + "$@18", "$@19", "using_declaration", "simple_type", "simple_int_type", + "simple_float_type", "simple_void_type", "code", "$@20", "code_block", "element", "optional_const_expr", "optional_const_expr_comma", "const_expr_comma", "no_angle_bracket_const_expr", "const_expr", "const_operand", "formal_const_expr", "formal_const_operand", @@ -1264,20 +1268,20 @@ static const yytype_uint8 yyr1[] = 145, 147, 146, 148, 148, 148, 148, 148, 148, 148, 148, 148, 148, 148, 148, 148, 148, 148, 148, 148, 148, 150, 149, 151, 151, 151, 151, 151, 151, 151, - 151, 151, 151, 151, 151, 152, 152, 152, 154, 153, - 155, 153, 156, 156, 157, 157, 159, 158, 160, 158, - 158, 161, 161, 162, 162, 164, 163, 165, 163, 166, - 163, 167, 163, 168, 163, 169, 163, 170, 163, 163, - 171, 171, 171, 171, 171, 172, 172, 172, 172, 172, + 151, 151, 151, 151, 151, 151, 152, 152, 152, 154, + 153, 155, 153, 156, 156, 157, 157, 159, 158, 160, + 158, 158, 161, 161, 162, 162, 164, 163, 165, 163, + 166, 163, 167, 163, 168, 163, 169, 163, 170, 163, + 163, 171, 171, 171, 171, 171, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, - 172, 172, 172, 172, 173, 173, 175, 174, 174, 176, - 176, 177, 177, 178, 178, 178, 178, 178, 178, 179, - 179, 179, 180, 180, 180, 180, 180, 180, 180, 180, - 180, 180, 180, 180, 181, 180, 182, 182, 182, 182, - 182, 183, 183, 184, 184, 185, 185, 186, 186, 186, - 186, 186, 187, 187, 187, 188, 188, 188, 188, 189, + 172, 172, 172, 172, 172, 173, 173, 175, 174, 174, + 176, 176, 177, 177, 178, 178, 178, 178, 178, 178, + 179, 179, 179, 180, 180, 180, 180, 180, 180, 180, + 180, 180, 180, 180, 180, 181, 180, 182, 182, 182, + 182, 182, 183, 183, 184, 184, 185, 185, 186, 186, + 186, 186, 186, 187, 187, 187, 188, 188, 188, 188, 189, 189, 189, 189, 189, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, 192, 192, 192, @@ -1287,37 +1291,38 @@ static const yytype_uint8 yyr1[] = 196, 196, 198, 197, 200, 199, 201, 201, 202, 202, 203, 203, 203, 203, 203, 203, 203, 203, 203, 204, 205, 205, 205, 205, 206, 206, 207, 207, 207, 208, - 208, 208, 209, 210, 210, 210, 212, 211, 211, 213, - 213, 214, 214, 214, 215, 215, 215, 215, 215, 215, - 215, 215, 215, 215, 215, 215, 215, 215, 215, 216, - 216, 216, 216, 216, 217, 219, 218, 220, 220, 221, - 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, - 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, - 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, - 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, - 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, - 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, - 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, - 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, - 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, - 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, - 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, - 221, 221, 221, 221, 221, 222, 222, 223, 223, 224, - 224, 225, 225, 225, 225, 225, 225, 225, 225, 225, - 225, 225, 225, 225, 225, 225, 225, 225, 225, 225, - 225, 225, 225, 225, 225, 225, 225, 225, 225, 225, - 225, 225, 225, 225, 225, 226, 226, 226, 226, 226, + 208, 208, 209, 210, 210, 210, 212, 211, 213, 211, + 211, 211, 214, 214, 215, 215, 215, 216, 216, 216, + 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, + 216, 216, 217, 217, 217, 217, 217, 218, 220, 219, + 221, 221, 222, 222, 222, 222, 222, 222, 222, 222, + 222, 222, 222, 222, 222, 222, 222, 222, 222, 222, + 222, 222, 222, 222, 222, 222, 222, 222, 222, 222, + 222, 222, 222, 222, 222, 222, 222, 222, 222, 222, + 222, 222, 222, 222, 222, 222, 222, 222, 222, 222, + 222, 222, 222, 222, 222, 222, 222, 222, 222, 222, + 222, 222, 222, 222, 222, 222, 222, 222, 222, 222, + 222, 222, 222, 222, 222, 222, 222, 222, 222, 222, + 222, 222, 222, 222, 222, 222, 222, 222, 222, 222, + 222, 222, 222, 222, 222, 222, 222, 222, 222, 222, + 222, 222, 222, 222, 222, 222, 222, 222, 222, 222, + 222, 222, 222, 222, 222, 222, 222, 222, 223, 223, + 224, 224, 225, 225, 226, 226, 226, 226, 226, 226, 226, 226, 226, 226, 226, 226, 226, 226, 226, 226, 226, 226, 226, 226, 226, 226, 226, 226, 226, 226, - 226, 226, 226, 226, 226, 226, 226, 226, 226, 226, - 226, 226, 226, 226, 226, 226, 226, 226, 226, 226, - 226, 226, 226, 226, 226, 226, 227, 227, 227, 227, - 227, 227, 227, 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, 228, 228, 228, - 228, 228, 229, 229, 229, 229, 229, 229, 229, 229, - 230, 230, 230, 231, 231, 232, 232, 232, 232, 233 + 226, 226, 226, 226, 226, 226, 226, 226, 227, 227, + 227, 227, 227, 227, 227, 227, 227, 227, 227, 227, + 227, 227, 227, 227, 227, 227, 227, 227, 227, 227, + 227, 227, 227, 227, 227, 227, 227, 227, 227, 227, + 227, 227, 227, 227, 227, 227, 227, 227, 227, 227, + 227, 227, 227, 227, 227, 227, 227, 227, 227, 228, + 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, 230, 230, 230, 230, 230, + 230, 230, 230, 230, 231, 231, 231, 232, 232, 233, + 233, 233, 233, 234 }; /* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN. */ @@ -1327,20 +1332,20 @@ static const yytype_uint8 yyr2[] = 4, 0, 5, 1, 1, 1, 1, 1, 1, 2, 1, 1, 2, 2, 2, 2, 7, 9, 9, 6, 4, 0, 3, 1, 2, 3, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 1, 3, 3, 0, 4, - 0, 5, 2, 4, 2, 4, 0, 4, 0, 5, - 3, 2, 4, 2, 4, 0, 6, 0, 6, 0, - 7, 0, 10, 0, 11, 0, 8, 0, 9, 1, - 1, 1, 2, 4, 5, 1, 1, 1, 1, 1, + 2, 2, 2, 2, 2, 2, 1, 3, 3, 0, + 4, 0, 5, 2, 4, 2, 4, 0, 4, 0, + 5, 3, 2, 4, 2, 4, 0, 6, 0, 6, + 0, 7, 0, 10, 0, 11, 0, 8, 0, 9, + 1, 1, 1, 2, 4, 5, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 2, 2, 1, 1, 1, 1, 0, 6, 2, 1, - 1, 1, 3, 2, 4, 2, 4, 3, 4, 1, - 1, 1, 1, 2, 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, + 1, 2, 2, 1, 1, 1, 1, 0, 6, 2, + 1, 1, 1, 3, 2, 4, 2, 4, 3, 4, + 1, 1, 1, 1, 2, 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, @@ -1350,10 +1355,11 @@ static const yytype_uint8 yyr2[] = 2, 3, 0, 5, 0, 7, 1, 1, 2, 3, 2, 2, 2, 3, 3, 3, 3, 3, 3, 4, 4, 2, 3, 1, 1, 1, 1, 3, 5, 1, - 2, 4, 1, 1, 1, 1, 0, 6, 4, 2, - 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 2, 2, 2, 2, 1, - 2, 1, 3, 2, 1, 0, 2, 1, 2, 1, + 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, 1, 1, 1, 1, 1, 1, 1, 1, @@ -1364,23 +1370,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, 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, 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, + 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, 3, 3, 3, 3, 5, 4, 4, 3, 3, - 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 2, 2, 1, 1, 1, 1, 2, 2, 0 + 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, 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. @@ -1388,255 +1394,259 @@ static const yytype_uint8 yyr2[] = means the default is an error. */ static const yytype_uint16 yydefact[] = { - 0, 579, 0, 0, 0, 579, 5, 520, 516, 519, - 575, 576, 522, 523, 0, 0, 0, 0, 0, 0, - 0, 0, 518, 0, 0, 0, 0, 524, 0, 0, - 0, 0, 517, 0, 0, 0, 0, 0, 0, 0, - 0, 3, 465, 521, 217, 284, 285, 287, 288, 273, - 0, 0, 301, 272, 299, 294, 290, 291, 289, 293, - 274, 0, 275, 292, 304, 286, 579, 4, 219, 220, - 221, 0, 263, 0, 216, 281, 282, 283, 1, 20, - 21, 0, 31, 0, 0, 0, 0, 0, 0, 0, - 579, 579, 0, 6, 15, 7, 18, 0, 13, 45, - 14, 16, 17, 33, 579, 0, 579, 579, 579, 579, - 579, 0, 579, 579, 579, 236, 0, 484, 0, 0, - 235, 579, 579, 0, 0, 579, 579, 490, 488, 489, - 487, 217, 284, 285, 287, 288, 301, 299, 294, 290, - 289, 293, 292, 286, 0, 0, 429, 486, 0, 0, + 0, 583, 0, 0, 0, 583, 5, 523, 519, 522, + 579, 580, 525, 526, 0, 0, 0, 0, 0, 0, + 0, 0, 521, 0, 0, 0, 0, 527, 0, 0, + 0, 0, 520, 0, 0, 0, 0, 0, 0, 0, + 0, 3, 468, 524, 217, 287, 288, 290, 291, 273, + 0, 0, 304, 272, 302, 297, 293, 294, 292, 296, + 274, 0, 275, 295, 307, 289, 583, 4, 219, 220, + 221, 0, 263, 0, 216, 284, 285, 286, 1, 20, + 583, 583, 21, 583, 583, 583, 0, 31, 583, 0, + 0, 583, 0, 0, 0, 0, 583, 583, 0, 583, + 583, 0, 583, 583, 6, 15, 7, 18, 0, 13, + 46, 14, 16, 17, 33, 583, 0, 583, 583, 583, + 583, 583, 0, 583, 583, 583, 236, 0, 487, 0, + 0, 235, 583, 583, 0, 0, 583, 583, 493, 491, + 492, 490, 217, 287, 288, 290, 291, 304, 302, 297, + 293, 292, 296, 295, 289, 0, 0, 432, 489, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 577, 578, 579, 0, 303, 300, 290, 296, 290, - 295, 298, 573, 574, 218, 297, 0, 579, 579, 579, - 579, 579, 579, 240, 207, 579, 0, 261, 242, 222, - 22, 579, 0, 0, 579, 0, 25, 24, 23, 0, - 0, 128, 0, 0, 19, 0, 279, 79, 226, 43, - 0, 0, 44, 34, 39, 37, 41, 0, 42, 36, - 0, 38, 40, 11, 0, 0, 48, 228, 229, 230, - 263, 0, 225, 0, 428, 427, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 237, 579, 239, 238, - 0, 0, 0, 0, 0, 0, 0, 0, 515, 499, - 500, 501, 502, 503, 504, 507, 508, 514, 0, 496, - 497, 498, 505, 506, 494, 495, 491, 492, 493, 513, - 512, 0, 0, 241, 0, 302, 579, 212, 208, 209, - 211, 210, 0, 579, 269, 0, 266, 265, 262, 264, - 0, 579, 579, 32, 0, 0, 579, 276, 0, 579, - 0, 0, 56, 280, 65, 67, 50, 0, 35, 0, - 579, 227, 579, 0, 305, 167, 0, 0, 47, 46, - 0, 233, 231, 469, 483, 475, 471, 473, 474, 481, - 0, 480, 470, 477, 0, 476, 479, 482, 0, 478, - 472, 466, 430, 0, 511, 510, 224, 213, 0, 0, - 426, 425, 270, 259, 223, 579, 0, 0, 247, 246, - 0, 0, 278, 579, 0, 30, 140, 141, 0, 0, - 0, 0, 130, 131, 579, 139, 129, 58, 60, 0, - 579, 0, 0, 579, 0, 0, 579, 186, 187, 0, - 579, 579, 579, 579, 579, 0, 185, 579, 69, 0, - 579, 0, 8, 0, 579, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 49, 579, 142, 0, 0, 485, - 0, 509, 579, 214, 267, 0, 243, 0, 0, 0, - 0, 248, 579, 0, 0, 0, 579, 0, 133, 579, - 135, 579, 0, 196, 197, 0, 579, 579, 579, 579, - 579, 579, 579, 195, 0, 57, 579, 566, 562, 565, - 568, 579, 157, 0, 0, 0, 564, 0, 569, 0, - 0, 0, 563, 0, 0, 0, 0, 0, 0, 158, - 161, 579, 184, 525, 567, 156, 0, 0, 0, 51, - 579, 234, 0, 579, 192, 188, 189, 191, 190, 75, - 579, 12, 579, 168, 306, 307, 305, 0, 579, 579, - 0, 173, 175, 172, 170, 0, 149, 145, 0, 95, - 96, 97, 98, 99, 100, 103, 104, 119, 107, 108, + 0, 0, 581, 582, 583, 0, 306, 303, 293, 299, + 293, 298, 301, 577, 578, 218, 300, 0, 583, 583, + 583, 583, 583, 583, 240, 207, 583, 0, 261, 242, + 222, 583, 44, 43, 45, 583, 34, 39, 22, 583, + 0, 37, 0, 0, 42, 583, 0, 25, 24, 23, + 40, 36, 0, 0, 129, 0, 0, 19, 0, 282, + 38, 41, 80, 226, 0, 0, 0, 0, 11, 0, + 0, 49, 228, 229, 230, 263, 0, 225, 0, 431, + 430, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 237, 583, 239, 238, 0, 0, 0, 0, 0, + 0, 0, 0, 518, 502, 503, 504, 505, 506, 507, + 510, 511, 517, 0, 499, 500, 501, 508, 509, 497, + 498, 494, 495, 496, 516, 515, 0, 0, 241, 0, + 305, 583, 212, 208, 209, 211, 210, 0, 583, 269, + 0, 266, 265, 262, 264, 0, 583, 583, 35, 32, + 583, 0, 0, 0, 583, 276, 0, 583, 0, 0, + 57, 283, 66, 68, 51, 0, 0, 583, 227, 583, + 0, 308, 168, 0, 0, 48, 47, 0, 233, 231, + 472, 486, 478, 474, 476, 477, 484, 0, 483, 473, + 480, 0, 479, 482, 485, 0, 481, 475, 469, 433, + 0, 514, 513, 224, 213, 0, 0, 429, 428, 270, + 259, 223, 583, 0, 0, 247, 246, 583, 278, 0, + 0, 280, 583, 0, 30, 141, 142, 0, 0, 0, + 0, 131, 132, 583, 140, 130, 59, 61, 0, 583, + 0, 0, 583, 0, 0, 583, 186, 187, 0, 583, + 583, 583, 583, 583, 0, 185, 583, 70, 0, 583, + 0, 8, 0, 583, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 50, 583, 143, 0, 0, 488, 0, + 512, 583, 214, 267, 0, 243, 0, 0, 0, 0, + 248, 583, 0, 281, 583, 0, 0, 583, 0, 134, + 583, 136, 583, 0, 196, 197, 0, 583, 583, 583, + 583, 583, 583, 583, 195, 0, 58, 583, 569, 565, + 568, 571, 572, 158, 0, 0, 0, 567, 0, 573, + 0, 0, 0, 566, 0, 0, 0, 0, 0, 0, + 159, 162, 583, 184, 528, 570, 157, 0, 0, 0, + 52, 583, 234, 0, 583, 192, 188, 189, 191, 190, + 76, 583, 12, 583, 169, 309, 310, 308, 0, 583, + 583, 0, 174, 176, 173, 171, 0, 150, 146, 0, + 96, 97, 98, 99, 100, 101, 104, 105, 120, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, - 123, 122, 106, 105, 92, 94, 93, 101, 102, 90, - 91, 87, 88, 89, 86, 0, 0, 85, 143, 146, - 148, 147, 0, 0, 0, 154, 579, 0, 52, 165, - 232, 0, 0, 0, 271, 0, 0, 0, 252, 570, - 0, 251, 0, 250, 0, 0, 0, 579, 249, 0, - 0, 0, 277, 29, 0, 579, 0, 124, 127, 125, - 132, 579, 202, 198, 199, 201, 200, 0, 0, 579, - 137, 163, 59, 579, 0, 61, 579, 0, 0, 579, - 0, 531, 183, 0, 0, 536, 535, 534, 0, 0, - 533, 579, 160, 0, 579, 0, 0, 0, 0, 0, + 119, 124, 123, 107, 106, 93, 95, 94, 102, 103, + 91, 92, 88, 89, 90, 87, 0, 0, 86, 144, + 147, 149, 148, 0, 0, 0, 155, 583, 0, 53, + 166, 232, 0, 0, 0, 271, 0, 0, 0, 252, + 574, 0, 251, 0, 250, 0, 0, 0, 583, 249, + 583, 0, 0, 0, 277, 29, 0, 583, 0, 125, + 128, 126, 133, 583, 202, 198, 199, 201, 200, 0, + 0, 583, 138, 164, 60, 583, 0, 62, 0, 0, + 583, 0, 534, 183, 0, 0, 539, 538, 537, 0, + 0, 536, 583, 161, 0, 583, 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, 579, 0, 54, 77, 193, 579, 0, 0, 309, - 310, 314, 311, 318, 312, 313, 315, 316, 317, 319, - 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, - 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, - 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, - 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, - 360, 361, 362, 363, 380, 364, 365, 366, 367, 368, - 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, - 379, 381, 382, 383, 384, 385, 386, 387, 388, 389, - 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, - 400, 401, 579, 418, 419, 420, 411, 423, 407, 408, - 406, 413, 414, 402, 403, 404, 405, 412, 410, 417, - 415, 421, 416, 409, 422, 308, 0, 9, 0, 0, - 171, 174, 150, 144, 121, 120, 153, 152, 166, 579, - 0, 0, 468, 467, 579, 268, 572, 258, 571, 257, - 256, 255, 254, 253, 245, 0, 26, 0, 134, 138, - 136, 203, 206, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 164, 431, 0, 0, 63, 0, 0, - 180, 0, 579, 579, 0, 579, 0, 0, 0, 561, - 81, 66, 80, 159, 162, 179, 545, 546, 547, 548, - 549, 550, 553, 554, 560, 0, 542, 543, 544, 551, - 552, 540, 541, 537, 538, 539, 559, 558, 0, 0, - 0, 71, 68, 0, 579, 0, 194, 579, 0, 169, - 10, 176, 579, 177, 0, 151, 53, 215, 0, 0, - 579, 0, 0, 0, 0, 441, 439, 440, 438, 0, - 0, 437, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 583, 0, 55, 78, 193, 583, 0, 0, + 312, 313, 317, 314, 321, 315, 316, 318, 319, 320, + 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, + 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, + 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, + 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, + 362, 363, 364, 365, 366, 383, 367, 368, 369, 370, + 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, + 381, 382, 384, 385, 386, 387, 388, 389, 390, 391, + 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, + 402, 403, 404, 583, 421, 422, 423, 414, 426, 410, + 411, 409, 416, 417, 405, 406, 407, 408, 415, 413, + 420, 418, 424, 419, 412, 425, 311, 0, 9, 0, + 0, 172, 175, 151, 145, 122, 121, 154, 153, 167, + 583, 0, 0, 471, 470, 583, 268, 576, 258, 575, + 257, 256, 255, 254, 253, 245, 279, 0, 26, 0, + 135, 139, 137, 203, 206, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 165, 434, 0, 0, 64, + 0, 0, 583, 583, 0, 583, 0, 0, 0, 564, + 82, 67, 81, 160, 163, 0, 180, 548, 549, 550, + 551, 552, 553, 556, 557, 563, 0, 545, 546, 547, + 554, 555, 543, 544, 540, 541, 542, 562, 561, 0, + 0, 0, 72, 69, 0, 583, 0, 194, 583, 0, + 170, 10, 177, 583, 178, 0, 152, 54, 215, 0, + 0, 583, 0, 0, 0, 0, 444, 442, 443, 441, + 0, 0, 440, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 204, 0, 62, 166, 530, 579, 181, - 0, 0, 529, 0, 526, 82, 0, 0, 557, 556, - 73, 579, 55, 0, 579, 70, 424, 0, 579, 27, - 28, 0, 0, 0, 0, 0, 0, 464, 450, 451, - 452, 453, 454, 455, 456, 457, 463, 0, 447, 448, - 449, 445, 446, 442, 443, 444, 462, 461, 0, 0, - 64, 182, 0, 532, 0, 0, 555, 579, 0, 579, - 76, 178, 155, 579, 436, 0, 435, 0, 432, 0, - 460, 459, 0, 0, 83, 0, 0, 579, 78, 205, - 0, 0, 458, 528, 527, 84, 579, 72, 0, 0, - 74, 434, 433 + 0, 0, 0, 0, 204, 0, 63, 533, 583, 181, + 0, 0, 532, 0, 529, 83, 0, 167, 0, 560, + 559, 74, 583, 56, 0, 583, 71, 427, 0, 583, + 27, 28, 0, 0, 0, 0, 0, 0, 467, 453, + 454, 455, 456, 457, 458, 459, 460, 466, 0, 450, + 451, 452, 448, 449, 445, 446, 447, 465, 464, 0, + 0, 65, 182, 0, 535, 0, 0, 558, 583, 0, + 583, 77, 179, 156, 583, 439, 0, 438, 0, 435, + 0, 463, 462, 0, 0, 84, 0, 0, 583, 79, + 205, 0, 0, 461, 531, 530, 85, 583, 73, 0, + 0, 75, 437, 436 }; /* YYDEFGOTO[NTERM-NUM]. */ static const yytype_int16 yydefgoto[] = { - -1, 4, 5, 421, 422, 94, 332, 95, 96, 201, - 97, 98, 99, 340, 404, 434, 509, 214, 399, 474, - 475, 632, 235, 400, 403, 522, 971, 1017, 686, 904, - 871, 578, 618, 100, 212, 391, 392, 393, 394, 435, - 819, 498, 499, 630, 587, 338, 530, 531, 500, 415, - 472, 193, 66, 236, 117, 67, 68, 311, 69, 312, - 377, 378, 451, 70, 71, 308, 304, 305, 72, 73, - 101, 383, 102, 74, 75, 76, 77, 419, 420, 524, - 805, 369, 243, 244, 853, 146, 42, 502, 503, 598, - 436, 43, 245 + -1, 4, 5, 440, 441, 105, 349, 106, 107, 219, + 108, 109, 110, 357, 423, 453, 530, 237, 418, 495, + 496, 654, 250, 419, 422, 543, 992, 1038, 707, 925, + 891, 599, 640, 111, 235, 410, 411, 412, 413, 454, + 840, 519, 520, 652, 608, 355, 551, 552, 521, 434, + 493, 204, 66, 251, 128, 67, 68, 326, 69, 327, + 394, 395, 470, 70, 71, 323, 319, 320, 72, 73, + 112, 402, 474, 113, 74, 75, 76, 77, 438, 439, + 545, 826, 386, 258, 259, 875, 157, 42, 523, 524, + 619, 455, 43, 114 }; /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing STATE-NUM. */ -#define YYPACT_NINF -594 +#define YYPACT_NINF -642 static const yytype_int16 yypact[] = { - 272, -594, 2401, 3534, 18, 1969, -594, -594, -594, -594, - -594, -594, -594, -594, -91, -79, -33, -24, -11, -2, - 3, 47, -594, 62, 70, 75, 3730, -594, 78, 82, - 119, 131, -594, 138, 158, 2401, 2401, 2401, 2401, 1581, - 2401, 3091, -594, 46, -594, -594, -594, -594, -594, -594, - 3693, 161, -594, -594, -594, -594, 3981, -594, 3584, 3584, - -594, 76, -594, 3584, -594, -594, 427, -594, -594, -594, - -594, 192, 14, 99, -594, -594, -594, -594, -594, -594, - -594, 200, -594, 177, 189, 112, 208, 210, 213, 206, - 236, -594, 63, -594, -594, -594, -594, 2629, -594, -594, - -594, -594, -594, -594, 2401, 3534, 2401, 2401, 2401, 2401, - 2401, 3534, 2401, 2401, 2401, -594, 76, 229, 76, 76, - -594, 2401, 2401, 3534, 3534, 2401, 2401, 114, 114, 114, - 114, -91, -33, -24, -11, -2, 3, 62, 70, 3950, - 1790, 3253, 3439, 158, -17, -87, 3091, 114, 2401, 2401, - 2401, 2401, 2401, 2401, 2401, 2401, 2401, 2401, 2401, 2401, - 2401, 2401, 2401, 2401, 2401, 2401, 2401, 2401, 2401, 1801, - 2401, -594, -594, 427, 2401, -594, -594, 3523, -594, 3584, - -594, -594, -594, -594, -594, -594, 237, 427, 427, 427, - 427, 427, 427, 235, -594, -594, 897, 255, -594, -41, - -594, 2069, 368, 76, -594, 277, -594, -594, -594, 2401, - 2699, -594, 254, 2763, -594, 76, -594, 261, 266, -594, - 3693, 268, -594, 383, -594, -594, -594, 3595, -594, -594, - 76, -594, -594, -594, 76, 365, 279, -594, -594, -594, - 14, 99, -594, 278, 304, -594, 298, 299, 305, 309, - 310, 313, 325, 320, 322, 324, -594, 2401, -594, -594, - 326, 327, 336, 347, 341, 342, 2401, 2401, -594, 3141, - 2471, 2445, 2445, 668, 668, 566, 566, -594, 2917, 3277, - 3292, 3322, 668, 668, 759, 759, 114, 114, 114, -594, - -594, -71, 1379, 235, 2882, -594, 427, 235, 235, 235, - 235, 235, 147, 2401, 76, 338, -594, -594, -594, -594, - 897, -594, 369, -594, 378, 380, 3758, -594, 2861, 3449, - 3693, 365, -594, -594, -594, 1, -594, 2401, -594, 3693, - 676, -594, -594, 364, -594, -594, 76, 1901, -594, -594, - 421, -36, -41, -594, -594, -594, -594, -594, -594, -594, - 366, -594, -594, -594, 367, -594, -594, -594, 370, -594, - -594, 114, 3091, 2401, -594, -594, -594, 235, 371, 375, - 3091, -594, 11, -594, 385, 3795, -26, 390, 393, -594, - 506, 76, -594, -594, 263, -594, -594, -594, 76, 3486, - 76, 391, 399, -594, 265, -594, -594, -594, -594, 421, - 1361, 392, 421, 1361, 421, 2899, 676, -594, -594, 394, - 676, 676, 676, 676, 676, 151, -594, 3838, -594, 387, - -594, 183, -594, 398, 2001, 2935, 397, 421, 421, 2526, - 421, 421, 421, 421, -594, 187, -594, 897, 2401, -594, - 2401, 3091, 1361, -594, -594, 2401, -594, 233, 503, 525, - 339, -594, -594, -26, -69, 416, 3875, 45, 419, 265, - 420, 442, 3449, -594, -594, 413, 265, 265, 265, 265, - 265, 265, -78, -594, 421, -594, 187, -594, -594, -594, - -594, 265, -594, 409, 3632, 424, -594, 3730, -594, 1691, - 410, 428, -594, 2401, 2401, 2401, 1581, 2401, 418, 66, - -594, 265, 3108, -594, 46, -594, 421, 154, 422, -594, - 187, -594, 181, 676, 411, 411, 411, 411, 411, -594, - 2401, -594, 1361, -594, 1223, -594, -594, 76, 2401, 2001, - 415, 445, 3091, -594, -594, 421, 256, 256, 550, -594, - -594, -594, -594, -594, -594, -594, -594, -594, -594, -594, - -594, -594, -594, -594, -594, -594, -594, -594, -594, -594, - -594, -594, -594, -594, -594, -594, -594, -594, -594, -594, - -594, -594, -594, -594, -594, 429, 425, -594, -594, 256, - 256, 256, 162, 362, 1901, -594, 2401, 446, -594, -594, - 385, -59, -19, 430, 3057, 76, 315, 76, -594, -594, - 315, -594, 315, -594, 315, 315, 315, 3918, -594, 559, - 451, 76, -594, -594, 3534, -78, 3534, -594, -594, -594, - -594, 265, 435, 435, 435, 435, 435, 281, 925, 2401, - -594, -594, -594, 187, 454, -594, 98, 3534, 3693, 265, - 3534, 438, -594, 3534, 3534, 114, 114, 114, 437, 7, - 114, 519, -594, 1471, 98, 2401, 2401, 2401, 2401, 2401, - 2401, 2401, 2401, 2401, 2401, 2401, 2401, 2401, 2401, 2401, - 2401, 2401, 2401, 2401, 2401, 2401, 2101, 2401, 199, 574, - 444, 519, 463, -594, -594, 411, 1361, 443, 452, -594, - -594, -594, -594, -594, -594, -594, -594, -594, -594, -594, - -594, -594, -594, -594, -594, -594, -594, -594, -594, -594, - -594, -594, -594, -594, -594, -594, -594, -594, -594, -594, - -594, -594, -594, -594, -594, -594, -594, -594, -594, -594, - -594, -594, -594, -594, -594, -594, -594, -594, -594, -594, - -594, -594, -594, -594, -594, -594, -594, -594, -594, -594, - -594, -594, -594, -594, -594, -594, -594, -594, -594, -594, - -594, -594, -594, -594, -594, -594, -594, -594, -594, -594, - -594, -594, -594, -594, -594, -594, -594, -594, -594, -594, - -594, -594, -594, -594, -594, -594, -594, -594, -594, -594, - -594, -594, -594, -594, -594, -594, -594, -594, -594, -594, - -594, -594, -594, -594, -594, -594, 450, -594, 456, 453, - -594, 2201, 256, -594, -594, -594, -594, -594, 2935, 1361, - 459, 421, -594, -594, 519, -594, -594, -594, -594, -594, - -594, -594, -594, -594, -594, 467, -594, 470, -594, -594, - -594, 435, 447, 461, 484, 478, 485, 925, 925, 925, - 925, 1581, 925, 3125, -594, 475, 498, -594, 421, 2401, - -594, 480, 265, 98, 492, 2401, 488, 494, 2401, -594, - -594, 167, -594, -594, -594, -594, 3141, 2471, 2445, 2445, - 668, 668, 566, 566, -594, 3074, 3277, 3292, 3322, 668, - 668, 759, 759, 114, 114, 114, -594, -594, 83, 1599, - 487, -594, 167, 421, 1361, 489, -594, 519, 1085, -594, - -594, -594, 2001, 3091, 496, -594, -594, 167, 518, 521, - 1361, 3534, 3534, 3534, 3534, 144, 144, 144, 144, 504, - 88, 144, 925, 925, 925, 925, 925, 925, 925, 925, - 925, 925, 925, 925, 925, 925, 925, 925, 925, 925, - 925, 2301, 2401, -594, 421, -594, 3091, -594, 98, -594, - 509, 517, -594, 511, 114, -594, 541, 2401, -594, -594, - -594, 1361, -594, 556, 519, 167, -594, 540, 519, -594, - -594, 567, 571, 576, 572, 584, 925, -594, 3262, 3307, - 2485, 2485, 715, 715, 621, 621, -594, 752, 3337, 1814, - 3352, 824, 824, 144, 144, 144, -594, -594, 93, 2502, - -594, -594, 2401, -594, 2401, 6, 3091, 1361, 575, 519, - 167, -594, 167, 519, -594, 578, -594, 579, 144, 925, - -594, -594, 105, 118, -594, 581, 583, 519, 167, 167, - 2401, 2401, 3125, -594, -594, -594, 519, 167, 127, 133, - 167, -594, -594 + 204, -642, 2639, 3671, 43, 3382, -642, -642, -642, -642, + -642, -642, -642, -642, -75, -53, -44, -40, -30, -9, + -2, -11, -642, 24, 28, 32, 3867, -642, 40, 52, + 78, 103, -642, 116, 129, 2639, 2639, 2639, 2639, 1819, + 2639, 3105, -642, 217, -642, -642, -642, -642, -642, -642, + 3830, 176, -642, -642, -642, -642, 4325, -642, 3482, 3482, + -642, 61, -642, 3482, -642, -642, 236, -642, -642, -642, + -642, 169, 48, 86, -642, -642, -642, -642, -642, -642, + 2662, 2662, -642, 2662, 741, 2662, 170, -642, 4333, 189, + 195, 2662, 118, 229, 233, 250, 2662, 2662, 200, 2631, + 2662, 30, 2662, 2662, -642, -642, -642, -642, 2863, -642, + -642, -642, -642, -642, -642, 2639, 3671, 2639, 2639, 2639, + 2639, 2639, 3671, 2639, 2639, 2639, -642, 61, 202, 61, + 61, -642, 2639, 2639, 3671, 3671, 2639, 2639, 59, 59, + 59, 59, -75, -44, -40, -30, -9, -2, 24, 28, + 4239, 2028, 3253, 3602, 129, 203, -71, 3105, 59, 2639, + 2639, 2639, 2639, 2639, 2639, 2639, 2639, 2639, 2639, 2639, + 2639, 2639, 2639, 2639, 2639, 2639, 2639, 2639, 2639, 2639, + 2039, 2639, -642, -642, 236, 2639, -642, -642, 909, -642, + 3482, -642, -642, -642, -642, -642, -642, 226, 236, 236, + 236, 236, 236, 236, 237, -642, -642, 2924, 254, -642, + -28, 2662, -642, -642, -642, 2662, -642, -642, -642, 4272, + 133, -642, 366, 61, -642, -642, 265, -642, -642, -642, + -642, -642, 2639, 2776, -642, 257, 2933, -642, 61, -642, + -642, -642, 251, 252, 3830, 256, 3732, 61, -642, 61, + 324, 270, -642, -642, -642, 48, 86, -642, 255, 279, + -642, 261, 271, 276, 277, 282, 283, 280, 288, 296, + 310, -642, 2639, -642, -642, 325, 326, 329, 308, 331, + 335, 2639, 2639, -642, 3277, 3416, 3003, 3003, 320, 320, + 503, 503, -642, 3031, 3477, 3492, 924, 320, 320, 110, + 110, 59, 59, 59, -642, -642, -63, 564, 237, 1617, + -642, 236, 237, 237, 237, 237, 237, 136, 2639, 61, + 323, -642, -642, -642, -642, 2924, -642, 355, -642, -642, + -642, 360, 367, 385, 3914, -642, 1133, 1116, 3830, 324, + -642, -642, -642, 20, -642, 2639, 3830, 353, -642, -642, + 349, -642, -642, 61, 2139, -642, -642, 220, 100, -28, + -642, -642, -642, -642, -642, -642, -642, 370, -642, -642, + -642, 374, -642, -642, -642, 371, -642, -642, 59, 3105, + 2639, -642, -642, -642, 237, 372, 364, 3105, -642, 37, + -642, 400, 3960, 172, 406, 409, -642, 4006, -642, 519, + 61, -642, -642, 289, -642, -642, -642, 61, 3623, 61, + 410, 417, -642, 227, -642, -642, -642, -642, 220, 1599, + 411, 220, 1599, 220, 1837, 353, -642, -642, 416, 353, + 353, 353, 353, 353, 164, -642, 4052, -642, 398, -642, + 215, -642, 403, 2239, 3052, 420, 220, 220, 2775, 220, + 220, 220, 220, -642, 260, -642, 2924, 2639, -642, 2639, + 3105, 1599, -642, -642, 2639, -642, 657, 830, 901, 369, + -642, -642, 172, -642, -642, -54, 421, 4098, 25, 430, + 227, 433, 1108, 1116, -642, -642, 435, 227, 227, 227, + 227, 227, 227, 113, -642, 220, -642, 260, -642, -642, + -642, -642, -642, -642, 428, 3769, 441, -642, 3867, -642, + 1929, 434, 444, -642, 2639, 2639, 2639, 1819, 2639, 436, + 38, -642, 227, 3227, -642, 217, -642, 220, 345, 437, + -642, 260, -642, 208, 353, 439, 439, 439, 439, 439, + -642, 2639, -642, 1599, -642, 1461, -642, -642, 61, 2639, + 2239, 440, 454, 3105, -642, -642, 220, 224, 224, 567, + -642, -642, -642, -642, -642, -642, -642, -642, -642, -642, + -642, -642, -642, -642, -642, -642, -642, -642, -642, -642, + -642, -642, -642, -642, -642, -642, -642, -642, -642, -642, + -642, -642, -642, -642, -642, -642, 451, 453, -642, -642, + 224, 224, 224, 408, 298, 2139, -642, 2639, 478, -642, + -642, 400, -50, -12, 460, 3071, 61, 317, 61, -642, + -642, 317, -642, 317, -642, 317, 317, 317, 4144, -642, + 4190, 589, 481, 61, -642, -642, 3671, 113, 3671, -642, + -642, -642, -642, 227, 465, 465, 465, 465, 465, 231, + 2650, 2639, -642, -642, -642, 260, 487, -642, 3671, 3830, + 227, 3671, 477, -642, 3671, 3671, 59, 59, 59, 480, + 72, 59, 560, -642, 1709, 185, 2639, 2639, 2639, 2639, + 2639, 2639, 2639, 2639, 2639, 2639, 2639, 2639, 2639, 2639, + 2639, 2639, 2639, 2639, 2639, 2639, 2639, 2339, 2639, 467, + 614, 485, 560, 506, -642, -642, 439, 1599, 486, 491, + -642, -642, -642, -642, -642, -642, -642, -642, -642, -642, + -642, -642, -642, -642, -642, -642, -642, -642, -642, -642, + -642, -642, -642, -642, -642, -642, -642, -642, -642, -642, + -642, -642, -642, -642, -642, -642, -642, -642, -642, -642, + -642, -642, -642, -642, -642, -642, -642, -642, -642, -642, + -642, -642, -642, -642, -642, -642, -642, -642, -642, -642, + -642, -642, -642, -642, -642, -642, -642, -642, -642, -642, + -642, -642, -642, -642, -642, -642, -642, -642, -642, -642, + -642, -642, -642, -642, -642, -642, -642, -642, -642, -642, + -642, -642, -642, -642, -642, -642, -642, -642, -642, -642, + -642, -642, -642, -642, -642, -642, -642, -642, -642, -642, + -642, -642, -642, -642, -642, -642, -642, 492, -642, 508, + 509, -642, 2439, 224, -642, -642, -642, -642, -642, 3052, + 1599, 489, 220, -642, -642, 560, -642, -642, -642, -642, + -642, -642, -642, -642, -642, -642, -642, 511, -642, 512, + -642, -642, -642, 465, 516, 517, 520, 518, 529, 2650, + 2650, 2650, 2650, 1819, 2650, 3261, -642, 521, 538, -642, + 220, 523, 227, 185, 530, 2639, 527, 531, 2639, -642, + -642, -16, -642, -642, -642, 2639, -642, 3277, 3416, 3003, + 3003, 320, 320, 503, 503, -642, 3088, 3477, 3492, 924, + 320, 320, 110, 110, 59, 59, 59, -642, -642, 89, + 733, 537, -642, -16, 220, 1599, 539, -642, 560, 1270, + -642, -642, -642, 2239, 3105, 541, -642, -642, -16, 561, + 563, 1599, 3671, 3671, 3671, 3671, 180, 180, 180, 180, + 565, 96, 180, 2650, 2650, 2650, 2650, 2650, 2650, 2650, + 2650, 2650, 2650, 2650, 2650, 2650, 2650, 2650, 2650, 2650, + 2650, 2650, 2539, 2639, -642, 220, -642, -642, 185, -642, + 562, 568, -642, 572, 59, -642, 573, 3105, 2639, -642, + -642, -642, 1599, -642, 574, 560, -16, -642, 571, 560, + -642, -642, 597, 599, 583, 600, 611, 2650, -642, 3293, + 3507, 479, 479, 384, 384, 758, 758, -642, 3244, 3536, + 2052, 900, 123, 123, 180, 180, 180, -642, -642, 151, + 951, -642, -642, 2639, -642, 2639, 14, 3105, 1599, 603, + 560, -16, -642, -16, 560, -642, 606, -642, 607, 180, + 2650, -642, -642, 152, 156, -642, 608, 609, 560, -16, + -16, 2639, 2639, 3261, -642, -642, -642, 560, -16, 159, + 161, -16, -642, -642 }; /* YYPGOTO[NTERM-NUM]. */ static const yytype_int16 yypgoto[] = { - -594, -594, -190, -594, 188, -594, -594, 522, -594, -594, - -84, -82, -594, -594, -594, -99, -179, -594, -594, -594, - -133, -228, 514, -594, -594, -594, -594, -594, -594, -594, - -593, -594, -594, 269, -594, -594, -594, 267, 344, -327, - -594, -394, -594, 128, -455, -264, -528, -594, -477, -173, - -374, -75, -35, 532, 260, 91, -74, -594, -30, -594, - -594, -594, 295, 22, -594, -300, -594, -594, -15, 43, - -594, -594, -594, -6, 542, -594, -594, 228, -594, -23, - -594, -460, -80, -34, -108, 0, -589, -594, -594, -378, - 476, -381, -1 + -642, -642, -196, -642, 196, -642, -642, 524, -642, -642, + -46, -98, -642, -642, -642, -85, -166, -642, -642, -642, + -120, -214, 532, -642, -642, -642, -642, -642, -642, -642, + -641, -642, -642, 285, -642, -642, -642, 286, 357, -348, + -642, -394, -642, 137, -483, -316, -543, -642, -497, 128, + -380, -122, -34, 543, 267, 5, -88, -642, -72, -642, + -642, -642, 305, -45, -642, -310, -642, -642, -15, 58, + -642, -642, -642, -642, -14, 115, -642, -642, 238, -642, + -19, -642, -455, -115, -20, 175, 554, 153, -642, -642, + -441, 155, -373, -1 }; /* YYTABLE[YYPACT[STATE-NUM]]. What to do in state STATE-NUM. If @@ -1645,948 +1655,1020 @@ static const yytype_int16 yypgoto[] = #define YYTABLE_NINF -262 static const yytype_int16 yytable[] = { - 6, 809, 41, 457, 103, 145, 210, 213, 211, 508, - 374, 118, 642, 401, 316, 173, 182, 183, 78, 504, - 120, 634, 504, 237, 182, 183, 247, 248, 249, 250, - 251, 267, 253, 254, 255, 127, 128, 129, 130, 854, - 147, 260, 261, 628, 104, 264, 265, 267, 593, 609, - 268, 171, 171, 172, 172, 682, 105, 398, 629, 267, - 687, 504, 447, 448, 449, 194, 364, 238, 610, 119, - 601, 603, 476, 182, 183, 507, -244, 510, 822, -244, - 652, -261, 240, 450, 437, 615, 182, 183, 902, 103, - 103, 242, 622, 623, 624, 625, 626, 627, 293, 267, - 536, 537, 106, 579, 580, 581, 582, 636, 504, 182, - 183, 107, 297, 298, 299, 300, 301, 302, 823, 239, - 266, 375, 182, 183, 108, 267, 820, 654, 688, 444, - 144, 402, 445, 109, 196, 291, 237, 590, 110, 237, - 241, 504, 417, 1034, 869, 156, 215, 633, 269, 270, - 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, - 281, 282, 283, 284, 285, 286, 287, 288, 289, 855, - 292, 588, 194, 111, 294, 940, 874, 354, 856, 678, - 238, 860, 613, 238, 653, 326, 194, 194, 194, 194, - 194, 194, 330, 456, 306, 240, 246, 112, 240, 875, - 103, 267, 252, 6, 242, 113, 267, 242, 812, 318, - 114, 267, 635, 121, 262, 263, 198, 122, 827, 859, - 968, 367, 829, 267, 830, 987, 831, 832, 833, 204, - 1030, 917, 239, 512, 629, 239, 267, 514, 515, 516, - 517, 518, 1043, 182, 183, 267, 683, 841, 168, 169, - 170, 267, 965, 241, 123, 1044, 241, 124, 854, 854, - 854, 854, 607, 854, 1051, 863, 361, 362, 966, 10, - 1052, 11, 504, 125, 679, 463, 464, 465, 950, 951, - 952, 466, 679, 303, 368, 397, 519, 520, 49, 585, - 586, 680, 905, 126, 406, 194, 174, 585, 586, 816, - 526, 527, 371, 370, 334, 504, 335, 583, 584, 195, - 6, 379, 202, 395, 975, 103, 684, 520, 396, 679, - 200, 467, 585, 586, 203, 182, 183, 405, 206, 416, - 207, 6, 60, 208, 585, 586, 900, 425, 595, 62, - 685, 209, 596, 854, 854, 854, 854, 854, 854, 854, - 854, 854, 854, 854, 854, 854, 854, 854, 854, 854, - 854, 854, -126, 441, 257, 501, 817, 296, 501, 857, - 49, 303, 182, 183, 103, 310, 468, 210, 314, 617, - 319, 1020, 6, 395, 977, 1022, 1, 2, 3, 328, - 469, 585, 586, 473, 317, 470, 324, 854, 339, 505, - 471, 325, 505, 327, 591, 416, 592, 501, 959, 416, - 416, 416, 416, 416, 60, 343, 103, 629, 842, 525, - 595, 62, 267, 533, 532, 914, 1038, 604, 605, 606, - 1039, 182, 183, 426, 589, 344, 345, 427, 504, 186, - 854, 505, 346, 187, 1047, 594, 347, 348, 808, 639, - 349, 6, 350, 1050, 501, 103, 395, 351, 473, 352, - 103, 353, 649, 355, 356, 473, 473, 473, 473, 473, - 473, 631, 118, 357, 358, 589, 373, 428, 359, 360, - 473, 120, 334, 188, 335, 336, 337, 501, 958, 376, - 597, 597, 597, 645, 646, 647, 380, 650, 381, 418, - 473, 438, -260, 1011, 439, 440, 442, 452, 429, 589, - 973, 453, 416, 182, 183, 443, 454, 462, 461, 371, - 370, 505, 506, 504, 513, 523, 981, 535, 533, 532, - 119, 476, 430, 528, 611, 182, 183, 184, 189, 504, - 614, 616, 90, 621, 637, 643, 431, 520, 197, 199, - 640, 432, 190, 810, 644, 651, 433, 191, 49, 681, - 813, 205, 192, 811, 821, 815, 814, 824, 216, 835, - 836, 629, 858, 865, 868, 870, 510, 1018, 817, 901, - 49, 903, 920, 906, 818, 371, 370, 648, 909, 907, - 504, 911, 256, 910, 258, 259, 921, 156, 178, 915, - 180, 181, 60, 862, 918, 185, 103, 919, 595, 62, - 922, 924, 600, 923, 631, 953, 954, 957, 501, 960, - 473, 963, 970, 1036, 60, 962, 974, 633, 371, 370, - 595, 62, 589, 978, 602, 589, 504, 979, 473, 597, - 980, 986, 898, 597, 1012, 597, 1014, 597, 597, 597, - 872, 501, 940, 589, 1013, 876, 877, 878, 879, 880, - 881, 882, 883, 884, 885, 886, 887, 888, 889, 890, - 891, 892, 893, 894, 895, 896, 1015, 899, 1021, 315, - 872, 178, 180, 181, 185, 505, 407, 408, 409, 154, - 155, 323, 410, 1019, 163, 164, 165, 166, 167, 156, - 168, 169, 170, 1025, 1023, 838, 331, 840, 1024, 1026, - 333, 1027, 1037, 1040, 1041, 807, 341, 342, 1045, 178, - 1046, 178, 916, 313, 972, 955, 1010, 321, 861, 620, - 619, 864, 411, 459, 866, 867, 938, 939, 309, 925, - 926, 927, 928, 839, 931, 322, 940, 641, 608, 945, - 946, 947, 948, 949, 806, 950, 951, 952, 0, 908, - 0, 0, 0, 0, 0, 0, 0, 932, 933, 934, - 935, 936, 937, 938, 939, 0, 0, 0, 0, 0, - 372, 525, 0, 940, 501, 961, 0, 412, 0, 0, - 156, 0, 0, 0, 0, 0, 163, 164, 165, 166, - 167, 413, 168, 169, 170, 0, 414, 0, 0, 0, - 0, 913, 423, 0, 0, 0, 0, 930, 505, 0, - 0, 0, 0, 872, 988, 989, 990, 991, 992, 993, - 994, 995, 996, 997, 998, 999, 1000, 1001, 1002, 1003, - 1004, 1005, 1006, 945, 946, 947, 948, 949, 0, 950, - 951, 952, 309, 0, 0, 940, 0, 455, 0, 956, - 0, 473, 589, 0, 458, 0, 460, 0, 964, 501, - 0, 0, 1029, 0, 941, 942, 943, 944, 1028, 0, - 945, 946, 947, 948, 949, 501, 950, 951, 952, 165, - 166, 167, 0, 168, 169, 170, 0, 0, 0, 0, - 0, 0, 0, 505, 0, 0, 872, 0, 307, 0, - 0, 533, 532, 0, 0, 0, 0, 1008, 0, 505, - 0, 1042, 0, 599, 599, 599, 0, 0, 7, 8, - 9, 10, 0, 11, 12, 13, 501, 0, 0, 0, - 0, 0, 929, 0, 0, 0, 0, 45, 0, 46, - 47, 48, 1009, 0, 947, 948, 949, 589, 950, 951, - 952, 0, 0, 0, 0, 0, 0, 1016, 0, 0, - 505, 843, 0, 872, 55, 179, 57, 872, 1032, 309, - 1033, 0, 501, 0, 0, 0, 0, 844, 0, 0, - 58, 59, 0, 0, 0, 22, 0, 0, 0, 0, - 0, 0, 0, 423, 63, 0, 1048, 1049, 0, 65, - 0, 27, 982, 983, 984, 985, 505, 0, 872, 0, - 845, 0, 872, 846, 0, 0, 0, 32, 0, 0, - 0, 0, 0, 0, 0, 0, 872, 0, 0, 0, - 0, 0, 0, 0, 0, 872, 0, 0, 0, 0, - 847, 0, 0, 0, 848, 849, 0, 0, 850, 423, - 851, 0, 0, 0, 852, 0, 0, 0, 0, 0, - 0, 826, 599, 828, 0, 0, 599, 0, 599, 0, - 599, 599, 599, 0, 0, 0, 0, 837, 689, 690, - 691, 692, 693, 694, 695, 696, 697, 698, 0, 699, - 700, 701, 702, 703, 704, 705, 706, 707, 708, 709, - 0, 0, 0, 0, 0, 0, 710, 711, 712, 713, - 714, 715, 716, 717, 718, 719, 720, 721, 722, 723, - 724, 725, 726, 0, 0, 727, 728, 729, 730, 731, - 732, 733, 734, 735, 736, 737, 738, 739, 740, 0, - 741, 0, 742, 743, 744, 745, 746, 747, 748, 749, - 750, 751, 752, 753, 0, 0, 0, 754, 0, 755, - 0, 756, 757, 758, 759, 760, 761, 762, 763, 764, - 765, 766, 767, 768, 769, 0, 770, 771, 772, 773, - 774, 775, 776, 0, 777, 778, 779, 780, 781, 0, - 0, 0, 782, 783, 784, 785, 786, 787, 788, 789, - 790, 791, 792, 793, 794, 795, 796, 797, 798, 799, - 800, 801, 802, 976, 803, 804, 689, 690, 691, 692, - 693, 694, 695, 696, 697, 698, 0, 699, 700, 701, - 702, 703, 704, 705, 706, 707, 708, 709, 0, 0, + 6, 234, 262, 263, 264, 265, 266, 830, 268, 269, + 270, 129, 131, 663, 656, 391, 184, 275, 276, 156, + 252, 279, 280, 417, 193, 194, 622, 624, 529, 334, + 478, 182, 420, 183, 212, 213, 253, 214, 216, 217, + 193, 194, 221, 78, 155, 224, 525, 282, 703, 525, + 230, 231, 673, 233, 236, 282, 240, 241, 193, 194, + 115, 923, 308, 254, 631, 205, 283, 614, 282, 985, + 497, 193, 194, 528, 381, 531, 312, 313, 314, 315, + 316, 317, 116, 632, 130, 986, 708, 843, 525, -244, + 167, 117, -244, 255, 257, 118, 193, 194, 557, 558, + 637, 600, 601, 602, 603, 119, 282, 644, 645, 646, + 647, 648, 649, 238, 260, 122, 260, 260, 260, 260, + 260, 261, 260, 260, 260, 844, 120, 267, 193, 194, + 392, 260, 260, 121, 397, 260, 260, 525, 609, 277, + 278, 167, 675, 193, 194, 252, 611, 655, 252, 709, + 421, 1055, 841, 436, 961, 463, 674, 371, 464, 123, + 306, 253, 635, 124, 253, 221, 256, 125, 207, 328, + 525, 189, 878, 191, 192, 132, 848, 894, 196, 699, + 850, 657, 851, 205, 852, 853, 854, 133, 254, 384, + 282, 254, 896, 179, 180, 181, 877, 205, 205, 205, + 205, 205, 205, 209, 938, 321, 477, 282, 833, 889, + 344, 961, 347, 134, 282, 704, 195, -261, 255, 257, + 456, 255, 257, 182, 6, 183, 989, 208, 210, 135, + 193, 194, 445, 1008, 650, 225, 446, 484, 485, 486, + 176, 177, 178, 487, 179, 180, 181, 226, 197, 651, + 330, 136, 198, 968, 969, 970, 239, 971, 972, 973, + 466, 467, 468, 863, 137, 189, 191, 192, 196, 282, + 282, 260, 318, 385, 282, 628, 447, 282, 630, 282, + 883, 469, 271, 488, 273, 274, 206, 996, 1051, 1064, + 218, 256, 199, 1065, 256, 10, 1072, 11, 1073, 540, + 541, 525, 838, 189, 416, 189, 895, 448, 193, 194, + 205, 185, 425, 926, 971, 972, 973, 388, 1, 2, + 3, 651, 324, 414, 222, 6, 396, 193, 194, 6, + 223, 449, 547, 548, 525, 232, 415, 272, 489, 879, + 281, 165, 166, 705, 541, 450, 435, 200, 6, 227, + 451, 167, 490, 228, 1041, 452, 311, 491, 1043, 606, + 607, 201, 492, 426, 427, 428, 202, 651, 864, 429, + 229, 203, 49, 318, 325, 331, 332, 351, 333, 352, + 604, 605, 335, 337, 639, 522, 342, 343, 522, 356, + 998, 345, 360, 341, 414, 606, 607, 282, 361, 1059, + 979, 6, 348, 1060, 350, 959, 960, 367, 362, 430, + 358, 359, 494, 363, 364, 961, 60, 1068, 526, 365, + 366, 526, 616, 62, 435, 368, 1071, 522, 435, 435, + 435, 435, 435, 369, 829, 375, 233, 612, 546, 613, + 324, 351, 554, 352, 353, 354, 935, 370, 174, 175, + 176, 177, 178, 610, 179, 180, 181, 625, 626, 627, + 526, 390, 372, 373, 431, 700, 374, 525, 376, 414, + 6, 660, 377, 6, 389, 393, 522, 398, 432, 494, + 606, 607, 701, 433, 437, 399, 494, 494, 494, 494, + 494, 494, 653, 129, 131, 1032, 610, 670, 957, 958, + 959, 960, 978, 400, 462, 457, 459, 461, 442, 522, + 961, 458, 966, 967, 968, 969, 970, -260, 971, 972, + 973, 494, 669, 471, 618, 618, 618, 472, 700, 475, + 610, 994, 497, 435, 167, 483, 544, 482, 549, 633, + 388, 527, 526, 606, 607, 837, 534, 1002, 260, 554, + 556, 636, 525, 533, 638, 476, 41, 535, 536, 537, + 538, 539, 479, 658, 481, 643, 130, 661, 525, 664, + 665, 324, 832, 672, 702, 541, 531, 834, 831, 159, + 160, 161, 162, 163, 164, 165, 166, 700, 835, 138, + 139, 140, 141, 836, 158, 167, 842, 845, 1039, 857, + 858, 651, 606, 607, 921, 880, 388, 966, 967, 968, + 969, 970, 885, 971, 972, 973, 890, 888, 838, 525, + 922, 620, 620, 620, 924, 882, 927, 655, 928, 936, + 930, 174, 175, 176, 177, 178, 653, 179, 180, 181, + 522, 860, 494, 862, 1057, 931, 943, 932, 939, 940, + 388, 941, 942, 944, 610, 945, 975, 980, 983, 494, + 977, 974, 706, 881, 982, 525, 884, 193, 194, 886, + 887, 892, 991, 522, 610, 618, 995, 919, 999, 618, + 1000, 618, 1001, 618, 618, 618, 168, 169, 170, 171, + 172, 173, 174, 175, 176, 177, 178, 1033, 179, 180, + 181, 892, 1007, 442, 382, 1034, 526, 1035, 1036, 1042, + 1046, 1040, 49, 284, 285, 286, 287, 288, 289, 290, + 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, + 301, 302, 303, 304, 1044, 307, 1045, 1047, 1048, 309, + 1058, 1061, 1062, 329, 828, 1066, 1067, 215, 159, 160, + 161, 162, 163, 164, 165, 166, 60, 937, 993, 442, + 976, 1031, 616, 62, 167, 480, 617, 641, 339, 642, + 981, 847, 620, 849, 861, 662, 620, 629, 620, 340, + 620, 620, 620, 0, 929, 827, 336, 0, 859, 961, + 80, 0, 0, 0, 0, 0, 0, 0, 81, 0, + 0, 0, 546, 876, 0, 0, 522, 83, 84, 85, + 0, 0, 0, 0, 0, 0, 0, 211, 0, 0, + 0, 0, 0, 91, 0, 0, 0, 0, 0, 0, + 0, 0, 96, 0, 0, 378, 379, 97, 0, 526, + 193, 194, 0, 0, 892, 0, 0, 0, 0, 0, + 102, 0, 103, 951, 0, 168, 169, 170, 171, 172, + 173, 174, 175, 176, 177, 178, 0, 179, 180, 181, + 0, 0, 387, 990, 0, 0, 0, 0, 950, 0, + 0, 494, 610, 0, 260, 49, 966, 967, 968, 969, + 970, 522, 971, 972, 973, 0, 0, 0, 0, 424, + 0, 0, 0, 0, 0, 0, 0, 522, 444, 0, + 0, 193, 194, 0, 0, 0, 0, 955, 956, 957, + 958, 959, 960, 0, 526, 0, 0, 892, 0, 60, + 0, 961, 554, 0, 460, 616, 62, 0, 0, 621, + 526, 161, 162, 163, 164, 165, 166, 1003, 1004, 1005, + 1006, 0, 1029, 0, 0, 167, 49, 0, 522, 45, + 0, 46, 47, 48, 0, 0, 159, 160, 161, 162, + 163, 164, 165, 166, 0, 0, 0, 610, 0, 0, + 310, 0, 167, 0, 0, 0, 55, 190, 57, 0, + 0, 526, 0, 0, 892, 0, 0, 553, 892, 0, + 60, 0, 58, 59, 522, 0, 616, 62, 0, 0, + 623, 0, 0, 1053, 0, 1054, 63, 0, 615, 0, + 0, 65, 876, 876, 876, 876, 0, 876, 966, 967, + 968, 969, 970, 0, 971, 972, 973, 526, 0, 892, + 0, 1069, 1070, 892, 946, 947, 948, 949, 0, 952, + 172, 173, 174, 175, 176, 177, 178, 892, 179, 180, + 181, 0, 0, 0, 0, 0, 892, 0, 666, 667, + 668, 0, 671, 168, 169, 170, 171, 172, 173, 174, + 175, 176, 177, 178, 0, 179, 180, 181, 0, 0, + 0, 1052, 0, 0, 0, 387, 0, 0, 0, 0, + 0, 0, 0, 0, 553, 0, 876, 876, 876, 876, + 876, 876, 876, 876, 876, 876, 876, 876, 876, 876, + 876, 876, 876, 876, 876, 0, 405, 406, 1009, 1010, + 1011, 1012, 1013, 1014, 1015, 1016, 1017, 1018, 1019, 1020, + 1021, 1022, 1023, 1024, 1025, 1026, 1027, 0, 159, 160, + 161, 162, 163, 164, 165, 166, 0, 80, 0, 839, + 876, 387, 0, 0, 167, 81, 45, 0, 46, 47, + 48, 407, 408, 0, 83, 84, 85, 52, 0, 0, + 0, 0, 1049, 0, 211, 0, 0, 54, 0, 0, + 91, 1056, 0, 55, 56, 57, 0, 0, 0, 96, + 0, 0, 0, 876, 97, 387, 0, 0, 99, 58, + 59, 0, 0, 0, 0, 0, 0, 102, 0, 103, + 0, 409, 0, 63, 0, 1063, 64, 0, 65, 0, + 897, 898, 899, 900, 901, 902, 903, 904, 905, 906, + 907, 908, 909, 910, 911, 912, 913, 914, 915, 916, + 917, 403, 920, 0, 0, 168, 169, 170, 171, 172, + 173, 174, 175, 176, 177, 178, 0, 179, 180, 181, + 404, 0, 0, 710, 711, 712, 713, 714, 715, 716, + 717, 718, 719, 0, 720, 721, 722, 723, 724, 725, + 726, 727, 728, 729, 730, 0, 0, 0, 0, 0, + 0, 731, 732, 733, 734, 735, 736, 737, 738, 739, + 740, 741, 742, 743, 744, 745, 746, 747, 0, 0, + 748, 749, 750, 751, 752, 753, 754, 755, 756, 757, + 758, 759, 760, 761, 0, 762, 0, 763, 764, 765, + 766, 767, 768, 769, 770, 771, 772, 773, 774, 0, + 0, 0, 775, 0, 776, 0, 777, 778, 779, 780, + 781, 782, 783, 784, 785, 786, 787, 788, 789, 790, + 0, 791, 792, 793, 794, 795, 796, 797, 0, 798, + 799, 800, 801, 802, 0, 0, 934, 803, 804, 805, + 806, 807, 808, 809, 810, 811, 812, 813, 814, 815, + 816, 817, 818, 819, 820, 821, 822, 823, 997, 824, + 825, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 984, 0, 0, 0, 0, 0, 0, 987, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 710, 711, 712, 713, 714, 715, - 716, 717, 718, 719, 720, 721, 722, 723, 724, 725, - 726, 0, 0, 727, 728, 729, 730, 731, 732, 733, - 734, 735, 736, 737, 738, 739, 740, 0, 741, 0, - 742, 743, 744, 745, 746, 747, 748, 749, 750, 751, - 752, 753, 0, 0, 0, 754, 0, 755, 0, 756, - 757, 758, 759, 760, 761, 762, 763, 764, 765, 766, - 767, 768, 769, 0, 770, 771, 772, 773, 774, 775, - 776, 0, 777, 778, 779, 780, 781, 0, 0, 0, - 782, 783, 784, 785, 786, 787, 788, 789, 790, 791, - 792, 793, 794, 795, 796, 797, 798, 799, 800, 801, - 802, 0, 803, 804, 477, 478, 479, 10, 0, 11, - 480, 481, 44, 0, 0, 482, 0, 0, 0, 0, + 716, 717, 718, 719, 0, 720, 721, 722, 723, 724, + 725, 726, 727, 728, 729, 730, 0, 553, 0, 0, + 0, 0, 731, 732, 733, 734, 735, 736, 737, 738, + 739, 740, 741, 742, 743, 744, 745, 746, 747, 0, + 0, 748, 749, 750, 751, 752, 753, 754, 755, 756, + 757, 758, 759, 760, 761, 0, 762, 1030, 763, 764, + 765, 766, 767, 768, 769, 770, 771, 772, 773, 774, + 0, 0, 1037, 775, 0, 776, 0, 777, 778, 779, + 780, 781, 782, 783, 784, 785, 786, 787, 788, 789, + 790, 0, 791, 792, 793, 794, 795, 796, 797, 0, + 798, 799, 800, 801, 802, 0, 0, 0, 803, 804, + 805, 806, 807, 808, 809, 810, 811, 812, 813, 814, + 815, 816, 817, 818, 819, 820, 821, 822, 823, 0, + 824, 825, 498, 499, 500, 10, 0, 11, 501, 502, + 44, 0, 0, 503, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 148, 149, 150, 151, 152, 153, - 154, 155, 0, 0, 0, 0, 0, 483, 0, 0, - 156, 45, 0, 46, 47, 48, 49, 484, 0, 51, - 0, 0, 52, 485, 0, 0, 53, 0, 0, 0, - 0, 486, 54, 0, 0, 0, 0, 0, 55, 56, - 57, 0, 0, 0, 0, 487, 0, 488, 0, 0, - 0, 0, 489, 0, 58, 59, 490, 0, 0, 491, - 60, 0, 0, 492, 0, 0, 61, 62, 63, 0, - 0, 64, 0, 65, 477, 478, 479, 10, 0, 11, - 480, 481, 44, 0, 0, 873, 493, 0, 0, 0, - 494, 1035, 0, 0, 495, 0, 496, 0, 0, 0, - 497, 157, 158, 159, 160, 161, 162, 163, 164, 165, - 166, 167, 0, 168, 169, 170, 0, 483, 0, 365, - 0, 45, 0, 46, 47, 48, 49, 484, 0, 51, - 0, 0, 52, 485, 0, 0, 53, 0, 0, 0, - 0, 486, 54, 0, 0, 0, 0, 0, 55, 56, - 57, 0, 0, 0, 0, 487, 0, 488, 0, 0, - 0, 0, 489, 0, 58, 59, 490, 0, 0, 491, - 60, 0, 0, 492, 0, 0, 61, 62, 63, 0, - 0, 64, 0, 65, 7, 8, 9, 10, 0, 11, - 12, 13, 131, 0, 0, 0, 493, 0, 0, 0, - 494, 0, 0, 0, 495, 0, 496, 0, 0, 0, - 497, 0, 0, 0, 148, 149, 150, 151, 152, 153, - 154, 155, 0, 0, 0, 0, 0, 15, 0, 0, - 156, 132, 0, 133, 134, 135, 49, 50, 0, 51, - 0, 0, 136, 21, 0, 0, 53, 0, 0, 0, - 0, 22, 137, 0, 0, 0, 0, 0, 138, 139, - 57, 0, 0, 0, 0, 26, 0, 27, 0, 0, - 0, 0, 0, 0, 140, 141, 30, 0, 0, 31, - 60, 0, 0, 32, 0, 0, 61, 62, 142, 0, - 0, 64, 0, 143, 477, 478, 479, 10, 0, 11, - 480, 481, 44, 0, 0, 0, 35, 0, 0, 0, - 36, 37, 0, 0, 38, 0, 39, 0, 0, 0, - 40, 157, 158, 159, 160, 161, 162, 163, 164, 165, - 166, 167, 0, 168, 169, 170, 0, 483, 0, 969, - 0, 45, 0, 46, 47, 48, 49, 484, 0, 51, - 0, 0, 52, 485, 0, 0, 53, 0, 0, 0, - 0, 486, 54, 0, 0, 0, 0, 0, 55, 56, - 57, 0, 0, 0, 0, 487, 0, 488, 0, 0, - 0, 0, 489, 0, 58, 59, 490, 0, 0, 491, - 60, 0, 0, 492, 0, 0, 61, 62, 63, 0, - 0, 64, 0, 65, 7, 8, 9, 10, 0, 11, - 12, 13, 14, 0, 0, 0, 493, 0, 0, 0, - 494, 0, 0, 0, 495, 0, 496, 0, 0, 0, - 497, 934, 935, 936, 937, 938, 939, 0, 0, 0, - 45, 0, 46, 47, 48, 940, 0, 15, 0, 0, - 0, 16, 0, 17, 18, 19, 0, 0, 0, 0, - 0, 0, 20, 21, 0, 0, 0, 55, 179, 57, - 0, 22, 23, 0, 0, 0, 0, 0, 24, 25, - 0, 0, 0, 58, 59, 26, 0, 27, 0, 0, - 0, 0, 0, 0, 28, 29, 30, 63, 0, 31, - 0, 0, 65, 32, 7, 8, 9, 10, 33, 11, - 12, 13, 14, 34, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 121, 35, 0, 0, 0, - 36, 37, 0, 0, 38, 0, 39, 0, 290, 944, - 40, 0, 945, 946, 947, 948, 949, 15, 950, 951, - 952, 16, 0, 17, 18, 19, 0, 0, 0, 0, - 0, 0, 20, 21, 0, 0, 0, 0, 0, -2, - 0, 22, 23, 0, 0, 0, 0, 0, 24, 25, - 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, 79, 424, 0, - 0, 0, 0, 0, 0, 0, 35, 0, 0, 0, - 36, 37, 0, 80, 38, 0, 39, 0, 81, 0, - 40, 82, 0, 0, 0, 0, 0, 15, 0, 83, - 84, 16, 85, 17, 18, 19, 0, 86, 87, 88, - 0, 0, 20, 21, 0, 0, 89, 0, 0, 90, - 0, 22, 23, 91, 0, 0, 0, 92, 24, 25, - 0, 0, 0, 0, 0, 26, 0, 27, 93, 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, 79, 529, 0, - 0, 0, 0, 0, 0, 0, 35, 0, 0, 0, - 36, 37, 0, 80, 38, 0, 39, 0, 81, 0, - 40, 82, 0, 0, 0, 0, 0, 15, 0, 83, - 84, 16, 85, 17, 18, 19, 0, 86, 87, 88, - 0, 0, 20, 21, 0, 0, 89, 0, 0, 90, - 0, 22, 23, 91, 0, 0, 0, 92, 24, 25, - 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, 0, 0, - 0, 0, 0, 0, 0, 0, 35, 0, 0, 0, - 36, 37, 0, 0, 38, 0, 39, 0, 897, 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, 0, 24, 25, - 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, 912, 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, 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, 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, 0, 0, 0, 35, 0, 0, 0, - 36, 37, 0, 0, 38, 0, 39, 0, 1007, 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, 152, 153, 154, 155, 0, 0, - 0, 22, 23, 0, 0, 0, 156, 0, 24, 25, - 0, 0, 0, 0, 0, 26, 0, 27, 150, 151, - 152, 153, 154, 155, 28, 29, 30, 0, 0, 31, - 0, 0, 156, 32, 936, 937, 938, 939, 33, 0, - 0, 0, 0, 34, 0, 0, 940, 148, 149, 150, - 151, 152, 153, 154, 155, 0, 35, 0, 0, 0, - 36, 37, 538, 156, 38, 0, 39, 0, 0, 0, - 40, 539, 540, 541, 542, 543, 544, 545, 546, 0, - 0, 0, 0, 0, 0, 0, 0, 547, 0, 548, - 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, - 559, 161, 162, 163, 164, 165, 166, 167, 0, 168, - 169, 170, 0, 0, 0, 0, 560, 0, 0, 0, - 0, 0, 0, 0, 158, 159, 160, 161, 162, 163, - 164, 165, 166, 167, 0, 168, 169, 170, 0, 0, - 561, 0, 0, 945, 946, 947, 948, 949, 0, 950, - 951, 952, 0, 0, 157, 158, 159, 160, 161, 162, - 163, 164, 165, 166, 167, 0, 168, 169, 170, 217, - 218, 0, 1031, 0, 562, 0, 0, 563, 0, 564, - 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, - 0, 575, 576, 0, 0, 577, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 219, 45, - 0, 46, 47, 48, 49, 220, 0, 221, 0, 0, - 52, 0, 0, 0, 53, 222, 223, 224, 0, 0, - 54, 0, 0, 0, 0, 225, 55, 56, 57, 217, - 218, 226, 0, 0, 0, 0, 227, 0, 0, 0, - 228, 0, 58, 59, 0, 229, 0, 0, 60, 0, - 0, 0, 0, 0, 230, 62, 63, 0, 231, 64, - 232, 65, 0, 0, 0, 0, 233, 0, 219, 45, - 0, 46, 47, 48, 49, 220, 0, 221, 0, 0, - 52, 0, 234, 0, 53, 222, 223, 224, 0, 0, - 54, 0, 0, 217, 218, 225, 55, 56, 57, 0, - 0, 226, 0, 0, 0, 0, 227, 0, 0, 0, - 228, 0, 58, 59, 0, 229, 0, 0, 60, 0, - 0, 0, 0, 0, 230, 62, 63, 0, 231, 64, - 232, 65, 219, 45, 0, 46, 47, 48, 49, 320, - 0, 221, 0, 0, 52, 0, 0, 0, 53, 222, - 223, 224, 234, 0, 54, 0, 0, 0, 0, 225, - 55, 56, 57, 0, 0, 226, 0, 0, 0, 0, - 227, 0, 0, 0, 228, 0, 58, 59, 0, 229, - 0, 0, 60, 0, 0, 0, 0, 0, 230, 62, - 63, 0, 231, 64, 232, 65, 148, 149, 150, 151, - 152, 153, 154, 155, 0, 0, 0, 0, 0, 0, - 0, 0, 156, 0, 0, 0, 234, 148, 149, 150, - 151, 152, 153, 154, 155, 0, 0, 0, 0, 0, - 0, 0, 0, 156, 148, 149, 150, 151, 152, 153, - 154, 155, 0, 0, 0, 0, 0, 0, 0, 0, - 156, 0, 148, 149, 150, 151, 152, 153, 154, 155, - 0, 0, 0, 0, 0, 0, 0, 0, 156, 0, - 148, 149, 150, 151, 152, 153, 154, 155, 0, 0, - 0, 0, 0, 0, 0, 0, 156, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 384, - 0, 0, 0, 157, 158, 159, 160, 161, 162, 163, - 164, 165, 166, 167, 0, 168, 169, 170, 385, 0, - 0, 0, 0, 0, 157, 158, 159, 160, 161, 162, - 163, 164, 165, 166, 167, 0, 168, 169, 170, 366, - 0, 157, 158, 159, 160, 161, 162, 163, 164, 165, - 166, 167, 0, 168, 169, 170, 511, 363, 0, 157, - 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, - 0, 168, 169, 170, 534, 0, 0, 157, 158, 159, - 160, 161, 162, 163, 164, 165, 166, 167, 0, 168, - 169, 170, 148, 149, 150, 151, 152, 153, 154, 155, - 0, 0, 0, 0, 0, 0, 0, 0, 156, 148, - 149, 150, 151, 152, 153, 154, 155, 0, 0, 0, - 0, 0, 0, 0, 0, 156, 148, 149, 150, 151, - 152, 153, 154, 155, 0, 0, 0, 0, 0, 0, - 0, 0, 156, 655, 656, 657, 658, 659, 660, 661, - 662, 0, 0, 0, 0, 0, 0, 0, 0, 663, - 932, 933, 934, 935, 936, 937, 938, 939, 0, 0, - 0, 0, 0, 0, 0, 0, 940, 149, 150, 151, - 152, 153, 154, 155, 0, 0, 0, 0, 0, 0, - 0, 0, 156, 0, 0, 825, 0, 0, 0, 157, - 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, - 0, 168, 169, 170, 967, 0, 157, 158, 159, 160, - 161, 162, 163, 164, 165, 166, 167, 0, 168, 169, - 170, 0, 0, 157, 158, 159, 160, 161, 162, 163, - 164, 165, 166, 167, 0, 168, 169, 170, 0, 0, - 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, - 674, 0, 675, 676, 677, 0, 0, 941, 942, 943, - 944, 0, 0, 945, 946, 947, 948, 949, 0, 950, - 951, 952, 0, 0, 158, 159, 160, 161, 162, 163, - 164, 165, 166, 167, 0, 168, 169, 170, 933, 934, - 935, 936, 937, 938, 939, 0, 0, 0, 0, 0, - 0, 0, 0, 940, 150, 151, 152, 153, 154, 155, - 0, 0, 0, 45, 0, 46, 47, 48, 156, 150, - 151, 152, 153, 154, 155, 0, 0, 0, 0, 0, - 0, 0, 0, 156, 934, 935, 936, 937, 938, 939, - 55, 179, 57, 0, 0, 0, 0, 0, 940, 150, - 151, 152, 153, 154, 155, 0, 58, 59, 0, 0, - 0, 0, 0, 156, 934, 935, 936, 937, 938, 939, - 63, 0, 0, 0, 0, 65, 0, 0, 940, 934, - 935, 936, 937, 938, 939, 0, 0, 0, 0, 0, - 0, 0, 0, 940, 0, 942, 943, 944, 122, 0, - 945, 946, 947, 948, 949, 0, 950, 951, 952, 0, - 0, 159, 160, 161, 162, 163, 164, 165, 166, 167, - 0, 168, 169, 170, 0, 0, 0, 160, 161, 162, - 163, 164, 165, 166, 167, 0, 168, 169, 170, 0, - 942, 943, 944, 0, 0, 945, 946, 947, 948, 949, - 0, 950, 951, 952, 0, 0, 0, 0, 161, 162, - 163, 164, 165, 166, 167, 0, 168, 169, 170, 386, - 387, 943, 944, 0, 0, 945, 946, 947, 948, 949, - 0, 950, 951, 952, 0, 0, 0, 0, 0, 0, - 945, 946, 947, 948, 949, 0, 950, 951, 952, 45, - 0, 46, 47, 48, 0, 0, 386, 387, 0, 45, - 0, 46, 47, 48, 388, 389, 0, 0, 0, 0, - 52, 0, 0, 0, 0, 0, 55, 179, 57, 0, + 0, 0, 159, 160, 161, 162, 163, 164, 165, 166, + 0, 0, 0, 0, 0, 504, 0, 0, 167, 45, + 0, 46, 47, 48, 49, 505, 0, 51, 0, 0, + 52, 506, 0, 0, 53, 0, 0, 0, 0, 507, 54, 0, 0, 0, 0, 0, 55, 56, 57, 0, - 0, 0, 58, 59, 0, 0, 45, 0, 46, 47, - 48, 0, 58, 59, 0, 44, 63, 52, 0, 0, - 0, 65, 0, 0, 390, 0, 63, 54, 0, 64, - 0, 65, 0, 55, 56, 57, 0, 0, 0, 0, - 0, 0, 0, 45, 125, 46, 47, 48, 0, 58, - 59, 0, 0, 0, 45, 0, 46, 47, 48, 49, - 50, 0, 51, 63, 295, 52, 64, 0, 65, 53, - 55, 179, 57, 0, 0, 54, 44, 0, 0, 0, - 0, 55, 56, 57, 0, 0, 58, 59, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 58, 59, 0, - 63, 0, 0, 60, 45, 65, 46, 47, 48, 61, - 62, 63, 0, 44, 64, 45, 65, 46, 47, 48, - 49, 329, 0, 51, 0, 0, 52, 0, 0, 0, - 53, 55, 179, 57, 0, 0, 54, 0, 0, 0, - 0, 0, 55, 56, 57, 0, 0, 58, 59, 0, - 0, 0, 45, 0, 46, 47, 48, 49, 58, 59, - 51, 63, 0, 52, 60, 0, 65, 53, 0, 0, - 61, 62, 63, 54, 44, 64, 0, 65, 0, 55, - 56, 57, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 638, 0, 58, 59, 0, 0, 0, - 0, 60, 0, 0, 0, 0, 0, 61, 62, 63, - 0, 115, 64, 45, 65, 46, 47, 48, 49, 0, - 0, 51, 0, 0, 52, 0, 0, 0, 53, 0, - 0, 0, 0, 0, 54, 0, 0, 0, 0, 0, - 55, 56, 57, 0, 0, 0, 0, 0, 0, 0, - 45, 0, 46, 47, 48, 49, 58, 59, 0, 0, - 0, 52, 60, 0, 0, 53, 0, 0, 61, 62, - 63, 54, 0, 64, 0, 65, 79, 55, 56, 57, + 0, 0, 0, 508, 0, 509, 0, 0, 0, 0, + 510, 0, 58, 59, 511, 0, 0, 512, 60, 0, + 0, 513, 0, 0, 61, 62, 63, 0, 0, 64, + 0, 65, 498, 499, 500, 10, 0, 11, 501, 502, + 44, 0, 0, 893, 514, 0, 0, 0, 515, 0, + 0, 0, 516, 0, 517, 0, 0, 0, 518, 168, + 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, + 0, 179, 180, 181, 383, 504, 0, 0, 0, 45, + 0, 46, 47, 48, 49, 505, 0, 51, 0, 0, + 52, 506, 0, 0, 53, 0, 0, 0, 0, 507, + 54, 0, 0, 0, 0, 0, 55, 56, 57, 0, + 0, 0, 0, 508, 0, 509, 0, 0, 0, 0, + 510, 0, 58, 59, 511, 0, 0, 512, 60, 0, + 0, 513, 0, 0, 61, 62, 63, 0, 0, 64, + 0, 65, 7, 8, 9, 10, 0, 11, 12, 13, + 142, 0, 0, 0, 514, 0, 0, 0, 515, 0, + 0, 0, 516, 0, 517, 0, 0, 0, 518, 0, + 0, 0, 159, 160, 161, 162, 163, 164, 165, 166, + 0, 0, 0, 0, 0, 15, 0, 0, 167, 143, + 0, 144, 145, 146, 49, 50, 0, 51, 0, 0, + 147, 21, 0, 0, 53, 0, 0, 0, 0, 22, + 148, 0, 0, 0, 0, 0, 149, 150, 57, 0, + 0, 0, 0, 26, 0, 27, 0, 0, 0, 0, + 0, 0, 151, 152, 30, 0, 0, 31, 60, 0, + 0, 32, 0, 0, 61, 62, 153, 0, 0, 64, + 0, 154, 498, 499, 500, 10, 0, 11, 501, 502, + 44, 0, 0, 0, 35, 0, 0, 0, 36, 37, + 0, 0, 38, 0, 39, 0, 0, 0, 40, 168, + 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, + 0, 179, 180, 181, 532, 504, 0, 0, 0, 45, + 0, 46, 47, 48, 49, 505, 0, 51, 0, 0, + 52, 506, 0, 0, 53, 0, 0, 0, 0, 507, + 54, 0, 0, 0, 0, 0, 55, 56, 57, 0, + 0, 0, 0, 508, 0, 509, 0, 0, 0, 0, + 510, 0, 58, 59, 511, 0, 0, 512, 60, 0, + 0, 513, 0, 0, 61, 62, 63, 0, 0, 64, + 0, 65, 7, 8, 9, 10, 0, 11, 12, 13, + 14, 0, 0, 0, 514, 0, 0, 0, 515, 0, + 0, 0, 516, 0, 517, 0, 0, 0, 518, 955, + 956, 957, 958, 959, 960, 0, 0, 0, 45, 0, + 46, 47, 48, 961, 0, 15, 0, 0, 0, 16, + 0, 17, 18, 19, 0, 0, 0, 0, 0, 0, + 20, 21, 0, 0, 0, 55, 190, 57, 0, 22, + 23, 0, 0, 0, 0, 0, 24, 25, 0, 0, + 0, 58, 59, 26, 0, 27, 0, 0, 0, 0, + 0, 0, 28, 29, 30, 63, 0, 31, 0, 0, + 65, 32, 7, 8, 9, 10, 33, 11, 12, 13, + 14, 34, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 132, 35, 0, 0, 0, 36, 37, + 0, 0, 38, 0, 39, 0, 305, 965, 40, 0, + 966, 967, 968, 969, 970, 15, 971, 972, 973, 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, 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, 443, 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, 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, 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, 550, 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, 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, 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, 0, 0, 0, 35, 0, 0, 0, 36, 37, + 0, 0, 38, 0, 39, 0, 918, 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, 0, 24, 25, 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, 933, 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, 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, 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, 7, 8, 9, 10, 0, 11, 12, + 13, 0, 0, 0, 35, 0, 0, 0, 36, 37, + 0, 0, 38, 0, 39, 0, 1028, 0, 40, 0, + 80, 0, 0, 0, 0, 15, 0, 0, 81, 16, + 0, 17, 18, 19, 0, 0, 865, 83, 84, 85, + 20, 21, 0, 0, 0, 0, 0, 211, 0, 22, + 23, 80, 866, 91, 0, 0, 24, 25, 0, 81, + 22, 0, 96, 26, 0, 27, 0, 97, 83, 84, + 85, 0, 28, 29, 30, 0, 27, 31, 211, 0, + 102, 32, 103, 0, 91, 867, 33, 0, 868, 0, + 0, 34, 32, 96, 0, 0, 0, -127, 97, 0, + 0, 0, 0, 0, 35, 0, 0, 0, 36, 37, + 0, 102, 38, 103, 39, 869, 0, 0, 40, 870, + 871, 559, 0, 872, 0, 873, 242, 243, 0, 874, + 560, 561, 562, 563, 564, 565, 566, 567, 0, 0, + 0, 0, 0, 0, 0, 0, 568, 0, 569, 570, + 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, + 0, 0, 0, 0, 0, 0, 45, 0, 46, 47, + 48, 49, 244, 0, 245, 581, 0, 52, 0, 0, + 0, 53, 0, 0, 0, 0, 0, 54, 0, 0, + 0, 0, 0, 55, 56, 57, 0, 0, 0, 582, + 0, 0, 0, 246, 0, 0, 0, 0, 0, 58, + 59, 0, 0, 242, 243, 60, 0, 0, 0, 0, + 0, 247, 62, 63, 0, 0, 64, 0, 65, 0, + 0, 0, 0, 583, 0, 0, 584, 0, 585, 586, + 587, 588, 589, 590, 591, 592, 593, 594, 595, 249, + 596, 597, 0, 45, 598, 46, 47, 48, 49, 244, + 0, 245, 0, 0, 52, 0, 0, 0, 53, 0, + 0, 0, 0, 0, 54, 322, 0, 0, 0, 0, + 55, 56, 57, 242, 243, 0, 0, 0, 0, 0, + 246, 0, 0, 0, 0, 0, 58, 59, 0, 0, + 0, 0, 60, 0, 0, 0, 0, 0, 247, 62, + 63, 0, 0, 64, 45, 65, 46, 47, 48, 0, + 248, 0, 0, 45, 0, 46, 47, 48, 49, 338, + 0, 245, 0, 0, 52, 0, 249, 0, 53, 0, + 0, 55, 190, 57, 54, 0, 0, 0, 0, 0, + 55, 56, 57, 0, 0, 0, 0, 58, 59, 0, + 246, 0, 163, 164, 165, 166, 58, 59, 0, 0, + 0, 63, 60, 0, 167, 0, 65, 0, 247, 62, + 63, 0, 0, 64, 0, 65, 159, 160, 161, 162, + 163, 164, 165, 166, 0, 0, 0, 0, 0, 0, + 0, 0, 167, 0, 0, 0, 249, 159, 160, 161, + 162, 163, 164, 165, 166, 0, 0, 0, 0, 0, + 0, 0, 0, 167, 0, 0, 159, 160, 161, 162, + 163, 164, 165, 166, 0, 0, 0, 0, 0, 0, + 0, 0, 167, 159, 160, 161, 162, 163, 164, 165, + 166, 0, 0, 0, 0, 0, 0, 0, 0, 167, + 159, 160, 161, 162, 163, 164, 165, 166, 0, 172, + 173, 174, 175, 176, 177, 178, 167, 179, 180, 181, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 80, 58, 59, 0, 0, 81, 0, 60, - 82, 0, 0, 0, 0, 116, 62, 63, 83, 84, - 64, 85, 65, 79, 0, 0, 86, 87, 88, 0, - 0, 0, 0, 0, 0, 89, 0, 0, 90, 80, - 0, 0, 91, 0, 81, 0, 92, 82, 0, 0, - 0, 0, 0, 0, 0, 83, 84, 93, 85, 0, - 0, 0, 0, 86, 87, 88, 79, 0, 0, 0, - 0, 0, 89, 0, 0, 90, 382, 0, 0, 91, - 0, 0, 80, 92, 0, 0, 0, 81, 0, 0, - 82, 0, 0, 0, 93, 0, 0, 0, 83, 84, - 0, 85, 0, 79, 0, 0, 86, 87, 88, 0, - 0, 0, 0, 446, 0, 89, 0, 0, 90, 80, - 0, 0, 91, 0, 81, 0, 92, 82, 0, 0, - 0, 0, 0, 0, 0, 83, 84, 93, 85, 0, - 0, 0, 0, 86, 87, 88, 79, 0, 0, 0, - 0, 0, 89, 0, 0, 90, 521, 0, 0, 91, - 0, 0, 80, 92, 0, 0, 0, 81, 0, 0, - 82, 0, 0, 0, 93, 0, 0, 0, 83, 84, - 45, 85, 46, 47, 48, 0, 86, 87, 88, 0, - 0, 175, 0, 612, 0, 89, 0, 0, 90, 0, - 0, 176, 91, 0, 0, 0, 92, 55, 177, 57, - 0, 45, 0, 46, 47, 48, 0, 93, 0, 0, - 0, 0, 175, 58, 59, 0, 0, 0, 0, 0, - 0, 0, 176, 0, 0, 0, 834, 63, 55, 177, - 57, 0, 65, 0, 0, 0, 0, 0, 0, 0, + 0, 380, 0, 168, 169, 170, 171, 172, 173, 174, + 175, 176, 177, 178, 0, 179, 180, 181, 0, 0, + 0, 555, 0, 0, 168, 169, 170, 171, 172, 173, + 174, 175, 176, 177, 178, 0, 179, 180, 181, 846, + 0, 0, 0, 168, 169, 170, 171, 172, 173, 174, + 175, 176, 177, 178, 0, 179, 180, 181, 988, 0, + 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, + 178, 0, 179, 180, 181, 0, 0, 168, 169, 170, + 171, 172, 173, 174, 175, 176, 177, 178, 0, 179, + 180, 181, 676, 677, 678, 679, 680, 681, 682, 683, + 0, 0, 0, 0, 0, 0, 0, 0, 684, 953, + 954, 955, 956, 957, 958, 959, 960, 0, 0, 0, + 0, 0, 0, 0, 0, 961, 953, 954, 955, 956, + 957, 958, 959, 960, 0, 0, 0, 0, 0, 0, + 0, 0, 961, 160, 161, 162, 163, 164, 165, 166, + 0, 0, 0, 45, 0, 46, 47, 48, 167, 954, + 955, 956, 957, 958, 959, 960, 0, 0, 0, 0, + 0, 0, 0, 0, 961, 0, 0, 0, 0, 0, + 55, 190, 57, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 58, 59, 0, 685, + 686, 687, 688, 689, 690, 691, 692, 693, 694, 695, + 63, 696, 697, 698, 1050, 65, 962, 963, 964, 965, + 0, 0, 966, 967, 968, 969, 970, 0, 971, 972, + 973, 0, -2, 962, 963, 964, 965, 0, 133, 966, + 967, 968, 969, 970, 0, 971, 972, 973, 0, 0, + 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, + 0, 179, 180, 181, 0, 0, 963, 964, 965, 0, + 0, 966, 967, 968, 969, 970, 0, 971, 972, 973, + 79, 80, 0, 161, 162, 163, 164, 165, 166, 81, + 0, 0, 0, 0, 0, 0, 82, 167, 83, 84, + 85, 86, 0, 0, 87, 0, 0, 0, 88, 0, + 0, 0, 89, 90, 91, 92, 0, 0, 0, 0, + 93, 94, 95, 96, 0, 0, 0, 0, 97, 98, + 0, 0, 99, 0, 0, 0, 100, 0, 0, 0, + 101, 102, 0, 103, 161, 162, 163, 164, 165, 166, + 0, 104, 0, 0, 0, 0, 0, 0, 167, 161, + 162, 163, 164, 165, 166, 0, 0, 0, 0, 0, + 0, 0, 0, 167, 955, 956, 957, 958, 959, 960, + 0, 0, 45, 0, 46, 47, 48, 0, 961, 169, + 170, 171, 172, 173, 174, 175, 176, 177, 178, 0, + 179, 180, 181, 955, 956, 957, 958, 959, 960, 55, + 190, 57, 0, 0, 0, 0, 0, 961, 0, 0, + 0, 0, 0, 0, 0, 58, 59, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, + 0, 0, 0, 0, 65, 0, 0, 0, 0, 0, + 0, 170, 171, 172, 173, 174, 175, 176, 177, 178, + 0, 179, 180, 181, 0, 0, 0, 171, 172, 173, + 174, 175, 176, 177, 178, 0, 179, 180, 181, 0, + 963, 964, 965, 405, 406, 966, 967, 968, 969, 970, + 0, 971, 972, 973, 0, 0, 0, 0, 0, 0, + 0, 0, 45, 0, 46, 47, 48, 0, 0, 0, + 964, 965, 0, 0, 966, 967, 968, 969, 970, 0, + 971, 972, 973, 45, 0, 46, 47, 48, 0, 55, + 190, 57, 44, 0, 52, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 54, 58, 59, 0, 0, 0, + 55, 56, 57, 0, 0, 0, 0, 0, 0, 63, + 0, 0, 0, 0, 65, 0, 58, 59, 0, 0, + 0, 45, 0, 46, 47, 48, 49, 50, 0, 51, + 63, 0, 52, 64, 0, 65, 53, 136, 0, 0, + 0, 0, 54, 44, 0, 0, 0, 0, 55, 56, + 57, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 58, 59, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 114, 0, 0, 63, 0, - 0, 0, 0, 65 + 60, 0, 0, 0, 0, 0, 61, 62, 63, 0, + 44, 64, 45, 65, 46, 47, 48, 49, 346, 0, + 51, 0, 0, 52, 0, 0, 0, 53, 0, 0, + 0, 0, 0, 54, 0, 0, 0, 0, 0, 55, + 56, 57, 0, 0, 0, 0, 0, 0, 0, 45, + 0, 46, 47, 48, 49, 58, 59, 51, 0, 0, + 52, 60, 0, 0, 53, 0, 0, 61, 62, 63, + 54, 44, 64, 0, 65, 0, 55, 56, 57, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 659, 0, 58, 59, 0, 0, 0, 0, 60, 0, + 0, 0, 0, 0, 61, 62, 63, 0, 126, 64, + 45, 65, 46, 47, 48, 49, 0, 0, 51, 0, + 0, 52, 0, 0, 0, 53, 0, 0, 0, 0, + 0, 54, 0, 0, 0, 0, 0, 55, 56, 57, + 0, 0, 0, 0, 0, 0, 0, 45, 0, 46, + 47, 48, 49, 58, 59, 0, 0, 0, 52, 60, + 0, 0, 53, 0, 0, 61, 62, 63, 54, 0, + 64, 0, 65, 0, 55, 56, 57, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 58, 59, 79, 80, 0, 0, 60, 0, 0, 0, + 0, 81, 127, 62, 63, 0, 0, 64, 82, 65, + 83, 84, 85, 86, 0, 0, 87, 0, 0, 0, + 88, 0, 0, 0, 89, 90, 91, 92, 0, 0, + 0, 0, 93, 94, 95, 96, 0, 0, 79, 80, + 97, 98, 0, 0, 99, 0, 0, 81, 100, 0, + 0, 0, 101, 102, 82, 103, 83, 84, 85, 86, + 0, 0, 87, 104, 0, 0, 88, 0, 0, 0, + 89, 90, 91, 92, 0, 0, 0, 0, 93, 94, + 95, 96, 401, 0, 79, 80, 97, 98, 0, 0, + 99, 0, 0, 81, 100, 0, 0, 0, 101, 102, + 82, 103, 83, 84, 85, 86, 0, 0, 87, 104, + 0, 0, 88, 0, 0, 0, 89, 90, 91, 92, + 0, 0, 0, 0, 93, 94, 95, 96, 465, 0, + 79, 80, 97, 98, 0, 0, 99, 0, 0, 81, + 100, 0, 0, 0, 101, 102, 82, 103, 83, 84, + 85, 86, 0, 0, 87, 104, 0, 0, 88, 0, + 0, 0, 89, 90, 91, 92, 0, 0, 0, 0, + 93, 94, 95, 96, 473, 0, 79, 80, 97, 98, + 0, 0, 99, 0, 0, 81, 100, 0, 0, 0, + 101, 102, 82, 103, 83, 84, 85, 86, 0, 0, + 87, 104, 0, 0, 88, 0, 0, 0, 89, 90, + 91, 92, 0, 0, 0, 0, 93, 94, 95, 96, + 542, 0, 79, 80, 97, 98, 0, 0, 99, 0, + 0, 81, 100, 0, 0, 0, 101, 102, 82, 103, + 83, 84, 85, 86, 0, 0, 87, 104, 0, 0, + 88, 0, 0, 0, 89, 90, 91, 92, 0, 0, + 0, 0, 93, 94, 95, 96, 634, 0, 79, 80, + 97, 98, 0, 0, 99, 0, 0, 81, 100, 0, + 0, 0, 101, 102, 82, 103, 83, 84, 85, 86, + 0, 0, 87, 104, 0, 0, 88, 0, 0, 0, + 89, 90, 91, 92, 0, 0, 0, 0, 93, 94, + 95, 96, 855, 0, 0, 0, 97, 98, 0, 45, + 99, 46, 47, 48, 100, 0, 0, 0, 101, 102, + 186, 103, 0, 0, 0, 0, 0, 0, 0, 104, + 187, 0, 0, 0, 0, 0, 55, 188, 57, 0, + 79, 80, 0, 0, 0, 0, 0, 0, 856, 81, + 0, 0, 58, 59, 0, 0, 82, 0, 83, 84, + 85, 86, 0, 0, 87, 0, 63, 0, 88, 0, + 0, 65, 89, 90, 91, 92, 0, 0, 0, 0, + 93, 94, 95, 96, 0, 0, 0, 0, 97, 98, + 0, 0, 99, 0, 125, 45, 100, 46, 47, 48, + 101, 102, 80, 103, 0, 0, 186, 0, 0, 0, + 81, 0, 0, 0, 0, 0, 187, 0, 0, 83, + 84, 85, 55, 188, 57, 0, 0, 0, 0, 211, + 0, 0, 0, 0, 0, 91, 220, 0, 58, 59, + 0, 0, 0, 0, 96, 0, 0, 0, 0, 97, + 0, 0, 63, 0, 0, 0, 0, 65, 0, 0, + 0, 0, 102, 0, 103 }; #define yypact_value_is_default(Yystate) \ - (!!((Yystate) == (-594))) + (!!((Yystate) == (-642))) #define yytable_value_is_error(Yytable_value) \ YYID (0) static const yytype_int16 yycheck[] = { - 1, 529, 2, 384, 5, 39, 90, 91, 90, 403, - 310, 26, 489, 12, 204, 50, 10, 11, 0, 400, - 26, 476, 403, 97, 10, 11, 106, 107, 108, 109, - 110, 118, 112, 113, 114, 35, 36, 37, 38, 628, - 40, 121, 122, 121, 135, 125, 126, 118, 442, 118, - 137, 6, 6, 8, 8, 510, 135, 321, 136, 118, - 520, 442, 88, 89, 90, 66, 137, 97, 137, 26, - 448, 449, 399, 10, 11, 402, 117, 404, 137, 120, - 14, 117, 97, 109, 120, 459, 10, 11, 681, 90, - 91, 97, 466, 467, 468, 469, 470, 471, 173, 118, - 427, 428, 135, 430, 431, 432, 433, 481, 489, 10, - 11, 135, 187, 188, 189, 190, 191, 192, 137, 97, - 137, 311, 10, 11, 135, 118, 586, 501, 522, 118, - 39, 130, 121, 135, 120, 169, 210, 437, 135, 213, - 97, 522, 332, 137, 137, 31, 83, 474, 148, 149, - 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, - 160, 161, 162, 163, 164, 165, 166, 167, 168, 629, - 170, 435, 173, 126, 174, 31, 653, 257, 633, 506, - 210, 636, 137, 213, 118, 220, 187, 188, 189, 190, - 191, 192, 227, 383, 195, 210, 105, 135, 213, 654, - 201, 118, 111, 204, 210, 135, 118, 213, 535, 209, - 135, 118, 476, 135, 123, 124, 117, 135, 596, 121, - 137, 296, 600, 118, 602, 137, 604, 605, 606, 117, - 137, 824, 210, 406, 136, 213, 118, 410, 411, 412, - 413, 414, 137, 10, 11, 118, 510, 621, 134, 135, - 136, 118, 85, 210, 135, 137, 213, 126, 847, 848, - 849, 850, 452, 852, 137, 639, 266, 267, 101, 6, - 137, 8, 653, 135, 120, 10, 11, 12, 134, 135, - 136, 16, 120, 136, 137, 320, 135, 136, 55, 135, - 136, 137, 686, 135, 329, 296, 135, 135, 136, 137, - 117, 118, 303, 303, 117, 686, 119, 120, 121, 117, - 311, 312, 135, 319, 907, 316, 135, 136, 319, 120, - 120, 56, 135, 136, 135, 10, 11, 327, 120, 330, - 120, 332, 99, 120, 135, 136, 137, 337, 105, 106, - 513, 135, 109, 932, 933, 934, 935, 936, 937, 938, - 939, 940, 941, 942, 943, 944, 945, 946, 947, 948, - 949, 950, 126, 363, 135, 400, 4, 130, 403, 633, - 55, 136, 10, 11, 375, 120, 111, 461, 10, 461, - 126, 974, 383, 389, 912, 978, 114, 115, 116, 6, - 125, 135, 136, 394, 117, 130, 135, 986, 119, 400, - 135, 135, 403, 135, 438, 406, 440, 442, 863, 410, - 411, 412, 413, 414, 99, 137, 417, 136, 137, 420, - 105, 106, 118, 424, 424, 819, 1019, 88, 89, 90, - 1023, 10, 11, 12, 435, 137, 137, 16, 819, 12, - 1029, 442, 137, 16, 1037, 445, 137, 137, 528, 484, - 137, 452, 127, 1046, 489, 456, 462, 137, 459, 137, - 461, 137, 496, 137, 137, 466, 467, 468, 469, 470, - 471, 472, 487, 137, 127, 476, 138, 56, 137, 137, - 481, 487, 117, 56, 119, 120, 121, 522, 862, 120, - 447, 448, 449, 493, 494, 495, 118, 497, 118, 135, - 501, 135, 117, 958, 137, 135, 135, 117, 87, 510, - 904, 118, 513, 10, 11, 140, 10, 118, 127, 520, - 520, 522, 130, 904, 130, 138, 920, 130, 529, 529, - 487, 858, 111, 135, 118, 10, 11, 61, 111, 920, - 121, 121, 100, 130, 135, 135, 125, 136, 72, 73, - 126, 130, 125, 138, 126, 137, 135, 130, 55, 137, - 10, 85, 135, 118, 118, 140, 137, 137, 92, 10, - 119, 136, 118, 135, 137, 56, 903, 971, 4, 135, - 55, 118, 135, 140, 584, 586, 586, 496, 138, 137, - 971, 138, 116, 137, 118, 119, 135, 31, 56, 140, - 58, 59, 99, 638, 137, 63, 607, 137, 105, 106, - 126, 126, 109, 135, 615, 140, 118, 137, 653, 127, - 621, 127, 135, 1017, 99, 137, 137, 954, 629, 629, - 105, 106, 633, 137, 109, 636, 1017, 119, 639, 596, - 119, 137, 676, 600, 135, 602, 135, 604, 605, 606, - 651, 686, 31, 654, 137, 655, 656, 657, 658, 659, - 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, - 670, 671, 672, 673, 674, 675, 135, 677, 138, 203, - 681, 139, 140, 141, 142, 686, 10, 11, 12, 21, - 22, 215, 16, 137, 128, 129, 130, 131, 132, 31, - 134, 135, 136, 127, 137, 614, 230, 616, 137, 137, - 234, 127, 137, 135, 135, 527, 240, 241, 137, 177, - 137, 179, 821, 201, 903, 858, 954, 213, 637, 462, - 461, 640, 56, 389, 643, 644, 21, 22, 196, 847, - 848, 849, 850, 615, 852, 213, 31, 487, 453, 128, - 129, 130, 131, 132, 526, 134, 135, 136, -1, 782, - -1, -1, -1, -1, -1, -1, -1, 15, 16, 17, - 18, 19, 20, 21, 22, -1, -1, -1, -1, -1, - 304, 782, -1, 31, 819, 865, -1, 111, -1, -1, - 31, -1, -1, -1, -1, -1, 128, 129, 130, 131, - 132, 125, 134, 135, 136, -1, 130, -1, -1, -1, - -1, 811, 336, -1, -1, -1, -1, 851, 819, -1, - -1, -1, -1, 824, 932, 933, 934, 935, 936, 937, - 938, 939, 940, 941, 942, 943, 944, 945, 946, 947, - 948, 949, 950, 128, 129, 130, 131, 132, -1, 134, - 135, 136, 310, -1, -1, 31, -1, 381, -1, 859, - -1, 862, 863, -1, 388, -1, 390, -1, 868, 904, - -1, -1, 120, -1, 122, 123, 124, 125, 986, -1, - 128, 129, 130, 131, 132, 920, 134, 135, 136, 130, - 131, 132, -1, 134, 135, 136, -1, -1, -1, -1, - -1, -1, -1, 904, -1, -1, 907, -1, 11, -1, - -1, 912, 912, -1, -1, -1, -1, 951, -1, 920, - -1, 1029, -1, 447, 448, 449, -1, -1, 3, 4, - 5, 6, -1, 8, 9, 10, 971, -1, -1, -1, - -1, -1, 851, -1, -1, -1, -1, 50, -1, 52, - 53, 54, 952, -1, 130, 131, 132, 958, 134, 135, - 136, -1, -1, -1, -1, -1, -1, 967, -1, -1, - 971, 46, -1, 974, 77, 78, 79, 978, 1012, 437, - 1014, -1, 1017, -1, -1, -1, -1, 62, -1, -1, - 93, 94, -1, -1, -1, 70, -1, -1, -1, -1, - -1, -1, -1, 527, 107, -1, 1040, 1041, -1, 112, - -1, 86, 921, 922, 923, 924, 1017, -1, 1019, -1, - 95, -1, 1023, 98, -1, -1, -1, 102, -1, -1, - -1, -1, -1, -1, -1, -1, 1037, -1, -1, -1, - -1, -1, -1, -1, -1, 1046, -1, -1, -1, -1, - 125, -1, -1, -1, 129, 130, -1, -1, 133, 583, - 135, -1, -1, -1, 139, -1, -1, -1, -1, -1, - -1, 595, 596, 597, -1, -1, 600, -1, 602, -1, - 604, 605, 606, -1, -1, -1, -1, 611, 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, 82, -1, 84, - -1, 86, 87, 88, 89, 90, 91, 92, 93, 94, - 95, 96, 97, 98, 99, -1, 101, 102, 103, 104, - 105, 106, 107, -1, 109, 110, 111, 112, 113, -1, - -1, -1, 117, 118, 119, 120, 121, 122, 123, 124, - 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, - 135, 136, 137, 138, 139, 140, 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, 82, -1, 84, -1, 86, - 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, - 97, 98, 99, -1, 101, 102, 103, 104, 105, 106, - 107, -1, 109, 110, 111, 112, 113, -1, -1, -1, - 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, - 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, - 137, -1, 139, 140, 3, 4, 5, 6, -1, 8, - 9, 10, 11, -1, -1, 14, -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, -1, -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, 84, -1, 86, -1, -1, - -1, -1, 91, -1, 93, 94, 95, -1, -1, 98, - 99, -1, -1, 102, -1, -1, 105, 106, 107, -1, - -1, 110, -1, 112, 3, 4, 5, 6, -1, 8, - 9, 10, 11, -1, -1, 14, 125, -1, -1, -1, - 129, 1015, -1, -1, 133, -1, 135, -1, -1, -1, - 139, 122, 123, 124, 125, 126, 127, 128, 129, 130, - 131, 132, -1, 134, 135, 136, -1, 46, -1, 140, - -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, 84, -1, 86, -1, -1, - -1, -1, 91, -1, 93, 94, 95, -1, -1, 98, - 99, -1, -1, 102, -1, -1, 105, 106, 107, -1, - -1, 110, -1, 112, 3, 4, 5, 6, -1, 8, - 9, 10, 11, -1, -1, -1, 125, -1, -1, -1, - 129, -1, -1, -1, 133, -1, 135, -1, -1, -1, - 139, -1, -1, -1, 15, 16, 17, 18, 19, 20, - 21, 22, -1, -1, -1, -1, -1, 46, -1, -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, 84, -1, 86, -1, -1, - -1, -1, -1, -1, 93, 94, 95, -1, -1, 98, - 99, -1, -1, 102, -1, -1, 105, 106, 107, -1, - -1, 110, -1, 112, 3, 4, 5, 6, -1, 8, - 9, 10, 11, -1, -1, -1, 125, -1, -1, -1, - 129, 130, -1, -1, 133, -1, 135, -1, -1, -1, - 139, 122, 123, 124, 125, 126, 127, 128, 129, 130, - 131, 132, -1, 134, 135, 136, -1, 46, -1, 140, - -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, 84, -1, 86, -1, -1, - -1, -1, 91, -1, 93, 94, 95, -1, -1, 98, - 99, -1, -1, 102, -1, -1, 105, 106, 107, -1, - -1, 110, -1, 112, 3, 4, 5, 6, -1, 8, - 9, 10, 11, -1, -1, -1, 125, -1, -1, -1, - 129, -1, -1, -1, 133, -1, 135, -1, -1, -1, - 139, 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, 79, - -1, 70, 71, -1, -1, -1, -1, -1, 77, 78, - -1, -1, -1, 93, 94, 84, -1, 86, -1, -1, - -1, -1, -1, -1, 93, 94, 95, 107, -1, 98, - -1, -1, 112, 102, 3, 4, 5, 6, 107, 8, - 9, 10, 11, 112, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 135, 125, -1, -1, -1, - 129, 130, -1, -1, 133, -1, 135, -1, 137, 125, - 139, -1, 128, 129, 130, 131, 132, 46, 134, 135, - 136, 50, -1, 52, 53, 54, -1, -1, -1, -1, - -1, -1, 61, 62, -1, -1, -1, -1, -1, 0, - -1, 70, 71, -1, -1, -1, -1, -1, 77, 78, - -1, -1, -1, -1, -1, 84, -1, 86, -1, -1, - -1, -1, -1, -1, 93, 94, 95, -1, -1, 98, - -1, -1, -1, 102, 3, 4, 5, 6, 107, 8, - 9, 10, 11, 112, -1, -1, -1, 48, 117, -1, - -1, -1, -1, -1, -1, -1, 125, -1, -1, -1, - 129, 130, -1, 64, 133, -1, 135, -1, 69, -1, - 139, 72, -1, -1, -1, -1, -1, 46, -1, 80, - 81, 50, 83, 52, 53, 54, -1, 88, 89, 90, - -1, -1, 61, 62, -1, -1, 97, -1, -1, 100, - -1, 70, 71, 104, -1, -1, -1, 108, 77, 78, - -1, -1, -1, -1, -1, 84, -1, 86, 119, -1, - -1, -1, -1, -1, 93, 94, 95, -1, -1, 98, - -1, -1, -1, 102, 3, 4, 5, 6, 107, 8, - 9, 10, 11, 112, -1, -1, -1, 48, 117, -1, - -1, -1, -1, -1, -1, -1, 125, -1, -1, -1, - 129, 130, -1, 64, 133, -1, 135, -1, 69, -1, - 139, 72, -1, -1, -1, -1, -1, 46, -1, 80, - 81, 50, 83, 52, 53, 54, -1, 88, 89, 90, - -1, -1, 61, 62, -1, -1, 97, -1, -1, 100, - -1, 70, 71, 104, -1, -1, -1, 108, 77, 78, - -1, -1, -1, -1, -1, 84, -1, 86, -1, -1, - -1, -1, -1, -1, 93, 94, 95, -1, -1, 98, - -1, -1, -1, 102, 3, 4, 5, 6, 107, 8, - 9, 10, 11, 112, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 125, -1, -1, -1, - 129, 130, -1, -1, 133, -1, 135, -1, 137, -1, - 139, -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, -1, 77, 78, - -1, -1, -1, -1, -1, 84, -1, 86, -1, -1, - -1, -1, -1, -1, 93, 94, 95, -1, -1, 98, - -1, -1, -1, 102, 3, 4, 5, 6, 107, 8, - 9, 10, 11, 112, -1, -1, -1, -1, 117, -1, - -1, -1, -1, -1, -1, -1, 125, -1, -1, -1, - 129, 130, -1, -1, 133, -1, 135, -1, -1, -1, - 139, -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, -1, 77, 78, - -1, -1, -1, -1, -1, 84, -1, 86, -1, -1, - -1, -1, -1, -1, 93, 94, 95, -1, -1, 98, - -1, -1, -1, 102, 3, 4, 5, 6, 107, 8, - 9, 10, 11, 112, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 125, -1, -1, -1, - 129, 130, -1, -1, 133, -1, 135, -1, 137, -1, - 139, -1, -1, -1, -1, -1, -1, 46, -1, -1, - -1, 50, -1, 52, 53, 54, -1, -1, -1, -1, - -1, -1, 61, 62, 19, 20, 21, 22, -1, -1, - -1, 70, 71, -1, -1, -1, 31, -1, 77, 78, - -1, -1, -1, -1, -1, 84, -1, 86, 17, 18, - 19, 20, 21, 22, 93, 94, 95, -1, -1, 98, - -1, -1, 31, 102, 19, 20, 21, 22, 107, -1, - -1, -1, -1, 112, -1, -1, 31, 15, 16, 17, - 18, 19, 20, 21, 22, -1, 125, -1, -1, -1, - 129, 130, 6, 31, 133, -1, 135, -1, -1, -1, - 139, 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, 126, 127, 128, 129, 130, 131, 132, -1, 134, - 135, 136, -1, -1, -1, -1, 60, -1, -1, -1, - -1, -1, -1, -1, 123, 124, 125, 126, 127, 128, + 1, 99, 117, 118, 119, 120, 121, 550, 123, 124, + 125, 26, 26, 510, 497, 325, 50, 132, 133, 39, + 108, 136, 137, 339, 10, 11, 467, 468, 422, 225, + 403, 6, 12, 8, 80, 81, 108, 83, 84, 85, + 10, 11, 88, 0, 39, 91, 419, 118, 531, 422, + 96, 97, 14, 99, 100, 118, 102, 103, 10, 11, + 135, 702, 184, 108, 118, 66, 137, 461, 118, 85, + 418, 10, 11, 421, 137, 423, 198, 199, 200, 201, + 202, 203, 135, 137, 26, 101, 541, 137, 461, 117, + 31, 135, 120, 108, 108, 135, 10, 11, 446, 447, + 480, 449, 450, 451, 452, 135, 118, 487, 488, 489, + 490, 491, 492, 83, 115, 126, 117, 118, 119, 120, + 121, 116, 123, 124, 125, 137, 135, 122, 10, 11, + 326, 132, 133, 135, 330, 136, 137, 510, 454, 134, + 135, 31, 522, 10, 11, 233, 456, 495, 236, 543, + 130, 137, 607, 349, 31, 118, 118, 272, 121, 135, + 180, 233, 137, 135, 236, 211, 108, 135, 120, 215, + 543, 56, 655, 58, 59, 135, 617, 674, 63, 527, + 621, 497, 623, 184, 625, 626, 627, 135, 233, 311, + 118, 236, 675, 134, 135, 136, 651, 198, 199, 200, + 201, 202, 203, 117, 845, 206, 402, 118, 556, 137, + 244, 31, 246, 135, 118, 531, 61, 117, 233, 233, + 120, 236, 236, 6, 225, 8, 137, 72, 73, 126, + 10, 11, 12, 137, 121, 117, 16, 10, 11, 12, + 130, 131, 132, 16, 134, 135, 136, 92, 12, 136, + 117, 135, 16, 130, 131, 132, 101, 134, 135, 136, + 88, 89, 90, 643, 135, 150, 151, 152, 153, 118, + 118, 272, 136, 137, 118, 471, 56, 118, 474, 118, + 660, 109, 127, 56, 129, 130, 117, 928, 137, 137, + 120, 233, 56, 137, 236, 6, 137, 8, 137, 135, + 136, 674, 4, 188, 338, 190, 121, 87, 10, 11, + 311, 135, 346, 707, 134, 135, 136, 318, 114, 115, + 116, 136, 207, 337, 135, 326, 327, 10, 11, 330, + 135, 111, 117, 118, 707, 135, 337, 135, 111, 655, + 137, 21, 22, 135, 136, 125, 347, 111, 349, 120, + 130, 31, 125, 120, 995, 135, 130, 130, 999, 135, + 136, 125, 135, 10, 11, 12, 130, 136, 137, 16, + 120, 135, 55, 136, 120, 220, 10, 117, 223, 119, + 120, 121, 117, 126, 482, 419, 135, 135, 422, 119, + 933, 135, 137, 238, 408, 135, 136, 118, 137, 1040, + 883, 402, 247, 1044, 249, 21, 22, 127, 137, 56, + 255, 256, 413, 137, 137, 31, 99, 1058, 419, 137, + 137, 422, 105, 106, 425, 137, 1067, 461, 429, 430, + 431, 432, 433, 137, 549, 127, 482, 457, 439, 459, + 325, 117, 443, 119, 120, 121, 840, 137, 128, 129, + 130, 131, 132, 454, 134, 135, 136, 88, 89, 90, + 461, 138, 137, 137, 111, 120, 137, 840, 137, 483, + 471, 505, 137, 474, 319, 120, 510, 117, 125, 480, + 135, 136, 137, 130, 135, 118, 487, 488, 489, 490, + 491, 492, 493, 508, 508, 978, 497, 517, 19, 20, + 21, 22, 882, 118, 140, 135, 135, 135, 353, 543, + 31, 137, 128, 129, 130, 131, 132, 117, 134, 135, + 136, 522, 517, 117, 466, 467, 468, 118, 120, 10, + 531, 925, 880, 534, 31, 118, 138, 127, 135, 118, + 541, 130, 543, 135, 136, 137, 130, 941, 549, 550, + 130, 121, 925, 425, 121, 400, 2, 429, 430, 431, + 432, 433, 407, 135, 409, 130, 508, 126, 941, 135, + 126, 456, 118, 137, 137, 136, 924, 10, 138, 15, + 16, 17, 18, 19, 20, 21, 22, 120, 137, 35, + 36, 37, 38, 140, 40, 31, 118, 137, 992, 10, + 119, 136, 135, 136, 137, 118, 607, 128, 129, 130, + 131, 132, 135, 134, 135, 136, 56, 137, 4, 992, + 135, 466, 467, 468, 118, 659, 140, 975, 137, 140, + 138, 128, 129, 130, 131, 132, 637, 134, 135, 136, + 674, 636, 643, 638, 1038, 137, 126, 138, 137, 137, + 651, 135, 135, 135, 655, 126, 118, 127, 127, 660, + 137, 140, 534, 658, 137, 1038, 661, 10, 11, 664, + 665, 672, 135, 707, 675, 617, 137, 697, 137, 621, + 119, 623, 119, 625, 626, 627, 122, 123, 124, 125, + 126, 127, 128, 129, 130, 131, 132, 135, 134, 135, + 136, 702, 137, 548, 140, 137, 707, 135, 135, 138, + 127, 137, 55, 159, 160, 161, 162, 163, 164, 165, + 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, + 176, 177, 178, 179, 137, 181, 137, 137, 127, 185, + 137, 135, 135, 219, 548, 137, 137, 6, 15, 16, + 17, 18, 19, 20, 21, 22, 99, 842, 924, 604, + 880, 975, 105, 106, 31, 408, 109, 482, 236, 483, + 885, 616, 617, 618, 637, 508, 621, 472, 623, 236, + 625, 626, 627, -1, 803, 547, 232, -1, 633, 31, + 49, -1, -1, -1, -1, -1, -1, -1, 57, -1, + -1, -1, 803, 650, -1, -1, 840, 66, 67, 68, + -1, -1, -1, -1, -1, -1, -1, 76, -1, -1, + -1, -1, -1, 82, -1, -1, -1, -1, -1, -1, + -1, -1, 91, -1, -1, 281, 282, 96, -1, 840, + 10, 11, -1, -1, 845, -1, -1, -1, -1, -1, + 109, -1, 111, 873, -1, 122, 123, 124, 125, 126, + 127, 128, 129, 130, 131, 132, -1, 134, 135, 136, + -1, -1, 318, 140, -1, -1, -1, -1, 873, -1, + -1, 882, 883, -1, 885, 55, 128, 129, 130, 131, + 132, 925, 134, 135, 136, -1, -1, -1, -1, 345, + -1, -1, -1, -1, -1, -1, -1, 941, 354, -1, + -1, 10, 11, -1, -1, -1, -1, 17, 18, 19, + 20, 21, 22, -1, 925, -1, -1, 928, -1, 99, + -1, 31, 933, -1, 380, 105, 106, -1, -1, 109, + 941, 17, 18, 19, 20, 21, 22, 942, 943, 944, + 945, -1, 972, -1, -1, 31, 55, -1, 992, 50, + -1, 52, 53, 54, -1, -1, 15, 16, 17, 18, + 19, 20, 21, 22, -1, -1, -1, 978, -1, -1, + 71, -1, 31, -1, -1, -1, 77, 78, 79, -1, + -1, 992, -1, -1, 995, -1, -1, 443, 999, -1, + 99, -1, 93, 94, 1038, -1, 105, 106, -1, -1, + 109, -1, -1, 1033, -1, 1035, 107, -1, 464, -1, + -1, 112, 869, 870, 871, 872, -1, 874, 128, 129, + 130, 131, 132, -1, 134, 135, 136, 1038, -1, 1040, + -1, 1061, 1062, 1044, 869, 870, 871, 872, -1, 874, + 126, 127, 128, 129, 130, 131, 132, 1058, 134, 135, + 136, -1, -1, -1, -1, -1, 1067, -1, 514, 515, + 516, -1, 518, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, -1, 134, 135, 136, -1, -1, - 84, -1, -1, 128, 129, 130, 131, 132, -1, 134, - 135, 136, -1, -1, 122, 123, 124, 125, 126, 127, - 128, 129, 130, 131, 132, -1, 134, 135, 136, 10, - 11, -1, 140, -1, 118, -1, -1, 121, -1, 123, - 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, - -1, 135, 136, -1, -1, 139, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 49, 50, + -1, 140, -1, -1, -1, 541, -1, -1, -1, -1, + -1, -1, -1, -1, 550, -1, 953, 954, 955, 956, + 957, 958, 959, 960, 961, 962, 963, 964, 965, 966, + 967, 968, 969, 970, 971, -1, 10, 11, 953, 954, + 955, 956, 957, 958, 959, 960, 961, 962, 963, 964, + 965, 966, 967, 968, 969, 970, 971, -1, 15, 16, + 17, 18, 19, 20, 21, 22, -1, 49, -1, 605, + 1007, 607, -1, -1, 31, 57, 50, -1, 52, 53, + 54, 55, 56, -1, 66, 67, 68, 61, -1, -1, + -1, -1, 1007, -1, 76, -1, -1, 71, -1, -1, + 82, 1036, -1, 77, 78, 79, -1, -1, -1, 91, + -1, -1, -1, 1050, 96, 651, -1, -1, 100, 93, + 94, -1, -1, -1, -1, -1, -1, 109, -1, 111, + -1, 105, -1, 107, -1, 1050, 110, -1, 112, -1, + 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, + 686, 687, 688, 689, 690, 691, 692, 693, 694, 695, + 696, 118, 698, -1, -1, 122, 123, 124, 125, 126, + 127, 128, 129, 130, 131, 132, -1, 134, 135, 136, + 137, -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, + -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, 82, -1, 84, -1, 86, 87, 88, 89, + 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, + -1, 101, 102, 103, 104, 105, 106, 107, -1, 109, + 110, 111, 112, 113, -1, -1, 832, 117, 118, 119, + 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, + 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, + 140, -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, 888, -1, -1, -1, -1, -1, -1, 895, + -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, 933, -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, 973, 67, 68, + 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, + -1, -1, 988, 82, -1, 84, -1, 86, 87, 88, + 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, + 99, -1, 101, 102, 103, 104, 105, 106, 107, -1, + 109, 110, 111, 112, 113, -1, -1, -1, 117, 118, + 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, + 129, 130, 131, 132, 133, 134, 135, 136, 137, -1, + 139, 140, 3, 4, 5, 6, -1, 8, 9, 10, + 11, -1, -1, 14, -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, -1, -1, 31, 50, -1, 52, 53, 54, 55, 56, -1, 58, -1, -1, - 61, -1, -1, -1, 65, 66, 67, 68, -1, -1, - 71, -1, -1, -1, -1, 76, 77, 78, 79, 10, - 11, 82, -1, -1, -1, -1, 87, -1, -1, -1, - 91, -1, 93, 94, -1, 96, -1, -1, 99, -1, - -1, -1, -1, -1, 105, 106, 107, -1, 109, 110, - 111, 112, -1, -1, -1, -1, 117, -1, 49, 50, + 61, 62, -1, -1, 65, -1, -1, -1, -1, 70, + 71, -1, -1, -1, -1, -1, 77, 78, 79, -1, + -1, -1, -1, 84, -1, 86, -1, -1, -1, -1, + 91, -1, 93, 94, 95, -1, -1, 98, 99, -1, + -1, 102, -1, -1, 105, 106, 107, -1, -1, 110, + -1, 112, 3, 4, 5, 6, -1, 8, 9, 10, + 11, -1, -1, 14, 125, -1, -1, -1, 129, -1, + -1, -1, 133, -1, 135, -1, -1, -1, 139, 122, + 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, + -1, 134, 135, 136, 137, 46, -1, -1, -1, 50, -1, 52, 53, 54, 55, 56, -1, 58, -1, -1, - 61, -1, 133, -1, 65, 66, 67, 68, -1, -1, - 71, -1, -1, 10, 11, 76, 77, 78, 79, -1, - -1, 82, -1, -1, -1, -1, 87, -1, -1, -1, - 91, -1, 93, 94, -1, 96, -1, -1, 99, -1, - -1, -1, -1, -1, 105, 106, 107, -1, 109, 110, - 111, 112, 49, 50, -1, 52, 53, 54, 55, 56, - -1, 58, -1, -1, 61, -1, -1, -1, 65, 66, - 67, 68, 133, -1, 71, -1, -1, -1, -1, 76, - 77, 78, 79, -1, -1, 82, -1, -1, -1, -1, - 87, -1, -1, -1, 91, -1, 93, 94, -1, 96, + 61, 62, -1, -1, 65, -1, -1, -1, -1, 70, + 71, -1, -1, -1, -1, -1, 77, 78, 79, -1, + -1, -1, -1, 84, -1, 86, -1, -1, -1, -1, + 91, -1, 93, 94, 95, -1, -1, 98, 99, -1, + -1, 102, -1, -1, 105, 106, 107, -1, -1, 110, + -1, 112, 3, 4, 5, 6, -1, 8, 9, 10, + 11, -1, -1, -1, 125, -1, -1, -1, 129, -1, + -1, -1, 133, -1, 135, -1, -1, -1, 139, -1, + -1, -1, 15, 16, 17, 18, 19, 20, 21, 22, + -1, -1, -1, -1, -1, 46, -1, -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, 84, -1, 86, -1, -1, -1, -1, + -1, -1, 93, 94, 95, -1, -1, 98, 99, -1, + -1, 102, -1, -1, 105, 106, 107, -1, -1, 110, + -1, 112, 3, 4, 5, 6, -1, 8, 9, 10, + 11, -1, -1, -1, 125, -1, -1, -1, 129, 130, + -1, -1, 133, -1, 135, -1, -1, -1, 139, 122, + 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, + -1, 134, 135, 136, 137, 46, -1, -1, -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, 84, -1, 86, -1, -1, -1, -1, + 91, -1, 93, 94, 95, -1, -1, 98, 99, -1, + -1, 102, -1, -1, 105, 106, 107, -1, -1, 110, + -1, 112, 3, 4, 5, 6, -1, 8, 9, 10, + 11, -1, -1, -1, 125, -1, -1, -1, 129, -1, + -1, -1, 133, -1, 135, -1, -1, -1, 139, 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, 79, -1, 70, + 71, -1, -1, -1, -1, -1, 77, 78, -1, -1, + -1, 93, 94, 84, -1, 86, -1, -1, -1, -1, + -1, -1, 93, 94, 95, 107, -1, 98, -1, -1, + 112, 102, 3, 4, 5, 6, 107, 8, 9, 10, + 11, 112, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 135, 125, -1, -1, -1, 129, 130, + -1, -1, 133, -1, 135, -1, 137, 125, 139, -1, + 128, 129, 130, 131, 132, 46, 134, 135, 136, 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, 77, 78, -1, -1, + -1, -1, -1, 84, -1, 86, -1, -1, -1, -1, + -1, -1, 93, 94, 95, -1, -1, 98, -1, -1, + -1, 102, 3, 4, 5, 6, 107, 8, 9, 10, + 11, 112, -1, -1, -1, -1, 117, -1, -1, -1, + -1, -1, -1, -1, 125, -1, -1, -1, 129, 130, + -1, -1, 133, -1, 135, -1, -1, -1, 139, -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, -1, 77, 78, -1, -1, + -1, -1, -1, 84, -1, 86, -1, -1, -1, -1, + -1, -1, 93, 94, 95, -1, -1, 98, -1, -1, + -1, 102, 3, 4, 5, 6, 107, 8, 9, 10, + 11, 112, -1, -1, -1, -1, 117, -1, -1, -1, + -1, -1, -1, -1, 125, -1, -1, -1, 129, 130, + -1, -1, 133, -1, 135, -1, -1, -1, 139, -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, -1, 77, 78, -1, -1, + -1, -1, -1, 84, -1, 86, -1, -1, -1, -1, + -1, -1, 93, 94, 95, -1, -1, 98, -1, -1, + -1, 102, 3, 4, 5, 6, 107, 8, 9, 10, + 11, 112, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 125, -1, -1, -1, 129, 130, + -1, -1, 133, -1, 135, -1, 137, -1, 139, -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, -1, 77, 78, -1, -1, + -1, -1, -1, 84, -1, 86, -1, -1, -1, -1, + -1, -1, 93, 94, 95, -1, -1, 98, -1, -1, + -1, 102, 3, 4, 5, 6, 107, 8, 9, 10, + 11, 112, -1, -1, -1, -1, 117, -1, -1, -1, + -1, -1, -1, -1, 125, -1, -1, -1, 129, 130, + -1, -1, 133, -1, 135, -1, -1, -1, 139, -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, -1, 77, 78, -1, -1, + -1, -1, -1, 84, -1, 86, -1, -1, -1, -1, + -1, -1, 93, 94, 95, -1, -1, 98, -1, -1, + -1, 102, 3, 4, 5, 6, 107, 8, 9, 10, + 11, 112, -1, 3, 4, 5, 6, -1, 8, 9, + 10, -1, -1, -1, 125, -1, -1, -1, 129, 130, + -1, -1, 133, -1, 135, -1, 137, -1, 139, -1, + 49, -1, -1, -1, -1, 46, -1, -1, 57, 50, + -1, 52, 53, 54, -1, -1, 46, 66, 67, 68, + 61, 62, -1, -1, -1, -1, -1, 76, -1, 70, + 71, 49, 62, 82, -1, -1, 77, 78, -1, 57, + 70, -1, 91, 84, -1, 86, -1, 96, 66, 67, + 68, -1, 93, 94, 95, -1, 86, 98, 76, -1, + 109, 102, 111, -1, 82, 95, 107, -1, 98, -1, + -1, 112, 102, 91, -1, -1, -1, 126, 96, -1, + -1, -1, -1, -1, 125, -1, -1, -1, 129, 130, + -1, 109, 133, 111, 135, 125, -1, -1, 139, 129, + 130, 6, -1, 133, -1, 135, 10, 11, -1, 139, + 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, -1, -1, -1, -1, -1, 50, -1, 52, 53, + 54, 55, 56, -1, 58, 60, -1, 61, -1, -1, + -1, 65, -1, -1, -1, -1, -1, 71, -1, -1, + -1, -1, -1, 77, 78, 79, -1, -1, -1, 84, + -1, -1, -1, 87, -1, -1, -1, -1, -1, 93, + 94, -1, -1, 10, 11, 99, -1, -1, -1, -1, + -1, 105, 106, 107, -1, -1, 110, -1, 112, -1, + -1, -1, -1, 118, -1, -1, 121, -1, 123, 124, + 125, 126, 127, 128, 129, 130, 131, 132, 133, 133, + 135, 136, -1, 50, 139, 52, 53, 54, 55, 56, + -1, 58, -1, -1, 61, -1, -1, -1, 65, -1, + -1, -1, -1, -1, 71, 11, -1, -1, -1, -1, + 77, 78, 79, 10, 11, -1, -1, -1, -1, -1, + 87, -1, -1, -1, -1, -1, 93, 94, -1, -1, -1, -1, 99, -1, -1, -1, -1, -1, 105, 106, - 107, -1, 109, 110, 111, 112, 15, 16, 17, 18, + 107, -1, -1, 110, 50, 112, 52, 53, 54, -1, + 117, -1, -1, 50, -1, 52, 53, 54, 55, 56, + -1, 58, -1, -1, 61, -1, 133, -1, 65, -1, + -1, 77, 78, 79, 71, -1, -1, -1, -1, -1, + 77, 78, 79, -1, -1, -1, -1, 93, 94, -1, + 87, -1, 19, 20, 21, 22, 93, 94, -1, -1, + -1, 107, 99, -1, 31, -1, 112, -1, 105, 106, + 107, -1, -1, 110, -1, 112, 15, 16, 17, 18, 19, 20, 21, 22, -1, -1, -1, -1, -1, -1, -1, -1, 31, -1, -1, -1, 133, 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, 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, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 118, + -1, -1, -1, 31, -1, -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, 21, 22, -1, 126, + 127, 128, 129, 130, 131, 132, 31, 134, 135, 136, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 120, -1, 122, 123, 124, 125, 126, 127, 128, + 129, 130, 131, 132, -1, 134, 135, 136, -1, -1, + -1, 119, -1, -1, 122, 123, 124, 125, 126, 127, + 128, 129, 130, 131, 132, -1, 134, 135, 136, 118, -1, -1, -1, 122, 123, 124, 125, 126, 127, 128, - 129, 130, 131, 132, -1, 134, 135, 136, 137, -1, - -1, -1, -1, -1, 122, 123, 124, 125, 126, 127, - 128, 129, 130, 131, 132, -1, 134, 135, 136, 137, - -1, 122, 123, 124, 125, 126, 127, 128, 129, 130, - 131, 132, -1, 134, 135, 136, 137, 120, -1, 122, - 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, - -1, 134, 135, 136, 119, -1, -1, 122, 123, 124, + 129, 130, 131, 132, -1, 134, 135, 136, 120, -1, + 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, + 132, -1, 134, 135, 136, -1, -1, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, -1, 134, 135, 136, 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, 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, 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, 118, -1, -1, -1, 122, + -1, -1, 31, 16, 17, 18, 19, 20, 21, 22, + -1, -1, -1, 50, -1, 52, 53, 54, 31, 16, + 17, 18, 19, 20, 21, 22, -1, -1, -1, -1, + -1, -1, -1, -1, 31, -1, -1, -1, -1, -1, + 77, 78, 79, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 93, 94, -1, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, - -1, 134, 135, 136, 120, -1, 122, 123, 124, 125, - 126, 127, 128, 129, 130, 131, 132, -1, 134, 135, - 136, -1, -1, 122, 123, 124, 125, 126, 127, 128, + 107, 134, 135, 136, 120, 112, 122, 123, 124, 125, + -1, -1, 128, 129, 130, 131, 132, -1, 134, 135, + 136, -1, 0, 122, 123, 124, 125, -1, 135, 128, 129, 130, 131, 132, -1, 134, 135, 136, -1, -1, - 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, - 132, -1, 134, 135, 136, -1, -1, 122, 123, 124, - 125, -1, -1, 128, 129, 130, 131, 132, -1, 134, - 135, 136, -1, -1, 123, 124, 125, 126, 127, 128, - 129, 130, 131, 132, -1, 134, 135, 136, 16, 17, + 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, + -1, 134, 135, 136, -1, -1, 123, 124, 125, -1, + -1, 128, 129, 130, 131, 132, -1, 134, 135, 136, + 48, 49, -1, 17, 18, 19, 20, 21, 22, 57, + -1, -1, -1, -1, -1, -1, 64, 31, 66, 67, + 68, 69, -1, -1, 72, -1, -1, -1, 76, -1, + -1, -1, 80, 81, 82, 83, -1, -1, -1, -1, + 88, 89, 90, 91, -1, -1, -1, -1, 96, 97, + -1, -1, 100, -1, -1, -1, 104, -1, -1, -1, + 108, 109, -1, 111, 17, 18, 19, 20, 21, 22, + -1, 119, -1, -1, -1, -1, -1, -1, 31, 17, 18, 19, 20, 21, 22, -1, -1, -1, -1, -1, -1, -1, -1, 31, 17, 18, 19, 20, 21, 22, - -1, -1, -1, 50, -1, 52, 53, 54, 31, 17, - 18, 19, 20, 21, 22, -1, -1, -1, -1, -1, - -1, -1, -1, 31, 17, 18, 19, 20, 21, 22, - 77, 78, 79, -1, -1, -1, -1, -1, 31, 17, - 18, 19, 20, 21, 22, -1, 93, 94, -1, -1, - -1, -1, -1, 31, 17, 18, 19, 20, 21, 22, - 107, -1, -1, -1, -1, 112, -1, -1, 31, 17, - 18, 19, 20, 21, 22, -1, -1, -1, -1, -1, - -1, -1, -1, 31, -1, 123, 124, 125, 135, -1, - 128, 129, 130, 131, 132, -1, 134, 135, 136, -1, + -1, -1, 50, -1, 52, 53, 54, -1, 31, 123, + 124, 125, 126, 127, 128, 129, 130, 131, 132, -1, + 134, 135, 136, 17, 18, 19, 20, 21, 22, 77, + 78, 79, -1, -1, -1, -1, -1, 31, -1, -1, + -1, -1, -1, -1, -1, 93, 94, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 107, + -1, -1, -1, -1, 112, -1, -1, -1, -1, -1, -1, 124, 125, 126, 127, 128, 129, 130, 131, 132, -1, 134, 135, 136, -1, -1, -1, 125, 126, 127, 128, 129, 130, 131, 132, -1, 134, 135, 136, -1, - 123, 124, 125, -1, -1, 128, 129, 130, 131, 132, - -1, 134, 135, 136, -1, -1, -1, -1, 126, 127, - 128, 129, 130, 131, 132, -1, 134, 135, 136, 10, - 11, 124, 125, -1, -1, 128, 129, 130, 131, 132, + 123, 124, 125, 10, 11, 128, 129, 130, 131, 132, -1, 134, 135, 136, -1, -1, -1, -1, -1, -1, - 128, 129, 130, 131, 132, -1, 134, 135, 136, 50, - -1, 52, 53, 54, -1, -1, 10, 11, -1, 50, - -1, 52, 53, 54, 55, 56, -1, -1, -1, -1, - 61, -1, -1, -1, -1, -1, 77, 78, 79, -1, - 71, -1, -1, -1, -1, -1, 77, 78, 79, -1, - -1, -1, 93, 94, -1, -1, 50, -1, 52, 53, - 54, -1, 93, 94, -1, 11, 107, 61, -1, -1, - -1, 112, -1, -1, 105, -1, 107, 71, -1, 110, - -1, 112, -1, 77, 78, 79, -1, -1, -1, -1, - -1, -1, -1, 50, 135, 52, 53, 54, -1, 93, - 94, -1, -1, -1, 50, -1, 52, 53, 54, 55, - 56, -1, 58, 107, 71, 61, 110, -1, 112, 65, - 77, 78, 79, -1, -1, 71, 11, -1, -1, -1, - -1, 77, 78, 79, -1, -1, 93, 94, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 93, 94, -1, - 107, -1, -1, 99, 50, 112, 52, 53, 54, 105, - 106, 107, -1, 11, 110, 50, 112, 52, 53, 54, - 55, 56, -1, 58, -1, -1, 61, -1, -1, -1, - 65, 77, 78, 79, -1, -1, 71, -1, -1, -1, - -1, -1, 77, 78, 79, -1, -1, 93, 94, -1, - -1, -1, 50, -1, 52, 53, 54, 55, 93, 94, - 58, 107, -1, 61, 99, -1, 112, 65, -1, -1, - 105, 106, 107, 71, 11, 110, -1, 112, -1, 77, - 78, 79, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 91, -1, 93, 94, -1, -1, -1, - -1, 99, -1, -1, -1, -1, -1, 105, 106, 107, - -1, 11, 110, 50, 112, 52, 53, 54, 55, -1, - -1, 58, -1, -1, 61, -1, -1, -1, 65, -1, - -1, -1, -1, -1, 71, -1, -1, -1, -1, -1, - 77, 78, 79, -1, -1, -1, -1, -1, -1, -1, - 50, -1, 52, 53, 54, 55, 93, 94, -1, -1, - -1, 61, 99, -1, -1, 65, -1, -1, 105, 106, - 107, 71, -1, 110, -1, 112, 48, 77, 78, 79, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 64, 93, 94, -1, -1, 69, -1, 99, - 72, -1, -1, -1, -1, 105, 106, 107, 80, 81, - 110, 83, 112, 48, -1, -1, 88, 89, 90, -1, - -1, -1, -1, -1, -1, 97, -1, -1, 100, 64, - -1, -1, 104, -1, 69, -1, 108, 72, -1, -1, - -1, -1, -1, -1, -1, 80, 81, 119, 83, -1, - -1, -1, -1, 88, 89, 90, 48, -1, -1, -1, - -1, -1, 97, -1, -1, 100, 138, -1, -1, 104, - -1, -1, 64, 108, -1, -1, -1, 69, -1, -1, - 72, -1, -1, -1, 119, -1, -1, -1, 80, 81, - -1, 83, -1, 48, -1, -1, 88, 89, 90, -1, - -1, -1, -1, 138, -1, 97, -1, -1, 100, 64, - -1, -1, 104, -1, 69, -1, 108, 72, -1, -1, - -1, -1, -1, -1, -1, 80, 81, 119, 83, -1, - -1, -1, -1, 88, 89, 90, 48, -1, -1, -1, - -1, -1, 97, -1, -1, 100, 138, -1, -1, 104, - -1, -1, 64, 108, -1, -1, -1, 69, -1, -1, - 72, -1, -1, -1, 119, -1, -1, -1, 80, 81, - 50, 83, 52, 53, 54, -1, 88, 89, 90, -1, - -1, 61, -1, 138, -1, 97, -1, -1, 100, -1, - -1, 71, 104, -1, -1, -1, 108, 77, 78, 79, - -1, 50, -1, 52, 53, 54, -1, 119, -1, -1, - -1, -1, 61, 93, 94, -1, -1, -1, -1, -1, - -1, -1, 71, -1, -1, -1, 138, 107, 77, 78, - 79, -1, 112, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 50, -1, 52, 53, 54, -1, -1, -1, + 124, 125, -1, -1, 128, 129, 130, 131, 132, -1, + 134, 135, 136, 50, -1, 52, 53, 54, -1, 77, + 78, 79, 11, -1, 61, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 71, 93, 94, -1, -1, -1, + 77, 78, 79, -1, -1, -1, -1, -1, -1, 107, + -1, -1, -1, -1, 112, -1, 93, 94, -1, -1, + -1, 50, -1, 52, 53, 54, 55, 56, -1, 58, + 107, -1, 61, 110, -1, 112, 65, 135, -1, -1, + -1, -1, 71, 11, -1, -1, -1, -1, 77, 78, + 79, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 93, 94, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 135, -1, -1, 107, -1, - -1, -1, -1, 112 + 99, -1, -1, -1, -1, -1, 105, 106, 107, -1, + 11, 110, 50, 112, 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, -1, -1, -1, -1, -1, -1, -1, 50, + -1, 52, 53, 54, 55, 93, 94, 58, -1, -1, + 61, 99, -1, -1, 65, -1, -1, 105, 106, 107, + 71, 11, 110, -1, 112, -1, 77, 78, 79, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 91, -1, 93, 94, -1, -1, -1, -1, 99, -1, + -1, -1, -1, -1, 105, 106, 107, -1, 11, 110, + 50, 112, 52, 53, 54, 55, -1, -1, 58, -1, + -1, 61, -1, -1, -1, 65, -1, -1, -1, -1, + -1, 71, -1, -1, -1, -1, -1, 77, 78, 79, + -1, -1, -1, -1, -1, -1, -1, 50, -1, 52, + 53, 54, 55, 93, 94, -1, -1, -1, 61, 99, + -1, -1, 65, -1, -1, 105, 106, 107, 71, -1, + 110, -1, 112, -1, 77, 78, 79, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 93, 94, 48, 49, -1, -1, 99, -1, -1, -1, + -1, 57, 105, 106, 107, -1, -1, 110, 64, 112, + 66, 67, 68, 69, -1, -1, 72, -1, -1, -1, + 76, -1, -1, -1, 80, 81, 82, 83, -1, -1, + -1, -1, 88, 89, 90, 91, -1, -1, 48, 49, + 96, 97, -1, -1, 100, -1, -1, 57, 104, -1, + -1, -1, 108, 109, 64, 111, 66, 67, 68, 69, + -1, -1, 72, 119, -1, -1, 76, -1, -1, -1, + 80, 81, 82, 83, -1, -1, -1, -1, 88, 89, + 90, 91, 138, -1, 48, 49, 96, 97, -1, -1, + 100, -1, -1, 57, 104, -1, -1, -1, 108, 109, + 64, 111, 66, 67, 68, 69, -1, -1, 72, 119, + -1, -1, 76, -1, -1, -1, 80, 81, 82, 83, + -1, -1, -1, -1, 88, 89, 90, 91, 138, -1, + 48, 49, 96, 97, -1, -1, 100, -1, -1, 57, + 104, -1, -1, -1, 108, 109, 64, 111, 66, 67, + 68, 69, -1, -1, 72, 119, -1, -1, 76, -1, + -1, -1, 80, 81, 82, 83, -1, -1, -1, -1, + 88, 89, 90, 91, 138, -1, 48, 49, 96, 97, + -1, -1, 100, -1, -1, 57, 104, -1, -1, -1, + 108, 109, 64, 111, 66, 67, 68, 69, -1, -1, + 72, 119, -1, -1, 76, -1, -1, -1, 80, 81, + 82, 83, -1, -1, -1, -1, 88, 89, 90, 91, + 138, -1, 48, 49, 96, 97, -1, -1, 100, -1, + -1, 57, 104, -1, -1, -1, 108, 109, 64, 111, + 66, 67, 68, 69, -1, -1, 72, 119, -1, -1, + 76, -1, -1, -1, 80, 81, 82, 83, -1, -1, + -1, -1, 88, 89, 90, 91, 138, -1, 48, 49, + 96, 97, -1, -1, 100, -1, -1, 57, 104, -1, + -1, -1, 108, 109, 64, 111, 66, 67, 68, 69, + -1, -1, 72, 119, -1, -1, 76, -1, -1, -1, + 80, 81, 82, 83, -1, -1, -1, -1, 88, 89, + 90, 91, 138, -1, -1, -1, 96, 97, -1, 50, + 100, 52, 53, 54, 104, -1, -1, -1, 108, 109, + 61, 111, -1, -1, -1, -1, -1, -1, -1, 119, + 71, -1, -1, -1, -1, -1, 77, 78, 79, -1, + 48, 49, -1, -1, -1, -1, -1, -1, 138, 57, + -1, -1, 93, 94, -1, -1, 64, -1, 66, 67, + 68, 69, -1, -1, 72, -1, 107, -1, 76, -1, + -1, 112, 80, 81, 82, 83, -1, -1, -1, -1, + 88, 89, 90, 91, -1, -1, -1, -1, 96, 97, + -1, -1, 100, -1, 135, 50, 104, 52, 53, 54, + 108, 109, 49, 111, -1, -1, 61, -1, -1, -1, + 57, -1, -1, -1, -1, -1, 71, -1, -1, 66, + 67, 68, 77, 78, 79, -1, -1, -1, -1, 76, + -1, -1, -1, -1, -1, 82, 83, -1, 93, 94, + -1, -1, -1, -1, 91, -1, -1, -1, -1, 96, + -1, -1, 107, -1, -1, -1, -1, 112, -1, -1, + -1, -1, 109, -1, 111 }; /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing symbol of state STATE-NUM. */ static const yytype_uint8 yystos[] = { - 0, 114, 115, 116, 142, 143, 233, 3, 4, 5, + 0, 114, 115, 116, 142, 143, 234, 3, 4, 5, 6, 8, 9, 10, 11, 46, 50, 52, 53, 54, 61, 62, 70, 71, 77, 78, 84, 86, 93, 94, 95, 98, 102, 107, 112, 125, 129, 130, 133, 135, - 139, 226, 227, 232, 11, 50, 52, 53, 54, 55, + 139, 227, 228, 233, 11, 50, 52, 53, 54, 55, 56, 58, 61, 65, 71, 77, 78, 79, 93, 94, 99, 105, 106, 107, 110, 112, 193, 196, 197, 199, - 204, 205, 209, 210, 214, 215, 216, 217, 0, 48, - 64, 69, 72, 80, 81, 83, 88, 89, 90, 97, - 100, 104, 108, 119, 146, 148, 149, 151, 152, 153, - 174, 211, 213, 233, 135, 135, 135, 135, 135, 135, - 135, 126, 135, 135, 135, 11, 105, 195, 209, 210, - 214, 135, 135, 135, 126, 135, 135, 226, 226, 226, - 226, 11, 50, 52, 53, 54, 61, 71, 77, 78, - 93, 94, 107, 112, 196, 224, 226, 226, 15, 16, - 17, 18, 19, 20, 21, 22, 31, 122, 123, 124, - 125, 126, 127, 128, 129, 130, 131, 132, 134, 135, - 136, 6, 8, 193, 135, 61, 71, 78, 215, 78, - 215, 215, 10, 11, 231, 215, 12, 16, 56, 111, - 125, 130, 135, 192, 233, 117, 120, 231, 117, 231, - 120, 150, 135, 135, 117, 231, 120, 120, 120, 135, - 151, 152, 175, 151, 158, 83, 231, 10, 11, 49, - 56, 58, 66, 67, 68, 76, 82, 87, 91, 96, - 105, 109, 111, 117, 133, 163, 194, 197, 199, 204, - 209, 210, 214, 223, 224, 233, 196, 223, 223, 223, - 223, 223, 196, 223, 223, 223, 231, 135, 231, 231, - 223, 223, 196, 196, 223, 223, 137, 118, 137, 226, + 204, 205, 209, 210, 215, 216, 217, 218, 0, 48, + 49, 57, 64, 66, 67, 68, 69, 72, 76, 80, + 81, 82, 83, 88, 89, 90, 91, 96, 97, 100, + 104, 108, 109, 111, 119, 146, 148, 149, 151, 152, + 153, 174, 211, 214, 234, 135, 135, 135, 135, 135, + 135, 135, 126, 135, 135, 135, 11, 105, 195, 209, + 210, 215, 135, 135, 135, 126, 135, 135, 227, 227, + 227, 227, 11, 50, 52, 53, 54, 61, 71, 77, + 78, 93, 94, 107, 112, 196, 225, 227, 227, 15, + 16, 17, 18, 19, 20, 21, 22, 31, 122, 123, + 124, 125, 126, 127, 128, 129, 130, 131, 132, 134, + 135, 136, 6, 8, 193, 135, 61, 71, 78, 216, + 78, 216, 216, 10, 11, 232, 216, 12, 16, 56, + 111, 125, 130, 135, 192, 234, 117, 120, 232, 117, + 232, 76, 151, 151, 151, 6, 151, 151, 120, 150, + 83, 151, 135, 135, 151, 117, 232, 120, 120, 120, + 151, 151, 135, 151, 152, 175, 151, 158, 83, 232, + 151, 151, 10, 11, 56, 58, 87, 105, 117, 133, + 163, 194, 197, 199, 204, 209, 210, 215, 224, 225, + 234, 196, 224, 224, 224, 224, 224, 196, 224, 224, + 224, 232, 135, 232, 232, 224, 224, 196, 196, 224, + 224, 137, 118, 137, 227, 227, 227, 227, 227, 227, + 227, 227, 227, 227, 227, 227, 227, 227, 227, 227, + 227, 227, 227, 227, 227, 137, 225, 227, 192, 227, + 71, 130, 192, 192, 192, 192, 192, 192, 136, 207, + 208, 234, 11, 206, 216, 120, 198, 200, 151, 148, + 117, 232, 10, 232, 143, 117, 227, 126, 56, 163, + 194, 232, 135, 135, 193, 135, 56, 193, 232, 147, + 232, 117, 119, 120, 121, 186, 119, 154, 232, 232, + 137, 137, 137, 137, 137, 137, 137, 127, 137, 137, + 137, 224, 137, 137, 137, 127, 137, 137, 227, 227, + 120, 137, 140, 137, 192, 137, 223, 227, 234, 232, + 138, 206, 143, 120, 201, 202, 234, 143, 117, 118, + 118, 138, 212, 118, 137, 10, 11, 55, 56, 105, + 176, 177, 178, 179, 215, 234, 193, 186, 159, 164, + 12, 130, 165, 155, 227, 193, 10, 11, 12, 16, + 56, 111, 125, 130, 190, 234, 143, 135, 219, 220, + 144, 145, 232, 117, 227, 12, 16, 56, 87, 111, + 125, 130, 135, 156, 180, 232, 120, 135, 137, 135, + 227, 135, 140, 118, 121, 138, 88, 89, 90, 109, + 203, 117, 118, 138, 213, 10, 232, 143, 233, 232, + 179, 232, 127, 118, 10, 11, 12, 16, 56, 111, + 125, 130, 135, 191, 234, 160, 161, 180, 3, 4, + 5, 9, 10, 14, 46, 56, 62, 70, 84, 86, + 91, 95, 98, 102, 125, 129, 133, 135, 139, 182, + 183, 189, 193, 229, 230, 233, 234, 130, 180, 182, + 157, 180, 137, 190, 130, 190, 190, 190, 190, 190, + 135, 136, 138, 166, 138, 221, 234, 117, 118, 135, + 117, 187, 188, 227, 234, 119, 130, 180, 180, 6, + 15, 16, 17, 18, 19, 20, 21, 22, 31, 33, + 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, + 44, 60, 84, 118, 121, 123, 124, 125, 126, 127, + 128, 129, 130, 131, 132, 133, 135, 136, 139, 172, + 180, 180, 180, 180, 120, 121, 135, 136, 185, 186, + 234, 206, 225, 225, 182, 227, 105, 109, 210, 231, + 232, 109, 231, 109, 231, 88, 89, 90, 143, 203, + 143, 118, 137, 118, 138, 137, 121, 191, 121, 152, + 173, 174, 178, 130, 191, 191, 191, 191, 191, 191, + 121, 136, 184, 234, 162, 180, 185, 186, 135, 91, + 193, 126, 195, 189, 135, 126, 227, 227, 227, 196, + 225, 227, 137, 14, 118, 191, 15, 16, 17, 18, + 19, 20, 21, 22, 31, 122, 123, 124, 125, 126, + 127, 128, 129, 130, 131, 132, 134, 135, 136, 180, + 120, 137, 137, 185, 186, 135, 190, 169, 223, 182, + 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, 82, 84, 86, 87, 88, + 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, + 99, 101, 102, 103, 104, 105, 106, 107, 109, 110, + 111, 112, 113, 117, 118, 119, 120, 121, 122, 123, + 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, + 134, 135, 136, 137, 139, 140, 222, 219, 145, 224, + 187, 138, 118, 180, 10, 137, 140, 137, 4, 227, + 181, 223, 118, 137, 137, 137, 118, 232, 231, 232, + 231, 231, 231, 231, 231, 138, 138, 10, 119, 232, + 196, 184, 196, 191, 137, 46, 62, 95, 98, 125, + 129, 130, 133, 135, 139, 226, 228, 223, 185, 186, + 118, 196, 193, 191, 196, 135, 196, 196, 137, 137, + 56, 171, 234, 14, 189, 121, 185, 227, 227, 227, + 227, 227, 227, 227, 227, 227, 227, 227, 227, 227, + 227, 227, 227, 227, 227, 227, 227, 227, 137, 225, + 227, 137, 135, 171, 118, 170, 182, 140, 137, 221, + 138, 137, 138, 117, 227, 182, 140, 156, 171, 137, + 137, 135, 135, 126, 135, 126, 226, 226, 226, 226, + 196, 225, 226, 15, 16, 17, 18, 19, 20, 21, + 22, 31, 122, 123, 124, 125, 128, 129, 130, 131, + 132, 134, 135, 136, 140, 118, 161, 137, 191, 185, + 127, 224, 137, 127, 227, 85, 101, 227, 120, 137, + 140, 135, 167, 157, 182, 137, 171, 138, 187, 137, + 119, 119, 182, 196, 196, 196, 196, 137, 137, 226, 226, 226, 226, 226, 226, 226, 226, 226, 226, 226, - 226, 226, 226, 226, 226, 226, 226, 226, 226, 226, - 137, 224, 226, 192, 226, 71, 130, 192, 192, 192, - 192, 192, 192, 136, 207, 208, 233, 11, 206, 215, - 120, 198, 200, 148, 10, 231, 143, 117, 226, 126, - 56, 163, 194, 231, 135, 135, 193, 135, 6, 56, - 193, 231, 147, 231, 117, 119, 120, 121, 186, 119, - 154, 231, 231, 137, 137, 137, 137, 137, 137, 137, - 127, 137, 137, 137, 223, 137, 137, 137, 127, 137, - 137, 226, 226, 120, 137, 140, 137, 192, 137, 222, - 226, 233, 231, 138, 206, 143, 120, 201, 202, 233, - 118, 118, 138, 212, 118, 137, 10, 11, 55, 56, - 105, 176, 177, 178, 179, 214, 233, 193, 186, 159, - 164, 12, 130, 165, 155, 226, 193, 10, 11, 12, - 16, 56, 111, 125, 130, 190, 233, 143, 135, 218, - 219, 144, 145, 231, 117, 226, 12, 16, 56, 87, - 111, 125, 130, 135, 156, 180, 231, 120, 135, 137, - 135, 226, 135, 140, 118, 121, 138, 88, 89, 90, - 109, 203, 117, 118, 10, 231, 143, 232, 231, 179, - 231, 127, 118, 10, 11, 12, 16, 56, 111, 125, - 130, 135, 191, 233, 160, 161, 180, 3, 4, 5, - 9, 10, 14, 46, 56, 62, 70, 84, 86, 91, - 95, 98, 102, 125, 129, 133, 135, 139, 182, 183, - 189, 193, 228, 229, 232, 233, 130, 180, 182, 157, - 180, 137, 190, 130, 190, 190, 190, 190, 190, 135, - 136, 138, 166, 138, 220, 233, 117, 118, 135, 117, - 187, 188, 226, 233, 119, 130, 180, 180, 6, 15, - 16, 17, 18, 19, 20, 21, 22, 31, 33, 34, - 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, - 60, 84, 118, 121, 123, 124, 125, 126, 127, 128, - 129, 130, 131, 132, 133, 135, 136, 139, 172, 180, - 180, 180, 180, 120, 121, 135, 136, 185, 186, 233, - 206, 224, 224, 182, 226, 105, 109, 210, 230, 231, - 109, 230, 109, 230, 88, 89, 90, 143, 203, 118, - 137, 118, 138, 137, 121, 191, 121, 152, 173, 174, - 178, 130, 191, 191, 191, 191, 191, 191, 121, 136, - 184, 233, 162, 180, 185, 186, 191, 135, 91, 193, - 126, 195, 189, 135, 126, 226, 226, 226, 196, 224, - 226, 137, 14, 118, 191, 15, 16, 17, 18, 19, - 20, 21, 22, 31, 122, 123, 124, 125, 126, 127, - 128, 129, 130, 131, 132, 134, 135, 136, 180, 120, - 137, 137, 185, 186, 135, 190, 169, 222, 182, 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, 82, 84, 86, 87, 88, 89, - 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, - 101, 102, 103, 104, 105, 106, 107, 109, 110, 111, - 112, 113, 117, 118, 119, 120, 121, 122, 123, 124, - 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, - 135, 136, 137, 139, 140, 221, 218, 145, 223, 187, - 138, 118, 180, 10, 137, 140, 137, 4, 226, 181, - 222, 118, 137, 137, 137, 118, 231, 230, 231, 230, - 230, 230, 230, 230, 138, 10, 119, 231, 196, 184, - 196, 191, 137, 46, 62, 95, 98, 125, 129, 130, - 133, 135, 139, 225, 227, 222, 185, 186, 118, 121, - 185, 196, 193, 191, 196, 135, 196, 196, 137, 137, - 56, 171, 233, 14, 189, 185, 226, 226, 226, 226, - 226, 226, 226, 226, 226, 226, 226, 226, 226, 226, - 226, 226, 226, 226, 226, 226, 226, 137, 224, 226, - 137, 135, 171, 118, 170, 182, 140, 137, 220, 138, - 137, 138, 117, 226, 182, 140, 156, 171, 137, 137, - 135, 135, 126, 135, 126, 225, 225, 225, 225, 196, - 224, 225, 15, 16, 17, 18, 19, 20, 21, 22, - 31, 122, 123, 124, 125, 128, 129, 130, 131, 132, - 134, 135, 136, 140, 118, 161, 226, 137, 191, 185, - 127, 223, 137, 127, 226, 85, 101, 120, 137, 140, - 135, 167, 157, 182, 137, 171, 138, 187, 137, 119, - 119, 182, 196, 196, 196, 196, 137, 137, 225, 225, - 225, 225, 225, 225, 225, 225, 225, 225, 225, 225, - 225, 225, 225, 225, 225, 225, 225, 137, 224, 226, - 162, 185, 135, 137, 135, 135, 226, 168, 182, 137, - 171, 138, 171, 137, 137, 127, 137, 127, 225, 120, - 137, 140, 224, 224, 137, 231, 182, 137, 171, 171, - 135, 135, 225, 137, 137, 137, 137, 171, 224, 224, - 171, 137, 137 + 226, 226, 226, 226, 226, 226, 226, 226, 137, 225, + 227, 162, 185, 135, 137, 135, 135, 227, 168, 182, + 137, 171, 138, 171, 137, 137, 127, 137, 127, 226, + 120, 137, 140, 225, 225, 137, 232, 182, 137, 171, + 171, 135, 135, 226, 137, 137, 137, 137, 171, 225, + 225, 171, 137, 137 }; #define yyerrok (yyerrstatus = 0) @@ -3723,7 +3805,7 @@ yyreduce: /* Line 1792 of yacc.c */ #line 581 "dtool/src/cppparser/cppBison.yxx" { - (yyval.u.integer) = (yyvsp[(1) - (2)].u.integer) | (int)CPPInstance::SC_extern; + (yyval.u.integer) = (yyvsp[(2) - (2)].u.integer) | (int)CPPInstance::SC_extern; } break; @@ -3731,13 +3813,13 @@ yyreduce: /* Line 1792 of yacc.c */ #line 585 "dtool/src/cppparser/cppBison.yxx" { - (yyval.u.integer) = (yyvsp[(1) - (3)].u.integer) | (int)CPPInstance::SC_extern; - if ((yyvsp[(3) - (3)].str) == "C") { + (yyval.u.integer) = (yyvsp[(3) - (3)].u.integer) | (int)CPPInstance::SC_extern; + if ((yyvsp[(2) - (3)].str) == "C") { (yyval.u.integer) |= (int)CPPInstance::SC_c_binding; - } else if ((yyvsp[(3) - (3)].str) == "C++") { + } else if ((yyvsp[(2) - (3)].str) == "C++") { (yyval.u.integer) &= ~(int)CPPInstance::SC_c_binding; } else { - yywarning("Ignoring unknown linkage type \"" + (yyvsp[(3) - (3)].str) + "\"", (yylsp[(3) - (3)])); + yywarning("Ignoring unknown linkage type \"" + (yyvsp[(2) - (3)].str) + "\"", (yylsp[(2) - (3)])); } } break; @@ -3746,7 +3828,7 @@ yyreduce: /* Line 1792 of yacc.c */ #line 596 "dtool/src/cppparser/cppBison.yxx" { - (yyval.u.integer) = (yyvsp[(1) - (2)].u.integer) | (int)CPPInstance::SC_static; + (yyval.u.integer) = (yyvsp[(2) - (2)].u.integer) | (int)CPPInstance::SC_static; } break; @@ -3754,7 +3836,7 @@ yyreduce: /* Line 1792 of yacc.c */ #line 600 "dtool/src/cppparser/cppBison.yxx" { - (yyval.u.integer) = (yyvsp[(1) - (2)].u.integer) | (int)CPPInstance::SC_inline; + (yyval.u.integer) = (yyvsp[(2) - (2)].u.integer) | (int)CPPInstance::SC_inline; } break; @@ -3762,7 +3844,7 @@ yyreduce: /* Line 1792 of yacc.c */ #line 604 "dtool/src/cppparser/cppBison.yxx" { - (yyval.u.integer) = (yyvsp[(1) - (2)].u.integer) | (int)CPPInstance::SC_virtual; + (yyval.u.integer) = (yyvsp[(2) - (2)].u.integer) | (int)CPPInstance::SC_virtual; } break; @@ -3770,7 +3852,7 @@ yyreduce: /* Line 1792 of yacc.c */ #line 608 "dtool/src/cppparser/cppBison.yxx" { - (yyval.u.integer) = (yyvsp[(1) - (2)].u.integer) | (int)CPPInstance::SC_explicit; + (yyval.u.integer) = (yyvsp[(2) - (2)].u.integer) | (int)CPPInstance::SC_explicit; } break; @@ -3778,7 +3860,7 @@ yyreduce: /* Line 1792 of yacc.c */ #line 612 "dtool/src/cppparser/cppBison.yxx" { - (yyval.u.integer) = (yyvsp[(1) - (2)].u.integer) | (int)CPPInstance::SC_volatile; + (yyval.u.integer) = (yyvsp[(2) - (2)].u.integer) | (int)CPPInstance::SC_register; } break; @@ -3786,7 +3868,7 @@ yyreduce: /* Line 1792 of yacc.c */ #line 616 "dtool/src/cppparser/cppBison.yxx" { - (yyval.u.integer) = (yyvsp[(1) - (2)].u.integer) | (int)CPPInstance::SC_mutable; + (yyval.u.integer) = (yyvsp[(2) - (2)].u.integer) | (int)CPPInstance::SC_volatile; } break; @@ -3794,7 +3876,7 @@ yyreduce: /* Line 1792 of yacc.c */ #line 620 "dtool/src/cppparser/cppBison.yxx" { - (yyval.u.integer) = (yyvsp[(1) - (2)].u.integer) | (int)CPPInstance::SC_register; + (yyval.u.integer) = (yyvsp[(2) - (2)].u.integer) | (int)CPPInstance::SC_mutable; } break; @@ -3802,7 +3884,7 @@ yyreduce: /* Line 1792 of yacc.c */ #line 624 "dtool/src/cppparser/cppBison.yxx" { - (yyval.u.integer) = (yyvsp[(1) - (2)].u.integer) | (int)CPPInstance::SC_blocking; + (yyval.u.integer) = (yyvsp[(2) - (2)].u.integer) | (int)CPPInstance::SC_constexpr; } break; @@ -3810,15 +3892,15 @@ yyreduce: /* Line 1792 of yacc.c */ #line 628 "dtool/src/cppparser/cppBison.yxx" { - (yyval.u.integer) = (yyvsp[(1) - (2)].u.integer) | (int)CPPInstance::SC_extension; + (yyval.u.integer) = (yyvsp[(2) - (2)].u.integer) | (int)CPPInstance::SC_blocking; } break; case 45: /* Line 1792 of yacc.c */ -#line 635 "dtool/src/cppparser/cppBison.yxx" +#line 632 "dtool/src/cppparser/cppBison.yxx" { - /* multiple_var_declaration adds itself to the scope. */ + (yyval.u.integer) = (yyvsp[(2) - (2)].u.integer) | (int)CPPInstance::SC_extension; } break; @@ -3826,6 +3908,14 @@ yyreduce: /* Line 1792 of yacc.c */ #line 639 "dtool/src/cppparser/cppBison.yxx" { + /* multiple_var_declaration adds itself to the scope. */ +} + break; + + case 47: +/* Line 1792 of yacc.c */ +#line 643 "dtool/src/cppparser/cppBison.yxx" + { // We don't really care about the storage class here. In fact, it's // not actually legal to define a class or struct using a particular // storage class, but we require it just to help yacc out in its @@ -3835,9 +3925,9 @@ yyreduce: } break; - case 47: + case 48: /* Line 1792 of yacc.c */ -#line 648 "dtool/src/cppparser/cppBison.yxx" +#line 652 "dtool/src/cppparser/cppBison.yxx" { if ((yyvsp[(2) - (3)].u.instance) != (CPPInstance *)NULL) { (yyvsp[(2) - (3)].u.instance)->_storage_class |= (current_storage_class | (yyvsp[(1) - (3)].u.integer)); @@ -3847,9 +3937,9 @@ yyreduce: } break; - case 48: + case 49: /* Line 1792 of yacc.c */ -#line 659 "dtool/src/cppparser/cppBison.yxx" +#line 663 "dtool/src/cppparser/cppBison.yxx" { // We don't need to push/pop type, because we can't nest // multiple_var_declarations. @@ -3862,17 +3952,17 @@ yyreduce: } break; - case 49: + case 50: /* Line 1792 of yacc.c */ -#line 670 "dtool/src/cppparser/cppBison.yxx" +#line 674 "dtool/src/cppparser/cppBison.yxx" { pop_storage_class(); } break; - case 50: + case 51: /* Line 1792 of yacc.c */ -#line 674 "dtool/src/cppparser/cppBison.yxx" +#line 678 "dtool/src/cppparser/cppBison.yxx" { // We don't need to push/pop type, because we can't nest // multiple_var_declarations. @@ -3881,17 +3971,17 @@ yyreduce: } break; - case 51: + case 52: /* Line 1792 of yacc.c */ -#line 681 "dtool/src/cppparser/cppBison.yxx" +#line 685 "dtool/src/cppparser/cppBison.yxx" { pop_storage_class(); } break; - case 52: + case 53: /* Line 1792 of yacc.c */ -#line 692 "dtool/src/cppparser/cppBison.yxx" +#line 696 "dtool/src/cppparser/cppBison.yxx" { CPPInstance *inst = new CPPInstance(current_type, (yyvsp[(1) - (2)].u.inst_ident), current_storage_class, @@ -3901,9 +3991,9 @@ yyreduce: } break; - case 53: + case 54: /* Line 1792 of yacc.c */ -#line 700 "dtool/src/cppparser/cppBison.yxx" +#line 704 "dtool/src/cppparser/cppBison.yxx" { CPPInstance *inst = new CPPInstance(current_type, (yyvsp[(1) - (4)].u.inst_ident), current_storage_class, @@ -3913,9 +4003,9 @@ yyreduce: } break; - case 54: + case 55: /* Line 1792 of yacc.c */ -#line 711 "dtool/src/cppparser/cppBison.yxx" +#line 715 "dtool/src/cppparser/cppBison.yxx" { (yyvsp[(1) - (2)].u.inst_ident)->add_modifier(IIT_const); CPPInstance *inst = new CPPInstance(current_type, (yyvsp[(1) - (2)].u.inst_ident), @@ -3926,9 +4016,9 @@ yyreduce: } break; - case 55: + case 56: /* Line 1792 of yacc.c */ -#line 720 "dtool/src/cppparser/cppBison.yxx" +#line 724 "dtool/src/cppparser/cppBison.yxx" { (yyvsp[(1) - (4)].u.inst_ident)->add_modifier(IIT_const); CPPInstance *inst = new CPPInstance(current_type, (yyvsp[(1) - (4)].u.inst_ident), @@ -3939,9 +4029,9 @@ yyreduce: } break; - case 56: + case 57: /* Line 1792 of yacc.c */ -#line 733 "dtool/src/cppparser/cppBison.yxx" +#line 737 "dtool/src/cppparser/cppBison.yxx" { // We don't need to push/pop type, because we can't nest // multiple_var_declarations. @@ -3954,17 +4044,17 @@ yyreduce: } break; - case 57: + case 58: /* Line 1792 of yacc.c */ -#line 744 "dtool/src/cppparser/cppBison.yxx" +#line 748 "dtool/src/cppparser/cppBison.yxx" { pop_storage_class(); } break; - case 58: + case 59: /* Line 1792 of yacc.c */ -#line 748 "dtool/src/cppparser/cppBison.yxx" +#line 752 "dtool/src/cppparser/cppBison.yxx" { // We don't need to push/pop type, because we can't nest // multiple_var_declarations. @@ -3973,17 +4063,17 @@ yyreduce: } break; - case 59: + case 60: /* Line 1792 of yacc.c */ -#line 755 "dtool/src/cppparser/cppBison.yxx" +#line 759 "dtool/src/cppparser/cppBison.yxx" { pop_storage_class(); } break; - case 60: + case 61: /* Line 1792 of yacc.c */ -#line 759 "dtool/src/cppparser/cppBison.yxx" +#line 763 "dtool/src/cppparser/cppBison.yxx" { if ((yyvsp[(2) - (3)].u.instance) != (CPPDeclaration *)NULL) { CPPInstance *inst = (yyvsp[(2) - (3)].u.instance)->as_instance(); @@ -3997,9 +4087,9 @@ yyreduce: } break; - case 61: + case 62: /* Line 1792 of yacc.c */ -#line 774 "dtool/src/cppparser/cppBison.yxx" +#line 778 "dtool/src/cppparser/cppBison.yxx" { CPPType *target_type = current_type; CPPTypedefType *typedef_type = new CPPTypedefType(target_type, (yyvsp[(1) - (2)].u.inst_ident), current_scope, (yylsp[(1) - (2)]).file); @@ -4007,9 +4097,9 @@ yyreduce: } break; - case 62: + case 63: /* Line 1792 of yacc.c */ -#line 780 "dtool/src/cppparser/cppBison.yxx" +#line 784 "dtool/src/cppparser/cppBison.yxx" { CPPType *target_type = current_type; CPPTypedefType *typedef_type = new CPPTypedefType(target_type, (yyvsp[(1) - (4)].u.inst_ident), current_scope, (yylsp[(1) - (4)]).file); @@ -4017,9 +4107,9 @@ yyreduce: } break; - case 63: + case 64: /* Line 1792 of yacc.c */ -#line 789 "dtool/src/cppparser/cppBison.yxx" +#line 793 "dtool/src/cppparser/cppBison.yxx" { (yyvsp[(1) - (2)].u.inst_ident)->add_modifier(IIT_const); CPPType *target_type = current_type; @@ -4028,9 +4118,9 @@ yyreduce: } break; - case 64: + case 65: /* Line 1792 of yacc.c */ -#line 796 "dtool/src/cppparser/cppBison.yxx" +#line 800 "dtool/src/cppparser/cppBison.yxx" { (yyvsp[(1) - (4)].u.inst_ident)->add_modifier(IIT_const); CPPType *target_type = current_type; @@ -4039,47 +4129,49 @@ yyreduce: } break; - case 65: -/* Line 1792 of yacc.c */ -#line 808 "dtool/src/cppparser/cppBison.yxx" - { - push_scope((yyvsp[(1) - (2)].u.identifier)->get_scope(current_scope, global_scope)); -} - break; - case 66: /* Line 1792 of yacc.c */ #line 812 "dtool/src/cppparser/cppBison.yxx" { - pop_scope(); - CPPType *type; - if ((yyvsp[(1) - (6)].u.identifier)->get_simple_name() == current_scope->get_simple_name()) { - // This is a constructor, and has no return. - type = new CPPSimpleType(CPPSimpleType::T_void); - } else { - // This isn't a constructor, so it has an implicit return type of - // int. - type = new CPPSimpleType(CPPSimpleType::T_int); - } - - CPPInstanceIdentifier *ii = new CPPInstanceIdentifier((yyvsp[(1) - (6)].u.identifier)); - ii->add_func_modifier((yyvsp[(4) - (6)].u.param_list), (yyvsp[(6) - (6)].u.integer)); - - (yyval.u.instance) = new CPPInstance(type, ii, 0, (yylsp[(1) - (6)]).file); + push_scope((yyvsp[(1) - (2)].u.identifier)->get_scope(current_scope, global_scope)); } break; case 67: /* Line 1792 of yacc.c */ -#line 830 "dtool/src/cppparser/cppBison.yxx" +#line 816 "dtool/src/cppparser/cppBison.yxx" { - push_scope((yyvsp[(1) - (2)].u.identifier)->get_scope(current_scope, global_scope)); + CPPType *type; + if ((yyvsp[(1) - (6)].u.identifier)->get_simple_name() == current_scope->get_simple_name() || + (yyvsp[(1) - (6)].u.identifier)->get_simple_name() == string("~") + current_scope->get_simple_name()) { + // This is a constructor, and has no return. + type = new CPPSimpleType(CPPSimpleType::T_void); + } else { + // This isn't a constructor, so it has an implicit return type of + // int. + yywarning("function has no return type, assuming int", (yylsp[(1) - (6)])); + type = new CPPSimpleType(CPPSimpleType::T_int); + } + pop_scope(); + + CPPInstanceIdentifier *ii = new CPPInstanceIdentifier((yyvsp[(1) - (6)].u.identifier)); + ii->add_func_modifier((yyvsp[(4) - (6)].u.param_list), (yyvsp[(6) - (6)].u.integer)); + + (yyval.u.instance) = new CPPInstance(type, ii, 0, (yylsp[(1) - (6)]).file); } break; case 68: /* Line 1792 of yacc.c */ -#line 834 "dtool/src/cppparser/cppBison.yxx" +#line 836 "dtool/src/cppparser/cppBison.yxx" + { + push_scope((yyvsp[(1) - (2)].u.identifier)->get_scope(current_scope, global_scope)); +} + break; + + case 69: +/* Line 1792 of yacc.c */ +#line 840 "dtool/src/cppparser/cppBison.yxx" { pop_scope(); CPPType *type; @@ -4099,17 +4191,17 @@ yyreduce: } break; - case 69: + case 70: /* Line 1792 of yacc.c */ -#line 854 "dtool/src/cppparser/cppBison.yxx" +#line 860 "dtool/src/cppparser/cppBison.yxx" { push_scope((yyvsp[(2) - (3)].u.identifier)->get_scope(current_scope, global_scope)); } break; - case 70: + case 71: /* Line 1792 of yacc.c */ -#line 858 "dtool/src/cppparser/cppBison.yxx" +#line 864 "dtool/src/cppparser/cppBison.yxx" { pop_scope(); if ((yyvsp[(2) - (7)].u.identifier)->is_scoped()) { @@ -4130,17 +4222,17 @@ yyreduce: } break; - case 71: + case 72: /* Line 1792 of yacc.c */ -#line 884 "dtool/src/cppparser/cppBison.yxx" +#line 890 "dtool/src/cppparser/cppBison.yxx" { push_scope((yyvsp[(4) - (6)].u.inst_ident)->get_scope(current_scope, global_scope)); } break; - case 72: + case 73: /* Line 1792 of yacc.c */ -#line 888 "dtool/src/cppparser/cppBison.yxx" +#line 894 "dtool/src/cppparser/cppBison.yxx" { pop_scope(); CPPType *type = (yyvsp[(1) - (10)].u.identifier)->find_type(current_scope, global_scope, false, current_lexer); @@ -4156,17 +4248,17 @@ yyreduce: } break; - case 73: + case 74: /* Line 1792 of yacc.c */ -#line 902 "dtool/src/cppparser/cppBison.yxx" +#line 908 "dtool/src/cppparser/cppBison.yxx" { push_scope((yyvsp[(5) - (7)].u.inst_ident)->get_scope(current_scope, global_scope)); } break; - case 74: + case 75: /* Line 1792 of yacc.c */ -#line 906 "dtool/src/cppparser/cppBison.yxx" +#line 912 "dtool/src/cppparser/cppBison.yxx" { pop_scope(); CPPType *type = (yyvsp[(1) - (11)].u.identifier)->find_type(current_scope, global_scope, false, current_lexer); @@ -4182,9 +4274,9 @@ yyreduce: } break; - case 75: + case 76: /* Line 1792 of yacc.c */ -#line 922 "dtool/src/cppparser/cppBison.yxx" +#line 928 "dtool/src/cppparser/cppBison.yxx" { if ((yyvsp[(1) - (4)].u.identifier) != NULL) { push_scope((yyvsp[(1) - (4)].u.identifier)->get_scope(current_scope, global_scope)); @@ -4192,9 +4284,9 @@ yyreduce: } break; - case 76: + case 77: /* Line 1792 of yacc.c */ -#line 928 "dtool/src/cppparser/cppBison.yxx" +#line 934 "dtool/src/cppparser/cppBison.yxx" { if ((yyvsp[(1) - (8)].u.identifier) != NULL) { pop_scope(); @@ -4221,9 +4313,9 @@ yyreduce: } break; - case 77: + case 78: /* Line 1792 of yacc.c */ -#line 953 "dtool/src/cppparser/cppBison.yxx" +#line 959 "dtool/src/cppparser/cppBison.yxx" { if ((yyvsp[(1) - (5)].u.identifier) != NULL) { push_scope((yyvsp[(1) - (5)].u.identifier)->get_scope(current_scope, global_scope)); @@ -4231,9 +4323,9 @@ yyreduce: } break; - case 78: + case 79: /* Line 1792 of yacc.c */ -#line 959 "dtool/src/cppparser/cppBison.yxx" +#line 965 "dtool/src/cppparser/cppBison.yxx" { if ((yyvsp[(1) - (9)].u.identifier) != NULL) { pop_scope(); @@ -4251,9 +4343,9 @@ yyreduce: } break; - case 79: + case 80: /* Line 1792 of yacc.c */ -#line 979 "dtool/src/cppparser/cppBison.yxx" +#line 985 "dtool/src/cppparser/cppBison.yxx" { CPPDeclaration *decl = (yyvsp[(1) - (1)].u.identifier)->find_symbol(current_scope, global_scope, current_lexer); @@ -4265,429 +4357,429 @@ yyreduce: } break; - case 80: + case 81: /* Line 1792 of yacc.c */ -#line 992 "dtool/src/cppparser/cppBison.yxx" +#line 998 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.integer) = 0; } break; - case 81: + case 82: /* Line 1792 of yacc.c */ -#line 996 "dtool/src/cppparser/cppBison.yxx" +#line 1002 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.integer) = (int)CPPFunctionType::F_const_method; } break; - case 82: + case 83: /* Line 1792 of yacc.c */ -#line 1000 "dtool/src/cppparser/cppBison.yxx" +#line 1006 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.integer) = (int)CPPFunctionType::F_noexcept; } break; - case 83: + case 84: /* Line 1792 of yacc.c */ -#line 1004 "dtool/src/cppparser/cppBison.yxx" +#line 1010 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.integer) = (yyvsp[(1) - (4)].u.integer); } break; - case 84: + case 85: /* Line 1792 of yacc.c */ -#line 1008 "dtool/src/cppparser/cppBison.yxx" +#line 1014 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.integer) = (yyvsp[(1) - (5)].u.integer); } break; - case 85: + case 86: /* Line 1792 of yacc.c */ -#line 1015 "dtool/src/cppparser/cppBison.yxx" +#line 1021 "dtool/src/cppparser/cppBison.yxx" { (yyval.str) = "!"; } break; - case 86: + case 87: /* Line 1792 of yacc.c */ -#line 1019 "dtool/src/cppparser/cppBison.yxx" +#line 1025 "dtool/src/cppparser/cppBison.yxx" { (yyval.str) = "~"; } break; - case 87: + case 88: /* Line 1792 of yacc.c */ -#line 1023 "dtool/src/cppparser/cppBison.yxx" +#line 1029 "dtool/src/cppparser/cppBison.yxx" { (yyval.str) = "*"; } break; - case 88: + case 89: /* Line 1792 of yacc.c */ -#line 1027 "dtool/src/cppparser/cppBison.yxx" +#line 1033 "dtool/src/cppparser/cppBison.yxx" { (yyval.str) = "/"; } break; - case 89: + case 90: /* Line 1792 of yacc.c */ -#line 1031 "dtool/src/cppparser/cppBison.yxx" +#line 1037 "dtool/src/cppparser/cppBison.yxx" { (yyval.str) = "%"; } break; - case 90: + case 91: /* Line 1792 of yacc.c */ -#line 1035 "dtool/src/cppparser/cppBison.yxx" +#line 1041 "dtool/src/cppparser/cppBison.yxx" { (yyval.str) = "+"; } break; - case 91: + case 92: /* Line 1792 of yacc.c */ -#line 1039 "dtool/src/cppparser/cppBison.yxx" +#line 1045 "dtool/src/cppparser/cppBison.yxx" { (yyval.str) = "-"; } break; - case 92: + case 93: /* Line 1792 of yacc.c */ -#line 1043 "dtool/src/cppparser/cppBison.yxx" +#line 1049 "dtool/src/cppparser/cppBison.yxx" { (yyval.str) = "|"; } break; - case 93: + case 94: /* Line 1792 of yacc.c */ -#line 1047 "dtool/src/cppparser/cppBison.yxx" +#line 1053 "dtool/src/cppparser/cppBison.yxx" { (yyval.str) = "&"; } break; - case 94: + case 95: /* Line 1792 of yacc.c */ -#line 1051 "dtool/src/cppparser/cppBison.yxx" +#line 1057 "dtool/src/cppparser/cppBison.yxx" { (yyval.str) = "^"; } break; - case 95: + case 96: /* Line 1792 of yacc.c */ -#line 1055 "dtool/src/cppparser/cppBison.yxx" +#line 1061 "dtool/src/cppparser/cppBison.yxx" { (yyval.str) = "||"; } break; - case 96: + case 97: /* Line 1792 of yacc.c */ -#line 1059 "dtool/src/cppparser/cppBison.yxx" +#line 1065 "dtool/src/cppparser/cppBison.yxx" { (yyval.str) = "&&"; } break; - case 97: + case 98: /* Line 1792 of yacc.c */ -#line 1063 "dtool/src/cppparser/cppBison.yxx" +#line 1069 "dtool/src/cppparser/cppBison.yxx" { (yyval.str) = "=="; } break; - case 98: + case 99: /* Line 1792 of yacc.c */ -#line 1067 "dtool/src/cppparser/cppBison.yxx" +#line 1073 "dtool/src/cppparser/cppBison.yxx" { (yyval.str) = "!="; } break; - case 99: + case 100: /* Line 1792 of yacc.c */ -#line 1071 "dtool/src/cppparser/cppBison.yxx" +#line 1077 "dtool/src/cppparser/cppBison.yxx" { (yyval.str) = "<="; } break; - case 100: + case 101: /* Line 1792 of yacc.c */ -#line 1075 "dtool/src/cppparser/cppBison.yxx" +#line 1081 "dtool/src/cppparser/cppBison.yxx" { (yyval.str) = ">="; } break; - case 101: + case 102: /* Line 1792 of yacc.c */ -#line 1079 "dtool/src/cppparser/cppBison.yxx" +#line 1085 "dtool/src/cppparser/cppBison.yxx" { (yyval.str) = "<"; } break; - case 102: + case 103: /* Line 1792 of yacc.c */ -#line 1083 "dtool/src/cppparser/cppBison.yxx" +#line 1089 "dtool/src/cppparser/cppBison.yxx" { (yyval.str) = ">"; } break; - case 103: + case 104: /* Line 1792 of yacc.c */ -#line 1087 "dtool/src/cppparser/cppBison.yxx" +#line 1093 "dtool/src/cppparser/cppBison.yxx" { (yyval.str) = "<<"; } break; - case 104: + case 105: /* Line 1792 of yacc.c */ -#line 1091 "dtool/src/cppparser/cppBison.yxx" +#line 1097 "dtool/src/cppparser/cppBison.yxx" { (yyval.str) = ">>"; } break; - case 105: + case 106: /* Line 1792 of yacc.c */ -#line 1095 "dtool/src/cppparser/cppBison.yxx" +#line 1101 "dtool/src/cppparser/cppBison.yxx" { (yyval.str) = "="; } break; - case 106: + case 107: /* Line 1792 of yacc.c */ -#line 1099 "dtool/src/cppparser/cppBison.yxx" +#line 1105 "dtool/src/cppparser/cppBison.yxx" { (yyval.str) = ","; } break; - case 107: + case 108: /* Line 1792 of yacc.c */ -#line 1103 "dtool/src/cppparser/cppBison.yxx" +#line 1109 "dtool/src/cppparser/cppBison.yxx" { (yyval.str) = "++"; } break; - case 108: + case 109: /* Line 1792 of yacc.c */ -#line 1107 "dtool/src/cppparser/cppBison.yxx" +#line 1113 "dtool/src/cppparser/cppBison.yxx" { (yyval.str) = "--"; } break; - case 109: + case 110: /* Line 1792 of yacc.c */ -#line 1111 "dtool/src/cppparser/cppBison.yxx" +#line 1117 "dtool/src/cppparser/cppBison.yxx" { (yyval.str) = "*="; } break; - case 110: + case 111: /* Line 1792 of yacc.c */ -#line 1115 "dtool/src/cppparser/cppBison.yxx" +#line 1121 "dtool/src/cppparser/cppBison.yxx" { (yyval.str) = "/="; } break; - case 111: + case 112: /* Line 1792 of yacc.c */ -#line 1119 "dtool/src/cppparser/cppBison.yxx" +#line 1125 "dtool/src/cppparser/cppBison.yxx" { (yyval.str) = "%="; } break; - case 112: + case 113: /* Line 1792 of yacc.c */ -#line 1123 "dtool/src/cppparser/cppBison.yxx" +#line 1129 "dtool/src/cppparser/cppBison.yxx" { (yyval.str) = "+="; } break; - case 113: + case 114: /* Line 1792 of yacc.c */ -#line 1127 "dtool/src/cppparser/cppBison.yxx" +#line 1133 "dtool/src/cppparser/cppBison.yxx" { (yyval.str) = "-="; } break; - case 114: + case 115: /* Line 1792 of yacc.c */ -#line 1131 "dtool/src/cppparser/cppBison.yxx" +#line 1137 "dtool/src/cppparser/cppBison.yxx" { (yyval.str) = "|="; } break; - case 115: + case 116: /* Line 1792 of yacc.c */ -#line 1135 "dtool/src/cppparser/cppBison.yxx" +#line 1141 "dtool/src/cppparser/cppBison.yxx" { (yyval.str) = "&="; } break; - case 116: + case 117: /* Line 1792 of yacc.c */ -#line 1139 "dtool/src/cppparser/cppBison.yxx" +#line 1145 "dtool/src/cppparser/cppBison.yxx" { (yyval.str) = "^="; } break; - case 117: + case 118: /* Line 1792 of yacc.c */ -#line 1143 "dtool/src/cppparser/cppBison.yxx" +#line 1149 "dtool/src/cppparser/cppBison.yxx" { (yyval.str) = "<<="; } break; - case 118: + case 119: /* Line 1792 of yacc.c */ -#line 1147 "dtool/src/cppparser/cppBison.yxx" +#line 1153 "dtool/src/cppparser/cppBison.yxx" { (yyval.str) = ">>="; } break; - case 119: + case 120: /* Line 1792 of yacc.c */ -#line 1151 "dtool/src/cppparser/cppBison.yxx" +#line 1157 "dtool/src/cppparser/cppBison.yxx" { (yyval.str) = "->"; } break; - case 120: + case 121: /* Line 1792 of yacc.c */ -#line 1155 "dtool/src/cppparser/cppBison.yxx" +#line 1161 "dtool/src/cppparser/cppBison.yxx" { (yyval.str) = "[]"; } break; - case 121: + case 122: /* Line 1792 of yacc.c */ -#line 1159 "dtool/src/cppparser/cppBison.yxx" +#line 1165 "dtool/src/cppparser/cppBison.yxx" { (yyval.str) = "()"; } break; - case 122: + case 123: /* Line 1792 of yacc.c */ -#line 1163 "dtool/src/cppparser/cppBison.yxx" +#line 1169 "dtool/src/cppparser/cppBison.yxx" { (yyval.str) = "new"; } break; - case 123: + case 124: /* Line 1792 of yacc.c */ -#line 1167 "dtool/src/cppparser/cppBison.yxx" +#line 1173 "dtool/src/cppparser/cppBison.yxx" { (yyval.str) = "delete"; } break; - case 126: + case 127: /* Line 1792 of yacc.c */ -#line 1179 "dtool/src/cppparser/cppBison.yxx" +#line 1185 "dtool/src/cppparser/cppBison.yxx" { push_scope(new CPPTemplateScope(current_scope)); } break; - case 127: + case 128: /* Line 1792 of yacc.c */ -#line 1183 "dtool/src/cppparser/cppBison.yxx" +#line 1189 "dtool/src/cppparser/cppBison.yxx" { pop_scope(); } break; - case 131: -/* Line 1792 of yacc.c */ -#line 1196 "dtool/src/cppparser/cppBison.yxx" - { - CPPTemplateScope *ts = current_scope->as_template_scope(); - assert(ts != NULL); - ts->add_template_parameter((yyvsp[(1) - (1)].u.decl)); -} - break; - case 132: /* Line 1792 of yacc.c */ #line 1202 "dtool/src/cppparser/cppBison.yxx" { CPPTemplateScope *ts = current_scope->as_template_scope(); assert(ts != NULL); - ts->add_template_parameter((yyvsp[(3) - (3)].u.decl)); + ts->add_template_parameter((yyvsp[(1) - (1)].u.decl)); } break; case 133: /* Line 1792 of yacc.c */ -#line 1211 "dtool/src/cppparser/cppBison.yxx" +#line 1208 "dtool/src/cppparser/cppBison.yxx" { - (yyval.u.decl) = CPPType::new_type(new CPPClassTemplateParameter((yyvsp[(2) - (2)].u.identifier))); + CPPTemplateScope *ts = current_scope->as_template_scope(); + assert(ts != NULL); + ts->add_template_parameter((yyvsp[(3) - (3)].u.decl)); } break; case 134: /* Line 1792 of yacc.c */ -#line 1215 "dtool/src/cppparser/cppBison.yxx" - { - (yyval.u.decl) = CPPType::new_type(new CPPClassTemplateParameter((yyvsp[(2) - (4)].u.identifier), (yyvsp[(4) - (4)].u.type))); -} - break; - - case 135: -/* Line 1792 of yacc.c */ -#line 1219 "dtool/src/cppparser/cppBison.yxx" +#line 1217 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.decl) = CPPType::new_type(new CPPClassTemplateParameter((yyvsp[(2) - (2)].u.identifier))); } break; - case 136: + case 135: /* Line 1792 of yacc.c */ -#line 1223 "dtool/src/cppparser/cppBison.yxx" +#line 1221 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.decl) = CPPType::new_type(new CPPClassTemplateParameter((yyvsp[(2) - (4)].u.identifier), (yyvsp[(4) - (4)].u.type))); } break; + case 136: +/* Line 1792 of yacc.c */ +#line 1225 "dtool/src/cppparser/cppBison.yxx" + { + (yyval.u.decl) = CPPType::new_type(new CPPClassTemplateParameter((yyvsp[(2) - (2)].u.identifier))); +} + break; + case 137: /* Line 1792 of yacc.c */ -#line 1227 "dtool/src/cppparser/cppBison.yxx" +#line 1229 "dtool/src/cppparser/cppBison.yxx" + { + (yyval.u.decl) = CPPType::new_type(new CPPClassTemplateParameter((yyvsp[(2) - (4)].u.identifier), (yyvsp[(4) - (4)].u.type))); +} + break; + + case 138: +/* Line 1792 of yacc.c */ +#line 1233 "dtool/src/cppparser/cppBison.yxx" { CPPInstance *inst = new CPPInstance((yyvsp[(1) - (3)].u.type), (yyvsp[(2) - (3)].u.inst_ident), 0, (yylsp[(2) - (3)]).file); inst->set_initializer((yyvsp[(3) - (3)].u.expr)); @@ -4695,9 +4787,9 @@ yyreduce: } break; - case 138: + case 139: /* Line 1792 of yacc.c */ -#line 1233 "dtool/src/cppparser/cppBison.yxx" +#line 1239 "dtool/src/cppparser/cppBison.yxx" { (yyvsp[(3) - (4)].u.inst_ident)->add_modifier(IIT_const); CPPInstance *inst = new CPPInstance((yyvsp[(2) - (4)].u.type), (yyvsp[(3) - (4)].u.inst_ident), 0, (yylsp[(3) - (4)]).file); @@ -4706,26 +4798,26 @@ yyreduce: } break; - case 139: + case 140: /* Line 1792 of yacc.c */ -#line 1243 "dtool/src/cppparser/cppBison.yxx" +#line 1249 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.type) = CPPType::new_type((yyvsp[(1) - (1)].u.simple_type)); } break; - case 140: + case 141: /* Line 1792 of yacc.c */ -#line 1247 "dtool/src/cppparser/cppBison.yxx" +#line 1253 "dtool/src/cppparser/cppBison.yxx" { yywarning("Not a type: " + (yyvsp[(1) - (1)].u.identifier)->get_fully_scoped_name(), (yylsp[(1) - (1)])); (yyval.u.type) = CPPType::new_type(new CPPSimpleType(CPPSimpleType::T_unknown)); } break; - case 141: + case 142: /* Line 1792 of yacc.c */ -#line 1252 "dtool/src/cppparser/cppBison.yxx" +#line 1258 "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) { @@ -4735,17 +4827,17 @@ yyreduce: } break; - case 142: + case 143: /* Line 1792 of yacc.c */ -#line 1264 "dtool/src/cppparser/cppBison.yxx" +#line 1270 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.inst_ident) = new CPPInstanceIdentifier((yyvsp[(1) - (1)].u.identifier)); } break; - case 143: + case 144: /* Line 1792 of yacc.c */ -#line 1268 "dtool/src/cppparser/cppBison.yxx" +#line 1274 "dtool/src/cppparser/cppBison.yxx" { // For an operator function. We implement this simply by building a // ficticious name for the function; in other respects it's just @@ -4761,9 +4853,9 @@ yyreduce: } break; - case 144: + case 145: /* Line 1792 of yacc.c */ -#line 1282 "dtool/src/cppparser/cppBison.yxx" +#line 1288 "dtool/src/cppparser/cppBison.yxx" { // A C++11 literal operator. if (!(yyvsp[(2) - (3)].str).empty()) { @@ -4780,98 +4872,98 @@ yyreduce: } break; - case 145: + case 146: /* Line 1792 of yacc.c */ -#line 1297 "dtool/src/cppparser/cppBison.yxx" +#line 1303 "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 146: + case 147: /* Line 1792 of yacc.c */ -#line 1302 "dtool/src/cppparser/cppBison.yxx" +#line 1308 "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 147: + case 148: /* Line 1792 of yacc.c */ -#line 1307 "dtool/src/cppparser/cppBison.yxx" +#line 1313 "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 148: + case 149: /* Line 1792 of yacc.c */ -#line 1312 "dtool/src/cppparser/cppBison.yxx" +#line 1318 "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 149: + case 150: /* Line 1792 of yacc.c */ -#line 1317 "dtool/src/cppparser/cppBison.yxx" +#line 1323 "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 150: + case 151: /* Line 1792 of yacc.c */ -#line 1322 "dtool/src/cppparser/cppBison.yxx" +#line 1328 "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 151: + case 152: /* Line 1792 of yacc.c */ -#line 1327 "dtool/src/cppparser/cppBison.yxx" +#line 1333 "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 152: + case 153: /* Line 1792 of yacc.c */ -#line 1332 "dtool/src/cppparser/cppBison.yxx" +#line 1338 "dtool/src/cppparser/cppBison.yxx" { // bitfield definition. We ignore the bitfield for now. (yyval.u.inst_ident) = (yyvsp[(1) - (3)].u.inst_ident); } break; - case 153: + case 154: /* Line 1792 of yacc.c */ -#line 1337 "dtool/src/cppparser/cppBison.yxx" +#line 1343 "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 154: + case 155: /* Line 1792 of yacc.c */ -#line 1342 "dtool/src/cppparser/cppBison.yxx" +#line 1348 "dtool/src/cppparser/cppBison.yxx" { push_scope((yyvsp[(1) - (2)].u.inst_ident)->get_scope(current_scope, global_scope)); } break; - case 155: + case 156: /* Line 1792 of yacc.c */ -#line 1346 "dtool/src/cppparser/cppBison.yxx" +#line 1352 "dtool/src/cppparser/cppBison.yxx" { pop_scope(); (yyval.u.inst_ident) = (yyvsp[(1) - (6)].u.inst_ident); @@ -4887,110 +4979,102 @@ yyreduce: } break; - case 156: -/* Line 1792 of yacc.c */ -#line 1364 "dtool/src/cppparser/cppBison.yxx" - { - (yyval.u.param_list) = new CPPParameterList; -} - break; - case 157: /* Line 1792 of yacc.c */ -#line 1368 "dtool/src/cppparser/cppBison.yxx" +#line 1370 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.param_list) = new CPPParameterList; - (yyval.u.param_list)->_includes_ellipsis = true; } break; case 158: /* Line 1792 of yacc.c */ -#line 1373 "dtool/src/cppparser/cppBison.yxx" +#line 1374 "dtool/src/cppparser/cppBison.yxx" { - (yyval.u.param_list) = (yyvsp[(1) - (1)].u.param_list); + (yyval.u.param_list) = new CPPParameterList; + (yyval.u.param_list)->_includes_ellipsis = true; } break; case 159: /* Line 1792 of yacc.c */ -#line 1377 "dtool/src/cppparser/cppBison.yxx" +#line 1379 "dtool/src/cppparser/cppBison.yxx" { - (yyval.u.param_list) = (yyvsp[(1) - (3)].u.param_list); - (yyval.u.param_list)->_includes_ellipsis = true; + (yyval.u.param_list) = (yyvsp[(1) - (1)].u.param_list); } break; case 160: /* Line 1792 of yacc.c */ -#line 1382 "dtool/src/cppparser/cppBison.yxx" +#line 1383 "dtool/src/cppparser/cppBison.yxx" { - (yyval.u.param_list) = (yyvsp[(1) - (2)].u.param_list); + (yyval.u.param_list) = (yyvsp[(1) - (3)].u.param_list); (yyval.u.param_list)->_includes_ellipsis = true; } break; case 161: /* Line 1792 of yacc.c */ -#line 1390 "dtool/src/cppparser/cppBison.yxx" +#line 1388 "dtool/src/cppparser/cppBison.yxx" + { + (yyval.u.param_list) = (yyvsp[(1) - (2)].u.param_list); + (yyval.u.param_list)->_includes_ellipsis = true; +} + break; + + case 162: +/* Line 1792 of yacc.c */ +#line 1396 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.param_list) = new CPPParameterList; (yyval.u.param_list)->_parameters.push_back((yyvsp[(1) - (1)].u.instance)); } break; - case 162: + case 163: /* Line 1792 of yacc.c */ -#line 1395 "dtool/src/cppparser/cppBison.yxx" +#line 1401 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.param_list) = (yyvsp[(1) - (3)].u.param_list); (yyval.u.param_list)->_parameters.push_back((yyvsp[(3) - (3)].u.instance)); } break; - case 163: -/* Line 1792 of yacc.c */ -#line 1403 "dtool/src/cppparser/cppBison.yxx" - { - (yyval.u.expr) = (CPPExpression *)NULL; -} - break; - case 164: /* Line 1792 of yacc.c */ -#line 1407 "dtool/src/cppparser/cppBison.yxx" +#line 1409 "dtool/src/cppparser/cppBison.yxx" { - (yyval.u.expr) = (yyvsp[(2) - (2)].u.expr); + (yyval.u.expr) = (CPPExpression *)NULL; } break; case 165: /* Line 1792 of yacc.c */ -#line 1414 "dtool/src/cppparser/cppBison.yxx" - { - (yyval.u.expr) = (CPPExpression *)NULL; -} - break; - - case 166: -/* Line 1792 of yacc.c */ -#line 1418 "dtool/src/cppparser/cppBison.yxx" +#line 1413 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = (yyvsp[(2) - (2)].u.expr); } break; - case 167: + case 166: /* Line 1792 of yacc.c */ -#line 1425 "dtool/src/cppparser/cppBison.yxx" +#line 1420 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = (CPPExpression *)NULL; } break; + case 167: +/* Line 1792 of yacc.c */ +#line 1424 "dtool/src/cppparser/cppBison.yxx" + { + (yyval.u.expr) = (yyvsp[(2) - (2)].u.expr); +} + break; + case 168: /* Line 1792 of yacc.c */ -#line 1429 "dtool/src/cppparser/cppBison.yxx" +#line 1431 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = (CPPExpression *)NULL; } @@ -4998,7 +5082,7 @@ yyreduce: case 169: /* Line 1792 of yacc.c */ -#line 1433 "dtool/src/cppparser/cppBison.yxx" +#line 1435 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = (CPPExpression *)NULL; } @@ -5006,51 +5090,47 @@ yyreduce: case 170: /* Line 1792 of yacc.c */ -#line 1437 "dtool/src/cppparser/cppBison.yxx" - { - (yyval.u.expr) = (yyvsp[(2) - (3)].u.expr); -} - break; - - case 171: -/* Line 1792 of yacc.c */ -#line 1441 "dtool/src/cppparser/cppBison.yxx" +#line 1439 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = (CPPExpression *)NULL; } break; - case 175: + case 171: /* Line 1792 of yacc.c */ -#line 1454 "dtool/src/cppparser/cppBison.yxx" +#line 1443 "dtool/src/cppparser/cppBison.yxx" + { + (yyval.u.expr) = (yyvsp[(2) - (3)].u.expr); +} + break; + + case 172: +/* Line 1792 of yacc.c */ +#line 1447 "dtool/src/cppparser/cppBison.yxx" + { + (yyval.u.expr) = (CPPExpression *)NULL; +} + break; + + case 176: +/* Line 1792 of yacc.c */ +#line 1460 "dtool/src/cppparser/cppBison.yxx" { } break; - case 179: + case 180: /* Line 1792 of yacc.c */ -#line 1463 "dtool/src/cppparser/cppBison.yxx" +#line 1469 "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 180: -/* Line 1792 of yacc.c */ -#line 1468 "dtool/src/cppparser/cppBison.yxx" - { - yywarning("Not a type: " + (yyvsp[(1) - (3)].u.identifier)->get_fully_scoped_name(), (yylsp[(1) - (3)])); - CPPType *type = - CPPType::new_type(new CPPSimpleType(CPPSimpleType::T_unknown)); - (yyval.u.instance) = new CPPInstance(type, (yyvsp[(2) - (3)].u.inst_ident), 0, (yylsp[(2) - (3)]).file); - (yyval.u.instance)->set_initializer((yyvsp[(3) - (3)].u.expr)); -} - break; - case 181: /* Line 1792 of yacc.c */ -#line 1476 "dtool/src/cppparser/cppBison.yxx" +#line 1474 "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); @@ -5060,7 +5140,7 @@ yyreduce: case 182: /* Line 1792 of yacc.c */ -#line 1482 "dtool/src/cppparser/cppBison.yxx" +#line 1480 "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); @@ -5070,7 +5150,7 @@ yyreduce: case 183: /* Line 1792 of yacc.c */ -#line 1488 "dtool/src/cppparser/cppBison.yxx" +#line 1486 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.instance) = (yyvsp[(2) - (2)].u.instance); } @@ -5078,7 +5158,7 @@ yyreduce: case 184: /* Line 1792 of yacc.c */ -#line 1492 "dtool/src/cppparser/cppBison.yxx" +#line 1490 "dtool/src/cppparser/cppBison.yxx" { CPPType *type = CPPType::new_type(new CPPSimpleType(CPPSimpleType::T_parameter)); @@ -5089,7 +5169,7 @@ yyreduce: case 185: /* Line 1792 of yacc.c */ -#line 1502 "dtool/src/cppparser/cppBison.yxx" +#line 1500 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.inst_ident) = new CPPInstanceIdentifier((CPPIdentifier *)NULL); } @@ -5097,7 +5177,7 @@ yyreduce: case 186: /* Line 1792 of yacc.c */ -#line 1506 "dtool/src/cppparser/cppBison.yxx" +#line 1504 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.inst_ident) = new CPPInstanceIdentifier((yyvsp[(1) - (1)].u.identifier)); } @@ -5105,7 +5185,7 @@ yyreduce: case 187: /* Line 1792 of yacc.c */ -#line 1510 "dtool/src/cppparser/cppBison.yxx" +#line 1508 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.inst_ident) = new CPPInstanceIdentifier((yyvsp[(1) - (1)].u.identifier)); } @@ -5113,7 +5193,7 @@ yyreduce: case 188: /* Line 1792 of yacc.c */ -#line 1514 "dtool/src/cppparser/cppBison.yxx" +#line 1512 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.inst_ident) = (yyvsp[(2) - (2)].u.inst_ident); (yyval.u.inst_ident)->add_modifier(IIT_const); @@ -5122,7 +5202,7 @@ yyreduce: case 189: /* Line 1792 of yacc.c */ -#line 1519 "dtool/src/cppparser/cppBison.yxx" +#line 1517 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.inst_ident) = (yyvsp[(2) - (2)].u.inst_ident); (yyval.u.inst_ident)->add_modifier(IIT_volatile); @@ -5131,7 +5211,7 @@ yyreduce: case 190: /* Line 1792 of yacc.c */ -#line 1524 "dtool/src/cppparser/cppBison.yxx" +#line 1522 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.inst_ident) = (yyvsp[(2) - (2)].u.inst_ident); (yyval.u.inst_ident)->add_modifier(IIT_pointer); @@ -5140,7 +5220,7 @@ yyreduce: case 191: /* Line 1792 of yacc.c */ -#line 1529 "dtool/src/cppparser/cppBison.yxx" +#line 1527 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.inst_ident) = (yyvsp[(2) - (2)].u.inst_ident); (yyval.u.inst_ident)->add_modifier(IIT_reference); @@ -5149,7 +5229,7 @@ yyreduce: case 192: /* Line 1792 of yacc.c */ -#line 1534 "dtool/src/cppparser/cppBison.yxx" +#line 1532 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.inst_ident) = (yyvsp[(2) - (2)].u.inst_ident); (yyval.u.inst_ident)->add_modifier(IIT_rvalue_reference); @@ -5158,7 +5238,7 @@ yyreduce: case 193: /* Line 1792 of yacc.c */ -#line 1539 "dtool/src/cppparser/cppBison.yxx" +#line 1537 "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)); @@ -5167,7 +5247,7 @@ yyreduce: case 194: /* Line 1792 of yacc.c */ -#line 1544 "dtool/src/cppparser/cppBison.yxx" +#line 1542 "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)); @@ -5176,7 +5256,7 @@ yyreduce: case 195: /* Line 1792 of yacc.c */ -#line 1552 "dtool/src/cppparser/cppBison.yxx" +#line 1550 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.inst_ident) = new CPPInstanceIdentifier((CPPIdentifier *)NULL); } @@ -5184,7 +5264,7 @@ yyreduce: case 196: /* Line 1792 of yacc.c */ -#line 1556 "dtool/src/cppparser/cppBison.yxx" +#line 1554 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.inst_ident) = new CPPInstanceIdentifier((yyvsp[(1) - (1)].u.identifier)); } @@ -5192,7 +5272,7 @@ yyreduce: case 197: /* Line 1792 of yacc.c */ -#line 1560 "dtool/src/cppparser/cppBison.yxx" +#line 1558 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.inst_ident) = new CPPInstanceIdentifier((yyvsp[(1) - (1)].u.identifier)); } @@ -5200,7 +5280,7 @@ yyreduce: case 198: /* Line 1792 of yacc.c */ -#line 1564 "dtool/src/cppparser/cppBison.yxx" +#line 1562 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.inst_ident) = (yyvsp[(2) - (2)].u.inst_ident); (yyval.u.inst_ident)->add_modifier(IIT_const); @@ -5209,7 +5289,7 @@ yyreduce: case 199: /* Line 1792 of yacc.c */ -#line 1569 "dtool/src/cppparser/cppBison.yxx" +#line 1567 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.inst_ident) = (yyvsp[(2) - (2)].u.inst_ident); (yyval.u.inst_ident)->add_modifier(IIT_volatile); @@ -5218,7 +5298,7 @@ yyreduce: case 200: /* Line 1792 of yacc.c */ -#line 1574 "dtool/src/cppparser/cppBison.yxx" +#line 1572 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.inst_ident) = (yyvsp[(2) - (2)].u.inst_ident); (yyval.u.inst_ident)->add_modifier(IIT_pointer); @@ -5227,7 +5307,7 @@ yyreduce: case 201: /* Line 1792 of yacc.c */ -#line 1579 "dtool/src/cppparser/cppBison.yxx" +#line 1577 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.inst_ident) = (yyvsp[(2) - (2)].u.inst_ident); (yyval.u.inst_ident)->add_modifier(IIT_reference); @@ -5236,7 +5316,7 @@ yyreduce: case 202: /* Line 1792 of yacc.c */ -#line 1584 "dtool/src/cppparser/cppBison.yxx" +#line 1582 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.inst_ident) = (yyvsp[(2) - (2)].u.inst_ident); (yyval.u.inst_ident)->add_modifier(IIT_rvalue_reference); @@ -5245,7 +5325,7 @@ yyreduce: case 203: /* Line 1792 of yacc.c */ -#line 1589 "dtool/src/cppparser/cppBison.yxx" +#line 1587 "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)); @@ -5254,7 +5334,7 @@ yyreduce: case 204: /* Line 1792 of yacc.c */ -#line 1594 "dtool/src/cppparser/cppBison.yxx" +#line 1592 "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)); @@ -5263,7 +5343,7 @@ yyreduce: case 205: /* Line 1792 of yacc.c */ -#line 1599 "dtool/src/cppparser/cppBison.yxx" +#line 1597 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.inst_ident) = (yyvsp[(2) - (7)].u.inst_ident); (yyval.u.inst_ident)->add_modifier(IIT_paren); @@ -5273,7 +5353,7 @@ yyreduce: case 206: /* Line 1792 of yacc.c */ -#line 1605 "dtool/src/cppparser/cppBison.yxx" +#line 1603 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.inst_ident) = (yyvsp[(2) - (3)].u.inst_ident); (yyval.u.inst_ident)->add_modifier(IIT_paren); @@ -5282,7 +5362,7 @@ yyreduce: case 207: /* Line 1792 of yacc.c */ -#line 1613 "dtool/src/cppparser/cppBison.yxx" +#line 1611 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.inst_ident) = new CPPInstanceIdentifier((CPPIdentifier *)NULL); } @@ -5290,7 +5370,7 @@ yyreduce: case 208: /* Line 1792 of yacc.c */ -#line 1617 "dtool/src/cppparser/cppBison.yxx" +#line 1615 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.inst_ident) = (yyvsp[(2) - (2)].u.inst_ident); (yyval.u.inst_ident)->add_modifier(IIT_const); @@ -5299,7 +5379,7 @@ yyreduce: case 209: /* Line 1792 of yacc.c */ -#line 1622 "dtool/src/cppparser/cppBison.yxx" +#line 1620 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.inst_ident) = (yyvsp[(2) - (2)].u.inst_ident); (yyval.u.inst_ident)->add_modifier(IIT_volatile); @@ -5308,7 +5388,7 @@ yyreduce: case 210: /* Line 1792 of yacc.c */ -#line 1627 "dtool/src/cppparser/cppBison.yxx" +#line 1625 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.inst_ident) = (yyvsp[(2) - (2)].u.inst_ident); (yyval.u.inst_ident)->add_modifier(IIT_pointer); @@ -5317,7 +5397,7 @@ yyreduce: case 211: /* Line 1792 of yacc.c */ -#line 1632 "dtool/src/cppparser/cppBison.yxx" +#line 1630 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.inst_ident) = (yyvsp[(2) - (2)].u.inst_ident); (yyval.u.inst_ident)->add_modifier(IIT_reference); @@ -5326,7 +5406,7 @@ yyreduce: case 212: /* Line 1792 of yacc.c */ -#line 1637 "dtool/src/cppparser/cppBison.yxx" +#line 1635 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.inst_ident) = (yyvsp[(2) - (2)].u.inst_ident); (yyval.u.inst_ident)->add_modifier(IIT_rvalue_reference); @@ -5335,7 +5415,7 @@ yyreduce: case 213: /* Line 1792 of yacc.c */ -#line 1642 "dtool/src/cppparser/cppBison.yxx" +#line 1640 "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)); @@ -5344,7 +5424,7 @@ yyreduce: case 214: /* Line 1792 of yacc.c */ -#line 1647 "dtool/src/cppparser/cppBison.yxx" +#line 1645 "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)); @@ -5353,7 +5433,7 @@ yyreduce: case 215: /* Line 1792 of yacc.c */ -#line 1652 "dtool/src/cppparser/cppBison.yxx" +#line 1650 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.inst_ident) = (yyvsp[(2) - (7)].u.inst_ident); (yyval.u.inst_ident)->add_modifier(IIT_paren); @@ -5363,7 +5443,7 @@ yyreduce: case 216: /* Line 1792 of yacc.c */ -#line 1661 "dtool/src/cppparser/cppBison.yxx" +#line 1659 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.type) = CPPType::new_type((yyvsp[(1) - (1)].u.simple_type)); } @@ -5371,7 +5451,7 @@ yyreduce: case 217: /* Line 1792 of yacc.c */ -#line 1665 "dtool/src/cppparser/cppBison.yxx" +#line 1663 "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) { @@ -5383,7 +5463,7 @@ yyreduce: case 218: /* Line 1792 of yacc.c */ -#line 1673 "dtool/src/cppparser/cppBison.yxx" +#line 1671 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.type) = CPPType::new_type(new CPPTBDType((yyvsp[(2) - (2)].u.identifier))); } @@ -5391,7 +5471,7 @@ yyreduce: case 219: /* Line 1792 of yacc.c */ -#line 1677 "dtool/src/cppparser/cppBison.yxx" +#line 1675 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.type) = CPPType::new_type((yyvsp[(1) - (1)].u.struct_type)); } @@ -5399,7 +5479,7 @@ yyreduce: case 220: /* Line 1792 of yacc.c */ -#line 1681 "dtool/src/cppparser/cppBison.yxx" +#line 1679 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.type) = CPPType::new_type((yyvsp[(1) - (1)].u.struct_type)); } @@ -5407,7 +5487,7 @@ yyreduce: case 221: /* Line 1792 of yacc.c */ -#line 1685 "dtool/src/cppparser/cppBison.yxx" +#line 1683 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.type) = CPPType::new_type((yyvsp[(1) - (1)].u.enum_type)); } @@ -5415,7 +5495,7 @@ yyreduce: case 222: /* Line 1792 of yacc.c */ -#line 1689 "dtool/src/cppparser/cppBison.yxx" +#line 1687 "dtool/src/cppparser/cppBison.yxx" { CPPType *type = (yyvsp[(2) - (2)].u.identifier)->find_type(current_scope, global_scope, false, current_lexer); if (type != NULL) { @@ -5435,7 +5515,7 @@ yyreduce: case 223: /* Line 1792 of yacc.c */ -#line 1705 "dtool/src/cppparser/cppBison.yxx" +#line 1703 "dtool/src/cppparser/cppBison.yxx" { CPPType *type = (yyvsp[(2) - (4)].u.identifier)->find_type(current_scope, global_scope, false, current_lexer); if (type != NULL) { @@ -5455,7 +5535,7 @@ yyreduce: case 224: /* Line 1792 of yacc.c */ -#line 1721 "dtool/src/cppparser/cppBison.yxx" +#line 1719 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.type) = (yyvsp[(3) - (4)].u.expr)->determine_type(); if ((yyval.u.type) == (CPPType *)NULL) { @@ -5468,7 +5548,7 @@ yyreduce: case 225: /* Line 1792 of yacc.c */ -#line 1733 "dtool/src/cppparser/cppBison.yxx" +#line 1731 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.decl) = CPPType::new_type((yyvsp[(1) - (1)].u.simple_type)); } @@ -5476,7 +5556,7 @@ yyreduce: case 226: /* Line 1792 of yacc.c */ -#line 1737 "dtool/src/cppparser/cppBison.yxx" +#line 1735 "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) { @@ -5488,7 +5568,7 @@ yyreduce: case 227: /* Line 1792 of yacc.c */ -#line 1745 "dtool/src/cppparser/cppBison.yxx" +#line 1743 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.decl) = CPPType::new_type(new CPPTBDType((yyvsp[(2) - (2)].u.identifier))); } @@ -5496,7 +5576,7 @@ yyreduce: case 228: /* Line 1792 of yacc.c */ -#line 1749 "dtool/src/cppparser/cppBison.yxx" +#line 1747 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.decl) = CPPType::new_type((yyvsp[(1) - (1)].u.struct_type)); } @@ -5504,7 +5584,7 @@ yyreduce: case 229: /* Line 1792 of yacc.c */ -#line 1753 "dtool/src/cppparser/cppBison.yxx" +#line 1751 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.decl) = new CPPTypeDeclaration(CPPType::new_type((yyvsp[(1) - (1)].u.struct_type))); } @@ -5512,7 +5592,7 @@ yyreduce: case 230: /* Line 1792 of yacc.c */ -#line 1757 "dtool/src/cppparser/cppBison.yxx" +#line 1755 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.decl) = new CPPTypeDeclaration(CPPType::new_type((yyvsp[(1) - (1)].u.enum_type))); } @@ -5520,7 +5600,7 @@ yyreduce: case 231: /* Line 1792 of yacc.c */ -#line 1761 "dtool/src/cppparser/cppBison.yxx" +#line 1759 "dtool/src/cppparser/cppBison.yxx" { CPPType *type = (yyvsp[(2) - (2)].u.identifier)->find_type(current_scope, global_scope, false, current_lexer); if (type != NULL) { @@ -5540,7 +5620,7 @@ yyreduce: case 232: /* Line 1792 of yacc.c */ -#line 1777 "dtool/src/cppparser/cppBison.yxx" +#line 1775 "dtool/src/cppparser/cppBison.yxx" { CPPType *type = (yyvsp[(2) - (4)].u.identifier)->find_type(current_scope, global_scope, false, current_lexer); if (type != NULL) { @@ -5560,7 +5640,7 @@ yyreduce: case 233: /* Line 1792 of yacc.c */ -#line 1793 "dtool/src/cppparser/cppBison.yxx" +#line 1791 "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)])); @@ -5582,7 +5662,7 @@ yyreduce: case 234: /* Line 1792 of yacc.c */ -#line 1811 "dtool/src/cppparser/cppBison.yxx" +#line 1809 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.decl) = (yyvsp[(3) - (4)].u.expr)->determine_type(); if ((yyval.u.decl) == (CPPType *)NULL) { @@ -5595,7 +5675,7 @@ yyreduce: case 235: /* Line 1792 of yacc.c */ -#line 1823 "dtool/src/cppparser/cppBison.yxx" +#line 1821 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.type) = CPPType::new_type((yyvsp[(1) - (1)].u.simple_type)); } @@ -5603,7 +5683,7 @@ yyreduce: case 236: /* Line 1792 of yacc.c */ -#line 1827 "dtool/src/cppparser/cppBison.yxx" +#line 1825 "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) { @@ -5615,7 +5695,7 @@ yyreduce: case 237: /* Line 1792 of yacc.c */ -#line 1835 "dtool/src/cppparser/cppBison.yxx" +#line 1833 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.type) = CPPType::new_type(new CPPTBDType((yyvsp[(2) - (2)].u.identifier))); } @@ -5623,7 +5703,7 @@ yyreduce: case 238: /* Line 1792 of yacc.c */ -#line 1839 "dtool/src/cppparser/cppBison.yxx" +#line 1837 "dtool/src/cppparser/cppBison.yxx" { CPPType *type = (yyvsp[(2) - (2)].u.identifier)->find_type(current_scope, global_scope, false, current_lexer); if (type != NULL) { @@ -5643,7 +5723,7 @@ yyreduce: case 239: /* Line 1792 of yacc.c */ -#line 1855 "dtool/src/cppparser/cppBison.yxx" +#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) { @@ -5663,7 +5743,7 @@ yyreduce: case 240: /* Line 1792 of yacc.c */ -#line 1874 "dtool/src/cppparser/cppBison.yxx" +#line 1872 "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; @@ -5673,7 +5753,7 @@ yyreduce: case 241: /* Line 1792 of yacc.c */ -#line 1880 "dtool/src/cppparser/cppBison.yxx" +#line 1878 "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); @@ -5684,7 +5764,7 @@ yyreduce: case 242: /* Line 1792 of yacc.c */ -#line 1890 "dtool/src/cppparser/cppBison.yxx" +#line 1888 "dtool/src/cppparser/cppBison.yxx" { CPPVisibility starting_vis = ((yyvsp[(1) - (2)].u.extension_enum) == CPPExtensionType::T_class) ? V_private : V_public; @@ -5702,7 +5782,7 @@ yyreduce: case 243: /* Line 1792 of yacc.c */ -#line 1904 "dtool/src/cppparser/cppBison.yxx" +#line 1902 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.struct_type) = current_struct; current_struct->_incomplete = false; @@ -5713,7 +5793,7 @@ yyreduce: case 244: /* Line 1792 of yacc.c */ -#line 1914 "dtool/src/cppparser/cppBison.yxx" +#line 1912 "dtool/src/cppparser/cppBison.yxx" { CPPVisibility starting_vis = ((yyvsp[(1) - (2)].u.extension_enum) == CPPExtensionType::T_class) ? V_private : V_public; @@ -5737,7 +5817,7 @@ yyreduce: case 245: /* Line 1792 of yacc.c */ -#line 1934 "dtool/src/cppparser/cppBison.yxx" +#line 1932 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.struct_type) = current_struct; current_struct->_incomplete = false; @@ -5748,7 +5828,7 @@ yyreduce: case 250: /* Line 1792 of yacc.c */ -#line 1954 "dtool/src/cppparser/cppBison.yxx" +#line 1952 "dtool/src/cppparser/cppBison.yxx" { current_struct->append_derivation((yyvsp[(2) - (2)].u.type), V_public, false); } @@ -5756,7 +5836,7 @@ yyreduce: case 251: /* Line 1792 of yacc.c */ -#line 1958 "dtool/src/cppparser/cppBison.yxx" +#line 1956 "dtool/src/cppparser/cppBison.yxx" { current_struct->append_derivation((yyvsp[(2) - (2)].u.type), V_protected, false); } @@ -5764,7 +5844,7 @@ yyreduce: case 252: /* Line 1792 of yacc.c */ -#line 1962 "dtool/src/cppparser/cppBison.yxx" +#line 1960 "dtool/src/cppparser/cppBison.yxx" { current_struct->append_derivation((yyvsp[(2) - (2)].u.type), V_private, false); } @@ -5772,7 +5852,7 @@ yyreduce: case 253: /* Line 1792 of yacc.c */ -#line 1966 "dtool/src/cppparser/cppBison.yxx" +#line 1964 "dtool/src/cppparser/cppBison.yxx" { current_struct->append_derivation((yyvsp[(3) - (3)].u.type), V_public, true); } @@ -5780,7 +5860,7 @@ yyreduce: case 254: /* Line 1792 of yacc.c */ -#line 1970 "dtool/src/cppparser/cppBison.yxx" +#line 1968 "dtool/src/cppparser/cppBison.yxx" { current_struct->append_derivation((yyvsp[(3) - (3)].u.type), V_protected, true); } @@ -5788,7 +5868,7 @@ yyreduce: case 255: /* Line 1792 of yacc.c */ -#line 1974 "dtool/src/cppparser/cppBison.yxx" +#line 1972 "dtool/src/cppparser/cppBison.yxx" { current_struct->append_derivation((yyvsp[(3) - (3)].u.type), V_private, true); } @@ -5796,7 +5876,7 @@ yyreduce: case 256: /* Line 1792 of yacc.c */ -#line 1978 "dtool/src/cppparser/cppBison.yxx" +#line 1976 "dtool/src/cppparser/cppBison.yxx" { current_struct->append_derivation((yyvsp[(3) - (3)].u.type), V_public, true); } @@ -5804,7 +5884,7 @@ yyreduce: case 257: /* Line 1792 of yacc.c */ -#line 1982 "dtool/src/cppparser/cppBison.yxx" +#line 1980 "dtool/src/cppparser/cppBison.yxx" { current_struct->append_derivation((yyvsp[(3) - (3)].u.type), V_protected, true); } @@ -5812,7 +5892,7 @@ yyreduce: case 258: /* Line 1792 of yacc.c */ -#line 1986 "dtool/src/cppparser/cppBison.yxx" +#line 1984 "dtool/src/cppparser/cppBison.yxx" { current_struct->append_derivation((yyvsp[(3) - (3)].u.type), V_private, true); } @@ -5820,7 +5900,7 @@ yyreduce: case 259: /* Line 1792 of yacc.c */ -#line 1993 "dtool/src/cppparser/cppBison.yxx" +#line 1991 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.enum_type) = current_enum; current_enum = NULL; @@ -5829,7 +5909,7 @@ yyreduce: case 260: /* Line 1792 of yacc.c */ -#line 2001 "dtool/src/cppparser/cppBison.yxx" +#line 1999 "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); } @@ -5837,7 +5917,7 @@ yyreduce: case 261: /* Line 1792 of yacc.c */ -#line 2005 "dtool/src/cppparser/cppBison.yxx" +#line 2003 "dtool/src/cppparser/cppBison.yxx" { current_enum = new CPPEnumType((yyvsp[(2) - (2)].u.identifier), current_scope, (yylsp[(1) - (2)]).file); } @@ -5845,7 +5925,7 @@ yyreduce: case 262: /* Line 1792 of yacc.c */ -#line 2009 "dtool/src/cppparser/cppBison.yxx" +#line 2007 "dtool/src/cppparser/cppBison.yxx" { current_enum = new CPPEnumType(NULL, (yyvsp[(3) - (3)].u.type), current_scope, (yylsp[(1) - (3)]).file); } @@ -5853,7 +5933,7 @@ yyreduce: case 263: /* Line 1792 of yacc.c */ -#line 2013 "dtool/src/cppparser/cppBison.yxx" +#line 2011 "dtool/src/cppparser/cppBison.yxx" { current_enum = new CPPEnumType(NULL, current_scope, (yylsp[(1) - (1)]).file); } @@ -5861,7 +5941,7 @@ yyreduce: case 264: /* Line 1792 of yacc.c */ -#line 2020 "dtool/src/cppparser/cppBison.yxx" +#line 2018 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.type) = CPPType::new_type((yyvsp[(1) - (1)].u.simple_type)); } @@ -5869,7 +5949,7 @@ yyreduce: case 265: /* Line 1792 of yacc.c */ -#line 2024 "dtool/src/cppparser/cppBison.yxx" +#line 2022 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.type) = (yyvsp[(1) - (1)].u.identifier)->find_type(current_scope, global_scope, false, current_lexer); } @@ -5877,7 +5957,7 @@ yyreduce: case 267: /* Line 1792 of yacc.c */ -#line 2032 "dtool/src/cppparser/cppBison.yxx" +#line 2030 "dtool/src/cppparser/cppBison.yxx" { assert(current_enum != NULL); CPPInstance *inst = current_enum->add_element((yyvsp[(2) - (3)].u.identifier)->get_simple_name()); @@ -5887,7 +5967,7 @@ yyreduce: case 268: /* Line 1792 of yacc.c */ -#line 2038 "dtool/src/cppparser/cppBison.yxx" +#line 2036 "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)); @@ -5897,7 +5977,7 @@ yyreduce: case 270: /* Line 1792 of yacc.c */ -#line 2047 "dtool/src/cppparser/cppBison.yxx" +#line 2045 "dtool/src/cppparser/cppBison.yxx" { assert(current_enum != NULL); CPPInstance *inst = current_enum->add_element((yyvsp[(2) - (2)].u.identifier)->get_simple_name()); @@ -5907,7 +5987,7 @@ yyreduce: case 271: /* Line 1792 of yacc.c */ -#line 2053 "dtool/src/cppparser/cppBison.yxx" +#line 2051 "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)); @@ -5917,7 +5997,7 @@ yyreduce: case 272: /* Line 1792 of yacc.c */ -#line 2062 "dtool/src/cppparser/cppBison.yxx" +#line 2060 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.extension_enum) = CPPExtensionType::T_enum; } @@ -5925,7 +6005,7 @@ yyreduce: case 273: /* Line 1792 of yacc.c */ -#line 2069 "dtool/src/cppparser/cppBison.yxx" +#line 2067 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.extension_enum) = CPPExtensionType::T_class; } @@ -5933,7 +6013,7 @@ yyreduce: case 274: /* Line 1792 of yacc.c */ -#line 2073 "dtool/src/cppparser/cppBison.yxx" +#line 2071 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.extension_enum) = CPPExtensionType::T_struct; } @@ -5941,7 +6021,7 @@ yyreduce: case 275: /* Line 1792 of yacc.c */ -#line 2077 "dtool/src/cppparser/cppBison.yxx" +#line 2075 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.extension_enum) = CPPExtensionType::T_union; } @@ -5949,7 +6029,7 @@ yyreduce: case 276: /* Line 1792 of yacc.c */ -#line 2084 "dtool/src/cppparser/cppBison.yxx" +#line 2082 "dtool/src/cppparser/cppBison.yxx" { CPPScope *scope = (yyvsp[(2) - (3)].u.identifier)->find_scope(current_scope, global_scope, current_lexer); if (scope == NULL) { @@ -5971,15 +6051,46 @@ yyreduce: case 277: /* Line 1792 of yacc.c */ -#line 2102 "dtool/src/cppparser/cppBison.yxx" +#line 2100 "dtool/src/cppparser/cppBison.yxx" { pop_scope(); } break; + case 278: +/* Line 1792 of yacc.c */ +#line 2104 "dtool/src/cppparser/cppBison.yxx" + { + CPPScope *scope = (yyvsp[(3) - (4)].u.identifier)->find_scope(current_scope, global_scope, current_lexer); + if (scope == NULL) { + // This must be a new namespace declaration. + CPPScope *parent_scope = + (yyvsp[(3) - (4)].u.identifier)->get_scope(current_scope, global_scope, current_lexer); + if (parent_scope == NULL) { + parent_scope = current_scope; + } + scope = new CPPScope(parent_scope, (yyvsp[(3) - (4)].u.identifier)->_names.back(), V_public); + } + + CPPNamespace *nspace = new CPPNamespace((yyvsp[(3) - (4)].u.identifier), scope, (yylsp[(2) - (4)]).file); + nspace->_inline = true; + current_scope->add_declaration(nspace, global_scope, current_lexer, (yylsp[(2) - (4)])); + current_scope->define_namespace(nspace); + push_scope(scope); +} + break; + case 279: /* Line 1792 of yacc.c */ -#line 2110 "dtool/src/cppparser/cppBison.yxx" +#line 2123 "dtool/src/cppparser/cppBison.yxx" + { + pop_scope(); +} + break; + + case 282: +/* Line 1792 of yacc.c */ +#line 2132 "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)])); @@ -5987,9 +6098,9 @@ yyreduce: } break; - case 280: + case 283: /* Line 1792 of yacc.c */ -#line 2116 "dtool/src/cppparser/cppBison.yxx" +#line 2138 "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)])); @@ -5997,111 +6108,111 @@ yyreduce: } break; - case 284: + case 287: /* Line 1792 of yacc.c */ -#line 2131 "dtool/src/cppparser/cppBison.yxx" +#line 2153 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.simple_type) = new CPPSimpleType(CPPSimpleType::T_bool); } break; - case 285: + case 288: /* Line 1792 of yacc.c */ -#line 2135 "dtool/src/cppparser/cppBison.yxx" +#line 2157 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.simple_type) = new CPPSimpleType(CPPSimpleType::T_char); } break; - case 286: + case 289: /* Line 1792 of yacc.c */ -#line 2139 "dtool/src/cppparser/cppBison.yxx" +#line 2161 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.simple_type) = new CPPSimpleType(CPPSimpleType::T_wchar_t); } break; - case 287: + case 290: /* Line 1792 of yacc.c */ -#line 2143 "dtool/src/cppparser/cppBison.yxx" +#line 2165 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.simple_type) = new CPPSimpleType(CPPSimpleType::T_char16_t); } break; - case 288: + case 291: /* Line 1792 of yacc.c */ -#line 2147 "dtool/src/cppparser/cppBison.yxx" +#line 2169 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.simple_type) = new CPPSimpleType(CPPSimpleType::T_char32_t); } break; - case 289: + case 292: /* Line 1792 of yacc.c */ -#line 2151 "dtool/src/cppparser/cppBison.yxx" +#line 2173 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.simple_type) = new CPPSimpleType(CPPSimpleType::T_int, CPPSimpleType::F_short); } break; - case 290: + case 293: /* Line 1792 of yacc.c */ -#line 2156 "dtool/src/cppparser/cppBison.yxx" +#line 2178 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.simple_type) = new CPPSimpleType(CPPSimpleType::T_int, CPPSimpleType::F_long); } break; - case 291: + case 294: /* Line 1792 of yacc.c */ -#line 2161 "dtool/src/cppparser/cppBison.yxx" +#line 2183 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.simple_type) = new CPPSimpleType(CPPSimpleType::T_int, CPPSimpleType::F_longlong); } break; - case 292: + case 295: /* Line 1792 of yacc.c */ -#line 2166 "dtool/src/cppparser/cppBison.yxx" +#line 2188 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.simple_type) = new CPPSimpleType(CPPSimpleType::T_int, CPPSimpleType::F_unsigned); } break; - case 293: + case 296: /* Line 1792 of yacc.c */ -#line 2171 "dtool/src/cppparser/cppBison.yxx" +#line 2193 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.simple_type) = new CPPSimpleType(CPPSimpleType::T_int, CPPSimpleType::F_signed); } break; - case 294: + case 297: /* Line 1792 of yacc.c */ -#line 2176 "dtool/src/cppparser/cppBison.yxx" +#line 2198 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.simple_type) = new CPPSimpleType(CPPSimpleType::T_int); } break; - case 295: + case 298: /* Line 1792 of yacc.c */ -#line 2180 "dtool/src/cppparser/cppBison.yxx" +#line 2202 "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 296: + case 299: /* Line 1792 of yacc.c */ -#line 2185 "dtool/src/cppparser/cppBison.yxx" +#line 2207 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.simple_type) = (yyvsp[(2) - (2)].u.simple_type); if ((yyval.u.simple_type)->_flags & CPPSimpleType::F_long) { @@ -6112,72 +6223,46 @@ yyreduce: } break; - case 297: + case 300: /* Line 1792 of yacc.c */ -#line 2194 "dtool/src/cppparser/cppBison.yxx" +#line 2216 "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 298: + case 301: /* Line 1792 of yacc.c */ -#line 2199 "dtool/src/cppparser/cppBison.yxx" +#line 2221 "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 299: + case 302: /* Line 1792 of yacc.c */ -#line 2207 "dtool/src/cppparser/cppBison.yxx" +#line 2229 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.simple_type) = new CPPSimpleType(CPPSimpleType::T_float); } break; - case 300: -/* Line 1792 of yacc.c */ -#line 2211 "dtool/src/cppparser/cppBison.yxx" - { - (yyval.u.simple_type) = new CPPSimpleType(CPPSimpleType::T_float, - CPPSimpleType::F_long); -} - break; - - case 301: -/* Line 1792 of yacc.c */ -#line 2216 "dtool/src/cppparser/cppBison.yxx" - { - (yyval.u.simple_type) = new CPPSimpleType(CPPSimpleType::T_double); -} - break; - - case 302: -/* Line 1792 of yacc.c */ -#line 2220 "dtool/src/cppparser/cppBison.yxx" - { - (yyval.u.simple_type) = new CPPSimpleType(CPPSimpleType::T_float, - CPPSimpleType::F_longlong); -} - break; - case 303: /* Line 1792 of yacc.c */ -#line 2225 "dtool/src/cppparser/cppBison.yxx" +#line 2233 "dtool/src/cppparser/cppBison.yxx" { - (yyval.u.simple_type) = new CPPSimpleType(CPPSimpleType::T_double, + (yyval.u.simple_type) = new CPPSimpleType(CPPSimpleType::T_float, CPPSimpleType::F_long); } break; case 304: /* Line 1792 of yacc.c */ -#line 2233 "dtool/src/cppparser/cppBison.yxx" +#line 2238 "dtool/src/cppparser/cppBison.yxx" { - (yyval.u.simple_type) = new CPPSimpleType(CPPSimpleType::T_void); + (yyval.u.simple_type) = new CPPSimpleType(CPPSimpleType::T_double); } break; @@ -6185,60 +6270,62 @@ yyreduce: /* Line 1792 of yacc.c */ #line 2242 "dtool/src/cppparser/cppBison.yxx" { - current_lexer->_resolve_identifiers = false; + (yyval.u.simple_type) = new CPPSimpleType(CPPSimpleType::T_float, + CPPSimpleType::F_longlong); } break; case 306: /* Line 1792 of yacc.c */ -#line 2246 "dtool/src/cppparser/cppBison.yxx" +#line 2247 "dtool/src/cppparser/cppBison.yxx" + { + (yyval.u.simple_type) = new CPPSimpleType(CPPSimpleType::T_double, + CPPSimpleType::F_long); +} + break; + + case 307: +/* Line 1792 of yacc.c */ +#line 2255 "dtool/src/cppparser/cppBison.yxx" + { + (yyval.u.simple_type) = new CPPSimpleType(CPPSimpleType::T_void); +} + break; + + case 308: +/* Line 1792 of yacc.c */ +#line 2264 "dtool/src/cppparser/cppBison.yxx" + { + current_lexer->_resolve_identifiers = false; +} + break; + + case 309: +/* Line 1792 of yacc.c */ +#line 2268 "dtool/src/cppparser/cppBison.yxx" { current_lexer->_resolve_identifiers = true; } break; - case 401: + case 404: /* Line 1792 of yacc.c */ -#line 2286 "dtool/src/cppparser/cppBison.yxx" +#line 2308 "dtool/src/cppparser/cppBison.yxx" { } break; - case 425: -/* Line 1792 of yacc.c */ -#line 2295 "dtool/src/cppparser/cppBison.yxx" - { - (yyval.u.expr) = (CPPExpression *)NULL; -} - break; - - case 426: -/* Line 1792 of yacc.c */ -#line 2299 "dtool/src/cppparser/cppBison.yxx" - { - (yyval.u.expr) = (yyvsp[(1) - (1)].u.expr); -} - break; - - case 427: -/* Line 1792 of yacc.c */ -#line 2306 "dtool/src/cppparser/cppBison.yxx" - { - (yyval.u.expr) = (CPPExpression *)NULL; -} - break; - case 428: /* Line 1792 of yacc.c */ -#line 2310 "dtool/src/cppparser/cppBison.yxx" +#line 2317 "dtool/src/cppparser/cppBison.yxx" { - (yyval.u.expr) = (yyvsp[(1) - (1)].u.expr); + (yyval.u.expr) = (CPPExpression *)NULL; } break; case 429: /* Line 1792 of yacc.c */ -#line 2317 "dtool/src/cppparser/cppBison.yxx" +#line 2321 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = (yyvsp[(1) - (1)].u.expr); } @@ -6246,15 +6333,15 @@ yyreduce: case 430: /* Line 1792 of yacc.c */ -#line 2321 "dtool/src/cppparser/cppBison.yxx" +#line 2328 "dtool/src/cppparser/cppBison.yxx" { - (yyval.u.expr) = new CPPExpression(',', (yyvsp[(1) - (3)].u.expr), (yyvsp[(3) - (3)].u.expr)); + (yyval.u.expr) = (CPPExpression *)NULL; } break; case 431: /* Line 1792 of yacc.c */ -#line 2328 "dtool/src/cppparser/cppBison.yxx" +#line 2332 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = (yyvsp[(1) - (1)].u.expr); } @@ -6262,303 +6349,327 @@ yyreduce: case 432: /* Line 1792 of yacc.c */ -#line 2332 "dtool/src/cppparser/cppBison.yxx" - { - (yyval.u.expr) = new CPPExpression(CPPExpression::typecast_op((yyvsp[(2) - (4)].u.type), (yyvsp[(4) - (4)].u.expr))); -} - break; - - case 433: -/* Line 1792 of yacc.c */ -#line 2336 "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 434: -/* Line 1792 of yacc.c */ -#line 2340 "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 435: -/* Line 1792 of yacc.c */ -#line 2344 "dtool/src/cppparser/cppBison.yxx" - { - (yyval.u.expr) = new CPPExpression(CPPExpression::sizeof_func((yyvsp[(3) - (4)].u.type))); -} - break; - - case 436: -/* Line 1792 of yacc.c */ -#line 2348 "dtool/src/cppparser/cppBison.yxx" - { - (yyval.u.expr) = new CPPExpression(CPPExpression::alignof_func((yyvsp[(3) - (4)].u.type))); -} - break; - - case 437: -/* Line 1792 of yacc.c */ -#line 2352 "dtool/src/cppparser/cppBison.yxx" - { - (yyval.u.expr) = new CPPExpression(UNARY_NOT, (yyvsp[(2) - (2)].u.expr)); -} - break; - - case 438: -/* Line 1792 of yacc.c */ -#line 2356 "dtool/src/cppparser/cppBison.yxx" - { - (yyval.u.expr) = new CPPExpression(UNARY_NEGATE, (yyvsp[(2) - (2)].u.expr)); -} - break; - - case 439: -/* Line 1792 of yacc.c */ -#line 2360 "dtool/src/cppparser/cppBison.yxx" - { - (yyval.u.expr) = new CPPExpression(UNARY_MINUS, (yyvsp[(2) - (2)].u.expr)); -} - break; - - case 440: -/* Line 1792 of yacc.c */ -#line 2364 "dtool/src/cppparser/cppBison.yxx" - { - (yyval.u.expr) = new CPPExpression(UNARY_STAR, (yyvsp[(2) - (2)].u.expr)); -} - break; - - case 441: -/* Line 1792 of yacc.c */ -#line 2368 "dtool/src/cppparser/cppBison.yxx" - { - (yyval.u.expr) = new CPPExpression(UNARY_REF, (yyvsp[(2) - (2)].u.expr)); -} - break; - - case 442: -/* Line 1792 of yacc.c */ -#line 2372 "dtool/src/cppparser/cppBison.yxx" - { - (yyval.u.expr) = new CPPExpression('*', (yyvsp[(1) - (3)].u.expr), (yyvsp[(3) - (3)].u.expr)); -} - break; - - case 443: -/* Line 1792 of yacc.c */ -#line 2376 "dtool/src/cppparser/cppBison.yxx" - { - (yyval.u.expr) = new CPPExpression('/', (yyvsp[(1) - (3)].u.expr), (yyvsp[(3) - (3)].u.expr)); -} - break; - - case 444: -/* Line 1792 of yacc.c */ -#line 2380 "dtool/src/cppparser/cppBison.yxx" - { - (yyval.u.expr) = new CPPExpression('%', (yyvsp[(1) - (3)].u.expr), (yyvsp[(3) - (3)].u.expr)); -} - break; - - case 445: -/* Line 1792 of yacc.c */ -#line 2384 "dtool/src/cppparser/cppBison.yxx" - { - (yyval.u.expr) = new CPPExpression('+', (yyvsp[(1) - (3)].u.expr), (yyvsp[(3) - (3)].u.expr)); -} - break; - - case 446: -/* Line 1792 of yacc.c */ -#line 2388 "dtool/src/cppparser/cppBison.yxx" - { - (yyval.u.expr) = new CPPExpression('-', (yyvsp[(1) - (3)].u.expr), (yyvsp[(3) - (3)].u.expr)); -} - break; - - case 447: -/* Line 1792 of yacc.c */ -#line 2392 "dtool/src/cppparser/cppBison.yxx" - { - (yyval.u.expr) = new CPPExpression('|', (yyvsp[(1) - (3)].u.expr), (yyvsp[(3) - (3)].u.expr)); -} - break; - - case 448: -/* Line 1792 of yacc.c */ -#line 2396 "dtool/src/cppparser/cppBison.yxx" - { - (yyval.u.expr) = new CPPExpression('^', (yyvsp[(1) - (3)].u.expr), (yyvsp[(3) - (3)].u.expr)); -} - break; - - case 449: -/* Line 1792 of yacc.c */ -#line 2400 "dtool/src/cppparser/cppBison.yxx" - { - (yyval.u.expr) = new CPPExpression('&', (yyvsp[(1) - (3)].u.expr), (yyvsp[(3) - (3)].u.expr)); -} - break; - - case 450: -/* Line 1792 of yacc.c */ -#line 2404 "dtool/src/cppparser/cppBison.yxx" - { - (yyval.u.expr) = new CPPExpression(OROR, (yyvsp[(1) - (3)].u.expr), (yyvsp[(3) - (3)].u.expr)); -} - break; - - case 451: -/* Line 1792 of yacc.c */ -#line 2408 "dtool/src/cppparser/cppBison.yxx" - { - (yyval.u.expr) = new CPPExpression(ANDAND, (yyvsp[(1) - (3)].u.expr), (yyvsp[(3) - (3)].u.expr)); -} - break; - - case 452: -/* Line 1792 of yacc.c */ -#line 2412 "dtool/src/cppparser/cppBison.yxx" - { - (yyval.u.expr) = new CPPExpression(EQCOMPARE, (yyvsp[(1) - (3)].u.expr), (yyvsp[(3) - (3)].u.expr)); -} - break; - - case 453: -/* Line 1792 of yacc.c */ -#line 2416 "dtool/src/cppparser/cppBison.yxx" - { - (yyval.u.expr) = new CPPExpression(NECOMPARE, (yyvsp[(1) - (3)].u.expr), (yyvsp[(3) - (3)].u.expr)); -} - break; - - case 454: -/* Line 1792 of yacc.c */ -#line 2420 "dtool/src/cppparser/cppBison.yxx" - { - (yyval.u.expr) = new CPPExpression(LECOMPARE, (yyvsp[(1) - (3)].u.expr), (yyvsp[(3) - (3)].u.expr)); -} - break; - - case 455: -/* Line 1792 of yacc.c */ -#line 2424 "dtool/src/cppparser/cppBison.yxx" - { - (yyval.u.expr) = new CPPExpression(GECOMPARE, (yyvsp[(1) - (3)].u.expr), (yyvsp[(3) - (3)].u.expr)); -} - break; - - case 456: -/* Line 1792 of yacc.c */ -#line 2428 "dtool/src/cppparser/cppBison.yxx" - { - (yyval.u.expr) = new CPPExpression(LSHIFT, (yyvsp[(1) - (3)].u.expr), (yyvsp[(3) - (3)].u.expr)); -} - break; - - case 457: -/* Line 1792 of yacc.c */ -#line 2432 "dtool/src/cppparser/cppBison.yxx" - { - (yyval.u.expr) = new CPPExpression(RSHIFT, (yyvsp[(1) - (3)].u.expr), (yyvsp[(3) - (3)].u.expr)); -} - break; - - case 458: -/* Line 1792 of yacc.c */ -#line 2436 "dtool/src/cppparser/cppBison.yxx" - { - (yyval.u.expr) = new CPPExpression('?', (yyvsp[(1) - (5)].u.expr), (yyvsp[(3) - (5)].u.expr), (yyvsp[(5) - (5)].u.expr)); -} - break; - - case 459: -/* Line 1792 of yacc.c */ -#line 2440 "dtool/src/cppparser/cppBison.yxx" - { - (yyval.u.expr) = new CPPExpression('[', (yyvsp[(1) - (4)].u.expr), (yyvsp[(3) - (4)].u.expr)); -} - break; - - case 460: -/* Line 1792 of yacc.c */ -#line 2444 "dtool/src/cppparser/cppBison.yxx" - { - (yyval.u.expr) = new CPPExpression('f', (yyvsp[(1) - (4)].u.expr), (yyvsp[(3) - (4)].u.expr)); -} - break; - - case 461: -/* Line 1792 of yacc.c */ -#line 2448 "dtool/src/cppparser/cppBison.yxx" - { - (yyval.u.expr) = new CPPExpression('f', (yyvsp[(1) - (3)].u.expr)); -} - break; - - case 462: -/* Line 1792 of yacc.c */ -#line 2452 "dtool/src/cppparser/cppBison.yxx" - { - (yyval.u.expr) = new CPPExpression('.', (yyvsp[(1) - (3)].u.expr), (yyvsp[(3) - (3)].u.expr)); -} - break; - - case 463: -/* Line 1792 of yacc.c */ -#line 2456 "dtool/src/cppparser/cppBison.yxx" - { - (yyval.u.expr) = new CPPExpression(POINTSAT, (yyvsp[(1) - (3)].u.expr), (yyvsp[(3) - (3)].u.expr)); -} - break; - - case 464: -/* Line 1792 of yacc.c */ -#line 2460 "dtool/src/cppparser/cppBison.yxx" - { - (yyval.u.expr) = (yyvsp[(2) - (3)].u.expr); -} - break; - - case 465: -/* Line 1792 of yacc.c */ -#line 2468 "dtool/src/cppparser/cppBison.yxx" +#line 2339 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = (yyvsp[(1) - (1)].u.expr); } break; - case 466: + case 433: /* Line 1792 of yacc.c */ -#line 2472 "dtool/src/cppparser/cppBison.yxx" +#line 2343 "dtool/src/cppparser/cppBison.yxx" + { + (yyval.u.expr) = new CPPExpression(',', (yyvsp[(1) - (3)].u.expr), (yyvsp[(3) - (3)].u.expr)); +} + break; + + case 434: +/* Line 1792 of yacc.c */ +#line 2350 "dtool/src/cppparser/cppBison.yxx" + { + (yyval.u.expr) = (yyvsp[(1) - (1)].u.expr); +} + break; + + case 435: +/* Line 1792 of yacc.c */ +#line 2354 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(CPPExpression::typecast_op((yyvsp[(2) - (4)].u.type), (yyvsp[(4) - (4)].u.expr))); } break; - case 467: + case 436: /* Line 1792 of yacc.c */ -#line 2476 "dtool/src/cppparser/cppBison.yxx" +#line 2358 "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 437: +/* Line 1792 of yacc.c */ +#line 2362 "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 438: +/* Line 1792 of yacc.c */ +#line 2366 "dtool/src/cppparser/cppBison.yxx" + { + (yyval.u.expr) = new CPPExpression(CPPExpression::sizeof_func((yyvsp[(3) - (4)].u.type))); +} + break; + + case 439: +/* Line 1792 of yacc.c */ +#line 2370 "dtool/src/cppparser/cppBison.yxx" + { + (yyval.u.expr) = new CPPExpression(CPPExpression::alignof_func((yyvsp[(3) - (4)].u.type))); +} + break; + + case 440: +/* Line 1792 of yacc.c */ +#line 2374 "dtool/src/cppparser/cppBison.yxx" + { + (yyval.u.expr) = new CPPExpression(UNARY_NOT, (yyvsp[(2) - (2)].u.expr)); +} + break; + + case 441: +/* Line 1792 of yacc.c */ +#line 2378 "dtool/src/cppparser/cppBison.yxx" + { + (yyval.u.expr) = new CPPExpression(UNARY_NEGATE, (yyvsp[(2) - (2)].u.expr)); +} + break; + + case 442: +/* Line 1792 of yacc.c */ +#line 2382 "dtool/src/cppparser/cppBison.yxx" + { + (yyval.u.expr) = new CPPExpression(UNARY_MINUS, (yyvsp[(2) - (2)].u.expr)); +} + break; + + case 443: +/* Line 1792 of yacc.c */ +#line 2386 "dtool/src/cppparser/cppBison.yxx" + { + (yyval.u.expr) = new CPPExpression(UNARY_STAR, (yyvsp[(2) - (2)].u.expr)); +} + break; + + case 444: +/* Line 1792 of yacc.c */ +#line 2390 "dtool/src/cppparser/cppBison.yxx" + { + (yyval.u.expr) = new CPPExpression(UNARY_REF, (yyvsp[(2) - (2)].u.expr)); +} + break; + + case 445: +/* Line 1792 of yacc.c */ +#line 2394 "dtool/src/cppparser/cppBison.yxx" + { + (yyval.u.expr) = new CPPExpression('*', (yyvsp[(1) - (3)].u.expr), (yyvsp[(3) - (3)].u.expr)); +} + break; + + case 446: +/* Line 1792 of yacc.c */ +#line 2398 "dtool/src/cppparser/cppBison.yxx" + { + (yyval.u.expr) = new CPPExpression('/', (yyvsp[(1) - (3)].u.expr), (yyvsp[(3) - (3)].u.expr)); +} + break; + + case 447: +/* Line 1792 of yacc.c */ +#line 2402 "dtool/src/cppparser/cppBison.yxx" + { + (yyval.u.expr) = new CPPExpression('%', (yyvsp[(1) - (3)].u.expr), (yyvsp[(3) - (3)].u.expr)); +} + break; + + case 448: +/* Line 1792 of yacc.c */ +#line 2406 "dtool/src/cppparser/cppBison.yxx" + { + (yyval.u.expr) = new CPPExpression('+', (yyvsp[(1) - (3)].u.expr), (yyvsp[(3) - (3)].u.expr)); +} + break; + + case 449: +/* Line 1792 of yacc.c */ +#line 2410 "dtool/src/cppparser/cppBison.yxx" + { + (yyval.u.expr) = new CPPExpression('-', (yyvsp[(1) - (3)].u.expr), (yyvsp[(3) - (3)].u.expr)); +} + break; + + case 450: +/* Line 1792 of yacc.c */ +#line 2414 "dtool/src/cppparser/cppBison.yxx" + { + (yyval.u.expr) = new CPPExpression('|', (yyvsp[(1) - (3)].u.expr), (yyvsp[(3) - (3)].u.expr)); +} + break; + + case 451: +/* Line 1792 of yacc.c */ +#line 2418 "dtool/src/cppparser/cppBison.yxx" + { + (yyval.u.expr) = new CPPExpression('^', (yyvsp[(1) - (3)].u.expr), (yyvsp[(3) - (3)].u.expr)); +} + break; + + case 452: +/* Line 1792 of yacc.c */ +#line 2422 "dtool/src/cppparser/cppBison.yxx" + { + (yyval.u.expr) = new CPPExpression('&', (yyvsp[(1) - (3)].u.expr), (yyvsp[(3) - (3)].u.expr)); +} + break; + + case 453: +/* Line 1792 of yacc.c */ +#line 2426 "dtool/src/cppparser/cppBison.yxx" + { + (yyval.u.expr) = new CPPExpression(OROR, (yyvsp[(1) - (3)].u.expr), (yyvsp[(3) - (3)].u.expr)); +} + break; + + case 454: +/* Line 1792 of yacc.c */ +#line 2430 "dtool/src/cppparser/cppBison.yxx" + { + (yyval.u.expr) = new CPPExpression(ANDAND, (yyvsp[(1) - (3)].u.expr), (yyvsp[(3) - (3)].u.expr)); +} + break; + + case 455: +/* Line 1792 of yacc.c */ +#line 2434 "dtool/src/cppparser/cppBison.yxx" + { + (yyval.u.expr) = new CPPExpression(EQCOMPARE, (yyvsp[(1) - (3)].u.expr), (yyvsp[(3) - (3)].u.expr)); +} + break; + + case 456: +/* Line 1792 of yacc.c */ +#line 2438 "dtool/src/cppparser/cppBison.yxx" + { + (yyval.u.expr) = new CPPExpression(NECOMPARE, (yyvsp[(1) - (3)].u.expr), (yyvsp[(3) - (3)].u.expr)); +} + break; + + case 457: +/* Line 1792 of yacc.c */ +#line 2442 "dtool/src/cppparser/cppBison.yxx" + { + (yyval.u.expr) = new CPPExpression(LECOMPARE, (yyvsp[(1) - (3)].u.expr), (yyvsp[(3) - (3)].u.expr)); +} + break; + + case 458: +/* Line 1792 of yacc.c */ +#line 2446 "dtool/src/cppparser/cppBison.yxx" + { + (yyval.u.expr) = new CPPExpression(GECOMPARE, (yyvsp[(1) - (3)].u.expr), (yyvsp[(3) - (3)].u.expr)); +} + break; + + case 459: +/* Line 1792 of yacc.c */ +#line 2450 "dtool/src/cppparser/cppBison.yxx" + { + (yyval.u.expr) = new CPPExpression(LSHIFT, (yyvsp[(1) - (3)].u.expr), (yyvsp[(3) - (3)].u.expr)); +} + break; + + case 460: +/* Line 1792 of yacc.c */ +#line 2454 "dtool/src/cppparser/cppBison.yxx" + { + (yyval.u.expr) = new CPPExpression(RSHIFT, (yyvsp[(1) - (3)].u.expr), (yyvsp[(3) - (3)].u.expr)); +} + break; + + case 461: +/* Line 1792 of yacc.c */ +#line 2458 "dtool/src/cppparser/cppBison.yxx" + { + (yyval.u.expr) = new CPPExpression('?', (yyvsp[(1) - (5)].u.expr), (yyvsp[(3) - (5)].u.expr), (yyvsp[(5) - (5)].u.expr)); +} + break; + + case 462: +/* Line 1792 of yacc.c */ +#line 2462 "dtool/src/cppparser/cppBison.yxx" + { + (yyval.u.expr) = new CPPExpression('[', (yyvsp[(1) - (4)].u.expr), (yyvsp[(3) - (4)].u.expr)); +} + break; + + case 463: +/* Line 1792 of yacc.c */ +#line 2466 "dtool/src/cppparser/cppBison.yxx" + { + (yyval.u.expr) = new CPPExpression('f', (yyvsp[(1) - (4)].u.expr), (yyvsp[(3) - (4)].u.expr)); +} + break; + + case 464: +/* Line 1792 of yacc.c */ +#line 2470 "dtool/src/cppparser/cppBison.yxx" + { + (yyval.u.expr) = new CPPExpression('f', (yyvsp[(1) - (3)].u.expr)); +} + break; + + case 465: +/* Line 1792 of yacc.c */ +#line 2474 "dtool/src/cppparser/cppBison.yxx" + { + (yyval.u.expr) = new CPPExpression('.', (yyvsp[(1) - (3)].u.expr), (yyvsp[(3) - (3)].u.expr)); +} + break; + + case 466: +/* Line 1792 of yacc.c */ +#line 2478 "dtool/src/cppparser/cppBison.yxx" + { + (yyval.u.expr) = new CPPExpression(POINTSAT, (yyvsp[(1) - (3)].u.expr), (yyvsp[(3) - (3)].u.expr)); +} + break; + + case 467: +/* Line 1792 of yacc.c */ +#line 2482 "dtool/src/cppparser/cppBison.yxx" + { + (yyval.u.expr) = (yyvsp[(2) - (3)].u.expr); +} + break; + case 468: /* Line 1792 of yacc.c */ -#line 2480 "dtool/src/cppparser/cppBison.yxx" +#line 2490 "dtool/src/cppparser/cppBison.yxx" { - (yyval.u.expr) = new CPPExpression(CPPExpression::typecast_op((yyvsp[(3) - (7)].u.type), (yyvsp[(6) - (7)].u.expr))); + (yyval.u.expr) = (yyvsp[(1) - (1)].u.expr); } break; case 469: /* Line 1792 of yacc.c */ -#line 2484 "dtool/src/cppparser/cppBison.yxx" +#line 2494 "dtool/src/cppparser/cppBison.yxx" + { + (yyval.u.expr) = new CPPExpression(CPPExpression::typecast_op((yyvsp[(2) - (4)].u.type), (yyvsp[(4) - (4)].u.expr))); +} + break; + + case 470: +/* Line 1792 of yacc.c */ +#line 2498 "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 471: +/* Line 1792 of yacc.c */ +#line 2502 "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 472: +/* Line 1792 of yacc.c */ +#line 2506 "dtool/src/cppparser/cppBison.yxx" { // A constructor call. CPPType *type = (yyvsp[(1) - (4)].u.identifier)->find_type(current_scope, global_scope, false, current_lexer); @@ -6570,9 +6681,9 @@ yyreduce: } break; - case 470: + case 473: /* Line 1792 of yacc.c */ -#line 2494 "dtool/src/cppparser/cppBison.yxx" +#line 2516 "dtool/src/cppparser/cppBison.yxx" { CPPType *type = CPPType::new_type(new CPPSimpleType(CPPSimpleType::T_int)); @@ -6580,9 +6691,9 @@ yyreduce: } break; - case 471: + case 474: /* Line 1792 of yacc.c */ -#line 2500 "dtool/src/cppparser/cppBison.yxx" +#line 2522 "dtool/src/cppparser/cppBison.yxx" { CPPType *type = CPPType::new_type(new CPPSimpleType(CPPSimpleType::T_char)); @@ -6590,9 +6701,9 @@ yyreduce: } break; - case 472: + case 475: /* Line 1792 of yacc.c */ -#line 2506 "dtool/src/cppparser/cppBison.yxx" +#line 2528 "dtool/src/cppparser/cppBison.yxx" { CPPType *type = CPPType::new_type(new CPPSimpleType(CPPSimpleType::T_wchar_t)); @@ -6600,9 +6711,9 @@ yyreduce: } break; - case 473: + case 476: /* Line 1792 of yacc.c */ -#line 2512 "dtool/src/cppparser/cppBison.yxx" +#line 2534 "dtool/src/cppparser/cppBison.yxx" { CPPType *type = CPPType::new_type(new CPPSimpleType(CPPSimpleType::T_char16_t)); @@ -6610,9 +6721,9 @@ yyreduce: } break; - case 474: + case 477: /* Line 1792 of yacc.c */ -#line 2518 "dtool/src/cppparser/cppBison.yxx" +#line 2540 "dtool/src/cppparser/cppBison.yxx" { CPPType *type = CPPType::new_type(new CPPSimpleType(CPPSimpleType::T_char32_t)); @@ -6620,9 +6731,9 @@ yyreduce: } break; - case 475: + case 478: /* Line 1792 of yacc.c */ -#line 2524 "dtool/src/cppparser/cppBison.yxx" +#line 2546 "dtool/src/cppparser/cppBison.yxx" { CPPType *type = CPPType::new_type(new CPPSimpleType(CPPSimpleType::T_bool)); @@ -6630,9 +6741,9 @@ yyreduce: } break; - case 476: + case 479: /* Line 1792 of yacc.c */ -#line 2530 "dtool/src/cppparser/cppBison.yxx" +#line 2552 "dtool/src/cppparser/cppBison.yxx" { CPPType *type = CPPType::new_type(new CPPSimpleType(CPPSimpleType::T_int, @@ -6641,9 +6752,9 @@ yyreduce: } break; - case 477: + case 480: /* Line 1792 of yacc.c */ -#line 2537 "dtool/src/cppparser/cppBison.yxx" +#line 2559 "dtool/src/cppparser/cppBison.yxx" { CPPType *type = CPPType::new_type(new CPPSimpleType(CPPSimpleType::T_int, @@ -6652,9 +6763,9 @@ yyreduce: } break; - case 478: + case 481: /* Line 1792 of yacc.c */ -#line 2544 "dtool/src/cppparser/cppBison.yxx" +#line 2566 "dtool/src/cppparser/cppBison.yxx" { CPPType *type = CPPType::new_type(new CPPSimpleType(CPPSimpleType::T_int, @@ -6663,9 +6774,9 @@ yyreduce: } break; - case 479: + case 482: /* Line 1792 of yacc.c */ -#line 2551 "dtool/src/cppparser/cppBison.yxx" +#line 2573 "dtool/src/cppparser/cppBison.yxx" { CPPType *type = CPPType::new_type(new CPPSimpleType(CPPSimpleType::T_int, @@ -6674,9 +6785,9 @@ yyreduce: } break; - case 480: + case 483: /* Line 1792 of yacc.c */ -#line 2558 "dtool/src/cppparser/cppBison.yxx" +#line 2580 "dtool/src/cppparser/cppBison.yxx" { CPPType *type = CPPType::new_type(new CPPSimpleType(CPPSimpleType::T_float)); @@ -6684,9 +6795,9 @@ yyreduce: } break; - case 481: + case 484: /* Line 1792 of yacc.c */ -#line 2564 "dtool/src/cppparser/cppBison.yxx" +#line 2586 "dtool/src/cppparser/cppBison.yxx" { CPPType *type = CPPType::new_type(new CPPSimpleType(CPPSimpleType::T_double)); @@ -6694,305 +6805,281 @@ yyreduce: } break; - case 482: + case 485: /* Line 1792 of yacc.c */ -#line 2570 "dtool/src/cppparser/cppBison.yxx" +#line 2592 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(CPPExpression::sizeof_func((yyvsp[(3) - (4)].u.type))); } break; - case 483: + case 486: /* Line 1792 of yacc.c */ -#line 2574 "dtool/src/cppparser/cppBison.yxx" +#line 2596 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(CPPExpression::alignof_func((yyvsp[(3) - (4)].u.type))); } break; - case 484: + case 487: /* Line 1792 of yacc.c */ -#line 2578 "dtool/src/cppparser/cppBison.yxx" +#line 2600 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(CPPExpression::new_op((yyvsp[(2) - (2)].u.type))); } break; - case 485: + case 488: /* Line 1792 of yacc.c */ -#line 2582 "dtool/src/cppparser/cppBison.yxx" +#line 2604 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(CPPExpression::new_op((yyvsp[(2) - (5)].u.type), (yyvsp[(4) - (5)].u.expr))); } break; - case 486: + case 489: /* Line 1792 of yacc.c */ -#line 2586 "dtool/src/cppparser/cppBison.yxx" +#line 2608 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(UNARY_NOT, (yyvsp[(2) - (2)].u.expr)); } break; - case 487: + case 490: /* Line 1792 of yacc.c */ -#line 2590 "dtool/src/cppparser/cppBison.yxx" +#line 2612 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(UNARY_NEGATE, (yyvsp[(2) - (2)].u.expr)); } break; - case 488: + case 491: /* Line 1792 of yacc.c */ -#line 2594 "dtool/src/cppparser/cppBison.yxx" +#line 2616 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(UNARY_MINUS, (yyvsp[(2) - (2)].u.expr)); } break; - case 489: + case 492: /* Line 1792 of yacc.c */ -#line 2598 "dtool/src/cppparser/cppBison.yxx" +#line 2620 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(UNARY_STAR, (yyvsp[(2) - (2)].u.expr)); } break; - case 490: + case 493: /* Line 1792 of yacc.c */ -#line 2602 "dtool/src/cppparser/cppBison.yxx" +#line 2624 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(UNARY_REF, (yyvsp[(2) - (2)].u.expr)); } break; - case 491: + case 494: /* Line 1792 of yacc.c */ -#line 2606 "dtool/src/cppparser/cppBison.yxx" +#line 2628 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression('*', (yyvsp[(1) - (3)].u.expr), (yyvsp[(3) - (3)].u.expr)); } break; - case 492: + case 495: /* Line 1792 of yacc.c */ -#line 2610 "dtool/src/cppparser/cppBison.yxx" +#line 2632 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression('/', (yyvsp[(1) - (3)].u.expr), (yyvsp[(3) - (3)].u.expr)); } break; - case 493: + case 496: /* Line 1792 of yacc.c */ -#line 2614 "dtool/src/cppparser/cppBison.yxx" +#line 2636 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression('%', (yyvsp[(1) - (3)].u.expr), (yyvsp[(3) - (3)].u.expr)); } break; - case 494: + case 497: /* Line 1792 of yacc.c */ -#line 2618 "dtool/src/cppparser/cppBison.yxx" +#line 2640 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression('+', (yyvsp[(1) - (3)].u.expr), (yyvsp[(3) - (3)].u.expr)); } break; - case 495: + case 498: /* Line 1792 of yacc.c */ -#line 2622 "dtool/src/cppparser/cppBison.yxx" +#line 2644 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression('-', (yyvsp[(1) - (3)].u.expr), (yyvsp[(3) - (3)].u.expr)); } break; - case 496: + case 499: /* Line 1792 of yacc.c */ -#line 2626 "dtool/src/cppparser/cppBison.yxx" +#line 2648 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression('|', (yyvsp[(1) - (3)].u.expr), (yyvsp[(3) - (3)].u.expr)); } break; - case 497: + case 500: /* Line 1792 of yacc.c */ -#line 2630 "dtool/src/cppparser/cppBison.yxx" +#line 2652 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression('^', (yyvsp[(1) - (3)].u.expr), (yyvsp[(3) - (3)].u.expr)); } break; - case 498: + case 501: /* Line 1792 of yacc.c */ -#line 2634 "dtool/src/cppparser/cppBison.yxx" +#line 2656 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression('&', (yyvsp[(1) - (3)].u.expr), (yyvsp[(3) - (3)].u.expr)); } break; - case 499: + case 502: /* Line 1792 of yacc.c */ -#line 2638 "dtool/src/cppparser/cppBison.yxx" +#line 2660 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(OROR, (yyvsp[(1) - (3)].u.expr), (yyvsp[(3) - (3)].u.expr)); } break; - case 500: + case 503: /* Line 1792 of yacc.c */ -#line 2642 "dtool/src/cppparser/cppBison.yxx" +#line 2664 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(ANDAND, (yyvsp[(1) - (3)].u.expr), (yyvsp[(3) - (3)].u.expr)); } break; - case 501: + case 504: /* Line 1792 of yacc.c */ -#line 2646 "dtool/src/cppparser/cppBison.yxx" +#line 2668 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(EQCOMPARE, (yyvsp[(1) - (3)].u.expr), (yyvsp[(3) - (3)].u.expr)); } break; - case 502: + case 505: /* Line 1792 of yacc.c */ -#line 2650 "dtool/src/cppparser/cppBison.yxx" +#line 2672 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(NECOMPARE, (yyvsp[(1) - (3)].u.expr), (yyvsp[(3) - (3)].u.expr)); } break; - case 503: + case 506: /* Line 1792 of yacc.c */ -#line 2654 "dtool/src/cppparser/cppBison.yxx" +#line 2676 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(LECOMPARE, (yyvsp[(1) - (3)].u.expr), (yyvsp[(3) - (3)].u.expr)); } break; - case 504: + case 507: /* Line 1792 of yacc.c */ -#line 2658 "dtool/src/cppparser/cppBison.yxx" +#line 2680 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(GECOMPARE, (yyvsp[(1) - (3)].u.expr), (yyvsp[(3) - (3)].u.expr)); } break; - case 505: + case 508: /* Line 1792 of yacc.c */ -#line 2662 "dtool/src/cppparser/cppBison.yxx" +#line 2684 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression('<', (yyvsp[(1) - (3)].u.expr), (yyvsp[(3) - (3)].u.expr)); } break; - case 506: + case 509: /* Line 1792 of yacc.c */ -#line 2666 "dtool/src/cppparser/cppBison.yxx" +#line 2688 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression('>', (yyvsp[(1) - (3)].u.expr), (yyvsp[(3) - (3)].u.expr)); } break; - case 507: + case 510: /* Line 1792 of yacc.c */ -#line 2670 "dtool/src/cppparser/cppBison.yxx" +#line 2692 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(LSHIFT, (yyvsp[(1) - (3)].u.expr), (yyvsp[(3) - (3)].u.expr)); } break; - case 508: + case 511: /* Line 1792 of yacc.c */ -#line 2674 "dtool/src/cppparser/cppBison.yxx" +#line 2696 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(RSHIFT, (yyvsp[(1) - (3)].u.expr), (yyvsp[(3) - (3)].u.expr)); } break; - case 509: + case 512: /* Line 1792 of yacc.c */ -#line 2678 "dtool/src/cppparser/cppBison.yxx" +#line 2700 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression('?', (yyvsp[(1) - (5)].u.expr), (yyvsp[(3) - (5)].u.expr), (yyvsp[(5) - (5)].u.expr)); } break; - case 510: + case 513: /* Line 1792 of yacc.c */ -#line 2682 "dtool/src/cppparser/cppBison.yxx" +#line 2704 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression('[', (yyvsp[(1) - (4)].u.expr), (yyvsp[(3) - (4)].u.expr)); } break; - case 511: + case 514: /* Line 1792 of yacc.c */ -#line 2686 "dtool/src/cppparser/cppBison.yxx" +#line 2708 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression('f', (yyvsp[(1) - (4)].u.expr), (yyvsp[(3) - (4)].u.expr)); } break; - case 512: + case 515: /* Line 1792 of yacc.c */ -#line 2690 "dtool/src/cppparser/cppBison.yxx" +#line 2712 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression('f', (yyvsp[(1) - (3)].u.expr)); } break; - case 513: + case 516: /* Line 1792 of yacc.c */ -#line 2694 "dtool/src/cppparser/cppBison.yxx" +#line 2716 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression('.', (yyvsp[(1) - (3)].u.expr), (yyvsp[(3) - (3)].u.expr)); } break; - case 514: + case 517: /* Line 1792 of yacc.c */ -#line 2698 "dtool/src/cppparser/cppBison.yxx" +#line 2720 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(POINTSAT, (yyvsp[(1) - (3)].u.expr), (yyvsp[(3) - (3)].u.expr)); } break; - case 515: + case 518: /* Line 1792 of yacc.c */ -#line 2702 "dtool/src/cppparser/cppBison.yxx" +#line 2724 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = (yyvsp[(2) - (3)].u.expr); } break; - case 516: -/* Line 1792 of yacc.c */ -#line 2709 "dtool/src/cppparser/cppBison.yxx" - { - (yyval.u.expr) = new CPPExpression((yyvsp[(1) - (1)].u.integer)); -} - break; - - case 517: -/* Line 1792 of yacc.c */ -#line 2713 "dtool/src/cppparser/cppBison.yxx" - { - (yyval.u.expr) = new CPPExpression(true); -} - break; - - case 518: -/* Line 1792 of yacc.c */ -#line 2717 "dtool/src/cppparser/cppBison.yxx" - { - (yyval.u.expr) = new CPPExpression(false); -} - break; - case 519: /* Line 1792 of yacc.c */ -#line 2721 "dtool/src/cppparser/cppBison.yxx" +#line 2731 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression((yyvsp[(1) - (1)].u.integer)); } @@ -7000,41 +7087,41 @@ yyreduce: case 520: /* Line 1792 of yacc.c */ -#line 2725 "dtool/src/cppparser/cppBison.yxx" +#line 2735 "dtool/src/cppparser/cppBison.yxx" { - (yyval.u.expr) = new CPPExpression((yyvsp[(1) - (1)].u.real)); + (yyval.u.expr) = new CPPExpression(true); } break; case 521: /* Line 1792 of yacc.c */ -#line 2729 "dtool/src/cppparser/cppBison.yxx" +#line 2739 "dtool/src/cppparser/cppBison.yxx" { - (yyval.u.expr) = (yyvsp[(1) - (1)].u.expr); + (yyval.u.expr) = new CPPExpression(false); } break; case 522: /* Line 1792 of yacc.c */ -#line 2733 "dtool/src/cppparser/cppBison.yxx" +#line 2743 "dtool/src/cppparser/cppBison.yxx" { - (yyval.u.expr) = (yyvsp[(1) - (1)].u.expr); + (yyval.u.expr) = new CPPExpression((yyvsp[(1) - (1)].u.integer)); } break; case 523: /* Line 1792 of yacc.c */ -#line 2737 "dtool/src/cppparser/cppBison.yxx" +#line 2747 "dtool/src/cppparser/cppBison.yxx" { - (yyval.u.expr) = new CPPExpression((yyvsp[(1) - (1)].u.identifier), current_scope, global_scope, current_lexer); + (yyval.u.expr) = new CPPExpression((yyvsp[(1) - (1)].u.real)); } break; case 524: /* Line 1792 of yacc.c */ -#line 2741 "dtool/src/cppparser/cppBison.yxx" +#line 2751 "dtool/src/cppparser/cppBison.yxx" { - (yyval.u.expr) = new CPPExpression(CPPExpression::get_nullptr()); + (yyval.u.expr) = (yyvsp[(1) - (1)].u.expr); } break; @@ -7050,7 +7137,7 @@ yyreduce: /* Line 1792 of yacc.c */ #line 2759 "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) - (1)].u.identifier), current_scope, global_scope, current_lexer); } break; @@ -7058,309 +7145,309 @@ yyreduce: /* Line 1792 of yacc.c */ #line 2763 "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::get_nullptr()); } break; case 528: /* Line 1792 of yacc.c */ -#line 2767 "dtool/src/cppparser/cppBison.yxx" +#line 2777 "dtool/src/cppparser/cppBison.yxx" { - (yyval.u.expr) = new CPPExpression(CPPExpression::typecast_op((yyvsp[(3) - (7)].u.type), (yyvsp[(6) - (7)].u.expr))); + (yyval.u.expr) = (yyvsp[(1) - (1)].u.expr); } break; case 529: /* Line 1792 of yacc.c */ -#line 2771 "dtool/src/cppparser/cppBison.yxx" +#line 2781 "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[(2) - (4)].u.type), (yyvsp[(4) - (4)].u.expr))); } break; case 530: /* Line 1792 of yacc.c */ -#line 2775 "dtool/src/cppparser/cppBison.yxx" +#line 2785 "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; case 531: /* Line 1792 of yacc.c */ -#line 2779 "dtool/src/cppparser/cppBison.yxx" +#line 2789 "dtool/src/cppparser/cppBison.yxx" { - (yyval.u.expr) = new CPPExpression(CPPExpression::new_op((yyvsp[(2) - (2)].u.type))); + (yyval.u.expr) = new CPPExpression(CPPExpression::typecast_op((yyvsp[(3) - (7)].u.type), (yyvsp[(6) - (7)].u.expr))); } break; case 532: /* Line 1792 of yacc.c */ -#line 2783 "dtool/src/cppparser/cppBison.yxx" +#line 2793 "dtool/src/cppparser/cppBison.yxx" { - (yyval.u.expr) = new CPPExpression(CPPExpression::new_op((yyvsp[(2) - (5)].u.type), (yyvsp[(4) - (5)].u.expr))); + (yyval.u.expr) = new CPPExpression(CPPExpression::sizeof_func((yyvsp[(3) - (4)].u.type))); } break; case 533: /* Line 1792 of yacc.c */ -#line 2787 "dtool/src/cppparser/cppBison.yxx" +#line 2797 "dtool/src/cppparser/cppBison.yxx" { - (yyval.u.expr) = new CPPExpression(UNARY_NOT, (yyvsp[(2) - (2)].u.expr)); + (yyval.u.expr) = new CPPExpression(CPPExpression::alignof_func((yyvsp[(3) - (4)].u.type))); } break; case 534: /* Line 1792 of yacc.c */ -#line 2791 "dtool/src/cppparser/cppBison.yxx" +#line 2801 "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) - (2)].u.type))); } break; case 535: /* Line 1792 of yacc.c */ -#line 2795 "dtool/src/cppparser/cppBison.yxx" +#line 2805 "dtool/src/cppparser/cppBison.yxx" { - (yyval.u.expr) = new CPPExpression(UNARY_MINUS, (yyvsp[(2) - (2)].u.expr)); + (yyval.u.expr) = new CPPExpression(CPPExpression::new_op((yyvsp[(2) - (5)].u.type), (yyvsp[(4) - (5)].u.expr))); } break; case 536: /* Line 1792 of yacc.c */ -#line 2799 "dtool/src/cppparser/cppBison.yxx" +#line 2809 "dtool/src/cppparser/cppBison.yxx" { - (yyval.u.expr) = new CPPExpression(UNARY_REF, (yyvsp[(2) - (2)].u.expr)); + (yyval.u.expr) = new CPPExpression(UNARY_NOT, (yyvsp[(2) - (2)].u.expr)); } break; case 537: /* Line 1792 of yacc.c */ -#line 2803 "dtool/src/cppparser/cppBison.yxx" +#line 2813 "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_NEGATE, (yyvsp[(2) - (2)].u.expr)); } break; case 538: /* Line 1792 of yacc.c */ -#line 2807 "dtool/src/cppparser/cppBison.yxx" +#line 2817 "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; case 539: /* Line 1792 of yacc.c */ -#line 2811 "dtool/src/cppparser/cppBison.yxx" +#line 2821 "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; case 540: /* Line 1792 of yacc.c */ -#line 2815 "dtool/src/cppparser/cppBison.yxx" +#line 2825 "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; case 541: /* Line 1792 of yacc.c */ -#line 2819 "dtool/src/cppparser/cppBison.yxx" +#line 2829 "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; case 542: /* Line 1792 of yacc.c */ -#line 2823 "dtool/src/cppparser/cppBison.yxx" +#line 2833 "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; case 543: /* Line 1792 of yacc.c */ -#line 2827 "dtool/src/cppparser/cppBison.yxx" +#line 2837 "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; case 544: /* Line 1792 of yacc.c */ -#line 2831 "dtool/src/cppparser/cppBison.yxx" +#line 2841 "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; case 545: /* Line 1792 of yacc.c */ -#line 2835 "dtool/src/cppparser/cppBison.yxx" +#line 2845 "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; case 546: /* Line 1792 of yacc.c */ -#line 2839 "dtool/src/cppparser/cppBison.yxx" +#line 2849 "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; case 547: /* Line 1792 of yacc.c */ -#line 2843 "dtool/src/cppparser/cppBison.yxx" +#line 2853 "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('&', (yyvsp[(1) - (3)].u.expr), (yyvsp[(3) - (3)].u.expr)); } break; case 548: /* Line 1792 of yacc.c */ -#line 2847 "dtool/src/cppparser/cppBison.yxx" +#line 2857 "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(OROR, (yyvsp[(1) - (3)].u.expr), (yyvsp[(3) - (3)].u.expr)); } break; case 549: /* Line 1792 of yacc.c */ -#line 2851 "dtool/src/cppparser/cppBison.yxx" +#line 2861 "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(ANDAND, (yyvsp[(1) - (3)].u.expr), (yyvsp[(3) - (3)].u.expr)); } break; case 550: /* Line 1792 of yacc.c */ -#line 2855 "dtool/src/cppparser/cppBison.yxx" +#line 2865 "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(EQCOMPARE, (yyvsp[(1) - (3)].u.expr), (yyvsp[(3) - (3)].u.expr)); } break; case 551: /* Line 1792 of yacc.c */ -#line 2859 "dtool/src/cppparser/cppBison.yxx" +#line 2869 "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(NECOMPARE, (yyvsp[(1) - (3)].u.expr), (yyvsp[(3) - (3)].u.expr)); } break; case 552: /* Line 1792 of yacc.c */ -#line 2863 "dtool/src/cppparser/cppBison.yxx" +#line 2873 "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; case 553: /* Line 1792 of yacc.c */ -#line 2867 "dtool/src/cppparser/cppBison.yxx" +#line 2877 "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(GECOMPARE, (yyvsp[(1) - (3)].u.expr), (yyvsp[(3) - (3)].u.expr)); } break; case 554: /* Line 1792 of yacc.c */ -#line 2871 "dtool/src/cppparser/cppBison.yxx" +#line 2881 "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; case 555: /* Line 1792 of yacc.c */ -#line 2875 "dtool/src/cppparser/cppBison.yxx" +#line 2885 "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('>', (yyvsp[(1) - (3)].u.expr), (yyvsp[(3) - (3)].u.expr)); } break; case 556: /* Line 1792 of yacc.c */ -#line 2879 "dtool/src/cppparser/cppBison.yxx" +#line 2889 "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(LSHIFT, (yyvsp[(1) - (3)].u.expr), (yyvsp[(3) - (3)].u.expr)); } break; case 557: /* Line 1792 of yacc.c */ -#line 2883 "dtool/src/cppparser/cppBison.yxx" +#line 2893 "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(RSHIFT, (yyvsp[(1) - (3)].u.expr), (yyvsp[(3) - (3)].u.expr)); } break; case 558: /* Line 1792 of yacc.c */ -#line 2887 "dtool/src/cppparser/cppBison.yxx" +#line 2897 "dtool/src/cppparser/cppBison.yxx" { - (yyval.u.expr) = new CPPExpression('f', (yyvsp[(1) - (3)].u.expr)); + (yyval.u.expr) = new CPPExpression('?', (yyvsp[(1) - (5)].u.expr), (yyvsp[(3) - (5)].u.expr), (yyvsp[(5) - (5)].u.expr)); } break; case 559: /* Line 1792 of yacc.c */ -#line 2891 "dtool/src/cppparser/cppBison.yxx" +#line 2901 "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) - (4)].u.expr), (yyvsp[(3) - (4)].u.expr)); } break; case 560: /* Line 1792 of yacc.c */ -#line 2895 "dtool/src/cppparser/cppBison.yxx" +#line 2905 "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) - (4)].u.expr), (yyvsp[(3) - (4)].u.expr)); } break; case 561: /* Line 1792 of yacc.c */ -#line 2899 "dtool/src/cppparser/cppBison.yxx" +#line 2909 "dtool/src/cppparser/cppBison.yxx" { - (yyval.u.expr) = (yyvsp[(2) - (3)].u.expr); + (yyval.u.expr) = new CPPExpression('f', (yyvsp[(1) - (3)].u.expr)); } break; case 562: /* Line 1792 of yacc.c */ -#line 2906 "dtool/src/cppparser/cppBison.yxx" +#line 2913 "dtool/src/cppparser/cppBison.yxx" { - (yyval.u.expr) = new CPPExpression((yyvsp[(1) - (1)].u.integer)); + (yyval.u.expr) = new CPPExpression('.', (yyvsp[(1) - (3)].u.expr), (yyvsp[(3) - (3)].u.expr)); } break; case 563: /* Line 1792 of yacc.c */ -#line 2910 "dtool/src/cppparser/cppBison.yxx" +#line 2917 "dtool/src/cppparser/cppBison.yxx" { - (yyval.u.expr) = new CPPExpression(true); + (yyval.u.expr) = new CPPExpression(POINTSAT, (yyvsp[(1) - (3)].u.expr), (yyvsp[(3) - (3)].u.expr)); } break; case 564: /* Line 1792 of yacc.c */ -#line 2914 "dtool/src/cppparser/cppBison.yxx" +#line 2921 "dtool/src/cppparser/cppBison.yxx" { - (yyval.u.expr) = new CPPExpression(false); + (yyval.u.expr) = (yyvsp[(2) - (3)].u.expr); } break; case 565: /* Line 1792 of yacc.c */ -#line 2918 "dtool/src/cppparser/cppBison.yxx" +#line 2928 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression((yyvsp[(1) - (1)].u.integer)); } @@ -7368,39 +7455,71 @@ yyreduce: case 566: /* Line 1792 of yacc.c */ -#line 2922 "dtool/src/cppparser/cppBison.yxx" +#line 2932 "dtool/src/cppparser/cppBison.yxx" { - (yyval.u.expr) = new CPPExpression((yyvsp[(1) - (1)].u.real)); + (yyval.u.expr) = new CPPExpression(true); } break; case 567: /* Line 1792 of yacc.c */ -#line 2926 "dtool/src/cppparser/cppBison.yxx" +#line 2936 "dtool/src/cppparser/cppBison.yxx" { - (yyval.u.expr) = (yyvsp[(1) - (1)].u.expr); + (yyval.u.expr) = new CPPExpression(false); } break; case 568: /* Line 1792 of yacc.c */ -#line 2930 "dtool/src/cppparser/cppBison.yxx" +#line 2940 "dtool/src/cppparser/cppBison.yxx" { - (yyval.u.expr) = (yyvsp[(1) - (1)].u.expr); + (yyval.u.expr) = new CPPExpression((yyvsp[(1) - (1)].u.integer)); } break; case 569: /* Line 1792 of yacc.c */ -#line 2934 "dtool/src/cppparser/cppBison.yxx" +#line 2944 "dtool/src/cppparser/cppBison.yxx" { - (yyval.u.expr) = new CPPExpression(CPPExpression::get_nullptr()); + (yyval.u.expr) = new CPPExpression((yyvsp[(1) - (1)].u.real)); } break; case 570: /* Line 1792 of yacc.c */ -#line 2941 "dtool/src/cppparser/cppBison.yxx" +#line 2948 "dtool/src/cppparser/cppBison.yxx" + { + (yyval.u.expr) = (yyvsp[(1) - (1)].u.expr); +} + break; + + case 571: +/* Line 1792 of yacc.c */ +#line 2952 "dtool/src/cppparser/cppBison.yxx" + { + (yyval.u.expr) = (yyvsp[(1) - (1)].u.expr); +} + break; + + case 572: +/* Line 1792 of yacc.c */ +#line 2956 "dtool/src/cppparser/cppBison.yxx" + { + (yyval.u.expr) = new CPPExpression((yyvsp[(1) - (1)].u.identifier), current_scope, global_scope, current_lexer); +} + break; + + case 573: +/* Line 1792 of yacc.c */ +#line 2960 "dtool/src/cppparser/cppBison.yxx" + { + (yyval.u.expr) = new CPPExpression(CPPExpression::get_nullptr()); +} + break; + + case 574: +/* Line 1792 of yacc.c */ +#line 2967 "dtool/src/cppparser/cppBison.yxx" { CPPType *type = (yyvsp[(1) - (1)].u.identifier)->find_type(current_scope, global_scope, true); if (type == NULL) { @@ -7410,9 +7529,9 @@ yyreduce: } break; - case 571: + case 575: /* Line 1792 of yacc.c */ -#line 2949 "dtool/src/cppparser/cppBison.yxx" +#line 2975 "dtool/src/cppparser/cppBison.yxx" { CPPType *type = (yyvsp[(2) - (2)].u.identifier)->find_type(current_scope, global_scope, true, current_lexer); if (type == NULL) { @@ -7422,49 +7541,49 @@ yyreduce: } break; - case 572: + case 576: /* Line 1792 of yacc.c */ -#line 2957 "dtool/src/cppparser/cppBison.yxx" +#line 2983 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.type) = CPPType::new_type(new CPPTBDType((yyvsp[(2) - (2)].u.identifier))); } break; - case 573: + case 577: /* Line 1792 of yacc.c */ -#line 2983 "dtool/src/cppparser/cppBison.yxx" +#line 3009 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.identifier) = (yyvsp[(1) - (1)].u.identifier); } break; - case 574: + case 578: /* Line 1792 of yacc.c */ -#line 2987 "dtool/src/cppparser/cppBison.yxx" +#line 3013 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.identifier) = (yyvsp[(1) - (1)].u.identifier); } break; - case 575: + case 579: /* Line 1792 of yacc.c */ -#line 2994 "dtool/src/cppparser/cppBison.yxx" +#line 3020 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression((yyvsp[(1) - (1)].str)); } break; - case 576: + case 580: /* Line 1792 of yacc.c */ -#line 2998 "dtool/src/cppparser/cppBison.yxx" +#line 3024 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = (yyvsp[(1) - (1)].u.expr); } break; - case 577: + case 581: /* Line 1792 of yacc.c */ -#line 3002 "dtool/src/cppparser/cppBison.yxx" +#line 3028 "dtool/src/cppparser/cppBison.yxx" { // The right string takes on the literal type of the left. (yyval.u.expr) = (yyvsp[(1) - (2)].u.expr); @@ -7472,9 +7591,9 @@ yyreduce: } break; - case 578: + case 582: /* Line 1792 of yacc.c */ -#line 3008 "dtool/src/cppparser/cppBison.yxx" +#line 3034 "dtool/src/cppparser/cppBison.yxx" { // We have to check that the two literal types match up. (yyval.u.expr) = (yyvsp[(1) - (2)].u.expr); @@ -7487,7 +7606,7 @@ yyreduce: /* Line 1792 of yacc.c */ -#line 7491 "built/tmp/cppBison.yxx.c" +#line 7610 "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 6221bd8507..0cca93bef7 100644 --- a/dtool/src/cppparser/cppBison.yxx +++ b/dtool/src/cppparser/cppBison.yxx @@ -577,56 +577,60 @@ storage_class: { $$ = 0; } - | storage_class KW_EXTERN + | KW_EXTERN storage_class { - $$ = $1 | (int)CPPInstance::SC_extern; + $$ = $2 | (int)CPPInstance::SC_extern; } - | storage_class KW_EXTERN SIMPLE_STRING + | KW_EXTERN SIMPLE_STRING storage_class { - $$ = $1 | (int)CPPInstance::SC_extern; - if ($3 == "C") { + $$ = $3 | (int)CPPInstance::SC_extern; + if ($2 == "C") { $$ |= (int)CPPInstance::SC_c_binding; - } else if ($3 == "C++") { + } else if ($2 == "C++") { $$ &= ~(int)CPPInstance::SC_c_binding; } else { - yywarning("Ignoring unknown linkage type \"" + $3 + "\"", @3); + yywarning("Ignoring unknown linkage type \"" + $2 + "\"", @2); } } - | storage_class KW_STATIC + | KW_STATIC storage_class { - $$ = $1 | (int)CPPInstance::SC_static; + $$ = $2 | (int)CPPInstance::SC_static; } - | storage_class KW_INLINE + | KW_INLINE storage_class { - $$ = $1 | (int)CPPInstance::SC_inline; + $$ = $2 | (int)CPPInstance::SC_inline; } - | storage_class KW_VIRTUAL + | KW_VIRTUAL storage_class { - $$ = $1 | (int)CPPInstance::SC_virtual; + $$ = $2 | (int)CPPInstance::SC_virtual; } - | storage_class KW_EXPLICIT + | KW_EXPLICIT storage_class { - $$ = $1 | (int)CPPInstance::SC_explicit; + $$ = $2 | (int)CPPInstance::SC_explicit; } - | storage_class KW_VOLATILE + | KW_REGISTER storage_class { - $$ = $1 | (int)CPPInstance::SC_volatile; + $$ = $2 | (int)CPPInstance::SC_register; } - | storage_class KW_MUTABLE + | KW_VOLATILE storage_class { - $$ = $1 | (int)CPPInstance::SC_mutable; + $$ = $2 | (int)CPPInstance::SC_volatile; } - | storage_class KW_REGISTER + | KW_MUTABLE storage_class { - $$ = $1 | (int)CPPInstance::SC_register; + $$ = $2 | (int)CPPInstance::SC_mutable; } - | storage_class KW_BLOCKING + | KW_CONSTEXPR storage_class { - $$ = $1 | (int)CPPInstance::SC_blocking; + $$ = $2 | (int)CPPInstance::SC_constexpr; } - | storage_class KW_EXTENSION + | KW_BLOCKING storage_class { - $$ = $1 | (int)CPPInstance::SC_extension; + $$ = $2 | (int)CPPInstance::SC_blocking; +} + | KW_EXTENSION storage_class +{ + $$ = $2 | (int)CPPInstance::SC_extension; } ; @@ -810,16 +814,18 @@ function_prototype: } formal_parameter_list ')' function_post { - pop_scope(); CPPType *type; - if ($1->get_simple_name() == current_scope->get_simple_name()) { + if ($1->get_simple_name() == current_scope->get_simple_name() || + $1->get_simple_name() == string("~") + current_scope->get_simple_name()) { // This is a constructor, and has no return. type = new CPPSimpleType(CPPSimpleType::T_void); } else { // This isn't a constructor, so it has an implicit return type of // int. + yywarning("function has no return type, assuming int", @1); type = new CPPSimpleType(CPPSimpleType::T_int); } + pop_scope(); CPPInstanceIdentifier *ii = new CPPInstanceIdentifier($1); ii->add_func_modifier($4, $6); @@ -1463,14 +1469,6 @@ formal_parameter: { $$ = new CPPInstance($1, $2, 0, @2.file); $$->set_initializer($3); -} - | IDENTIFIER formal_parameter_identifier maybe_initialize -{ - yywarning("Not a type: " + $1->get_fully_scoped_name(), @1); - CPPType *type = - CPPType::new_type(new CPPSimpleType(CPPSimpleType::T_unknown)); - $$ = new CPPInstance(type, $2, 0, @2.file); - $$->set_initializer($3); } | KW_CONST type formal_parameter_identifier maybe_initialize { @@ -2101,8 +2099,32 @@ namespace_declaration: cpp '}' { pop_scope(); +} + | KW_INLINE KW_NAMESPACE name '{' +{ + CPPScope *scope = $3->find_scope(current_scope, global_scope, current_lexer); + if (scope == NULL) { + // This must be a new namespace declaration. + CPPScope *parent_scope = + $3->get_scope(current_scope, global_scope, current_lexer); + if (parent_scope == NULL) { + parent_scope = current_scope; + } + scope = new CPPScope(parent_scope, $3->_names.back(), V_public); + } + + CPPNamespace *nspace = new CPPNamespace($3, scope, @2.file); + nspace->_inline = true; + current_scope->add_declaration(nspace, global_scope, current_lexer, @2); + current_scope->define_namespace(nspace); + push_scope(scope); +} + cpp '}' +{ + pop_scope(); } | KW_NAMESPACE '{' cpp '}' + | KW_INLINE KW_NAMESPACE '{' cpp '}' ; using_declaration: @@ -2929,6 +2951,10 @@ formal_const_operand: | CUSTOM_LITERAL { $$ = $1; +} + | IDENTIFIER +{ + $$ = new CPPExpression($1, current_scope, global_scope, current_lexer); } | KW_NULLPTR { diff --git a/dtool/src/cppparser/cppEnumType.cxx b/dtool/src/cppparser/cppEnumType.cxx index 5a79d8aabb..8a3684a777 100644 --- a/dtool/src/cppparser/cppEnumType.cxx +++ b/dtool/src/cppparser/cppEnumType.cxx @@ -82,6 +82,7 @@ add_element(const string &name, CPPExpression *value) { inst = new CPPInstance(CPPType::new_type(new CPPConstType(_element_type)), ident); } + inst->_storage_class |= CPPInstance::SC_constexpr; _elements.push_back(inst); if (value == (CPPExpression *)NULL) { diff --git a/dtool/src/cppparser/cppExpression.cxx b/dtool/src/cppparser/cppExpression.cxx index 430f9388d8..91bab50d03 100644 --- a/dtool/src/cppparser/cppExpression.cxx +++ b/dtool/src/cppparser/cppExpression.cxx @@ -531,6 +531,10 @@ evaluate() const { case T_variable: if (_u._variable->_type != NULL && _u._variable->_initializer != NULL) { + // A constexpr variable, which is treated as const. + if (_u._variable->_storage_class & CPPInstance::SC_constexpr) { + return _u._variable->_initializer->evaluate(); + } // A const variable. Fetch its assigned value. CPPConstType *const_type = _u._variable->_type->as_const_type(); if (const_type != NULL) { @@ -1227,6 +1231,9 @@ is_tbd() const { case T_variable: if (_u._variable->_type != NULL && _u._variable->_initializer != NULL) { + if (_u._variable->_storage_class & CPPInstance::SC_constexpr) { + return false; + } CPPConstType *const_type = _u._variable->_type->as_const_type(); if (const_type != NULL) { return false; @@ -1363,9 +1370,10 @@ output(ostream &out, int indent_level, CPPScope *scope, bool) const { if (_u._variable->_type != NULL && _u._variable->_initializer != NULL && _u._variable->_vis > V_public) { - // A const variable. Fetch its assigned value. + // A constexpr or const variable. Fetch its assigned value. CPPConstType *const_type = _u._variable->_type->as_const_type(); - if (const_type != NULL) { + if ((_u._variable->_storage_class & CPPInstance::SC_constexpr) != 0 || + const_type != NULL) { _u._variable->_initializer->output(out, indent_level, scope, false); break; } diff --git a/dtool/src/cppparser/cppIdentifier.cxx b/dtool/src/cppparser/cppIdentifier.cxx index e19345cd2a..f3c5985ed9 100644 --- a/dtool/src/cppparser/cppIdentifier.cxx +++ b/dtool/src/cppparser/cppIdentifier.cxx @@ -187,6 +187,12 @@ get_local_name(CPPScope *scope) const { // last name. CPPScope *my_scope = get_scope(scope, NULL); + // Strip off template scopes, since they don't add anything + // particularly meaningful to the local name. + while (my_scope->as_template_scope() != NULL) { + my_scope = my_scope->get_parent_scope(); + } + if (my_scope == NULL) { result = get_fully_scoped_name(); } else if (my_scope == scope) { @@ -463,7 +469,12 @@ find_symbol(CPPScope *current_scope, CPPScope *global_scope, CPPDeclaration *sym; if (!_names.back().has_templ()) { - sym = scope->find_symbol(get_simple_name()); + if (_names.size() > 1 && scope->get_simple_name() == get_simple_name()) { + // An identifier like Class::Class always refers to the class constructor. + sym = scope->get_struct_type()->get_constructor(); + } else { + sym = scope->find_symbol(get_simple_name()); + } } else { sym = scope->find_template(get_simple_name()); @@ -499,7 +510,12 @@ find_symbol(CPPScope *current_scope, CPPScope *global_scope, CPPDeclaration *sym; if (!_names.back().has_templ()) { - sym = scope->find_symbol(get_simple_name()); + if (_names.size() > 1 && scope->get_simple_name() == get_simple_name()) { + // An identifier like Class::Class always refers to the class constructor. + sym = scope->get_struct_type()->get_constructor(); + } else { + sym = scope->find_symbol(get_simple_name()); + } } else { sym = scope->find_template(get_simple_name()); diff --git a/dtool/src/cppparser/cppInstance.cxx b/dtool/src/cppparser/cppInstance.cxx index 7e969dfad2..5cbe0696af 100644 --- a/dtool/src/cppparser/cppInstance.cxx +++ b/dtool/src/cppparser/cppInstance.cxx @@ -601,6 +601,9 @@ output(ostream &out, int indent_level, CPPScope *scope, bool complete, if (_storage_class & SC_mutable) { out << "mutable "; } + if (_storage_class & SC_constexpr) { + out << "constexpr "; + } string name; if (_ident != NULL) { diff --git a/dtool/src/cppparser/cppInstance.h b/dtool/src/cppparser/cppInstance.h index bf5843196f..d22342730f 100644 --- a/dtool/src/cppparser/cppInstance.h +++ b/dtool/src/cppparser/cppInstance.h @@ -46,19 +46,20 @@ public: SC_pure_virtual = 0x0080, SC_volatile = 0x0100, SC_mutable = 0x0200, + SC_constexpr = 0x0400, // This bit is only set by CPPStructType::check_virtual(). - SC_inherited_virtual = 0x0400, + SC_inherited_virtual = 0x0800, // This is a special "storage class" for methods tagged with the // BLOCKING macro (i.e. the special __blocking keyword). These // are methods that might block and therefore need to release // Python threads for their duration. - SC_blocking = 0x0800, + SC_blocking = 0x1000, // And this is for methods tagged with __extension, which declares // extension methods defined separately from the source code. - SC_extension = 0x1000, + SC_extension = 0x2000, }; CPPInstance(CPPType *type, const string &name, int storage_class = 0); diff --git a/dtool/src/cppparser/cppNamespace.cxx b/dtool/src/cppparser/cppNamespace.cxx index 6cb0165b51..dc7871d8ea 100644 --- a/dtool/src/cppparser/cppNamespace.cxx +++ b/dtool/src/cppparser/cppNamespace.cxx @@ -26,7 +26,9 @@ CPPNamespace:: CPPNamespace(CPPIdentifier *ident, CPPScope *scope, const CPPFile &file) : CPPDeclaration(file), - _ident(ident), _scope(scope) + _ident(ident), + _scope(scope), + _inline(false) { } @@ -86,6 +88,9 @@ get_scope() const { //////////////////////////////////////////////////////////////////// void CPPNamespace:: output(ostream &out, int indent_level, CPPScope *scope, bool complete) const { + if (_inline) { + out << "inline "; + } if (!complete && _ident != NULL) { // If we have a name, use it. out << "namespace " << _ident->get_local_name(scope); diff --git a/dtool/src/cppparser/cppNamespace.h b/dtool/src/cppparser/cppNamespace.h index f5a64b8616..9791194419 100644 --- a/dtool/src/cppparser/cppNamespace.h +++ b/dtool/src/cppparser/cppNamespace.h @@ -42,6 +42,8 @@ public: virtual CPPNamespace *as_namespace(); + bool _inline; + private: CPPIdentifier *_ident; CPPScope *_scope; diff --git a/dtool/src/cppparser/cppScope.cxx b/dtool/src/cppparser/cppScope.cxx index 3e346394cb..ded976708d 100644 --- a/dtool/src/cppparser/cppScope.cxx +++ b/dtool/src/cppparser/cppScope.cxx @@ -292,10 +292,15 @@ define_extension_type(CPPExtensionType *type, CPPPreprocessor *error_sink) { // Description: //////////////////////////////////////////////////////////////////// void CPPScope:: -define_namespace(CPPNamespace *scope) { - string name = scope->get_simple_name(); +define_namespace(CPPNamespace *ns) { + string name = ns->get_simple_name(); - _namespaces[name] = scope; + _namespaces[name] = ns; + + if (ns->_inline) { + // Add an implicit using declaration for an inline namespace. + _using.insert(ns->get_scope()); + } } //////////////////////////////////////////////////////////////////// diff --git a/dtool/src/cppparser/cppStructType.cxx b/dtool/src/cppparser/cppStructType.cxx index c0a8aa7448..c6188ada30 100644 --- a/dtool/src/cppparser/cppStructType.cxx +++ b/dtool/src/cppparser/cppStructType.cxx @@ -277,6 +277,26 @@ is_incomplete() const { return _incomplete; } +//////////////////////////////////////////////////////////////////// +// Function: CPPStructType::get_constructor +// Access: Public +// Description: Returns the constructor defined for the struct type, +// if any, or NULL if no constructor is found. +//////////////////////////////////////////////////////////////////// +CPPFunctionGroup *CPPStructType:: +get_constructor() const { + // Iterate through all the functions that begin with '~' until we + // find one that claims to be a destructor. In theory, there should + // only be one such function. + CPPScope::Functions::const_iterator fi; + fi = _scope->_functions.find(get_simple_name()); + if (fi != _scope->_functions.end()) { + return fi->second; + } else { + return (CPPFunctionGroup *)NULL; + } +} + //////////////////////////////////////////////////////////////////// // Function: CPPStructType::get_destructor // Access: Public diff --git a/dtool/src/cppparser/cppStructType.h b/dtool/src/cppparser/cppStructType.h index 9a650320d2..bbbbaa324a 100644 --- a/dtool/src/cppparser/cppStructType.h +++ b/dtool/src/cppparser/cppStructType.h @@ -49,6 +49,7 @@ public: virtual bool is_incomplete() const; virtual bool is_trivial() const; + CPPFunctionGroup *get_constructor() const; CPPInstance *get_destructor() const; virtual CPPDeclaration * diff --git a/dtool/src/dtoolbase/dtoolbase.h b/dtool/src/dtoolbase/dtoolbase.h index 392997cb5b..68975b5877 100644 --- a/dtool/src/dtoolbase/dtoolbase.h +++ b/dtool/src/dtoolbase/dtoolbase.h @@ -254,8 +254,6 @@ #define TAU_TRACK_MEMORY_HERE() #define TAU_ENABLE_TRACKING_MEMORY() #define TAU_DISABLE_TRACKING_MEMORY() -#define TAU_TRACK_MEMORY() -#define TAU_TRACK_MEMORY_HERE() #define TAU_ENABLE_TRACKING_MUSE_EVENTS() #define TAU_DISABLE_TRACKING_MUSE_EVENTS() #define TAU_TRACK_MUSE_EVENTS() diff --git a/dtool/src/dtoolbase/dtoolbase_cc.h b/dtool/src/dtoolbase/dtoolbase_cc.h index abcf7ad3f5..2f722b7d22 100644 --- a/dtool/src/dtoolbase/dtoolbase_cc.h +++ b/dtool/src/dtoolbase/dtoolbase_cc.h @@ -34,7 +34,7 @@ using namespace std; #define INLINE inline #define ALWAYS_INLINE inline #define TYPENAME typename -#define CONSTEXPR +#define CONSTEXPR constexpr #define NOEXCEPT noexcept #define FINAL #define OVERRIDE diff --git a/dtool/src/dtoolbase/selectThreadImpl.h b/dtool/src/dtoolbase/selectThreadImpl.h index 9dcde6acc8..9a774ecb82 100644 --- a/dtool/src/dtoolbase/selectThreadImpl.h +++ b/dtool/src/dtoolbase/selectThreadImpl.h @@ -36,7 +36,7 @@ // regular volatile keyword. #define TVOLATILE volatile -#if !defined(HAVE_THREADS) +#if !defined(HAVE_THREADS) || defined(CPPPARSER) // With threading disabled, use the do-nothing implementation. #define THREAD_DUMMY_IMPL 1 diff --git a/dtool/src/interrogate/interfaceMaker.cxx b/dtool/src/interrogate/interfaceMaker.cxx index b8ec0c7c7f..a9ef73f7dc 100644 --- a/dtool/src/interrogate/interfaceMaker.cxx +++ b/dtool/src/interrogate/interfaceMaker.cxx @@ -412,6 +412,16 @@ remap_parameter(CPPType *struct_type, CPPType *param_type) { } else if (TypeManager::is_const_ptr_to_basic_string_wchar(param_type)) { return new ParameterRemapBasicWStringPtrToWString(param_type); + + } else if (TypeManager::is_reference(param_type) || + TypeManager::is_pointer(param_type)) { + // Python strings are immutable, so we can't wrap a non-const + // pointer or reference to a string. + CPPType *pt_type = TypeManager::unwrap(param_type); + if (TypeManager::is_basic_string_char(pt_type) || + TypeManager::is_basic_string_wchar(pt_type)) { + return (ParameterRemap *)NULL; + } } } } diff --git a/dtool/src/interrogate/interfaceMakerPythonSimple.cxx b/dtool/src/interrogate/interfaceMakerPythonSimple.cxx index 9b04103af2..17391e2226 100644 --- a/dtool/src/interrogate/interfaceMakerPythonSimple.cxx +++ b/dtool/src/interrogate/interfaceMakerPythonSimple.cxx @@ -360,8 +360,8 @@ void InterfaceMakerPythonSimple::write_function_instance(ostream &out, Interface pexpr_string = param_name; } else if (TypeManager::is_pointer(type)) { - out << "int " << param_name; - format_specifiers += "i"; + out << "Py_ssize_t " << param_name; + format_specifiers += "n"; parameter_list += ", &" + param_name; } else { diff --git a/dtool/src/interrogate/interrogateBuilder.cxx b/dtool/src/interrogate/interrogateBuilder.cxx index f16143c413..d164b80fc7 100644 --- a/dtool/src/interrogate/interrogateBuilder.cxx +++ b/dtool/src/interrogate/interrogateBuilder.cxx @@ -264,6 +264,9 @@ build() { ci != _forcetype.end(); ++ci) { CPPType *type = parser.parse_type(*ci); + if (type == NULL) { + cerr << "Failure to parse forcetype " << *ci << "\n"; + } assert(type != (CPPType *)NULL); get_type(type, true); } diff --git a/dtool/src/interrogate/typeManager.cxx b/dtool/src/interrogate/typeManager.cxx index 314e2d447a..f96cae5e6f 100644 --- a/dtool/src/interrogate/typeManager.cxx +++ b/dtool/src/interrogate/typeManager.cxx @@ -2295,7 +2295,7 @@ get_basic_string_char_type() { static bool got_type = false; static CPPType *type = (CPPType *)NULL; if (!got_type) { - type = parser.parse_type("basic_string"); + type = parser.parse_type("std::basic_string"); got_type = true; } return type; @@ -2312,7 +2312,7 @@ get_basic_string_wchar_type() { static bool got_type = false; static CPPType *type = (CPPType *)NULL; if (!got_type) { - type = parser.parse_type("basic_string"); + type = parser.parse_type("std::basic_string"); got_type = true; } return type; diff --git a/dtool/src/parser-inc/Dense b/dtool/src/parser-inc/Dense index d2b297889d..ab3fac8475 100644 --- a/dtool/src/parser-inc/Dense +++ b/dtool/src/parser-inc/Dense @@ -1,6 +1,4 @@ namespace Eigen { - template - class Matrix { - }; + template + class Matrix; }; - diff --git a/dtool/src/parser-inc/alloca.h b/dtool/src/parser-inc/alloca.h new file mode 100644 index 0000000000..e69de29bb2 diff --git a/dtool/src/parser-inc/btBulletDynamicsCommon.h b/dtool/src/parser-inc/btBulletDynamicsCommon.h index e0086678f2..f62fc5bee6 100644 --- a/dtool/src/parser-inc/btBulletDynamicsCommon.h +++ b/dtool/src/parser-inc/btBulletDynamicsCommon.h @@ -1,9 +1,11 @@ +#pragma once class bt32BitAxisSweep3; class btActionInterface; class btAxisSweep3; class btBoxShape; class btBroadphaseInterface; +class btBroadphaseProxy; class btBulletWorldImporter; class btBvhTriangleMeshShape; class btCapsuleShape; diff --git a/dtool/src/parser-inc/cfloat b/dtool/src/parser-inc/cfloat new file mode 100644 index 0000000000..13298efce8 --- /dev/null +++ b/dtool/src/parser-inc/cfloat @@ -0,0 +1 @@ +#include diff --git a/dtool/src/parser-inc/cmath b/dtool/src/parser-inc/cmath new file mode 100644 index 0000000000..b0ed8fc324 --- /dev/null +++ b/dtool/src/parser-inc/cmath @@ -0,0 +1,4 @@ +#pragma once + +typedef float float_t; +typedef double double_t; diff --git a/dtool/src/parser-inc/errno.h b/dtool/src/parser-inc/errno.h new file mode 100644 index 0000000000..5608e6f609 --- /dev/null +++ b/dtool/src/parser-inc/errno.h @@ -0,0 +1,7 @@ +#pragma once + +#define EDOM 33 +#define EILSEQ 84 +#define ERANGE 34 + +extern int errno; diff --git a/dtool/src/parser-inc/fcntl.h b/dtool/src/parser-inc/fcntl.h new file mode 100644 index 0000000000..dd87d6afa3 --- /dev/null +++ b/dtool/src/parser-inc/fcntl.h @@ -0,0 +1,7 @@ +#pragma once + +typedef int pid_t; +typedef long int off_t; +typedef unsigned int mode_t; + +struct flock; diff --git a/dtool/src/parser-inc/float.h b/dtool/src/parser-inc/float.h new file mode 100644 index 0000000000..d44c70cc92 --- /dev/null +++ b/dtool/src/parser-inc/float.h @@ -0,0 +1,18 @@ +#pragma once + +#define FLT_RADIX 2 +#define DECIMAL_DIG 21 + +#define FLT_MIN 1.17549435e-38F +#define DBL_MIN 2.2250738585072014e-308 +#define LDBL_MIN 3.36210314311209350626e-4932L + +#define FLT_MAX 3.40282347e+38F +#define DBL_MAX 1.7976931348623157e+308 +#define LDBL_MAX 1.18973149535723176502e+4932L + +#define FLT_DIG 6 +#define DBL_DIG 15 +#define LDBL_DIG 18 + +#define FLT_EVAL_METHOD -1 diff --git a/dtool/src/parser-inc/ft2build.h b/dtool/src/parser-inc/ft2build.h index f529e624f0..88dc8d645a 100644 --- a/dtool/src/parser-inc/ft2build.h +++ b/dtool/src/parser-inc/ft2build.h @@ -23,6 +23,7 @@ // This definition is intentionally recursive. Why complicate things // with multiple files? #define FT_FREETYPE_H +#define FT_OUTLINE_H class FT_Face; class FT_Library; diff --git a/dtool/src/parser-inc/iterator b/dtool/src/parser-inc/iterator new file mode 100644 index 0000000000..40b8e2f479 --- /dev/null +++ b/dtool/src/parser-inc/iterator @@ -0,0 +1,6 @@ +#pragma once + +namespace std { + template class iterator; + template class reverse_iterator; +}; diff --git a/dtool/src/parser-inc/limits b/dtool/src/parser-inc/limits new file mode 100644 index 0000000000..3729e2111e --- /dev/null +++ b/dtool/src/parser-inc/limits @@ -0,0 +1,5 @@ +#pragma once + +namespace std { + template class numeric_limits; +}; diff --git a/dtool/src/parser-inc/list b/dtool/src/parser-inc/list index 03b1df796f..f8e687c643 100644 --- a/dtool/src/parser-inc/list +++ b/dtool/src/parser-inc/list @@ -21,23 +21,26 @@ #define LIST_H #include +#include -template -class list { -public: - typedef element value_type; +namespace std { + template> + class list { + public: + typedef element value_type; - typedef element *pointer; - typedef const element *const_pointer; - typedef element &reference; - typedef const element &const_reference; + typedef element *pointer; + typedef const element *const_pointer; + typedef element &reference; + typedef const element &const_reference; - class iterator; - class const_iterator; - class reverse_iterator; - class const_reverse_iterator; - typedef size_t size_type; - class difference_type; -}; + class iterator; + class const_iterator; + class reverse_iterator; + class const_reverse_iterator; + typedef size_t size_type; + class difference_type; + }; +} #endif diff --git a/dtool/src/parser-inc/locale.h b/dtool/src/parser-inc/locale.h new file mode 100644 index 0000000000..8bbdb60164 --- /dev/null +++ b/dtool/src/parser-inc/locale.h @@ -0,0 +1,9 @@ +#pragma once + +#define LC_CTYPE 0 +#define LC_NUMERIC 1 +#define LC_TIME 2 +#define LC_COLLATE 3 +#define LC_MONETARY 4 +#define LC_MESSAGES 5 +#define LC_ALL 6 diff --git a/dtool/src/parser-inc/memory b/dtool/src/parser-inc/memory index 07f62a9043..1f76249963 100644 --- a/dtool/src/parser-inc/memory +++ b/dtool/src/parser-inc/memory @@ -32,16 +32,18 @@ public: #else // GCC_STYLE_ALLOCATOR -template -class allocator { -public: - typedef Type *pointer; - typedef const Type *const_pointer; - typedef size_t size_type; +namespace std { + template + class allocator { + public: + typedef Type *pointer; + typedef const Type *const_pointer; + typedef size_t size_type; - INLINE pointer allocate(size_type n, allocator::const_pointer hint = 0); - INLINE void deallocate(pointer p, size_type n); -}; + pointer allocate(size_type n, allocator::const_pointer hint = 0); + void deallocate(pointer p, size_type n); + }; +} #endif // GCC_STYLE_ALLOCATOR diff --git a/dtool/src/parser-inc/ode.h b/dtool/src/parser-inc/ode.h index 867ce8eb2f..6f9d0a0f6a 100644 --- a/dtool/src/parser-inc/ode.h +++ b/dtool/src/parser-inc/ode.h @@ -20,7 +20,6 @@ #define _ODE_CONFIG_H_ #define dSINGLE 1 -#define _MSC_VER 1 #define ODE_PLATFORM_WINDOWS #if !defined(ODE_API) diff --git a/dtool/src/parser-inc/ode/ode.h b/dtool/src/parser-inc/ode/ode.h index 867ce8eb2f..6f9d0a0f6a 100755 --- a/dtool/src/parser-inc/ode/ode.h +++ b/dtool/src/parser-inc/ode/ode.h @@ -20,7 +20,6 @@ #define _ODE_CONFIG_H_ #define dSINGLE 1 -#define _MSC_VER 1 #define ODE_PLATFORM_WINDOWS #if !defined(ODE_API) diff --git a/dtool/src/parser-inc/ogg/ogg.h b/dtool/src/parser-inc/ogg/ogg.h new file mode 100644 index 0000000000..5c65eb3866 --- /dev/null +++ b/dtool/src/parser-inc/ogg/ogg.h @@ -0,0 +1,14 @@ +#ifndef _OGG_H +#define _OGG_H + +#include +#include + +typedef struct {} ogg_iovec_t; +typedef struct {} oggpack_buffer; +typedef struct {} ogg_page; +typedef struct {} ogg_stream_state; +typedef struct {} ogg_packet; +typedef struct {} ogg_sync_state; + +#endif diff --git a/dtool/src/parser-inc/squish.h b/dtool/src/parser-inc/squish.h new file mode 100644 index 0000000000..6790d9bf17 --- /dev/null +++ b/dtool/src/parser-inc/squish.h @@ -0,0 +1,9 @@ +#ifndef SQUISH_H +#define SQUISH_H + +namespace squish { + typedef unsigned char u8; +}; + +#endif + diff --git a/dtool/src/parser-inc/sstream b/dtool/src/parser-inc/sstream new file mode 100644 index 0000000000..e2747422fe --- /dev/null +++ b/dtool/src/parser-inc/sstream @@ -0,0 +1,23 @@ +#pragma once + +namespace std { + template , + class Allocator = allocator > + class basic_stringbuf; + + template , + class Allocator = allocator > + class basic_istringstream; + + template , + class Allocator = allocator > + class basic_ostringstream; + + template , + class Allocator = allocator > + class basic_stringstream; +}; diff --git a/dtool/src/parser-inc/stdio.h b/dtool/src/parser-inc/stdio.h index 0986ee733b..87d7393351 100644 --- a/dtool/src/parser-inc/stdio.h +++ b/dtool/src/parser-inc/stdio.h @@ -5,4 +5,8 @@ struct FILE; +#define SEEK_SET 0 +#define SEEK_CUR 1 +#define SEEK_END 2 + #endif diff --git a/dtool/src/parser-inc/stdtypedefs.h b/dtool/src/parser-inc/stdtypedefs.h index 290f97c699..3c2b9d6d28 100644 --- a/dtool/src/parser-inc/stdtypedefs.h +++ b/dtool/src/parser-inc/stdtypedefs.h @@ -19,27 +19,26 @@ #ifndef STDTYPEDEFS_H #define STDTYPEDEFS_H -typedef int off_t; -typedef long time_t; -typedef long clock_t; - -namespace std { -} typedef unsigned int uint; typedef unsigned long ulong; typedef unsigned short ushort; typedef unsigned char uchar; +inline namespace std { + typedef long time_t; + typedef long clock_t; + #ifdef _WIN64 -typedef unsigned long long size_t; -typedef long long ssize_t; -typedef long long ptrdiff_t; + typedef unsigned long long size_t; + typedef long long ssize_t; + typedef long long ptrdiff_t; #else -typedef unsigned long size_t; -typedef long ssize_t; -typedef long ptrdiff_t; + typedef unsigned long size_t; + typedef long ssize_t; + typedef long ptrdiff_t; #endif +} #ifdef __cplusplus #define NULL 0L diff --git a/dtool/src/parser-inc/string b/dtool/src/parser-inc/string index 0372b88f5a..4ca8f3fa12 100644 --- a/dtool/src/parser-inc/string +++ b/dtool/src/parser-inc/string @@ -22,47 +22,53 @@ #include -template -class basic_string { -public: - typedef typename size_t size_type; - static const size_t npos = -1; - - basic_string(); - basic_string(const basic_string ©); - void operator = (const basic_string ©); - basic_string(const ctype *string); - ~basic_string(); - - const ctype *c_str() const; - size_t length() const; - - ctype at(size_t pos) const; - ctype operator[](size_t pos) const; - ctype &operator[](size_t pos); -}; - -typedef basic_string string; -typedef basic_string wstring; -typedef basic_string u16string; -typedef basic_string u32string; - namespace std { + template + class char_traits; + + template + class basic_string { + public: + struct iterator; + struct const_iterator; + struct reverse_iterator; + struct const_reverse_iterator; + + typedef typename size_t size_type; + static const size_t npos = -1; + + basic_string(); + basic_string(const basic_string ©); + void operator = (const basic_string ©); + basic_string(const ctype *string); + ~basic_string(); + + const ctype *c_str() const; + size_t length() const; + + ctype at(size_t pos) const; + ctype operator[](size_t pos) const; + ctype &operator[](size_t pos); + }; + + typedef basic_string string; + typedef basic_string wstring; + typedef basic_string u16string; + typedef basic_string u32string; + template struct hash; template<> struct hash; template<> struct hash; template<> struct hash; template<> struct hash; - namespace string_literals { - string operator "" s(const char *str, size_t len); - wstring operator "" s(const wchar_t *str, size_t len); - u16string operator "" s(const char16_t *str, size_t len); - u32string operator "" s(const char32_t *str, size_t len); - } - - namespace literals { - using namespace string_literals; + inline namespace literals { + inline namespace string_literals { + string operator "" s(const char *str, size_t len); + wstring operator "" s(const wchar_t *str, size_t len); + u16string operator "" s(const char16_t *str, size_t len); + u32string operator "" s(const char32_t *str, size_t len); + } } } diff --git a/dtool/src/parser-inc/sys/stat.h b/dtool/src/parser-inc/sys/stat.h new file mode 100644 index 0000000000..29ebbf9bf4 --- /dev/null +++ b/dtool/src/parser-inc/sys/stat.h @@ -0,0 +1,3 @@ +#pragma once + +struct stat; diff --git a/dtool/src/parser-inc/sys/time.h b/dtool/src/parser-inc/sys/time.h new file mode 100644 index 0000000000..98d3ef73ad --- /dev/null +++ b/dtool/src/parser-inc/sys/time.h @@ -0,0 +1,4 @@ +#pragma once + +struct timeval; +struct fd_set; diff --git a/dtool/src/parser-inc/sys/types.h b/dtool/src/parser-inc/sys/types.h new file mode 100644 index 0000000000..61aa533863 --- /dev/null +++ b/dtool/src/parser-inc/sys/types.h @@ -0,0 +1,17 @@ +#pragma once + +#include + +typedef unsigned int id_t; +typedef unsigned int gid_t; +typedef unsigned int uid_t; +typedef int pid_t; +typedef long int off_t; +typedef unsigned int mode_t; +typedef unsigned long ino_t; +typedef long int dev_t; + +typedef void *timer_t; +typedef int clockid_t; +typedef unsigned int useconds_t; +typedef long int suseconds_t; diff --git a/dtool/src/parser-inc/typeinfo b/dtool/src/parser-inc/typeinfo new file mode 100644 index 0000000000..9144890d5a --- /dev/null +++ b/dtool/src/parser-inc/typeinfo @@ -0,0 +1,5 @@ +#pragma once + +class type_info; +class bad_cast; +class bad_typeid; diff --git a/dtool/src/parser-inc/unistd.h b/dtool/src/parser-inc/unistd.h new file mode 100644 index 0000000000..ebf021ba1a --- /dev/null +++ b/dtool/src/parser-inc/unistd.h @@ -0,0 +1,10 @@ +#pragma once + +#include + +#define STDIN_FILENO 0 +#define STDOUT_FILENO 1 +#define STDERR_FILENO 2 + +extern char *optarg; +extern int optind, opterr, optopt; diff --git a/dtool/src/parser-inc/vorbis/codec.h b/dtool/src/parser-inc/vorbis/codec.h new file mode 100644 index 0000000000..e8bd4f5563 --- /dev/null +++ b/dtool/src/parser-inc/vorbis/codec.h @@ -0,0 +1 @@ +#include diff --git a/dtool/src/parser-inc/vorbis/vorbisfile.h b/dtool/src/parser-inc/vorbis/vorbisfile.h index f71cc23e89..6fa02846d3 100644 --- a/dtool/src/parser-inc/vorbis/vorbisfile.h +++ b/dtool/src/parser-inc/vorbis/vorbisfile.h @@ -1 +1,9 @@ -struct OggVorbis_File; +#ifndef _OV_FILE_H +#define _OV_FILE_H + +#include +#include "codec.h" + +typedef struct OggVorbis_File OggVorbis_File; + +#endif diff --git a/dtool/src/parser-inc/zconf.h b/dtool/src/parser-inc/zconf.h new file mode 100644 index 0000000000..c6842b7177 --- /dev/null +++ b/dtool/src/parser-inc/zconf.h @@ -0,0 +1,19 @@ +#ifndef ZCONF_H +#define ZCONF_H + +typedef unsigned char Byte; +typedef unsigned int uInt; +typedef unsigned long uLong; + +typedef char charf; +typedef int intf; +typedef uInt uIntf; +typedef uLong uLongf; + +typedef void const *voidpc; +typedef void *voidpf; +typedef void *voidp; + +typedef unsigned long z_crc_t; + +#endif diff --git a/dtool/src/parser-inc/zlib.h b/dtool/src/parser-inc/zlib.h index 34328a7605..b7d777850a 100644 --- a/dtool/src/parser-inc/zlib.h +++ b/dtool/src/parser-inc/zlib.h @@ -20,6 +20,8 @@ #ifndef ZLIB_H #define ZLIB_H +#include "zconf.h" + class z_stream { }; diff --git a/panda/src/downloader/bioPtr.h b/panda/src/downloader/bioPtr.h index b3ff5695b8..f50c239e9f 100644 --- a/panda/src/downloader/bioPtr.h +++ b/panda/src/downloader/bioPtr.h @@ -19,7 +19,10 @@ // This module is not compiled if OpenSSL is not available. #ifdef HAVE_OPENSSL + +#ifndef OPENSSL_NO_KRB5 #define OPENSSL_NO_KRB5 +#endif #include "referenceCount.h" #include "openSSLWrapper.h" // must be included before any other openssl. diff --git a/panda/src/downloader/bioStreamBuf.h b/panda/src/downloader/bioStreamBuf.h index 73fbd68b78..c03de76c02 100644 --- a/panda/src/downloader/bioStreamBuf.h +++ b/panda/src/downloader/bioStreamBuf.h @@ -19,7 +19,10 @@ // This module is not compiled if OpenSSL is not available. #ifdef HAVE_OPENSSL + +#ifndef OPENSSL_NO_KRB5 #define OPENSSL_NO_KRB5 +#endif #include "bioPtr.h" #include "pointerTo.h" diff --git a/panda/src/downloader/bioStreamPtr.h b/panda/src/downloader/bioStreamPtr.h index 95f4308aa4..d56d439bf2 100644 --- a/panda/src/downloader/bioStreamPtr.h +++ b/panda/src/downloader/bioStreamPtr.h @@ -19,7 +19,10 @@ // This module is not compiled if OpenSSL is not available. #ifdef HAVE_OPENSSL + +#ifndef OPENSSL_NO_KRB5 #define OPENSSL_NO_KRB5 +#endif #include "bioStream.h" #include "referenceCount.h" diff --git a/panda/src/downloader/httpChannel.h b/panda/src/downloader/httpChannel.h index f8ed8c56f7..490265748e 100644 --- a/panda/src/downloader/httpChannel.h +++ b/panda/src/downloader/httpChannel.h @@ -23,7 +23,10 @@ // communications. #ifdef HAVE_OPENSSL + +#ifndef OPENSSL_NO_KRB5 #define OPENSSL_NO_KRB5 +#endif #include "httpClient.h" #include "httpEnum.h" diff --git a/panda/src/express/openSSLWrapper.h b/panda/src/express/openSSLWrapper.h index ee473dbcc6..b10360a841 100644 --- a/panda/src/express/openSSLWrapper.h +++ b/panda/src/express/openSSLWrapper.h @@ -24,7 +24,10 @@ #include // must be included prior to including OpenSSL. #endif +#ifndef OPENSSL_NO_KRB5 #define OPENSSL_NO_KRB5 +#endif + #include "openssl/ssl.h" #include "openssl/rand.h" #include "openssl/err.h" diff --git a/panda/src/linmath/lmatrix3_src.I b/panda/src/linmath/lmatrix3_src.I index 1fd8c74fa9..31be16b095 100644 --- a/panda/src/linmath/lmatrix3_src.I +++ b/panda/src/linmath/lmatrix3_src.I @@ -607,6 +607,8 @@ xform(const FLOATNAME(LVecBase3) &v) const { return v_res; } +#undef VECTOR3_MATRIX3_PRODUCT + //////////////////////////////////////////////////////////////////// // Function: LMatrix3::xform_point // Access: Published @@ -811,6 +813,8 @@ multiply(const FLOATNAME(LMatrix3) &other1, const FLOATNAME(LMatrix3) &other2) { MATRIX3_PRODUCT((*this), other1, other2); } +#undef MATRIX3_PRODUCT + //////////////////////////////////////////////////////////////////// // Function: LMatrix3::matrix * scalar // Access: Published @@ -1235,6 +1239,9 @@ invert_transpose_from(const FLOATNAME(LMatrix4) &other) { #endif // HAVE_EIGEN } +#undef MATRIX3_DETERMINANT +#undef DET2 + //////////////////////////////////////////////////////////////////// // Function: LMatrix::set_translate_mat // Access: Published diff --git a/panda/src/linmath/lmatrix4_src.I b/panda/src/linmath/lmatrix4_src.I index be772cab48..c162bd868a 100644 --- a/panda/src/linmath/lmatrix4_src.I +++ b/panda/src/linmath/lmatrix4_src.I @@ -849,6 +849,8 @@ xform(const FLOATNAME(LVecBase4) &v) const { return v_res; } +#undef VECTOR4_MATRIX4_PRODUCT + //////////////////////////////////////////////////////////////////// // Function: LMatrix4::xform_point // Access: Public @@ -1068,6 +1070,8 @@ multiply(const FLOATNAME(LMatrix4) &other1, const FLOATNAME(LMatrix4) &other2) { #endif // HAVE_EIGEN } +#undef MATRIX4_PRODUCT + //////////////////////////////////////////////////////////////////// // Function: LMatrix4::matrix * scalar // Access: Public diff --git a/panda/src/nativenet/socket_portable.h b/panda/src/nativenet/socket_portable.h index fe8b6451c1..0288366a84 100644 --- a/panda/src/nativenet/socket_portable.h +++ b/panda/src/nativenet/socket_portable.h @@ -8,10 +8,15 @@ const int ALL_OK = 0; const int BASIC_ERROR = -1; +#if defined(CPPPARSER) +// Interrogate doesn't need to parse any of this. + +typedef unsigned long SOCKET; + /************************************************************************ * HP SOCKET LIBRARY STUFF ************************************************************************/ -#if defined(HP_SOCK) +#elif defined(HP_SOCK) #ifndef _INCLUDE_HPUX_SOURCE #define _INCLUDE_HPUX_SOURCE diff --git a/panda/src/net/connectionManager.cxx b/panda/src/net/connectionManager.cxx index 964d73f030..146e77f39b 100644 --- a/panda/src/net/connectionManager.cxx +++ b/panda/src/net/connectionManager.cxx @@ -28,7 +28,7 @@ #include // For GetAdaptersAddresses() #elif defined(ANDROID) #include -#else +#elif !defined(CPPPARSER) #include #include #endif diff --git a/panda/src/putil/config_util.N b/panda/src/putil/config_util.N index 3e7f11238a..4c3e2086d8 100644 --- a/panda/src/putil/config_util.N +++ b/panda/src/putil/config_util.N @@ -10,9 +10,6 @@ ignoretype Factory # builds (to support multi-arch builds), so we don't export this. ignoretype BitMaskNative -forcetype basic_string -renametype basic_string CString - forcetype PointerToBase > forcetype PointerToArrayBase forcetype PointerToArray diff --git a/panda/src/rocket/rocketInputHandler.cxx b/panda/src/rocket/rocketInputHandler.cxx index b734e59bef..5cd4d30425 100644 --- a/panda/src/rocket/rocketInputHandler.cxx +++ b/panda/src/rocket/rocketInputHandler.cxx @@ -20,9 +20,11 @@ #include "keyboardButton.h" #include "mouseButton.h" +#ifndef CPPPARSER #include using namespace Rocket::Core::Input; +#endif TypeHandle RocketInputHandler::_type_handle; diff --git a/panda/src/vision/webcamVideoCursorV4L.cxx b/panda/src/vision/webcamVideoCursorV4L.cxx index e787ff658f..2000bf3136 100644 --- a/panda/src/vision/webcamVideoCursorV4L.cxx +++ b/panda/src/vision/webcamVideoCursorV4L.cxx @@ -14,7 +14,7 @@ #include "webcamVideoV4L.h" -#ifdef HAVE_VIDEO4LINUX +#if defined(HAVE_VIDEO4LINUX) && !defined(CPPPARSER) #include #include diff --git a/panda/src/vision/webcamVideoCursorV4L.h b/panda/src/vision/webcamVideoCursorV4L.h index 14ffa257f2..2dd22ee452 100644 --- a/panda/src/vision/webcamVideoCursorV4L.h +++ b/panda/src/vision/webcamVideoCursorV4L.h @@ -17,7 +17,7 @@ #include "pandabase.h" -#ifdef HAVE_VIDEO4LINUX +#if defined(HAVE_VIDEO4LINUX) && !defined(CPPPARSER) #include "webcamVideo.h" #include "movieVideoCursor.h" diff --git a/panda/src/vision/webcamVideoV4L.cxx b/panda/src/vision/webcamVideoV4L.cxx index 71cee3d312..0c86640ea1 100644 --- a/panda/src/vision/webcamVideoV4L.cxx +++ b/panda/src/vision/webcamVideoV4L.cxx @@ -14,7 +14,7 @@ #include "webcamVideoV4L.h" -#ifdef HAVE_VIDEO4LINUX +#if defined(HAVE_VIDEO4LINUX) && !defined(CPPPARSER) #include "webcamVideoCursorV4L.h" #include "dcast.h" diff --git a/panda/src/vision/webcamVideoV4L.h b/panda/src/vision/webcamVideoV4L.h index 1405497fed..38b6cf4f34 100644 --- a/panda/src/vision/webcamVideoV4L.h +++ b/panda/src/vision/webcamVideoV4L.h @@ -17,7 +17,7 @@ #include "pandabase.h" -#ifdef HAVE_VIDEO4LINUX +#if defined(HAVE_VIDEO4LINUX) && !defined(CPPPARSER) #include "webcamVideo.h"