From ac1c036cac593d0ef0b772e415e02ef703add370 Mon Sep 17 00:00:00 2001 From: rdb Date: Mon, 9 Nov 2015 18:01:44 +0100 Subject: [PATCH] interrogatedb 3.0 to restructure make_seq, improve make_seq handling and performance --- dtool/metalibs/dtoolconfig/pydtool.cxx | 20 - dtool/src/cppparser/cppBison.cxx.prebuilt | 2887 +++++++++-------- dtool/src/cppparser/cppBison.yxx | 29 +- dtool/src/cppparser/cppMakeSeq.cxx | 49 +- dtool/src/cppparser/cppMakeSeq.h | 19 +- dtool/src/interrogate/interfaceMaker.cxx | 34 +- dtool/src/interrogate/interfaceMaker.h | 9 +- .../interfaceMakerPythonNative.cxx | 172 +- dtool/src/interrogate/interrogateBuilder.cxx | 78 +- .../src/interrogatedb/interrogateDatabase.cxx | 4 +- .../src/interrogatedb/interrogateElement.cxx | 5 +- .../src/interrogatedb/interrogateFunction.cxx | 5 +- dtool/src/interrogatedb/interrogateMakeSeq.I | 60 +- .../src/interrogatedb/interrogateMakeSeq.cxx | 18 +- dtool/src/interrogatedb/interrogateMakeSeq.h | 20 +- dtool/src/interrogatedb/interrogateType.cxx | 4 +- .../interrogatedb/interrogate_interface.cxx | 37 +- .../src/interrogatedb/interrogate_interface.h | 7 +- panda/src/parametrics/nurbsCurveResult.h | 2 +- 19 files changed, 1831 insertions(+), 1628 deletions(-) diff --git a/dtool/metalibs/dtoolconfig/pydtool.cxx b/dtool/metalibs/dtoolconfig/pydtool.cxx index 83250cd092..377037a295 100644 --- a/dtool/metalibs/dtoolconfig/pydtool.cxx +++ b/dtool/metalibs/dtoolconfig/pydtool.cxx @@ -83,7 +83,6 @@ static PyObject *_inP07ytf513(PyObject *self, PyObject *args); static PyObject *_inP07ytsqGH(PyObject *self, PyObject *args); static PyObject *_inP07yt7shV(PyObject *self, PyObject *args); static PyObject *_inP07ytA1eF(PyObject *self, PyObject *args); -static PyObject *_inP07yt9tTm(PyObject *self, PyObject *args); static PyObject *_inP07yt776V(PyObject *self, PyObject *args); static PyObject *_inP07ytfaH0(PyObject *self, PyObject *args); static PyObject *_inP07ytGB9D(PyObject *self, PyObject *args); @@ -1219,24 +1218,6 @@ _inP07ytA1eF(PyObject *, PyObject *args) { return (PyObject *)NULL; } -/* - * Python simple wrapper for - * TypeIndex interrogate_make_seq_class(MakeSeqIndex make_seq) - */ -static PyObject * -_inP07yt9tTm(PyObject *, PyObject *args) { - int param0; - if (PyArg_ParseTuple(args, "i", ¶m0)) { - TypeIndex return_value = interrogate_make_seq_class((MakeSeqIndex)param0); -#if PY_MAJOR_VERSION >= 3 - return PyLong_FromLong(return_value); -#else - return PyInt_FromLong(return_value); -#endif - } - return (PyObject *)NULL; -} - /* * Python simple wrapper for * char const *interrogate_make_seq_seq_name(MakeSeqIndex make_seq) @@ -2433,7 +2414,6 @@ static PyMethodDef python_simple_funcs[] = { { "interrogate_wrapper_pointer", &_inP07ytsqGH, METH_VARARGS }, { "interrogate_wrapper_unique_name", &_inP07yt7shV, METH_VARARGS }, { "interrogate_get_wrapper_by_unique_name", &_inP07ytA1eF, METH_VARARGS }, - { "interrogate_make_seq_class", &_inP07yt9tTm, METH_VARARGS }, { "interrogate_make_seq_seq_name", &_inP07yt776V, METH_VARARGS }, { "interrogate_make_seq_num_name", &_inP07ytfaH0, METH_VARARGS }, { "interrogate_make_seq_element_name", &_inP07ytGB9D, METH_VARARGS }, diff --git a/dtool/src/cppparser/cppBison.cxx.prebuilt b/dtool/src/cppparser/cppBison.cxx.prebuilt index 2f00575c4f..90f0cec6f9 100644 --- a/dtool/src/cppparser/cppBison.cxx.prebuilt +++ b/dtool/src/cppparser/cppBison.cxx.prebuilt @@ -797,7 +797,7 @@ union yyalloc /* YYFINAL -- State number of the termination state. */ #define YYFINAL 79 /* YYLAST -- Last index in YYTABLE. */ -#define YYLAST 4452 +#define YYLAST 4493 /* YYNTOKENS -- Number of terminals. */ #define YYNTOKENS 141 @@ -935,8 +935,8 @@ static const yytype_int16 yyrhs[] = 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, 232, - 118, 232, 118, 232, 137, 119, -1, 97, 135, 227, + 118, 10, 118, 10, 137, 119, -1, 81, 135, 10, + 118, 10, 118, 10, 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, @@ -1117,63 +1117,63 @@ static const yytype_uint16 yyrline[] = { 0, 404, 404, 405, 409, 416, 417, 418, 422, 423, 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, 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, 1727, 1734, 1738, 1746, 1750, - 1754, 1758, 1762, 1778, 1794, 1812, 1821, 1828, 1832, 1840, - 1844, 1860, 1879, 1885, 1896, 1895, 1920, 1919, 1949, 1950, - 1954, 1955, 1959, 1963, 1967, 1971, 1975, 1979, 1983, 1987, - 1991, 1998, 2006, 2010, 2014, 2018, 2025, 2029, 2036, 2037, - 2043, 2051, 2052, 2058, 2067, 2074, 2078, 2082, 2090, 2089, - 2112, 2111, 2134, 2135, 2139, 2145, 2154, 2155, 2156, 2160, - 2164, 2168, 2172, 2176, 2180, 2185, 2190, 2195, 2200, 2205, - 2209, 2214, 2223, 2228, 2236, 2240, 2245, 2249, 2254, 2262, - 2272, 2272, 2282, 2283, 2287, 2288, 2289, 2290, 2291, 2292, - 2293, 2294, 2295, 2296, 2297, 2297, 2297, 2298, 2298, 2298, - 2298, 2299, 2299, 2299, 2299, 2299, 2300, 2300, 2300, 2301, - 2301, 2301, 2301, 2301, 2302, 2302, 2302, 2302, 2302, 2303, - 2303, 2303, 2303, 2303, 2304, 2304, 2304, 2305, 2305, 2305, - 2305, 2305, 2306, 2306, 2306, 2306, 2306, 2307, 2307, 2307, - 2308, 2308, 2308, 2308, 2309, 2309, 2309, 2309, 2309, 2310, - 2310, 2310, 2310, 2310, 2311, 2311, 2311, 2311, 2312, 2312, - 2312, 2312, 2312, 2313, 2313, 2313, 2313, 2313, 2314, 2314, - 2314, 2314, 2314, 2315, 2315, 2315, 2315, 2318, 2318, 2318, - 2318, 2318, 2318, 2318, 2318, 2318, 2318, 2318, 2319, 2319, - 2319, 2319, 2319, 2319, 2319, 2319, 2319, 2319, 2320, 2320, - 2324, 2328, 2335, 2339, 2346, 2350, 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, 2485, 2489, - 2497, 2501, 2505, 2509, 2513, 2523, 2529, 2535, 2541, 2547, - 2553, 2559, 2566, 2573, 2580, 2587, 2593, 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, 2727, - 2731, 2738, 2742, 2746, 2750, 2754, 2758, 2762, 2766, 2770, - 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, 2924, 2928, 2935, 2939, 2943, - 2947, 2951, 2955, 2959, 2963, 2967, 2974, 2982, 2990, 3016, - 3020, 3027, 3031, 3035, 3041, 3052 + 458, 471, 480, 484, 492, 496, 500, 511, 532, 554, + 565, 579, 578, 593, 597, 601, 612, 616, 620, 624, + 628, 632, 636, 640, 644, 648, 655, 659, 668, 680, + 679, 695, 694, 712, 720, 731, 740, 754, 753, 769, + 768, 779, 794, 800, 809, 816, 829, 828, 853, 852, + 877, 876, 907, 906, 925, 924, 945, 944, 976, 975, + 1001, 1014, 1018, 1022, 1026, 1030, 1037, 1041, 1045, 1049, + 1053, 1057, 1061, 1065, 1069, 1073, 1077, 1081, 1085, 1089, + 1093, 1097, 1101, 1105, 1109, 1113, 1117, 1121, 1125, 1129, + 1133, 1137, 1141, 1145, 1149, 1153, 1157, 1161, 1165, 1169, + 1173, 1177, 1181, 1185, 1189, 1196, 1197, 1202, 1201, 1209, + 1213, 1214, 1218, 1224, 1233, 1237, 1241, 1245, 1249, 1255, + 1265, 1269, 1274, 1286, 1290, 1304, 1319, 1324, 1329, 1334, + 1339, 1344, 1349, 1354, 1359, 1365, 1364, 1386, 1390, 1395, + 1399, 1404, 1412, 1417, 1425, 1429, 1436, 1440, 1447, 1451, + 1455, 1459, 1463, 1470, 1471, 1472, 1476, 1479, 1480, 1481, + 1485, 1490, 1496, 1502, 1506, 1516, 1520, 1524, 1528, 1533, + 1538, 1543, 1548, 1553, 1558, 1566, 1570, 1574, 1578, 1583, + 1588, 1593, 1598, 1603, 1608, 1613, 1619, 1627, 1631, 1636, + 1641, 1646, 1651, 1656, 1661, 1666, 1675, 1679, 1687, 1691, + 1695, 1699, 1703, 1719, 1735, 1744, 1751, 1755, 1763, 1767, + 1771, 1775, 1779, 1795, 1811, 1829, 1838, 1845, 1849, 1857, + 1861, 1877, 1896, 1902, 1913, 1912, 1937, 1936, 1966, 1967, + 1971, 1972, 1976, 1980, 1984, 1988, 1992, 1996, 2000, 2004, + 2008, 2015, 2023, 2027, 2031, 2035, 2042, 2046, 2053, 2054, + 2060, 2068, 2069, 2075, 2084, 2091, 2095, 2099, 2107, 2106, + 2129, 2128, 2151, 2152, 2156, 2162, 2171, 2172, 2173, 2177, + 2181, 2185, 2189, 2193, 2197, 2202, 2207, 2212, 2217, 2222, + 2226, 2231, 2240, 2245, 2253, 2257, 2262, 2266, 2271, 2279, + 2289, 2289, 2299, 2300, 2304, 2305, 2306, 2307, 2308, 2309, + 2310, 2311, 2312, 2313, 2314, 2314, 2314, 2315, 2315, 2315, + 2315, 2316, 2316, 2316, 2316, 2316, 2317, 2317, 2317, 2318, + 2318, 2318, 2318, 2318, 2319, 2319, 2319, 2319, 2319, 2320, + 2320, 2320, 2320, 2320, 2321, 2321, 2321, 2322, 2322, 2322, + 2322, 2322, 2323, 2323, 2323, 2323, 2323, 2324, 2324, 2324, + 2325, 2325, 2325, 2325, 2326, 2326, 2326, 2326, 2326, 2327, + 2327, 2327, 2327, 2327, 2328, 2328, 2328, 2328, 2329, 2329, + 2329, 2329, 2329, 2330, 2330, 2330, 2330, 2330, 2331, 2331, + 2331, 2331, 2331, 2332, 2332, 2332, 2332, 2335, 2335, 2335, + 2335, 2335, 2335, 2335, 2335, 2335, 2335, 2335, 2336, 2336, + 2336, 2336, 2336, 2336, 2336, 2336, 2336, 2336, 2337, 2337, + 2341, 2345, 2352, 2356, 2363, 2367, 2374, 2378, 2382, 2386, + 2390, 2394, 2398, 2402, 2406, 2410, 2414, 2418, 2422, 2426, + 2430, 2434, 2438, 2442, 2446, 2450, 2454, 2458, 2462, 2466, + 2470, 2474, 2478, 2482, 2486, 2490, 2494, 2498, 2502, 2506, + 2514, 2518, 2522, 2526, 2530, 2540, 2546, 2552, 2558, 2564, + 2570, 2576, 2583, 2590, 2597, 2604, 2610, 2616, 2620, 2624, + 2628, 2632, 2636, 2640, 2644, 2648, 2652, 2656, 2660, 2664, + 2668, 2672, 2676, 2680, 2684, 2688, 2692, 2696, 2700, 2704, + 2708, 2712, 2716, 2720, 2724, 2728, 2732, 2736, 2740, 2744, + 2748, 2755, 2759, 2763, 2767, 2771, 2775, 2779, 2783, 2787, + 2801, 2805, 2809, 2813, 2817, 2821, 2825, 2829, 2833, 2837, + 2841, 2845, 2849, 2853, 2857, 2861, 2865, 2869, 2873, 2877, + 2881, 2885, 2889, 2893, 2897, 2901, 2905, 2909, 2913, 2917, + 2921, 2925, 2929, 2933, 2937, 2941, 2945, 2952, 2956, 2960, + 2964, 2968, 2972, 2976, 2980, 2984, 2991, 2999, 3007, 3033, + 3037, 3044, 3048, 3052, 3058, 3069 }; #endif @@ -1521,132 +1521,132 @@ static const yytype_int16 yydefgoto[] = /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing STATE-NUM. */ -#define YYPACT_NINF -659 +#define YYPACT_NINF -677 static const yytype_int16 yypact[] = { - 191, -659, 2440, 3611, 10, 2563, -659, -659, -659, -659, - -659, -659, -659, -659, -100, -91, -86, -78, -65, -60, - -43, -30, -659, -9, 24, 52, 3807, -659, 55, 59, - 62, 86, -659, 88, 95, 2440, 2440, 2440, 2440, 1620, - 2440, 3118, -659, 212, -659, -659, -659, -659, -659, -659, - -659, 3770, 117, -659, -659, -659, -659, 4285, -659, 3661, - 3661, -659, 103, -659, 3661, -659, -659, 524, -659, -659, - -659, -659, 153, -4, 41, -659, -659, -659, -659, -659, - -659, 4341, 4341, -659, 4341, 2455, 4341, 134, -659, 4292, - 156, 175, 4341, 79, 193, 196, 201, 4341, 4341, 205, - 4187, 4341, 44, 4341, 4341, -659, -659, -659, -659, 2655, - -659, -659, -659, -659, -659, -659, 2440, 3611, 2440, 2440, - 2440, 2440, 2440, 3611, 2440, 2440, 2440, -659, 103, 209, - 103, 103, -659, 2440, 2440, 3611, 3611, 2440, 2440, 81, - 81, 81, 81, -100, -86, -78, -65, -60, -43, -9, - 24, 4179, 1829, 3297, 3483, 95, 219, -87, 3118, 81, - 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440, - 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440, - 2440, 1840, 2440, -659, -659, 524, 2440, -659, -659, 3600, - -659, 3661, -659, -659, -659, -659, -659, -659, 251, 524, - 524, 524, 524, 524, 524, 206, -659, -659, 2716, 229, - -659, 31, 4341, -659, -659, -659, 4341, -659, -659, -659, - 4236, 87, -659, 373, 103, -659, -659, 270, -659, -659, - -659, -659, -659, 2440, 2726, -659, 268, 2790, -659, 103, - -659, -659, -659, 260, 269, -659, 3770, 271, 3672, 103, - -659, 103, -16, 288, -659, -659, -659, -4, 41, -659, - 275, 295, -659, 280, 284, 285, 292, 298, 299, 310, - 301, 305, 306, -659, 2440, -659, -659, 314, 317, 319, - 330, 321, 323, 2440, 2440, -659, 3290, 3321, 2860, 2860, - 892, 892, 644, 644, -659, 2944, 3336, 3351, 3381, 892, - 892, 559, 559, 81, 81, 81, -659, -659, -79, 954, - 206, 2909, -659, 524, 206, 206, 206, 206, 206, -2, - 2440, 103, 287, -659, -659, -659, -659, 2716, -659, 347, - -659, -659, -659, 352, 361, 362, 3854, -659, 2888, 3493, - 3770, -16, -659, -659, -659, 33, -659, 2440, 3770, 585, - -659, -659, 335, -659, -659, 103, 1940, -659, -659, 341, - 66, 31, -659, -659, -659, -659, -659, -659, -659, 349, - -659, -659, -659, 345, -659, -659, -659, 366, -659, -659, - 81, 3118, 2440, -659, -659, -659, 206, 367, 356, 3118, - -659, 67, -659, 370, 3900, 173, 380, 387, -659, 3946, - -659, 502, 103, -659, -659, 220, -659, -659, -659, 103, - 3563, 103, 386, 397, -659, 389, -659, -659, -659, -659, - 341, 1400, 388, 341, 1400, 341, 2926, 585, -659, -659, - 391, 585, 585, 585, 585, 585, 124, -659, 3992, -659, - 379, -659, 171, -659, 390, 2040, 2962, 399, 341, 341, - 2565, 341, 341, 341, 341, -659, 329, -659, 2716, 2440, - -659, 2440, 3118, 1400, -659, -659, 2440, -659, 467, 1477, - 1587, 247, -659, -659, 173, -659, -659, -51, 412, 4038, - 17, 410, 389, 417, 4304, 3493, -659, -659, 411, 389, - 389, 389, 389, 389, 389, -94, -659, 341, -659, 329, - -659, -659, -659, -659, -659, -659, 408, 3709, 419, -659, - 3807, -659, 1730, 413, 420, -659, 2440, 2440, 2440, 1620, - 2440, 423, 12, -659, 389, 3135, -659, 212, -659, 341, - 197, 424, -659, 329, -659, 164, 585, 426, 426, 426, - 426, 426, -659, 2440, -659, 1400, -659, 1261, -659, -659, - 103, 2440, 2040, 409, 431, 3118, -659, -659, 341, 167, - 167, 555, -659, -659, -659, -659, -659, -659, -659, -659, - -659, -659, -659, -659, -659, -659, -659, -659, -659, -659, - -659, -659, -659, -659, -659, -659, -659, -659, -659, -659, - -659, -659, -659, -659, -659, -659, -659, -659, 430, 429, - -659, -659, 167, 167, 167, 210, 265, 1940, -659, 2440, - 452, -659, -659, 370, -49, -46, 437, 3084, 103, 847, - 103, -659, -659, 847, -659, 847, -659, 847, 847, 847, - 4084, -659, 4130, 567, 459, 103, -659, -659, 3611, -94, - 3611, -659, -659, -659, -659, 389, 443, 443, 443, 443, - 443, 189, 792, 2440, -659, -659, -659, 329, 463, -659, - 3611, 3770, 389, 3611, 447, -659, 3611, 3611, 81, 81, - 81, 448, -44, 81, 528, -659, 1510, 93, 2440, 2440, - 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440, - 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2140, - 2440, 273, 582, 458, 528, 476, -659, -659, 426, 1400, - 460, 461, -659, -659, -659, -659, -659, -659, -659, -659, - -659, -659, -659, -659, -659, -659, -659, -659, -659, -659, - -659, -659, -659, -659, -659, -659, -659, -659, -659, -659, - -659, -659, -659, -659, -659, -659, -659, -659, -659, -659, - -659, -659, -659, -659, -659, -659, -659, -659, -659, -659, - -659, -659, -659, -659, -659, -659, -659, -659, -659, -659, - -659, -659, -659, -659, -659, -659, -659, -659, -659, -659, - -659, -659, -659, -659, -659, -659, -659, -659, -659, -659, - -659, -659, -659, -659, -659, -659, -659, -659, -659, -659, - -659, -659, -659, -659, -659, -659, -659, -659, -659, -659, - -659, -659, -659, -659, -659, -659, -659, -659, -659, -659, - -659, -659, -659, -659, -659, -659, -659, -659, -659, 465, - -659, 462, 468, -659, 2240, 167, -659, -659, -659, -659, - -659, 2962, 1400, 470, 341, -659, -659, 528, -659, -659, - -659, -659, -659, -659, -659, -659, -659, -659, -659, 474, - -659, 478, -659, -659, -659, 443, 472, 481, 479, 484, - 487, 792, 792, 792, 792, 1620, 792, 3169, -659, 485, - 510, -659, 341, 492, 389, 93, 505, 2440, 496, 507, - 2440, -659, -659, -23, -659, -659, -659, 2440, -659, 3290, - 3321, 2860, 2860, 892, 892, 644, 644, -659, 3101, 3336, - 3351, 3381, 892, 892, 559, 559, 81, 81, 81, -659, - -659, -8, 1418, 501, -659, -23, 341, 1400, 503, -659, - 528, 1123, -659, -659, -659, 2040, 3118, 506, -659, -659, - -23, 520, 523, 1400, 3611, 3611, 3611, 3611, 162, 162, - 162, 162, 508, 74, 162, 792, 792, 792, 792, 792, - 792, 792, 792, 792, 792, 792, 792, 792, 792, 792, - 792, 792, 792, 792, 2340, 2440, -659, 341, -659, -659, - 93, -659, 511, 513, -659, 512, 81, -659, 516, 3118, - 2440, -659, -659, -659, 1400, -659, 518, 528, -23, -659, - 519, 528, -659, -659, 521, 525, 533, 526, 537, 792, - -659, 3306, 3366, 678, 678, 935, 935, 657, 657, -659, - 3152, 3501, 1853, 919, 813, 813, 162, 162, 162, -659, - -659, 90, 1638, -659, -659, 2440, -659, 2440, 37, 3118, - 1400, 529, 528, -23, -659, -23, 528, -659, 534, -659, - 536, 162, 792, -659, -659, 137, 140, -659, 531, 545, - 528, -23, -23, 2440, 2440, 3169, -659, -659, -659, 528, - -23, 147, 150, -23, -659, -659 + 243, -677, 2495, 3659, 39, 2629, -677, -677, -677, -677, + -677, -677, -677, -677, -90, -85, -47, -38, 8, 23, + 28, 57, -677, 30, 54, 73, 3855, -677, 85, 91, + 137, 158, -677, 167, 172, 2495, 2495, 2495, 2495, 1675, + 2495, 3169, -677, 66, -677, -677, -677, -677, -677, -677, + -677, 3818, 176, -677, -677, -677, -677, 4313, -677, 3709, + 3709, -677, 186, -677, 3709, -677, -677, 331, -677, -677, + -677, -677, 17, -4, 36, -677, -677, -677, -677, -677, + -677, 4382, 4382, -677, 4382, 3529, 4382, 173, -677, 4321, + 187, 189, 4382, 47, 206, 212, 215, 4382, 4382, 205, + 2487, 4382, 92, 4382, 4382, -677, -677, -677, -677, 2721, + -677, -677, -677, -677, -677, -677, 2495, 3659, 2495, 2495, + 2495, 2495, 2495, 3659, 2495, 2495, 2495, -677, 186, 214, + 186, 186, -677, 2495, 2495, 3659, 3659, 2495, 2495, 44, + 44, 44, 44, -90, -47, -38, 8, 23, 28, 30, + 54, 4227, 1884, 3333, 3564, 172, 226, -82, 3169, 44, + 2495, 2495, 2495, 2495, 2495, 2495, 2495, 2495, 2495, 2495, + 2495, 2495, 2495, 2495, 2495, 2495, 2495, 2495, 2495, 2495, + 2495, 1895, 2495, -677, -677, 331, 2495, -677, -677, 3648, + -677, 3709, -677, -677, -677, -677, -677, -677, 232, 331, + 331, 331, 331, 331, 331, 238, -677, -677, 2782, 256, + -677, -66, 4382, -677, -677, -677, 4382, -677, -677, -677, + 4260, 59, -677, 367, 373, -677, -677, 275, -677, -677, + -677, -677, -677, 2495, 2792, -677, 269, 2856, -677, 186, + -677, -677, -677, 261, 266, -677, 3818, 267, 3720, 186, + -677, 186, 296, 288, -677, -677, -677, -4, 36, -677, + 271, 293, -677, 306, 308, 309, 311, 312, 314, 285, + 315, 321, 322, -677, 2495, -677, -677, 327, 328, 330, + 298, 332, 333, 2495, 2495, -677, 3236, 3372, 3445, 3445, + 465, 465, 582, 582, -677, 2993, 3387, 3402, 767, 465, + 465, 378, 378, 44, 44, 44, -677, -677, -75, 954, + 238, 2954, -677, 331, 238, 238, 238, 238, 238, 119, + 2495, 186, 338, -677, -677, -677, -677, 2782, -677, 340, + -677, -677, -677, 354, 359, 360, 3902, -677, 1693, 3574, + 3818, 296, -677, -677, -677, 12, -677, 2495, 3818, 264, + -677, -677, 344, -677, -677, 186, 1995, -677, -677, 529, + -16, -66, -677, -677, -677, -677, -677, -677, -677, 345, + -677, -677, -677, 347, -677, -677, -677, 365, -677, -677, + 44, 3169, 2495, -677, -677, -677, 238, 366, 342, 3169, + -677, 143, -677, 385, 3948, 228, 386, 377, -677, 3994, + -677, 505, 507, -677, -677, 120, -677, -677, -677, 186, + 3611, 186, 391, 403, -677, 394, -677, -677, -677, -677, + 529, 1455, 392, 529, 1455, 529, 2975, 264, -677, -677, + 395, 264, 264, 264, 264, 264, 142, -677, 4040, -677, + 393, -677, 164, -677, 398, 2095, 3011, 400, 529, 529, + 2631, 529, 529, 529, 529, -677, 225, -677, 2782, 2495, + -677, 2495, 3169, 1455, -677, -677, 2495, -677, 537, 638, + 819, 279, -677, -677, 228, -677, -677, -70, 416, 4086, + 3, 417, 394, 425, 4361, 3574, -677, -677, 419, 394, + 394, 394, 394, 394, 394, -94, -677, 529, -677, 225, + -677, -677, -677, -677, -677, -677, 418, 3757, 437, -677, + 3855, -677, 1785, 429, 439, -677, 2495, 2495, 2495, 1675, + 2495, 415, 21, -677, 394, 3186, -677, 66, -677, 529, + 216, 430, -677, 225, -677, 155, 264, 433, 433, 433, + 433, 433, -677, 2495, -677, 1455, -677, 1316, -677, -677, + 186, 2495, 2095, 428, 452, 3169, -677, -677, 529, 162, + 162, 562, -677, -677, -677, -677, -677, -677, -677, -677, + -677, -677, -677, -677, -677, -677, -677, -677, -677, -677, + -677, -677, -677, -677, -677, -677, -677, -677, -677, -677, + -677, -677, -677, -677, -677, -677, -677, -677, 440, 436, + -677, -677, 162, 162, 162, 236, 218, 1995, -677, 2495, + 460, -677, -677, 385, -59, -32, 442, 3030, 186, 323, + 186, -677, -677, 323, -677, 323, -677, 323, 323, 323, + 4132, -677, 4178, 570, 462, 572, -677, -677, 3659, -94, + 3659, -677, -677, -677, -677, 394, 448, 448, 448, 448, + 448, 193, 2506, 2495, -677, -677, -677, 225, 468, -677, + 3659, 3818, 394, 3659, 455, -677, 3659, 3659, 44, 44, + 44, 461, -24, 44, 547, -677, 1565, -9, 2495, 2495, + 2495, 2495, 2495, 2495, 2495, 2495, 2495, 2495, 2495, 2495, + 2495, 2495, 2495, 2495, 2495, 2495, 2495, 2495, 2495, 2195, + 2495, 244, 601, 471, 547, 489, -677, -677, 433, 1455, + 470, 478, -677, -677, -677, -677, -677, -677, -677, -677, + -677, -677, -677, -677, -677, -677, -677, -677, -677, -677, + -677, -677, -677, -677, -677, -677, -677, -677, -677, -677, + -677, -677, -677, -677, -677, -677, -677, -677, -677, -677, + -677, -677, -677, -677, -677, -677, -677, -677, -677, -677, + -677, -677, -677, -677, -677, -677, -677, -677, -677, -677, + -677, -677, -677, -677, -677, -677, -677, -677, -677, -677, + -677, -677, -677, -677, -677, -677, -677, -677, -677, -677, + -677, -677, -677, -677, -677, -677, -677, -677, -677, -677, + -677, -677, -677, -677, -677, -677, -677, -677, -677, -677, + -677, -677, -677, -677, -677, -677, -677, -677, -677, -677, + -677, -677, -677, -677, -677, -677, -677, -677, -677, 480, + -677, 482, 483, -677, 2295, 162, -677, -677, -677, -677, + -677, 3011, 1455, 485, 529, -677, -677, 547, -677, -677, + -677, -677, -677, -677, -677, -677, -677, -677, -677, 491, + -677, 492, -677, -677, -677, 448, 497, 498, 494, 499, + 509, 2506, 2506, 2506, 2506, 1675, 2506, 3220, -677, 501, + 521, -677, 529, 508, 394, -9, 523, 2495, 514, 526, + 2495, -677, -677, 13, -677, -677, -677, 2495, -677, 3236, + 3372, 3445, 3445, 465, 465, 582, 582, -677, 3152, 3387, + 3402, 767, 465, 465, 378, 378, 44, 44, 44, -677, + -677, 50, 1032, 520, -677, 13, 529, 1455, 525, -677, + 547, 1178, -677, -677, -677, 2095, 3169, 530, -677, -677, + 13, 538, 539, 1455, 3659, 3659, 3659, 3659, 179, 179, + 179, 179, 531, 55, 179, 2506, 2506, 2506, 2506, 2506, + 2506, 2506, 2506, 2506, 2506, 2506, 2506, 2506, 2506, 2506, + 2506, 2506, 2506, 2506, 2395, 2495, -677, 529, -677, -677, + -9, -677, 528, 532, -677, 536, 44, -677, 549, 3169, + 2495, -677, -677, -677, 1455, -677, 545, 547, 13, -677, + 550, 547, -677, -677, 552, 553, 565, 557, 568, 2506, + -677, 3357, 3417, 828, 828, 644, 644, 665, 665, -677, + 3203, 3432, 1908, 1002, 426, 426, 179, 179, 179, -677, + -677, 68, 1473, -677, -677, 2495, -677, 2495, 15, 3169, + 1455, 560, 547, 13, -677, 13, 547, -677, 563, -677, + 564, 179, 2506, -677, -677, 75, 86, -677, 569, 578, + 547, 13, 13, 2495, 2495, 3220, -677, -677, -677, 547, + 13, 93, 134, 13, -677, -677 }; /* YYPGOTO[NTERM-NUM]. */ static const yytype_int16 yypgoto[] = { - -659, -659, -183, -659, 98, -659, -659, 454, -659, -659, - -21, -95, -659, -659, -659, -160, -234, -659, -659, -659, - -181, -275, 469, -659, -659, -659, -659, -659, -659, -659, - -658, -659, -659, 221, -659, -659, -659, 222, 302, -273, - -659, -423, -659, 77, -495, -328, -543, -659, -504, 76, - -351, 354, -39, 480, 203, -36, -81, -659, -77, -659, - -659, -659, 244, -68, -659, -303, -659, -659, -15, 58, - -659, -659, -659, -659, -24, 207, -659, -659, 170, -659, - -85, -659, -507, -104, -20, -140, 71, -593, -659, -659, - -305, 490, -368, -1 + -677, -677, -177, -677, 124, -677, -677, 487, -677, -677, + -21, -98, -677, -677, -677, -144, -225, -677, -677, -677, + -173, -272, 484, -677, -677, -677, -677, -677, -677, -677, + -676, -677, -677, 235, -677, -677, -677, 237, 313, -235, + -677, -423, -677, 94, -495, -318, -547, -677, -504, -342, + -224, -54, -39, 488, 224, -36, -78, -677, -77, -677, + -677, -677, 262, -68, -677, -317, -677, -677, -13, 58, + -677, -677, -677, -677, 26, 246, -677, -677, 191, -677, + -64, -677, -499, -104, -20, 156, 71, -145, -677, -677, + -340, 481, -368, -1 }; /* YYTABLE[YYPACT[STATE-NUM]]. What to do in state STATE-NUM. If @@ -1655,857 +1655,875 @@ static const yytype_int16 yypgoto[] = #define YYTABLE_NINF -264 static const yytype_int16 yytable[] = { - 6, 531, 132, 156, 658, 235, 194, 195, 665, 832, - 79, 130, 185, 419, 264, 265, 266, 267, 268, 157, - 270, 271, 272, 183, 393, 184, 675, 652, 254, 277, - 278, 284, 255, 281, 282, 116, 710, 480, 705, 284, - 616, 256, 653, 336, 117, 422, 925, 194, 195, 118, - 285, 194, 195, 527, 194, 195, 527, 119, 383, 878, - 213, 214, 987, 215, 217, 218, 206, 633, 222, 284, - 120, 225, 284, 41, 284, 121, 231, 232, 988, 234, - 237, 263, 241, 242, 131, 259, 634, 269, 845, 194, - 195, 846, 122, 891, 257, 527, 123, 194, 195, 279, - 280, 353, 843, 354, 355, 356, 139, 140, 141, 142, - 284, 159, 168, 194, 195, 262, 208, 262, 262, 262, - 262, 262, 711, 262, 262, 262, 124, 239, 611, 991, - 676, 639, 262, 262, 320, 387, 262, 262, 646, 647, - 648, 649, 650, 651, 527, 394, 879, 499, -246, 399, - 530, -246, 533, 254, 637, 613, 254, 255, 210, 125, - 255, 308, 880, 423, 624, 626, 256, 258, 438, 256, - 373, 659, 896, 677, 1057, 559, 560, 527, 602, 603, - 604, 605, 898, -263, 206, 465, 458, 126, 466, 940, - 133, 222, 284, 963, 134, 330, 226, 135, 206, 206, - 206, 206, 206, 206, 332, 706, 323, 346, 284, 349, - 259, 1010, 136, 259, 897, 180, 181, 182, 183, 257, - 184, 479, 257, 137, 657, 6, 10, 1053, 11, 653, - 138, 286, 287, 288, 289, 290, 291, 292, 293, 294, + 6, 531, 235, 156, 658, 832, 194, 195, 665, 183, + 393, 184, 185, 130, 264, 265, 266, 267, 268, 157, + 270, 271, 272, 419, 422, 194, 195, 652, 925, 277, + 278, 254, 255, 281, 282, 675, 284, 480, 705, 79, + 616, 256, 653, 284, 710, 116, 194, 195, 633, 336, + 117, -246, 132, 527, -246, 285, 527, 194, 195, 284, + 213, 214, 383, 215, 217, 218, 206, 634, 222, 194, + 195, 225, 183, 41, 184, 168, 231, 232, 845, 234, + 237, 263, 241, 242, 131, 535, 284, 269, 118, 537, + 538, 539, 540, 541, 284, 527, 257, 119, 987, 279, + 280, -263, 194, 195, 458, 846, 139, 140, 141, 142, + 843, 159, 897, 891, 988, 262, 208, 262, 262, 262, + 262, 262, 711, 262, 262, 262, 10, 653, 11, 624, + 626, 310, 262, 262, 207, 259, 262, 262, 611, 676, + 637, 613, 423, 120, 527, 314, 315, 316, 317, 318, + 319, 394, 1057, 210, 879, 399, 254, 255, 121, 254, + 255, 308, 880, 122, 226, 124, 256, 258, 284, 256, + 373, 940, 896, 284, 438, 239, 332, 527, 180, 181, + 182, 659, 898, 123, 206, 499, 284, 991, 530, 125, + 533, 222, 1010, 284, 708, 330, 194, 195, 206, 206, + 206, 206, 206, 206, 284, 1053, 323, 346, 126, 349, + 963, 284, 1066, 559, 560, 706, 602, 603, 604, 605, + 133, 257, 840, 1067, 257, 6, 134, 479, 194, 195, + 1074, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, - 305, 306, 186, 309, 219, 284, 701, 311, 284, 542, - 543, 468, 469, 470, 190, 284, 192, 193, 284, 840, - 207, 197, 998, 262, 1066, 194, 195, 1067, 878, 878, - 878, 878, 471, 878, 1074, 835, 928, 1075, 549, 550, - 630, 223, 258, 632, 865, 258, 973, 974, 975, 707, - 543, 418, 608, 609, 338, 1, 2, 3, 527, 427, - 224, 885, 206, 228, 850, 416, 229, 702, 852, 390, - 853, 230, 854, 855, 856, 653, 866, 6, 398, 881, - 702, 6, 608, 609, 703, 627, 628, 629, 417, 1043, - 233, 527, 320, 1045, 274, 608, 609, 839, 437, 327, - 6, 194, 195, 447, 380, 381, 283, 448, 190, 192, - 193, 197, 878, 878, 878, 878, 878, 878, 878, 878, - 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, - 878, 313, 524, 334, 1061, 524, 416, 337, 1062, 641, - 981, 389, 1000, 702, 339, 344, 190, 449, 190, 486, - 487, 488, 1070, 6, 345, 489, 347, 358, 608, 609, - 923, 1073, 362, 284, 496, 326, 878, 363, 426, 937, - 528, 364, 365, 528, 524, 392, 437, 446, 450, 366, - 437, 437, 437, 437, 437, 367, 368, 369, 370, 614, - 548, 615, 371, 372, 556, 490, 353, 831, 354, 606, - 607, 374, 451, 462, 375, 612, 376, 377, 378, 878, - 379, 416, 528, 234, 608, 609, 452, 395, 662, 400, - 439, 453, 6, 524, 527, 6, 454, 194, 195, 401, - 402, 496, 460, 671, 459, 1034, 132, -262, 496, 496, - 496, 496, 496, 496, 655, 130, 464, 473, 612, 672, - 491, 461, 463, 535, 996, 474, 524, 537, 538, 539, - 540, 541, 477, 484, 492, 485, 555, 546, 529, 493, - 1004, 536, 50, 496, 494, 551, 620, 620, 620, 558, - 635, 638, 612, 980, 326, 437, 198, 617, 640, 310, - 199, 645, 390, 660, 528, 663, 667, 833, 666, 834, - 262, 556, 196, 314, 315, 316, 317, 318, 319, 527, - 674, 704, 543, 209, 211, 836, 61, 837, 131, 838, - 844, 1041, 618, 63, 847, 527, 619, 859, 860, 653, - 200, 882, 887, 227, 892, 890, 840, 668, 669, 670, - 168, 673, 240, 924, 926, 428, 429, 430, 930, 933, - 929, 431, 862, 932, 864, 945, 934, 943, 390, 499, - 938, 941, 708, 947, 389, 942, 944, 1059, 273, 946, - 275, 276, 884, 555, 883, 976, 527, 886, 977, 979, - 888, 889, 982, 984, 985, 201, 993, 524, 655, 1002, - 997, 432, 1003, 1001, 496, 1009, 1035, 1037, 830, 202, - 1036, 1038, 390, 533, 203, 1042, 612, 1044, 1046, 204, - 1048, 496, 1047, 1049, 1050, 326, 1060, 386, 1068, 1063, - 524, 1064, 527, 894, 331, 168, 612, 620, 841, 921, - 389, 620, 1069, 620, 939, 620, 620, 620, 963, 177, - 178, 179, 995, 180, 181, 182, 433, 959, 960, 961, - 962, 978, 1033, 894, 657, 643, 341, 644, 528, 963, - 434, 333, 482, 664, 335, 435, 863, 342, 631, 829, - 931, 0, 0, 0, 389, 0, 0, 0, 0, 343, - 0, 948, 949, 950, 951, 0, 954, 0, 0, 350, - 0, 352, 0, 0, 0, 0, 0, 360, 361, 899, + 305, 306, 284, 309, 998, 320, 387, 311, 639, 386, + 259, 465, 657, 259, 466, 646, 647, 648, 649, 650, + 651, 1075, 135, 262, 428, 429, 430, 542, 543, 850, + 431, 549, 550, 852, 136, 853, 928, 854, 855, 856, + 707, 543, 258, 219, 701, 258, 630, 608, 609, 632, + 677, 418, 137, 190, 338, 192, 193, 138, 527, 427, + 197, 186, 206, 973, 974, 975, 468, 469, 470, 390, + 432, 1043, 223, 835, 224, 1045, 228, 6, 398, 653, + 866, 6, 229, 194, 195, 230, 702, 471, 417, 881, + 233, 527, 353, 198, 354, 606, 607, 199, 437, 274, + 6, 608, 609, 703, 380, 381, 702, 1, 2, 3, + 608, 609, 313, 283, 702, 416, 1061, 627, 628, 629, + 1062, 608, 609, 839, 320, 433, 327, 334, 50, 608, + 609, 923, 524, 335, 1070, 524, 641, 200, 1000, 434, + 981, 389, 337, 1073, 435, 339, 344, 190, 192, 193, + 197, 345, 347, 6, 486, 487, 488, 358, 362, 168, + 489, 284, 369, 353, 496, 354, 355, 356, 426, 937, + 528, 865, 61, 528, 524, 377, 437, 446, 618, 63, + 437, 437, 437, 437, 437, 190, 416, 190, 885, 614, + 548, 615, 201, 363, 556, 364, 365, 831, 366, 367, + 490, 368, 370, 462, 326, 612, 202, 963, 371, 372, + 395, 203, 528, 234, 374, 375, 204, 376, 662, 378, + 379, 400, 6, 524, 527, 6, 392, 401, 402, 439, + 459, 496, 464, 671, 460, 1034, 166, 167, 496, 496, + 496, 496, 496, 496, 655, 474, 168, 130, 612, 672, + 461, 463, -262, 473, 996, 491, 524, 878, 177, 178, + 179, 416, 180, 181, 182, 477, 555, 478, 484, 492, + 1004, 485, 529, 496, 493, 536, 620, 620, 620, 494, + 558, 546, 612, 551, 635, 437, 132, 617, 638, 194, + 195, 447, 390, 196, 528, 448, 640, 194, 195, 645, + 262, 556, 674, 660, 209, 211, 970, 971, 972, 527, + 973, 974, 975, 663, 666, 667, 833, 704, 131, 543, + 834, 1041, 836, 326, 227, 527, 838, 837, 844, 847, + 859, 860, 861, 240, 653, 449, 882, 668, 669, 670, + 887, 673, 50, 175, 176, 177, 178, 179, 890, 180, + 181, 182, 862, 892, 864, 840, 924, 926, 390, 273, + 929, 275, 276, 168, 389, 930, 450, 1059, 932, 933, + 945, 934, 884, 555, 883, 938, 527, 886, 941, 942, + 888, 889, 943, 944, 946, 947, 61, 524, 655, 977, + 451, 976, 618, 63, 496, 979, 619, 499, 194, 195, + 982, 984, 390, 985, 452, 993, 612, 1002, 1003, 453, + 980, 496, 997, 1035, 454, 961, 962, 1001, 1009, 1036, + 524, 1037, 527, 894, 830, 963, 612, 620, 841, 921, + 389, 620, 1042, 620, 1038, 620, 620, 620, 1044, 1046, + 1047, 533, 1048, 50, 1049, 1050, 963, 1060, 1063, 1064, + 939, 995, 333, 894, 326, 1033, 1068, 331, 528, 978, + 175, 176, 177, 178, 179, 1069, 180, 181, 182, 643, + 343, 341, 644, 482, 389, 342, 878, 878, 878, 878, + 350, 878, 352, 863, 664, 0, 631, 61, 360, 361, + 829, 931, 657, 618, 63, 0, 0, 623, 0, 899, 900, 901, 902, 903, 904, 905, 906, 907, 908, 909, 910, 911, 912, 913, 914, 915, 916, 917, 918, 919, - 0, 922, 175, 176, 177, 178, 179, 0, 180, 181, - 182, 0, 0, 983, 0, 968, 969, 970, 971, 972, - 0, 973, 974, 975, 0, 7, 8, 9, 10, 0, - 11, 12, 13, 524, 548, 0, 968, 969, 970, 971, - 972, 391, 973, 974, 975, 1011, 1012, 1013, 1014, 1015, - 1016, 1017, 1018, 1019, 1020, 1021, 1022, 1023, 1024, 1025, - 1026, 1027, 1028, 1029, 0, 0, 0, 0, 867, 952, - 0, 528, 0, 0, 963, 444, 894, 0, 0, 0, - 0, 0, 0, 0, 868, 953, 0, 194, 195, 0, - 0, 0, 22, 0, 0, 0, 0, 0, 0, 1051, - 0, 0, 0, 0, 0, 0, 0, 0, 27, 0, - 0, 0, 0, 496, 612, 0, 262, 869, 524, 0, - 870, 0, 478, 0, 32, 0, 0, 0, 0, 481, - 0, 483, 50, 0, 524, 936, 0, 0, 1005, 1006, - 1007, 1008, 1065, 166, 167, 0, 0, 871, 0, 0, - 0, 872, 873, 168, 0, 874, 528, 875, 0, 894, - 0, 876, 0, 0, 556, 0, 957, 958, 959, 960, - 961, 962, 528, 970, 971, 972, 61, 973, 974, 975, - 963, 0, 618, 63, 1031, 524, 961, 962, 622, 622, - 622, 986, 0, 0, 0, 0, 963, 0, 989, 160, + 0, 922, 968, 969, 970, 971, 972, 0, 973, 974, + 975, 0, 0, 983, 162, 163, 164, 165, 166, 167, + 0, 0, 0, 968, 969, 970, 971, 972, 168, 973, + 974, 975, 391, 524, 548, 0, 0, 0, 0, 0, + 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, + 878, 878, 878, 878, 878, 878, 878, 878, 878, 194, + 195, 0, 0, 0, 0, 0, 444, 0, 0, 952, + 0, 528, 0, 0, 0, 0, 894, 959, 960, 961, + 962, 0, 0, 0, 0, 953, 0, 0, 0, 963, + 0, 0, 0, 0, 878, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 50, 0, 0, 0, 0, 0, + 0, 0, 0, 496, 612, 0, 262, 0, 524, 0, + 481, 0, 483, 173, 174, 175, 176, 177, 178, 179, + 0, 180, 181, 182, 524, 936, 0, 878, 1005, 1006, + 1007, 1008, 0, 0, 0, 0, 0, 0, 61, 0, + 0, 0, 0, 0, 618, 63, 528, 0, 625, 894, + 0, 0, 0, 0, 556, 0, 0, 0, 0, 0, + 0, 0, 528, 0, 0, 0, 0, 0, 0, 622, + 622, 622, 0, 0, 1031, 524, 968, 969, 970, 971, + 972, 986, 973, 974, 975, 0, 0, 0, 989, 160, 161, 162, 163, 164, 165, 166, 167, 0, 0, 612, 0, 0, 0, 0, 0, 168, 0, 0, 0, 0, 0, 0, 0, 528, 0, 0, 894, 0, 0, 0, 894, 524, 0, 0, 0, 0, 555, 0, 0, 0, - 0, 0, 0, 0, 0, 1055, 0, 1056, 0, 0, - 175, 176, 177, 178, 179, 0, 180, 181, 182, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 528, - 444, 894, 0, 1071, 1072, 894, 1032, 968, 969, 970, - 971, 972, 0, 973, 974, 975, 0, 0, 0, 894, - 0, 1039, 0, 968, 969, 970, 971, 972, 894, 973, - 974, 975, 0, 0, 0, 0, 169, 170, 171, 172, - 173, 174, 175, 176, 177, 178, 179, 0, 180, 181, - 182, 0, 0, 0, 384, 0, 444, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 849, 622, - 851, 0, 0, 622, 0, 622, 0, 622, 622, 622, - 0, 0, 0, 0, 0, 861, 712, 713, 714, 715, - 716, 717, 718, 719, 720, 721, 0, 722, 723, 724, - 725, 726, 727, 728, 729, 730, 731, 732, 0, 0, - 0, 0, 0, 0, 733, 734, 735, 736, 737, 738, - 739, 740, 741, 742, 743, 744, 745, 746, 747, 748, - 749, 0, 0, 750, 751, 752, 753, 754, 755, 756, - 757, 758, 759, 760, 761, 762, 763, 0, 764, 0, - 765, 766, 767, 768, 769, 770, 771, 772, 773, 774, - 775, 776, 0, 0, 0, 777, 0, 778, 0, 779, - 780, 781, 782, 783, 784, 785, 786, 787, 788, 789, - 790, 791, 792, 0, 793, 794, 795, 796, 797, 798, - 799, 0, 800, 801, 802, 803, 804, 0, 0, 0, - 805, 806, 807, 808, 809, 810, 811, 812, 813, 814, - 815, 816, 817, 818, 819, 820, 821, 822, 823, 824, - 825, 999, 826, 827, 712, 713, 714, 715, 716, 717, - 718, 719, 720, 721, 0, 722, 723, 724, 725, 726, - 727, 728, 729, 730, 731, 732, 0, 0, 0, 0, - 0, 0, 733, 734, 735, 736, 737, 738, 739, 740, - 741, 742, 743, 744, 745, 746, 747, 748, 749, 0, - 0, 750, 751, 752, 753, 754, 755, 756, 757, 758, - 759, 760, 761, 762, 763, 0, 764, 0, 765, 766, - 767, 768, 769, 770, 771, 772, 773, 774, 775, 776, - 0, 0, 0, 777, 0, 778, 0, 779, 780, 781, - 782, 783, 784, 785, 786, 787, 788, 789, 790, 791, - 792, 0, 793, 794, 795, 796, 797, 798, 799, 0, - 800, 801, 802, 803, 804, 0, 0, 0, 805, 806, - 807, 808, 809, 810, 811, 812, 813, 814, 815, 816, - 817, 818, 819, 820, 821, 822, 823, 824, 825, 0, - 826, 827, 0, 500, 501, 502, 10, 0, 11, 503, - 504, 44, 0, 0, 505, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 160, 161, 162, 163, 164, 165, 166, - 167, 0, 0, 0, 0, 0, 506, 45, 0, 168, - 46, 0, 47, 48, 49, 50, 507, 0, 52, 0, - 0, 53, 508, 0, 0, 54, 0, 0, 0, 0, - 509, 55, 0, 0, 0, 0, 0, 56, 57, 58, - 0, 0, 0, 0, 510, 0, 511, 194, 195, 0, - 0, 512, 0, 59, 60, 513, 0, 0, 514, 61, - 0, 0, 515, 0, 0, 62, 63, 64, 0, 0, - 65, 0, 66, 500, 501, 502, 10, 0, 11, 503, - 504, 44, 0, 0, 895, 516, 0, 0, 1058, 517, - 0, 0, 50, 518, 0, 519, 0, 0, 0, 520, - 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, - 179, 0, 180, 181, 182, 0, 506, 45, 992, 0, - 46, 0, 47, 48, 49, 50, 507, 0, 52, 0, - 0, 53, 508, 0, 0, 54, 61, 0, 0, 0, - 509, 55, 618, 63, 0, 0, 623, 56, 57, 58, - 0, 0, 0, 0, 510, 0, 511, 194, 195, 0, - 0, 512, 0, 59, 60, 513, 0, 0, 514, 61, - 0, 0, 515, 0, 0, 62, 63, 64, 0, 0, - 65, 0, 66, 7, 8, 9, 10, 0, 11, 12, - 13, 143, 0, 0, 0, 516, 0, 0, 0, 517, - 0, 0, 50, 518, 0, 519, 0, 0, 0, 520, - 0, 0, 0, 160, 161, 162, 163, 164, 165, 166, - 167, 0, 0, 0, 0, 0, 15, 45, 0, 168, - 144, 0, 145, 146, 147, 50, 51, 0, 52, 0, - 0, 148, 21, 0, 0, 54, 61, 0, 0, 0, - 22, 149, 618, 63, 0, 0, 625, 150, 151, 58, - 0, 0, 0, 0, 26, 0, 27, 0, 0, 0, - 0, 0, 0, 152, 153, 30, 0, 0, 31, 61, - 0, 0, 32, 0, 0, 62, 63, 154, 0, 0, - 65, 0, 155, 500, 501, 502, 10, 0, 11, 503, - 504, 44, 0, 0, 0, 35, 0, 0, 0, 36, - 37, 0, 0, 38, 0, 39, 0, 0, 0, 40, - 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, - 179, 0, 180, 181, 182, 0, 506, 45, 1054, 0, - 46, 0, 47, 48, 49, 50, 507, 0, 52, 0, - 0, 53, 508, 0, 0, 54, 0, 0, 0, 0, - 509, 55, 0, 0, 0, 0, 0, 56, 57, 58, - 0, 0, 0, 0, 510, 0, 511, 0, 0, 0, - 0, 512, 0, 59, 60, 513, 0, 0, 514, 61, - 0, 0, 515, 0, 0, 62, 63, 64, 0, 0, - 65, 0, 66, 7, 8, 9, 10, 0, 11, 12, - 13, 14, 0, 0, 0, 516, 0, 0, 0, 517, - 0, 0, 0, 518, 0, 519, 0, 0, 0, 520, - 957, 958, 959, 960, 961, 962, 0, 0, 0, 46, - 0, 47, 48, 49, 963, 0, 15, 0, 0, 0, - 16, 0, 17, 18, 19, 0, 0, 0, 0, 0, - 0, 20, 21, 0, 0, 0, 56, 191, 58, 0, - 22, 23, 0, 0, 0, 0, 0, 24, 25, 0, - 0, 0, 59, 60, 26, 0, 27, 0, 0, 0, - 0, 0, 0, 28, 29, 30, 64, 0, 31, 0, - 0, 66, 32, 7, 8, 9, 10, 33, 11, 12, - 13, 14, 34, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 133, 35, 0, 0, 0, 36, - 37, 0, 0, 38, 0, 39, 0, 307, 967, 40, - 0, 968, 969, 970, 971, 972, 15, 973, 974, 975, - 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, 445, 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, 552, 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, 920, 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, 935, 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, 216, 0, 0, 0, 35, 0, 0, 0, 36, - 37, 0, 0, 38, 0, 39, 0, 1030, 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, 81, 0, 0, 0, 0, 0, - 22, 23, 82, 0, 0, 0, 0, 24, 25, 0, - 0, 84, 85, 86, 26, 0, 27, 0, 0, 0, - 0, 212, 0, 28, 29, 30, 0, 92, 31, 0, - 0, 0, 32, 0, 0, 0, 97, 33, 0, 0, - 0, 98, 34, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, -2, 103, 35, 104, 0, 0, 36, - 37, 561, 0, 38, 0, 39, 0, 0, 0, 40, - 562, 563, 564, 565, 566, 567, 568, 569, 0, 0, - 0, 0, 0, 0, 0, 0, 570, 0, 571, 572, - 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, - 0, 80, 81, 0, 0, 0, 0, 0, 0, 0, - 82, 0, 0, 0, 0, 583, 0, 83, 0, 84, - 85, 86, 87, 0, 0, 88, 0, 0, 0, 89, - 0, 0, 0, 90, 91, 92, 93, 0, 0, 584, - 0, 94, 95, 96, 97, 0, 0, 0, 0, 98, - 99, 0, 0, 100, 0, 243, 244, 101, 0, 0, - 0, 102, 103, 0, 104, 0, 0, 0, 0, 0, - 0, 0, 105, 585, 0, 0, 586, 0, 587, 588, - 589, 590, 591, 592, 593, 594, 595, 596, 597, 0, - 598, 599, 245, 0, 600, 46, 0, 47, 48, 49, - 50, 246, 0, 247, 0, 0, 53, 0, 0, 0, - 54, 0, 0, 0, 0, 0, 55, 324, 0, 0, - 0, 0, 56, 57, 58, 0, 243, 244, 0, 0, - 0, 0, 248, 0, 0, 0, 0, 0, 59, 60, - 0, 0, 0, 0, 61, 0, 0, 0, 0, 0, - 249, 63, 64, 0, 0, 65, 46, 66, 47, 48, - 49, 0, 250, 245, 0, 0, 46, 0, 47, 48, - 49, 50, 246, 0, 247, 0, 0, 53, 251, 0, - 0, 54, 0, 56, 191, 58, 0, 55, 0, 0, - 243, 244, 0, 56, 57, 58, 0, 0, 0, 59, - 60, 0, 0, 248, 0, 0, 0, 0, 0, 59, - 60, 0, 0, 64, 0, 61, 0, 0, 66, 0, - 0, 249, 63, 64, 0, 0, 65, 245, 66, 0, - 46, 0, 47, 48, 49, 50, 340, 0, 247, 0, - 0, 53, 0, 0, 0, 54, 0, 0, 0, 251, - 0, 55, 0, 0, 0, 0, 0, 56, 57, 58, - 0, 0, 0, 0, 0, 0, 0, 248, 0, 164, - 165, 166, 167, 59, 60, 0, 0, 0, 0, 61, - 0, 168, 0, 0, 0, 249, 63, 64, 0, 0, - 65, 0, 66, 160, 161, 162, 163, 164, 165, 166, - 167, 0, 0, 0, 0, 0, 0, 0, 0, 168, - 0, 0, 0, 251, 160, 161, 162, 163, 164, 165, - 166, 167, 0, 0, 0, 0, 0, 0, 0, 0, - 168, 160, 161, 162, 163, 164, 165, 166, 167, 0, - 0, 0, 0, 0, 0, 0, 0, 168, 0, 160, - 161, 162, 163, 164, 165, 166, 167, 0, 0, 0, - 0, 0, 0, 0, 0, 168, 0, 160, 161, 162, - 163, 164, 165, 166, 167, 0, 173, 174, 175, 176, - 177, 178, 179, 168, 180, 181, 182, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 405, 0, 0, 0, - 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, - 179, 0, 180, 181, 182, 406, 0, 0, 0, 0, - 0, 169, 170, 171, 172, 173, 174, 175, 176, 177, - 178, 179, 0, 180, 181, 182, 385, 0, 169, 170, - 171, 172, 173, 174, 175, 176, 177, 178, 179, 0, - 180, 181, 182, 534, 382, 0, 169, 170, 171, 172, - 173, 174, 175, 176, 177, 178, 179, 0, 180, 181, - 182, 557, 0, 0, 169, 170, 171, 172, 173, 174, - 175, 176, 177, 178, 179, 0, 180, 181, 182, 160, - 161, 162, 163, 164, 165, 166, 167, 0, 0, 0, - 0, 0, 0, 0, 0, 168, 160, 161, 162, 163, - 164, 165, 166, 167, 0, 0, 0, 0, 0, 0, - 0, 0, 168, 160, 161, 162, 163, 164, 165, 166, - 167, 0, 0, 0, 0, 0, 0, 0, 0, 168, - 678, 679, 680, 681, 682, 683, 684, 685, 0, 0, - 0, 0, 0, 0, 0, 0, 686, 955, 956, 957, - 958, 959, 960, 961, 962, 0, 0, 0, 0, 0, - 0, 0, 0, 963, 955, 956, 957, 958, 959, 960, - 961, 962, 0, 0, 0, 0, 0, 0, 0, 0, - 963, 0, 848, 0, 0, 0, 169, 170, 171, 172, - 173, 174, 175, 176, 177, 178, 179, 0, 180, 181, - 182, 990, 0, 169, 170, 171, 172, 173, 174, 175, - 176, 177, 178, 179, 0, 180, 181, 182, 0, 0, - 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, - 179, 0, 180, 181, 182, 0, 0, 687, 688, 689, - 690, 691, 692, 693, 694, 695, 696, 697, 0, 698, - 699, 700, 1052, 0, 964, 965, 966, 967, 0, 0, + 0, 0, 0, 0, 0, 1055, 0, 1056, 0, 957, + 958, 959, 960, 961, 962, 0, 0, 948, 949, 950, + 951, 444, 954, 963, 0, 0, 0, 0, 0, 528, + 0, 894, 0, 1071, 1072, 894, 1032, 160, 161, 162, + 163, 164, 165, 166, 167, 0, 0, 0, 0, 894, + 0, 1039, 0, 168, 0, 0, 0, 0, 894, 0, + 0, 0, 0, 0, 0, 0, 169, 170, 171, 172, + 173, 174, 175, 176, 177, 178, 179, 444, 180, 181, + 182, 0, 0, 0, 384, 0, 0, 0, 0, 849, + 622, 851, 0, 0, 622, 0, 622, 0, 622, 622, + 622, 1011, 1012, 1013, 1014, 1015, 1016, 1017, 1018, 1019, + 1020, 1021, 1022, 1023, 1024, 1025, 1026, 1027, 1028, 1029, 968, 969, 970, 971, 972, 0, 973, 974, 975, 0, - 0, 964, 965, 966, 967, 0, 0, 968, 969, 970, - 971, 972, 0, 973, 974, 975, 161, 162, 163, 164, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 169, 170, 171, 172, 173, 174, + 175, 176, 177, 178, 179, 1051, 180, 181, 182, 0, + 0, 0, 992, 0, 0, 0, 0, 0, 0, 0, + 0, 712, 713, 714, 715, 716, 717, 718, 719, 720, + 721, 0, 722, 723, 724, 725, 726, 727, 728, 729, + 730, 731, 732, 0, 0, 0, 0, 0, 1065, 733, + 734, 735, 736, 737, 738, 739, 740, 741, 742, 743, + 744, 745, 746, 747, 748, 749, 0, 0, 750, 751, + 752, 753, 754, 755, 756, 757, 758, 759, 760, 761, + 762, 763, 0, 764, 0, 765, 766, 767, 768, 769, + 770, 771, 772, 773, 774, 775, 776, 0, 0, 0, + 777, 0, 778, 0, 779, 780, 781, 782, 783, 784, + 785, 786, 787, 788, 789, 790, 791, 792, 0, 793, + 794, 795, 796, 797, 798, 799, 0, 800, 801, 802, + 803, 804, 0, 0, 0, 805, 806, 807, 808, 809, + 810, 811, 812, 813, 814, 815, 816, 817, 818, 819, + 820, 821, 822, 823, 824, 825, 999, 826, 827, 712, + 713, 714, 715, 716, 717, 718, 719, 720, 721, 0, + 722, 723, 724, 725, 726, 727, 728, 729, 730, 731, + 732, 0, 0, 0, 0, 0, 0, 733, 734, 735, + 736, 737, 738, 739, 740, 741, 742, 743, 744, 745, + 746, 747, 748, 749, 0, 0, 750, 751, 752, 753, + 754, 755, 756, 757, 758, 759, 760, 761, 762, 763, + 0, 764, 0, 765, 766, 767, 768, 769, 770, 771, + 772, 773, 774, 775, 776, 0, 0, 0, 777, 0, + 778, 0, 779, 780, 781, 782, 783, 784, 785, 786, + 787, 788, 789, 790, 791, 792, 0, 793, 794, 795, + 796, 797, 798, 799, 0, 800, 801, 802, 803, 804, + 0, 0, 0, 805, 806, 807, 808, 809, 810, 811, + 812, 813, 814, 815, 816, 817, 818, 819, 820, 821, + 822, 823, 824, 825, 0, 826, 827, 0, 500, 501, + 502, 10, 0, 11, 503, 504, 44, 0, 0, 505, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 160, 161, + 162, 163, 164, 165, 166, 167, 0, 0, 0, 0, + 0, 506, 45, 0, 168, 46, 0, 47, 48, 49, + 50, 507, 0, 52, 0, 0, 53, 508, 0, 1058, + 54, 0, 0, 0, 0, 509, 55, 0, 0, 0, + 0, 0, 56, 57, 58, 0, 0, 0, 0, 510, + 0, 511, 0, 0, 0, 0, 512, 0, 59, 60, + 513, 0, 0, 514, 61, 0, 0, 515, 0, 0, + 62, 63, 64, 0, 0, 65, 0, 66, 500, 501, + 502, 10, 0, 11, 503, 504, 44, 0, 0, 895, + 516, 0, 0, 0, 517, 0, 0, 0, 518, 0, + 519, 0, 0, 0, 520, 169, 170, 171, 172, 173, + 174, 175, 176, 177, 178, 179, 0, 180, 181, 182, + 0, 506, 45, 1054, 0, 46, 0, 47, 48, 49, + 50, 507, 0, 52, 0, 0, 53, 508, 0, 0, + 54, 0, 0, 0, 0, 509, 55, 0, 0, 0, + 0, 0, 56, 57, 58, 0, 0, 0, 0, 510, + 0, 511, 0, 0, 0, 0, 512, 0, 59, 60, + 513, 0, 0, 514, 61, 0, 0, 515, 0, 0, + 62, 63, 64, 0, 0, 65, 0, 66, 7, 8, + 9, 10, 0, 11, 12, 13, 143, 0, 0, 0, + 516, 0, 0, 0, 517, 0, 0, 0, 518, 0, + 519, 0, 0, 0, 520, 0, 0, 0, 160, 161, + 162, 163, 164, 165, 166, 167, 0, 0, 0, 0, + 0, 15, 45, 0, 168, 144, 0, 145, 146, 147, + 50, 51, 0, 52, 0, 0, 148, 21, 0, 0, + 54, 0, 0, 0, 0, 22, 149, 0, 0, 0, + 0, 0, 150, 151, 58, 0, 0, 0, 0, 26, + 0, 27, 0, 0, 0, 0, 0, 0, 152, 153, + 30, 0, 0, 31, 61, 0, 0, 32, 0, 0, + 62, 63, 154, 0, 0, 65, 0, 155, 500, 501, + 502, 10, 0, 11, 503, 504, 44, 0, 0, 0, + 35, 0, 0, 0, 36, 37, 0, 0, 38, 0, + 39, 405, 0, 0, 40, 169, 170, 171, 172, 173, + 174, 175, 176, 177, 178, 179, 0, 180, 181, 182, + 406, 506, 45, 0, 0, 46, 0, 47, 48, 49, + 50, 507, 0, 52, 0, 0, 53, 508, 0, 0, + 54, 0, 0, 0, 0, 509, 55, 0, 0, 0, + 0, 0, 56, 57, 58, 0, 0, 0, 0, 510, + 0, 511, 0, 0, 0, 0, 512, 0, 59, 60, + 513, 0, 0, 514, 61, 0, 0, 515, 0, 0, + 62, 63, 64, 0, 0, 65, 0, 66, 7, 8, + 9, 10, 0, 11, 12, 13, 14, 0, 0, 0, + 516, 0, 0, 0, 517, 0, 0, 0, 518, 0, + 519, 0, 0, 0, 520, 957, 958, 959, 960, 961, + 962, 0, 0, 0, 46, 0, 47, 48, 49, 963, + 0, 15, 0, 0, 0, 16, 0, 17, 18, 19, + 0, 0, 0, 0, 0, 0, 20, 21, 0, 0, + 0, 56, 191, 58, 0, 22, 23, 0, 0, 0, + 0, 0, 24, 25, 0, 0, 0, 59, 60, 26, + 0, 27, 0, 0, 0, 0, 0, 0, 28, 29, + 30, 64, 0, 31, 0, 0, 66, 32, 7, 8, + 9, 10, 33, 11, 12, 13, 14, 34, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 133, + 35, 0, 0, 0, 36, 37, 0, 0, 38, 0, + 39, 0, 307, 967, 40, 0, 968, 969, 970, 971, + 972, 15, 973, 974, 975, 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, 445, 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, 552, 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, 920, 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, 935, 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, 1030, 0, 40, 0, 81, 0, 0, 0, + 0, 15, 0, 0, 82, 16, 0, 17, 18, 19, + 0, 0, 867, 84, 85, 86, 20, 21, 0, 0, + 0, 0, 0, 212, 0, 22, 23, 0, 868, 92, + 0, 0, 24, 25, 0, 0, 22, 0, 97, 26, + 0, 27, 0, 98, 0, 0, 0, 0, 28, 29, + 30, 0, 27, 31, 0, 0, 103, 32, 104, 0, + 0, 869, 33, 0, 870, 0, 0, 34, 32, 0, + 0, 0, 0, -127, 0, 0, 0, 0, 0, 0, + 35, 0, 0, 0, 36, 37, 0, 0, 38, -2, + 39, 871, 0, 0, 40, 872, 873, 561, 0, 874, + 0, 875, 0, 0, 0, 876, 562, 563, 564, 565, + 566, 567, 568, 569, 0, 0, 0, 0, 0, 0, + 0, 0, 570, 0, 571, 572, 573, 574, 575, 576, + 577, 578, 579, 580, 581, 582, 0, 80, 81, 0, + 0, 0, 0, 0, 0, 0, 82, 0, 0, 0, + 0, 583, 0, 83, 0, 84, 85, 86, 87, 0, + 0, 88, 0, 0, 0, 89, 0, 0, 0, 90, + 91, 92, 93, 0, 0, 584, 0, 94, 95, 96, + 97, 0, 0, 0, 0, 98, 99, 0, 0, 100, + 0, 243, 244, 101, 0, 0, 0, 102, 103, 0, + 104, 0, 0, 0, 0, 0, 0, 0, 105, 585, + 0, 0, 586, 0, 587, 588, 589, 590, 591, 592, + 593, 594, 595, 596, 597, 0, 598, 599, 245, 0, + 600, 46, 0, 47, 48, 49, 50, 246, 0, 247, + 0, 0, 53, 0, 0, 0, 54, 0, 0, 0, + 0, 0, 55, 324, 0, 0, 0, 0, 56, 57, + 58, 0, 243, 244, 0, 0, 0, 0, 248, 0, + 0, 0, 0, 0, 59, 60, 0, 0, 0, 0, + 61, 0, 0, 0, 0, 0, 249, 63, 64, 0, + 0, 65, 46, 66, 47, 48, 49, 0, 250, 245, + 0, 0, 46, 0, 47, 48, 49, 50, 246, 0, + 247, 0, 0, 53, 251, 0, 0, 54, 0, 56, + 191, 58, 0, 55, 0, 0, 243, 244, 0, 56, + 57, 58, 0, 0, 0, 59, 60, 0, 0, 248, + 0, 0, 0, 0, 0, 59, 60, 0, 0, 64, + 0, 61, 0, 0, 66, 0, 0, 249, 63, 64, + 0, 0, 65, 245, 66, 0, 46, 0, 47, 48, + 49, 50, 340, 0, 247, 0, 0, 53, 0, 0, + 0, 54, 0, 0, 0, 251, 0, 55, 0, 0, + 0, 0, 0, 56, 57, 58, 0, 0, 0, 0, + 0, 0, 0, 248, 0, 0, 0, 0, 0, 59, + 60, 0, 0, 0, 0, 61, 0, 0, 0, 0, + 0, 249, 63, 64, 0, 0, 65, 0, 66, 160, + 161, 162, 163, 164, 165, 166, 167, 0, 0, 0, + 0, 0, 0, 0, 0, 168, 0, 0, 0, 251, + 160, 161, 162, 163, 164, 165, 166, 167, 0, 0, + 0, 0, 0, 0, 0, 0, 168, 0, 160, 161, + 162, 163, 164, 165, 166, 167, 0, 0, 0, 0, + 0, 0, 0, 0, 168, 0, 160, 161, 162, 163, + 164, 165, 166, 167, 0, 0, 0, 0, 0, 0, + 0, 0, 168, 0, 0, 160, 161, 162, 163, 164, 165, 166, 167, 0, 0, 0, 0, 0, 0, 0, - 0, 168, 956, 957, 958, 959, 960, 961, 962, 0, - 0, 0, 0, 0, 0, 0, 0, 963, 162, 163, - 164, 165, 166, 167, 0, 0, 0, 46, 0, 47, - 48, 49, 168, 162, 163, 164, 165, 166, 167, 0, - 0, 0, 0, 0, 0, 0, 0, 168, 162, 163, - 164, 165, 166, 167, 56, 191, 58, 0, 0, 0, - 0, 0, 168, 957, 958, 959, 960, 961, 962, 0, - 59, 60, 0, 0, 0, 0, 0, 963, 162, 163, - 164, 165, 166, 167, 64, 0, 0, 0, 0, 66, - 0, 0, 168, 170, 171, 172, 173, 174, 175, 176, - 177, 178, 179, 0, 180, 181, 182, 0, 0, 965, - 966, 967, 134, 0, 968, 969, 970, 971, 972, 0, - 973, 974, 975, 0, 170, 171, 172, 173, 174, 175, - 176, 177, 178, 179, 0, 180, 181, 182, 0, 0, + 0, 168, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 169, 170, 171, 172, + 173, 174, 175, 176, 177, 178, 179, 0, 180, 181, + 182, 385, 0, 0, 0, 0, 0, 169, 170, 171, + 172, 173, 174, 175, 176, 177, 178, 179, 0, 180, + 181, 182, 534, 382, 0, 169, 170, 171, 172, 173, + 174, 175, 176, 177, 178, 179, 0, 180, 181, 182, + 557, 0, 0, 169, 170, 171, 172, 173, 174, 175, + 176, 177, 178, 179, 0, 180, 181, 182, 848, 0, + 0, 0, 169, 170, 171, 172, 173, 174, 175, 176, + 177, 178, 179, 0, 180, 181, 182, 160, 161, 162, + 163, 164, 165, 166, 167, 0, 0, 0, 0, 0, + 0, 0, 0, 168, 160, 161, 162, 163, 164, 165, + 166, 167, 0, 0, 0, 0, 0, 0, 0, 0, + 168, 678, 679, 680, 681, 682, 683, 684, 685, 0, + 0, 0, 0, 0, 0, 0, 0, 686, 955, 956, + 957, 958, 959, 960, 961, 962, 0, 0, 0, 0, + 0, 0, 0, 0, 963, 955, 956, 957, 958, 959, + 960, 961, 962, 0, 0, 0, 0, 0, 0, 0, + 0, 963, 161, 162, 163, 164, 165, 166, 167, 0, + 0, 0, 0, 0, 0, 0, 0, 168, 0, 0, + 0, 0, 990, 0, 169, 170, 171, 172, 173, 174, + 175, 176, 177, 178, 179, 0, 180, 181, 182, 0, + 0, 169, 170, 171, 172, 173, 174, 175, 176, 177, + 178, 179, 0, 180, 181, 182, 0, 0, 687, 688, + 689, 690, 691, 692, 693, 694, 695, 696, 697, 0, + 698, 699, 700, 1052, 0, 964, 965, 966, 967, 0, + 0, 968, 969, 970, 971, 972, 0, 973, 974, 975, + 0, 0, 964, 965, 966, 967, 0, 0, 968, 969, + 970, 971, 972, 0, 973, 974, 975, 0, 0, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 0, - 180, 181, 182, 0, 0, 0, 172, 173, 174, 175, - 176, 177, 178, 179, 0, 180, 181, 182, 0, 965, - 966, 967, 0, 0, 968, 969, 970, 971, 972, 0, - 973, 974, 975, 407, 408, 0, 0, 173, 174, 175, - 176, 177, 178, 179, 0, 180, 181, 182, 957, 958, - 959, 960, 961, 962, 0, 0, 0, 0, 0, 0, - 0, 0, 963, 46, 0, 47, 48, 49, 0, 0, - 0, 0, 0, 46, 0, 47, 48, 49, 409, 410, - 0, 0, 0, 0, 53, 0, 0, 0, 0, 0, - 56, 191, 58, 0, 55, 0, 0, 0, 0, 0, - 56, 57, 58, 407, 408, 0, 59, 60, 0, 0, - 0, 0, 0, 0, 0, 0, 59, 60, 0, 0, - 64, 0, 0, 0, 0, 66, 0, 0, 411, 0, - 64, 0, 0, 65, 0, 66, 0, 0, 0, 0, - 0, 0, 0, 46, 0, 47, 48, 49, 137, 0, - 0, 0, 44, 0, 53, 966, 967, 0, 0, 968, - 969, 970, 971, 972, 55, 973, 974, 975, 0, 0, - 56, 57, 58, 0, 0, 0, 0, 0, 0, 0, - 46, 0, 47, 48, 49, 0, 59, 60, 45, 0, - 0, 46, 0, 47, 48, 49, 50, 51, 0, 52, - 64, 312, 53, 65, 0, 66, 54, 56, 191, 58, - 0, 0, 55, 44, 0, 0, 0, 0, 56, 57, - 58, 0, 0, 59, 60, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 59, 60, 0, 64, 0, 0, - 61, 46, 66, 47, 48, 49, 62, 63, 64, 45, - 44, 65, 46, 66, 47, 48, 49, 50, 348, 0, - 52, 0, 0, 53, 0, 0, 0, 54, 56, 191, - 58, 0, 0, 55, 0, 0, 0, 0, 0, 56, - 57, 58, 0, 0, 59, 60, 45, 0, 0, 46, - 0, 47, 48, 49, 50, 59, 60, 52, 64, 0, - 53, 61, 0, 66, 54, 0, 0, 62, 63, 64, - 55, 44, 65, 0, 66, 0, 56, 57, 58, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 661, 0, 59, 60, 0, 0, 0, 0, 61, 0, - 0, 0, 0, 0, 62, 63, 64, 45, 127, 65, - 46, 66, 47, 48, 49, 50, 0, 0, 52, 0, - 0, 53, 0, 0, 0, 54, 0, 0, 0, 0, + 180, 181, 182, 956, 957, 958, 959, 960, 961, 962, + 0, 0, 0, 46, 0, 47, 48, 49, 963, 162, + 163, 164, 165, 166, 167, 0, 0, 0, 0, 0, + 0, 0, 0, 168, 162, 163, 164, 165, 166, 167, + 56, 191, 58, 0, 0, 0, 0, 0, 168, 162, + 163, 164, 165, 166, 167, 0, 59, 60, 0, 0, + 0, 0, 0, 168, 957, 958, 959, 960, 961, 962, + 64, 0, 0, 0, 0, 66, 0, 0, 963, 957, + 958, 959, 960, 961, 962, 0, 0, 0, 0, 0, + 0, 0, 0, 963, 164, 165, 166, 167, 134, 0, + 0, 0, 0, 0, 0, 0, 168, 0, 0, 0, + 965, 966, 967, 0, 0, 968, 969, 970, 971, 972, + 0, 973, 974, 975, 0, 170, 171, 172, 173, 174, + 175, 176, 177, 178, 179, 0, 180, 181, 182, 0, + 0, 171, 172, 173, 174, 175, 176, 177, 178, 179, + 0, 180, 181, 182, 0, 0, 0, 172, 173, 174, + 175, 176, 177, 178, 179, 216, 180, 181, 182, 0, + 965, 966, 967, 0, 0, 968, 969, 970, 971, 972, + 0, 973, 974, 975, 0, 0, 966, 967, 0, 0, + 968, 969, 970, 971, 972, 0, 973, 974, 975, 0, + 0, 173, 174, 175, 176, 177, 178, 179, 81, 180, + 181, 182, 0, 0, 407, 408, 82, 0, 0, 0, + 0, 0, 0, 0, 0, 84, 85, 86, 0, 0, + 0, 0, 0, 0, 0, 212, 0, 0, 0, 0, + 0, 92, 0, 0, 46, 0, 47, 48, 49, 0, + 97, 407, 408, 0, 46, 98, 47, 48, 49, 409, + 410, 0, 0, 0, 0, 53, 0, 0, 103, 0, + 104, 56, 191, 58, 0, 55, 0, 0, 0, 0, + 0, 56, 57, 58, 0, 0, 0, 59, 60, 0, + 0, 46, 0, 47, 48, 49, 0, 59, 60, 0, + 44, 64, 53, 0, 0, 0, 66, 0, 0, 411, + 0, 64, 55, 0, 65, 0, 66, 0, 56, 57, + 58, 0, 0, 0, 0, 0, 0, 0, 46, 137, + 47, 48, 49, 0, 59, 60, 45, 0, 0, 46, + 0, 47, 48, 49, 50, 51, 0, 52, 64, 312, + 53, 65, 0, 66, 54, 56, 191, 58, 0, 0, + 55, 44, 0, 0, 0, 0, 56, 57, 58, 0, + 0, 59, 60, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 59, 60, 0, 64, 0, 0, 61, 46, + 66, 47, 48, 49, 62, 63, 64, 45, 44, 65, + 46, 66, 47, 48, 49, 50, 348, 0, 52, 0, + 0, 53, 0, 0, 0, 54, 56, 191, 58, 0, 0, 55, 0, 0, 0, 0, 0, 56, 57, 58, - 0, 0, 0, 0, 0, 0, 0, 46, 0, 47, - 48, 49, 50, 59, 60, 0, 0, 0, 53, 61, - 0, 0, 54, 0, 0, 62, 63, 64, 55, 0, + 0, 0, 59, 60, 45, 0, 0, 46, 0, 47, + 48, 49, 50, 59, 60, 52, 64, 0, 53, 61, + 0, 66, 54, 0, 0, 62, 63, 64, 55, 44, 65, 0, 66, 0, 56, 57, 58, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 59, 60, 80, 81, 0, 0, 61, 0, 0, 0, - 0, 82, 128, 63, 64, 0, 0, 65, 83, 66, - 84, 85, 86, 87, 0, 0, 88, 0, 0, 0, - 89, 0, 0, 0, 90, 91, 92, 93, 0, 0, - 0, 0, 94, 95, 96, 97, 0, 0, 80, 81, - 98, 99, 0, 0, 100, 0, 0, 82, 101, 0, - 0, 0, 102, 103, 83, 104, 84, 85, 86, 87, - 0, 0, 88, 105, 0, 0, 89, 0, 0, 0, - 90, 91, 92, 93, 0, 0, 0, 0, 94, 95, - 96, 97, 403, 0, 80, 81, 98, 99, 0, 0, - 100, 0, 0, 82, 101, 0, 0, 0, 102, 103, - 83, 104, 84, 85, 86, 87, 0, 0, 88, 105, - 0, 0, 89, 0, 0, 0, 90, 91, 92, 93, - 0, 0, 0, 0, 94, 95, 96, 97, 467, 0, - 80, 81, 98, 99, 0, 0, 100, 0, 0, 82, - 101, 0, 0, 0, 102, 103, 83, 104, 84, 85, - 86, 87, 0, 0, 88, 105, 0, 0, 89, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 661, 0, + 59, 60, 0, 0, 0, 0, 61, 0, 0, 0, + 0, 0, 62, 63, 64, 45, 127, 65, 46, 66, + 47, 48, 49, 50, 0, 0, 52, 0, 0, 53, + 0, 0, 0, 54, 0, 0, 0, 0, 0, 55, + 0, 0, 0, 0, 0, 56, 57, 58, 0, 0, + 0, 0, 0, 0, 0, 46, 0, 47, 48, 49, + 50, 59, 60, 0, 0, 0, 53, 61, 0, 0, + 54, 0, 0, 62, 63, 64, 55, 0, 65, 0, + 66, 0, 56, 57, 58, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 59, 60, + 80, 81, 0, 0, 61, 0, 0, 0, 0, 82, + 128, 63, 64, 0, 0, 65, 83, 66, 84, 85, + 86, 87, 0, 0, 88, 0, 0, 0, 89, 0, 0, 0, 90, 91, 92, 93, 0, 0, 0, 0, - 94, 95, 96, 97, 475, 0, 80, 81, 98, 99, + 94, 95, 96, 97, 0, 0, 80, 81, 98, 99, 0, 0, 100, 0, 0, 82, 101, 0, 0, 0, 102, 103, 83, 104, 84, 85, 86, 87, 0, 0, 88, 105, 0, 0, 89, 0, 0, 0, 90, 91, 92, 93, 0, 0, 0, 0, 94, 95, 96, 97, - 544, 0, 80, 81, 98, 99, 0, 0, 100, 0, + 403, 0, 80, 81, 98, 99, 0, 0, 100, 0, 0, 82, 101, 0, 0, 0, 102, 103, 83, 104, 84, 85, 86, 87, 0, 0, 88, 105, 0, 0, 89, 0, 0, 0, 90, 91, 92, 93, 0, 0, - 0, 0, 94, 95, 96, 97, 636, 0, 80, 81, + 0, 0, 94, 95, 96, 97, 467, 0, 80, 81, 98, 99, 0, 0, 100, 0, 0, 82, 101, 0, 0, 0, 102, 103, 83, 104, 84, 85, 86, 87, 0, 0, 88, 105, 0, 0, 89, 0, 0, 0, 90, 91, 92, 93, 0, 0, 0, 0, 94, 95, - 96, 97, 857, 0, 0, 0, 98, 99, 0, 46, - 100, 47, 48, 49, 101, 0, 81, 0, 102, 103, - 187, 104, 0, 0, 82, 0, 0, 0, 0, 105, - 188, 0, 0, 84, 85, 86, 56, 189, 58, 0, - 0, 0, 0, 212, 0, 0, 0, 0, 858, 92, - 0, 0, 59, 60, 0, 0, 0, 0, 97, 0, - 0, 0, 0, 98, 80, 81, 64, 0, 0, 0, - 0, 66, 0, 82, 0, 0, 103, 0, 104, 0, - 83, 0, 84, 85, 86, 87, 0, 0, 88, 0, - 0, 0, 89, -127, 126, 0, 90, 91, 92, 93, - 0, 0, 0, 0, 94, 95, 96, 97, 0, 0, - 0, 0, 98, 99, 0, 46, 100, 47, 48, 49, - 101, 81, 0, 0, 102, 103, 187, 104, 0, 82, - 0, 0, 0, 81, 0, 0, 188, 0, 84, 85, - 86, 82, 56, 189, 58, 0, 0, 0, 212, 0, - 84, 85, 86, 0, 92, 221, 0, 0, 59, 60, - 212, 0, 0, 97, 0, 0, 92, 0, 98, 0, - 81, 0, 64, 0, 0, 97, 0, 66, 82, 0, - 98, 103, 0, 104, 100, 0, 0, 84, 85, 86, - 0, 0, 0, 103, 0, 104, 0, 212, 0, 0, - 0, 0, 0, 92, 0, 0, 0, 0, 0, 0, - 0, 0, 97, 0, 0, 0, 0, 98, 0, 0, + 96, 97, 475, 0, 80, 81, 98, 99, 0, 0, + 100, 0, 0, 82, 101, 0, 0, 0, 102, 103, + 83, 104, 84, 85, 86, 87, 0, 0, 88, 105, + 0, 0, 89, 0, 0, 0, 90, 91, 92, 93, + 0, 0, 0, 0, 94, 95, 96, 97, 544, 0, + 80, 81, 98, 99, 0, 0, 100, 0, 0, 82, + 101, 0, 0, 0, 102, 103, 83, 104, 84, 85, + 86, 87, 0, 0, 88, 105, 0, 0, 89, 0, + 0, 0, 90, 91, 92, 93, 0, 0, 0, 0, + 94, 95, 96, 97, 636, 0, 80, 81, 98, 99, + 0, 0, 100, 0, 0, 82, 101, 0, 0, 0, + 102, 103, 83, 104, 84, 85, 86, 87, 0, 0, + 88, 105, 0, 0, 89, 0, 0, 0, 90, 91, + 92, 93, 0, 0, 0, 0, 94, 95, 96, 97, + 857, 0, 0, 0, 98, 99, 0, 46, 100, 47, + 48, 49, 101, 0, 0, 0, 102, 103, 187, 104, + 0, 0, 0, 0, 0, 0, 0, 105, 188, 0, + 0, 0, 0, 0, 56, 189, 58, 0, 80, 81, + 0, 0, 0, 0, 0, 0, 858, 82, 0, 0, + 59, 60, 0, 0, 83, 0, 84, 85, 86, 87, + 0, 0, 88, 0, 64, 0, 89, 0, 0, 66, + 90, 91, 92, 93, 0, 0, 0, 0, 94, 95, + 96, 97, 0, 0, 0, 0, 98, 99, 0, 0, + 100, 0, 126, 46, 101, 47, 48, 49, 102, 103, + 81, 104, 0, 0, 187, 0, 0, 0, 82, 0, + 0, 0, 0, 0, 188, 0, 0, 84, 85, 86, + 56, 189, 58, 0, 0, 0, 0, 212, 0, 0, + 0, 0, 0, 92, 221, 0, 59, 60, 0, 0, + 81, 0, 97, 0, 0, 0, 0, 98, 82, 0, + 64, 0, 0, 0, 0, 66, 0, 84, 85, 86, + 103, 81, 104, 0, 0, 0, 0, 212, 0, 82, + 0, 0, 0, 92, 0, 0, 0, 0, 84, 85, + 86, 0, 97, 0, 0, 0, 0, 98, 212, 0, + 0, 100, 0, 0, 92, 0, 0, 0, 0, 0, + 103, 0, 104, 97, 0, 0, 0, 0, 98, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 103, 0, 104 + 0, 103, 0, 104 }; #define yypact_value_is_default(Yystate) \ - (!!((Yystate) == (-659))) + (!!((Yystate) == (-677))) #define yytable_value_is_error(Yytable_value) \ YYID (0) static const yytype_int16 yycheck[] = { - 1, 424, 26, 39, 499, 100, 10, 11, 512, 552, - 0, 26, 51, 341, 118, 119, 120, 121, 122, 39, - 124, 125, 126, 6, 327, 8, 14, 121, 109, 133, - 134, 118, 109, 137, 138, 135, 543, 405, 533, 118, - 463, 109, 136, 226, 135, 12, 704, 10, 11, 135, - 137, 10, 11, 421, 10, 11, 424, 135, 137, 652, - 81, 82, 85, 84, 85, 86, 67, 118, 89, 118, - 135, 92, 118, 2, 118, 135, 97, 98, 101, 100, - 101, 117, 103, 104, 26, 109, 137, 123, 137, 10, - 11, 137, 135, 137, 109, 463, 126, 10, 11, 135, - 136, 117, 609, 119, 120, 121, 35, 36, 37, 38, - 118, 40, 31, 10, 11, 116, 120, 118, 119, 120, - 121, 122, 545, 124, 125, 126, 135, 83, 456, 137, - 118, 482, 133, 134, 136, 137, 137, 138, 489, 490, - 491, 492, 493, 494, 512, 328, 653, 420, 117, 332, - 423, 120, 425, 234, 137, 458, 237, 234, 117, 135, - 237, 181, 657, 130, 469, 470, 234, 109, 351, 237, - 274, 499, 676, 524, 137, 448, 449, 545, 451, 452, - 453, 454, 677, 117, 185, 118, 120, 135, 121, 847, - 135, 212, 118, 31, 135, 216, 117, 135, 199, 200, - 201, 202, 203, 204, 117, 533, 207, 246, 118, 248, - 234, 137, 126, 237, 121, 134, 135, 136, 6, 234, - 8, 404, 237, 135, 497, 226, 6, 137, 8, 136, - 135, 160, 161, 162, 163, 164, 165, 166, 167, 168, + 1, 424, 100, 39, 499, 552, 10, 11, 512, 6, + 327, 8, 51, 26, 118, 119, 120, 121, 122, 39, + 124, 125, 126, 341, 12, 10, 11, 121, 704, 133, + 134, 109, 109, 137, 138, 14, 118, 405, 533, 0, + 463, 109, 136, 118, 543, 135, 10, 11, 118, 226, + 135, 117, 26, 421, 120, 137, 424, 10, 11, 118, + 81, 82, 137, 84, 85, 86, 67, 137, 89, 10, + 11, 92, 6, 2, 8, 31, 97, 98, 137, 100, + 101, 117, 103, 104, 26, 427, 118, 123, 135, 431, + 432, 433, 434, 435, 118, 463, 109, 135, 85, 135, + 136, 117, 10, 11, 120, 137, 35, 36, 37, 38, + 609, 40, 121, 137, 101, 116, 120, 118, 119, 120, + 121, 122, 545, 124, 125, 126, 6, 136, 8, 469, + 470, 185, 133, 134, 117, 109, 137, 138, 456, 118, + 137, 458, 130, 135, 512, 199, 200, 201, 202, 203, + 204, 328, 137, 117, 653, 332, 234, 234, 135, 237, + 237, 181, 657, 135, 117, 135, 234, 109, 118, 237, + 274, 847, 676, 118, 351, 83, 117, 545, 134, 135, + 136, 499, 677, 126, 185, 420, 118, 137, 423, 135, + 425, 212, 137, 118, 536, 216, 10, 11, 199, 200, + 201, 202, 203, 204, 118, 137, 207, 246, 135, 248, + 31, 118, 137, 448, 449, 533, 451, 452, 453, 454, + 135, 234, 4, 137, 237, 226, 135, 404, 10, 11, + 137, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, - 179, 180, 135, 182, 120, 118, 529, 186, 118, 135, - 136, 88, 89, 90, 57, 118, 59, 60, 118, 4, - 117, 64, 930, 274, 137, 10, 11, 137, 871, 872, - 873, 874, 109, 876, 137, 558, 709, 137, 117, 118, - 473, 135, 234, 476, 645, 237, 134, 135, 136, 135, - 136, 340, 135, 136, 233, 114, 115, 116, 676, 348, - 135, 662, 313, 120, 619, 339, 120, 120, 623, 320, - 625, 120, 627, 628, 629, 136, 137, 328, 329, 657, - 120, 332, 135, 136, 137, 88, 89, 90, 339, 997, - 135, 709, 136, 1001, 135, 135, 136, 137, 349, 120, - 351, 10, 11, 12, 283, 284, 137, 16, 151, 152, - 153, 154, 955, 956, 957, 958, 959, 960, 961, 962, - 963, 964, 965, 966, 967, 968, 969, 970, 971, 972, - 973, 130, 421, 10, 1042, 424, 410, 117, 1046, 484, - 885, 320, 935, 120, 126, 135, 189, 56, 191, 10, - 11, 12, 1060, 404, 135, 16, 135, 119, 135, 136, - 137, 1069, 137, 118, 415, 208, 1009, 137, 347, 842, - 421, 137, 137, 424, 463, 138, 427, 356, 87, 137, - 431, 432, 433, 434, 435, 137, 137, 127, 137, 459, - 441, 461, 137, 137, 445, 56, 117, 551, 119, 120, - 121, 137, 111, 382, 137, 456, 137, 127, 137, 1052, - 137, 485, 463, 484, 135, 136, 125, 120, 507, 117, - 135, 130, 473, 512, 842, 476, 135, 10, 11, 118, - 118, 482, 137, 519, 135, 980, 510, 117, 489, 490, - 491, 492, 493, 494, 495, 510, 140, 117, 499, 519, - 111, 135, 135, 427, 927, 118, 545, 431, 432, 433, - 434, 435, 10, 127, 125, 118, 445, 138, 130, 130, - 943, 130, 55, 524, 135, 135, 468, 469, 470, 130, - 118, 121, 533, 884, 327, 536, 12, 466, 121, 185, - 16, 130, 543, 135, 545, 126, 126, 138, 135, 118, - 551, 552, 62, 199, 200, 201, 202, 203, 204, 927, - 137, 137, 136, 73, 74, 10, 99, 137, 510, 140, - 118, 994, 105, 106, 137, 943, 109, 10, 119, 136, - 56, 118, 135, 93, 56, 137, 4, 516, 517, 518, - 31, 520, 102, 135, 118, 10, 11, 12, 137, 137, - 140, 16, 638, 138, 640, 126, 138, 135, 609, 882, - 140, 137, 536, 126, 543, 137, 135, 1040, 128, 135, - 130, 131, 661, 552, 660, 140, 994, 663, 118, 137, - 666, 667, 127, 137, 127, 111, 135, 676, 639, 119, - 137, 56, 119, 137, 645, 137, 135, 135, 550, 125, - 137, 135, 653, 926, 130, 137, 657, 138, 137, 135, - 127, 662, 137, 137, 127, 458, 137, 313, 137, 135, - 709, 135, 1040, 674, 220, 31, 677, 619, 607, 699, - 609, 623, 137, 625, 844, 627, 628, 629, 31, 130, - 131, 132, 926, 134, 135, 136, 111, 19, 20, 21, - 22, 882, 977, 704, 977, 484, 237, 485, 709, 31, - 125, 221, 410, 510, 224, 130, 639, 237, 474, 549, - 805, -1, -1, -1, 653, -1, -1, -1, -1, 239, - -1, 871, 872, 873, 874, -1, 876, -1, -1, 249, - -1, 251, -1, -1, -1, -1, -1, 257, 258, 678, + 179, 180, 118, 182, 930, 136, 137, 186, 482, 313, + 234, 118, 497, 237, 121, 489, 490, 491, 492, 493, + 494, 137, 135, 274, 10, 11, 12, 135, 136, 619, + 16, 117, 118, 623, 126, 625, 709, 627, 628, 629, + 135, 136, 234, 120, 529, 237, 473, 135, 136, 476, + 524, 340, 135, 57, 233, 59, 60, 135, 676, 348, + 64, 135, 313, 134, 135, 136, 88, 89, 90, 320, + 56, 997, 135, 558, 135, 1001, 120, 328, 329, 136, + 137, 332, 120, 10, 11, 120, 120, 109, 339, 657, + 135, 709, 117, 12, 119, 120, 121, 16, 349, 135, + 351, 135, 136, 137, 283, 284, 120, 114, 115, 116, + 135, 136, 130, 137, 120, 339, 1042, 88, 89, 90, + 1046, 135, 136, 137, 136, 111, 120, 10, 55, 135, + 136, 137, 421, 10, 1060, 424, 484, 56, 935, 125, + 885, 320, 117, 1069, 130, 126, 135, 151, 152, 153, + 154, 135, 135, 404, 10, 11, 12, 119, 137, 31, + 16, 118, 127, 117, 415, 119, 120, 121, 347, 842, + 421, 645, 99, 424, 463, 127, 427, 356, 105, 106, + 431, 432, 433, 434, 435, 189, 410, 191, 662, 459, + 441, 461, 111, 137, 445, 137, 137, 551, 137, 137, + 56, 137, 137, 382, 208, 456, 125, 31, 137, 137, + 120, 130, 463, 484, 137, 137, 135, 137, 507, 137, + 137, 117, 473, 512, 842, 476, 138, 118, 118, 135, + 135, 482, 140, 519, 137, 980, 21, 22, 489, 490, + 491, 492, 493, 494, 495, 118, 31, 510, 499, 519, + 135, 135, 117, 117, 927, 111, 545, 652, 130, 131, + 132, 485, 134, 135, 136, 10, 445, 10, 127, 125, + 943, 118, 130, 524, 130, 130, 468, 469, 470, 135, + 130, 138, 533, 135, 118, 536, 510, 466, 121, 10, + 11, 12, 543, 62, 545, 16, 121, 10, 11, 130, + 551, 552, 137, 135, 73, 74, 130, 131, 132, 927, + 134, 135, 136, 126, 135, 126, 138, 137, 510, 136, + 118, 994, 10, 327, 93, 943, 140, 137, 118, 137, + 10, 119, 10, 102, 136, 56, 118, 516, 517, 518, + 135, 520, 55, 128, 129, 130, 131, 132, 137, 134, + 135, 136, 638, 56, 640, 4, 135, 118, 609, 128, + 140, 130, 131, 31, 543, 137, 87, 1040, 138, 137, + 126, 138, 661, 552, 660, 140, 994, 663, 137, 137, + 666, 667, 135, 135, 135, 126, 99, 676, 639, 118, + 111, 140, 105, 106, 645, 137, 109, 882, 10, 11, + 127, 137, 653, 127, 125, 135, 657, 119, 119, 130, + 884, 662, 137, 135, 135, 21, 22, 137, 137, 137, + 709, 135, 1040, 674, 550, 31, 677, 619, 607, 699, + 609, 623, 137, 625, 135, 627, 628, 629, 138, 137, + 137, 926, 127, 55, 137, 127, 31, 137, 135, 135, + 844, 926, 221, 704, 458, 977, 137, 220, 709, 882, + 128, 129, 130, 131, 132, 137, 134, 135, 136, 484, + 239, 237, 485, 410, 653, 237, 871, 872, 873, 874, + 249, 876, 251, 639, 510, -1, 474, 99, 257, 258, + 549, 805, 977, 105, 106, -1, -1, 109, -1, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, -1, 700, 128, 129, 130, 131, 132, -1, 134, 135, - 136, -1, -1, 887, -1, 128, 129, 130, 131, 132, - -1, 134, 135, 136, -1, 3, 4, 5, 6, -1, - 8, 9, 10, 842, 805, -1, 128, 129, 130, 131, - 132, 321, 134, 135, 136, 955, 956, 957, 958, 959, - 960, 961, 962, 963, 964, 965, 966, 967, 968, 969, - 970, 971, 972, 973, -1, -1, -1, -1, 46, 875, - -1, 842, -1, -1, 31, 355, 847, -1, -1, -1, - -1, -1, -1, -1, 62, 875, -1, 10, 11, -1, - -1, -1, 70, -1, -1, -1, -1, -1, -1, 1009, - -1, -1, -1, -1, -1, -1, -1, -1, 86, -1, - -1, -1, -1, 884, 885, -1, 887, 95, 927, -1, - 98, -1, 402, -1, 102, -1, -1, -1, -1, 409, - -1, 411, 55, -1, 943, 834, -1, -1, 944, 945, - 946, 947, 1052, 21, 22, -1, -1, 125, -1, -1, - -1, 129, 130, 31, -1, 133, 927, 135, -1, 930, - -1, 139, -1, -1, 935, -1, 17, 18, 19, 20, - 21, 22, 943, 130, 131, 132, 99, 134, 135, 136, - 31, -1, 105, 106, 974, 994, 21, 22, 468, 469, - 470, 890, -1, -1, -1, -1, 31, -1, 897, 15, + 136, -1, -1, 887, 17, 18, 19, 20, 21, 22, + -1, -1, -1, 128, 129, 130, 131, 132, 31, 134, + 135, 136, 321, 842, 805, -1, -1, -1, -1, -1, + 955, 956, 957, 958, 959, 960, 961, 962, 963, 964, + 965, 966, 967, 968, 969, 970, 971, 972, 973, 10, + 11, -1, -1, -1, -1, -1, 355, -1, -1, 875, + -1, 842, -1, -1, -1, -1, 847, 19, 20, 21, + 22, -1, -1, -1, -1, 875, -1, -1, -1, 31, + -1, -1, -1, -1, 1009, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 55, -1, -1, -1, -1, -1, + -1, -1, -1, 884, 885, -1, 887, -1, 927, -1, + 409, -1, 411, 126, 127, 128, 129, 130, 131, 132, + -1, 134, 135, 136, 943, 834, -1, 1052, 944, 945, + 946, 947, -1, -1, -1, -1, -1, -1, 99, -1, + -1, -1, -1, -1, 105, 106, 927, -1, 109, 930, + -1, -1, -1, -1, 935, -1, -1, -1, -1, -1, + -1, -1, 943, -1, -1, -1, -1, -1, -1, 468, + 469, 470, -1, -1, 974, 994, 128, 129, 130, 131, + 132, 890, 134, 135, 136, -1, -1, -1, 897, 15, 16, 17, 18, 19, 20, 21, 22, -1, -1, 980, -1, -1, -1, -1, -1, 31, -1, -1, -1, -1, -1, -1, -1, 994, -1, -1, 997, -1, -1, -1, 1001, 1040, -1, -1, -1, -1, 935, -1, -1, -1, - -1, -1, -1, -1, -1, 1035, -1, 1037, -1, -1, + -1, -1, -1, -1, -1, 1035, -1, 1037, -1, 17, + 18, 19, 20, 21, 22, -1, -1, 871, 872, 873, + 874, 550, 876, 31, -1, -1, -1, -1, -1, 1040, + -1, 1042, -1, 1063, 1064, 1046, 975, 15, 16, 17, + 18, 19, 20, 21, 22, -1, -1, -1, -1, 1060, + -1, 990, -1, 31, -1, -1, -1, -1, 1069, -1, + -1, -1, -1, -1, -1, -1, 122, 123, 124, 125, + 126, 127, 128, 129, 130, 131, 132, 606, 134, 135, + 136, -1, -1, -1, 140, -1, -1, -1, -1, 618, + 619, 620, -1, -1, 623, -1, 625, -1, 627, 628, + 629, 955, 956, 957, 958, 959, 960, 961, 962, 963, + 964, 965, 966, 967, 968, 969, 970, 971, 972, 973, 128, 129, 130, 131, 132, -1, 134, 135, 136, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 1040, - 550, 1042, -1, 1063, 1064, 1046, 975, 128, 129, 130, - 131, 132, -1, 134, 135, 136, -1, -1, -1, 1060, - -1, 990, -1, 128, 129, 130, 131, 132, 1069, 134, - 135, 136, -1, -1, -1, -1, 122, 123, 124, 125, - 126, 127, 128, 129, 130, 131, 132, -1, 134, 135, - 136, -1, -1, -1, 140, -1, 606, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 618, 619, - 620, -1, -1, 623, -1, 625, -1, 627, 628, 629, - -1, -1, -1, -1, -1, 635, 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, -1, 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, 47, -1, 31, - 50, -1, 52, 53, 54, 55, 56, -1, 58, -1, - -1, 61, 62, -1, -1, 65, -1, -1, -1, -1, - 70, 71, -1, -1, -1, -1, -1, 77, 78, 79, - -1, -1, -1, -1, 84, -1, 86, 10, 11, -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, 1038, 129, - -1, -1, 55, 133, -1, 135, -1, -1, -1, 139, + -1, -1, -1, -1, 122, 123, 124, 125, 126, 127, + 128, 129, 130, 131, 132, 1009, 134, 135, 136, -1, + -1, -1, 140, -1, -1, -1, -1, -1, -1, -1, + -1, 3, 4, 5, 6, 7, 8, 9, 10, 11, + 12, -1, 14, 15, 16, 17, 18, 19, 20, 21, + 22, 23, 24, -1, -1, -1, -1, -1, 1052, 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, -1, 134, 135, 136, -1, 46, 47, 140, -1, - 50, -1, 52, 53, 54, 55, 56, -1, 58, -1, - -1, 61, 62, -1, -1, 65, 99, -1, -1, -1, - 70, 71, 105, 106, -1, -1, 109, 77, 78, 79, - -1, -1, -1, -1, 84, -1, 86, 10, 11, -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, 55, 133, -1, 135, -1, -1, -1, 139, - -1, -1, -1, 15, 16, 17, 18, 19, 20, 21, - 22, -1, -1, -1, -1, -1, 46, 47, -1, 31, - 50, -1, 52, 53, 54, 55, 56, -1, 58, -1, - -1, 61, 62, -1, -1, 65, 99, -1, -1, -1, - 70, 71, 105, 106, -1, -1, 109, 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, 47, 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, -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, -1, -1, -1, -1, -1, -1, - -1, 6, -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, 49, -1, -1, -1, -1, -1, - 70, 71, 57, -1, -1, -1, -1, 77, 78, -1, - -1, 66, 67, 68, 84, -1, 86, -1, -1, -1, - -1, 76, -1, 93, 94, 95, -1, 82, 98, -1, - -1, -1, 102, -1, -1, -1, 91, 107, -1, -1, - -1, 96, 112, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 0, 109, 125, 111, -1, -1, 129, - 130, 6, -1, 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, - -1, 48, 49, -1, -1, -1, -1, -1, -1, -1, - 57, -1, -1, -1, -1, 60, -1, 64, -1, 66, - 67, 68, 69, -1, -1, 72, -1, -1, -1, 76, - -1, -1, -1, 80, 81, 82, 83, -1, -1, 84, - -1, 88, 89, 90, 91, -1, -1, -1, -1, 96, - 97, -1, -1, 100, -1, 10, 11, 104, -1, -1, - -1, 108, 109, -1, 111, -1, -1, -1, -1, -1, - -1, -1, 119, 118, -1, -1, 121, -1, 123, 124, - 125, 126, 127, 128, 129, 130, 131, 132, 133, -1, - 135, 136, 47, -1, 139, 50, -1, 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, -1, 10, 11, -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, -1, 110, 50, 112, 52, 53, - 54, -1, 117, 47, -1, -1, 50, -1, 52, 53, - 54, 55, 56, -1, 58, -1, -1, 61, 133, -1, - -1, 65, -1, 77, 78, 79, -1, 71, -1, -1, - 10, 11, -1, 77, 78, 79, -1, -1, -1, 93, - 94, -1, -1, 87, -1, -1, -1, -1, -1, 93, - 94, -1, -1, 107, -1, 99, -1, -1, 112, -1, - -1, 105, 106, 107, -1, -1, 110, 47, 112, -1, - 50, -1, 52, 53, 54, 55, 56, -1, 58, -1, - -1, 61, -1, -1, -1, 65, -1, -1, -1, 133, - -1, 71, -1, -1, -1, -1, -1, 77, 78, 79, - -1, -1, -1, -1, -1, -1, -1, 87, -1, 19, - 20, 21, 22, 93, 94, -1, -1, -1, -1, 99, - -1, 31, -1, -1, -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, 126, 127, 128, 129, - 130, 131, 132, 31, 134, 135, 136, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 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, 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, + 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, -1, 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, 47, -1, 31, 50, -1, 52, 53, 54, + 55, 56, -1, 58, -1, -1, 61, 62, -1, 1038, + 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, + -1, 46, 47, 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, 47, -1, 31, 50, -1, 52, 53, 54, + 55, 56, -1, 58, -1, -1, 61, 62, -1, -1, + 65, -1, -1, -1, -1, 70, 71, -1, -1, -1, + -1, -1, 77, 78, 79, -1, -1, -1, -1, 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, 118, -1, -1, 139, 122, 123, 124, 125, 126, + 127, 128, 129, 130, 131, 132, -1, 134, 135, 136, + 137, 46, 47, -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, -1, 62, 82, + -1, -1, 77, 78, -1, -1, 70, -1, 91, 84, + -1, 86, -1, 96, -1, -1, -1, -1, 93, 94, + 95, -1, 86, 98, -1, -1, 109, 102, 111, -1, + -1, 95, 107, -1, 98, -1, -1, 112, 102, -1, + -1, -1, -1, 126, -1, -1, -1, -1, -1, -1, + 125, -1, -1, -1, 129, 130, -1, -1, 133, 0, + 135, 125, -1, -1, 139, 129, 130, 6, -1, 133, + -1, 135, -1, -1, -1, 139, 15, 16, 17, 18, 19, 20, 21, 22, -1, -1, -1, -1, -1, -1, - -1, -1, 31, 15, 16, 17, 18, 19, 20, 21, - 22, -1, -1, -1, -1, -1, -1, -1, -1, 31, + -1, -1, 31, -1, 33, 34, 35, 36, 37, 38, + 39, 40, 41, 42, 43, 44, -1, 48, 49, -1, + -1, -1, -1, -1, -1, -1, 57, -1, -1, -1, + -1, 60, -1, 64, -1, 66, 67, 68, 69, -1, + -1, 72, -1, -1, -1, 76, -1, -1, -1, 80, + 81, 82, 83, -1, -1, 84, -1, 88, 89, 90, + 91, -1, -1, -1, -1, 96, 97, -1, -1, 100, + -1, 10, 11, 104, -1, -1, -1, 108, 109, -1, + 111, -1, -1, -1, -1, -1, -1, -1, 119, 118, + -1, -1, 121, -1, 123, 124, 125, 126, 127, 128, + 129, 130, 131, 132, 133, -1, 135, 136, 47, -1, + 139, 50, -1, 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, -1, 10, 11, -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, + -1, 110, 50, 112, 52, 53, 54, -1, 117, 47, + -1, -1, 50, -1, 52, 53, 54, 55, 56, -1, + 58, -1, -1, 61, 133, -1, -1, 65, -1, 77, + 78, 79, -1, 71, -1, -1, 10, 11, -1, 77, + 78, 79, -1, -1, -1, 93, 94, -1, -1, 87, + -1, -1, -1, -1, -1, 93, 94, -1, -1, 107, + -1, 99, -1, -1, 112, -1, -1, 105, 106, 107, + -1, -1, 110, 47, 112, -1, 50, -1, 52, 53, + 54, 55, 56, -1, 58, -1, -1, 61, -1, -1, + -1, 65, -1, -1, -1, 133, -1, 71, -1, -1, + -1, -1, -1, 77, 78, 79, -1, -1, -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, -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, + -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, 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, -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, 120, -1, 122, 123, 124, 125, 126, + 127, 128, 129, 130, 131, 132, -1, 134, 135, 136, + 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, 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, 118, -1, -1, -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, 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, 120, -1, 122, 123, 124, 125, -1, -1, - 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, 16, 17, 18, 19, + 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, 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, 123, 124, 125, 126, 127, 128, 129, - 130, 131, 132, -1, 134, 135, 136, -1, -1, 123, - 124, 125, 135, -1, 128, 129, 130, 131, 132, -1, - 134, 135, 136, -1, 123, 124, 125, 126, 127, 128, - 129, 130, 131, 132, -1, 134, 135, 136, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 31, -1, -1, + -1, -1, 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, -1, -1, 122, 123, 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, 10, 11, -1, -1, 126, 127, 128, - 129, 130, 131, 132, -1, 134, 135, 136, 17, 18, - 19, 20, 21, 22, -1, -1, -1, -1, -1, -1, - -1, -1, 31, 50, -1, 52, 53, 54, -1, -1, - -1, -1, -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, 10, 11, -1, 93, 94, -1, -1, - -1, -1, -1, -1, -1, -1, 93, 94, -1, -1, - 107, -1, -1, -1, -1, 112, -1, -1, 105, -1, - 107, -1, -1, 110, -1, 112, -1, -1, -1, -1, - -1, -1, -1, 50, -1, 52, 53, 54, 135, -1, - -1, -1, 11, -1, 61, 124, 125, -1, -1, 128, - 129, 130, 131, 132, 71, 134, 135, 136, -1, -1, - 77, 78, 79, -1, -1, -1, -1, -1, -1, -1, - 50, -1, 52, 53, 54, -1, 93, 94, 47, -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, 47, - 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, 47, -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, 47, 11, 110, - 50, 112, 52, 53, 54, 55, -1, -1, 58, -1, - -1, 61, -1, -1, -1, 65, -1, -1, -1, -1, + 134, 135, 136, 120, -1, 122, 123, 124, 125, -1, + -1, 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, 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, 19, 20, 21, 22, 135, -1, + -1, -1, -1, -1, -1, -1, 31, -1, -1, -1, + 123, 124, 125, -1, -1, 128, 129, 130, 131, 132, + -1, 134, 135, 136, -1, 123, 124, 125, 126, 127, + 128, 129, 130, 131, 132, -1, 134, 135, 136, -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, 6, 134, 135, 136, -1, + 123, 124, 125, -1, -1, 128, 129, 130, 131, 132, + -1, 134, 135, 136, -1, -1, 124, 125, -1, -1, + 128, 129, 130, 131, 132, -1, 134, 135, 136, -1, + -1, 126, 127, 128, 129, 130, 131, 132, 49, 134, + 135, 136, -1, -1, 10, 11, 57, -1, -1, -1, + -1, -1, -1, -1, -1, 66, 67, 68, -1, -1, + -1, -1, -1, -1, -1, 76, -1, -1, -1, -1, + -1, 82, -1, -1, 50, -1, 52, 53, 54, -1, + 91, 10, 11, -1, 50, 96, 52, 53, 54, 55, + 56, -1, -1, -1, -1, 61, -1, -1, 109, -1, + 111, 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, 47, -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, 47, 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, -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, + -1, -1, 93, 94, 47, -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, -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, + -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, 47, 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, -1, -1, 48, 49, + -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, @@ -2524,39 +2542,29 @@ static const yytype_int16 yycheck[] = 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, + 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, 138, -1, -1, -1, 96, 97, -1, 50, - 100, 52, 53, 54, 104, -1, 49, -1, 108, 109, - 61, 111, -1, -1, 57, -1, -1, -1, -1, 119, - 71, -1, -1, 66, 67, 68, 77, 78, 79, -1, - -1, -1, -1, 76, -1, -1, -1, -1, 138, 82, - -1, -1, 93, 94, -1, -1, -1, -1, 91, -1, - -1, -1, -1, 96, 48, 49, 107, -1, -1, -1, - -1, 112, -1, 57, -1, -1, 109, -1, 111, -1, - 64, -1, 66, 67, 68, 69, -1, -1, 72, -1, - -1, -1, 76, 126, 135, -1, 80, 81, 82, 83, - -1, -1, -1, -1, 88, 89, 90, 91, -1, -1, - -1, -1, 96, 97, -1, 50, 100, 52, 53, 54, - 104, 49, -1, -1, 108, 109, 61, 111, -1, 57, - -1, -1, -1, 49, -1, -1, 71, -1, 66, 67, - 68, 57, 77, 78, 79, -1, -1, -1, 76, -1, - 66, 67, 68, -1, 82, 83, -1, -1, 93, 94, - 76, -1, -1, 91, -1, -1, 82, -1, 96, -1, - 49, -1, 107, -1, -1, 91, -1, 112, 57, -1, - 96, 109, -1, 111, 100, -1, -1, 66, 67, 68, - -1, -1, -1, 109, -1, 111, -1, 76, -1, -1, - -1, -1, -1, 82, -1, -1, -1, -1, -1, -1, - -1, -1, 91, -1, -1, -1, -1, 96, -1, -1, + 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, + 49, -1, 91, -1, -1, -1, -1, 96, 57, -1, + 107, -1, -1, -1, -1, 112, -1, 66, 67, 68, + 109, 49, 111, -1, -1, -1, -1, 76, -1, 57, + -1, -1, -1, 82, -1, -1, -1, -1, 66, 67, + 68, -1, 91, -1, -1, -1, -1, 96, 76, -1, + -1, 100, -1, -1, 82, -1, -1, -1, -1, -1, + 109, -1, 111, 91, -1, -1, -1, -1, 96, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 109, -1, 111 + -1, 109, -1, 111 }; /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing @@ -2596,7 +2604,7 @@ static const yytype_uint8 yystos[] = 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, + 151, 148, 117, 232, 10, 10, 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, @@ -2610,7 +2618,7 @@ static const yytype_uint8 yystos[] = 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, + 90, 109, 203, 117, 118, 138, 213, 10, 10, 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, @@ -2649,7 +2657,7 @@ static const yytype_uint8 yystos[] = 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, + 119, 10, 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, @@ -3705,7 +3713,7 @@ yyreduce: CPPDeclaration *getter = (yyvsp[(5) - (7)].u.identifier)->find_symbol(current_scope, global_scope, current_lexer); if (getter == (CPPDeclaration *)NULL || getter->get_subtype() != CPPDeclaration::ST_function_group) { - yyerror("Reference to non-existent or invalid getter: " + (yyvsp[(5) - (7)].u.identifier)->get_fully_scoped_name(), (yylsp[(1) - (7)])); + yyerror("Reference to non-existent or invalid getter: " + (yyvsp[(5) - (7)].u.identifier)->get_fully_scoped_name(), (yylsp[(5) - (7)])); } CPPMakeProperty *make_property = new CPPMakeProperty((yyvsp[(3) - (7)].u.identifier), getter->as_function_group(), NULL, current_scope, (yylsp[(1) - (7)]).file); @@ -3719,14 +3727,14 @@ yyreduce: { CPPDeclaration *getter = (yyvsp[(5) - (9)].u.identifier)->find_symbol(current_scope, global_scope, current_lexer); if (getter == (CPPDeclaration *)NULL || getter->get_subtype() != CPPDeclaration::ST_function_group) { - yyerror("Reference to non-existent or invalid getter: " + (yyvsp[(5) - (9)].u.identifier)->get_fully_scoped_name(), (yylsp[(1) - (9)])); + yyerror("Reference to non-existent or invalid getter: " + (yyvsp[(5) - (9)].u.identifier)->get_fully_scoped_name(), (yylsp[(5) - (9)])); } else { CPPDeclaration *setter = (yyvsp[(7) - (9)].u.identifier)->find_symbol(current_scope, global_scope, current_lexer); CPPFunctionGroup *setter_func = NULL; if (setter == (CPPDeclaration *)NULL || setter->get_subtype() != CPPDeclaration::ST_function_group) { - yyerror("Reference to non-existent or invalid setter: " + (yyvsp[(7) - (9)].u.identifier)->get_fully_scoped_name(), (yylsp[(1) - (9)])); + yyerror("Reference to non-existent or invalid setter: " + (yyvsp[(7) - (9)].u.identifier)->get_fully_scoped_name(), (yylsp[(7) - (9)])); } else { setter_func = setter->as_function_group(); } @@ -3742,14 +3750,31 @@ yyreduce: /* Line 1792 of yacc.c */ #line 533 "dtool/src/cppparser/cppBison.yxx" { - CPPMakeSeq *make_seq = new CPPMakeSeq((yyvsp[(3) - (9)].u.identifier)->get_simple_name(), (yyvsp[(5) - (9)].u.identifier)->get_simple_name(), (yyvsp[(7) - (9)].u.identifier)->get_simple_name(), (yylsp[(1) - (9)]).file); - current_scope->add_declaration(make_seq, global_scope, current_lexer, (yylsp[(1) - (9)])); + CPPDeclaration *length_getter = (yyvsp[(5) - (9)].u.identifier)->find_symbol(current_scope, global_scope, current_lexer); + if (length_getter == (CPPDeclaration *)NULL || length_getter->get_subtype() != CPPDeclaration::ST_function_group) { + yyerror("reference to non-existent or invalid length method: " + (yyvsp[(5) - (9)].u.identifier)->get_fully_scoped_name(), (yylsp[(5) - (9)])); + length_getter = NULL; + } + + CPPDeclaration *element_getter = (yyvsp[(7) - (9)].u.identifier)->find_symbol(current_scope, global_scope, current_lexer); + if (element_getter == (CPPDeclaration *)NULL || element_getter->get_subtype() != CPPDeclaration::ST_function_group) { + yyerror("reference to non-existent or invalid element method: " + (yyvsp[(7) - (9)].u.identifier)->get_fully_scoped_name(), (yylsp[(5) - (9)])); + element_getter = NULL; + } + + if (length_getter != (CPPDeclaration *)NULL && element_getter != (CPPDeclaration *)NULL) { + CPPMakeSeq *make_seq = new CPPMakeSeq((yyvsp[(3) - (9)].u.identifier), + length_getter->as_function_group(), + element_getter->as_function_group(), + current_scope, (yylsp[(1) - (9)]).file); + current_scope->add_declaration(make_seq, global_scope, current_lexer, (yylsp[(1) - (9)])); + } } break; case 29: /* Line 1792 of yacc.c */ -#line 538 "dtool/src/cppparser/cppBison.yxx" +#line 555 "dtool/src/cppparser/cppBison.yxx" { CPPExpression::Result result = (yyvsp[(3) - (6)].u.expr)->evaluate(); if (result._type == CPPExpression::RT_error) { @@ -3764,7 +3789,7 @@ yyreduce: case 30: /* Line 1792 of yacc.c */ -#line 549 "dtool/src/cppparser/cppBison.yxx" +#line 566 "dtool/src/cppparser/cppBison.yxx" { // This alternative version of static_assert was introduced in C++17. CPPExpression::Result result = (yyvsp[(3) - (4)].u.expr)->evaluate(); @@ -3778,7 +3803,7 @@ yyreduce: case 31: /* Line 1792 of yacc.c */ -#line 562 "dtool/src/cppparser/cppBison.yxx" +#line 579 "dtool/src/cppparser/cppBison.yxx" { CPPScope *new_scope = new CPPScope(current_scope, CPPNameComponent("temp"), V_public); @@ -3788,7 +3813,7 @@ yyreduce: case 32: /* Line 1792 of yacc.c */ -#line 568 "dtool/src/cppparser/cppBison.yxx" +#line 585 "dtool/src/cppparser/cppBison.yxx" { delete current_scope; pop_scope(); @@ -3797,7 +3822,7 @@ yyreduce: case 33: /* Line 1792 of yacc.c */ -#line 577 "dtool/src/cppparser/cppBison.yxx" +#line 594 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.integer) = 0; } @@ -3805,7 +3830,7 @@ yyreduce: case 34: /* Line 1792 of yacc.c */ -#line 581 "dtool/src/cppparser/cppBison.yxx" +#line 598 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.integer) = (yyvsp[(2) - (2)].u.integer) | (int)CPPInstance::SC_extern; } @@ -3813,7 +3838,7 @@ yyreduce: case 35: /* Line 1792 of yacc.c */ -#line 585 "dtool/src/cppparser/cppBison.yxx" +#line 602 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.integer) = (yyvsp[(3) - (3)].u.integer) | (int)CPPInstance::SC_extern; if ((yyvsp[(2) - (3)].str) == "C") { @@ -3828,7 +3853,7 @@ yyreduce: case 36: /* Line 1792 of yacc.c */ -#line 596 "dtool/src/cppparser/cppBison.yxx" +#line 613 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.integer) = (yyvsp[(2) - (2)].u.integer) | (int)CPPInstance::SC_static; } @@ -3836,7 +3861,7 @@ yyreduce: case 37: /* Line 1792 of yacc.c */ -#line 600 "dtool/src/cppparser/cppBison.yxx" +#line 617 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.integer) = (yyvsp[(2) - (2)].u.integer) | (int)CPPInstance::SC_inline; } @@ -3844,7 +3869,7 @@ yyreduce: case 38: /* Line 1792 of yacc.c */ -#line 604 "dtool/src/cppparser/cppBison.yxx" +#line 621 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.integer) = (yyvsp[(2) - (2)].u.integer) | (int)CPPInstance::SC_virtual; } @@ -3852,7 +3877,7 @@ yyreduce: case 39: /* Line 1792 of yacc.c */ -#line 608 "dtool/src/cppparser/cppBison.yxx" +#line 625 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.integer) = (yyvsp[(2) - (2)].u.integer) | (int)CPPInstance::SC_explicit; } @@ -3860,7 +3885,7 @@ yyreduce: case 40: /* Line 1792 of yacc.c */ -#line 612 "dtool/src/cppparser/cppBison.yxx" +#line 629 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.integer) = (yyvsp[(2) - (2)].u.integer) | (int)CPPInstance::SC_register; } @@ -3868,7 +3893,7 @@ yyreduce: case 41: /* Line 1792 of yacc.c */ -#line 616 "dtool/src/cppparser/cppBison.yxx" +#line 633 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.integer) = (yyvsp[(2) - (2)].u.integer) | (int)CPPInstance::SC_volatile; } @@ -3876,7 +3901,7 @@ yyreduce: case 42: /* Line 1792 of yacc.c */ -#line 620 "dtool/src/cppparser/cppBison.yxx" +#line 637 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.integer) = (yyvsp[(2) - (2)].u.integer) | (int)CPPInstance::SC_mutable; } @@ -3884,7 +3909,7 @@ yyreduce: case 43: /* Line 1792 of yacc.c */ -#line 624 "dtool/src/cppparser/cppBison.yxx" +#line 641 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.integer) = (yyvsp[(2) - (2)].u.integer) | (int)CPPInstance::SC_constexpr; } @@ -3892,7 +3917,7 @@ yyreduce: case 44: /* Line 1792 of yacc.c */ -#line 628 "dtool/src/cppparser/cppBison.yxx" +#line 645 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.integer) = (yyvsp[(2) - (2)].u.integer) | (int)CPPInstance::SC_blocking; } @@ -3900,7 +3925,7 @@ yyreduce: case 45: /* Line 1792 of yacc.c */ -#line 632 "dtool/src/cppparser/cppBison.yxx" +#line 649 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.integer) = (yyvsp[(2) - (2)].u.integer) | (int)CPPInstance::SC_extension; } @@ -3908,7 +3933,7 @@ yyreduce: case 46: /* Line 1792 of yacc.c */ -#line 639 "dtool/src/cppparser/cppBison.yxx" +#line 656 "dtool/src/cppparser/cppBison.yxx" { /* multiple_var_declaration adds itself to the scope. */ } @@ -3916,7 +3941,7 @@ yyreduce: case 47: /* Line 1792 of yacc.c */ -#line 643 "dtool/src/cppparser/cppBison.yxx" +#line 660 "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 @@ -3929,7 +3954,7 @@ yyreduce: case 48: /* Line 1792 of yacc.c */ -#line 652 "dtool/src/cppparser/cppBison.yxx" +#line 669 "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)); @@ -3941,7 +3966,7 @@ yyreduce: case 49: /* Line 1792 of yacc.c */ -#line 663 "dtool/src/cppparser/cppBison.yxx" +#line 680 "dtool/src/cppparser/cppBison.yxx" { // We don't need to push/pop type, because we can't nest // multiple_var_declarations. @@ -3956,7 +3981,7 @@ yyreduce: case 50: /* Line 1792 of yacc.c */ -#line 674 "dtool/src/cppparser/cppBison.yxx" +#line 691 "dtool/src/cppparser/cppBison.yxx" { pop_storage_class(); } @@ -3964,7 +3989,7 @@ yyreduce: case 51: /* Line 1792 of yacc.c */ -#line 678 "dtool/src/cppparser/cppBison.yxx" +#line 695 "dtool/src/cppparser/cppBison.yxx" { // We don't need to push/pop type, because we can't nest // multiple_var_declarations. @@ -3975,7 +4000,7 @@ yyreduce: case 52: /* Line 1792 of yacc.c */ -#line 685 "dtool/src/cppparser/cppBison.yxx" +#line 702 "dtool/src/cppparser/cppBison.yxx" { pop_storage_class(); } @@ -3983,7 +4008,7 @@ yyreduce: case 53: /* Line 1792 of yacc.c */ -#line 696 "dtool/src/cppparser/cppBison.yxx" +#line 713 "dtool/src/cppparser/cppBison.yxx" { CPPInstance *inst = new CPPInstance(current_type, (yyvsp[(1) - (2)].u.inst_ident), current_storage_class, @@ -3995,7 +4020,7 @@ yyreduce: case 54: /* Line 1792 of yacc.c */ -#line 704 "dtool/src/cppparser/cppBison.yxx" +#line 721 "dtool/src/cppparser/cppBison.yxx" { CPPInstance *inst = new CPPInstance(current_type, (yyvsp[(1) - (4)].u.inst_ident), current_storage_class, @@ -4007,7 +4032,7 @@ yyreduce: case 55: /* Line 1792 of yacc.c */ -#line 715 "dtool/src/cppparser/cppBison.yxx" +#line 732 "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), @@ -4020,7 +4045,7 @@ yyreduce: case 56: /* Line 1792 of yacc.c */ -#line 724 "dtool/src/cppparser/cppBison.yxx" +#line 741 "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), @@ -4033,7 +4058,7 @@ yyreduce: case 57: /* Line 1792 of yacc.c */ -#line 737 "dtool/src/cppparser/cppBison.yxx" +#line 754 "dtool/src/cppparser/cppBison.yxx" { // We don't need to push/pop type, because we can't nest // multiple_var_declarations. @@ -4048,7 +4073,7 @@ yyreduce: case 58: /* Line 1792 of yacc.c */ -#line 748 "dtool/src/cppparser/cppBison.yxx" +#line 765 "dtool/src/cppparser/cppBison.yxx" { pop_storage_class(); } @@ -4056,7 +4081,7 @@ yyreduce: case 59: /* Line 1792 of yacc.c */ -#line 752 "dtool/src/cppparser/cppBison.yxx" +#line 769 "dtool/src/cppparser/cppBison.yxx" { // We don't need to push/pop type, because we can't nest // multiple_var_declarations. @@ -4067,7 +4092,7 @@ yyreduce: case 60: /* Line 1792 of yacc.c */ -#line 759 "dtool/src/cppparser/cppBison.yxx" +#line 776 "dtool/src/cppparser/cppBison.yxx" { pop_storage_class(); } @@ -4075,7 +4100,7 @@ yyreduce: case 61: /* Line 1792 of yacc.c */ -#line 763 "dtool/src/cppparser/cppBison.yxx" +#line 780 "dtool/src/cppparser/cppBison.yxx" { if ((yyvsp[(2) - (3)].u.instance) != (CPPDeclaration *)NULL) { CPPInstance *inst = (yyvsp[(2) - (3)].u.instance)->as_instance(); @@ -4091,7 +4116,7 @@ yyreduce: case 62: /* Line 1792 of yacc.c */ -#line 778 "dtool/src/cppparser/cppBison.yxx" +#line 795 "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); @@ -4101,7 +4126,7 @@ yyreduce: case 63: /* Line 1792 of yacc.c */ -#line 784 "dtool/src/cppparser/cppBison.yxx" +#line 801 "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); @@ -4111,7 +4136,7 @@ yyreduce: case 64: /* Line 1792 of yacc.c */ -#line 793 "dtool/src/cppparser/cppBison.yxx" +#line 810 "dtool/src/cppparser/cppBison.yxx" { (yyvsp[(1) - (2)].u.inst_ident)->add_modifier(IIT_const); CPPType *target_type = current_type; @@ -4122,7 +4147,7 @@ yyreduce: case 65: /* Line 1792 of yacc.c */ -#line 800 "dtool/src/cppparser/cppBison.yxx" +#line 817 "dtool/src/cppparser/cppBison.yxx" { (yyvsp[(1) - (4)].u.inst_ident)->add_modifier(IIT_const); CPPType *target_type = current_type; @@ -4133,7 +4158,7 @@ yyreduce: case 66: /* Line 1792 of yacc.c */ -#line 812 "dtool/src/cppparser/cppBison.yxx" +#line 829 "dtool/src/cppparser/cppBison.yxx" { push_scope((yyvsp[(1) - (2)].u.identifier)->get_scope(current_scope, global_scope)); } @@ -4141,7 +4166,7 @@ yyreduce: case 67: /* Line 1792 of yacc.c */ -#line 816 "dtool/src/cppparser/cppBison.yxx" +#line 833 "dtool/src/cppparser/cppBison.yxx" { CPPType *type; if ((yyvsp[(1) - (6)].u.identifier)->get_simple_name() == current_scope->get_simple_name() || @@ -4165,7 +4190,7 @@ yyreduce: case 68: /* Line 1792 of yacc.c */ -#line 836 "dtool/src/cppparser/cppBison.yxx" +#line 853 "dtool/src/cppparser/cppBison.yxx" { push_scope((yyvsp[(1) - (2)].u.identifier)->get_scope(current_scope, global_scope)); } @@ -4173,7 +4198,7 @@ yyreduce: case 69: /* Line 1792 of yacc.c */ -#line 840 "dtool/src/cppparser/cppBison.yxx" +#line 857 "dtool/src/cppparser/cppBison.yxx" { pop_scope(); CPPType *type; @@ -4195,7 +4220,7 @@ yyreduce: case 70: /* Line 1792 of yacc.c */ -#line 860 "dtool/src/cppparser/cppBison.yxx" +#line 877 "dtool/src/cppparser/cppBison.yxx" { push_scope((yyvsp[(2) - (3)].u.identifier)->get_scope(current_scope, global_scope)); } @@ -4203,7 +4228,7 @@ yyreduce: case 71: /* Line 1792 of yacc.c */ -#line 864 "dtool/src/cppparser/cppBison.yxx" +#line 881 "dtool/src/cppparser/cppBison.yxx" { pop_scope(); if ((yyvsp[(2) - (7)].u.identifier)->is_scoped()) { @@ -4226,7 +4251,7 @@ yyreduce: case 72: /* Line 1792 of yacc.c */ -#line 890 "dtool/src/cppparser/cppBison.yxx" +#line 907 "dtool/src/cppparser/cppBison.yxx" { push_scope((yyvsp[(4) - (6)].u.inst_ident)->get_scope(current_scope, global_scope)); } @@ -4234,7 +4259,7 @@ yyreduce: case 73: /* Line 1792 of yacc.c */ -#line 894 "dtool/src/cppparser/cppBison.yxx" +#line 911 "dtool/src/cppparser/cppBison.yxx" { pop_scope(); CPPType *type = (yyvsp[(1) - (10)].u.identifier)->find_type(current_scope, global_scope, false, current_lexer); @@ -4252,7 +4277,7 @@ yyreduce: case 74: /* Line 1792 of yacc.c */ -#line 908 "dtool/src/cppparser/cppBison.yxx" +#line 925 "dtool/src/cppparser/cppBison.yxx" { push_scope((yyvsp[(5) - (7)].u.inst_ident)->get_scope(current_scope, global_scope)); } @@ -4260,7 +4285,7 @@ yyreduce: case 75: /* Line 1792 of yacc.c */ -#line 912 "dtool/src/cppparser/cppBison.yxx" +#line 929 "dtool/src/cppparser/cppBison.yxx" { pop_scope(); CPPType *type = (yyvsp[(1) - (11)].u.identifier)->find_type(current_scope, global_scope, false, current_lexer); @@ -4278,7 +4303,7 @@ yyreduce: case 76: /* Line 1792 of yacc.c */ -#line 928 "dtool/src/cppparser/cppBison.yxx" +#line 945 "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)); @@ -4288,7 +4313,7 @@ yyreduce: case 77: /* Line 1792 of yacc.c */ -#line 934 "dtool/src/cppparser/cppBison.yxx" +#line 951 "dtool/src/cppparser/cppBison.yxx" { if ((yyvsp[(1) - (8)].u.identifier) != NULL) { pop_scope(); @@ -4317,7 +4342,7 @@ yyreduce: case 78: /* Line 1792 of yacc.c */ -#line 959 "dtool/src/cppparser/cppBison.yxx" +#line 976 "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)); @@ -4327,7 +4352,7 @@ yyreduce: case 79: /* Line 1792 of yacc.c */ -#line 965 "dtool/src/cppparser/cppBison.yxx" +#line 982 "dtool/src/cppparser/cppBison.yxx" { if ((yyvsp[(1) - (9)].u.identifier) != NULL) { pop_scope(); @@ -4347,7 +4372,7 @@ yyreduce: case 80: /* Line 1792 of yacc.c */ -#line 985 "dtool/src/cppparser/cppBison.yxx" +#line 1002 "dtool/src/cppparser/cppBison.yxx" { CPPDeclaration *decl = (yyvsp[(1) - (1)].u.identifier)->find_symbol(current_scope, global_scope, current_lexer); @@ -4361,7 +4386,7 @@ yyreduce: case 81: /* Line 1792 of yacc.c */ -#line 998 "dtool/src/cppparser/cppBison.yxx" +#line 1015 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.integer) = 0; } @@ -4369,7 +4394,7 @@ yyreduce: case 82: /* Line 1792 of yacc.c */ -#line 1002 "dtool/src/cppparser/cppBison.yxx" +#line 1019 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.integer) = (int)CPPFunctionType::F_const_method; } @@ -4377,7 +4402,7 @@ yyreduce: case 83: /* Line 1792 of yacc.c */ -#line 1006 "dtool/src/cppparser/cppBison.yxx" +#line 1023 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.integer) = (int)CPPFunctionType::F_noexcept; } @@ -4385,7 +4410,7 @@ yyreduce: case 84: /* Line 1792 of yacc.c */ -#line 1010 "dtool/src/cppparser/cppBison.yxx" +#line 1027 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.integer) = (yyvsp[(1) - (4)].u.integer); } @@ -4393,7 +4418,7 @@ yyreduce: case 85: /* Line 1792 of yacc.c */ -#line 1014 "dtool/src/cppparser/cppBison.yxx" +#line 1031 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.integer) = (yyvsp[(1) - (5)].u.integer); } @@ -4401,7 +4426,7 @@ yyreduce: case 86: /* Line 1792 of yacc.c */ -#line 1021 "dtool/src/cppparser/cppBison.yxx" +#line 1038 "dtool/src/cppparser/cppBison.yxx" { (yyval.str) = "!"; } @@ -4409,7 +4434,7 @@ yyreduce: case 87: /* Line 1792 of yacc.c */ -#line 1025 "dtool/src/cppparser/cppBison.yxx" +#line 1042 "dtool/src/cppparser/cppBison.yxx" { (yyval.str) = "~"; } @@ -4417,7 +4442,7 @@ yyreduce: case 88: /* Line 1792 of yacc.c */ -#line 1029 "dtool/src/cppparser/cppBison.yxx" +#line 1046 "dtool/src/cppparser/cppBison.yxx" { (yyval.str) = "*"; } @@ -4425,7 +4450,7 @@ yyreduce: case 89: /* Line 1792 of yacc.c */ -#line 1033 "dtool/src/cppparser/cppBison.yxx" +#line 1050 "dtool/src/cppparser/cppBison.yxx" { (yyval.str) = "/"; } @@ -4433,7 +4458,7 @@ yyreduce: case 90: /* Line 1792 of yacc.c */ -#line 1037 "dtool/src/cppparser/cppBison.yxx" +#line 1054 "dtool/src/cppparser/cppBison.yxx" { (yyval.str) = "%"; } @@ -4441,7 +4466,7 @@ yyreduce: case 91: /* Line 1792 of yacc.c */ -#line 1041 "dtool/src/cppparser/cppBison.yxx" +#line 1058 "dtool/src/cppparser/cppBison.yxx" { (yyval.str) = "+"; } @@ -4449,7 +4474,7 @@ yyreduce: case 92: /* Line 1792 of yacc.c */ -#line 1045 "dtool/src/cppparser/cppBison.yxx" +#line 1062 "dtool/src/cppparser/cppBison.yxx" { (yyval.str) = "-"; } @@ -4457,7 +4482,7 @@ yyreduce: case 93: /* Line 1792 of yacc.c */ -#line 1049 "dtool/src/cppparser/cppBison.yxx" +#line 1066 "dtool/src/cppparser/cppBison.yxx" { (yyval.str) = "|"; } @@ -4465,7 +4490,7 @@ yyreduce: case 94: /* Line 1792 of yacc.c */ -#line 1053 "dtool/src/cppparser/cppBison.yxx" +#line 1070 "dtool/src/cppparser/cppBison.yxx" { (yyval.str) = "&"; } @@ -4473,7 +4498,7 @@ yyreduce: case 95: /* Line 1792 of yacc.c */ -#line 1057 "dtool/src/cppparser/cppBison.yxx" +#line 1074 "dtool/src/cppparser/cppBison.yxx" { (yyval.str) = "^"; } @@ -4481,7 +4506,7 @@ yyreduce: case 96: /* Line 1792 of yacc.c */ -#line 1061 "dtool/src/cppparser/cppBison.yxx" +#line 1078 "dtool/src/cppparser/cppBison.yxx" { (yyval.str) = "||"; } @@ -4489,7 +4514,7 @@ yyreduce: case 97: /* Line 1792 of yacc.c */ -#line 1065 "dtool/src/cppparser/cppBison.yxx" +#line 1082 "dtool/src/cppparser/cppBison.yxx" { (yyval.str) = "&&"; } @@ -4497,7 +4522,7 @@ yyreduce: case 98: /* Line 1792 of yacc.c */ -#line 1069 "dtool/src/cppparser/cppBison.yxx" +#line 1086 "dtool/src/cppparser/cppBison.yxx" { (yyval.str) = "=="; } @@ -4505,7 +4530,7 @@ yyreduce: case 99: /* Line 1792 of yacc.c */ -#line 1073 "dtool/src/cppparser/cppBison.yxx" +#line 1090 "dtool/src/cppparser/cppBison.yxx" { (yyval.str) = "!="; } @@ -4513,7 +4538,7 @@ yyreduce: case 100: /* Line 1792 of yacc.c */ -#line 1077 "dtool/src/cppparser/cppBison.yxx" +#line 1094 "dtool/src/cppparser/cppBison.yxx" { (yyval.str) = "<="; } @@ -4521,7 +4546,7 @@ yyreduce: case 101: /* Line 1792 of yacc.c */ -#line 1081 "dtool/src/cppparser/cppBison.yxx" +#line 1098 "dtool/src/cppparser/cppBison.yxx" { (yyval.str) = ">="; } @@ -4529,7 +4554,7 @@ yyreduce: case 102: /* Line 1792 of yacc.c */ -#line 1085 "dtool/src/cppparser/cppBison.yxx" +#line 1102 "dtool/src/cppparser/cppBison.yxx" { (yyval.str) = "<"; } @@ -4537,7 +4562,7 @@ yyreduce: case 103: /* Line 1792 of yacc.c */ -#line 1089 "dtool/src/cppparser/cppBison.yxx" +#line 1106 "dtool/src/cppparser/cppBison.yxx" { (yyval.str) = ">"; } @@ -4545,7 +4570,7 @@ yyreduce: case 104: /* Line 1792 of yacc.c */ -#line 1093 "dtool/src/cppparser/cppBison.yxx" +#line 1110 "dtool/src/cppparser/cppBison.yxx" { (yyval.str) = "<<"; } @@ -4553,7 +4578,7 @@ yyreduce: case 105: /* Line 1792 of yacc.c */ -#line 1097 "dtool/src/cppparser/cppBison.yxx" +#line 1114 "dtool/src/cppparser/cppBison.yxx" { (yyval.str) = ">>"; } @@ -4561,7 +4586,7 @@ yyreduce: case 106: /* Line 1792 of yacc.c */ -#line 1101 "dtool/src/cppparser/cppBison.yxx" +#line 1118 "dtool/src/cppparser/cppBison.yxx" { (yyval.str) = "="; } @@ -4569,7 +4594,7 @@ yyreduce: case 107: /* Line 1792 of yacc.c */ -#line 1105 "dtool/src/cppparser/cppBison.yxx" +#line 1122 "dtool/src/cppparser/cppBison.yxx" { (yyval.str) = ","; } @@ -4577,7 +4602,7 @@ yyreduce: case 108: /* Line 1792 of yacc.c */ -#line 1109 "dtool/src/cppparser/cppBison.yxx" +#line 1126 "dtool/src/cppparser/cppBison.yxx" { (yyval.str) = "++"; } @@ -4585,7 +4610,7 @@ yyreduce: case 109: /* Line 1792 of yacc.c */ -#line 1113 "dtool/src/cppparser/cppBison.yxx" +#line 1130 "dtool/src/cppparser/cppBison.yxx" { (yyval.str) = "--"; } @@ -4593,7 +4618,7 @@ yyreduce: case 110: /* Line 1792 of yacc.c */ -#line 1117 "dtool/src/cppparser/cppBison.yxx" +#line 1134 "dtool/src/cppparser/cppBison.yxx" { (yyval.str) = "*="; } @@ -4601,7 +4626,7 @@ yyreduce: case 111: /* Line 1792 of yacc.c */ -#line 1121 "dtool/src/cppparser/cppBison.yxx" +#line 1138 "dtool/src/cppparser/cppBison.yxx" { (yyval.str) = "/="; } @@ -4609,7 +4634,7 @@ yyreduce: case 112: /* Line 1792 of yacc.c */ -#line 1125 "dtool/src/cppparser/cppBison.yxx" +#line 1142 "dtool/src/cppparser/cppBison.yxx" { (yyval.str) = "%="; } @@ -4617,7 +4642,7 @@ yyreduce: case 113: /* Line 1792 of yacc.c */ -#line 1129 "dtool/src/cppparser/cppBison.yxx" +#line 1146 "dtool/src/cppparser/cppBison.yxx" { (yyval.str) = "+="; } @@ -4625,7 +4650,7 @@ yyreduce: case 114: /* Line 1792 of yacc.c */ -#line 1133 "dtool/src/cppparser/cppBison.yxx" +#line 1150 "dtool/src/cppparser/cppBison.yxx" { (yyval.str) = "-="; } @@ -4633,7 +4658,7 @@ yyreduce: case 115: /* Line 1792 of yacc.c */ -#line 1137 "dtool/src/cppparser/cppBison.yxx" +#line 1154 "dtool/src/cppparser/cppBison.yxx" { (yyval.str) = "|="; } @@ -4641,7 +4666,7 @@ yyreduce: case 116: /* Line 1792 of yacc.c */ -#line 1141 "dtool/src/cppparser/cppBison.yxx" +#line 1158 "dtool/src/cppparser/cppBison.yxx" { (yyval.str) = "&="; } @@ -4649,7 +4674,7 @@ yyreduce: case 117: /* Line 1792 of yacc.c */ -#line 1145 "dtool/src/cppparser/cppBison.yxx" +#line 1162 "dtool/src/cppparser/cppBison.yxx" { (yyval.str) = "^="; } @@ -4657,7 +4682,7 @@ yyreduce: case 118: /* Line 1792 of yacc.c */ -#line 1149 "dtool/src/cppparser/cppBison.yxx" +#line 1166 "dtool/src/cppparser/cppBison.yxx" { (yyval.str) = "<<="; } @@ -4665,7 +4690,7 @@ yyreduce: case 119: /* Line 1792 of yacc.c */ -#line 1153 "dtool/src/cppparser/cppBison.yxx" +#line 1170 "dtool/src/cppparser/cppBison.yxx" { (yyval.str) = ">>="; } @@ -4673,7 +4698,7 @@ yyreduce: case 120: /* Line 1792 of yacc.c */ -#line 1157 "dtool/src/cppparser/cppBison.yxx" +#line 1174 "dtool/src/cppparser/cppBison.yxx" { (yyval.str) = "->"; } @@ -4681,7 +4706,7 @@ yyreduce: case 121: /* Line 1792 of yacc.c */ -#line 1161 "dtool/src/cppparser/cppBison.yxx" +#line 1178 "dtool/src/cppparser/cppBison.yxx" { (yyval.str) = "[]"; } @@ -4689,7 +4714,7 @@ yyreduce: case 122: /* Line 1792 of yacc.c */ -#line 1165 "dtool/src/cppparser/cppBison.yxx" +#line 1182 "dtool/src/cppparser/cppBison.yxx" { (yyval.str) = "()"; } @@ -4697,7 +4722,7 @@ yyreduce: case 123: /* Line 1792 of yacc.c */ -#line 1169 "dtool/src/cppparser/cppBison.yxx" +#line 1186 "dtool/src/cppparser/cppBison.yxx" { (yyval.str) = "new"; } @@ -4705,7 +4730,7 @@ yyreduce: case 124: /* Line 1792 of yacc.c */ -#line 1173 "dtool/src/cppparser/cppBison.yxx" +#line 1190 "dtool/src/cppparser/cppBison.yxx" { (yyval.str) = "delete"; } @@ -4713,7 +4738,7 @@ yyreduce: case 127: /* Line 1792 of yacc.c */ -#line 1185 "dtool/src/cppparser/cppBison.yxx" +#line 1202 "dtool/src/cppparser/cppBison.yxx" { push_scope(new CPPTemplateScope(current_scope)); } @@ -4721,7 +4746,7 @@ yyreduce: case 128: /* Line 1792 of yacc.c */ -#line 1189 "dtool/src/cppparser/cppBison.yxx" +#line 1206 "dtool/src/cppparser/cppBison.yxx" { pop_scope(); } @@ -4729,7 +4754,7 @@ yyreduce: case 132: /* Line 1792 of yacc.c */ -#line 1202 "dtool/src/cppparser/cppBison.yxx" +#line 1219 "dtool/src/cppparser/cppBison.yxx" { CPPTemplateScope *ts = current_scope->as_template_scope(); assert(ts != NULL); @@ -4739,7 +4764,7 @@ yyreduce: case 133: /* Line 1792 of yacc.c */ -#line 1208 "dtool/src/cppparser/cppBison.yxx" +#line 1225 "dtool/src/cppparser/cppBison.yxx" { CPPTemplateScope *ts = current_scope->as_template_scope(); assert(ts != NULL); @@ -4749,7 +4774,7 @@ yyreduce: case 134: /* Line 1792 of yacc.c */ -#line 1217 "dtool/src/cppparser/cppBison.yxx" +#line 1234 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.decl) = CPPType::new_type(new CPPClassTemplateParameter((yyvsp[(2) - (2)].u.identifier))); } @@ -4757,7 +4782,7 @@ yyreduce: case 135: /* Line 1792 of yacc.c */ -#line 1221 "dtool/src/cppparser/cppBison.yxx" +#line 1238 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.decl) = CPPType::new_type(new CPPClassTemplateParameter((yyvsp[(2) - (4)].u.identifier), (yyvsp[(4) - (4)].u.type))); } @@ -4765,7 +4790,7 @@ yyreduce: case 136: /* Line 1792 of yacc.c */ -#line 1225 "dtool/src/cppparser/cppBison.yxx" +#line 1242 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.decl) = CPPType::new_type(new CPPClassTemplateParameter((yyvsp[(2) - (2)].u.identifier))); } @@ -4773,7 +4798,7 @@ yyreduce: case 137: /* Line 1792 of yacc.c */ -#line 1229 "dtool/src/cppparser/cppBison.yxx" +#line 1246 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.decl) = CPPType::new_type(new CPPClassTemplateParameter((yyvsp[(2) - (4)].u.identifier), (yyvsp[(4) - (4)].u.type))); } @@ -4781,7 +4806,7 @@ yyreduce: case 138: /* Line 1792 of yacc.c */ -#line 1233 "dtool/src/cppparser/cppBison.yxx" +#line 1250 "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)); @@ -4791,7 +4816,7 @@ yyreduce: case 139: /* Line 1792 of yacc.c */ -#line 1239 "dtool/src/cppparser/cppBison.yxx" +#line 1256 "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); @@ -4802,7 +4827,7 @@ yyreduce: case 140: /* Line 1792 of yacc.c */ -#line 1249 "dtool/src/cppparser/cppBison.yxx" +#line 1266 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.type) = CPPType::new_type((yyvsp[(1) - (1)].u.simple_type)); } @@ -4810,7 +4835,7 @@ yyreduce: case 141: /* Line 1792 of yacc.c */ -#line 1253 "dtool/src/cppparser/cppBison.yxx" +#line 1270 "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)); @@ -4819,7 +4844,7 @@ yyreduce: case 142: /* Line 1792 of yacc.c */ -#line 1258 "dtool/src/cppparser/cppBison.yxx" +#line 1275 "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) { @@ -4831,7 +4856,7 @@ yyreduce: case 143: /* Line 1792 of yacc.c */ -#line 1270 "dtool/src/cppparser/cppBison.yxx" +#line 1287 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.inst_ident) = new CPPInstanceIdentifier((yyvsp[(1) - (1)].u.identifier)); } @@ -4839,7 +4864,7 @@ yyreduce: case 144: /* Line 1792 of yacc.c */ -#line 1274 "dtool/src/cppparser/cppBison.yxx" +#line 1291 "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 @@ -4857,7 +4882,7 @@ yyreduce: case 145: /* Line 1792 of yacc.c */ -#line 1288 "dtool/src/cppparser/cppBison.yxx" +#line 1305 "dtool/src/cppparser/cppBison.yxx" { // A C++11 literal operator. if (!(yyvsp[(2) - (3)].str).empty()) { @@ -4876,7 +4901,7 @@ yyreduce: case 146: /* Line 1792 of yacc.c */ -#line 1303 "dtool/src/cppparser/cppBison.yxx" +#line 1320 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.inst_ident) = (yyvsp[(2) - (2)].u.inst_ident); (yyval.u.inst_ident)->add_modifier(IIT_const); @@ -4885,7 +4910,7 @@ yyreduce: case 147: /* Line 1792 of yacc.c */ -#line 1308 "dtool/src/cppparser/cppBison.yxx" +#line 1325 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.inst_ident) = (yyvsp[(2) - (2)].u.inst_ident); (yyval.u.inst_ident)->add_modifier(IIT_volatile); @@ -4894,7 +4919,7 @@ yyreduce: case 148: /* Line 1792 of yacc.c */ -#line 1313 "dtool/src/cppparser/cppBison.yxx" +#line 1330 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.inst_ident) = (yyvsp[(2) - (2)].u.inst_ident); (yyval.u.inst_ident)->add_modifier(IIT_pointer); @@ -4903,7 +4928,7 @@ yyreduce: case 149: /* Line 1792 of yacc.c */ -#line 1318 "dtool/src/cppparser/cppBison.yxx" +#line 1335 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.inst_ident) = (yyvsp[(2) - (2)].u.inst_ident); (yyval.u.inst_ident)->add_modifier(IIT_reference); @@ -4912,7 +4937,7 @@ yyreduce: case 150: /* Line 1792 of yacc.c */ -#line 1323 "dtool/src/cppparser/cppBison.yxx" +#line 1340 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.inst_ident) = (yyvsp[(2) - (2)].u.inst_ident); (yyval.u.inst_ident)->add_modifier(IIT_rvalue_reference); @@ -4921,7 +4946,7 @@ yyreduce: case 151: /* Line 1792 of yacc.c */ -#line 1328 "dtool/src/cppparser/cppBison.yxx" +#line 1345 "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)); @@ -4930,7 +4955,7 @@ yyreduce: case 152: /* Line 1792 of yacc.c */ -#line 1333 "dtool/src/cppparser/cppBison.yxx" +#line 1350 "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)); @@ -4939,7 +4964,7 @@ yyreduce: case 153: /* Line 1792 of yacc.c */ -#line 1338 "dtool/src/cppparser/cppBison.yxx" +#line 1355 "dtool/src/cppparser/cppBison.yxx" { // bitfield definition. We ignore the bitfield for now. (yyval.u.inst_ident) = (yyvsp[(1) - (3)].u.inst_ident); @@ -4948,7 +4973,7 @@ yyreduce: case 154: /* Line 1792 of yacc.c */ -#line 1343 "dtool/src/cppparser/cppBison.yxx" +#line 1360 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.inst_ident) = (yyvsp[(2) - (3)].u.inst_ident); (yyval.u.inst_ident)->add_modifier(IIT_paren); @@ -4957,7 +4982,7 @@ yyreduce: case 155: /* Line 1792 of yacc.c */ -#line 1348 "dtool/src/cppparser/cppBison.yxx" +#line 1365 "dtool/src/cppparser/cppBison.yxx" { push_scope((yyvsp[(1) - (2)].u.inst_ident)->get_scope(current_scope, global_scope)); } @@ -4965,7 +4990,7 @@ yyreduce: case 156: /* Line 1792 of yacc.c */ -#line 1352 "dtool/src/cppparser/cppBison.yxx" +#line 1369 "dtool/src/cppparser/cppBison.yxx" { pop_scope(); (yyval.u.inst_ident) = (yyvsp[(1) - (6)].u.inst_ident); @@ -4983,7 +5008,7 @@ yyreduce: case 157: /* Line 1792 of yacc.c */ -#line 1370 "dtool/src/cppparser/cppBison.yxx" +#line 1387 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.param_list) = new CPPParameterList; } @@ -4991,7 +5016,7 @@ yyreduce: case 158: /* Line 1792 of yacc.c */ -#line 1374 "dtool/src/cppparser/cppBison.yxx" +#line 1391 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.param_list) = new CPPParameterList; (yyval.u.param_list)->_includes_ellipsis = true; @@ -5000,7 +5025,7 @@ yyreduce: case 159: /* Line 1792 of yacc.c */ -#line 1379 "dtool/src/cppparser/cppBison.yxx" +#line 1396 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.param_list) = (yyvsp[(1) - (1)].u.param_list); } @@ -5008,7 +5033,7 @@ yyreduce: case 160: /* Line 1792 of yacc.c */ -#line 1383 "dtool/src/cppparser/cppBison.yxx" +#line 1400 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.param_list) = (yyvsp[(1) - (3)].u.param_list); (yyval.u.param_list)->_includes_ellipsis = true; @@ -5017,7 +5042,7 @@ yyreduce: case 161: /* Line 1792 of yacc.c */ -#line 1388 "dtool/src/cppparser/cppBison.yxx" +#line 1405 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.param_list) = (yyvsp[(1) - (2)].u.param_list); (yyval.u.param_list)->_includes_ellipsis = true; @@ -5026,7 +5051,7 @@ yyreduce: case 162: /* Line 1792 of yacc.c */ -#line 1396 "dtool/src/cppparser/cppBison.yxx" +#line 1413 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.param_list) = new CPPParameterList; (yyval.u.param_list)->_parameters.push_back((yyvsp[(1) - (1)].u.instance)); @@ -5035,7 +5060,7 @@ yyreduce: case 163: /* Line 1792 of yacc.c */ -#line 1401 "dtool/src/cppparser/cppBison.yxx" +#line 1418 "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)); @@ -5044,7 +5069,7 @@ yyreduce: case 164: /* Line 1792 of yacc.c */ -#line 1409 "dtool/src/cppparser/cppBison.yxx" +#line 1426 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = (CPPExpression *)NULL; } @@ -5052,7 +5077,7 @@ yyreduce: case 165: /* Line 1792 of yacc.c */ -#line 1413 "dtool/src/cppparser/cppBison.yxx" +#line 1430 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = (yyvsp[(2) - (2)].u.expr); } @@ -5060,7 +5085,7 @@ yyreduce: case 166: /* Line 1792 of yacc.c */ -#line 1420 "dtool/src/cppparser/cppBison.yxx" +#line 1437 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = (CPPExpression *)NULL; } @@ -5068,7 +5093,7 @@ yyreduce: case 167: /* Line 1792 of yacc.c */ -#line 1424 "dtool/src/cppparser/cppBison.yxx" +#line 1441 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = (yyvsp[(2) - (2)].u.expr); } @@ -5076,7 +5101,7 @@ yyreduce: case 168: /* Line 1792 of yacc.c */ -#line 1431 "dtool/src/cppparser/cppBison.yxx" +#line 1448 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = (CPPExpression *)NULL; } @@ -5084,7 +5109,7 @@ yyreduce: case 169: /* Line 1792 of yacc.c */ -#line 1435 "dtool/src/cppparser/cppBison.yxx" +#line 1452 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = (CPPExpression *)NULL; } @@ -5092,7 +5117,7 @@ yyreduce: case 170: /* Line 1792 of yacc.c */ -#line 1439 "dtool/src/cppparser/cppBison.yxx" +#line 1456 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = (CPPExpression *)NULL; } @@ -5100,7 +5125,7 @@ yyreduce: case 171: /* Line 1792 of yacc.c */ -#line 1443 "dtool/src/cppparser/cppBison.yxx" +#line 1460 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = (yyvsp[(2) - (3)].u.expr); } @@ -5108,7 +5133,7 @@ yyreduce: case 172: /* Line 1792 of yacc.c */ -#line 1447 "dtool/src/cppparser/cppBison.yxx" +#line 1464 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = (CPPExpression *)NULL; } @@ -5116,14 +5141,14 @@ yyreduce: case 176: /* Line 1792 of yacc.c */ -#line 1460 "dtool/src/cppparser/cppBison.yxx" +#line 1477 "dtool/src/cppparser/cppBison.yxx" { } break; case 180: /* Line 1792 of yacc.c */ -#line 1469 "dtool/src/cppparser/cppBison.yxx" +#line 1486 "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)); @@ -5132,7 +5157,7 @@ yyreduce: case 181: /* Line 1792 of yacc.c */ -#line 1474 "dtool/src/cppparser/cppBison.yxx" +#line 1491 "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); @@ -5142,7 +5167,7 @@ yyreduce: case 182: /* Line 1792 of yacc.c */ -#line 1480 "dtool/src/cppparser/cppBison.yxx" +#line 1497 "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); @@ -5152,7 +5177,7 @@ yyreduce: case 183: /* Line 1792 of yacc.c */ -#line 1486 "dtool/src/cppparser/cppBison.yxx" +#line 1503 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.instance) = (yyvsp[(2) - (2)].u.instance); } @@ -5160,7 +5185,7 @@ yyreduce: case 184: /* Line 1792 of yacc.c */ -#line 1490 "dtool/src/cppparser/cppBison.yxx" +#line 1507 "dtool/src/cppparser/cppBison.yxx" { CPPType *type = CPPType::new_type(new CPPSimpleType(CPPSimpleType::T_parameter)); @@ -5171,7 +5196,7 @@ yyreduce: case 185: /* Line 1792 of yacc.c */ -#line 1500 "dtool/src/cppparser/cppBison.yxx" +#line 1517 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.inst_ident) = new CPPInstanceIdentifier((CPPIdentifier *)NULL); } @@ -5179,7 +5204,7 @@ yyreduce: case 186: /* Line 1792 of yacc.c */ -#line 1504 "dtool/src/cppparser/cppBison.yxx" +#line 1521 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.inst_ident) = new CPPInstanceIdentifier((yyvsp[(1) - (1)].u.identifier)); } @@ -5187,7 +5212,7 @@ yyreduce: case 187: /* Line 1792 of yacc.c */ -#line 1508 "dtool/src/cppparser/cppBison.yxx" +#line 1525 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.inst_ident) = new CPPInstanceIdentifier((yyvsp[(1) - (1)].u.identifier)); } @@ -5195,7 +5220,7 @@ yyreduce: case 188: /* Line 1792 of yacc.c */ -#line 1512 "dtool/src/cppparser/cppBison.yxx" +#line 1529 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.inst_ident) = (yyvsp[(2) - (2)].u.inst_ident); (yyval.u.inst_ident)->add_modifier(IIT_const); @@ -5204,7 +5229,7 @@ yyreduce: case 189: /* Line 1792 of yacc.c */ -#line 1517 "dtool/src/cppparser/cppBison.yxx" +#line 1534 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.inst_ident) = (yyvsp[(2) - (2)].u.inst_ident); (yyval.u.inst_ident)->add_modifier(IIT_volatile); @@ -5213,7 +5238,7 @@ yyreduce: case 190: /* Line 1792 of yacc.c */ -#line 1522 "dtool/src/cppparser/cppBison.yxx" +#line 1539 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.inst_ident) = (yyvsp[(2) - (2)].u.inst_ident); (yyval.u.inst_ident)->add_modifier(IIT_pointer); @@ -5222,7 +5247,7 @@ yyreduce: case 191: /* Line 1792 of yacc.c */ -#line 1527 "dtool/src/cppparser/cppBison.yxx" +#line 1544 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.inst_ident) = (yyvsp[(2) - (2)].u.inst_ident); (yyval.u.inst_ident)->add_modifier(IIT_reference); @@ -5231,7 +5256,7 @@ yyreduce: case 192: /* Line 1792 of yacc.c */ -#line 1532 "dtool/src/cppparser/cppBison.yxx" +#line 1549 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.inst_ident) = (yyvsp[(2) - (2)].u.inst_ident); (yyval.u.inst_ident)->add_modifier(IIT_rvalue_reference); @@ -5240,7 +5265,7 @@ yyreduce: case 193: /* Line 1792 of yacc.c */ -#line 1537 "dtool/src/cppparser/cppBison.yxx" +#line 1554 "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)); @@ -5249,7 +5274,7 @@ yyreduce: case 194: /* Line 1792 of yacc.c */ -#line 1542 "dtool/src/cppparser/cppBison.yxx" +#line 1559 "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)); @@ -5258,7 +5283,7 @@ yyreduce: case 195: /* Line 1792 of yacc.c */ -#line 1550 "dtool/src/cppparser/cppBison.yxx" +#line 1567 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.inst_ident) = new CPPInstanceIdentifier((CPPIdentifier *)NULL); } @@ -5266,7 +5291,7 @@ yyreduce: case 196: /* Line 1792 of yacc.c */ -#line 1554 "dtool/src/cppparser/cppBison.yxx" +#line 1571 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.inst_ident) = new CPPInstanceIdentifier((yyvsp[(1) - (1)].u.identifier)); } @@ -5274,7 +5299,7 @@ yyreduce: case 197: /* Line 1792 of yacc.c */ -#line 1558 "dtool/src/cppparser/cppBison.yxx" +#line 1575 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.inst_ident) = new CPPInstanceIdentifier((yyvsp[(1) - (1)].u.identifier)); } @@ -5282,7 +5307,7 @@ yyreduce: case 198: /* Line 1792 of yacc.c */ -#line 1562 "dtool/src/cppparser/cppBison.yxx" +#line 1579 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.inst_ident) = (yyvsp[(2) - (2)].u.inst_ident); (yyval.u.inst_ident)->add_modifier(IIT_const); @@ -5291,7 +5316,7 @@ yyreduce: case 199: /* Line 1792 of yacc.c */ -#line 1567 "dtool/src/cppparser/cppBison.yxx" +#line 1584 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.inst_ident) = (yyvsp[(2) - (2)].u.inst_ident); (yyval.u.inst_ident)->add_modifier(IIT_volatile); @@ -5300,7 +5325,7 @@ yyreduce: case 200: /* Line 1792 of yacc.c */ -#line 1572 "dtool/src/cppparser/cppBison.yxx" +#line 1589 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.inst_ident) = (yyvsp[(2) - (2)].u.inst_ident); (yyval.u.inst_ident)->add_modifier(IIT_pointer); @@ -5309,7 +5334,7 @@ yyreduce: case 201: /* Line 1792 of yacc.c */ -#line 1577 "dtool/src/cppparser/cppBison.yxx" +#line 1594 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.inst_ident) = (yyvsp[(2) - (2)].u.inst_ident); (yyval.u.inst_ident)->add_modifier(IIT_reference); @@ -5318,7 +5343,7 @@ yyreduce: case 202: /* Line 1792 of yacc.c */ -#line 1582 "dtool/src/cppparser/cppBison.yxx" +#line 1599 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.inst_ident) = (yyvsp[(2) - (2)].u.inst_ident); (yyval.u.inst_ident)->add_modifier(IIT_rvalue_reference); @@ -5327,7 +5352,7 @@ yyreduce: case 203: /* Line 1792 of yacc.c */ -#line 1587 "dtool/src/cppparser/cppBison.yxx" +#line 1604 "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)); @@ -5336,7 +5361,7 @@ yyreduce: case 204: /* Line 1792 of yacc.c */ -#line 1592 "dtool/src/cppparser/cppBison.yxx" +#line 1609 "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)); @@ -5345,7 +5370,7 @@ yyreduce: case 205: /* Line 1792 of yacc.c */ -#line 1597 "dtool/src/cppparser/cppBison.yxx" +#line 1614 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.inst_ident) = (yyvsp[(2) - (7)].u.inst_ident); (yyval.u.inst_ident)->add_modifier(IIT_paren); @@ -5355,7 +5380,7 @@ yyreduce: case 206: /* Line 1792 of yacc.c */ -#line 1603 "dtool/src/cppparser/cppBison.yxx" +#line 1620 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.inst_ident) = (yyvsp[(2) - (3)].u.inst_ident); (yyval.u.inst_ident)->add_modifier(IIT_paren); @@ -5364,7 +5389,7 @@ yyreduce: case 207: /* Line 1792 of yacc.c */ -#line 1611 "dtool/src/cppparser/cppBison.yxx" +#line 1628 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.inst_ident) = new CPPInstanceIdentifier((CPPIdentifier *)NULL); } @@ -5372,7 +5397,7 @@ yyreduce: case 208: /* Line 1792 of yacc.c */ -#line 1615 "dtool/src/cppparser/cppBison.yxx" +#line 1632 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.inst_ident) = (yyvsp[(2) - (2)].u.inst_ident); (yyval.u.inst_ident)->add_modifier(IIT_const); @@ -5381,7 +5406,7 @@ yyreduce: case 209: /* Line 1792 of yacc.c */ -#line 1620 "dtool/src/cppparser/cppBison.yxx" +#line 1637 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.inst_ident) = (yyvsp[(2) - (2)].u.inst_ident); (yyval.u.inst_ident)->add_modifier(IIT_volatile); @@ -5390,7 +5415,7 @@ yyreduce: case 210: /* Line 1792 of yacc.c */ -#line 1625 "dtool/src/cppparser/cppBison.yxx" +#line 1642 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.inst_ident) = (yyvsp[(2) - (2)].u.inst_ident); (yyval.u.inst_ident)->add_modifier(IIT_pointer); @@ -5399,7 +5424,7 @@ yyreduce: case 211: /* Line 1792 of yacc.c */ -#line 1630 "dtool/src/cppparser/cppBison.yxx" +#line 1647 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.inst_ident) = (yyvsp[(2) - (2)].u.inst_ident); (yyval.u.inst_ident)->add_modifier(IIT_reference); @@ -5408,7 +5433,7 @@ yyreduce: case 212: /* Line 1792 of yacc.c */ -#line 1635 "dtool/src/cppparser/cppBison.yxx" +#line 1652 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.inst_ident) = (yyvsp[(2) - (2)].u.inst_ident); (yyval.u.inst_ident)->add_modifier(IIT_rvalue_reference); @@ -5417,7 +5442,7 @@ yyreduce: case 213: /* Line 1792 of yacc.c */ -#line 1640 "dtool/src/cppparser/cppBison.yxx" +#line 1657 "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)); @@ -5426,7 +5451,7 @@ yyreduce: case 214: /* Line 1792 of yacc.c */ -#line 1645 "dtool/src/cppparser/cppBison.yxx" +#line 1662 "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)); @@ -5435,7 +5460,7 @@ yyreduce: case 215: /* Line 1792 of yacc.c */ -#line 1650 "dtool/src/cppparser/cppBison.yxx" +#line 1667 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.inst_ident) = (yyvsp[(2) - (7)].u.inst_ident); (yyval.u.inst_ident)->add_modifier(IIT_paren); @@ -5445,7 +5470,7 @@ yyreduce: case 216: /* Line 1792 of yacc.c */ -#line 1659 "dtool/src/cppparser/cppBison.yxx" +#line 1676 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.type) = CPPType::new_type((yyvsp[(1) - (1)].u.simple_type)); } @@ -5453,7 +5478,7 @@ yyreduce: case 217: /* Line 1792 of yacc.c */ -#line 1663 "dtool/src/cppparser/cppBison.yxx" +#line 1680 "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) { @@ -5465,7 +5490,7 @@ yyreduce: case 218: /* Line 1792 of yacc.c */ -#line 1671 "dtool/src/cppparser/cppBison.yxx" +#line 1688 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.type) = CPPType::new_type(new CPPTBDType((yyvsp[(2) - (2)].u.identifier))); } @@ -5473,7 +5498,7 @@ yyreduce: case 219: /* Line 1792 of yacc.c */ -#line 1675 "dtool/src/cppparser/cppBison.yxx" +#line 1692 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.type) = CPPType::new_type((yyvsp[(1) - (1)].u.struct_type)); } @@ -5481,7 +5506,7 @@ yyreduce: case 220: /* Line 1792 of yacc.c */ -#line 1679 "dtool/src/cppparser/cppBison.yxx" +#line 1696 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.type) = CPPType::new_type((yyvsp[(1) - (1)].u.struct_type)); } @@ -5489,7 +5514,7 @@ yyreduce: case 221: /* Line 1792 of yacc.c */ -#line 1683 "dtool/src/cppparser/cppBison.yxx" +#line 1700 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.type) = CPPType::new_type((yyvsp[(1) - (1)].u.enum_type)); } @@ -5497,7 +5522,7 @@ yyreduce: case 222: /* Line 1792 of yacc.c */ -#line 1687 "dtool/src/cppparser/cppBison.yxx" +#line 1704 "dtool/src/cppparser/cppBison.yxx" { CPPType *type = (yyvsp[(2) - (2)].u.identifier)->find_type(current_scope, global_scope, false, current_lexer); if (type != NULL) { @@ -5517,7 +5542,7 @@ yyreduce: case 223: /* Line 1792 of yacc.c */ -#line 1703 "dtool/src/cppparser/cppBison.yxx" +#line 1720 "dtool/src/cppparser/cppBison.yxx" { CPPType *type = (yyvsp[(2) - (4)].u.identifier)->find_type(current_scope, global_scope, false, current_lexer); if (type != NULL) { @@ -5537,7 +5562,7 @@ yyreduce: case 224: /* Line 1792 of yacc.c */ -#line 1719 "dtool/src/cppparser/cppBison.yxx" +#line 1736 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.type) = (yyvsp[(3) - (4)].u.expr)->determine_type(); if ((yyval.u.type) == (CPPType *)NULL) { @@ -5550,7 +5575,7 @@ yyreduce: case 225: /* Line 1792 of yacc.c */ -#line 1728 "dtool/src/cppparser/cppBison.yxx" +#line 1745 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.type) = new CPPSimpleType(CPPSimpleType::T_auto); } @@ -5558,7 +5583,7 @@ yyreduce: case 226: /* Line 1792 of yacc.c */ -#line 1735 "dtool/src/cppparser/cppBison.yxx" +#line 1752 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.decl) = CPPType::new_type((yyvsp[(1) - (1)].u.simple_type)); } @@ -5566,7 +5591,7 @@ yyreduce: case 227: /* Line 1792 of yacc.c */ -#line 1739 "dtool/src/cppparser/cppBison.yxx" +#line 1756 "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) { @@ -5578,7 +5603,7 @@ yyreduce: case 228: /* Line 1792 of yacc.c */ -#line 1747 "dtool/src/cppparser/cppBison.yxx" +#line 1764 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.decl) = CPPType::new_type(new CPPTBDType((yyvsp[(2) - (2)].u.identifier))); } @@ -5586,7 +5611,7 @@ yyreduce: case 229: /* Line 1792 of yacc.c */ -#line 1751 "dtool/src/cppparser/cppBison.yxx" +#line 1768 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.decl) = CPPType::new_type((yyvsp[(1) - (1)].u.struct_type)); } @@ -5594,7 +5619,7 @@ yyreduce: case 230: /* Line 1792 of yacc.c */ -#line 1755 "dtool/src/cppparser/cppBison.yxx" +#line 1772 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.decl) = new CPPTypeDeclaration(CPPType::new_type((yyvsp[(1) - (1)].u.struct_type))); } @@ -5602,7 +5627,7 @@ yyreduce: case 231: /* Line 1792 of yacc.c */ -#line 1759 "dtool/src/cppparser/cppBison.yxx" +#line 1776 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.decl) = new CPPTypeDeclaration(CPPType::new_type((yyvsp[(1) - (1)].u.enum_type))); } @@ -5610,7 +5635,7 @@ yyreduce: case 232: /* Line 1792 of yacc.c */ -#line 1763 "dtool/src/cppparser/cppBison.yxx" +#line 1780 "dtool/src/cppparser/cppBison.yxx" { CPPType *type = (yyvsp[(2) - (2)].u.identifier)->find_type(current_scope, global_scope, false, current_lexer); if (type != NULL) { @@ -5630,7 +5655,7 @@ yyreduce: case 233: /* Line 1792 of yacc.c */ -#line 1779 "dtool/src/cppparser/cppBison.yxx" +#line 1796 "dtool/src/cppparser/cppBison.yxx" { CPPType *type = (yyvsp[(2) - (4)].u.identifier)->find_type(current_scope, global_scope, false, current_lexer); if (type != NULL) { @@ -5650,7 +5675,7 @@ yyreduce: case 234: /* Line 1792 of yacc.c */ -#line 1795 "dtool/src/cppparser/cppBison.yxx" +#line 1812 "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)])); @@ -5672,7 +5697,7 @@ yyreduce: case 235: /* Line 1792 of yacc.c */ -#line 1813 "dtool/src/cppparser/cppBison.yxx" +#line 1830 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.decl) = (yyvsp[(3) - (4)].u.expr)->determine_type(); if ((yyval.u.decl) == (CPPType *)NULL) { @@ -5685,7 +5710,7 @@ yyreduce: case 236: /* Line 1792 of yacc.c */ -#line 1822 "dtool/src/cppparser/cppBison.yxx" +#line 1839 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.decl) = new CPPSimpleType(CPPSimpleType::T_auto); } @@ -5693,7 +5718,7 @@ yyreduce: case 237: /* Line 1792 of yacc.c */ -#line 1829 "dtool/src/cppparser/cppBison.yxx" +#line 1846 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.type) = CPPType::new_type((yyvsp[(1) - (1)].u.simple_type)); } @@ -5701,7 +5726,7 @@ yyreduce: case 238: /* Line 1792 of yacc.c */ -#line 1833 "dtool/src/cppparser/cppBison.yxx" +#line 1850 "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) { @@ -5713,7 +5738,7 @@ yyreduce: case 239: /* Line 1792 of yacc.c */ -#line 1841 "dtool/src/cppparser/cppBison.yxx" +#line 1858 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.type) = CPPType::new_type(new CPPTBDType((yyvsp[(2) - (2)].u.identifier))); } @@ -5721,7 +5746,7 @@ yyreduce: case 240: /* Line 1792 of yacc.c */ -#line 1845 "dtool/src/cppparser/cppBison.yxx" +#line 1862 "dtool/src/cppparser/cppBison.yxx" { CPPType *type = (yyvsp[(2) - (2)].u.identifier)->find_type(current_scope, global_scope, false, current_lexer); if (type != NULL) { @@ -5741,7 +5766,7 @@ yyreduce: case 241: /* Line 1792 of yacc.c */ -#line 1861 "dtool/src/cppparser/cppBison.yxx" +#line 1878 "dtool/src/cppparser/cppBison.yxx" { CPPType *type = (yyvsp[(2) - (2)].u.identifier)->find_type(current_scope, global_scope, false, current_lexer); if (type != NULL) { @@ -5761,7 +5786,7 @@ yyreduce: case 242: /* Line 1792 of yacc.c */ -#line 1880 "dtool/src/cppparser/cppBison.yxx" +#line 1897 "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; @@ -5771,7 +5796,7 @@ yyreduce: case 243: /* Line 1792 of yacc.c */ -#line 1886 "dtool/src/cppparser/cppBison.yxx" +#line 1903 "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); @@ -5782,7 +5807,7 @@ yyreduce: case 244: /* Line 1792 of yacc.c */ -#line 1896 "dtool/src/cppparser/cppBison.yxx" +#line 1913 "dtool/src/cppparser/cppBison.yxx" { CPPVisibility starting_vis = ((yyvsp[(1) - (2)].u.extension_enum) == CPPExtensionType::T_class) ? V_private : V_public; @@ -5800,7 +5825,7 @@ yyreduce: case 245: /* Line 1792 of yacc.c */ -#line 1910 "dtool/src/cppparser/cppBison.yxx" +#line 1927 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.struct_type) = current_struct; current_struct->_incomplete = false; @@ -5811,7 +5836,7 @@ yyreduce: case 246: /* Line 1792 of yacc.c */ -#line 1920 "dtool/src/cppparser/cppBison.yxx" +#line 1937 "dtool/src/cppparser/cppBison.yxx" { CPPVisibility starting_vis = ((yyvsp[(1) - (2)].u.extension_enum) == CPPExtensionType::T_class) ? V_private : V_public; @@ -5835,7 +5860,7 @@ yyreduce: case 247: /* Line 1792 of yacc.c */ -#line 1940 "dtool/src/cppparser/cppBison.yxx" +#line 1957 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.struct_type) = current_struct; current_struct->_incomplete = false; @@ -5846,7 +5871,7 @@ yyreduce: case 252: /* Line 1792 of yacc.c */ -#line 1960 "dtool/src/cppparser/cppBison.yxx" +#line 1977 "dtool/src/cppparser/cppBison.yxx" { current_struct->append_derivation((yyvsp[(2) - (2)].u.type), V_public, false); } @@ -5854,7 +5879,7 @@ yyreduce: case 253: /* Line 1792 of yacc.c */ -#line 1964 "dtool/src/cppparser/cppBison.yxx" +#line 1981 "dtool/src/cppparser/cppBison.yxx" { current_struct->append_derivation((yyvsp[(2) - (2)].u.type), V_protected, false); } @@ -5862,7 +5887,7 @@ yyreduce: case 254: /* Line 1792 of yacc.c */ -#line 1968 "dtool/src/cppparser/cppBison.yxx" +#line 1985 "dtool/src/cppparser/cppBison.yxx" { current_struct->append_derivation((yyvsp[(2) - (2)].u.type), V_private, false); } @@ -5870,7 +5895,7 @@ yyreduce: case 255: /* Line 1792 of yacc.c */ -#line 1972 "dtool/src/cppparser/cppBison.yxx" +#line 1989 "dtool/src/cppparser/cppBison.yxx" { current_struct->append_derivation((yyvsp[(3) - (3)].u.type), V_public, true); } @@ -5878,7 +5903,7 @@ yyreduce: case 256: /* Line 1792 of yacc.c */ -#line 1976 "dtool/src/cppparser/cppBison.yxx" +#line 1993 "dtool/src/cppparser/cppBison.yxx" { current_struct->append_derivation((yyvsp[(3) - (3)].u.type), V_protected, true); } @@ -5886,7 +5911,7 @@ yyreduce: case 257: /* Line 1792 of yacc.c */ -#line 1980 "dtool/src/cppparser/cppBison.yxx" +#line 1997 "dtool/src/cppparser/cppBison.yxx" { current_struct->append_derivation((yyvsp[(3) - (3)].u.type), V_private, true); } @@ -5894,7 +5919,7 @@ yyreduce: case 258: /* Line 1792 of yacc.c */ -#line 1984 "dtool/src/cppparser/cppBison.yxx" +#line 2001 "dtool/src/cppparser/cppBison.yxx" { current_struct->append_derivation((yyvsp[(3) - (3)].u.type), V_public, true); } @@ -5902,7 +5927,7 @@ yyreduce: case 259: /* Line 1792 of yacc.c */ -#line 1988 "dtool/src/cppparser/cppBison.yxx" +#line 2005 "dtool/src/cppparser/cppBison.yxx" { current_struct->append_derivation((yyvsp[(3) - (3)].u.type), V_protected, true); } @@ -5910,7 +5935,7 @@ yyreduce: case 260: /* Line 1792 of yacc.c */ -#line 1992 "dtool/src/cppparser/cppBison.yxx" +#line 2009 "dtool/src/cppparser/cppBison.yxx" { current_struct->append_derivation((yyvsp[(3) - (3)].u.type), V_private, true); } @@ -5918,7 +5943,7 @@ yyreduce: case 261: /* Line 1792 of yacc.c */ -#line 1999 "dtool/src/cppparser/cppBison.yxx" +#line 2016 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.enum_type) = current_enum; current_enum = NULL; @@ -5927,7 +5952,7 @@ yyreduce: case 262: /* Line 1792 of yacc.c */ -#line 2007 "dtool/src/cppparser/cppBison.yxx" +#line 2024 "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); } @@ -5935,7 +5960,7 @@ yyreduce: case 263: /* Line 1792 of yacc.c */ -#line 2011 "dtool/src/cppparser/cppBison.yxx" +#line 2028 "dtool/src/cppparser/cppBison.yxx" { current_enum = new CPPEnumType((yyvsp[(2) - (2)].u.identifier), current_scope, (yylsp[(1) - (2)]).file); } @@ -5943,7 +5968,7 @@ yyreduce: case 264: /* Line 1792 of yacc.c */ -#line 2015 "dtool/src/cppparser/cppBison.yxx" +#line 2032 "dtool/src/cppparser/cppBison.yxx" { current_enum = new CPPEnumType(NULL, (yyvsp[(3) - (3)].u.type), current_scope, (yylsp[(1) - (3)]).file); } @@ -5951,7 +5976,7 @@ yyreduce: case 265: /* Line 1792 of yacc.c */ -#line 2019 "dtool/src/cppparser/cppBison.yxx" +#line 2036 "dtool/src/cppparser/cppBison.yxx" { current_enum = new CPPEnumType(NULL, current_scope, (yylsp[(1) - (1)]).file); } @@ -5959,7 +5984,7 @@ yyreduce: case 266: /* Line 1792 of yacc.c */ -#line 2026 "dtool/src/cppparser/cppBison.yxx" +#line 2043 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.type) = CPPType::new_type((yyvsp[(1) - (1)].u.simple_type)); } @@ -5967,7 +5992,7 @@ yyreduce: case 267: /* Line 1792 of yacc.c */ -#line 2030 "dtool/src/cppparser/cppBison.yxx" +#line 2047 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.type) = (yyvsp[(1) - (1)].u.identifier)->find_type(current_scope, global_scope, false, current_lexer); } @@ -5975,7 +6000,7 @@ yyreduce: case 269: /* Line 1792 of yacc.c */ -#line 2038 "dtool/src/cppparser/cppBison.yxx" +#line 2055 "dtool/src/cppparser/cppBison.yxx" { assert(current_enum != NULL); CPPInstance *inst = current_enum->add_element((yyvsp[(2) - (3)].u.identifier)->get_simple_name()); @@ -5985,7 +6010,7 @@ yyreduce: case 270: /* Line 1792 of yacc.c */ -#line 2044 "dtool/src/cppparser/cppBison.yxx" +#line 2061 "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)); @@ -5995,7 +6020,7 @@ yyreduce: case 272: /* Line 1792 of yacc.c */ -#line 2053 "dtool/src/cppparser/cppBison.yxx" +#line 2070 "dtool/src/cppparser/cppBison.yxx" { assert(current_enum != NULL); CPPInstance *inst = current_enum->add_element((yyvsp[(2) - (2)].u.identifier)->get_simple_name()); @@ -6005,7 +6030,7 @@ yyreduce: case 273: /* Line 1792 of yacc.c */ -#line 2059 "dtool/src/cppparser/cppBison.yxx" +#line 2076 "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)); @@ -6015,7 +6040,7 @@ yyreduce: case 274: /* Line 1792 of yacc.c */ -#line 2068 "dtool/src/cppparser/cppBison.yxx" +#line 2085 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.extension_enum) = CPPExtensionType::T_enum; } @@ -6023,7 +6048,7 @@ yyreduce: case 275: /* Line 1792 of yacc.c */ -#line 2075 "dtool/src/cppparser/cppBison.yxx" +#line 2092 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.extension_enum) = CPPExtensionType::T_class; } @@ -6031,7 +6056,7 @@ yyreduce: case 276: /* Line 1792 of yacc.c */ -#line 2079 "dtool/src/cppparser/cppBison.yxx" +#line 2096 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.extension_enum) = CPPExtensionType::T_struct; } @@ -6039,7 +6064,7 @@ yyreduce: case 277: /* Line 1792 of yacc.c */ -#line 2083 "dtool/src/cppparser/cppBison.yxx" +#line 2100 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.extension_enum) = CPPExtensionType::T_union; } @@ -6047,7 +6072,7 @@ yyreduce: case 278: /* Line 1792 of yacc.c */ -#line 2090 "dtool/src/cppparser/cppBison.yxx" +#line 2107 "dtool/src/cppparser/cppBison.yxx" { CPPScope *scope = (yyvsp[(2) - (3)].u.identifier)->find_scope(current_scope, global_scope, current_lexer); if (scope == NULL) { @@ -6069,7 +6094,7 @@ yyreduce: case 279: /* Line 1792 of yacc.c */ -#line 2108 "dtool/src/cppparser/cppBison.yxx" +#line 2125 "dtool/src/cppparser/cppBison.yxx" { pop_scope(); } @@ -6077,7 +6102,7 @@ yyreduce: case 280: /* Line 1792 of yacc.c */ -#line 2112 "dtool/src/cppparser/cppBison.yxx" +#line 2129 "dtool/src/cppparser/cppBison.yxx" { CPPScope *scope = (yyvsp[(3) - (4)].u.identifier)->find_scope(current_scope, global_scope, current_lexer); if (scope == NULL) { @@ -6100,7 +6125,7 @@ yyreduce: case 281: /* Line 1792 of yacc.c */ -#line 2131 "dtool/src/cppparser/cppBison.yxx" +#line 2148 "dtool/src/cppparser/cppBison.yxx" { pop_scope(); } @@ -6108,7 +6133,7 @@ yyreduce: case 284: /* Line 1792 of yacc.c */ -#line 2140 "dtool/src/cppparser/cppBison.yxx" +#line 2157 "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)])); @@ -6118,7 +6143,7 @@ yyreduce: case 285: /* Line 1792 of yacc.c */ -#line 2146 "dtool/src/cppparser/cppBison.yxx" +#line 2163 "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)])); @@ -6128,7 +6153,7 @@ yyreduce: case 289: /* Line 1792 of yacc.c */ -#line 2161 "dtool/src/cppparser/cppBison.yxx" +#line 2178 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.simple_type) = new CPPSimpleType(CPPSimpleType::T_bool); } @@ -6136,7 +6161,7 @@ yyreduce: case 290: /* Line 1792 of yacc.c */ -#line 2165 "dtool/src/cppparser/cppBison.yxx" +#line 2182 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.simple_type) = new CPPSimpleType(CPPSimpleType::T_char); } @@ -6144,7 +6169,7 @@ yyreduce: case 291: /* Line 1792 of yacc.c */ -#line 2169 "dtool/src/cppparser/cppBison.yxx" +#line 2186 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.simple_type) = new CPPSimpleType(CPPSimpleType::T_wchar_t); } @@ -6152,7 +6177,7 @@ yyreduce: case 292: /* Line 1792 of yacc.c */ -#line 2173 "dtool/src/cppparser/cppBison.yxx" +#line 2190 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.simple_type) = new CPPSimpleType(CPPSimpleType::T_char16_t); } @@ -6160,7 +6185,7 @@ yyreduce: case 293: /* Line 1792 of yacc.c */ -#line 2177 "dtool/src/cppparser/cppBison.yxx" +#line 2194 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.simple_type) = new CPPSimpleType(CPPSimpleType::T_char32_t); } @@ -6168,7 +6193,7 @@ yyreduce: case 294: /* Line 1792 of yacc.c */ -#line 2181 "dtool/src/cppparser/cppBison.yxx" +#line 2198 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.simple_type) = new CPPSimpleType(CPPSimpleType::T_int, CPPSimpleType::F_short); @@ -6177,7 +6202,7 @@ yyreduce: case 295: /* Line 1792 of yacc.c */ -#line 2186 "dtool/src/cppparser/cppBison.yxx" +#line 2203 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.simple_type) = new CPPSimpleType(CPPSimpleType::T_int, CPPSimpleType::F_long); @@ -6186,7 +6211,7 @@ yyreduce: case 296: /* Line 1792 of yacc.c */ -#line 2191 "dtool/src/cppparser/cppBison.yxx" +#line 2208 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.simple_type) = new CPPSimpleType(CPPSimpleType::T_int, CPPSimpleType::F_longlong); @@ -6195,7 +6220,7 @@ yyreduce: case 297: /* Line 1792 of yacc.c */ -#line 2196 "dtool/src/cppparser/cppBison.yxx" +#line 2213 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.simple_type) = new CPPSimpleType(CPPSimpleType::T_int, CPPSimpleType::F_unsigned); @@ -6204,7 +6229,7 @@ yyreduce: case 298: /* Line 1792 of yacc.c */ -#line 2201 "dtool/src/cppparser/cppBison.yxx" +#line 2218 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.simple_type) = new CPPSimpleType(CPPSimpleType::T_int, CPPSimpleType::F_signed); @@ -6213,7 +6238,7 @@ yyreduce: case 299: /* Line 1792 of yacc.c */ -#line 2206 "dtool/src/cppparser/cppBison.yxx" +#line 2223 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.simple_type) = new CPPSimpleType(CPPSimpleType::T_int); } @@ -6221,7 +6246,7 @@ yyreduce: case 300: /* Line 1792 of yacc.c */ -#line 2210 "dtool/src/cppparser/cppBison.yxx" +#line 2227 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.simple_type) = (yyvsp[(2) - (2)].u.simple_type); (yyval.u.simple_type)->_flags |= CPPSimpleType::F_short; @@ -6230,7 +6255,7 @@ yyreduce: case 301: /* Line 1792 of yacc.c */ -#line 2215 "dtool/src/cppparser/cppBison.yxx" +#line 2232 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.simple_type) = (yyvsp[(2) - (2)].u.simple_type); if ((yyval.u.simple_type)->_flags & CPPSimpleType::F_long) { @@ -6243,7 +6268,7 @@ yyreduce: case 302: /* Line 1792 of yacc.c */ -#line 2224 "dtool/src/cppparser/cppBison.yxx" +#line 2241 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.simple_type) = (yyvsp[(2) - (2)].u.simple_type); (yyval.u.simple_type)->_flags |= CPPSimpleType::F_unsigned; @@ -6252,7 +6277,7 @@ yyreduce: case 303: /* Line 1792 of yacc.c */ -#line 2229 "dtool/src/cppparser/cppBison.yxx" +#line 2246 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.simple_type) = (yyvsp[(2) - (2)].u.simple_type); (yyval.u.simple_type)->_flags |= CPPSimpleType::F_signed; @@ -6261,7 +6286,7 @@ yyreduce: case 304: /* Line 1792 of yacc.c */ -#line 2237 "dtool/src/cppparser/cppBison.yxx" +#line 2254 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.simple_type) = new CPPSimpleType(CPPSimpleType::T_float); } @@ -6269,7 +6294,7 @@ yyreduce: case 305: /* Line 1792 of yacc.c */ -#line 2241 "dtool/src/cppparser/cppBison.yxx" +#line 2258 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.simple_type) = new CPPSimpleType(CPPSimpleType::T_float, CPPSimpleType::F_long); @@ -6278,7 +6303,7 @@ yyreduce: case 306: /* Line 1792 of yacc.c */ -#line 2246 "dtool/src/cppparser/cppBison.yxx" +#line 2263 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.simple_type) = new CPPSimpleType(CPPSimpleType::T_double); } @@ -6286,7 +6311,7 @@ yyreduce: case 307: /* Line 1792 of yacc.c */ -#line 2250 "dtool/src/cppparser/cppBison.yxx" +#line 2267 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.simple_type) = new CPPSimpleType(CPPSimpleType::T_float, CPPSimpleType::F_longlong); @@ -6295,7 +6320,7 @@ yyreduce: case 308: /* Line 1792 of yacc.c */ -#line 2255 "dtool/src/cppparser/cppBison.yxx" +#line 2272 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.simple_type) = new CPPSimpleType(CPPSimpleType::T_double, CPPSimpleType::F_long); @@ -6304,7 +6329,7 @@ yyreduce: case 309: /* Line 1792 of yacc.c */ -#line 2263 "dtool/src/cppparser/cppBison.yxx" +#line 2280 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.simple_type) = new CPPSimpleType(CPPSimpleType::T_void); } @@ -6312,7 +6337,7 @@ yyreduce: case 310: /* Line 1792 of yacc.c */ -#line 2272 "dtool/src/cppparser/cppBison.yxx" +#line 2289 "dtool/src/cppparser/cppBison.yxx" { current_lexer->_resolve_identifiers = false; } @@ -6320,7 +6345,7 @@ yyreduce: case 311: /* Line 1792 of yacc.c */ -#line 2276 "dtool/src/cppparser/cppBison.yxx" +#line 2293 "dtool/src/cppparser/cppBison.yxx" { current_lexer->_resolve_identifiers = true; } @@ -6328,14 +6353,14 @@ yyreduce: case 406: /* Line 1792 of yacc.c */ -#line 2316 "dtool/src/cppparser/cppBison.yxx" +#line 2333 "dtool/src/cppparser/cppBison.yxx" { } break; case 430: /* Line 1792 of yacc.c */ -#line 2325 "dtool/src/cppparser/cppBison.yxx" +#line 2342 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = (CPPExpression *)NULL; } @@ -6343,7 +6368,7 @@ yyreduce: case 431: /* Line 1792 of yacc.c */ -#line 2329 "dtool/src/cppparser/cppBison.yxx" +#line 2346 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = (yyvsp[(1) - (1)].u.expr); } @@ -6351,7 +6376,7 @@ yyreduce: case 432: /* Line 1792 of yacc.c */ -#line 2336 "dtool/src/cppparser/cppBison.yxx" +#line 2353 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = (CPPExpression *)NULL; } @@ -6359,7 +6384,7 @@ yyreduce: case 433: /* Line 1792 of yacc.c */ -#line 2340 "dtool/src/cppparser/cppBison.yxx" +#line 2357 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = (yyvsp[(1) - (1)].u.expr); } @@ -6367,7 +6392,7 @@ yyreduce: case 434: /* Line 1792 of yacc.c */ -#line 2347 "dtool/src/cppparser/cppBison.yxx" +#line 2364 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = (yyvsp[(1) - (1)].u.expr); } @@ -6375,7 +6400,7 @@ yyreduce: case 435: /* Line 1792 of yacc.c */ -#line 2351 "dtool/src/cppparser/cppBison.yxx" +#line 2368 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(',', (yyvsp[(1) - (3)].u.expr), (yyvsp[(3) - (3)].u.expr)); } @@ -6383,7 +6408,7 @@ yyreduce: case 436: /* Line 1792 of yacc.c */ -#line 2358 "dtool/src/cppparser/cppBison.yxx" +#line 2375 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = (yyvsp[(1) - (1)].u.expr); } @@ -6391,7 +6416,7 @@ yyreduce: case 437: /* Line 1792 of yacc.c */ -#line 2362 "dtool/src/cppparser/cppBison.yxx" +#line 2379 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(CPPExpression::typecast_op((yyvsp[(2) - (4)].u.type), (yyvsp[(4) - (4)].u.expr))); } @@ -6399,7 +6424,7 @@ yyreduce: case 438: /* Line 1792 of yacc.c */ -#line 2366 "dtool/src/cppparser/cppBison.yxx" +#line 2383 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(CPPExpression::typecast_op((yyvsp[(3) - (7)].u.type), (yyvsp[(6) - (7)].u.expr))); } @@ -6407,7 +6432,7 @@ yyreduce: case 439: /* Line 1792 of yacc.c */ -#line 2370 "dtool/src/cppparser/cppBison.yxx" +#line 2387 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(CPPExpression::typecast_op((yyvsp[(3) - (7)].u.type), (yyvsp[(6) - (7)].u.expr))); } @@ -6415,7 +6440,7 @@ yyreduce: case 440: /* Line 1792 of yacc.c */ -#line 2374 "dtool/src/cppparser/cppBison.yxx" +#line 2391 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(CPPExpression::sizeof_func((yyvsp[(3) - (4)].u.type))); } @@ -6423,7 +6448,7 @@ yyreduce: case 441: /* Line 1792 of yacc.c */ -#line 2378 "dtool/src/cppparser/cppBison.yxx" +#line 2395 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(CPPExpression::alignof_func((yyvsp[(3) - (4)].u.type))); } @@ -6431,7 +6456,7 @@ yyreduce: case 442: /* Line 1792 of yacc.c */ -#line 2382 "dtool/src/cppparser/cppBison.yxx" +#line 2399 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(UNARY_NOT, (yyvsp[(2) - (2)].u.expr)); } @@ -6439,7 +6464,7 @@ yyreduce: case 443: /* Line 1792 of yacc.c */ -#line 2386 "dtool/src/cppparser/cppBison.yxx" +#line 2403 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(UNARY_NEGATE, (yyvsp[(2) - (2)].u.expr)); } @@ -6447,7 +6472,7 @@ yyreduce: case 444: /* Line 1792 of yacc.c */ -#line 2390 "dtool/src/cppparser/cppBison.yxx" +#line 2407 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(UNARY_MINUS, (yyvsp[(2) - (2)].u.expr)); } @@ -6455,7 +6480,7 @@ yyreduce: case 445: /* Line 1792 of yacc.c */ -#line 2394 "dtool/src/cppparser/cppBison.yxx" +#line 2411 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(UNARY_STAR, (yyvsp[(2) - (2)].u.expr)); } @@ -6463,7 +6488,7 @@ yyreduce: case 446: /* Line 1792 of yacc.c */ -#line 2398 "dtool/src/cppparser/cppBison.yxx" +#line 2415 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(UNARY_REF, (yyvsp[(2) - (2)].u.expr)); } @@ -6471,7 +6496,7 @@ yyreduce: case 447: /* Line 1792 of yacc.c */ -#line 2402 "dtool/src/cppparser/cppBison.yxx" +#line 2419 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression('*', (yyvsp[(1) - (3)].u.expr), (yyvsp[(3) - (3)].u.expr)); } @@ -6479,7 +6504,7 @@ yyreduce: case 448: /* Line 1792 of yacc.c */ -#line 2406 "dtool/src/cppparser/cppBison.yxx" +#line 2423 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression('/', (yyvsp[(1) - (3)].u.expr), (yyvsp[(3) - (3)].u.expr)); } @@ -6487,7 +6512,7 @@ yyreduce: case 449: /* Line 1792 of yacc.c */ -#line 2410 "dtool/src/cppparser/cppBison.yxx" +#line 2427 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression('%', (yyvsp[(1) - (3)].u.expr), (yyvsp[(3) - (3)].u.expr)); } @@ -6495,7 +6520,7 @@ yyreduce: case 450: /* Line 1792 of yacc.c */ -#line 2414 "dtool/src/cppparser/cppBison.yxx" +#line 2431 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression('+', (yyvsp[(1) - (3)].u.expr), (yyvsp[(3) - (3)].u.expr)); } @@ -6503,7 +6528,7 @@ yyreduce: case 451: /* Line 1792 of yacc.c */ -#line 2418 "dtool/src/cppparser/cppBison.yxx" +#line 2435 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression('-', (yyvsp[(1) - (3)].u.expr), (yyvsp[(3) - (3)].u.expr)); } @@ -6511,7 +6536,7 @@ yyreduce: case 452: /* Line 1792 of yacc.c */ -#line 2422 "dtool/src/cppparser/cppBison.yxx" +#line 2439 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression('|', (yyvsp[(1) - (3)].u.expr), (yyvsp[(3) - (3)].u.expr)); } @@ -6519,7 +6544,7 @@ yyreduce: case 453: /* Line 1792 of yacc.c */ -#line 2426 "dtool/src/cppparser/cppBison.yxx" +#line 2443 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression('^', (yyvsp[(1) - (3)].u.expr), (yyvsp[(3) - (3)].u.expr)); } @@ -6527,7 +6552,7 @@ yyreduce: case 454: /* Line 1792 of yacc.c */ -#line 2430 "dtool/src/cppparser/cppBison.yxx" +#line 2447 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression('&', (yyvsp[(1) - (3)].u.expr), (yyvsp[(3) - (3)].u.expr)); } @@ -6535,7 +6560,7 @@ yyreduce: case 455: /* Line 1792 of yacc.c */ -#line 2434 "dtool/src/cppparser/cppBison.yxx" +#line 2451 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(OROR, (yyvsp[(1) - (3)].u.expr), (yyvsp[(3) - (3)].u.expr)); } @@ -6543,7 +6568,7 @@ yyreduce: case 456: /* Line 1792 of yacc.c */ -#line 2438 "dtool/src/cppparser/cppBison.yxx" +#line 2455 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(ANDAND, (yyvsp[(1) - (3)].u.expr), (yyvsp[(3) - (3)].u.expr)); } @@ -6551,7 +6576,7 @@ yyreduce: case 457: /* Line 1792 of yacc.c */ -#line 2442 "dtool/src/cppparser/cppBison.yxx" +#line 2459 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(EQCOMPARE, (yyvsp[(1) - (3)].u.expr), (yyvsp[(3) - (3)].u.expr)); } @@ -6559,7 +6584,7 @@ yyreduce: case 458: /* Line 1792 of yacc.c */ -#line 2446 "dtool/src/cppparser/cppBison.yxx" +#line 2463 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(NECOMPARE, (yyvsp[(1) - (3)].u.expr), (yyvsp[(3) - (3)].u.expr)); } @@ -6567,7 +6592,7 @@ yyreduce: case 459: /* Line 1792 of yacc.c */ -#line 2450 "dtool/src/cppparser/cppBison.yxx" +#line 2467 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(LECOMPARE, (yyvsp[(1) - (3)].u.expr), (yyvsp[(3) - (3)].u.expr)); } @@ -6575,7 +6600,7 @@ yyreduce: case 460: /* Line 1792 of yacc.c */ -#line 2454 "dtool/src/cppparser/cppBison.yxx" +#line 2471 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(GECOMPARE, (yyvsp[(1) - (3)].u.expr), (yyvsp[(3) - (3)].u.expr)); } @@ -6583,7 +6608,7 @@ yyreduce: case 461: /* Line 1792 of yacc.c */ -#line 2458 "dtool/src/cppparser/cppBison.yxx" +#line 2475 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(LSHIFT, (yyvsp[(1) - (3)].u.expr), (yyvsp[(3) - (3)].u.expr)); } @@ -6591,7 +6616,7 @@ yyreduce: case 462: /* Line 1792 of yacc.c */ -#line 2462 "dtool/src/cppparser/cppBison.yxx" +#line 2479 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(RSHIFT, (yyvsp[(1) - (3)].u.expr), (yyvsp[(3) - (3)].u.expr)); } @@ -6599,7 +6624,7 @@ yyreduce: case 463: /* Line 1792 of yacc.c */ -#line 2466 "dtool/src/cppparser/cppBison.yxx" +#line 2483 "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)); } @@ -6607,7 +6632,7 @@ yyreduce: case 464: /* Line 1792 of yacc.c */ -#line 2470 "dtool/src/cppparser/cppBison.yxx" +#line 2487 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression('[', (yyvsp[(1) - (4)].u.expr), (yyvsp[(3) - (4)].u.expr)); } @@ -6615,7 +6640,7 @@ yyreduce: case 465: /* Line 1792 of yacc.c */ -#line 2474 "dtool/src/cppparser/cppBison.yxx" +#line 2491 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression('f', (yyvsp[(1) - (4)].u.expr), (yyvsp[(3) - (4)].u.expr)); } @@ -6623,7 +6648,7 @@ yyreduce: case 466: /* Line 1792 of yacc.c */ -#line 2478 "dtool/src/cppparser/cppBison.yxx" +#line 2495 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression('f', (yyvsp[(1) - (3)].u.expr)); } @@ -6631,7 +6656,7 @@ yyreduce: case 467: /* Line 1792 of yacc.c */ -#line 2482 "dtool/src/cppparser/cppBison.yxx" +#line 2499 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression('.', (yyvsp[(1) - (3)].u.expr), (yyvsp[(3) - (3)].u.expr)); } @@ -6639,7 +6664,7 @@ yyreduce: case 468: /* Line 1792 of yacc.c */ -#line 2486 "dtool/src/cppparser/cppBison.yxx" +#line 2503 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(POINTSAT, (yyvsp[(1) - (3)].u.expr), (yyvsp[(3) - (3)].u.expr)); } @@ -6647,7 +6672,7 @@ yyreduce: case 469: /* Line 1792 of yacc.c */ -#line 2490 "dtool/src/cppparser/cppBison.yxx" +#line 2507 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = (yyvsp[(2) - (3)].u.expr); } @@ -6655,7 +6680,7 @@ yyreduce: case 470: /* Line 1792 of yacc.c */ -#line 2498 "dtool/src/cppparser/cppBison.yxx" +#line 2515 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = (yyvsp[(1) - (1)].u.expr); } @@ -6663,7 +6688,7 @@ yyreduce: case 471: /* Line 1792 of yacc.c */ -#line 2502 "dtool/src/cppparser/cppBison.yxx" +#line 2519 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(CPPExpression::typecast_op((yyvsp[(2) - (4)].u.type), (yyvsp[(4) - (4)].u.expr))); } @@ -6671,7 +6696,7 @@ yyreduce: case 472: /* Line 1792 of yacc.c */ -#line 2506 "dtool/src/cppparser/cppBison.yxx" +#line 2523 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(CPPExpression::typecast_op((yyvsp[(3) - (7)].u.type), (yyvsp[(6) - (7)].u.expr))); } @@ -6679,7 +6704,7 @@ yyreduce: case 473: /* Line 1792 of yacc.c */ -#line 2510 "dtool/src/cppparser/cppBison.yxx" +#line 2527 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(CPPExpression::typecast_op((yyvsp[(3) - (7)].u.type), (yyvsp[(6) - (7)].u.expr))); } @@ -6687,7 +6712,7 @@ yyreduce: case 474: /* Line 1792 of yacc.c */ -#line 2514 "dtool/src/cppparser/cppBison.yxx" +#line 2531 "dtool/src/cppparser/cppBison.yxx" { // A constructor call. CPPType *type = (yyvsp[(1) - (4)].u.identifier)->find_type(current_scope, global_scope, false, current_lexer); @@ -6701,7 +6726,7 @@ yyreduce: case 475: /* Line 1792 of yacc.c */ -#line 2524 "dtool/src/cppparser/cppBison.yxx" +#line 2541 "dtool/src/cppparser/cppBison.yxx" { CPPType *type = CPPType::new_type(new CPPSimpleType(CPPSimpleType::T_int)); @@ -6711,7 +6736,7 @@ yyreduce: case 476: /* Line 1792 of yacc.c */ -#line 2530 "dtool/src/cppparser/cppBison.yxx" +#line 2547 "dtool/src/cppparser/cppBison.yxx" { CPPType *type = CPPType::new_type(new CPPSimpleType(CPPSimpleType::T_char)); @@ -6721,7 +6746,7 @@ yyreduce: case 477: /* Line 1792 of yacc.c */ -#line 2536 "dtool/src/cppparser/cppBison.yxx" +#line 2553 "dtool/src/cppparser/cppBison.yxx" { CPPType *type = CPPType::new_type(new CPPSimpleType(CPPSimpleType::T_wchar_t)); @@ -6731,7 +6756,7 @@ yyreduce: case 478: /* Line 1792 of yacc.c */ -#line 2542 "dtool/src/cppparser/cppBison.yxx" +#line 2559 "dtool/src/cppparser/cppBison.yxx" { CPPType *type = CPPType::new_type(new CPPSimpleType(CPPSimpleType::T_char16_t)); @@ -6741,7 +6766,7 @@ yyreduce: case 479: /* Line 1792 of yacc.c */ -#line 2548 "dtool/src/cppparser/cppBison.yxx" +#line 2565 "dtool/src/cppparser/cppBison.yxx" { CPPType *type = CPPType::new_type(new CPPSimpleType(CPPSimpleType::T_char32_t)); @@ -6751,7 +6776,7 @@ yyreduce: case 480: /* Line 1792 of yacc.c */ -#line 2554 "dtool/src/cppparser/cppBison.yxx" +#line 2571 "dtool/src/cppparser/cppBison.yxx" { CPPType *type = CPPType::new_type(new CPPSimpleType(CPPSimpleType::T_bool)); @@ -6761,7 +6786,7 @@ yyreduce: case 481: /* Line 1792 of yacc.c */ -#line 2560 "dtool/src/cppparser/cppBison.yxx" +#line 2577 "dtool/src/cppparser/cppBison.yxx" { CPPType *type = CPPType::new_type(new CPPSimpleType(CPPSimpleType::T_int, @@ -6772,7 +6797,7 @@ yyreduce: case 482: /* Line 1792 of yacc.c */ -#line 2567 "dtool/src/cppparser/cppBison.yxx" +#line 2584 "dtool/src/cppparser/cppBison.yxx" { CPPType *type = CPPType::new_type(new CPPSimpleType(CPPSimpleType::T_int, @@ -6783,7 +6808,7 @@ yyreduce: case 483: /* Line 1792 of yacc.c */ -#line 2574 "dtool/src/cppparser/cppBison.yxx" +#line 2591 "dtool/src/cppparser/cppBison.yxx" { CPPType *type = CPPType::new_type(new CPPSimpleType(CPPSimpleType::T_int, @@ -6794,7 +6819,7 @@ yyreduce: case 484: /* Line 1792 of yacc.c */ -#line 2581 "dtool/src/cppparser/cppBison.yxx" +#line 2598 "dtool/src/cppparser/cppBison.yxx" { CPPType *type = CPPType::new_type(new CPPSimpleType(CPPSimpleType::T_int, @@ -6805,7 +6830,7 @@ yyreduce: case 485: /* Line 1792 of yacc.c */ -#line 2588 "dtool/src/cppparser/cppBison.yxx" +#line 2605 "dtool/src/cppparser/cppBison.yxx" { CPPType *type = CPPType::new_type(new CPPSimpleType(CPPSimpleType::T_float)); @@ -6815,7 +6840,7 @@ yyreduce: case 486: /* Line 1792 of yacc.c */ -#line 2594 "dtool/src/cppparser/cppBison.yxx" +#line 2611 "dtool/src/cppparser/cppBison.yxx" { CPPType *type = CPPType::new_type(new CPPSimpleType(CPPSimpleType::T_double)); @@ -6825,7 +6850,7 @@ yyreduce: case 487: /* Line 1792 of yacc.c */ -#line 2600 "dtool/src/cppparser/cppBison.yxx" +#line 2617 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(CPPExpression::sizeof_func((yyvsp[(3) - (4)].u.type))); } @@ -6833,7 +6858,7 @@ yyreduce: case 488: /* Line 1792 of yacc.c */ -#line 2604 "dtool/src/cppparser/cppBison.yxx" +#line 2621 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(CPPExpression::alignof_func((yyvsp[(3) - (4)].u.type))); } @@ -6841,7 +6866,7 @@ yyreduce: case 489: /* Line 1792 of yacc.c */ -#line 2608 "dtool/src/cppparser/cppBison.yxx" +#line 2625 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(CPPExpression::new_op((yyvsp[(2) - (2)].u.type))); } @@ -6849,7 +6874,7 @@ yyreduce: case 490: /* Line 1792 of yacc.c */ -#line 2612 "dtool/src/cppparser/cppBison.yxx" +#line 2629 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(CPPExpression::new_op((yyvsp[(2) - (5)].u.type), (yyvsp[(4) - (5)].u.expr))); } @@ -6857,7 +6882,7 @@ yyreduce: case 491: /* Line 1792 of yacc.c */ -#line 2616 "dtool/src/cppparser/cppBison.yxx" +#line 2633 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(UNARY_NOT, (yyvsp[(2) - (2)].u.expr)); } @@ -6865,7 +6890,7 @@ yyreduce: case 492: /* Line 1792 of yacc.c */ -#line 2620 "dtool/src/cppparser/cppBison.yxx" +#line 2637 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(UNARY_NEGATE, (yyvsp[(2) - (2)].u.expr)); } @@ -6873,7 +6898,7 @@ yyreduce: case 493: /* Line 1792 of yacc.c */ -#line 2624 "dtool/src/cppparser/cppBison.yxx" +#line 2641 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(UNARY_MINUS, (yyvsp[(2) - (2)].u.expr)); } @@ -6881,7 +6906,7 @@ yyreduce: case 494: /* Line 1792 of yacc.c */ -#line 2628 "dtool/src/cppparser/cppBison.yxx" +#line 2645 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(UNARY_STAR, (yyvsp[(2) - (2)].u.expr)); } @@ -6889,7 +6914,7 @@ yyreduce: case 495: /* Line 1792 of yacc.c */ -#line 2632 "dtool/src/cppparser/cppBison.yxx" +#line 2649 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(UNARY_REF, (yyvsp[(2) - (2)].u.expr)); } @@ -6897,7 +6922,7 @@ yyreduce: case 496: /* Line 1792 of yacc.c */ -#line 2636 "dtool/src/cppparser/cppBison.yxx" +#line 2653 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression('*', (yyvsp[(1) - (3)].u.expr), (yyvsp[(3) - (3)].u.expr)); } @@ -6905,7 +6930,7 @@ yyreduce: case 497: /* Line 1792 of yacc.c */ -#line 2640 "dtool/src/cppparser/cppBison.yxx" +#line 2657 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression('/', (yyvsp[(1) - (3)].u.expr), (yyvsp[(3) - (3)].u.expr)); } @@ -6913,7 +6938,7 @@ yyreduce: case 498: /* Line 1792 of yacc.c */ -#line 2644 "dtool/src/cppparser/cppBison.yxx" +#line 2661 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression('%', (yyvsp[(1) - (3)].u.expr), (yyvsp[(3) - (3)].u.expr)); } @@ -6921,7 +6946,7 @@ yyreduce: case 499: /* Line 1792 of yacc.c */ -#line 2648 "dtool/src/cppparser/cppBison.yxx" +#line 2665 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression('+', (yyvsp[(1) - (3)].u.expr), (yyvsp[(3) - (3)].u.expr)); } @@ -6929,7 +6954,7 @@ yyreduce: case 500: /* Line 1792 of yacc.c */ -#line 2652 "dtool/src/cppparser/cppBison.yxx" +#line 2669 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression('-', (yyvsp[(1) - (3)].u.expr), (yyvsp[(3) - (3)].u.expr)); } @@ -6937,7 +6962,7 @@ yyreduce: case 501: /* Line 1792 of yacc.c */ -#line 2656 "dtool/src/cppparser/cppBison.yxx" +#line 2673 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression('|', (yyvsp[(1) - (3)].u.expr), (yyvsp[(3) - (3)].u.expr)); } @@ -6945,7 +6970,7 @@ yyreduce: case 502: /* Line 1792 of yacc.c */ -#line 2660 "dtool/src/cppparser/cppBison.yxx" +#line 2677 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression('^', (yyvsp[(1) - (3)].u.expr), (yyvsp[(3) - (3)].u.expr)); } @@ -6953,7 +6978,7 @@ yyreduce: case 503: /* Line 1792 of yacc.c */ -#line 2664 "dtool/src/cppparser/cppBison.yxx" +#line 2681 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression('&', (yyvsp[(1) - (3)].u.expr), (yyvsp[(3) - (3)].u.expr)); } @@ -6961,7 +6986,7 @@ yyreduce: case 504: /* Line 1792 of yacc.c */ -#line 2668 "dtool/src/cppparser/cppBison.yxx" +#line 2685 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(OROR, (yyvsp[(1) - (3)].u.expr), (yyvsp[(3) - (3)].u.expr)); } @@ -6969,7 +6994,7 @@ yyreduce: case 505: /* Line 1792 of yacc.c */ -#line 2672 "dtool/src/cppparser/cppBison.yxx" +#line 2689 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(ANDAND, (yyvsp[(1) - (3)].u.expr), (yyvsp[(3) - (3)].u.expr)); } @@ -6977,7 +7002,7 @@ yyreduce: case 506: /* Line 1792 of yacc.c */ -#line 2676 "dtool/src/cppparser/cppBison.yxx" +#line 2693 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(EQCOMPARE, (yyvsp[(1) - (3)].u.expr), (yyvsp[(3) - (3)].u.expr)); } @@ -6985,7 +7010,7 @@ yyreduce: case 507: /* Line 1792 of yacc.c */ -#line 2680 "dtool/src/cppparser/cppBison.yxx" +#line 2697 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(NECOMPARE, (yyvsp[(1) - (3)].u.expr), (yyvsp[(3) - (3)].u.expr)); } @@ -6993,7 +7018,7 @@ yyreduce: case 508: /* Line 1792 of yacc.c */ -#line 2684 "dtool/src/cppparser/cppBison.yxx" +#line 2701 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(LECOMPARE, (yyvsp[(1) - (3)].u.expr), (yyvsp[(3) - (3)].u.expr)); } @@ -7001,7 +7026,7 @@ yyreduce: case 509: /* Line 1792 of yacc.c */ -#line 2688 "dtool/src/cppparser/cppBison.yxx" +#line 2705 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(GECOMPARE, (yyvsp[(1) - (3)].u.expr), (yyvsp[(3) - (3)].u.expr)); } @@ -7009,7 +7034,7 @@ yyreduce: case 510: /* Line 1792 of yacc.c */ -#line 2692 "dtool/src/cppparser/cppBison.yxx" +#line 2709 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression('<', (yyvsp[(1) - (3)].u.expr), (yyvsp[(3) - (3)].u.expr)); } @@ -7017,7 +7042,7 @@ yyreduce: case 511: /* Line 1792 of yacc.c */ -#line 2696 "dtool/src/cppparser/cppBison.yxx" +#line 2713 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression('>', (yyvsp[(1) - (3)].u.expr), (yyvsp[(3) - (3)].u.expr)); } @@ -7025,7 +7050,7 @@ yyreduce: case 512: /* Line 1792 of yacc.c */ -#line 2700 "dtool/src/cppparser/cppBison.yxx" +#line 2717 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(LSHIFT, (yyvsp[(1) - (3)].u.expr), (yyvsp[(3) - (3)].u.expr)); } @@ -7033,7 +7058,7 @@ yyreduce: case 513: /* Line 1792 of yacc.c */ -#line 2704 "dtool/src/cppparser/cppBison.yxx" +#line 2721 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(RSHIFT, (yyvsp[(1) - (3)].u.expr), (yyvsp[(3) - (3)].u.expr)); } @@ -7041,7 +7066,7 @@ yyreduce: case 514: /* Line 1792 of yacc.c */ -#line 2708 "dtool/src/cppparser/cppBison.yxx" +#line 2725 "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)); } @@ -7049,7 +7074,7 @@ yyreduce: case 515: /* Line 1792 of yacc.c */ -#line 2712 "dtool/src/cppparser/cppBison.yxx" +#line 2729 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression('[', (yyvsp[(1) - (4)].u.expr), (yyvsp[(3) - (4)].u.expr)); } @@ -7057,7 +7082,7 @@ yyreduce: case 516: /* Line 1792 of yacc.c */ -#line 2716 "dtool/src/cppparser/cppBison.yxx" +#line 2733 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression('f', (yyvsp[(1) - (4)].u.expr), (yyvsp[(3) - (4)].u.expr)); } @@ -7065,7 +7090,7 @@ yyreduce: case 517: /* Line 1792 of yacc.c */ -#line 2720 "dtool/src/cppparser/cppBison.yxx" +#line 2737 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression('f', (yyvsp[(1) - (3)].u.expr)); } @@ -7073,7 +7098,7 @@ yyreduce: case 518: /* Line 1792 of yacc.c */ -#line 2724 "dtool/src/cppparser/cppBison.yxx" +#line 2741 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression('.', (yyvsp[(1) - (3)].u.expr), (yyvsp[(3) - (3)].u.expr)); } @@ -7081,7 +7106,7 @@ yyreduce: case 519: /* Line 1792 of yacc.c */ -#line 2728 "dtool/src/cppparser/cppBison.yxx" +#line 2745 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(POINTSAT, (yyvsp[(1) - (3)].u.expr), (yyvsp[(3) - (3)].u.expr)); } @@ -7089,7 +7114,7 @@ yyreduce: case 520: /* Line 1792 of yacc.c */ -#line 2732 "dtool/src/cppparser/cppBison.yxx" +#line 2749 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = (yyvsp[(2) - (3)].u.expr); } @@ -7097,7 +7122,7 @@ yyreduce: case 521: /* Line 1792 of yacc.c */ -#line 2739 "dtool/src/cppparser/cppBison.yxx" +#line 2756 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression((yyvsp[(1) - (1)].u.integer)); } @@ -7105,7 +7130,7 @@ yyreduce: case 522: /* Line 1792 of yacc.c */ -#line 2743 "dtool/src/cppparser/cppBison.yxx" +#line 2760 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(true); } @@ -7113,7 +7138,7 @@ yyreduce: case 523: /* Line 1792 of yacc.c */ -#line 2747 "dtool/src/cppparser/cppBison.yxx" +#line 2764 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(false); } @@ -7121,7 +7146,7 @@ yyreduce: case 524: /* Line 1792 of yacc.c */ -#line 2751 "dtool/src/cppparser/cppBison.yxx" +#line 2768 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression((yyvsp[(1) - (1)].u.integer)); } @@ -7129,7 +7154,7 @@ yyreduce: case 525: /* Line 1792 of yacc.c */ -#line 2755 "dtool/src/cppparser/cppBison.yxx" +#line 2772 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression((yyvsp[(1) - (1)].u.real)); } @@ -7137,7 +7162,7 @@ yyreduce: case 526: /* Line 1792 of yacc.c */ -#line 2759 "dtool/src/cppparser/cppBison.yxx" +#line 2776 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = (yyvsp[(1) - (1)].u.expr); } @@ -7145,7 +7170,7 @@ yyreduce: case 527: /* Line 1792 of yacc.c */ -#line 2763 "dtool/src/cppparser/cppBison.yxx" +#line 2780 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = (yyvsp[(1) - (1)].u.expr); } @@ -7153,7 +7178,7 @@ yyreduce: case 528: /* Line 1792 of yacc.c */ -#line 2767 "dtool/src/cppparser/cppBison.yxx" +#line 2784 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression((yyvsp[(1) - (1)].u.identifier), current_scope, global_scope, current_lexer); } @@ -7161,7 +7186,7 @@ yyreduce: case 529: /* Line 1792 of yacc.c */ -#line 2771 "dtool/src/cppparser/cppBison.yxx" +#line 2788 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(CPPExpression::get_nullptr()); } @@ -7169,7 +7194,7 @@ yyreduce: case 530: /* Line 1792 of yacc.c */ -#line 2785 "dtool/src/cppparser/cppBison.yxx" +#line 2802 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = (yyvsp[(1) - (1)].u.expr); } @@ -7177,7 +7202,7 @@ yyreduce: case 531: /* Line 1792 of yacc.c */ -#line 2789 "dtool/src/cppparser/cppBison.yxx" +#line 2806 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(CPPExpression::typecast_op((yyvsp[(2) - (4)].u.type), (yyvsp[(4) - (4)].u.expr))); } @@ -7185,7 +7210,7 @@ yyreduce: case 532: /* Line 1792 of yacc.c */ -#line 2793 "dtool/src/cppparser/cppBison.yxx" +#line 2810 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(CPPExpression::typecast_op((yyvsp[(3) - (7)].u.type), (yyvsp[(6) - (7)].u.expr))); } @@ -7193,7 +7218,7 @@ yyreduce: case 533: /* Line 1792 of yacc.c */ -#line 2797 "dtool/src/cppparser/cppBison.yxx" +#line 2814 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(CPPExpression::typecast_op((yyvsp[(3) - (7)].u.type), (yyvsp[(6) - (7)].u.expr))); } @@ -7201,7 +7226,7 @@ yyreduce: case 534: /* Line 1792 of yacc.c */ -#line 2801 "dtool/src/cppparser/cppBison.yxx" +#line 2818 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(CPPExpression::sizeof_func((yyvsp[(3) - (4)].u.type))); } @@ -7209,7 +7234,7 @@ yyreduce: case 535: /* Line 1792 of yacc.c */ -#line 2805 "dtool/src/cppparser/cppBison.yxx" +#line 2822 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(CPPExpression::alignof_func((yyvsp[(3) - (4)].u.type))); } @@ -7217,7 +7242,7 @@ yyreduce: case 536: /* Line 1792 of yacc.c */ -#line 2809 "dtool/src/cppparser/cppBison.yxx" +#line 2826 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(CPPExpression::new_op((yyvsp[(2) - (2)].u.type))); } @@ -7225,7 +7250,7 @@ yyreduce: case 537: /* Line 1792 of yacc.c */ -#line 2813 "dtool/src/cppparser/cppBison.yxx" +#line 2830 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(CPPExpression::new_op((yyvsp[(2) - (5)].u.type), (yyvsp[(4) - (5)].u.expr))); } @@ -7233,7 +7258,7 @@ yyreduce: case 538: /* Line 1792 of yacc.c */ -#line 2817 "dtool/src/cppparser/cppBison.yxx" +#line 2834 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(UNARY_NOT, (yyvsp[(2) - (2)].u.expr)); } @@ -7241,7 +7266,7 @@ yyreduce: case 539: /* Line 1792 of yacc.c */ -#line 2821 "dtool/src/cppparser/cppBison.yxx" +#line 2838 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(UNARY_NEGATE, (yyvsp[(2) - (2)].u.expr)); } @@ -7249,7 +7274,7 @@ yyreduce: case 540: /* Line 1792 of yacc.c */ -#line 2825 "dtool/src/cppparser/cppBison.yxx" +#line 2842 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(UNARY_MINUS, (yyvsp[(2) - (2)].u.expr)); } @@ -7257,7 +7282,7 @@ yyreduce: case 541: /* Line 1792 of yacc.c */ -#line 2829 "dtool/src/cppparser/cppBison.yxx" +#line 2846 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(UNARY_REF, (yyvsp[(2) - (2)].u.expr)); } @@ -7265,7 +7290,7 @@ yyreduce: case 542: /* Line 1792 of yacc.c */ -#line 2833 "dtool/src/cppparser/cppBison.yxx" +#line 2850 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression('*', (yyvsp[(1) - (3)].u.expr), (yyvsp[(3) - (3)].u.expr)); } @@ -7273,7 +7298,7 @@ yyreduce: case 543: /* Line 1792 of yacc.c */ -#line 2837 "dtool/src/cppparser/cppBison.yxx" +#line 2854 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression('/', (yyvsp[(1) - (3)].u.expr), (yyvsp[(3) - (3)].u.expr)); } @@ -7281,7 +7306,7 @@ yyreduce: case 544: /* Line 1792 of yacc.c */ -#line 2841 "dtool/src/cppparser/cppBison.yxx" +#line 2858 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression('%', (yyvsp[(1) - (3)].u.expr), (yyvsp[(3) - (3)].u.expr)); } @@ -7289,7 +7314,7 @@ yyreduce: case 545: /* Line 1792 of yacc.c */ -#line 2845 "dtool/src/cppparser/cppBison.yxx" +#line 2862 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression('+', (yyvsp[(1) - (3)].u.expr), (yyvsp[(3) - (3)].u.expr)); } @@ -7297,7 +7322,7 @@ yyreduce: case 546: /* Line 1792 of yacc.c */ -#line 2849 "dtool/src/cppparser/cppBison.yxx" +#line 2866 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression('-', (yyvsp[(1) - (3)].u.expr), (yyvsp[(3) - (3)].u.expr)); } @@ -7305,7 +7330,7 @@ yyreduce: case 547: /* Line 1792 of yacc.c */ -#line 2853 "dtool/src/cppparser/cppBison.yxx" +#line 2870 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression('|', (yyvsp[(1) - (3)].u.expr), (yyvsp[(3) - (3)].u.expr)); } @@ -7313,7 +7338,7 @@ yyreduce: case 548: /* Line 1792 of yacc.c */ -#line 2857 "dtool/src/cppparser/cppBison.yxx" +#line 2874 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression('^', (yyvsp[(1) - (3)].u.expr), (yyvsp[(3) - (3)].u.expr)); } @@ -7321,7 +7346,7 @@ yyreduce: case 549: /* Line 1792 of yacc.c */ -#line 2861 "dtool/src/cppparser/cppBison.yxx" +#line 2878 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression('&', (yyvsp[(1) - (3)].u.expr), (yyvsp[(3) - (3)].u.expr)); } @@ -7329,7 +7354,7 @@ yyreduce: case 550: /* Line 1792 of yacc.c */ -#line 2865 "dtool/src/cppparser/cppBison.yxx" +#line 2882 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(OROR, (yyvsp[(1) - (3)].u.expr), (yyvsp[(3) - (3)].u.expr)); } @@ -7337,7 +7362,7 @@ yyreduce: case 551: /* Line 1792 of yacc.c */ -#line 2869 "dtool/src/cppparser/cppBison.yxx" +#line 2886 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(ANDAND, (yyvsp[(1) - (3)].u.expr), (yyvsp[(3) - (3)].u.expr)); } @@ -7345,7 +7370,7 @@ yyreduce: case 552: /* Line 1792 of yacc.c */ -#line 2873 "dtool/src/cppparser/cppBison.yxx" +#line 2890 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(EQCOMPARE, (yyvsp[(1) - (3)].u.expr), (yyvsp[(3) - (3)].u.expr)); } @@ -7353,7 +7378,7 @@ yyreduce: case 553: /* Line 1792 of yacc.c */ -#line 2877 "dtool/src/cppparser/cppBison.yxx" +#line 2894 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(NECOMPARE, (yyvsp[(1) - (3)].u.expr), (yyvsp[(3) - (3)].u.expr)); } @@ -7361,7 +7386,7 @@ yyreduce: case 554: /* Line 1792 of yacc.c */ -#line 2881 "dtool/src/cppparser/cppBison.yxx" +#line 2898 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(LECOMPARE, (yyvsp[(1) - (3)].u.expr), (yyvsp[(3) - (3)].u.expr)); } @@ -7369,7 +7394,7 @@ yyreduce: case 555: /* Line 1792 of yacc.c */ -#line 2885 "dtool/src/cppparser/cppBison.yxx" +#line 2902 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(GECOMPARE, (yyvsp[(1) - (3)].u.expr), (yyvsp[(3) - (3)].u.expr)); } @@ -7377,7 +7402,7 @@ yyreduce: case 556: /* Line 1792 of yacc.c */ -#line 2889 "dtool/src/cppparser/cppBison.yxx" +#line 2906 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression('<', (yyvsp[(1) - (3)].u.expr), (yyvsp[(3) - (3)].u.expr)); } @@ -7385,7 +7410,7 @@ yyreduce: case 557: /* Line 1792 of yacc.c */ -#line 2893 "dtool/src/cppparser/cppBison.yxx" +#line 2910 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression('>', (yyvsp[(1) - (3)].u.expr), (yyvsp[(3) - (3)].u.expr)); } @@ -7393,7 +7418,7 @@ yyreduce: case 558: /* Line 1792 of yacc.c */ -#line 2897 "dtool/src/cppparser/cppBison.yxx" +#line 2914 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(LSHIFT, (yyvsp[(1) - (3)].u.expr), (yyvsp[(3) - (3)].u.expr)); } @@ -7401,7 +7426,7 @@ yyreduce: case 559: /* Line 1792 of yacc.c */ -#line 2901 "dtool/src/cppparser/cppBison.yxx" +#line 2918 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(RSHIFT, (yyvsp[(1) - (3)].u.expr), (yyvsp[(3) - (3)].u.expr)); } @@ -7409,7 +7434,7 @@ yyreduce: case 560: /* Line 1792 of yacc.c */ -#line 2905 "dtool/src/cppparser/cppBison.yxx" +#line 2922 "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)); } @@ -7417,7 +7442,7 @@ yyreduce: case 561: /* Line 1792 of yacc.c */ -#line 2909 "dtool/src/cppparser/cppBison.yxx" +#line 2926 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression('[', (yyvsp[(1) - (4)].u.expr), (yyvsp[(3) - (4)].u.expr)); } @@ -7425,7 +7450,7 @@ yyreduce: case 562: /* Line 1792 of yacc.c */ -#line 2913 "dtool/src/cppparser/cppBison.yxx" +#line 2930 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression('f', (yyvsp[(1) - (4)].u.expr), (yyvsp[(3) - (4)].u.expr)); } @@ -7433,7 +7458,7 @@ yyreduce: case 563: /* Line 1792 of yacc.c */ -#line 2917 "dtool/src/cppparser/cppBison.yxx" +#line 2934 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression('f', (yyvsp[(1) - (3)].u.expr)); } @@ -7441,7 +7466,7 @@ yyreduce: case 564: /* Line 1792 of yacc.c */ -#line 2921 "dtool/src/cppparser/cppBison.yxx" +#line 2938 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression('.', (yyvsp[(1) - (3)].u.expr), (yyvsp[(3) - (3)].u.expr)); } @@ -7449,7 +7474,7 @@ yyreduce: case 565: /* Line 1792 of yacc.c */ -#line 2925 "dtool/src/cppparser/cppBison.yxx" +#line 2942 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(POINTSAT, (yyvsp[(1) - (3)].u.expr), (yyvsp[(3) - (3)].u.expr)); } @@ -7457,7 +7482,7 @@ yyreduce: case 566: /* Line 1792 of yacc.c */ -#line 2929 "dtool/src/cppparser/cppBison.yxx" +#line 2946 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = (yyvsp[(2) - (3)].u.expr); } @@ -7465,7 +7490,7 @@ yyreduce: case 567: /* Line 1792 of yacc.c */ -#line 2936 "dtool/src/cppparser/cppBison.yxx" +#line 2953 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression((yyvsp[(1) - (1)].u.integer)); } @@ -7473,7 +7498,7 @@ yyreduce: case 568: /* Line 1792 of yacc.c */ -#line 2940 "dtool/src/cppparser/cppBison.yxx" +#line 2957 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(true); } @@ -7481,7 +7506,7 @@ yyreduce: case 569: /* Line 1792 of yacc.c */ -#line 2944 "dtool/src/cppparser/cppBison.yxx" +#line 2961 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(false); } @@ -7489,7 +7514,7 @@ yyreduce: case 570: /* Line 1792 of yacc.c */ -#line 2948 "dtool/src/cppparser/cppBison.yxx" +#line 2965 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression((yyvsp[(1) - (1)].u.integer)); } @@ -7497,7 +7522,7 @@ yyreduce: case 571: /* Line 1792 of yacc.c */ -#line 2952 "dtool/src/cppparser/cppBison.yxx" +#line 2969 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression((yyvsp[(1) - (1)].u.real)); } @@ -7505,7 +7530,7 @@ yyreduce: case 572: /* Line 1792 of yacc.c */ -#line 2956 "dtool/src/cppparser/cppBison.yxx" +#line 2973 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = (yyvsp[(1) - (1)].u.expr); } @@ -7513,7 +7538,7 @@ yyreduce: case 573: /* Line 1792 of yacc.c */ -#line 2960 "dtool/src/cppparser/cppBison.yxx" +#line 2977 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = (yyvsp[(1) - (1)].u.expr); } @@ -7521,7 +7546,7 @@ yyreduce: case 574: /* Line 1792 of yacc.c */ -#line 2964 "dtool/src/cppparser/cppBison.yxx" +#line 2981 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression((yyvsp[(1) - (1)].u.identifier), current_scope, global_scope, current_lexer); } @@ -7529,7 +7554,7 @@ yyreduce: case 575: /* Line 1792 of yacc.c */ -#line 2968 "dtool/src/cppparser/cppBison.yxx" +#line 2985 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(CPPExpression::get_nullptr()); } @@ -7537,7 +7562,7 @@ yyreduce: case 576: /* Line 1792 of yacc.c */ -#line 2975 "dtool/src/cppparser/cppBison.yxx" +#line 2992 "dtool/src/cppparser/cppBison.yxx" { CPPType *type = (yyvsp[(1) - (1)].u.identifier)->find_type(current_scope, global_scope, true); if (type == NULL) { @@ -7549,7 +7574,7 @@ yyreduce: case 577: /* Line 1792 of yacc.c */ -#line 2983 "dtool/src/cppparser/cppBison.yxx" +#line 3000 "dtool/src/cppparser/cppBison.yxx" { CPPType *type = (yyvsp[(2) - (2)].u.identifier)->find_type(current_scope, global_scope, true, current_lexer); if (type == NULL) { @@ -7561,7 +7586,7 @@ yyreduce: case 578: /* Line 1792 of yacc.c */ -#line 2991 "dtool/src/cppparser/cppBison.yxx" +#line 3008 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.type) = CPPType::new_type(new CPPTBDType((yyvsp[(2) - (2)].u.identifier))); } @@ -7569,7 +7594,7 @@ yyreduce: case 579: /* Line 1792 of yacc.c */ -#line 3017 "dtool/src/cppparser/cppBison.yxx" +#line 3034 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.identifier) = (yyvsp[(1) - (1)].u.identifier); } @@ -7577,7 +7602,7 @@ yyreduce: case 580: /* Line 1792 of yacc.c */ -#line 3021 "dtool/src/cppparser/cppBison.yxx" +#line 3038 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.identifier) = (yyvsp[(1) - (1)].u.identifier); } @@ -7585,7 +7610,7 @@ yyreduce: case 581: /* Line 1792 of yacc.c */ -#line 3028 "dtool/src/cppparser/cppBison.yxx" +#line 3045 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression((yyvsp[(1) - (1)].str)); } @@ -7593,7 +7618,7 @@ yyreduce: case 582: /* Line 1792 of yacc.c */ -#line 3032 "dtool/src/cppparser/cppBison.yxx" +#line 3049 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = (yyvsp[(1) - (1)].u.expr); } @@ -7601,7 +7626,7 @@ yyreduce: case 583: /* Line 1792 of yacc.c */ -#line 3036 "dtool/src/cppparser/cppBison.yxx" +#line 3053 "dtool/src/cppparser/cppBison.yxx" { // The right string takes on the literal type of the left. (yyval.u.expr) = (yyvsp[(1) - (2)].u.expr); @@ -7611,7 +7636,7 @@ yyreduce: case 584: /* Line 1792 of yacc.c */ -#line 3042 "dtool/src/cppparser/cppBison.yxx" +#line 3059 "dtool/src/cppparser/cppBison.yxx" { // We have to check that the two literal types match up. (yyval.u.expr) = (yyvsp[(1) - (2)].u.expr); @@ -7624,7 +7649,7 @@ yyreduce: /* Line 1792 of yacc.c */ -#line 7628 "built/tmp/cppBison.yxx.c" +#line 7653 "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 d98f4f71e8..ebca2ad3be 100644 --- a/dtool/src/cppparser/cppBison.yxx +++ b/dtool/src/cppparser/cppBison.yxx @@ -502,7 +502,7 @@ declaration: CPPDeclaration *getter = $5->find_symbol(current_scope, global_scope, current_lexer); if (getter == (CPPDeclaration *)NULL || getter->get_subtype() != CPPDeclaration::ST_function_group) { - yyerror("Reference to non-existent or invalid getter: " + $5->get_fully_scoped_name(), @1); + yyerror("Reference to non-existent or invalid getter: " + $5->get_fully_scoped_name(), @5); } CPPMakeProperty *make_property = new CPPMakeProperty($3, getter->as_function_group(), NULL, current_scope, @1.file); @@ -512,14 +512,14 @@ declaration: { CPPDeclaration *getter = $5->find_symbol(current_scope, global_scope, current_lexer); if (getter == (CPPDeclaration *)NULL || getter->get_subtype() != CPPDeclaration::ST_function_group) { - yyerror("Reference to non-existent or invalid getter: " + $5->get_fully_scoped_name(), @1); + yyerror("Reference to non-existent or invalid getter: " + $5->get_fully_scoped_name(), @5); } else { CPPDeclaration *setter = $7->find_symbol(current_scope, global_scope, current_lexer); CPPFunctionGroup *setter_func = NULL; if (setter == (CPPDeclaration *)NULL || setter->get_subtype() != CPPDeclaration::ST_function_group) { - yyerror("Reference to non-existent or invalid setter: " + $7->get_fully_scoped_name(), @1); + yyerror("Reference to non-existent or invalid setter: " + $7->get_fully_scoped_name(), @7); } else { setter_func = setter->as_function_group(); } @@ -529,10 +529,27 @@ declaration: current_scope->add_declaration(make_property, global_scope, current_lexer, @1); } } - | KW_MAKE_SEQ '(' name ',' name ',' name ')' ';' + | KW_MAKE_SEQ '(' IDENTIFIER ',' IDENTIFIER ',' IDENTIFIER ')' ';' { - CPPMakeSeq *make_seq = new CPPMakeSeq($3->get_simple_name(), $5->get_simple_name(), $7->get_simple_name(), @1.file); - current_scope->add_declaration(make_seq, global_scope, current_lexer, @1); + CPPDeclaration *length_getter = $5->find_symbol(current_scope, global_scope, current_lexer); + if (length_getter == (CPPDeclaration *)NULL || length_getter->get_subtype() != CPPDeclaration::ST_function_group) { + yyerror("reference to non-existent or invalid length method: " + $5->get_fully_scoped_name(), @5); + length_getter = NULL; + } + + CPPDeclaration *element_getter = $7->find_symbol(current_scope, global_scope, current_lexer); + if (element_getter == (CPPDeclaration *)NULL || element_getter->get_subtype() != CPPDeclaration::ST_function_group) { + yyerror("reference to non-existent or invalid element method: " + $7->get_fully_scoped_name(), @5); + element_getter = NULL; + } + + if (length_getter != (CPPDeclaration *)NULL && element_getter != (CPPDeclaration *)NULL) { + CPPMakeSeq *make_seq = new CPPMakeSeq($3, + length_getter->as_function_group(), + element_getter->as_function_group(), + current_scope, @1.file); + current_scope->add_declaration(make_seq, global_scope, current_lexer, @1); + } } | KW_STATIC_ASSERT '(' const_expr ',' string_literal ')' { diff --git a/dtool/src/cppparser/cppMakeSeq.cxx b/dtool/src/cppparser/cppMakeSeq.cxx index db3207c58a..b3b8a78b5f 100644 --- a/dtool/src/cppparser/cppMakeSeq.cxx +++ b/dtool/src/cppparser/cppMakeSeq.cxx @@ -20,13 +20,46 @@ // Description: //////////////////////////////////////////////////////////////////// CPPMakeSeq:: -CPPMakeSeq(const string &seq_name, const string &num_name, - const string &element_name, const CPPFile &file) : +CPPMakeSeq(CPPIdentifier *ident, + CPPFunctionGroup *length_getter, + CPPFunctionGroup *element_getter, + CPPScope *current_scope, const CPPFile &file) : CPPDeclaration(file), - _seq_name(seq_name), - _num_name(num_name), - _element_name(element_name) + _ident(ident), + _length_getter(length_getter), + _element_getter(element_getter) { + _ident->_native_scope = current_scope; +} + +//////////////////////////////////////////////////////////////////// +// Function: CPPMakeSeq::get_simple_name +// Access: Public, Virtual +// Description: +//////////////////////////////////////////////////////////////////// +string CPPMakeSeq:: +get_simple_name() const { + return _ident->get_simple_name(); +} + +//////////////////////////////////////////////////////////////////// +// Function: CPPMakeSeq::get_local_name +// Access: Public, Virtual +// Description: +//////////////////////////////////////////////////////////////////// +string CPPMakeSeq:: +get_local_name(CPPScope *scope) const { + return _ident->get_local_name(scope); +} + +//////////////////////////////////////////////////////////////////// +// Function: CPPMakeSeq::get_fully_scoped_name +// Access: Public, Virtual +// Description: +//////////////////////////////////////////////////////////////////// +string CPPMakeSeq:: +get_fully_scoped_name() const { + return _ident->get_fully_scoped_name(); } //////////////////////////////////////////////////////////////////// @@ -36,8 +69,10 @@ CPPMakeSeq(const string &seq_name, const string &num_name, //////////////////////////////////////////////////////////////////// void CPPMakeSeq:: output(ostream &out, int indent_level, CPPScope *scope, bool complete) const { - out << "__make_seq(" << _seq_name << ", " << _num_name << ", " - << _element_name << ");"; + out << "__make_seq(" << _ident->get_local_name(scope) + << ", " << _length_getter->_name + << ", " << _element_getter->_name + << ");"; } //////////////////////////////////////////////////////////////////// diff --git a/dtool/src/cppparser/cppMakeSeq.h b/dtool/src/cppparser/cppMakeSeq.h index 0016617c69..2c1192d278 100644 --- a/dtool/src/cppparser/cppMakeSeq.h +++ b/dtool/src/cppparser/cppMakeSeq.h @@ -18,6 +18,7 @@ #include "dtoolbase.h" #include "cppDeclaration.h" +#include "cppIdentifier.h" /////////////////////////////////////////////////////////////////// // Class : CPPMakeSeq @@ -29,8 +30,14 @@ //////////////////////////////////////////////////////////////////// class CPPMakeSeq : public CPPDeclaration { public: - CPPMakeSeq(const string &seq_name, const string &num_name, - const string &element_name, const CPPFile &file); + CPPMakeSeq(CPPIdentifier *ident, + CPPFunctionGroup *length_getter, + CPPFunctionGroup *element_getter, + CPPScope *current_scope, const CPPFile &file); + + virtual string get_simple_name() const; + virtual string get_local_name(CPPScope *scope = NULL) const; + virtual string get_fully_scoped_name() const; virtual void output(ostream &out, int indent_level, CPPScope *scope, bool complete) const; @@ -38,11 +45,9 @@ public: virtual SubType get_subtype() const; virtual CPPMakeSeq *as_make_seq(); - string _seq_name; - string _num_name; - string _element_name; + CPPIdentifier *_ident; + CPPFunctionGroup *_length_getter; + CPPFunctionGroup *_element_getter; }; #endif - - diff --git a/dtool/src/interrogate/interfaceMaker.cxx b/dtool/src/interrogate/interfaceMaker.cxx index a9ef73f7dc..5800a68198 100644 --- a/dtool/src/interrogate/interfaceMaker.cxx +++ b/dtool/src/interrogate/interfaceMaker.cxx @@ -79,11 +79,11 @@ InterfaceMaker::Function:: // Description: //////////////////////////////////////////////////////////////////// InterfaceMaker::MakeSeq:: -MakeSeq(const string &name, CPPMakeSeq *cpp_make_seq) : +MakeSeq(const string &name, const InterrogateMakeSeq &imake_seq) : _name(name), - _seq_name(cpp_make_seq->_seq_name), - _num_name(cpp_make_seq->_num_name), - _element_name(cpp_make_seq->_element_name) + _imake_seq(imake_seq), + _length_getter(NULL), + _element_getter(NULL) { } @@ -174,30 +174,6 @@ check_protocols() { if (flags & FunctionRemap::F_iter) { _protocol_types |= PT_iter; } - - // Now are there any make_seq requests within this class? - if (_itype._cpptype != NULL) { - CPPStructType *stype = _itype._cpptype->as_struct_type(); - if (stype != (CPPStructType *)NULL) { - CPPScope *scope = stype->get_scope(); - if (scope != (CPPScope *)NULL) { - CPPScope::Declarations::iterator di; - for (di = scope->_declarations.begin(); di != scope->_declarations.end(); ++di) { - CPPMakeSeq *cpp_make_seq = (*di)->as_make_seq(); - if (cpp_make_seq != (CPPMakeSeq *)NULL) { - string class_name = _itype.get_scoped_name(); - string clean_name = InterrogateBuilder::clean_identifier(class_name); - string wrapper_name = "MakeSeq_" + clean_name + "_" + cpp_make_seq->_seq_name; - MakeSeq *make_seq = new MakeSeq(wrapper_name, cpp_make_seq); - _make_seqs.push_back(make_seq); - - // Also add to the interrogate database. - builder.get_make_seq(cpp_make_seq, stype); - } - } - } - } - } } //////////////////////////////////////////////////////////////////// @@ -637,6 +613,8 @@ get_unique_prefix() { //////////////////////////////////////////////////////////////////// InterfaceMaker::Function *InterfaceMaker:: record_function(const InterrogateType &itype, FunctionIndex func_index) { + assert(func_index != 0); + if (_functions.count(func_index)) { // Already exists. return _functions[func_index]; diff --git a/dtool/src/interrogate/interfaceMaker.h b/dtool/src/interrogate/interfaceMaker.h index 71a1f0eb6d..61a18786c0 100644 --- a/dtool/src/interrogate/interfaceMaker.h +++ b/dtool/src/interrogate/interfaceMaker.h @@ -33,6 +33,7 @@ class CPPInstance; class InterrogateBuilder; class InterrogateElement; class InterrogateFunction; +class InterrogateMakeSeq; class InterrogateType; //////////////////////////////////////////////////////////////////// @@ -116,12 +117,12 @@ public: class MakeSeq { public: - MakeSeq(const string &name, CPPMakeSeq *cpp_make_seq); + MakeSeq(const string &name, const InterrogateMakeSeq &imake_seq); + const InterrogateMakeSeq &_imake_seq; string _name; - string _seq_name; - string _num_name; - string _element_name; + Function *_length_getter; + Function *_element_getter; }; typedef vector MakeSeqs; diff --git a/dtool/src/interrogate/interfaceMakerPythonNative.cxx b/dtool/src/interrogate/interfaceMakerPythonNative.cxx index 9c06abeaed..fb6a5a6a70 100644 --- a/dtool/src/interrogate/interfaceMakerPythonNative.cxx +++ b/dtool/src/interrogate/interfaceMakerPythonNative.cxx @@ -1099,7 +1099,17 @@ write_class_details(ostream &out, Object *obj) { // Write make seqs: generated methods that return a sequence of items. MakeSeqs::iterator msi; for (msi = obj->_make_seqs.begin(); msi != obj->_make_seqs.end(); ++msi) { - write_make_seq(out, obj, ClassName, cClassName, *msi); + if (is_function_legal((*msi)->_length_getter) && + is_function_legal((*msi)->_element_getter)) { + write_make_seq(out, obj, ClassName, cClassName, *msi); + } else { + if (!is_function_legal((*msi)->_length_getter)) { + cerr << "illegal length function for MAKE_SEQ: " << (*msi)->_length_getter->_name << "\n"; + } + if (!is_function_legal((*msi)->_element_getter)) { + cerr << "illegal element function for MAKE_SEQ: " << (*msi)->_element_getter->_name << "\n"; + } + } } // Determine which external imports we will need. @@ -1711,23 +1721,27 @@ write_module_class(ostream &out, Object *obj) { MakeSeqs::iterator msi; for (msi = obj->_make_seqs.begin(); msi != obj->_make_seqs.end(); ++msi) { - const string &seq_name = (*msi)->_seq_name; + MakeSeq *make_seq = (*msi); + if (!is_function_legal(make_seq->_length_getter) || + !is_function_legal(make_seq->_element_getter)) { + continue; + } - if ((seq_name.size() > 4 && seq_name.substr(0, 4) == "get_") || - (seq_name.size() > 7 && seq_name.substr(0, 7) == "modify_")) { + string seq_name = make_seq->_imake_seq.get_name(); - string flags = "METH_NOARGS"; - if (obj->is_static_method((*msi)->_element_name)) { - flags += " | METH_CLASS"; - } - string name1 = methodNameFromCppName((*msi)->_seq_name, export_class_name, false); - string name2 = methodNameFromCppName((*msi)->_seq_name, export_class_name, true); - out << " {\"" << name1 - << "\", (PyCFunction) &" << (*msi)->_name << ", " << flags << ", NULL},\n"; - if (name1 != name2) { - out << " { \"" << name2 - << "\", (PyCFunction) &" << (*msi)->_name << ", " << flags << ", NULL},\n"; - } + string flags = "METH_NOARGS"; + if (!make_seq->_length_getter->_has_this && + !make_seq->_element_getter->_has_this) { + flags += " | METH_STATIC"; + } + + string name1 = methodNameFromCppName(seq_name, export_class_name, false); + string name2 = methodNameFromCppName(seq_name, export_class_name, true); + out << " {\"" << name1 + << "\", (PyCFunction) &" << make_seq->_name << ", " << flags << ", NULL},\n"; + if (name1 != name2) { + out << " { \"" << name2 + << "\", (PyCFunction) &" << make_seq->_name << ", " << flags << ", NULL},\n"; } } @@ -6335,47 +6349,88 @@ pack_return_value(ostream &out, int indent_level, FunctionRemap *remap, void InterfaceMakerPythonNative:: write_make_seq(ostream &out, Object *obj, const std::string &ClassName, const std::string &cClassName, MakeSeq *make_seq) { + out << "/******************************************************************\n" << " * Python make_seq wrapper\n"; out << " *******************************************************************/\n"; out << "static PyObject *" << make_seq->_name + "(PyObject *self, PyObject *) {\n"; - string element_name = methodNameFromCppName(make_seq->_element_name, ClassName, false); - // This used to be a list. But it should really be a tuple, I think, - // because it probably makes more sense for it to be immutable (as - // changes to it won't be visible on the C++ side anyway). + // This used to return a list. But it should really be a tuple, I + // think, because it probably makes more sense for it to be immutable + // (as changes to it won't be visible on the C++ side anyway). - out << " " << cClassName << " *local_this = NULL;\n" - << " if (!Dtool_Call_ExtractThisPointer(self, Dtool_" << ClassName << ", (void **)&local_this)) {\n" - << " return NULL;\n" - << " }\n" - << "\n" - << " PyObject *getter = PyDict_GetItemString(Dtool_" << ClassName << "._PyType.tp_dict, \"" << element_name << "\");\n" - << " if (getter == (PyObject *)NULL) {\n" - << " return Dtool_Raise_AttributeError(self, \"" << element_name << "\");\n" - << " }\n" - << "\n" - << " Py_ssize_t count = (Py_ssize_t)local_this->" << make_seq->_num_name << "();\n" - << " PyObject *tuple = PyTuple_New(count);\n" - << "\n" - << " for (Py_ssize_t i = 0; i < count; ++i) {\n" - << "#if PY_MAJOR_VERSION >= 3\n" - << " PyObject *index = PyLong_FromSsize_t(i);\n" - << "#else\n" - << " PyObject *index = PyInt_FromSsize_t(i);\n" - << "#endif\n" - << " PyObject *value = PyObject_CallFunctionObjArgs(getter, self, index, NULL);\n" - << " PyTuple_SET_ITEM(tuple, i, value);\n" - << " Py_DECREF(index);\n" - << " }\n" - << "\n" - << " if (Dtool_CheckErrorOccurred()) {\n" - << " Py_DECREF(tuple);\n" - << " return NULL;\n" - << " }\n" - << " return tuple;\n" - << "}\n" - << "\n"; + FunctionRemap *remap = make_seq->_length_getter->_remaps.front(); + vector_string pexprs; + + if (make_seq->_length_getter->_has_this) { + out << + " " << cClassName << " *local_this = NULL;\n" + " if (!Dtool_Call_ExtractThisPointer(self, Dtool_" << ClassName << ", (void **)&local_this)) {\n" + " return NULL;\n" + " }\n" + " Py_ssize_t count = (Py_ssize_t)" << remap->get_call_str("local_this", pexprs) << ";\n"; + } else { + out << " Py_ssize_t count = (Py_ssize_t)" << remap->get_call_str("", pexprs) << ";\n"; + } + + Function *elem_getter = make_seq->_element_getter; + + if ((elem_getter->_args_type & AT_varargs) == AT_varargs) { + // Fast way to create a temporary tuple to hold only a single item, under + // the assumption that the called method doesn't do anything with this tuple + // other than unpack it (which is a fairly safe assumption to make). + out << " PyTupleObject args;\n"; + out << " PyObject_INIT_VAR(&args, &PyTuple_Type, 1);\n"; + } + + out << + " PyObject *tuple = PyTuple_New(count);\n" + "\n" + " for (Py_ssize_t i = 0; i < count; ++i) {\n" + "#if PY_MAJOR_VERSION >= 3\n" + " PyObject *index = PyLong_FromSsize_t(i);\n" + "#else\n" + " PyObject *index = PyInt_FromSsize_t(i);\n" + "#endif\n"; + + switch (elem_getter->_args_type) { + case AT_keyword_args: + out << " PyTuple_SET_ITEM(&args, 0, index);\n" + " PyObject *value = " << elem_getter->_name << "(self, (PyObject *)&args, NULL);\n"; + break; + + case AT_varargs: + out << " PyTuple_SET_ITEM(&args, 0, index);\n" + " PyObject *value = " << elem_getter->_name << "(self, (PyObject *)&args);\n"; + break; + + case AT_single_arg: + out << " PyObject *value = " << elem_getter->_name << "(self, index);\n"; + break; + + default: + out << " PyObject *value = " << elem_getter->_name << "(self, NULL);\n"; + break; + } + + out << + " PyTuple_SET_ITEM(tuple, i, value);\n" + " Py_DECREF(index);\n" + " }\n" + "\n"; + + if ((elem_getter->_args_type & AT_varargs) == AT_varargs) { + out << " _Py_ForgetReference((PyObject *)&args);\n"; + } + + out << + " if (Dtool_CheckErrorOccurred()) {\n" + " Py_DECREF(tuple);\n" + " return NULL;\n" + " }\n" + " return tuple;\n" + "}\n" + "\n"; } //////////////////////////////////////////////////////////////////// @@ -6494,6 +6549,21 @@ record_object(TypeIndex type_index) { } } + int num_make_seqs = itype.number_of_make_seqs(); + for (int msi = 0; msi < num_make_seqs; msi++) { + MakeSeqIndex make_seq_index = itype.get_make_seq(msi); + const InterrogateMakeSeq &imake_seq = idb->get_make_seq(make_seq_index); + + string class_name = itype.get_scoped_name(); + string clean_name = InterrogateBuilder::clean_identifier(class_name); + string wrapper_name = "MakeSeq_" + clean_name + "_" + imake_seq.get_name(); + + MakeSeq *make_seq = new MakeSeq(wrapper_name, imake_seq); + make_seq->_length_getter = record_function(itype, imake_seq.get_length_getter()); + make_seq->_element_getter = record_function(itype, imake_seq.get_element_getter()); + object->_make_seqs.push_back(make_seq); + } + object->check_protocols(); int num_nested = itype.number_of_nested_types(); diff --git a/dtool/src/interrogate/interrogateBuilder.cxx b/dtool/src/interrogate/interrogateBuilder.cxx index d164b80fc7..1017a52628 100644 --- a/dtool/src/interrogate/interrogateBuilder.cxx +++ b/dtool/src/interrogate/interrogateBuilder.cxx @@ -1998,7 +1998,7 @@ get_make_property(CPPMakeProperty *make_property, CPPStructType *struct_type) { //////////////////////////////////////////////////////////////////// MakeSeqIndex InterrogateBuilder:: get_make_seq(CPPMakeSeq *make_seq, CPPStructType *struct_type) { - string make_seq_name = struct_type->get_local_name(&parser) + "::MakeSeq_" + make_seq->_seq_name; + string make_seq_name = make_seq->get_local_name(&parser); // First, check to see if it's already there. MakeSeqsByName::const_iterator tni = @@ -2008,22 +2008,80 @@ get_make_seq(CPPMakeSeq *make_seq, CPPStructType *struct_type) { return index; } + FunctionIndex length_getter = 0; + FunctionIndex element_getter = 0; + + CPPFunctionGroup::Instances::const_iterator fi; + CPPFunctionGroup *fgroup = make_seq->_length_getter; + if (fgroup != NULL) { + for (fi = fgroup->_instances.begin(); fi != fgroup->_instances.end(); ++fi) { + CPPInstance *function = (*fi); + CPPFunctionType *ftype = + function->_type->as_function_type(); + if (ftype != NULL) { + length_getter = get_function(function, "", struct_type, + struct_type->get_scope(), 0); + if (length_getter != 0) { + break; + } + } + } + if (length_getter == 0) { + cerr << "No instance of length method '" + << fgroup->_name << "' is suitable!\n"; + return 0; + } + } else { + cerr << "MAKE_SEQ " << make_seq_name << " requires a length method.\n"; + return 0; + } + + fgroup = make_seq->_element_getter; + if (fgroup != NULL) { + for (fi = fgroup->_instances.begin(); fi != fgroup->_instances.end(); ++fi) { + CPPInstance *function = (*fi); + CPPFunctionType *ftype = + function->_type->as_function_type(); + if (ftype != NULL && ftype->_parameters->_parameters.size() >= 1 && + TypeManager::is_integer(ftype->_parameters->_parameters[0]->_type)) { + // It really doesn't matter whether we grab the const or non-const + // version, since they should all return the same function anyway. + element_getter = get_function(function, "", struct_type, + struct_type->get_scope(), 0); + if (element_getter != 0) { + break; + } + } + } + if (element_getter == 0) { + cerr << "No instance of element method '" + << fgroup->_name << "' is suitable!\n"; + return 0; + } + } else { + cerr << "MAKE_SEQ " << make_seq_name << " requires an element method.\n"; + return 0; + } + InterrogateDatabase *idb = InterrogateDatabase::get_ptr(); // It isn't here, so we'll have to define it. MakeSeqIndex index = idb->get_next_index(); _make_seqs_by_name[make_seq_name] = index; InterrogateMakeSeq imake_seq; - imake_seq._class = get_type(struct_type, false); - imake_seq._seq_name = make_seq->_seq_name; - imake_seq._num_name = make_seq->_num_name; - imake_seq._element_name = make_seq->_element_name; + imake_seq._name = make_seq->get_simple_name(); + imake_seq._scoped_name = descope(make_seq->get_local_name(&parser)); + + imake_seq._length_getter = length_getter; + imake_seq._element_getter = element_getter; + + // See if there happens to be a comment before the MAKE_SEQ macro. + if (make_seq->_leading_comment != (CPPCommentBlock *)NULL) { + imake_seq._comment = trim_blanks(make_seq->_leading_comment->_comment); + } idb->add_make_seq(index, imake_seq); - InterrogateType &itype = idb->update_type(imake_seq._class); - itype._make_seqs.push_back(index); - return index; } @@ -2553,6 +2611,10 @@ define_struct_type(InterrogateType &itype, CPPStructType *cpptype, } else if ((*di)->get_subtype() == CPPDeclaration::ST_make_property) { ElementIndex element_index = get_make_property((*di)->as_make_property(), cpptype); itype._elements.push_back(element_index); + + } else if ((*di)->get_subtype() == CPPDeclaration::ST_make_seq) { + MakeSeqIndex make_seq_index = get_make_seq((*di)->as_make_seq(), cpptype); + itype._make_seqs.push_back(make_seq_index); } } diff --git a/dtool/src/interrogatedb/interrogateDatabase.cxx b/dtool/src/interrogatedb/interrogateDatabase.cxx index c800b81ed3..77d14d30ac 100644 --- a/dtool/src/interrogatedb/interrogateDatabase.cxx +++ b/dtool/src/interrogatedb/interrogateDatabase.cxx @@ -20,8 +20,8 @@ InterrogateDatabase *InterrogateDatabase::_global_ptr = NULL; int InterrogateDatabase::_file_major_version = 0; int InterrogateDatabase::_file_minor_version = 0; -int InterrogateDatabase::_current_major_version = 2; -int InterrogateDatabase::_current_minor_version = 3; +int InterrogateDatabase::_current_major_version = 3; +int InterrogateDatabase::_current_minor_version = 0; //////////////////////////////////////////////////////////////////// // Function: InterrogateDatabase::Constructor diff --git a/dtool/src/interrogatedb/interrogateElement.cxx b/dtool/src/interrogatedb/interrogateElement.cxx index 8dff1f4251..81530cfae6 100644 --- a/dtool/src/interrogatedb/interrogateElement.cxx +++ b/dtool/src/interrogatedb/interrogateElement.cxx @@ -45,10 +45,7 @@ input(istream &in) { InterrogateComponent::input(in); in >> _flags >> _type >> _getter >> _setter; idf_input_string(in, _scoped_name); - - if (InterrogateDatabase::get_file_minor_version() >= 3) { - idf_input_string(in, _comment); - } + idf_input_string(in, _comment); } //////////////////////////////////////////////////////////////////// diff --git a/dtool/src/interrogatedb/interrogateFunction.cxx b/dtool/src/interrogatedb/interrogateFunction.cxx index 34833ac80e..62af522401 100644 --- a/dtool/src/interrogatedb/interrogateFunction.cxx +++ b/dtool/src/interrogatedb/interrogateFunction.cxx @@ -93,10 +93,7 @@ input(istream &in) { idf_input_vector(in, _c_wrappers); idf_input_vector(in, _python_wrappers); idf_input_string(in, _comment); - - if (InterrogateDatabase::get_file_minor_version() >= 2) { - idf_input_string(in, _prototype); - } + idf_input_string(in, _prototype); } //////////////////////////////////////////////////////////////////// diff --git a/dtool/src/interrogatedb/interrogateMakeSeq.I b/dtool/src/interrogatedb/interrogateMakeSeq.I index 5469e55cc8..b26b7fa864 100644 --- a/dtool/src/interrogatedb/interrogateMakeSeq.I +++ b/dtool/src/interrogatedb/interrogateMakeSeq.I @@ -23,7 +23,8 @@ INLINE InterrogateMakeSeq:: InterrogateMakeSeq(InterrogateModuleDef *def) : InterrogateComponent(def) { - _class = 0; + _length_getter = 0; + _element_getter = 0; } //////////////////////////////////////////////////////////////////// @@ -44,52 +45,71 @@ InterrogateMakeSeq(const InterrogateMakeSeq ©) { INLINE void InterrogateMakeSeq:: operator = (const InterrogateMakeSeq ©) { InterrogateComponent::operator = (copy); - _class = copy._class; - _seq_name = copy._seq_name; - _num_name = copy._num_name; - _element_name = copy._element_name; + _scoped_name = copy._scoped_name; + _comment = copy._comment; + _length_getter = copy._length_getter; + _element_getter = copy._element_getter; } //////////////////////////////////////////////////////////////////// -// Function: InterrogateMakeSeq::get_class +// Function: InterrogateMakeSeq::has_scoped_name // Access: Public -// Description: Return the class that owns the make_seq. +// Description: //////////////////////////////////////////////////////////////////// -INLINE TypeIndex InterrogateMakeSeq:: -get_class() const { - return _class; +INLINE bool InterrogateMakeSeq:: +has_scoped_name() const { + return !_scoped_name.empty(); } //////////////////////////////////////////////////////////////////// -// Function: InterrogateMakeSeq::get_seq_name +// Function: InterrogateMakeSeq::get_scoped_name // Access: Public // Description: //////////////////////////////////////////////////////////////////// INLINE const string &InterrogateMakeSeq:: -get_seq_name() const { - return _seq_name; +get_scoped_name() const { + return _scoped_name; } //////////////////////////////////////////////////////////////////// -// Function: InterrogateMakeSeq::get_num_name +// Function: InterrogateMakeSeq::has_comment +// Access: Public +// Description: +//////////////////////////////////////////////////////////////////// +INLINE bool InterrogateMakeSeq:: +has_comment() const { + return !_comment.empty(); +} + +//////////////////////////////////////////////////////////////////// +// Function: InterrogateMakeSeq::get_comment // Access: Public // Description: //////////////////////////////////////////////////////////////////// INLINE const string &InterrogateMakeSeq:: -get_num_name() const { - return _num_name; +get_comment() const { + return _comment; } //////////////////////////////////////////////////////////////////// -// Function: InterrogateMakeSeq::get_element_name +// Element: InterrogateMakeSeq::get_length_getter // Access: Public // Description: //////////////////////////////////////////////////////////////////// -INLINE const string &InterrogateMakeSeq:: -get_element_name() const { - return _element_name; +INLINE FunctionIndex InterrogateMakeSeq:: +get_length_getter() const { + return _length_getter; } +//////////////////////////////////////////////////////////////////// +// Element: InterrogateMakeSeq::get_element_getter +// Access: Public +// Description: +//////////////////////////////////////////////////////////////////// +INLINE FunctionIndex InterrogateMakeSeq:: +get_element_getter() const { + return _element_getter; +} INLINE ostream & operator << (ostream &out, const InterrogateMakeSeq &make_seq) { diff --git a/dtool/src/interrogatedb/interrogateMakeSeq.cxx b/dtool/src/interrogatedb/interrogateMakeSeq.cxx index a8a1822681..99dec723ca 100644 --- a/dtool/src/interrogatedb/interrogateMakeSeq.cxx +++ b/dtool/src/interrogatedb/interrogateMakeSeq.cxx @@ -25,10 +25,10 @@ void InterrogateMakeSeq:: output(ostream &out) const { InterrogateComponent::output(out); - out << _class << " "; - idf_output_string(out, _seq_name); - idf_output_string(out, _num_name); - idf_output_string(out, _element_name); + out << _length_getter << " " + << _element_getter << " "; + idf_output_string(out, _scoped_name); + idf_output_string(out, _comment, '\n'); } //////////////////////////////////////////////////////////////////// @@ -40,10 +40,10 @@ output(ostream &out) const { void InterrogateMakeSeq:: input(istream &in) { InterrogateComponent::input(in); - in >> _class; - idf_input_string(in, _seq_name); - idf_input_string(in, _num_name); - idf_input_string(in, _element_name); + + in >> _length_getter >> _element_getter; + idf_input_string(in, _scoped_name); + idf_input_string(in, _comment); } //////////////////////////////////////////////////////////////////// @@ -55,4 +55,6 @@ input(istream &in) { //////////////////////////////////////////////////////////////////// void InterrogateMakeSeq:: remap_indices(const IndexRemapper &remap) { + _length_getter = remap.map_from(_length_getter); + _element_getter = remap.map_from(_element_getter); } diff --git a/dtool/src/interrogatedb/interrogateMakeSeq.h b/dtool/src/interrogatedb/interrogateMakeSeq.h index bd991f71ca..f6c3f4985b 100644 --- a/dtool/src/interrogatedb/interrogateMakeSeq.h +++ b/dtool/src/interrogatedb/interrogateMakeSeq.h @@ -32,10 +32,14 @@ public: INLINE InterrogateMakeSeq(const InterrogateMakeSeq ©); INLINE void operator = (const InterrogateMakeSeq ©); - INLINE TypeIndex get_class() const; - INLINE const string &get_seq_name() const; - INLINE const string &get_num_name() const; - INLINE const string &get_element_name() const; + INLINE bool has_scoped_name() const; + INLINE const string &get_scoped_name() const; + + INLINE bool has_comment() const; + INLINE const string &get_comment() const; + + INLINE FunctionIndex get_length_getter() const; + INLINE FunctionIndex get_element_getter() const; void output(ostream &out) const; void input(istream &in); @@ -43,10 +47,10 @@ public: void remap_indices(const IndexRemapper &remap); private: - TypeIndex _class; - string _seq_name; - string _num_name; - string _element_name; + string _scoped_name; + string _comment; + FunctionIndex _length_getter; + FunctionIndex _element_getter; friend class InterrogateBuilder; }; diff --git a/dtool/src/interrogatedb/interrogateType.cxx b/dtool/src/interrogatedb/interrogateType.cxx index d0ce756fa4..57618c6734 100644 --- a/dtool/src/interrogatedb/interrogateType.cxx +++ b/dtool/src/interrogatedb/interrogateType.cxx @@ -91,9 +91,7 @@ void InterrogateType::EnumValue:: input(istream &in) { idf_input_string(in, _name); idf_input_string(in, _scoped_name); - if (InterrogateDatabase::get_file_minor_version() >= 3) { - idf_input_string(in, _comment); - } + idf_input_string(in, _comment); in >> _value; } diff --git a/dtool/src/interrogatedb/interrogate_interface.cxx b/dtool/src/interrogatedb/interrogate_interface.cxx index 8254918a64..2c4634c9b3 100644 --- a/dtool/src/interrogatedb/interrogate_interface.cxx +++ b/dtool/src/interrogatedb/interrogate_interface.cxx @@ -414,34 +414,47 @@ interrogate_get_wrapper_by_unique_name(const char *unique_name) { return InterrogateDatabase::get_ptr()->get_wrapper_by_unique_name(unique_name); } -TypeIndex -interrogate_make_seq_class(MakeSeqIndex make_seq) { - //cerr << "interrogate_make_seq_class(" << make_seq << ")\n"; - return InterrogateDatabase::get_ptr()->get_make_seq(make_seq).get_class(); -} - const char * interrogate_make_seq_seq_name(MakeSeqIndex make_seq) { //cerr << "interrogate_make_seq_seq_name(" << make_seq << ")\n"; static string result; - result = InterrogateDatabase::get_ptr()->get_make_seq(make_seq).get_seq_name(); + result = InterrogateDatabase::get_ptr()->get_make_seq(make_seq).get_name(); return result.c_str(); } +const char * +interrogate_make_seq_scoped_name(MakeSeqIndex make_seq) { + //cerr << "interrogate_make_seq_seq_name(" << make_seq << ")\n"; + static string result; + result = InterrogateDatabase::get_ptr()->get_make_seq(make_seq).get_scoped_name(); + return result.c_str(); +} + +bool +interrogate_make_seq_has_comment(MakeSeqIndex make_seq) { + //cerr << "interrogate_make_seq_has_comment(" << make_seq << ")\n"; + return InterrogateDatabase::get_ptr()->get_make_seq(make_seq).has_comment(); +} + +const char * +interrogate_make_seq_comment(MakeSeqIndex make_seq) { + //cerr << "interrogate_make_seq_comment(" << make_seq << ")\n"; + return InterrogateDatabase::get_ptr()->get_make_seq(make_seq).get_comment().c_str(); +} + const char * interrogate_make_seq_num_name(MakeSeqIndex make_seq) { //cerr << "interrogate_make_seq_num_name(" << make_seq << ")\n"; - static string result; - result = InterrogateDatabase::get_ptr()->get_make_seq(make_seq).get_num_name(); - return result.c_str(); + FunctionIndex function = InterrogateDatabase::get_ptr()->get_make_seq(make_seq).get_length_getter(); + return interrogate_function_name(function); } const char * interrogate_make_seq_element_name(MakeSeqIndex make_seq) { //cerr << "interrogate_make_seq_element_name(" << make_seq << ")\n"; static string result; - result = InterrogateDatabase::get_ptr()->get_make_seq(make_seq).get_element_name(); - return result.c_str(); + FunctionIndex function = InterrogateDatabase::get_ptr()->get_make_seq(make_seq).get_element_getter(); + return interrogate_function_name(function); } int diff --git a/dtool/src/interrogatedb/interrogate_interface.h b/dtool/src/interrogatedb/interrogate_interface.h index 9cbe879339..104fbd75a6 100644 --- a/dtool/src/interrogatedb/interrogate_interface.h +++ b/dtool/src/interrogatedb/interrogate_interface.h @@ -363,11 +363,10 @@ EXPCL_INTERROGATEDB FunctionWrapperIndex interrogate_get_wrapper_by_unique_name( // and get_thing(n) are used to synthesize a new method called // get_things(). -// The class of which the make_seq is a method. -EXPCL_INTERROGATEDB TypeIndex interrogate_make_seq_class(MakeSeqIndex make_seq); - -// The name of the syntheized method, e.g. "get_things" EXPCL_INTERROGATEDB const char *interrogate_make_seq_seq_name(MakeSeqIndex make_seq); +EXPCL_INTERROGATEDB const char *interrogate_make_seq_scoped_name(MakeSeqIndex make_seq); +EXPCL_INTERROGATEDB bool interrogate_make_seq_has_comment(ElementIndex element); +EXPCL_INTERROGATEDB const char *interrogate_make_seq_comment(ElementIndex element); // The name of the real method that returns the length, e.g. "get_num_things" EXPCL_INTERROGATEDB const char *interrogate_make_seq_num_name(MakeSeqIndex make_seq); // The name of the real method that returns the nth element, e.g. "get_thing" diff --git a/panda/src/parametrics/nurbsCurveResult.h b/panda/src/parametrics/nurbsCurveResult.h index 269ce6ba40..bbd890dd12 100644 --- a/panda/src/parametrics/nurbsCurveResult.h +++ b/panda/src/parametrics/nurbsCurveResult.h @@ -67,7 +67,7 @@ PUBLISHED: INLINE PN_stdfloat get_sample_t(int n) const; INLINE const LPoint3 &get_sample_point(int n) const; MAKE_SEQ(get_sample_ts, get_num_samples, get_sample_t); - MAKE_SEQ(get_sample_points, get_num_samples, get_sample_points); + MAKE_SEQ(get_sample_points, get_num_samples, get_sample_point); private: int find_segment(PN_stdfloat t);