From df4c4bc2500d93253e33e634f7c00cd7d3452ed9 Mon Sep 17 00:00:00 2001 From: rdb Date: Thu, 19 Nov 2015 18:35:29 +0100 Subject: [PATCH] Fix various cppparser issues parsing the VRPN headers --- dtool/src/cppparser/cppBison.cxx.prebuilt | 3239 ++++++++++----------- dtool/src/cppparser/cppBison.yxx | 36 +- dtool/src/cppparser/cppScope.cxx | 27 +- 3 files changed, 1626 insertions(+), 1676 deletions(-) diff --git a/dtool/src/cppparser/cppBison.cxx.prebuilt b/dtool/src/cppparser/cppBison.cxx.prebuilt index 058d1dc791..3eb1fb147d 100644 --- a/dtool/src/cppparser/cppBison.cxx.prebuilt +++ b/dtool/src/cppparser/cppBison.cxx.prebuilt @@ -772,16 +772,16 @@ union yyalloc /* YYFINAL -- State number of the termination state. */ #define YYFINAL 73 /* YYLAST -- Last index in YYTABLE. */ -#define YYLAST 3636 +#define YYLAST 3646 /* YYNTOKENS -- Number of terminals. */ #define YYNTOKENS 131 /* YYNNTS -- Number of nonterminals. */ #define YYNNTS 93 /* YYNRULES -- Number of rules. */ -#define YYNRULES 548 +#define YYNRULES 550 /* YYNRULES -- Number of states. */ -#define YYNSTATES 993 +#define YYNSTATES 995 /* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX. */ #define YYUNDEFTOK 2 @@ -877,21 +877,22 @@ static const yytype_uint16 yyprhs[] = 1070, 1072, 1074, 1076, 1078, 1080, 1082, 1084, 1086, 1088, 1090, 1092, 1094, 1096, 1098, 1100, 1102, 1104, 1106, 1108, 1110, 1112, 1114, 1116, 1118, 1120, 1122, 1124, 1126, 1128, - 1130, 1132, 1134, 1138, 1140, 1142, 1144, 1146, 1148, 1152, - 1154, 1159, 1167, 1175, 1180, 1183, 1186, 1189, 1192, 1195, - 1199, 1203, 1207, 1211, 1215, 1219, 1223, 1227, 1231, 1235, - 1239, 1243, 1247, 1251, 1255, 1259, 1265, 1270, 1275, 1279, - 1283, 1287, 1291, 1293, 1298, 1306, 1314, 1319, 1324, 1329, - 1334, 1339, 1344, 1349, 1354, 1359, 1364, 1369, 1374, 1379, - 1384, 1387, 1393, 1396, 1399, 1402, 1405, 1408, 1412, 1416, - 1420, 1424, 1428, 1432, 1436, 1440, 1444, 1448, 1452, 1456, - 1460, 1464, 1468, 1472, 1476, 1480, 1486, 1491, 1496, 1500, - 1504, 1508, 1512, 1514, 1516, 1518, 1520, 1522, 1524, 1526, - 1528, 1533, 1541, 1549, 1554, 1557, 1563, 1566, 1569, 1572, - 1575, 1579, 1583, 1587, 1591, 1595, 1599, 1603, 1607, 1611, - 1615, 1619, 1623, 1627, 1631, 1635, 1639, 1643, 1647, 1653, - 1658, 1663, 1667, 1671, 1675, 1679, 1681, 1683, 1685, 1687, - 1689, 1691, 1693, 1696, 1699, 1701, 1703, 1705, 1708 + 1130, 1132, 1134, 1136, 1138, 1142, 1144, 1146, 1148, 1150, + 1152, 1156, 1158, 1163, 1171, 1179, 1184, 1187, 1190, 1193, + 1196, 1199, 1203, 1207, 1211, 1215, 1219, 1223, 1227, 1231, + 1235, 1239, 1243, 1247, 1251, 1255, 1259, 1263, 1269, 1274, + 1279, 1283, 1287, 1291, 1295, 1297, 1302, 1310, 1318, 1323, + 1328, 1333, 1338, 1343, 1348, 1353, 1358, 1363, 1368, 1373, + 1378, 1383, 1388, 1391, 1397, 1400, 1403, 1406, 1409, 1412, + 1416, 1420, 1424, 1428, 1432, 1436, 1440, 1444, 1448, 1452, + 1456, 1460, 1464, 1468, 1472, 1476, 1480, 1484, 1490, 1495, + 1500, 1504, 1508, 1512, 1516, 1518, 1520, 1522, 1524, 1526, + 1528, 1530, 1532, 1537, 1545, 1553, 1558, 1561, 1567, 1570, + 1573, 1576, 1579, 1583, 1587, 1591, 1595, 1599, 1603, 1607, + 1611, 1615, 1619, 1623, 1627, 1631, 1635, 1639, 1643, 1647, + 1651, 1657, 1662, 1667, 1671, 1675, 1679, 1683, 1685, 1687, + 1689, 1691, 1693, 1695, 1697, 1700, 1703, 1705, 1707, 1709, + 1712 }; /* YYRHS -- A `-1'-separated list of the rules' RHS. */ @@ -997,77 +998,78 @@ static const yytype_int16 yyrhs[] = 33, -1, 34, -1, 35, -1, 36, -1, 37, -1, 38, -1, 39, -1, 40, -1, 41, -1, 42, -1, 45, -1, 46, -1, 47, -1, 48, -1, 49, -1, - 102, -1, 50, -1, 51, -1, 52, -1, 53, -1, - 54, -1, 55, -1, 57, -1, 59, -1, 60, -1, - 62, -1, 63, -1, 64, -1, 65, -1, 66, -1, - 67, -1, 68, -1, 69, -1, 70, -1, 74, -1, - 76, -1, 79, -1, 80, -1, 81, -1, 61, -1, - 82, -1, 83, -1, 84, -1, 85, -1, 86, -1, - 87, -1, 88, -1, 89, -1, 91, -1, 92, -1, - 93, -1, 94, -1, 95, -1, 96, -1, 97, -1, - 99, -1, 100, -1, 101, -1, 103, -1, 78, -1, - 118, -1, 119, -1, 120, -1, 121, -1, 115, -1, - 113, -1, 114, -1, 129, -1, 123, -1, 111, -1, - 122, -1, 116, -1, 117, -1, 125, -1, 127, -1, - 124, -1, 108, -1, 109, -1, 110, -1, 126, -1, - 130, -1, 112, -1, 107, 210, 128, -1, 223, -1, - 216, -1, 223, -1, 214, -1, 216, -1, 214, 108, - 216, -1, 217, -1, 125, 186, 127, 215, -1, 88, - 116, 186, 117, 125, 214, 127, -1, 54, 116, 186, - 117, 125, 214, 127, -1, 86, 125, 186, 127, -1, - 129, 215, -1, 123, 215, -1, 119, 215, -1, 120, - 215, -1, 115, 215, -1, 215, 120, 215, -1, 215, - 121, 215, -1, 215, 122, 215, -1, 215, 118, 215, - -1, 215, 119, 215, -1, 215, 113, 215, -1, 215, - 114, 215, -1, 215, 115, 215, -1, 215, 13, 215, - -1, 215, 14, 215, -1, 215, 15, 215, -1, 215, - 16, 215, -1, 215, 17, 215, -1, 215, 18, 215, - -1, 215, 19, 215, -1, 215, 20, 215, -1, 215, - 112, 215, 110, 215, -1, 215, 126, 216, 130, -1, - 215, 125, 214, 127, -1, 215, 125, 127, -1, 215, - 124, 215, -1, 215, 29, 215, -1, 125, 214, 127, - -1, 217, -1, 125, 186, 127, 216, -1, 88, 116, - 186, 117, 125, 214, 127, -1, 54, 116, 186, 117, - 125, 214, 127, -1, 9, 125, 213, 127, -1, 69, - 125, 213, 127, -1, 47, 125, 213, 127, -1, 102, - 125, 213, 127, -1, 48, 125, 213, 127, -1, 49, - 125, 213, 127, -1, 45, 125, 213, 127, -1, 84, - 125, 213, 127, -1, 70, 125, 213, 127, -1, 97, - 125, 213, 127, -1, 85, 125, 213, 127, -1, 63, - 125, 213, 127, -1, 53, 125, 213, 127, -1, 86, - 125, 186, 127, -1, 76, 185, -1, 76, 185, 125, - 213, 127, -1, 129, 216, -1, 123, 216, -1, 119, - 216, -1, 120, 216, -1, 115, 216, -1, 216, 120, - 216, -1, 216, 121, 216, -1, 216, 122, 216, -1, - 216, 118, 216, -1, 216, 119, 216, -1, 216, 113, - 216, -1, 216, 114, 216, -1, 216, 115, 216, -1, - 216, 13, 216, -1, 216, 14, 216, -1, 216, 15, - 216, -1, 216, 16, 216, -1, 216, 17, 216, -1, - 216, 18, 216, -1, 216, 116, 216, -1, 216, 117, - 216, -1, 216, 19, 216, -1, 216, 20, 216, -1, - 216, 112, 216, 110, 216, -1, 216, 126, 216, 130, - -1, 216, 125, 214, 127, -1, 216, 125, 127, -1, - 216, 124, 216, -1, 216, 29, 216, -1, 125, 214, - 127, -1, 4, -1, 92, -1, 62, -1, 5, -1, - 3, -1, 222, -1, 8, -1, 219, -1, 125, 186, - 127, 216, -1, 88, 116, 186, 117, 125, 214, 127, + 50, -1, 51, -1, 52, -1, 53, -1, 54, -1, + 55, -1, 57, -1, 59, -1, 60, -1, 62, -1, + 63, -1, 64, -1, 65, -1, 66, -1, 67, -1, + 68, -1, 69, -1, 70, -1, 74, -1, 75, -1, + 76, -1, 78, -1, 79, -1, 80, -1, 81, -1, + 61, -1, 82, -1, 83, -1, 84, -1, 85, -1, + 86, -1, 87, -1, 88, -1, 89, -1, 91, -1, + 92, -1, 93, -1, 94, -1, 95, -1, 96, -1, + 97, -1, 98, -1, 99, -1, 100, -1, 101, -1, + 102, -1, 103, -1, 118, -1, 119, -1, 120, -1, + 121, -1, 115, -1, 113, -1, 114, -1, 129, -1, + 123, -1, 111, -1, 122, -1, 116, -1, 117, -1, + 125, -1, 127, -1, 124, -1, 108, -1, 109, -1, + 110, -1, 126, -1, 130, -1, 112, -1, 107, 210, + 128, -1, 223, -1, 216, -1, 223, -1, 214, -1, + 216, -1, 214, 108, 216, -1, 217, -1, 125, 186, + 127, 215, -1, 88, 116, 186, 117, 125, 214, 127, -1, 54, 116, 186, 117, 125, 214, 127, -1, 86, - 125, 186, 127, -1, 76, 185, -1, 76, 185, 125, - 213, 127, -1, 129, 216, -1, 123, 216, -1, 119, - 216, -1, 115, 216, -1, 218, 120, 216, -1, 218, - 121, 216, -1, 218, 122, 216, -1, 218, 118, 216, - -1, 218, 119, 216, -1, 218, 113, 216, -1, 218, - 114, 216, -1, 218, 115, 216, -1, 218, 13, 216, - -1, 218, 14, 216, -1, 218, 15, 216, -1, 218, - 16, 216, -1, 218, 17, 216, -1, 218, 18, 216, - -1, 218, 116, 216, -1, 218, 117, 216, -1, 218, - 19, 216, -1, 218, 20, 216, -1, 218, 112, 216, - 110, 216, -1, 218, 126, 216, 130, -1, 218, 125, - 214, 127, -1, 218, 125, 127, -1, 218, 124, 216, - -1, 218, 29, 216, -1, 125, 214, 127, -1, 4, - -1, 92, -1, 62, -1, 5, -1, 3, -1, 222, - -1, 221, -1, 200, 221, -1, 95, 221, -1, 8, - -1, 9, -1, 6, -1, 222, 6, -1, -1 + 125, 186, 127, -1, 129, 215, -1, 123, 215, -1, + 119, 215, -1, 120, 215, -1, 115, 215, -1, 215, + 120, 215, -1, 215, 121, 215, -1, 215, 122, 215, + -1, 215, 118, 215, -1, 215, 119, 215, -1, 215, + 113, 215, -1, 215, 114, 215, -1, 215, 115, 215, + -1, 215, 13, 215, -1, 215, 14, 215, -1, 215, + 15, 215, -1, 215, 16, 215, -1, 215, 17, 215, + -1, 215, 18, 215, -1, 215, 19, 215, -1, 215, + 20, 215, -1, 215, 112, 215, 110, 215, -1, 215, + 126, 216, 130, -1, 215, 125, 214, 127, -1, 215, + 125, 127, -1, 215, 124, 215, -1, 215, 29, 215, + -1, 125, 214, 127, -1, 217, -1, 125, 186, 127, + 216, -1, 88, 116, 186, 117, 125, 214, 127, -1, + 54, 116, 186, 117, 125, 214, 127, -1, 9, 125, + 213, 127, -1, 69, 125, 213, 127, -1, 47, 125, + 213, 127, -1, 102, 125, 213, 127, -1, 48, 125, + 213, 127, -1, 49, 125, 213, 127, -1, 45, 125, + 213, 127, -1, 84, 125, 213, 127, -1, 70, 125, + 213, 127, -1, 97, 125, 213, 127, -1, 85, 125, + 213, 127, -1, 63, 125, 213, 127, -1, 53, 125, + 213, 127, -1, 86, 125, 186, 127, -1, 76, 185, + -1, 76, 185, 125, 213, 127, -1, 129, 216, -1, + 123, 216, -1, 119, 216, -1, 120, 216, -1, 115, + 216, -1, 216, 120, 216, -1, 216, 121, 216, -1, + 216, 122, 216, -1, 216, 118, 216, -1, 216, 119, + 216, -1, 216, 113, 216, -1, 216, 114, 216, -1, + 216, 115, 216, -1, 216, 13, 216, -1, 216, 14, + 216, -1, 216, 15, 216, -1, 216, 16, 216, -1, + 216, 17, 216, -1, 216, 18, 216, -1, 216, 116, + 216, -1, 216, 117, 216, -1, 216, 19, 216, -1, + 216, 20, 216, -1, 216, 112, 216, 110, 216, -1, + 216, 126, 216, 130, -1, 216, 125, 214, 127, -1, + 216, 125, 127, -1, 216, 124, 216, -1, 216, 29, + 216, -1, 125, 214, 127, -1, 4, -1, 92, -1, + 62, -1, 5, -1, 3, -1, 222, -1, 8, -1, + 219, -1, 125, 186, 127, 216, -1, 88, 116, 186, + 117, 125, 214, 127, -1, 54, 116, 186, 117, 125, + 214, 127, -1, 86, 125, 186, 127, -1, 76, 185, + -1, 76, 185, 125, 213, 127, -1, 129, 216, -1, + 123, 216, -1, 119, 216, -1, 115, 216, -1, 218, + 120, 216, -1, 218, 121, 216, -1, 218, 122, 216, + -1, 218, 118, 216, -1, 218, 119, 216, -1, 218, + 113, 216, -1, 218, 114, 216, -1, 218, 115, 216, + -1, 218, 13, 216, -1, 218, 14, 216, -1, 218, + 15, 216, -1, 218, 16, 216, -1, 218, 17, 216, + -1, 218, 18, 216, -1, 218, 116, 216, -1, 218, + 117, 216, -1, 218, 19, 216, -1, 218, 20, 216, + -1, 218, 112, 216, 110, 216, -1, 218, 126, 216, + 130, -1, 218, 125, 214, 127, -1, 218, 125, 127, + -1, 218, 124, 216, -1, 218, 29, 216, -1, 125, + 214, 127, -1, 4, -1, 92, -1, 62, -1, 5, + -1, 3, -1, 222, -1, 221, -1, 200, 221, -1, + 95, 221, -1, 8, -1, 9, -1, 6, -1, 222, + 6, -1, -1 }; /* YYRLINE[YYN] -- source line where rule number YYN was defined. */ @@ -1102,32 +1104,33 @@ static const yytype_uint16 yyrline[] = 1940, 1947, 1951, 1955, 1963, 1962, 1984, 1988, 1994, 2003, 2004, 2005, 2009, 2013, 2017, 2021, 2025, 2029, 2034, 2039, 2044, 2049, 2054, 2058, 2063, 2072, 2077, 2085, 2089, 2094, - 2098, 2103, 2111, 2121, 2121, 2131, 2132, 2136, 2139, 2142, - 2145, 2148, 2151, 2154, 2157, 2160, 2160, 2160, 2161, 2161, - 2161, 2161, 2162, 2162, 2162, 2162, 2162, 2163, 2163, 2163, - 2164, 2164, 2164, 2164, 2164, 2165, 2165, 2165, 2165, 2165, - 2166, 2166, 2166, 2166, 2166, 2167, 2167, 2167, 2168, 2168, - 2168, 2168, 2168, 2169, 2169, 2169, 2170, 2170, 2170, 2170, - 2171, 2171, 2171, 2172, 2172, 2172, 2172, 2172, 2173, 2173, - 2173, 2173, 2174, 2174, 2174, 2174, 2174, 2175, 2175, 2175, - 2175, 2175, 2175, 2176, 2176, 2176, 2176, 2176, 2177, 2178, - 2181, 2181, 2181, 2181, 2181, 2181, 2181, 2181, 2181, 2181, - 2181, 2182, 2182, 2182, 2182, 2182, 2182, 2182, 2182, 2182, - 2182, 2183, 2183, 2187, 2191, 2198, 2202, 2209, 2213, 2220, - 2224, 2228, 2232, 2236, 2240, 2244, 2248, 2260, 2264, 2268, - 2272, 2276, 2280, 2284, 2288, 2292, 2296, 2300, 2304, 2308, - 2312, 2316, 2320, 2324, 2328, 2332, 2336, 2340, 2344, 2348, - 2352, 2356, 2364, 2368, 2372, 2376, 2380, 2387, 2393, 2399, - 2405, 2411, 2417, 2423, 2430, 2437, 2444, 2451, 2457, 2463, - 2467, 2471, 2475, 2479, 2483, 2495, 2499, 2503, 2507, 2511, - 2515, 2519, 2523, 2527, 2531, 2535, 2539, 2543, 2547, 2551, - 2555, 2559, 2563, 2567, 2571, 2575, 2579, 2583, 2587, 2591, - 2595, 2599, 2606, 2610, 2614, 2618, 2622, 2626, 2630, 2644, - 2648, 2652, 2656, 2660, 2664, 2668, 2672, 2676, 2680, 2692, - 2696, 2700, 2704, 2708, 2712, 2716, 2720, 2724, 2728, 2732, - 2736, 2740, 2744, 2748, 2752, 2756, 2760, 2764, 2768, 2772, - 2776, 2780, 2784, 2788, 2792, 2799, 2803, 2807, 2811, 2815, - 2819, 2826, 2834, 2842, 2865, 2869, 2876, 2880, 2886 + 2098, 2103, 2111, 2121, 2121, 2131, 2132, 2136, 2137, 2138, + 2139, 2140, 2141, 2142, 2143, 2144, 2144, 2144, 2145, 2145, + 2145, 2145, 2146, 2146, 2146, 2146, 2146, 2147, 2147, 2147, + 2148, 2148, 2148, 2148, 2148, 2149, 2149, 2149, 2149, 2149, + 2150, 2150, 2151, 2151, 2151, 2152, 2152, 2153, 2153, 2153, + 2153, 2153, 2154, 2154, 2154, 2155, 2155, 2155, 2155, 2155, + 2155, 2156, 2156, 2156, 2156, 2157, 2157, 2157, 2157, 2158, + 2158, 2158, 2158, 2159, 2159, 2159, 2159, 2160, 2160, 2160, + 2160, 2160, 2161, 2161, 2161, 2161, 2161, 2162, 2162, 2162, + 2162, 2162, 2165, 2165, 2165, 2165, 2165, 2165, 2165, 2165, + 2165, 2165, 2165, 2166, 2166, 2166, 2166, 2166, 2166, 2166, + 2166, 2166, 2166, 2167, 2167, 2171, 2175, 2182, 2186, 2193, + 2197, 2204, 2208, 2212, 2216, 2220, 2224, 2228, 2232, 2244, + 2248, 2252, 2256, 2260, 2264, 2268, 2272, 2276, 2280, 2284, + 2288, 2292, 2296, 2300, 2304, 2308, 2312, 2316, 2320, 2324, + 2328, 2332, 2336, 2340, 2348, 2352, 2356, 2360, 2364, 2371, + 2377, 2383, 2389, 2395, 2401, 2407, 2414, 2421, 2428, 2435, + 2441, 2447, 2451, 2455, 2459, 2463, 2467, 2479, 2483, 2487, + 2491, 2495, 2499, 2503, 2507, 2511, 2515, 2519, 2523, 2527, + 2531, 2535, 2539, 2543, 2547, 2551, 2555, 2559, 2563, 2567, + 2571, 2575, 2579, 2583, 2590, 2594, 2598, 2602, 2606, 2610, + 2614, 2628, 2632, 2636, 2640, 2644, 2648, 2652, 2656, 2660, + 2664, 2676, 2680, 2684, 2688, 2692, 2696, 2700, 2704, 2708, + 2712, 2716, 2720, 2724, 2728, 2732, 2736, 2740, 2744, 2748, + 2752, 2756, 2760, 2764, 2768, 2772, 2776, 2783, 2787, 2791, + 2795, 2799, 2803, 2810, 2818, 2826, 2849, 2853, 2860, 2864, + 2870 }; #endif @@ -1255,21 +1258,22 @@ static const yytype_uint8 yyr1[] = 211, 211, 211, 211, 211, 211, 211, 211, 211, 211, 211, 211, 211, 211, 211, 211, 211, 211, 211, 211, 211, 211, 211, 211, 211, 211, 211, 211, 211, 211, - 211, 211, 211, 212, 212, 213, 213, 214, 214, 215, + 211, 211, 211, 211, 211, 212, 212, 213, 213, 214, + 214, 215, 215, 215, 215, 215, 215, 215, 215, 215, 215, 215, 215, 215, 215, 215, 215, 215, 215, 215, 215, 215, 215, 215, 215, 215, 215, 215, 215, 215, - 215, 215, 215, 215, 215, 215, 215, 215, 215, 215, - 215, 215, 216, 216, 216, 216, 216, 216, 216, 216, + 215, 215, 215, 215, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, - 216, 216, 217, 217, 217, 217, 217, 217, 217, 218, + 216, 216, 216, 216, 217, 217, 217, 217, 217, 217, + 217, 218, 218, 218, 218, 218, 218, 218, 218, 218, 218, 218, 218, 218, 218, 218, 218, 218, 218, 218, 218, 218, 218, 218, 218, 218, 218, 218, 218, 218, - 218, 218, 218, 218, 218, 218, 218, 218, 218, 218, - 218, 218, 218, 218, 218, 219, 219, 219, 219, 219, - 219, 220, 220, 220, 221, 221, 222, 222, 223 + 218, 218, 218, 218, 218, 218, 218, 219, 219, 219, + 219, 219, 219, 220, 220, 220, 221, 221, 222, 222, + 223 }; /* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN. */ @@ -1315,21 +1319,22 @@ static const yytype_uint8 yyr2[] = 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 3, 1, 1, 1, 1, 1, 3, 1, - 4, 7, 7, 4, 2, 2, 2, 2, 2, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 5, 4, 4, 3, 3, - 3, 3, 1, 4, 7, 7, 4, 4, 4, 4, + 1, 1, 1, 1, 3, 1, 1, 1, 1, 1, + 3, 1, 4, 7, 7, 4, 2, 2, 2, 2, + 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 5, 4, 4, + 3, 3, 3, 3, 1, 4, 7, 7, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, - 2, 5, 2, 2, 2, 2, 2, 3, 3, 3, + 4, 4, 2, 5, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 5, 4, 4, 3, 3, - 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, - 4, 7, 7, 4, 2, 5, 2, 2, 2, 2, + 3, 3, 3, 3, 3, 3, 3, 5, 4, 4, + 3, 3, 3, 3, 1, 1, 1, 1, 1, 1, + 1, 1, 4, 7, 7, 4, 2, 5, 2, 2, + 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 5, 4, - 4, 3, 3, 3, 3, 1, 1, 1, 1, 1, - 1, 1, 2, 2, 1, 1, 1, 2, 0 + 5, 4, 4, 3, 3, 3, 3, 1, 1, 1, + 1, 1, 1, 1, 2, 2, 1, 1, 1, 2, + 0 }; /* YYDEFACT[STATE-NAME] -- Default reduction number in state STATE-NUM. @@ -1337,106 +1342,106 @@ static const yytype_uint8 yyr2[] = means the default is an error. */ static const yytype_uint16 yydefact[] = { - 0, 548, 0, 0, 0, 548, 5, 496, 492, 495, - 546, 498, 0, 0, 0, 0, 0, 0, 0, 494, - 0, 0, 0, 0, 0, 0, 0, 0, 493, 0, - 0, 0, 0, 0, 0, 0, 0, 3, 442, 497, + 0, 550, 0, 0, 0, 550, 5, 498, 494, 497, + 548, 500, 0, 0, 0, 0, 0, 0, 0, 496, + 0, 0, 0, 0, 0, 0, 0, 0, 495, 0, + 0, 0, 0, 0, 0, 0, 0, 3, 444, 499, 207, 272, 273, 275, 276, 261, 0, 289, 260, 287, 282, 278, 279, 277, 281, 262, 0, 263, 280, 292, - 274, 548, 4, 209, 210, 211, 0, 251, 0, 206, + 274, 550, 4, 209, 210, 211, 0, 251, 0, 206, 269, 270, 271, 1, 20, 21, 0, 29, 0, 0, - 0, 0, 0, 0, 124, 548, 0, 6, 15, 7, - 18, 0, 13, 43, 14, 16, 17, 31, 548, 548, - 548, 548, 548, 548, 0, 548, 548, 548, 224, 0, - 460, 0, 0, 223, 548, 548, 0, 0, 548, 548, - 466, 464, 465, 463, 207, 272, 273, 275, 276, 289, - 287, 282, 278, 277, 281, 280, 274, 0, 0, 407, - 462, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 124, 550, 0, 6, 15, 7, + 18, 0, 13, 43, 14, 16, 17, 31, 550, 550, + 550, 550, 550, 550, 0, 550, 550, 550, 224, 0, + 462, 0, 0, 223, 550, 550, 0, 0, 550, 550, + 468, 466, 467, 465, 207, 272, 273, 275, 276, 289, + 287, 282, 278, 277, 281, 280, 274, 0, 0, 409, + 464, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 547, 548, 291, 288, 278, 284, - 278, 283, 286, 544, 545, 208, 285, 0, 548, 548, - 548, 548, 548, 228, 198, 548, 0, 249, 230, 212, - 22, 548, 0, 0, 548, 0, 25, 24, 23, 0, + 0, 0, 0, 0, 549, 550, 291, 288, 278, 284, + 278, 283, 286, 546, 547, 208, 285, 0, 550, 550, + 550, 550, 550, 228, 198, 550, 0, 249, 230, 212, + 22, 550, 0, 0, 550, 0, 25, 24, 23, 0, 0, 19, 0, 267, 77, 215, 41, 0, 42, 32, 37, 35, 39, 0, 40, 34, 0, 36, 38, 11, 0, 0, 46, 217, 218, 219, 251, 0, 214, 0, - 406, 405, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 225, 548, 227, 226, 0, 0, 0, 0, 0, - 0, 0, 0, 491, 475, 476, 477, 478, 479, 480, - 483, 484, 490, 0, 472, 473, 474, 481, 482, 470, - 471, 467, 468, 469, 489, 488, 0, 0, 229, 290, - 548, 202, 199, 201, 200, 0, 548, 257, 0, 254, - 253, 250, 252, 0, 548, 548, 30, 0, 0, 548, - 264, 548, 0, 0, 54, 268, 63, 65, 48, 33, - 0, 548, 216, 548, 0, 293, 162, 0, 0, 45, - 44, 0, 222, 220, 446, 452, 448, 450, 451, 458, - 0, 457, 447, 454, 0, 453, 456, 459, 0, 455, - 449, 443, 408, 0, 487, 486, 203, 0, 0, 404, - 403, 258, 247, 213, 548, 0, 0, 235, 234, 0, - 0, 266, 548, 137, 138, 0, 0, 0, 0, 127, - 128, 548, 136, 126, 56, 58, 0, 548, 0, 0, - 548, 0, 548, 179, 180, 0, 548, 548, 548, 548, - 0, 178, 548, 67, 0, 548, 0, 8, 0, 548, - 0, 0, 0, 0, 0, 0, 0, 0, 47, 548, - 139, 0, 0, 461, 0, 485, 548, 204, 255, 0, - 231, 0, 0, 0, 0, 236, 548, 0, 0, 0, - 548, 130, 548, 132, 548, 0, 188, 189, 0, 548, - 548, 548, 548, 548, 548, 187, 0, 55, 548, 539, - 535, 538, 548, 152, 0, 0, 537, 0, 0, 0, - 536, 0, 0, 0, 0, 0, 0, 153, 156, 548, - 177, 499, 540, 151, 0, 0, 0, 49, 548, 0, - 548, 184, 181, 183, 182, 73, 548, 12, 548, 163, - 294, 295, 293, 0, 548, 548, 0, 168, 170, 167, + 408, 407, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 225, 550, 227, 226, 0, 0, 0, 0, 0, + 0, 0, 0, 493, 477, 478, 479, 480, 481, 482, + 485, 486, 492, 0, 474, 475, 476, 483, 484, 472, + 473, 469, 470, 471, 491, 490, 0, 0, 229, 290, + 550, 202, 199, 201, 200, 0, 550, 257, 0, 254, + 253, 250, 252, 0, 550, 550, 30, 0, 0, 550, + 264, 550, 0, 0, 54, 268, 63, 65, 48, 33, + 0, 550, 216, 550, 0, 293, 162, 0, 0, 45, + 44, 0, 222, 220, 448, 454, 450, 452, 453, 460, + 0, 459, 449, 456, 0, 455, 458, 461, 0, 457, + 451, 445, 410, 0, 489, 488, 203, 0, 0, 406, + 405, 258, 247, 213, 550, 0, 0, 235, 234, 0, + 0, 266, 550, 137, 138, 0, 0, 0, 0, 127, + 128, 550, 136, 126, 56, 58, 0, 550, 0, 0, + 550, 0, 550, 179, 180, 0, 550, 550, 550, 550, + 0, 178, 550, 67, 0, 550, 0, 8, 0, 550, + 0, 0, 0, 0, 0, 0, 0, 0, 47, 550, + 139, 0, 0, 463, 0, 487, 550, 204, 255, 0, + 231, 0, 0, 0, 0, 236, 550, 0, 0, 0, + 550, 130, 550, 132, 550, 0, 188, 189, 0, 550, + 550, 550, 550, 550, 550, 187, 0, 55, 550, 541, + 537, 540, 550, 152, 0, 0, 539, 0, 0, 0, + 538, 0, 0, 0, 0, 0, 0, 153, 156, 550, + 177, 501, 542, 151, 0, 0, 0, 49, 550, 0, + 550, 184, 181, 183, 182, 73, 550, 12, 550, 163, + 294, 295, 293, 0, 550, 550, 0, 168, 170, 167, 165, 0, 144, 141, 93, 94, 95, 96, 97, 98, 101, 102, 117, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 121, 120, 104, 103, 90, 92, 91, 99, 100, 88, 89, 85, 86, 87, 84, 0, 0, 83, 140, 143, 142, 0, 0, 0, 149, - 548, 0, 50, 160, 221, 0, 0, 0, 259, 0, - 0, 0, 240, 541, 0, 239, 0, 238, 0, 0, - 0, 548, 237, 0, 0, 0, 265, 0, 548, 0, - 0, 122, 125, 123, 129, 548, 193, 190, 192, 191, - 0, 0, 548, 134, 158, 57, 548, 0, 59, 548, - 548, 0, 504, 0, 0, 509, 508, 507, 0, 0, - 506, 548, 155, 0, 548, 0, 0, 0, 0, 0, + 550, 0, 50, 160, 221, 0, 0, 0, 259, 0, + 0, 0, 240, 543, 0, 239, 0, 238, 0, 0, + 0, 550, 237, 0, 0, 0, 265, 0, 550, 0, + 0, 122, 125, 123, 129, 550, 193, 190, 192, 191, + 0, 0, 550, 134, 158, 57, 550, 0, 59, 550, + 550, 0, 506, 0, 0, 511, 510, 509, 0, 0, + 508, 550, 155, 0, 550, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 548, 0, 52, 75, 185, 548, 0, 0, 297, + 0, 550, 0, 52, 75, 185, 550, 0, 0, 297, 298, 300, 299, 304, 301, 302, 303, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, - 328, 329, 330, 331, 332, 333, 334, 336, 337, 338, - 339, 340, 341, 342, 343, 344, 359, 345, 346, 347, - 348, 349, 350, 351, 352, 353, 354, 355, 379, 356, - 357, 358, 360, 361, 362, 363, 364, 365, 366, 367, + 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, + 338, 339, 340, 341, 342, 343, 360, 344, 345, 346, + 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, + 357, 358, 359, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, - 335, 378, 548, 396, 397, 398, 389, 401, 385, 386, - 384, 391, 392, 380, 381, 382, 383, 390, 388, 395, - 393, 399, 394, 387, 400, 296, 0, 9, 0, 0, - 166, 169, 145, 119, 118, 148, 147, 161, 548, 0, - 0, 445, 444, 548, 256, 543, 246, 542, 245, 244, - 243, 242, 241, 233, 0, 26, 0, 131, 135, 133, - 194, 197, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 159, 409, 0, 0, 61, 0, 0, 175, 548, - 0, 548, 0, 0, 0, 534, 79, 64, 78, 154, - 157, 174, 518, 519, 520, 521, 522, 523, 526, 527, - 533, 0, 515, 516, 517, 524, 525, 513, 514, 510, - 511, 512, 532, 531, 0, 0, 0, 69, 66, 0, - 548, 0, 186, 548, 0, 164, 10, 171, 548, 172, - 0, 146, 51, 205, 0, 0, 548, 0, 0, 0, - 418, 416, 417, 415, 0, 0, 414, 0, 0, 0, + 378, 379, 380, 381, 550, 398, 399, 400, 391, 403, + 387, 388, 386, 393, 394, 382, 383, 384, 385, 392, + 390, 397, 395, 401, 396, 389, 402, 296, 0, 9, + 0, 0, 166, 169, 145, 119, 118, 148, 147, 161, + 550, 0, 0, 447, 446, 550, 256, 545, 246, 544, + 245, 244, 243, 242, 241, 233, 0, 26, 0, 131, + 135, 133, 194, 197, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 159, 411, 0, 0, 61, 0, 0, + 175, 550, 0, 550, 0, 0, 0, 536, 79, 64, + 78, 154, 157, 174, 520, 521, 522, 523, 524, 525, + 528, 529, 535, 0, 517, 518, 519, 526, 527, 515, + 516, 512, 513, 514, 534, 533, 0, 0, 0, 69, + 66, 0, 550, 0, 186, 550, 0, 164, 10, 171, + 550, 172, 0, 146, 51, 205, 0, 0, 550, 0, + 0, 0, 420, 418, 419, 417, 0, 0, 416, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 195, 0, - 60, 161, 176, 0, 0, 503, 0, 500, 80, 0, - 0, 530, 529, 71, 548, 53, 0, 548, 68, 402, - 0, 548, 27, 28, 0, 0, 0, 0, 0, 441, - 427, 428, 429, 430, 431, 432, 433, 434, 440, 0, - 424, 425, 426, 422, 423, 419, 420, 421, 439, 438, - 0, 0, 62, 0, 505, 0, 0, 528, 548, 0, - 548, 74, 173, 150, 548, 0, 413, 0, 410, 0, - 437, 436, 0, 0, 81, 0, 0, 548, 76, 196, - 0, 0, 435, 502, 501, 82, 548, 70, 0, 0, - 72, 412, 411 + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 195, 0, 60, 161, 176, 0, 0, 505, 0, 502, + 80, 0, 0, 532, 531, 71, 550, 53, 0, 550, + 68, 404, 0, 550, 27, 28, 0, 0, 0, 0, + 0, 443, 429, 430, 431, 432, 433, 434, 435, 436, + 442, 0, 426, 427, 428, 424, 425, 421, 422, 423, + 441, 440, 0, 0, 62, 0, 507, 0, 0, 530, + 550, 0, 550, 74, 173, 150, 550, 0, 415, 0, + 412, 0, 439, 438, 0, 0, 81, 0, 0, 550, + 76, 196, 0, 0, 437, 504, 503, 82, 550, 70, + 0, 0, 72, 414, 413 }; /* YYDEFGOTO[NTERM-NUM]. */ @@ -1444,136 +1449,136 @@ static const yytype_int16 yydefgoto[] = { -1, 4, 5, 396, 397, 88, 313, 89, 90, 191, 91, 92, 93, 321, 381, 408, 477, 201, 376, 446, - 447, 595, 221, 377, 380, 488, 914, 958, 646, 850, - 817, 543, 582, 94, 199, 368, 369, 370, 371, 409, - 768, 466, 467, 593, 551, 319, 496, 497, 468, 390, + 447, 595, 221, 377, 380, 488, 916, 960, 646, 852, + 819, 543, 582, 94, 199, 368, 369, 370, 371, 409, + 770, 466, 467, 593, 551, 319, 496, 497, 468, 390, 444, 183, 61, 222, 110, 62, 63, 294, 64, 295, 356, 357, 425, 65, 66, 291, 287, 288, 67, 68, 95, 362, 96, 69, 70, 71, 72, 394, 395, 490, - 755, 348, 229, 230, 801, 139, 38, 470, 471, 562, + 757, 348, 229, 230, 803, 139, 38, 470, 471, 562, 410, 39, 231 }; /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing STATE-NUM. */ -#define YYPACT_NINF -491 +#define YYPACT_NINF -490 static const yytype_int16 yypact[] = { - 252, -491, 2070, 3145, 17, 3049, -491, -491, -491, -491, - -491, -491, -99, -95, -74, -54, -48, 12, -23, -491, - 14, 46, 57, 3257, 62, 75, 82, 94, -491, 105, - 115, 2070, 2070, 2070, 2070, 1230, 2070, 2712, -491, 208, - -491, -491, -491, -491, -491, -491, 3313, -491, -491, -491, - -491, 1681, -491, 1861, 1861, -491, 96, -491, 1861, -491, - -491, 184, -491, -491, -491, -491, 137, 11, 29, -491, - -491, -491, -491, -491, -491, -491, -47, -491, 131, 156, - 31, 173, 193, 198, -491, -491, 60, -491, -491, -491, - -491, 2407, -491, -491, -491, -491, -491, -491, 2070, 2070, - 2070, 2070, 2070, 2070, 3145, 2070, 2070, 2070, -491, 96, - 191, 96, 96, -491, 2070, 2070, 3145, 3145, 2070, 2070, - -6, -6, -6, -6, -99, -95, -74, -54, -48, 12, - 14, 46, 2041, 2334, 3302, 3506, 115, 192, -61, 2712, - -6, 2070, 2070, 2070, 2070, 2070, 2070, 2070, 2070, 2070, - 2070, 2070, 2070, 2070, 2070, 2070, 2070, 2070, 2070, 2070, - 2070, 2070, 1530, 2070, -491, 184, -491, -491, 1771, -491, - 1861, -491, -491, -491, -491, -491, -491, 201, 184, 184, - 184, 184, 184, 197, -491, -491, 3246, 236, -491, -85, - -491, 3538, 320, 96, -491, 241, -491, -491, -491, 244, - 2474, -491, 96, -491, 246, 249, -491, 3313, -491, 363, - -491, -491, -491, 3201, -491, -491, 96, -491, -491, -491, - 96, 167, 273, -491, -491, -491, 11, 29, -491, 268, - 292, -491, 274, 276, 277, 280, 283, 300, 291, 297, - 299, -491, 2070, -491, -491, 301, 305, 307, 310, 309, - 325, 2070, 2070, -491, 1247, 819, 556, 556, 1483, 1483, - 216, 216, -491, 2564, 2132, 2874, 2904, 1483, 1483, 406, - 406, -6, -6, -6, -491, -491, -55, 2162, 197, -491, - 184, 197, 197, 197, 197, -13, 2070, 96, 281, -491, - -491, -491, -491, 3246, -491, 345, -491, 350, 351, 3350, - -491, 3136, 3313, 167, -491, -491, -491, 3, -491, 208, - 3313, 282, -491, -491, 328, -491, -491, 96, 1620, -491, - -491, 224, -51, -85, -491, -491, -491, -491, -491, -491, - 335, -491, -491, -491, 337, -491, -491, -491, 341, -491, - -491, -6, 2712, 2070, -491, -491, 197, 342, 346, 2712, - -491, 54, -491, 365, 3377, 168, 366, 367, -491, 470, - 96, -491, -491, -491, -491, 96, 2325, 96, 364, 372, - -491, 207, -491, -491, -491, -491, 224, 1330, 370, 224, - 1330, 224, 282, -491, -491, 371, 282, 282, 282, 282, - 237, -491, 3404, -491, 356, -491, 89, -491, 368, 1710, - 2631, 378, 224, 224, 2324, 224, 224, 224, -491, 204, - -491, 3246, 2070, -491, 2070, 2712, 1330, -491, -491, 2070, - -491, 1199, 1348, 1448, 286, -491, -491, 168, -53, 393, - 3431, 391, 207, 392, 420, 3136, -491, -491, 398, 207, - 207, 207, 207, 207, 139, -491, 224, -491, 204, -491, - -491, -491, 207, -491, 3313, 403, -491, 3257, 395, 405, - -491, 2070, 2070, 2070, 1230, 2070, 396, -2, -491, 207, - 2745, -491, 208, -491, 224, 295, 407, -491, 204, 264, - 282, 399, 399, 399, 399, -491, 2070, -491, 1330, -491, - 1102, -491, -491, 96, 2070, 1710, 408, 425, 2712, -491, - -491, 224, 267, 267, -491, -491, -491, -491, -491, -491, - -491, -491, -491, -491, -491, -491, -491, -491, -491, -491, - -491, -491, -491, -491, -491, -491, -491, -491, -491, -491, - -491, -491, -491, -491, -491, -491, -491, -491, -491, -491, - 411, 409, -491, -491, 267, 267, 344, 343, 1620, -491, - 2070, 427, -491, -491, 365, -44, -32, 413, 2678, 96, - 123, 96, -491, -491, 123, -491, 123, -491, 123, 123, - 123, 3458, -491, 533, 433, 96, -491, 3145, 139, 3145, - 2541, -491, -491, -491, -491, 207, 418, 418, 418, 418, - 144, 651, 2070, -491, -491, -491, 204, 437, -491, 169, - 207, 3145, 421, 3145, 3145, -6, -6, -6, 426, 128, - -6, 496, -491, 1430, 169, 2070, 2070, 2070, 2070, 2070, - 2070, 2070, 2070, 2070, 2070, 2070, 2070, 2070, 2070, 2070, - 2070, 2070, 2070, 2070, 2070, 2070, 1800, 2070, 389, 550, - 431, 496, 450, -491, -491, 399, 1330, 432, 439, -491, - -491, -491, -491, -491, -491, -491, -491, -491, -491, -491, - -491, -491, -491, -491, -491, -491, -491, -491, -491, -491, - -491, -491, -491, -491, -491, -491, -491, -491, -491, -491, - -491, -491, -491, -491, -491, -491, -491, -491, -491, -491, - -491, -491, -491, -491, -491, -491, -491, -491, -491, -491, - -491, -491, -491, -491, -491, -491, -491, -491, -491, -491, - -491, -491, -491, -491, -491, -491, -491, -491, -491, -491, - -491, -491, -491, -491, -491, -491, -491, -491, -491, -491, - -491, -491, -491, -491, -491, -491, -491, -491, -491, -491, - -491, -491, -491, -491, -491, -491, -491, -491, -491, -491, - -491, -491, -491, -491, -491, -491, 436, -491, 440, 453, - -491, 1890, 267, -491, -491, -491, -491, 2631, 1330, 452, - 224, -491, -491, 496, -491, -491, -491, -491, -491, -491, - -491, -491, -491, -491, 456, -491, 459, -491, -491, -491, - 418, 463, 478, 472, 484, 651, 651, 651, 651, 1230, - 651, 2859, -491, 473, 498, -491, 224, 2070, -491, 169, - 487, 2070, 480, 492, 2070, -491, -491, -10, -491, -491, - -491, -491, 1247, 819, 556, 556, 1483, 1483, 216, 216, - -491, 2695, 2132, 2874, 2904, 1483, 1483, 406, 406, -6, - -6, -6, -491, -491, 134, 2187, 489, -491, -10, 224, - 1330, 485, -491, 496, 974, -491, -491, -491, 1710, 2712, - 509, -491, -491, -10, 529, 530, 1330, 3145, 3145, 3145, - 138, 138, 138, 138, 515, 145, 138, 651, 651, 651, - 651, 651, 651, 651, 651, 651, 651, 651, 651, 651, - 651, 651, 651, 651, 651, 651, 1980, 2070, -491, 224, - -491, 2712, -491, 518, 519, -491, 522, -6, -491, 524, - 2070, -491, -491, -491, 1330, -491, 525, 496, -10, -491, - 523, 496, -491, -491, 526, 541, 535, 549, 651, -491, - 1447, 2889, 780, 780, 1522, 1522, 387, 387, -491, 2826, - 2938, 3016, 3050, 543, 543, 138, 138, 138, -491, -491, - 146, 2206, -491, 2070, -491, 2070, 7, 2712, 1330, 544, - 496, -10, -491, -10, 496, 554, -491, 558, 138, 651, - -491, -491, 174, 179, -491, 557, 559, 496, -10, -10, - 2070, 2070, 2859, -491, -491, -491, 496, -10, 180, 218, - -10, -491, -491 + 202, -490, 2072, 3155, 52, 3007, -490, -490, -490, -490, + -490, -490, -60, -44, -28, -16, 10, 37, -3, -490, + 43, 46, 51, 3267, 57, 67, 75, 22, -490, 93, + 113, 2072, 2072, 2072, 2072, 1232, 2072, 2714, -490, 114, + -490, -490, -490, -490, -490, -490, 3323, -490, -490, -490, + -490, 1593, -490, 1773, 1773, -490, 84, -490, 1773, -490, + -490, 119, -490, -490, -490, -490, 139, 102, 15, -490, + -490, -490, -490, -490, -490, -490, 143, -490, 124, 142, + 29, 178, 182, 185, -490, -490, 62, -490, -490, -490, + -490, 2409, -490, -490, -490, -490, -490, -490, 2072, 2072, + 2072, 2072, 2072, 2072, 3155, 2072, 2072, 2072, -490, 84, + 146, 84, 84, -490, 2072, 2072, 3155, 3155, 2072, 2072, + 49, 49, 49, 49, -60, -44, -28, -16, 10, 37, + 43, 46, 2043, 2336, 3256, 3516, 113, 174, -92, 2714, + 49, 2072, 2072, 2072, 2072, 2072, 2072, 2072, 2072, 2072, + 2072, 2072, 2072, 2072, 2072, 2072, 2072, 2072, 2072, 2072, + 2072, 2072, 1532, 2072, -490, 119, -490, -490, 1683, -490, + 1773, -490, -490, -490, -490, -490, -490, 191, 119, 119, + 119, 119, 119, 196, -490, -490, 3200, 207, -490, -21, + -490, 3548, 316, 84, -490, 225, -490, -490, -490, 217, + 2476, -490, 84, -490, 213, 223, -490, 3323, -490, 345, + -490, -490, -490, 3211, -490, -490, 84, -490, -490, -490, + 84, 218, 246, -490, -490, -490, 102, 15, -490, 229, + 249, -490, 233, 247, 262, 263, 265, 245, 266, 268, + 269, -490, 2072, -490, -490, 270, 276, 282, 293, 289, + 295, 2072, 2072, -490, 1249, 821, 3055, 3055, 627, 627, + 388, 388, -490, 2566, 2134, 2876, 664, 627, 627, 280, + 280, 49, 49, 49, -490, -490, -68, 2164, 196, -490, + 119, 196, 196, 196, 196, 4, 2072, 84, 292, -490, + -490, -490, -490, 3200, -490, 314, -490, 318, 324, 3360, + -490, 3061, 3323, 218, -490, -490, -490, 12, -490, 114, + 3323, 222, -490, -490, 309, -490, -490, 84, 1622, -490, + -490, 206, 17, -21, -490, -490, -490, -490, -490, -490, + 311, -490, -490, -490, 325, -490, -490, -490, 328, -490, + -490, 49, 2714, 2072, -490, -490, 196, 329, 326, 2714, + -490, 58, -490, 351, 3387, 161, 352, 356, -490, 452, + 84, -490, -490, -490, -490, 84, 2327, 84, 349, 359, + -490, 219, -490, -490, -490, -490, 206, 1332, 350, 206, + 1332, 206, 222, -490, -490, 353, 222, 222, 222, 222, + 71, -490, 3414, -490, 341, -490, 148, -490, 346, 1712, + 2633, 355, 206, 206, 2326, 206, 206, 206, -490, 165, + -490, 3200, 2072, -490, 2072, 2714, 1332, -490, -490, 2072, + -490, 665, 867, 1201, 235, -490, -490, 161, -61, 364, + 3441, 365, 219, 367, 390, 3061, -490, -490, 361, 219, + 219, 219, 219, 219, -101, -490, 206, -490, 165, -490, + -490, -490, 219, -490, 3323, 366, -490, 3267, 368, 374, + -490, 2072, 2072, 2072, 1232, 2072, 357, 6, -490, 219, + 2747, -490, 114, -490, 206, 177, 371, -490, 165, 156, + 222, 373, 373, 373, 373, -490, 2072, -490, 1332, -490, + 1104, -490, -490, 84, 2072, 1712, 363, 392, 2714, -490, + -490, 206, 194, 194, -490, -490, -490, -490, -490, -490, + -490, -490, -490, -490, -490, -490, -490, -490, -490, -490, + -490, -490, -490, -490, -490, -490, -490, -490, -490, -490, + -490, -490, -490, -490, -490, -490, -490, -490, -490, -490, + 375, 381, -490, -490, 194, 194, 239, 79, 1622, -490, + 2072, 395, -490, -490, 351, -54, -33, 377, 2680, 84, + 332, 84, -490, -490, 332, -490, 332, -490, 332, 332, + 332, 3468, -490, 507, 407, 84, -490, 3155, -101, 3155, + 2543, -490, -490, -490, -490, 219, 393, 393, 393, 393, + 209, 1468, 2072, -490, -490, -490, 165, 410, -490, -35, + 219, 3155, 396, 3155, 3155, 49, 49, 49, 398, 13, + 49, 469, -490, 1432, -35, 2072, 2072, 2072, 2072, 2072, + 2072, 2072, 2072, 2072, 2072, 2072, 2072, 2072, 2072, 2072, + 2072, 2072, 2072, 2072, 2072, 2072, 1802, 2072, 242, 519, + 408, 469, 426, -490, -490, 373, 1332, 405, 409, -490, + -490, -490, -490, -490, -490, -490, -490, -490, -490, -490, + -490, -490, -490, -490, -490, -490, -490, -490, -490, -490, + -490, -490, -490, -490, -490, -490, -490, -490, -490, -490, + -490, -490, -490, -490, -490, -490, -490, -490, -490, -490, + -490, -490, -490, -490, -490, -490, -490, -490, -490, -490, + -490, -490, -490, -490, -490, -490, -490, -490, -490, -490, + -490, -490, -490, -490, -490, -490, -490, -490, -490, -490, + -490, -490, -490, -490, -490, -490, -490, -490, -490, -490, + -490, -490, -490, -490, -490, -490, -490, -490, -490, -490, + -490, -490, -490, -490, -490, -490, -490, -490, -490, -490, + -490, -490, -490, -490, -490, -490, -490, -490, 411, -490, + 413, 414, -490, 1892, 194, -490, -490, -490, -490, 2633, + 1332, 415, 206, -490, -490, 469, -490, -490, -490, -490, + -490, -490, -490, -490, -490, -490, 416, -490, 419, -490, + -490, -490, 393, 422, 425, 427, 438, 1468, 1468, 1468, + 1468, 1232, 1468, 2861, -490, 428, 430, -490, 206, 2072, + -490, -35, 439, 2072, 437, 449, 2072, -490, -490, 27, + -490, -490, -490, -490, 1249, 821, 3055, 3055, 627, 627, + 388, 388, -490, 2697, 2134, 2876, 664, 627, 627, 280, + 280, 49, 49, 49, -490, -490, 90, 2189, 442, -490, + 27, 206, 1332, 445, -490, 469, 976, -490, -490, -490, + 1712, 2714, 446, -490, -490, 27, 465, 466, 1332, 3155, + 3155, 3155, 221, 221, 221, 221, 454, 96, 221, 1468, + 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, + 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1982, 2072, + -490, 206, -490, 2714, -490, 451, 455, -490, 458, 49, + -490, 460, 2072, -490, -490, -490, 1332, -490, 459, 469, + 27, -490, 468, 469, -490, -490, 461, 476, 473, 486, + 1468, -490, 1449, 2891, 3073, 3073, 1485, 1485, 533, 533, + -490, 2828, 2906, 2940, 3018, 406, 406, 221, 221, 221, + -490, -490, 118, 2208, -490, 2072, -490, 2072, 59, 2714, + 1332, 477, 469, 27, -490, 27, 469, 481, -490, 482, + 221, 1468, -490, -490, 127, 151, -490, 484, 487, 469, + 27, 27, 2072, 2072, 2861, -490, -490, -490, 469, 27, + 169, 172, 27, -490, -490 }; /* YYPGOTO[NTERM-NUM]. */ static const yytype_int16 yypgoto[] = { - -491, -491, -102, -491, 194, -491, -491, 469, -491, -491, - -79, 251, -491, -491, -491, -82, -159, -491, -491, -491, - -117, -208, 494, -491, -491, -491, -491, -491, -491, -491, - -316, -491, -491, 258, -491, -491, -491, 260, 330, -306, - -491, -362, -491, 119, -413, -279, -490, -491, 85, -160, - -354, -71, -5, 499, 243, -14, -88, -491, -84, -491, - -491, -491, 275, -83, -491, -284, -491, -491, -11, -9, - -491, -491, -491, -12, 71, -491, -491, 209, -491, -29, - -491, -459, -57, -34, -4, 0, -62, -491, -491, -394, - 157, -157, -1 + -490, -490, -179, -490, 116, -490, -490, 447, -490, -490, + -76, 205, -490, -490, -490, -136, -209, -490, -490, -490, + -165, -252, 464, -490, -490, -490, -490, -490, -490, -490, + -318, -490, -490, 231, -490, -490, -490, 234, 300, -307, + -490, -363, -490, 94, -393, -283, -489, -490, 55, -281, + -413, 83, -5, 471, 220, -14, -88, -490, -84, -490, + -490, -490, 248, -83, -490, -288, -490, -490, -11, -9, + -490, -490, -490, -12, 609, -490, -490, 184, -490, -56, + -490, -473, -57, -34, 1, 0, -62, -490, -490, -359, + 157, -158, -1 }; /* YYTABLE[YYPACT[STATE-NUM]]. What to do in state STATE-NUM. If @@ -1582,349 +1587,350 @@ static const yytype_int16 yypgoto[] = #define YYTABLE_NINF -250 static const yytype_int16 yytable[] = { - 6, 138, 37, 223, 97, 759, 200, 224, 225, 353, - 612, 113, 111, 378, 112, 173, 174, 73, 476, 173, - 174, 137, -232, 149, 375, -232, 98, 647, 565, 567, - 99, 120, 121, 122, 123, 597, 140, 173, 174, 173, - 174, 165, 232, 233, 234, 235, 236, 252, 238, 239, - 240, 100, 309, 252, 557, 573, -249, 245, 246, 411, - 184, 249, 250, 190, 252, 642, 253, 908, 173, 174, - 448, 101, 344, 475, 574, 478, 252, 102, 578, 228, - 226, 909, 227, 771, 97, 586, 587, 588, 589, 590, - 237, 769, 299, 104, 278, 772, 502, 503, 599, 544, - 545, 546, 247, 248, 173, 174, 613, 281, 282, 283, - 284, 285, 223, 286, 347, 614, 224, 225, 161, 162, - 163, 186, 169, 379, 171, 172, 648, 554, 276, 176, - 552, 173, 174, 803, 974, 202, 188, 103, 194, 105, - 596, 254, 255, 256, 257, 258, 259, 260, 261, 262, + 6, 138, 37, 223, 97, 353, 761, 224, 225, 200, + 591, 113, 111, 647, 112, 299, 252, 476, 612, 578, + 375, 137, 378, 173, 174, 592, 586, 587, 588, 589, + 590, 120, 121, 122, 123, 253, 140, 173, 174, 599, + 252, 165, 232, 233, 234, 235, 236, 573, 238, 239, + 240, 309, 73, 557, 252, 597, 614, 245, 246, 344, + 184, 249, 250, 565, 567, 98, 574, 173, 174, 448, + 173, 174, 475, 773, 478, 252, 809, 771, 149, 228, + 226, 99, 227, 768, 97, 642, -232, 173, 174, -232, + 237, 592, 173, 174, 774, 502, 503, 100, 544, 545, + 546, 479, 247, 248, 910, 481, 482, 483, 484, 101, + 173, 174, 223, 104, 613, 354, 224, 225, 911, 805, + 164, 252, 188, 554, -249, 648, 552, 411, 276, 177, + 286, 347, 379, 178, 392, 102, 194, 202, 117, 596, + 817, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, - 273, 274, 418, 277, 184, 419, 776, 885, 638, 598, - 778, 106, 779, 45, 780, 781, 782, 184, 184, 184, - 184, 184, 107, 804, 289, 334, 808, 114, 228, 226, - 97, 227, 354, 6, 177, 762, 492, 493, 178, 643, - 115, 821, 308, 169, 171, 172, 176, 116, 311, 346, - 117, 392, 55, 175, 164, 436, 437, 438, 559, 57, - 472, 439, 479, 472, 187, 189, 481, 482, 483, 484, - 118, 790, 173, 174, 401, 179, 252, 195, 402, 169, - 119, 169, 252, 203, 185, 149, 809, 421, 422, 423, - 591, 341, 342, 252, 252, 815, 192, 292, 440, 472, - 430, 911, 895, 896, 897, 592, 241, 424, 243, 244, - 592, 791, 929, 970, 315, 403, 316, 317, 318, 184, - 807, 193, 252, 196, 851, 350, 349, 252, 252, 372, - 383, 384, 385, 6, 358, 592, 386, 374, 97, 180, - 373, 983, 404, 197, 181, 382, 984, 991, 198, 182, - 391, 315, 6, 316, 547, 548, 242, 805, 400, 251, - 645, 280, 441, 286, 571, 848, 252, 442, 297, 549, - 550, 472, 443, 387, 156, 157, 158, 159, 160, 405, - 161, 162, 163, 415, 406, 992, 293, 766, 300, 407, - 298, 173, 174, 97, 372, 580, 1, 2, 3, 305, - 301, 6, 485, 486, 292, 568, 569, 570, 920, 10, - 445, 306, 469, 312, 307, 469, 473, 314, 555, 473, - 556, 391, 320, 322, 323, 391, 391, 391, 391, 644, - 486, 97, 549, 550, 491, 324, 902, 388, 499, 498, - 252, 325, 389, 326, 327, 639, 860, 328, 553, 352, - 329, 469, 561, 561, 561, 473, 885, 330, 331, 558, - 549, 550, 640, 372, 332, 6, 333, 338, 335, 97, - 609, 445, 336, 97, 337, 149, 339, 758, 445, 445, + 273, 274, 103, 277, 184, 598, 418, 638, 105, 419, + 179, 106, 792, 161, 162, 163, 107, 184, 184, 184, + 184, 184, 114, 430, 289, 334, 976, 811, 228, 226, + 97, 227, 115, 6, 764, 643, 485, 486, 252, 645, + 116, 778, 308, 806, 252, 780, 810, 781, 311, 782, + 783, 784, 186, 175, 173, 174, 401, 913, 118, 472, + 402, 823, 472, 931, 187, 189, 252, 436, 437, 438, + 383, 384, 385, 439, 180, 252, 386, 195, 119, 181, + 421, 422, 423, 203, 182, 972, 185, 571, 278, 192, + 887, 341, 342, 190, 985, 492, 493, 403, 472, 252, + 424, 281, 282, 283, 284, 285, 241, 193, 243, 244, + 440, 242, 315, 387, 316, 547, 548, 252, 986, 184, + 252, 644, 486, 853, 404, 350, 349, 639, 196, 372, + 549, 550, 197, 6, 358, 198, 993, 374, 97, 994, + 373, 251, 549, 550, 640, 382, 1, 2, 3, 149, + 391, 280, 6, 807, 568, 569, 570, 293, 400, 549, + 550, 405, 286, 850, 297, 315, 406, 316, 317, 318, + 472, 407, 300, 301, 441, 592, 793, 388, 306, 442, + 173, 174, 389, 415, 443, 897, 898, 899, 307, 639, + 298, 10, 639, 97, 372, 320, 324, 252, 580, 305, + 325, 6, 330, 346, 549, 550, 767, 549, 550, 848, + 445, 922, 469, 312, 326, 469, 473, 314, 555, 473, + 556, 391, 45, 322, 323, 391, 391, 391, 391, 327, + 328, 97, 329, 331, 491, 332, 333, 335, 499, 498, + 158, 159, 160, 336, 161, 162, 163, 862, 553, 337, + 338, 469, 561, 561, 561, 473, 339, 149, 904, 558, + 352, 55, 340, 372, 355, 6, 359, 559, 57, 97, + 609, 445, 360, 97, 393, 887, 412, 760, 445, 445, 445, 445, 445, 594, 351, 113, 111, 553, 112, 600, - 608, 445, 340, 393, 639, 355, 472, 863, 359, 360, - 412, 605, 606, 607, 413, 610, 414, 416, 445, 549, - 550, 765, -248, 426, 398, 427, 417, 553, 428, 391, - 435, 434, 292, 469, 489, 350, 349, 473, 916, 472, - 474, 480, 223, 494, 499, 498, 224, 225, 501, 639, - 448, 575, 577, 579, 924, 890, 891, 892, 893, 894, - 84, 895, 896, 897, 549, 550, 846, 429, 585, 601, - 603, 604, 431, 611, 433, 486, 158, 159, 160, 802, - 161, 162, 163, 761, 641, 770, 760, 918, 763, 764, - 773, 784, 785, 478, 592, 806, 811, 816, 767, 350, - 349, 561, 959, 814, 766, 561, 847, 561, 849, 561, - 561, 561, 852, 787, 855, 789, 853, 856, 228, 226, - 97, 227, 885, 145, 146, 147, 148, 594, 563, 563, - 563, 857, 861, 864, 445, 149, 865, 810, 866, 812, - 813, 350, 349, 596, 867, 553, 976, 868, 553, 445, - 869, 961, 844, 898, 903, 963, 899, 905, 469, 906, - 818, 472, 917, 553, 913, 822, 823, 824, 825, 826, - 827, 828, 829, 830, 831, 832, 833, 834, 835, 836, - 837, 838, 839, 840, 841, 842, 921, 845, 922, 923, - 818, 469, 928, 953, 978, 473, 954, 955, 979, 956, - 398, 962, 960, 964, 7, 8, 9, 10, 965, 11, - 296, 987, 966, 892, 893, 894, 967, 895, 896, 897, - 990, 977, 154, 155, 156, 157, 158, 159, 160, 980, - 161, 162, 163, 981, 985, 581, 986, 757, 862, 900, - 915, 952, 583, 472, 303, 584, 432, 788, 820, 304, - 602, 756, 572, 854, 398, 792, 0, 0, 0, 472, - 0, 0, 0, 19, 0, 0, 775, 563, 777, 0, + 608, 445, 413, 414, 416, 472, 417, 865, -248, 426, + 428, 605, 606, 607, 427, 610, 434, 435, 445, 489, + 474, 494, 575, 480, 398, 501, 577, 553, 579, 391, + 84, 585, 601, 469, 611, 350, 349, 473, 472, 918, + 604, 762, 223, 603, 499, 498, 224, 225, 641, 486, + 763, 448, 765, 772, 775, 926, 156, 157, 158, 159, + 160, 766, 161, 162, 163, 786, 787, 429, 808, 592, + 818, 813, 431, 768, 433, 816, 894, 895, 896, 804, + 897, 898, 899, 849, 851, 854, 855, 920, 901, 857, + 858, 869, 859, 866, 478, 863, 867, 868, 769, 350, + 349, 561, 870, 961, 871, 561, 905, 561, 900, 561, + 561, 561, 887, 789, 907, 791, 908, 915, 228, 226, + 97, 227, 919, 923, 924, 925, 955, 594, 563, 563, + 563, 930, 956, 957, 445, 958, 962, 812, 966, 814, + 815, 350, 349, 967, 596, 553, 964, 978, 553, 445, + 968, 963, 846, 969, 979, 965, 982, 983, 469, 759, + 820, 987, 472, 553, 988, 824, 825, 826, 827, 828, + 829, 830, 831, 832, 833, 834, 835, 836, 837, 838, + 839, 840, 841, 842, 843, 844, 864, 847, 296, 581, + 820, 469, 917, 902, 980, 473, 147, 148, 981, 954, + 398, 892, 893, 894, 895, 896, 149, 897, 898, 899, + 169, 989, 171, 172, 303, 583, 432, 176, 822, 584, + 992, 304, 790, 173, 174, 572, 758, 602, 856, 143, + 144, 145, 146, 147, 148, 0, 0, 0, 0, 0, + 0, 0, 0, 149, 472, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 398, 0, 0, 0, 0, 0, + 472, 0, 0, 0, 0, 45, 777, 563, 779, 0, 0, 563, 0, 563, 0, 563, 563, 563, 0, 0, - 0, 491, 786, 802, 802, 802, 802, 793, 802, 794, - 0, 0, 0, 28, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 904, 0, 0, 472, 0, 0, - 0, 859, 0, 469, 0, 875, 795, 473, 0, 0, - 796, 797, 818, 0, 798, 0, 799, 0, 0, 0, - 800, 0, 0, 0, 0, 874, 0, 0, 0, 0, - 0, 870, 871, 872, 873, 0, 876, 881, 882, 883, - 884, 472, 0, 0, 0, 0, 0, 901, 553, 885, - 0, 0, 0, 0, 907, 802, 802, 802, 802, 802, - 802, 802, 802, 802, 802, 802, 802, 802, 802, 802, - 802, 802, 802, 802, 143, 144, 145, 146, 147, 148, - 0, 0, 0, 0, 0, 469, 0, 0, 149, 473, - 0, 0, 818, 925, 926, 927, 0, 499, 498, 0, - 0, 469, 950, 0, 0, 473, 802, 0, 0, 0, - 0, 0, 0, 930, 931, 932, 933, 934, 935, 936, - 937, 938, 939, 940, 941, 942, 943, 944, 945, 946, - 947, 948, 0, 0, 0, 0, 0, 951, 890, 891, - 892, 893, 894, 0, 895, 896, 897, 802, 0, 469, - 957, 0, 0, 473, 0, 0, 818, 0, 0, 972, - 818, 973, 0, 0, 968, 0, 0, 0, 0, 0, - 0, 0, 151, 152, 153, 154, 155, 156, 157, 158, - 159, 160, 0, 161, 162, 163, 988, 989, 0, 0, - 0, 0, 0, 469, 0, 0, 0, 473, 0, 818, - 0, 0, 0, 818, 0, 982, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 818, 649, 650, 651, - 652, 653, 654, 655, 656, 818, 657, 658, 659, 660, + 0, 0, 788, 491, 0, 804, 804, 804, 804, 0, + 804, 169, 171, 172, 176, 156, 157, 158, 159, 160, + 0, 161, 162, 163, 55, 0, 906, 0, 472, 0, + 559, 57, 0, 861, 560, 469, 0, 877, 0, 473, + 0, 0, 0, 0, 820, 0, 0, 169, 0, 169, + 154, 155, 156, 157, 158, 159, 160, 876, 161, 162, + 163, 0, 0, 0, 0, 292, 0, 0, 872, 873, + 874, 875, 472, 878, 0, 0, 0, 0, 0, 903, + 553, 0, 0, 0, 0, 0, 909, 804, 804, 804, + 804, 804, 804, 804, 804, 804, 804, 804, 804, 804, + 804, 804, 804, 804, 804, 804, 143, 144, 145, 146, + 147, 148, 0, 0, 0, 0, 0, 469, 0, 0, + 149, 473, 0, 0, 820, 927, 928, 929, 0, 499, + 498, 0, 0, 469, 952, 0, 0, 473, 804, 0, + 0, 0, 0, 0, 0, 173, 174, 0, 0, 0, + 932, 933, 934, 935, 936, 937, 938, 939, 940, 941, + 942, 943, 944, 945, 946, 947, 948, 949, 950, 953, + 0, 0, 292, 0, 0, 0, 0, 0, 0, 804, + 0, 469, 959, 0, 0, 473, 0, 45, 820, 0, + 0, 974, 820, 975, 0, 0, 0, 0, 0, 0, + 0, 970, 0, 0, 151, 152, 153, 154, 155, 156, + 157, 158, 159, 160, 0, 161, 162, 163, 990, 991, + 0, 0, 0, 0, 0, 469, 55, 0, 0, 473, + 0, 820, 559, 57, 0, 820, 564, 0, 0, 0, + 0, 0, 984, 0, 0, 0, 0, 0, 820, 649, + 650, 651, 652, 653, 654, 655, 656, 820, 657, 658, + 659, 660, 661, 662, 663, 664, 665, 666, 667, 0, + 0, 0, 0, 0, 0, 668, 669, 670, 671, 672, + 673, 674, 675, 676, 677, 678, 679, 680, 681, 0, + 292, 682, 683, 684, 685, 686, 687, 688, 689, 690, + 691, 692, 0, 693, 0, 694, 695, 696, 697, 698, + 699, 700, 701, 702, 703, 704, 705, 0, 0, 0, + 706, 707, 708, 0, 709, 710, 711, 712, 713, 714, + 715, 716, 717, 718, 719, 720, 0, 721, 722, 723, + 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, + 0, 0, 0, 734, 735, 736, 737, 738, 739, 740, + 741, 742, 743, 744, 745, 746, 747, 748, 749, 750, + 751, 752, 753, 754, 921, 755, 756, 649, 650, 651, + 652, 653, 654, 655, 656, 977, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 0, 0, 0, 0, 0, 0, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 680, 681, 0, 0, 682, 683, 684, 685, 686, 687, 688, 689, 690, 691, 692, 0, 693, 0, 694, 695, 696, 697, 698, 699, 700, - 701, 702, 703, 704, 705, 0, 0, 0, 706, 0, - 707, 0, 708, 709, 710, 711, 712, 713, 714, 715, - 716, 717, 718, 719, 0, 720, 721, 722, 723, 724, - 725, 726, 0, 727, 728, 729, 730, 731, 0, 0, - 0, 732, 733, 734, 735, 736, 737, 738, 739, 740, - 741, 742, 743, 744, 745, 746, 747, 748, 749, 750, - 751, 752, 919, 753, 754, 649, 650, 651, 652, 653, - 654, 655, 656, 975, 657, 658, 659, 660, 661, 662, - 663, 664, 665, 666, 667, 0, 0, 0, 0, 0, - 0, 668, 669, 670, 671, 672, 673, 674, 675, 676, - 677, 678, 679, 680, 681, 0, 0, 682, 683, 684, - 685, 686, 687, 688, 689, 690, 691, 692, 0, 693, - 0, 694, 695, 696, 697, 698, 699, 700, 701, 702, - 703, 704, 705, 0, 0, 0, 706, 0, 707, 0, - 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, - 718, 719, 0, 720, 721, 722, 723, 724, 725, 726, - 0, 727, 728, 729, 730, 731, 0, 173, 174, 732, - 733, 734, 735, 736, 737, 738, 739, 740, 741, 742, + 701, 702, 703, 704, 705, 0, 0, 0, 706, 707, + 708, 0, 709, 710, 711, 712, 713, 714, 715, 716, + 717, 718, 719, 720, 0, 721, 722, 723, 724, 725, + 726, 727, 728, 729, 730, 731, 732, 733, 0, 173, + 174, 734, 735, 736, 737, 738, 739, 740, 741, 742, 743, 744, 745, 746, 747, 748, 749, 750, 751, 752, - 0, 753, 754, 7, 8, 9, 10, 0, 11, 124, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 45, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 142, 143, 144, 145, 146, 147, 148, 0, 0, - 0, 0, 0, 0, 0, 125, 149, 126, 127, 128, - 45, 46, 0, 129, 18, 0, 0, 48, 55, 0, - 0, 0, 19, 130, 559, 57, 0, 0, 560, 131, - 132, 52, 0, 0, 0, 0, 23, 0, 0, 0, - 0, 0, 0, 0, 133, 134, 26, 0, 27, 55, - 0, 0, 28, 0, 0, 56, 57, 135, 0, 0, - 59, 0, 136, 449, 450, 451, 10, 0, 452, 40, - 0, 0, 453, 0, 0, 31, 0, 0, 0, 32, - 33, 0, 0, 34, 0, 35, 173, 174, 0, 36, - 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, - 0, 161, 162, 163, 0, 41, 0, 42, 43, 44, - 45, 454, 0, 47, 455, 0, 0, 48, 0, 0, - 0, 0, 456, 49, 0, 0, 0, 0, 45, 50, - 51, 52, 0, 0, 0, 0, 457, 0, 0, 0, - 0, 0, 0, 0, 53, 54, 458, 0, 459, 55, - 0, 0, 460, 0, 0, 56, 57, 58, 0, 0, - 59, 0, 60, 449, 450, 451, 10, 55, 452, 40, - 0, 0, 819, 559, 57, 461, 0, 564, 0, 462, - 0, 0, 0, 463, 0, 464, 173, 174, 0, 465, - 0, 878, 879, 880, 881, 882, 883, 884, 0, 0, - 0, 0, 0, 0, 0, 41, 885, 42, 43, 44, - 45, 454, 0, 47, 455, 0, 0, 48, 0, 0, - 0, 0, 456, 49, 0, 0, 0, 0, 45, 50, - 51, 52, 147, 148, 0, 0, 457, 0, 0, 0, - 0, 0, 149, 0, 53, 54, 458, 0, 459, 55, - 0, 0, 460, 0, 0, 56, 57, 58, 0, 0, - 59, 0, 60, 7, 8, 9, 10, 55, 11, 12, - 0, 883, 884, 559, 57, 461, 0, 566, 0, 462, - 0, 885, 0, 463, 0, 464, 0, 0, 0, 465, - 887, 888, 889, 0, 0, 890, 891, 892, 893, 894, - 0, 895, 896, 897, 0, 13, 0, 14, 15, 16, - 0, 0, 0, 17, 18, 0, 0, 0, 0, 0, - 0, 0, 19, 20, 0, 0, 0, 0, 0, 21, - 22, 156, 157, 158, 159, 160, 23, 161, 162, 163, - 0, 0, 0, 0, 24, 25, 26, 0, 27, 0, - 0, 0, 28, 7, 8, 9, 10, 29, 11, 12, - 0, 0, 30, 0, 0, 0, 0, 0, 0, 0, - 890, 891, 892, 893, 894, 31, 895, 896, 897, 32, - 33, 0, 0, 34, 0, 35, 0, 275, 0, 36, - 0, 0, 0, 0, 0, 13, 0, 14, 15, 16, - 0, 0, 0, 17, 18, 0, 0, 0, 0, 0, - 0, 0, 19, 20, 0, 0, 0, 0, 0, 21, - 22, 0, 0, 0, 0, 0, 23, 0, 0, 0, - 0, 0, 0, 0, 24, 25, 26, 0, 27, 0, - 0, 0, 28, 7, 8, 9, 10, 29, 11, 12, - 0, 0, 30, 0, 0, 0, 41, 399, 42, 43, - 44, 0, 0, 0, 166, 31, 0, 0, 0, 32, - 33, 0, 0, 34, 167, 35, 0, 0, 0, 36, - 50, 168, 52, 0, 0, 13, 0, 14, 15, 16, - 0, 0, 0, 17, 18, 53, 54, 0, 0, 0, - 0, 0, 19, 20, 0, 0, 0, 0, 58, 21, - 22, 0, 0, 60, 0, 0, 23, 0, 0, 0, - 0, 0, 0, 0, 24, 25, 26, 0, 27, 0, - 0, 0, 28, 7, 8, 9, 10, 29, 11, 12, - 0, 0, 30, 0, 0, 0, 41, 495, 42, 43, - 44, 0, 0, 0, 0, 31, 0, 0, 0, 32, - 33, 0, 0, 34, 279, 35, 0, 0, 0, 36, - 50, 170, 52, 0, 0, 13, 0, 14, 15, 16, - 0, 0, 0, 17, 18, 53, 54, 0, 0, 0, - 0, 0, 19, 20, 0, 0, 0, 0, 58, 21, - 22, 0, 0, 60, 0, 0, 23, 0, 0, 0, - 0, 0, 0, 0, 24, 25, 26, 0, 27, 0, - 0, 0, 28, 7, 8, 9, 10, 29, 11, 12, - 0, 0, 30, 0, 0, 0, 41, 0, 42, 43, - 44, 0, 0, 0, 0, 31, 0, 0, 0, 32, - 33, 0, 0, 34, 0, 35, 0, 843, 0, 36, - 50, 170, 52, 0, 0, 13, 0, 14, 15, 16, - 0, 0, 0, 17, 18, 53, 54, 0, 0, 0, - 0, 0, 19, 20, 0, 0, 0, 0, 58, 21, - 22, 0, 0, 60, 0, 0, 23, 0, 0, 0, - 0, 0, 0, 0, 24, 25, 26, 0, 27, 0, - 0, 0, 28, 7, 8, 9, 10, 29, 11, 12, - 0, 0, 30, 0, 0, 0, 0, 858, 0, 0, - 0, 0, 0, 0, 0, 31, 0, 0, 0, 32, - 33, 0, 0, 34, 0, 35, 0, 0, 0, 36, - 0, 0, 0, 0, 0, 13, 0, 14, 15, 16, - 0, 0, 0, 17, 18, 0, 0, 0, 0, 0, - 0, 0, 19, 20, 0, 0, 0, 0, 0, 21, - 22, 0, 0, 0, 0, 0, 23, 0, 0, 0, - 0, 0, 0, 0, 24, 25, 26, 0, 27, 0, - 0, 0, 28, 7, 8, 9, 10, 29, 11, 12, - 0, 0, 30, 0, 0, 0, 41, 0, 42, 43, - 44, 0, 0, 0, 166, 31, 0, 0, 0, 32, - 33, 0, 0, 34, 167, 35, 0, 949, 0, 36, - 50, 168, 52, 0, 0, 13, 0, 14, 15, 16, - 0, 0, 0, 17, 18, 53, 54, 0, 0, 0, - 0, 0, 19, 20, 0, 0, 0, 0, 58, 21, - 22, 0, 0, 60, 0, 0, 23, 143, 144, 145, - 146, 147, 148, 0, 24, 25, 26, 0, 27, 0, - 0, 149, 28, 0, 0, 0, 107, 29, 0, 0, - 0, 0, 30, 0, 0, 141, 142, 143, 144, 145, - 146, 147, 148, 0, 0, 31, 0, 0, 0, 32, - 33, 149, 0, 34, 0, 35, 0, 0, 0, 36, - 141, 142, 143, 144, 145, 146, 147, 148, 0, 0, - 0, 0, 0, 0, 0, 0, 149, 0, 0, 141, - 142, 143, 144, 145, 146, 147, 148, 0, 0, 0, - 0, 0, 0, 0, 0, 149, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 152, 153, 154, 155, - 156, 157, 158, 159, 160, 0, 161, 162, 163, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 150, 151, 152, 153, 154, 155, - 156, 157, 158, 159, 160, 0, 161, 162, 163, 0, - 0, 0, 345, 0, 0, 0, 0, 0, 0, 150, - 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, - 0, 161, 162, 163, 0, 0, 0, 912, 150, 151, - 152, 153, 154, 155, 156, 157, 158, 159, 160, 0, - 161, 162, 163, 363, 364, 0, 971, 504, 505, 506, - 507, 508, 509, 510, 511, 0, 0, 0, 0, 0, - 0, 0, 0, 512, 0, 513, 514, 515, 516, 517, - 518, 519, 520, 521, 522, 523, 524, 0, 0, 0, - 41, 0, 42, 43, 44, 0, 525, 0, 47, 41, - 0, 42, 43, 44, 0, 0, 0, 0, 49, 0, - 0, 0, 0, 0, 50, 51, 52, 0, 0, 0, - 526, 0, 0, 50, 170, 52, 0, 0, 0, 53, - 54, 0, 0, 0, 0, 204, 205, 0, 53, 54, - 0, 0, 58, 0, 0, 59, 0, 60, 0, 0, - 0, 58, 527, 0, 0, 528, 60, 529, 530, 531, - 532, 533, 534, 535, 536, 537, 538, 539, 0, 540, - 541, 206, 41, 542, 42, 43, 44, 45, 207, 114, - 47, 0, 0, 0, 48, 208, 209, 210, 0, 0, - 49, 0, 0, 0, 0, 211, 50, 51, 52, 0, - 0, 212, 204, 205, 0, 213, 0, 0, 0, 214, - 0, 53, 54, 0, 215, 0, 55, 0, 0, 0, - 0, 0, 216, 57, 58, 0, 217, 59, 218, 60, - 0, 0, 0, 0, 219, 0, 0, 0, 206, 41, - 0, 42, 43, 44, 45, 302, 0, 47, 0, 0, - 220, 48, 208, 209, 210, 0, 0, 49, 0, 0, - 0, 0, 211, 50, 51, 52, 0, 0, 212, 204, - 205, 0, 213, 0, 0, 0, 214, 0, 53, 54, - 0, 215, 0, 55, 0, 0, 0, 0, 0, 216, - 57, 58, 0, 217, 59, 218, 60, 141, 142, 143, - 144, 145, 146, 147, 148, 206, 41, 0, 42, 43, - 44, 45, 207, 149, 47, 0, 0, 220, 48, 208, - 209, 210, 0, 0, 49, 0, 0, 0, 0, 211, - 50, 51, 52, 0, 0, 212, 0, 0, 0, 213, - 0, 0, 0, 214, 0, 53, 54, 0, 215, 0, - 55, 0, 0, 0, 0, 0, 216, 57, 58, 0, - 217, 59, 218, 60, 141, 142, 143, 144, 145, 146, - 147, 148, 0, 0, 0, 0, 0, 0, 0, 0, - 149, 0, 0, 0, 220, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 343, 0, 150, 151, 152, 153, + 753, 754, 0, 755, 756, 7, 8, 9, 10, 0, + 11, 124, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 45, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 142, 143, 144, 145, 146, 147, 148, + 0, 0, 0, 0, 0, 0, 0, 125, 149, 126, + 127, 128, 45, 46, 0, 129, 18, 0, 0, 48, + 55, 0, 0, 0, 19, 130, 559, 57, 0, 0, + 566, 131, 132, 52, 0, 0, 0, 0, 23, 0, + 0, 0, 0, 0, 0, 0, 133, 134, 26, 0, + 27, 55, 0, 0, 28, 0, 0, 56, 57, 135, + 0, 0, 59, 0, 136, 449, 450, 451, 10, 0, + 452, 40, 0, 0, 453, 0, 0, 31, 0, 0, + 0, 32, 33, 0, 0, 34, 0, 35, 0, 0, + 0, 36, 151, 152, 153, 154, 155, 156, 157, 158, + 159, 160, 0, 161, 162, 163, 0, 41, 0, 42, + 43, 44, 45, 454, 0, 47, 455, 0, 0, 48, + 0, 0, 0, 0, 456, 49, 0, 0, 0, 0, + 0, 50, 51, 52, 0, 0, 0, 0, 457, 0, + 0, 0, 0, 0, 0, 0, 53, 54, 458, 0, + 459, 55, 0, 0, 460, 0, 0, 56, 57, 58, + 0, 0, 59, 0, 60, 449, 450, 451, 10, 0, + 452, 40, 0, 0, 821, 0, 0, 461, 0, 0, + 0, 462, 0, 0, 0, 463, 0, 464, 0, 0, + 0, 465, 0, 880, 881, 882, 883, 884, 885, 886, + 0, 7, 8, 9, 10, 0, 11, 41, 887, 42, + 43, 44, 45, 454, 0, 47, 455, 0, 0, 48, + 0, 0, 0, 0, 456, 49, 0, 0, 0, 0, + 0, 50, 51, 52, 885, 886, 0, 0, 457, 0, + 0, 0, 0, 0, 887, 0, 53, 54, 458, 0, + 459, 55, 794, 0, 460, 0, 0, 56, 57, 58, + 19, 0, 59, 0, 60, 7, 8, 9, 10, 0, + 11, 12, 0, 0, 0, 0, 0, 461, 0, 0, + 0, 462, 0, 0, 795, 463, 796, 464, 0, 0, + 28, 465, 889, 890, 891, 0, 0, 892, 893, 894, + 895, 896, 0, 897, 898, 899, 0, 13, 0, 14, + 15, 16, 0, 797, 0, 17, 18, 798, 799, 0, + 0, 800, 0, 801, 19, 20, 0, 802, 0, 0, + 0, 21, 22, 892, 893, 894, 895, 896, 23, 897, + 898, 899, 0, 0, 0, 0, 24, 25, 26, 0, + 27, 0, 0, 0, 28, 7, 8, 9, 10, 29, + 11, 12, 0, 0, 30, 0, 0, 0, 41, 0, + 42, 43, 44, 0, 0, 0, 166, 31, 0, 0, + 0, 32, 33, 0, 0, 34, 167, 35, 0, 275, + 0, 36, 50, 168, 52, 0, 0, 13, 0, 14, + 15, 16, 0, 0, 0, 17, 18, 53, 54, 0, + 0, 0, 0, 0, 19, 20, 0, 0, 0, 0, + 58, 21, 22, 0, 0, 60, 0, 0, 23, 0, + 0, 0, 0, 0, 0, 0, 24, 25, 26, 0, + 27, 0, 0, 0, 28, 7, 8, 9, 10, 29, + 11, 12, 0, 0, 30, 0, 0, 0, 41, 399, + 42, 43, 44, 0, 0, 0, 0, 31, 0, 0, + 0, 32, 33, 0, 0, 34, 279, 35, 0, 0, + 0, 36, 50, 170, 52, 0, 0, 13, 0, 14, + 15, 16, 0, 0, 0, 17, 18, 53, 54, 0, + 0, 0, 0, 0, 19, 20, 0, 0, 0, 0, + 58, 21, 22, 0, 0, 60, 0, 0, 23, 0, + 0, 0, 0, 0, 0, 0, 24, 25, 26, 0, + 27, 0, 0, 0, 28, 7, 8, 9, 10, 29, + 11, 12, 0, 0, 30, 0, 0, 0, 41, 495, + 42, 43, 44, 0, 0, 0, 0, 31, 0, 0, + 0, 32, 33, 0, 0, 34, 0, 35, 0, 0, + 0, 36, 50, 170, 52, 0, 0, 13, 0, 14, + 15, 16, 0, 0, 0, 17, 18, 53, 54, 0, + 0, 0, 0, 0, 19, 20, 0, 0, 0, 0, + 58, 21, 22, 0, 0, 60, 0, 0, 23, 0, + 0, 0, 0, 0, 0, 0, 24, 25, 26, 0, + 27, 0, 0, 0, 28, 7, 8, 9, 10, 29, + 11, 12, 0, 0, 30, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 31, 0, 0, + 0, 32, 33, 0, 0, 34, 0, 35, 0, 845, + 0, 36, 0, 0, 0, 0, 0, 13, 0, 14, + 15, 16, 0, 0, 0, 17, 18, 0, 0, 0, + 0, 0, 0, 0, 19, 20, 0, 0, 0, 0, + 0, 21, 22, 0, 0, 0, 0, 0, 23, 0, + 0, 0, 0, 0, 0, 0, 24, 25, 26, 0, + 27, 0, 0, 0, 28, 7, 8, 9, 10, 29, + 11, 12, 0, 0, 30, 0, 0, 0, 0, 860, + 0, 0, 0, 0, 0, 0, 0, 31, 0, 0, + 0, 32, 33, 0, 0, 34, 0, 35, 0, 0, + 0, 36, 0, 0, 0, 0, 0, 13, 0, 14, + 15, 16, 0, 0, 0, 17, 18, 0, 0, 0, + 0, 0, 0, 0, 19, 20, 0, 0, 0, 0, + 0, 21, 22, 0, 0, 0, 0, 0, 23, 0, + 0, 0, 0, 0, 0, 0, 24, 25, 26, 0, + 27, 0, 0, 0, 28, 7, 8, 9, 10, 29, + 11, 12, 0, 0, 30, 0, 0, 0, 41, 0, + 42, 43, 44, 0, 0, 0, 166, 31, 0, 0, + 0, 32, 33, 0, 0, 34, 167, 35, 0, 951, + 0, 36, 50, 168, 52, 0, 0, 13, 0, 14, + 15, 16, 0, 0, 0, 17, 18, 53, 54, 0, + 0, 0, 0, 0, 19, 20, 0, 0, 0, 0, + 58, 21, 22, 0, 0, 60, 0, 0, 23, 143, + 144, 145, 146, 147, 148, 0, 24, 25, 26, 0, + 27, 0, 0, 149, 28, 0, 0, 0, 107, 29, + 0, 0, 0, 0, 30, 0, 0, 141, 142, 143, + 144, 145, 146, 147, 148, 0, 0, 31, 0, 0, + 0, 32, 33, 149, 0, 34, 0, 35, 0, 0, + 0, 36, 141, 142, 143, 144, 145, 146, 147, 148, + 0, 0, 0, 0, 0, 0, 0, 0, 149, 0, + 0, 141, 142, 143, 144, 145, 146, 147, 148, 0, + 0, 0, 0, 0, 0, 0, 0, 149, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 152, 153, 154, 155, 156, 157, 158, 159, 160, 0, 161, 162, - 163, 141, 142, 143, 144, 145, 146, 147, 148, 0, - 0, 0, 0, 0, 0, 0, 0, 149, 141, 142, - 143, 144, 145, 146, 147, 148, 0, 0, 0, 0, - 0, 0, 0, 0, 149, 141, 142, 143, 144, 145, - 146, 147, 148, 0, 0, 0, 0, 0, 0, 0, - 500, 149, 0, 150, 151, 152, 153, 154, 155, 156, - 157, 158, 159, 160, 0, 161, 162, 163, 615, 616, - 617, 618, 619, 620, 621, 622, 0, 0, 0, 0, - 0, 0, 0, 0, 623, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 774, 0, 0, 0, + 163, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 150, 151, 152, 153, + 154, 155, 156, 157, 158, 159, 160, 0, 161, 162, + 163, 0, 0, 0, 345, 0, 0, 0, 0, 0, + 0, 150, 151, 152, 153, 154, 155, 156, 157, 158, + 159, 160, 0, 161, 162, 163, 0, 0, 0, 914, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, - 160, 0, 161, 162, 163, 910, 0, 150, 151, 152, - 153, 154, 155, 156, 157, 158, 159, 160, 0, 161, - 162, 163, 0, 0, 150, 151, 152, 153, 154, 155, - 156, 157, 158, 159, 160, 0, 161, 162, 163, 877, - 878, 879, 880, 881, 882, 883, 884, 0, 0, 0, - 0, 0, 0, 0, 0, 885, 0, 624, 625, 626, - 627, 628, 629, 630, 631, 632, 633, 634, 0, 635, - 636, 637, 877, 878, 879, 880, 881, 882, 883, 884, - 0, 0, 0, 0, 0, 0, 0, 0, 885, 143, + 160, 0, 161, 162, 163, 363, 364, 0, 973, 504, + 505, 506, 507, 508, 509, 510, 511, 0, 0, 0, + 0, 0, 0, 0, 0, 512, 0, 513, 514, 515, + 516, 517, 518, 519, 520, 521, 522, 523, 524, 0, + 0, 0, 41, 0, 42, 43, 44, 0, 525, 0, + 47, 41, 0, 42, 43, 44, 0, 0, 0, 0, + 49, 0, 0, 0, 0, 0, 50, 51, 52, 0, + 0, 0, 526, 0, 0, 50, 170, 52, 0, 0, + 0, 53, 54, 0, 0, 0, 0, 204, 205, 0, + 53, 54, 0, 0, 58, 0, 0, 59, 0, 60, + 0, 0, 0, 58, 527, 0, 0, 528, 60, 529, + 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, + 0, 540, 541, 206, 41, 542, 42, 43, 44, 45, + 207, 114, 47, 0, 0, 0, 48, 208, 209, 210, + 0, 0, 49, 0, 0, 0, 0, 211, 50, 51, + 52, 0, 0, 212, 204, 205, 0, 213, 0, 0, + 0, 214, 0, 53, 54, 0, 215, 0, 55, 0, + 0, 0, 0, 0, 216, 57, 58, 0, 217, 59, + 218, 60, 0, 0, 0, 0, 219, 0, 0, 0, + 206, 41, 0, 42, 43, 44, 45, 302, 0, 47, + 0, 0, 220, 48, 208, 209, 210, 0, 0, 49, + 0, 0, 0, 0, 211, 50, 51, 52, 0, 0, + 212, 204, 205, 0, 213, 0, 0, 0, 214, 0, + 53, 54, 0, 215, 0, 55, 0, 0, 0, 0, + 0, 216, 57, 58, 0, 217, 59, 218, 60, 141, + 142, 143, 144, 145, 146, 147, 148, 206, 41, 0, + 42, 43, 44, 45, 207, 149, 47, 0, 0, 220, + 48, 208, 209, 210, 0, 0, 49, 0, 0, 0, + 0, 211, 50, 51, 52, 0, 0, 212, 0, 0, + 0, 213, 0, 0, 0, 214, 0, 53, 54, 0, + 215, 0, 55, 0, 0, 0, 0, 0, 216, 57, + 58, 0, 217, 59, 218, 60, 141, 142, 143, 144, + 145, 146, 147, 148, 0, 0, 0, 0, 0, 0, + 0, 0, 149, 0, 0, 0, 220, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 343, 0, 150, 151, + 152, 153, 154, 155, 156, 157, 158, 159, 160, 0, + 161, 162, 163, 141, 142, 143, 144, 145, 146, 147, + 148, 0, 0, 0, 0, 0, 0, 0, 0, 149, + 141, 142, 143, 144, 145, 146, 147, 148, 0, 0, + 0, 0, 0, 0, 0, 0, 149, 141, 142, 143, 144, 145, 146, 147, 148, 0, 0, 0, 0, 0, - 0, 0, 0, 149, 879, 880, 881, 882, 883, 884, - 0, 0, 0, 0, 0, 0, 0, 0, 885, 143, - 144, 145, 146, 147, 148, 0, 0, 0, 0, 0, - 0, 0, 0, 149, 0, 0, 969, 0, 886, 887, - 888, 889, 0, 0, 890, 891, 892, 893, 894, 0, - 895, 896, 897, 879, 880, 881, 882, 883, 884, 0, - 0, 0, 0, 0, 0, 0, 0, 885, 0, 0, - 0, 886, 887, 888, 889, 0, 0, 890, 891, 892, - 893, 894, 0, 895, 896, 897, 0, 0, 0, 153, + 0, 0, 500, 149, 0, 150, 151, 152, 153, 154, + 155, 156, 157, 158, 159, 160, 0, 161, 162, 163, + 615, 616, 617, 618, 619, 620, 621, 622, 0, 0, + 0, 0, 0, 0, 0, 0, 623, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 776, 0, + 0, 0, 150, 151, 152, 153, 154, 155, 156, 157, + 158, 159, 160, 0, 161, 162, 163, 912, 0, 150, + 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, + 0, 161, 162, 163, 0, 0, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 0, 161, 162, - 163, 0, 887, 888, 889, 0, 0, 890, 891, 892, - 893, 894, 0, 895, 896, 897, 0, 0, 0, 0, - 154, 155, 156, 157, 158, 159, 160, 0, 161, 162, - 163, 879, 880, 881, 882, 883, 884, 0, 0, 0, - 0, 0, 0, 0, 0, 885, 0, 0, 0, -2, - 0, 0, 888, 889, 0, 0, 890, 891, 892, 893, - 894, 0, 895, 896, 897, 879, 880, 881, 882, 883, - 884, 0, 0, 0, 0, 0, 0, 0, 0, 885, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 74, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 75, 0, 0, 0, 0, - 76, 0, 0, 77, 0, 0, 0, 0, 0, 0, - 0, 78, 79, 0, 80, 0, 0, 0, 81, 82, - 83, 889, 0, 0, 890, 891, 892, 893, 894, 84, - 895, 896, 897, 85, 363, 364, 0, 86, 0, 0, - 0, 0, 0, 0, 40, 0, 0, 0, 87, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 890, 891, - 892, 893, 894, 0, 895, 896, 897, 0, 0, 0, - 0, 41, 0, 42, 43, 44, 365, 366, 0, 47, - 41, 0, 42, 43, 44, 45, 46, 0, 47, 49, - 0, 0, 48, 0, 0, 50, 51, 52, 49, 0, + 163, 879, 880, 881, 882, 883, 884, 885, 886, 0, + 0, 0, 0, 0, 0, 0, 0, 887, 0, 624, + 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, + 0, 635, 636, 637, 879, 880, 881, 882, 883, 884, + 885, 886, 0, 0, 0, 0, 0, 0, 0, 0, + 887, 143, 144, 145, 146, 147, 148, 0, 0, 0, + 0, 0, 0, 0, 0, 149, 881, 882, 883, 884, + 885, 886, 0, 0, 0, 0, 0, 0, 0, 0, + 887, 881, 882, 883, 884, 885, 886, 0, 0, 0, + 0, 0, 0, 0, 0, 887, 0, 0, 971, 0, + 888, 889, 890, 891, 0, 0, 892, 893, 894, 895, + 896, 0, 897, 898, 899, 881, 882, 883, 884, 885, + 886, 0, 0, 0, 0, 0, 0, 0, 0, 887, + 0, 0, 0, 888, 889, 890, 891, 0, 0, 892, + 893, 894, 895, 896, 0, 897, 898, 899, 0, 0, + 0, 153, 154, 155, 156, 157, 158, 159, 160, 0, + 161, 162, 163, 0, 889, 890, 891, -2, 0, 892, + 893, 894, 895, 896, 0, 897, 898, 899, 0, 0, + 890, 891, 0, 0, 892, 893, 894, 895, 896, 0, + 897, 898, 899, 881, 882, 883, 884, 885, 886, 0, + 0, 0, 0, 0, 0, 0, 0, 887, 0, 0, + 74, 0, 0, 0, 0, 891, 0, 0, 892, 893, + 894, 895, 896, 75, 897, 898, 899, 0, 76, 363, + 364, 77, 145, 146, 147, 148, 0, 0, 0, 78, + 79, 0, 80, 0, 149, 0, 81, 82, 83, 0, + 883, 884, 885, 886, 0, 0, 0, 84, 0, 0, + 0, 85, 887, 0, 0, 86, 41, 0, 42, 43, + 44, 365, 366, 0, 47, 0, 87, 0, 0, 0, + 0, 0, 0, 0, 49, 0, 0, 0, 0, 0, + 50, 51, 52, 0, 0, 0, 892, 893, 894, 895, + 896, 0, 897, 898, 899, 53, 54, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 367, 0, 58, 0, + 0, 59, 0, 60, 40, 0, 0, 0, 0, 0, + 0, 154, 155, 156, 157, 158, 159, 160, 0, 161, + 162, 163, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 892, 893, 894, 895, 896, 0, 897, 898, 899, + 41, 0, 42, 43, 44, 45, 46, 0, 47, 290, + 0, 0, 48, 0, 0, 0, 0, 0, 49, 0, 40, 0, 0, 0, 50, 51, 52, 0, 0, 0, - 53, 54, 0, 0, 0, 0, 0, 0, 0, 53, - 54, 367, 0, 58, 55, 0, 59, 0, 60, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 53, + 54, 0, 0, 0, 55, 41, 0, 42, 43, 44, 56, 57, 58, 0, 0, 59, 41, 60, 42, 43, - 44, 45, 310, 0, 47, 290, 0, 0, 48, 0, - 0, 0, 0, 0, 49, 0, 108, 0, 0, 0, - 50, 51, 52, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 53, 54, 0, 0, 0, - 55, 41, 0, 42, 43, 44, 56, 57, 58, 0, + 44, 45, 310, 0, 47, 0, 0, 0, 48, 50, + 170, 52, 0, 0, 49, 0, 108, 0, 0, 0, + 50, 51, 52, 0, 53, 54, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 53, 54, 58, 0, 0, + 55, 41, 60, 42, 43, 44, 56, 57, 58, 0, 0, 59, 41, 60, 42, 43, 44, 45, 0, 0, 47, 0, 0, 0, 48, 50, 170, 52, 0, 0, 49, 0, 40, 0, 0, 0, 50, 51, 52, 0, 53, 54, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 53, 54, 58, 0, 0, 55, 41, 60, 42, - 43, 44, 109, 57, 58, 0, 0, 59, 41, 60, + 0, 53, 54, 58, 0, 0, 55, 0, 60, 0, + 0, 0, 109, 57, 58, 0, 0, 59, 41, 60, 42, 43, 44, 45, 0, 0, 47, 0, 0, 0, - 48, 50, 170, 52, 0, 0, 49, 0, 0, 0, - 0, 0, 50, 51, 52, 0, 53, 54, 0, 0, - 0, 0, 0, 74, 0, 0, 0, 53, 54, 58, - 0, 0, 55, 0, 60, 0, 75, 0, 56, 57, + 48, 115, 0, 0, 0, 0, 49, 0, 0, 0, + 0, 0, 50, 51, 52, 0, 0, 0, 0, 0, + 0, 0, 0, 74, 0, 0, 0, 53, 54, 0, + 0, 0, 55, 0, 0, 0, 75, 0, 56, 57, 58, 76, 0, 59, 77, 60, 0, 0, 0, 0, - 74, 0, 78, 79, 0, 80, 0, 115, 0, 81, + 74, 0, 78, 79, 0, 80, 0, 0, 0, 81, 82, 83, 0, 75, 0, 0, 0, 0, 76, 0, 84, 77, 0, 0, 85, 0, 0, 74, 86, 78, 79, 0, 80, 0, 0, 0, 81, 82, 83, 87, @@ -1940,7 +1946,7 @@ static const yytype_int16 yytable[] = 0, 41, 85, 42, 43, 44, 86, 0, 0, 576, 0, 0, 0, 0, 0, 0, 0, 87, 0, 0, 0, 0, 0, 0, 0, 50, 170, 52, 0, 0, - 0, 74, 0, 0, 0, 0, 783, 0, 0, 0, + 0, 74, 0, 0, 0, 0, 785, 0, 0, 0, 53, 54, 0, 0, 75, 0, 0, 0, 0, 76, 0, 0, 77, 58, 0, 0, 0, 0, 60, 0, 78, 79, 0, 80, 0, 0, 0, 81, 82, 83, @@ -1949,356 +1955,357 @@ static const yytype_int16 yytable[] = }; #define yypact_value_is_default(Yystate) \ - (!!((Yystate) == (-491))) + (!!((Yystate) == (-490))) #define yytable_value_is_error(Yytable_value) \ YYID (0) static const yytype_int16 yycheck[] = { - 1, 35, 2, 91, 5, 495, 85, 91, 91, 293, - 12, 23, 23, 10, 23, 8, 9, 0, 380, 8, - 9, 35, 107, 29, 303, 110, 125, 486, 422, 423, - 125, 31, 32, 33, 34, 448, 36, 8, 9, 8, - 9, 46, 99, 100, 101, 102, 103, 108, 105, 106, - 107, 125, 209, 108, 416, 108, 107, 114, 115, 110, - 61, 118, 119, 110, 108, 478, 127, 77, 8, 9, - 376, 125, 127, 379, 127, 381, 108, 125, 432, 91, - 91, 91, 91, 127, 85, 439, 440, 441, 442, 443, - 104, 550, 194, 116, 165, 127, 402, 403, 452, 405, - 406, 407, 116, 117, 8, 9, 108, 178, 179, 180, - 181, 182, 200, 126, 127, 469, 200, 200, 124, 125, - 126, 110, 51, 120, 53, 54, 488, 411, 162, 58, - 409, 8, 9, 592, 127, 75, 107, 125, 107, 125, - 446, 141, 142, 143, 144, 145, 146, 147, 148, 149, + 1, 35, 2, 91, 5, 293, 495, 91, 91, 85, + 111, 23, 23, 486, 23, 194, 108, 380, 12, 432, + 303, 35, 10, 8, 9, 126, 439, 440, 441, 442, + 443, 31, 32, 33, 34, 127, 36, 8, 9, 452, + 108, 46, 99, 100, 101, 102, 103, 108, 105, 106, + 107, 209, 0, 416, 108, 448, 469, 114, 115, 127, + 61, 118, 119, 422, 423, 125, 127, 8, 9, 376, + 8, 9, 379, 127, 381, 108, 111, 550, 29, 91, + 91, 125, 91, 4, 85, 478, 107, 8, 9, 110, + 104, 126, 8, 9, 127, 402, 403, 125, 405, 406, + 407, 382, 116, 117, 77, 386, 387, 388, 389, 125, + 8, 9, 200, 116, 108, 294, 200, 200, 91, 592, + 6, 108, 107, 411, 107, 488, 409, 110, 162, 10, + 126, 127, 120, 14, 313, 125, 107, 75, 116, 446, + 127, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, - 160, 161, 108, 163, 165, 111, 560, 29, 474, 448, - 564, 125, 566, 50, 568, 569, 570, 178, 179, 180, - 181, 182, 125, 596, 185, 242, 599, 125, 200, 200, - 191, 200, 294, 194, 10, 501, 107, 108, 14, 478, - 125, 614, 207, 132, 133, 134, 135, 125, 213, 280, - 116, 313, 89, 56, 6, 8, 9, 10, 95, 96, - 377, 14, 382, 380, 67, 68, 386, 387, 388, 389, - 125, 585, 8, 9, 10, 51, 108, 80, 14, 168, - 125, 170, 108, 86, 107, 29, 600, 79, 80, 81, - 111, 251, 252, 108, 108, 127, 125, 186, 51, 416, - 362, 127, 124, 125, 126, 126, 109, 99, 111, 112, - 126, 127, 127, 127, 107, 51, 109, 110, 111, 280, - 111, 125, 108, 110, 646, 286, 286, 108, 108, 301, - 8, 9, 10, 294, 295, 126, 14, 302, 299, 115, - 301, 127, 78, 110, 120, 310, 127, 127, 110, 125, - 311, 107, 313, 109, 110, 111, 125, 596, 318, 127, - 480, 120, 115, 126, 426, 641, 108, 120, 8, 125, - 126, 488, 125, 51, 118, 119, 120, 121, 122, 115, - 124, 125, 126, 343, 120, 127, 110, 4, 107, 125, - 193, 8, 9, 354, 366, 434, 104, 105, 106, 202, - 116, 362, 125, 126, 293, 79, 80, 81, 858, 6, - 371, 125, 377, 216, 125, 380, 377, 220, 412, 380, - 414, 382, 109, 226, 227, 386, 387, 388, 389, 125, - 126, 392, 125, 126, 395, 127, 809, 115, 399, 399, - 108, 127, 120, 127, 127, 110, 768, 127, 409, 128, - 127, 416, 421, 422, 423, 416, 29, 117, 127, 419, - 125, 126, 127, 435, 127, 426, 127, 117, 127, 430, - 464, 432, 127, 434, 127, 29, 127, 494, 439, 440, + 160, 161, 125, 163, 165, 448, 108, 474, 125, 111, + 51, 125, 585, 124, 125, 126, 125, 178, 179, 180, + 181, 182, 125, 362, 185, 242, 127, 600, 200, 200, + 191, 200, 125, 194, 501, 478, 125, 126, 108, 480, + 125, 560, 207, 596, 108, 564, 599, 566, 213, 568, + 569, 570, 110, 56, 8, 9, 10, 127, 125, 377, + 14, 614, 380, 127, 67, 68, 108, 8, 9, 10, + 8, 9, 10, 14, 115, 108, 14, 80, 125, 120, + 79, 80, 81, 86, 125, 127, 107, 426, 165, 125, + 29, 251, 252, 110, 127, 107, 108, 51, 416, 108, + 99, 178, 179, 180, 181, 182, 109, 125, 111, 112, + 51, 125, 107, 51, 109, 110, 111, 108, 127, 280, + 108, 125, 126, 646, 78, 286, 286, 110, 110, 301, + 125, 126, 110, 294, 295, 110, 127, 302, 299, 127, + 301, 127, 125, 126, 127, 310, 104, 105, 106, 29, + 311, 120, 313, 596, 79, 80, 81, 110, 318, 125, + 126, 115, 126, 641, 8, 107, 120, 109, 110, 111, + 488, 125, 107, 116, 115, 126, 127, 115, 125, 120, + 8, 9, 120, 343, 125, 124, 125, 126, 125, 110, + 193, 6, 110, 354, 366, 109, 127, 108, 434, 202, + 127, 362, 117, 280, 125, 126, 127, 125, 126, 127, + 371, 860, 377, 216, 127, 380, 377, 220, 412, 380, + 414, 382, 50, 226, 227, 386, 387, 388, 389, 127, + 127, 392, 127, 127, 395, 127, 127, 127, 399, 399, + 120, 121, 122, 127, 124, 125, 126, 770, 409, 127, + 117, 416, 421, 422, 423, 416, 127, 29, 811, 419, + 128, 89, 127, 435, 110, 426, 108, 95, 96, 430, + 464, 432, 108, 434, 125, 29, 125, 494, 439, 440, 441, 442, 443, 444, 287, 457, 457, 448, 457, 454, - 464, 452, 127, 125, 110, 110, 613, 773, 108, 108, - 125, 461, 462, 463, 127, 465, 125, 125, 469, 125, - 126, 127, 107, 107, 317, 108, 130, 478, 8, 480, - 108, 117, 411, 488, 128, 486, 486, 488, 850, 646, - 120, 120, 580, 125, 495, 495, 580, 580, 120, 110, - 806, 108, 111, 111, 866, 118, 119, 120, 121, 122, - 90, 124, 125, 126, 125, 126, 127, 360, 120, 116, - 125, 116, 365, 127, 367, 126, 120, 121, 122, 591, - 124, 125, 126, 108, 127, 108, 128, 853, 127, 130, - 127, 8, 109, 849, 126, 108, 125, 51, 548, 550, - 550, 560, 914, 127, 4, 564, 125, 566, 108, 568, - 569, 570, 130, 577, 128, 579, 127, 127, 580, 580, - 571, 580, 29, 17, 18, 19, 20, 578, 421, 422, - 423, 128, 130, 127, 585, 29, 127, 601, 125, 603, - 604, 592, 592, 899, 116, 596, 958, 125, 599, 600, - 116, 917, 636, 130, 117, 921, 108, 127, 613, 117, - 611, 768, 127, 614, 125, 615, 616, 617, 618, 619, + 464, 452, 127, 125, 125, 613, 130, 775, 107, 107, + 8, 461, 462, 463, 108, 465, 117, 108, 469, 128, + 120, 125, 108, 120, 317, 120, 111, 478, 111, 480, + 90, 120, 116, 488, 127, 486, 486, 488, 646, 852, + 116, 128, 580, 125, 495, 495, 580, 580, 127, 126, + 108, 808, 127, 108, 127, 868, 118, 119, 120, 121, + 122, 130, 124, 125, 126, 8, 109, 360, 108, 126, + 51, 125, 365, 4, 367, 127, 120, 121, 122, 591, + 124, 125, 126, 125, 108, 130, 127, 855, 108, 128, + 127, 116, 128, 127, 851, 130, 127, 125, 548, 550, + 550, 560, 125, 916, 116, 564, 117, 566, 130, 568, + 569, 570, 29, 577, 127, 579, 117, 125, 580, 580, + 571, 580, 127, 127, 109, 109, 125, 578, 421, 422, + 423, 127, 127, 125, 585, 125, 127, 601, 127, 603, + 604, 592, 592, 117, 901, 596, 128, 960, 599, 600, + 127, 919, 636, 117, 127, 923, 125, 125, 613, 493, + 611, 127, 770, 614, 127, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, - 630, 631, 632, 633, 634, 635, 127, 637, 109, 109, - 641, 646, 127, 125, 960, 646, 127, 125, 964, 125, - 493, 128, 127, 127, 3, 4, 5, 6, 117, 8, - 191, 977, 127, 120, 121, 122, 117, 124, 125, 126, - 986, 127, 116, 117, 118, 119, 120, 121, 122, 125, - 124, 125, 126, 125, 127, 434, 127, 493, 770, 806, - 849, 899, 434, 850, 200, 435, 366, 578, 613, 200, - 457, 492, 427, 732, 547, 54, -1, -1, -1, 866, - -1, -1, -1, 62, -1, -1, 559, 560, 561, -1, + 630, 631, 632, 633, 634, 635, 772, 637, 191, 434, + 641, 646, 851, 808, 962, 646, 19, 20, 966, 901, + 493, 118, 119, 120, 121, 122, 29, 124, 125, 126, + 51, 979, 53, 54, 200, 434, 366, 58, 613, 435, + 988, 200, 578, 8, 9, 427, 492, 457, 734, 15, + 16, 17, 18, 19, 20, -1, -1, -1, -1, -1, + -1, -1, -1, 29, 852, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 547, -1, -1, -1, -1, -1, + 868, -1, -1, -1, -1, 50, 559, 560, 561, -1, -1, 564, -1, 566, -1, 568, 569, 570, -1, -1, - -1, 732, 575, 795, 796, 797, 798, 86, 800, 88, - -1, -1, -1, 92, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 811, -1, -1, 914, -1, -1, - -1, 761, -1, 768, -1, 799, 115, 768, -1, -1, - 119, 120, 773, -1, 123, -1, 125, -1, -1, -1, - 129, -1, -1, -1, -1, 799, -1, -1, -1, -1, - -1, 795, 796, 797, 798, -1, 800, 17, 18, 19, - 20, 958, -1, -1, -1, -1, -1, 807, 809, 29, - -1, -1, -1, -1, 814, 877, 878, 879, 880, 881, + -1, -1, 575, 734, -1, 797, 798, 799, 800, -1, + 802, 132, 133, 134, 135, 118, 119, 120, 121, 122, + -1, 124, 125, 126, 89, -1, 813, -1, 916, -1, + 95, 96, -1, 763, 99, 770, -1, 801, -1, 770, + -1, -1, -1, -1, 775, -1, -1, 168, -1, 170, + 116, 117, 118, 119, 120, 121, 122, 801, 124, 125, + 126, -1, -1, -1, -1, 186, -1, -1, 797, 798, + 799, 800, 960, 802, -1, -1, -1, -1, -1, 809, + 811, -1, -1, -1, -1, -1, 816, 879, 880, 881, 882, 883, 884, 885, 886, 887, 888, 889, 890, 891, - 892, 893, 894, 895, 15, 16, 17, 18, 19, 20, - -1, -1, -1, -1, -1, 850, -1, -1, 29, 850, - -1, -1, 853, 867, 868, 869, -1, 858, 858, -1, - -1, 866, 896, -1, -1, 866, 928, -1, -1, -1, - -1, -1, -1, 877, 878, 879, 880, 881, 882, 883, - 884, 885, 886, 887, 888, 889, 890, 891, 892, 893, - 894, 895, -1, -1, -1, -1, -1, 897, 118, 119, - 120, 121, 122, -1, 124, 125, 126, 969, -1, 914, - 910, -1, -1, 914, -1, -1, 917, -1, -1, 953, - 921, 955, -1, -1, 928, -1, -1, -1, -1, -1, - -1, -1, 113, 114, 115, 116, 117, 118, 119, 120, - 121, 122, -1, 124, 125, 126, 980, 981, -1, -1, - -1, -1, -1, 958, -1, -1, -1, 958, -1, 960, - -1, -1, -1, 964, -1, 969, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 977, 3, 4, 5, - 6, 7, 8, 9, 10, 986, 12, 13, 14, 15, + 892, 893, 894, 895, 896, 897, 15, 16, 17, 18, + 19, 20, -1, -1, -1, -1, -1, 852, -1, -1, + 29, 852, -1, -1, 855, 869, 870, 871, -1, 860, + 860, -1, -1, 868, 898, -1, -1, 868, 930, -1, + -1, -1, -1, -1, -1, 8, 9, -1, -1, -1, + 879, 880, 881, 882, 883, 884, 885, 886, 887, 888, + 889, 890, 891, 892, 893, 894, 895, 896, 897, 899, + -1, -1, 293, -1, -1, -1, -1, -1, -1, 971, + -1, 916, 912, -1, -1, 916, -1, 50, 919, -1, + -1, 955, 923, 957, -1, -1, -1, -1, -1, -1, + -1, 930, -1, -1, 113, 114, 115, 116, 117, 118, + 119, 120, 121, 122, -1, 124, 125, 126, 982, 983, + -1, -1, -1, -1, -1, 960, 89, -1, -1, 960, + -1, 962, 95, 96, -1, 966, 99, -1, -1, -1, + -1, -1, 971, -1, -1, -1, -1, -1, 979, 3, + 4, 5, 6, 7, 8, 9, 10, 988, 12, 13, + 14, 15, 16, 17, 18, 19, 20, 21, 22, -1, + -1, -1, -1, -1, -1, 29, 30, 31, 32, 33, + 34, 35, 36, 37, 38, 39, 40, 41, 42, -1, + 411, 45, 46, 47, 48, 49, 50, 51, 52, 53, + 54, 55, -1, 57, -1, 59, 60, 61, 62, 63, + 64, 65, 66, 67, 68, 69, 70, -1, -1, -1, + 74, 75, 76, -1, 78, 79, 80, 81, 82, 83, + 84, 85, 86, 87, 88, 89, -1, 91, 92, 93, + 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, + -1, -1, -1, 107, 108, 109, 110, 111, 112, 113, + 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, + 124, 125, 126, 127, 128, 129, 130, 3, 4, 5, + 6, 7, 8, 9, 10, 958, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, -1, -1, -1, -1, -1, -1, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, -1, -1, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, -1, 57, -1, 59, 60, 61, 62, 63, 64, 65, - 66, 67, 68, 69, 70, -1, -1, -1, 74, -1, + 66, 67, 68, 69, 70, -1, -1, -1, 74, 75, 76, -1, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, -1, 91, 92, 93, 94, 95, - 96, 97, -1, 99, 100, 101, 102, 103, -1, -1, - -1, 107, 108, 109, 110, 111, 112, 113, 114, 115, + 96, 97, 98, 99, 100, 101, 102, 103, -1, 8, + 9, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, - 126, 127, 128, 129, 130, 3, 4, 5, 6, 7, - 8, 9, 10, 956, 12, 13, 14, 15, 16, 17, - 18, 19, 20, 21, 22, -1, -1, -1, -1, -1, - -1, 29, 30, 31, 32, 33, 34, 35, 36, 37, - 38, 39, 40, 41, 42, -1, -1, 45, 46, 47, - 48, 49, 50, 51, 52, 53, 54, 55, -1, 57, - -1, 59, 60, 61, 62, 63, 64, 65, 66, 67, - 68, 69, 70, -1, -1, -1, 74, -1, 76, -1, - 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, - 88, 89, -1, 91, 92, 93, 94, 95, 96, 97, - -1, 99, 100, 101, 102, 103, -1, 8, 9, 107, - 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, - 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, - -1, 129, 130, 3, 4, 5, 6, -1, 8, 9, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 50, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 14, 15, 16, 17, 18, 19, 20, -1, -1, - -1, -1, -1, -1, -1, 45, 29, 47, 48, 49, - 50, 51, -1, 53, 54, -1, -1, 57, 89, -1, - -1, -1, 62, 63, 95, 96, -1, -1, 99, 69, - 70, 71, -1, -1, -1, -1, 76, -1, -1, -1, - -1, -1, -1, -1, 84, 85, 86, -1, 88, 89, - -1, -1, 92, -1, -1, 95, 96, 97, -1, -1, - 100, -1, 102, 3, 4, 5, 6, -1, 8, 9, - -1, -1, 12, -1, -1, 115, -1, -1, -1, 119, - 120, -1, -1, 123, -1, 125, 8, 9, -1, 129, - 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, - -1, 124, 125, 126, -1, 45, -1, 47, 48, 49, - 50, 51, -1, 53, 54, -1, -1, 57, -1, -1, - -1, -1, 62, 63, -1, -1, -1, -1, 50, 69, - 70, 71, -1, -1, -1, -1, 76, -1, -1, -1, - -1, -1, -1, -1, 84, 85, 86, -1, 88, 89, - -1, -1, 92, -1, -1, 95, 96, 97, -1, -1, - 100, -1, 102, 3, 4, 5, 6, 89, 8, 9, - -1, -1, 12, 95, 96, 115, -1, 99, -1, 119, - -1, -1, -1, 123, -1, 125, 8, 9, -1, 129, - -1, 14, 15, 16, 17, 18, 19, 20, -1, -1, - -1, -1, -1, -1, -1, 45, 29, 47, 48, 49, - 50, 51, -1, 53, 54, -1, -1, 57, -1, -1, - -1, -1, 62, 63, -1, -1, -1, -1, 50, 69, - 70, 71, 19, 20, -1, -1, 76, -1, -1, -1, - -1, -1, 29, -1, 84, 85, 86, -1, 88, 89, - -1, -1, 92, -1, -1, 95, 96, 97, -1, -1, - 100, -1, 102, 3, 4, 5, 6, 89, 8, 9, - -1, 19, 20, 95, 96, 115, -1, 99, -1, 119, - -1, 29, -1, 123, -1, 125, -1, -1, -1, 129, - 113, 114, 115, -1, -1, 118, 119, 120, 121, 122, - -1, 124, 125, 126, -1, 45, -1, 47, 48, 49, - -1, -1, -1, 53, 54, -1, -1, -1, -1, -1, - -1, -1, 62, 63, -1, -1, -1, -1, -1, 69, - 70, 118, 119, 120, 121, 122, 76, 124, 125, 126, - -1, -1, -1, -1, 84, 85, 86, -1, 88, -1, - -1, -1, 92, 3, 4, 5, 6, 97, 8, 9, - -1, -1, 102, -1, -1, -1, -1, -1, -1, -1, - 118, 119, 120, 121, 122, 115, 124, 125, 126, 119, - 120, -1, -1, 123, -1, 125, -1, 127, -1, 129, - -1, -1, -1, -1, -1, 45, -1, 47, 48, 49, - -1, -1, -1, 53, 54, -1, -1, -1, -1, -1, - -1, -1, 62, 63, -1, -1, -1, -1, -1, 69, - 70, -1, -1, -1, -1, -1, 76, -1, -1, -1, - -1, -1, -1, -1, 84, 85, 86, -1, 88, -1, - -1, -1, 92, 3, 4, 5, 6, 97, 8, 9, - -1, -1, 102, -1, -1, -1, 45, 107, 47, 48, - 49, -1, -1, -1, 53, 115, -1, -1, -1, 119, - 120, -1, -1, 123, 63, 125, -1, -1, -1, 129, - 69, 70, 71, -1, -1, 45, -1, 47, 48, 49, - -1, -1, -1, 53, 54, 84, 85, -1, -1, -1, - -1, -1, 62, 63, -1, -1, -1, -1, 97, 69, - 70, -1, -1, 102, -1, -1, 76, -1, -1, -1, - -1, -1, -1, -1, 84, 85, 86, -1, 88, -1, - -1, -1, 92, 3, 4, 5, 6, 97, 8, 9, - -1, -1, 102, -1, -1, -1, 45, 107, 47, 48, - 49, -1, -1, -1, -1, 115, -1, -1, -1, 119, - 120, -1, -1, 123, 63, 125, -1, -1, -1, 129, - 69, 70, 71, -1, -1, 45, -1, 47, 48, 49, - -1, -1, -1, 53, 54, 84, 85, -1, -1, -1, - -1, -1, 62, 63, -1, -1, -1, -1, 97, 69, - 70, -1, -1, 102, -1, -1, 76, -1, -1, -1, - -1, -1, -1, -1, 84, 85, 86, -1, 88, -1, - -1, -1, 92, 3, 4, 5, 6, 97, 8, 9, - -1, -1, 102, -1, -1, -1, 45, -1, 47, 48, - 49, -1, -1, -1, -1, 115, -1, -1, -1, 119, - 120, -1, -1, 123, -1, 125, -1, 127, -1, 129, - 69, 70, 71, -1, -1, 45, -1, 47, 48, 49, - -1, -1, -1, 53, 54, 84, 85, -1, -1, -1, - -1, -1, 62, 63, -1, -1, -1, -1, 97, 69, - 70, -1, -1, 102, -1, -1, 76, -1, -1, -1, - -1, -1, -1, -1, 84, 85, 86, -1, 88, -1, - -1, -1, 92, 3, 4, 5, 6, 97, 8, 9, - -1, -1, 102, -1, -1, -1, -1, 107, -1, -1, - -1, -1, -1, -1, -1, 115, -1, -1, -1, 119, - 120, -1, -1, 123, -1, 125, -1, -1, -1, 129, - -1, -1, -1, -1, -1, 45, -1, 47, 48, 49, - -1, -1, -1, 53, 54, -1, -1, -1, -1, -1, - -1, -1, 62, 63, -1, -1, -1, -1, -1, 69, - 70, -1, -1, -1, -1, -1, 76, -1, -1, -1, - -1, -1, -1, -1, 84, 85, 86, -1, 88, -1, - -1, -1, 92, 3, 4, 5, 6, 97, 8, 9, - -1, -1, 102, -1, -1, -1, 45, -1, 47, 48, - 49, -1, -1, -1, 53, 115, -1, -1, -1, 119, - 120, -1, -1, 123, 63, 125, -1, 127, -1, 129, - 69, 70, 71, -1, -1, 45, -1, 47, 48, 49, - -1, -1, -1, 53, 54, 84, 85, -1, -1, -1, - -1, -1, 62, 63, -1, -1, -1, -1, 97, 69, - 70, -1, -1, 102, -1, -1, 76, 15, 16, 17, - 18, 19, 20, -1, 84, 85, 86, -1, 88, -1, - -1, 29, 92, -1, -1, -1, 125, 97, -1, -1, - -1, -1, 102, -1, -1, 13, 14, 15, 16, 17, - 18, 19, 20, -1, -1, 115, -1, -1, -1, 119, - 120, 29, -1, 123, -1, 125, -1, -1, -1, 129, - 13, 14, 15, 16, 17, 18, 19, 20, -1, -1, - -1, -1, -1, -1, -1, -1, 29, -1, -1, 13, + 126, 127, -1, 129, 130, 3, 4, 5, 6, -1, + 8, 9, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 50, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 14, 15, 16, 17, 18, 19, 20, + -1, -1, -1, -1, -1, -1, -1, 45, 29, 47, + 48, 49, 50, 51, -1, 53, 54, -1, -1, 57, + 89, -1, -1, -1, 62, 63, 95, 96, -1, -1, + 99, 69, 70, 71, -1, -1, -1, -1, 76, -1, + -1, -1, -1, -1, -1, -1, 84, 85, 86, -1, + 88, 89, -1, -1, 92, -1, -1, 95, 96, 97, + -1, -1, 100, -1, 102, 3, 4, 5, 6, -1, + 8, 9, -1, -1, 12, -1, -1, 115, -1, -1, + -1, 119, 120, -1, -1, 123, -1, 125, -1, -1, + -1, 129, 113, 114, 115, 116, 117, 118, 119, 120, + 121, 122, -1, 124, 125, 126, -1, 45, -1, 47, + 48, 49, 50, 51, -1, 53, 54, -1, -1, 57, + -1, -1, -1, -1, 62, 63, -1, -1, -1, -1, + -1, 69, 70, 71, -1, -1, -1, -1, 76, -1, + -1, -1, -1, -1, -1, -1, 84, 85, 86, -1, + 88, 89, -1, -1, 92, -1, -1, 95, 96, 97, + -1, -1, 100, -1, 102, 3, 4, 5, 6, -1, + 8, 9, -1, -1, 12, -1, -1, 115, -1, -1, + -1, 119, -1, -1, -1, 123, -1, 125, -1, -1, + -1, 129, -1, 14, 15, 16, 17, 18, 19, 20, + -1, 3, 4, 5, 6, -1, 8, 45, 29, 47, + 48, 49, 50, 51, -1, 53, 54, -1, -1, 57, + -1, -1, -1, -1, 62, 63, -1, -1, -1, -1, + -1, 69, 70, 71, 19, 20, -1, -1, 76, -1, + -1, -1, -1, -1, 29, -1, 84, 85, 86, -1, + 88, 89, 54, -1, 92, -1, -1, 95, 96, 97, + 62, -1, 100, -1, 102, 3, 4, 5, 6, -1, + 8, 9, -1, -1, -1, -1, -1, 115, -1, -1, + -1, 119, -1, -1, 86, 123, 88, 125, -1, -1, + 92, 129, 113, 114, 115, -1, -1, 118, 119, 120, + 121, 122, -1, 124, 125, 126, -1, 45, -1, 47, + 48, 49, -1, 115, -1, 53, 54, 119, 120, -1, + -1, 123, -1, 125, 62, 63, -1, 129, -1, -1, + -1, 69, 70, 118, 119, 120, 121, 122, 76, 124, + 125, 126, -1, -1, -1, -1, 84, 85, 86, -1, + 88, -1, -1, -1, 92, 3, 4, 5, 6, 97, + 8, 9, -1, -1, 102, -1, -1, -1, 45, -1, + 47, 48, 49, -1, -1, -1, 53, 115, -1, -1, + -1, 119, 120, -1, -1, 123, 63, 125, -1, 127, + -1, 129, 69, 70, 71, -1, -1, 45, -1, 47, + 48, 49, -1, -1, -1, 53, 54, 84, 85, -1, + -1, -1, -1, -1, 62, 63, -1, -1, -1, -1, + 97, 69, 70, -1, -1, 102, -1, -1, 76, -1, + -1, -1, -1, -1, -1, -1, 84, 85, 86, -1, + 88, -1, -1, -1, 92, 3, 4, 5, 6, 97, + 8, 9, -1, -1, 102, -1, -1, -1, 45, 107, + 47, 48, 49, -1, -1, -1, -1, 115, -1, -1, + -1, 119, 120, -1, -1, 123, 63, 125, -1, -1, + -1, 129, 69, 70, 71, -1, -1, 45, -1, 47, + 48, 49, -1, -1, -1, 53, 54, 84, 85, -1, + -1, -1, -1, -1, 62, 63, -1, -1, -1, -1, + 97, 69, 70, -1, -1, 102, -1, -1, 76, -1, + -1, -1, -1, -1, -1, -1, 84, 85, 86, -1, + 88, -1, -1, -1, 92, 3, 4, 5, 6, 97, + 8, 9, -1, -1, 102, -1, -1, -1, 45, 107, + 47, 48, 49, -1, -1, -1, -1, 115, -1, -1, + -1, 119, 120, -1, -1, 123, -1, 125, -1, -1, + -1, 129, 69, 70, 71, -1, -1, 45, -1, 47, + 48, 49, -1, -1, -1, 53, 54, 84, 85, -1, + -1, -1, -1, -1, 62, 63, -1, -1, -1, -1, + 97, 69, 70, -1, -1, 102, -1, -1, 76, -1, + -1, -1, -1, -1, -1, -1, 84, 85, 86, -1, + 88, -1, -1, -1, 92, 3, 4, 5, 6, 97, + 8, 9, -1, -1, 102, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 115, -1, -1, + -1, 119, 120, -1, -1, 123, -1, 125, -1, 127, + -1, 129, -1, -1, -1, -1, -1, 45, -1, 47, + 48, 49, -1, -1, -1, 53, 54, -1, -1, -1, + -1, -1, -1, -1, 62, 63, -1, -1, -1, -1, + -1, 69, 70, -1, -1, -1, -1, -1, 76, -1, + -1, -1, -1, -1, -1, -1, 84, 85, 86, -1, + 88, -1, -1, -1, 92, 3, 4, 5, 6, 97, + 8, 9, -1, -1, 102, -1, -1, -1, -1, 107, + -1, -1, -1, -1, -1, -1, -1, 115, -1, -1, + -1, 119, 120, -1, -1, 123, -1, 125, -1, -1, + -1, 129, -1, -1, -1, -1, -1, 45, -1, 47, + 48, 49, -1, -1, -1, 53, 54, -1, -1, -1, + -1, -1, -1, -1, 62, 63, -1, -1, -1, -1, + -1, 69, 70, -1, -1, -1, -1, -1, 76, -1, + -1, -1, -1, -1, -1, -1, 84, 85, 86, -1, + 88, -1, -1, -1, 92, 3, 4, 5, 6, 97, + 8, 9, -1, -1, 102, -1, -1, -1, 45, -1, + 47, 48, 49, -1, -1, -1, 53, 115, -1, -1, + -1, 119, 120, -1, -1, 123, 63, 125, -1, 127, + -1, 129, 69, 70, 71, -1, -1, 45, -1, 47, + 48, 49, -1, -1, -1, 53, 54, 84, 85, -1, + -1, -1, -1, -1, 62, 63, -1, -1, -1, -1, + 97, 69, 70, -1, -1, 102, -1, -1, 76, 15, + 16, 17, 18, 19, 20, -1, 84, 85, 86, -1, + 88, -1, -1, 29, 92, -1, -1, -1, 125, 97, + -1, -1, -1, -1, 102, -1, -1, 13, 14, 15, + 16, 17, 18, 19, 20, -1, -1, 115, -1, -1, + -1, 119, 120, 29, -1, 123, -1, 125, -1, -1, + -1, 129, 13, 14, 15, 16, 17, 18, 19, 20, + -1, -1, -1, -1, -1, -1, -1, -1, 29, -1, + -1, 13, 14, 15, 16, 17, 18, 19, 20, -1, + -1, -1, -1, -1, -1, -1, -1, 29, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 114, 115, + 116, 117, 118, 119, 120, 121, 122, -1, 124, 125, + 126, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 112, 113, 114, 115, + 116, 117, 118, 119, 120, 121, 122, -1, 124, 125, + 126, -1, -1, -1, 130, -1, -1, -1, -1, -1, + -1, 112, 113, 114, 115, 116, 117, 118, 119, 120, + 121, 122, -1, 124, 125, 126, -1, -1, -1, 130, + 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, + 122, -1, 124, 125, 126, 8, 9, -1, 130, 13, 14, 15, 16, 17, 18, 19, 20, -1, -1, -1, - -1, -1, -1, -1, -1, 29, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 114, 115, 116, 117, - 118, 119, 120, 121, 122, -1, 124, 125, 126, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 112, 113, 114, 115, 116, 117, - 118, 119, 120, 121, 122, -1, 124, 125, 126, -1, - -1, -1, 130, -1, -1, -1, -1, -1, -1, 112, - 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, - -1, 124, 125, 126, -1, -1, -1, 130, 112, 113, + -1, -1, -1, -1, -1, 29, -1, 31, 32, 33, + 34, 35, 36, 37, 38, 39, 40, 41, 42, -1, + -1, -1, 45, -1, 47, 48, 49, -1, 52, -1, + 53, 45, -1, 47, 48, 49, -1, -1, -1, -1, + 63, -1, -1, -1, -1, -1, 69, 70, 71, -1, + -1, -1, 76, -1, -1, 69, 70, 71, -1, -1, + -1, 84, 85, -1, -1, -1, -1, 8, 9, -1, + 84, 85, -1, -1, 97, -1, -1, 100, -1, 102, + -1, -1, -1, 97, 108, -1, -1, 111, 102, 113, + 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, + -1, 125, 126, 44, 45, 129, 47, 48, 49, 50, + 51, 125, 53, -1, -1, -1, 57, 58, 59, 60, + -1, -1, 63, -1, -1, -1, -1, 68, 69, 70, + 71, -1, -1, 74, 8, 9, -1, 78, -1, -1, + -1, 82, -1, 84, 85, -1, 87, -1, 89, -1, + -1, -1, -1, -1, 95, 96, 97, -1, 99, 100, + 101, 102, -1, -1, -1, -1, 107, -1, -1, -1, + 44, 45, -1, 47, 48, 49, 50, 51, -1, 53, + -1, -1, 123, 57, 58, 59, 60, -1, -1, 63, + -1, -1, -1, -1, 68, 69, 70, 71, -1, -1, + 74, 8, 9, -1, 78, -1, -1, -1, 82, -1, + 84, 85, -1, 87, -1, 89, -1, -1, -1, -1, + -1, 95, 96, 97, -1, 99, 100, 101, 102, 13, + 14, 15, 16, 17, 18, 19, 20, 44, 45, -1, + 47, 48, 49, 50, 51, 29, 53, -1, -1, 123, + 57, 58, 59, 60, -1, -1, 63, -1, -1, -1, + -1, 68, 69, 70, 71, -1, -1, 74, -1, -1, + -1, 78, -1, -1, -1, 82, -1, 84, 85, -1, + 87, -1, 89, -1, -1, -1, -1, -1, 95, 96, + 97, -1, 99, 100, 101, 102, 13, 14, 15, 16, + 17, 18, 19, 20, -1, -1, -1, -1, -1, -1, + -1, -1, 29, -1, -1, -1, 123, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 110, -1, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, -1, - 124, 125, 126, 8, 9, -1, 130, 13, 14, 15, + 124, 125, 126, 13, 14, 15, 16, 17, 18, 19, + 20, -1, -1, -1, -1, -1, -1, -1, -1, 29, + 13, 14, 15, 16, 17, 18, 19, 20, -1, -1, + -1, -1, -1, -1, -1, -1, 29, 13, 14, 15, 16, 17, 18, 19, 20, -1, -1, -1, -1, -1, - -1, -1, -1, 29, -1, 31, 32, 33, 34, 35, - 36, 37, 38, 39, 40, 41, 42, -1, -1, -1, - 45, -1, 47, 48, 49, -1, 52, -1, 53, 45, - -1, 47, 48, 49, -1, -1, -1, -1, 63, -1, - -1, -1, -1, -1, 69, 70, 71, -1, -1, -1, - 76, -1, -1, 69, 70, 71, -1, -1, -1, 84, - 85, -1, -1, -1, -1, 8, 9, -1, 84, 85, - -1, -1, 97, -1, -1, 100, -1, 102, -1, -1, - -1, 97, 108, -1, -1, 111, 102, 113, 114, 115, - 116, 117, 118, 119, 120, 121, 122, 123, -1, 125, - 126, 44, 45, 129, 47, 48, 49, 50, 51, 125, - 53, -1, -1, -1, 57, 58, 59, 60, -1, -1, - 63, -1, -1, -1, -1, 68, 69, 70, 71, -1, - -1, 74, 8, 9, -1, 78, -1, -1, -1, 82, - -1, 84, 85, -1, 87, -1, 89, -1, -1, -1, - -1, -1, 95, 96, 97, -1, 99, 100, 101, 102, - -1, -1, -1, -1, 107, -1, -1, -1, 44, 45, - -1, 47, 48, 49, 50, 51, -1, 53, -1, -1, - 123, 57, 58, 59, 60, -1, -1, 63, -1, -1, - -1, -1, 68, 69, 70, 71, -1, -1, 74, 8, - 9, -1, 78, -1, -1, -1, 82, -1, 84, 85, - -1, 87, -1, 89, -1, -1, -1, -1, -1, 95, - 96, 97, -1, 99, 100, 101, 102, 13, 14, 15, - 16, 17, 18, 19, 20, 44, 45, -1, 47, 48, - 49, 50, 51, 29, 53, -1, -1, 123, 57, 58, - 59, 60, -1, -1, 63, -1, -1, -1, -1, 68, - 69, 70, 71, -1, -1, 74, -1, -1, -1, 78, - -1, -1, -1, 82, -1, 84, 85, -1, 87, -1, - 89, -1, -1, -1, -1, -1, 95, 96, 97, -1, - 99, 100, 101, 102, 13, 14, 15, 16, 17, 18, - 19, 20, -1, -1, -1, -1, -1, -1, -1, -1, - 29, -1, -1, -1, 123, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 110, -1, 112, 113, 114, 115, + -1, -1, 109, 29, -1, 112, 113, 114, 115, 116, + 117, 118, 119, 120, 121, 122, -1, 124, 125, 126, + 13, 14, 15, 16, 17, 18, 19, 20, -1, -1, + -1, -1, -1, -1, -1, -1, 29, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 108, -1, + -1, -1, 112, 113, 114, 115, 116, 117, 118, 119, + 120, 121, 122, -1, 124, 125, 126, 110, -1, 112, + 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, + -1, 124, 125, 126, -1, -1, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, -1, 124, 125, 126, 13, 14, 15, 16, 17, 18, 19, 20, -1, - -1, -1, -1, -1, -1, -1, -1, 29, 13, 14, - 15, 16, 17, 18, 19, 20, -1, -1, -1, -1, - -1, -1, -1, -1, 29, 13, 14, 15, 16, 17, - 18, 19, 20, -1, -1, -1, -1, -1, -1, -1, - 109, 29, -1, 112, 113, 114, 115, 116, 117, 118, - 119, 120, 121, 122, -1, 124, 125, 126, 13, 14, - 15, 16, 17, 18, 19, 20, -1, -1, -1, -1, - -1, -1, -1, -1, 29, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 108, -1, -1, -1, - 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, - 122, -1, 124, 125, 126, 110, -1, 112, 113, 114, - 115, 116, 117, 118, 119, 120, 121, 122, -1, 124, - 125, 126, -1, -1, 112, 113, 114, 115, 116, 117, - 118, 119, 120, 121, 122, -1, 124, 125, 126, 13, - 14, 15, 16, 17, 18, 19, 20, -1, -1, -1, - -1, -1, -1, -1, -1, 29, -1, 112, 113, 114, - 115, 116, 117, 118, 119, 120, 121, 122, -1, 124, - 125, 126, 13, 14, 15, 16, 17, 18, 19, 20, - -1, -1, -1, -1, -1, -1, -1, -1, 29, 15, - 16, 17, 18, 19, 20, -1, -1, -1, -1, -1, - -1, -1, -1, 29, 15, 16, 17, 18, 19, 20, - -1, -1, -1, -1, -1, -1, -1, -1, 29, 15, - 16, 17, 18, 19, 20, -1, -1, -1, -1, -1, - -1, -1, -1, 29, -1, -1, 110, -1, 112, 113, + -1, -1, -1, -1, -1, -1, -1, 29, -1, 112, + 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, + -1, 124, 125, 126, 13, 14, 15, 16, 17, 18, + 19, 20, -1, -1, -1, -1, -1, -1, -1, -1, + 29, 15, 16, 17, 18, 19, 20, -1, -1, -1, + -1, -1, -1, -1, -1, 29, 15, 16, 17, 18, + 19, 20, -1, -1, -1, -1, -1, -1, -1, -1, + 29, 15, 16, 17, 18, 19, 20, -1, -1, -1, + -1, -1, -1, -1, -1, 29, -1, -1, 110, -1, + 112, 113, 114, 115, -1, -1, 118, 119, 120, 121, + 122, -1, 124, 125, 126, 15, 16, 17, 18, 19, + 20, -1, -1, -1, -1, -1, -1, -1, -1, 29, + -1, -1, -1, 112, 113, 114, 115, -1, -1, 118, + 119, 120, 121, 122, -1, 124, 125, 126, -1, -1, + -1, 115, 116, 117, 118, 119, 120, 121, 122, -1, + 124, 125, 126, -1, 113, 114, 115, 0, -1, 118, + 119, 120, 121, 122, -1, 124, 125, 126, -1, -1, 114, 115, -1, -1, 118, 119, 120, 121, 122, -1, 124, 125, 126, 15, 16, 17, 18, 19, 20, -1, -1, -1, -1, -1, -1, -1, -1, 29, -1, -1, - -1, 112, 113, 114, 115, -1, -1, 118, 119, 120, - 121, 122, -1, 124, 125, 126, -1, -1, -1, 115, - 116, 117, 118, 119, 120, 121, 122, -1, 124, 125, - 126, -1, 113, 114, 115, -1, -1, 118, 119, 120, - 121, 122, -1, 124, 125, 126, -1, -1, -1, -1, - 116, 117, 118, 119, 120, 121, 122, -1, 124, 125, - 126, 15, 16, 17, 18, 19, 20, -1, -1, -1, - -1, -1, -1, -1, -1, 29, -1, -1, -1, 0, - -1, -1, 114, 115, -1, -1, 118, 119, 120, 121, - 122, -1, 124, 125, 126, 15, 16, 17, 18, 19, - 20, -1, -1, -1, -1, -1, -1, -1, -1, 29, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 43, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 56, -1, -1, -1, -1, - 61, -1, -1, 64, -1, -1, -1, -1, -1, -1, - -1, 72, 73, -1, 75, -1, -1, -1, 79, 80, - 81, 115, -1, -1, 118, 119, 120, 121, 122, 90, - 124, 125, 126, 94, 8, 9, -1, 98, -1, -1, - -1, -1, -1, -1, 9, -1, -1, -1, 109, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 118, 119, - 120, 121, 122, -1, 124, 125, 126, -1, -1, -1, - -1, 45, -1, 47, 48, 49, 50, 51, -1, 53, - 45, -1, 47, 48, 49, 50, 51, -1, 53, 63, - -1, -1, 57, -1, -1, 69, 70, 71, 63, -1, + 43, -1, -1, -1, -1, 115, -1, -1, 118, 119, + 120, 121, 122, 56, 124, 125, 126, -1, 61, 8, + 9, 64, 17, 18, 19, 20, -1, -1, -1, 72, + 73, -1, 75, -1, 29, -1, 79, 80, 81, -1, + 17, 18, 19, 20, -1, -1, -1, 90, -1, -1, + -1, 94, 29, -1, -1, 98, 45, -1, 47, 48, + 49, 50, 51, -1, 53, -1, 109, -1, -1, -1, + -1, -1, -1, -1, 63, -1, -1, -1, -1, -1, + 69, 70, 71, -1, -1, -1, 118, 119, 120, 121, + 122, -1, 124, 125, 126, 84, 85, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 95, -1, 97, -1, + -1, 100, -1, 102, 9, -1, -1, -1, -1, -1, + -1, 116, 117, 118, 119, 120, 121, 122, -1, 124, + 125, 126, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 118, 119, 120, 121, 122, -1, 124, 125, 126, + 45, -1, 47, 48, 49, 50, 51, -1, 53, 9, + -1, -1, 57, -1, -1, -1, -1, -1, 63, -1, 9, -1, -1, -1, 69, 70, 71, -1, -1, -1, - 84, 85, -1, -1, -1, -1, -1, -1, -1, 84, - 85, 95, -1, 97, 89, -1, 100, -1, 102, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 84, + 85, -1, -1, -1, 89, 45, -1, 47, 48, 49, 95, 96, 97, -1, -1, 100, 45, 102, 47, 48, - 49, 50, 51, -1, 53, 9, -1, -1, 57, -1, - -1, -1, -1, -1, 63, -1, 9, -1, -1, -1, - 69, 70, 71, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 84, 85, -1, -1, -1, - 89, 45, -1, 47, 48, 49, 95, 96, 97, -1, + 49, 50, 51, -1, 53, -1, -1, -1, 57, 69, + 70, 71, -1, -1, 63, -1, 9, -1, -1, -1, + 69, 70, 71, -1, 84, 85, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 84, 85, 97, -1, -1, + 89, 45, 102, 47, 48, 49, 95, 96, 97, -1, -1, 100, 45, 102, 47, 48, 49, 50, -1, -1, 53, -1, -1, -1, 57, 69, 70, 71, -1, -1, 63, -1, 9, -1, -1, -1, 69, 70, 71, -1, 84, 85, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 84, 85, 97, -1, -1, 89, 45, 102, 47, - 48, 49, 95, 96, 97, -1, -1, 100, 45, 102, + -1, 84, 85, 97, -1, -1, 89, -1, 102, -1, + -1, -1, 95, 96, 97, -1, -1, 100, 45, 102, 47, 48, 49, 50, -1, -1, 53, -1, -1, -1, - 57, 69, 70, 71, -1, -1, 63, -1, -1, -1, - -1, -1, 69, 70, 71, -1, 84, 85, -1, -1, - -1, -1, -1, 43, -1, -1, -1, 84, 85, 97, - -1, -1, 89, -1, 102, -1, 56, -1, 95, 96, + 57, 125, -1, -1, -1, -1, 63, -1, -1, -1, + -1, -1, 69, 70, 71, -1, -1, -1, -1, -1, + -1, -1, -1, 43, -1, -1, -1, 84, 85, -1, + -1, -1, 89, -1, -1, -1, 56, -1, 95, 96, 97, 61, -1, 100, 64, 102, -1, -1, -1, -1, - 43, -1, 72, 73, -1, 75, -1, 125, -1, 79, + 43, -1, 72, 73, -1, 75, -1, -1, -1, 79, 80, 81, -1, 56, -1, -1, -1, -1, 61, -1, 90, 64, -1, -1, 94, -1, -1, 43, 98, 72, 73, -1, 75, -1, -1, -1, 79, 80, 81, 109, @@ -2396,36 +2403,36 @@ static const yytype_uint8 yystos[] = 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 57, 59, 60, 61, 62, 63, 64, - 65, 66, 67, 68, 69, 70, 74, 76, 78, 79, - 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, - 91, 92, 93, 94, 95, 96, 97, 99, 100, 101, - 102, 103, 107, 108, 109, 110, 111, 112, 113, 114, - 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, - 125, 126, 127, 129, 130, 211, 208, 135, 213, 177, - 128, 108, 170, 127, 130, 127, 4, 216, 171, 212, - 108, 127, 127, 127, 108, 221, 220, 221, 220, 220, - 220, 220, 220, 128, 8, 109, 221, 186, 174, 186, - 181, 127, 54, 86, 88, 115, 119, 120, 123, 125, - 129, 215, 217, 212, 175, 176, 108, 111, 175, 181, - 186, 125, 186, 186, 127, 127, 51, 161, 223, 12, - 179, 175, 216, 216, 216, 216, 216, 216, 216, 216, + 65, 66, 67, 68, 69, 70, 74, 75, 76, 78, + 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, + 89, 91, 92, 93, 94, 95, 96, 97, 98, 99, + 100, 101, 102, 103, 107, 108, 109, 110, 111, 112, + 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, + 123, 124, 125, 126, 127, 129, 130, 211, 208, 135, + 213, 177, 128, 108, 170, 127, 130, 127, 4, 216, + 171, 212, 108, 127, 127, 127, 108, 221, 220, 221, + 220, 220, 220, 220, 220, 128, 8, 109, 221, 186, + 174, 186, 181, 127, 54, 86, 88, 115, 119, 120, + 123, 125, 129, 215, 217, 212, 175, 176, 108, 111, + 175, 181, 186, 125, 186, 186, 127, 127, 51, 161, + 223, 12, 179, 175, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, - 216, 216, 216, 127, 214, 216, 127, 125, 161, 108, - 160, 172, 130, 127, 210, 128, 127, 128, 107, 216, - 172, 130, 146, 161, 127, 127, 125, 116, 125, 116, - 215, 215, 215, 215, 186, 214, 215, 13, 14, 15, - 16, 17, 18, 19, 20, 29, 112, 113, 114, 115, - 118, 119, 120, 121, 122, 124, 125, 126, 130, 108, - 151, 216, 175, 117, 213, 127, 117, 216, 77, 91, - 110, 127, 130, 125, 157, 147, 172, 127, 161, 128, - 177, 127, 109, 109, 172, 186, 186, 186, 127, 127, + 216, 216, 216, 216, 216, 127, 214, 216, 127, 125, + 161, 108, 160, 172, 130, 127, 210, 128, 127, 128, + 107, 216, 172, 130, 146, 161, 127, 127, 125, 116, + 125, 116, 215, 215, 215, 215, 186, 214, 215, 13, + 14, 15, 16, 17, 18, 19, 20, 29, 112, 113, + 114, 115, 118, 119, 120, 121, 122, 124, 125, 126, + 130, 108, 151, 216, 175, 117, 213, 127, 117, 216, + 77, 91, 110, 127, 130, 125, 157, 147, 172, 127, + 161, 128, 177, 127, 109, 109, 172, 186, 186, 186, + 127, 127, 215, 215, 215, 215, 215, 215, 215, 215, 215, 215, 215, 215, 215, 215, 215, 215, 215, 215, - 215, 215, 215, 215, 215, 215, 215, 215, 215, 127, - 214, 216, 152, 125, 127, 125, 125, 216, 158, 172, - 127, 161, 128, 161, 127, 117, 127, 117, 215, 110, - 127, 130, 214, 214, 127, 221, 172, 127, 161, 161, - 125, 125, 215, 127, 127, 127, 127, 161, 214, 214, - 161, 127, 127 + 215, 127, 214, 216, 152, 125, 127, 125, 125, 216, + 158, 172, 127, 161, 128, 161, 127, 117, 127, 117, + 215, 110, 127, 130, 214, 214, 127, 221, 172, 127, + 161, 161, 125, 125, 215, 127, 127, 127, 127, 161, + 214, 214, 161, 127, 127 }; #define yyerrok (yyerrstatus = 0) @@ -5890,88 +5897,16 @@ yyreduce: } break; - case 297: + case 381: /* Line 1792 of yacc.c */ -#line 2137 "dtool/src/cppparser/cppBison.yxx" +#line 2163 "dtool/src/cppparser/cppBison.yxx" { } break; - case 298: -/* Line 1792 of yacc.c */ -#line 2140 "dtool/src/cppparser/cppBison.yxx" - { -} - break; - - case 299: -/* Line 1792 of yacc.c */ -#line 2143 "dtool/src/cppparser/cppBison.yxx" - { -} - break; - - case 300: -/* Line 1792 of yacc.c */ -#line 2146 "dtool/src/cppparser/cppBison.yxx" - { -} - break; - - case 301: -/* Line 1792 of yacc.c */ -#line 2149 "dtool/src/cppparser/cppBison.yxx" - { -} - break; - - case 302: -/* Line 1792 of yacc.c */ -#line 2152 "dtool/src/cppparser/cppBison.yxx" - { -} - break; - - case 303: -/* Line 1792 of yacc.c */ -#line 2155 "dtool/src/cppparser/cppBison.yxx" - { -} - break; - - case 304: -/* Line 1792 of yacc.c */ -#line 2158 "dtool/src/cppparser/cppBison.yxx" - { -} - break; - - case 379: -/* Line 1792 of yacc.c */ -#line 2179 "dtool/src/cppparser/cppBison.yxx" - { -} - break; - - case 403: -/* Line 1792 of yacc.c */ -#line 2188 "dtool/src/cppparser/cppBison.yxx" - { - (yyval.u.expr) = (CPPExpression *)NULL; -} - break; - - case 404: -/* Line 1792 of yacc.c */ -#line 2192 "dtool/src/cppparser/cppBison.yxx" - { - (yyval.u.expr) = (yyvsp[(1) - (1)].u.expr); -} - break; - case 405: /* Line 1792 of yacc.c */ -#line 2199 "dtool/src/cppparser/cppBison.yxx" +#line 2172 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = (CPPExpression *)NULL; } @@ -5979,7 +5914,7 @@ yyreduce: case 406: /* Line 1792 of yacc.c */ -#line 2203 "dtool/src/cppparser/cppBison.yxx" +#line 2176 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = (yyvsp[(1) - (1)].u.expr); } @@ -5987,23 +5922,23 @@ yyreduce: case 407: /* Line 1792 of yacc.c */ -#line 2210 "dtool/src/cppparser/cppBison.yxx" +#line 2183 "dtool/src/cppparser/cppBison.yxx" { - (yyval.u.expr) = (yyvsp[(1) - (1)].u.expr); + (yyval.u.expr) = (CPPExpression *)NULL; } break; case 408: /* Line 1792 of yacc.c */ -#line 2214 "dtool/src/cppparser/cppBison.yxx" +#line 2187 "dtool/src/cppparser/cppBison.yxx" { - (yyval.u.expr) = new CPPExpression(',', (yyvsp[(1) - (3)].u.expr), (yyvsp[(3) - (3)].u.expr)); + (yyval.u.expr) = (yyvsp[(1) - (1)].u.expr); } break; case 409: /* Line 1792 of yacc.c */ -#line 2221 "dtool/src/cppparser/cppBison.yxx" +#line 2194 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = (yyvsp[(1) - (1)].u.expr); } @@ -6011,55 +5946,71 @@ yyreduce: case 410: /* Line 1792 of yacc.c */ -#line 2225 "dtool/src/cppparser/cppBison.yxx" +#line 2198 "dtool/src/cppparser/cppBison.yxx" { - (yyval.u.expr) = new CPPExpression(CPPExpression::typecast_op((yyvsp[(2) - (4)].u.type), (yyvsp[(4) - (4)].u.expr))); + (yyval.u.expr) = new CPPExpression(',', (yyvsp[(1) - (3)].u.expr), (yyvsp[(3) - (3)].u.expr)); } break; case 411: /* Line 1792 of yacc.c */ -#line 2229 "dtool/src/cppparser/cppBison.yxx" +#line 2205 "dtool/src/cppparser/cppBison.yxx" { - (yyval.u.expr) = new CPPExpression(CPPExpression::typecast_op((yyvsp[(3) - (7)].u.type), (yyvsp[(6) - (7)].u.expr))); + (yyval.u.expr) = (yyvsp[(1) - (1)].u.expr); } break; case 412: /* Line 1792 of yacc.c */ -#line 2233 "dtool/src/cppparser/cppBison.yxx" +#line 2209 "dtool/src/cppparser/cppBison.yxx" { - (yyval.u.expr) = new CPPExpression(CPPExpression::typecast_op((yyvsp[(3) - (7)].u.type), (yyvsp[(6) - (7)].u.expr))); + (yyval.u.expr) = new CPPExpression(CPPExpression::typecast_op((yyvsp[(2) - (4)].u.type), (yyvsp[(4) - (4)].u.expr))); } break; case 413: /* Line 1792 of yacc.c */ -#line 2237 "dtool/src/cppparser/cppBison.yxx" +#line 2213 "dtool/src/cppparser/cppBison.yxx" { - (yyval.u.expr) = new CPPExpression(CPPExpression::sizeof_func((yyvsp[(3) - (4)].u.type))); + (yyval.u.expr) = new CPPExpression(CPPExpression::typecast_op((yyvsp[(3) - (7)].u.type), (yyvsp[(6) - (7)].u.expr))); } break; case 414: /* Line 1792 of yacc.c */ -#line 2241 "dtool/src/cppparser/cppBison.yxx" +#line 2217 "dtool/src/cppparser/cppBison.yxx" { - (yyval.u.expr) = new CPPExpression(UNARY_NOT, (yyvsp[(2) - (2)].u.expr)); + (yyval.u.expr) = new CPPExpression(CPPExpression::typecast_op((yyvsp[(3) - (7)].u.type), (yyvsp[(6) - (7)].u.expr))); } break; case 415: /* Line 1792 of yacc.c */ -#line 2245 "dtool/src/cppparser/cppBison.yxx" +#line 2221 "dtool/src/cppparser/cppBison.yxx" { - (yyval.u.expr) = new CPPExpression(UNARY_NEGATE, (yyvsp[(2) - (2)].u.expr)); + (yyval.u.expr) = new CPPExpression(CPPExpression::sizeof_func((yyvsp[(3) - (4)].u.type))); } break; case 416: /* Line 1792 of yacc.c */ -#line 2249 "dtool/src/cppparser/cppBison.yxx" +#line 2225 "dtool/src/cppparser/cppBison.yxx" + { + (yyval.u.expr) = new CPPExpression(UNARY_NOT, (yyvsp[(2) - (2)].u.expr)); +} + break; + + case 417: +/* Line 1792 of yacc.c */ +#line 2229 "dtool/src/cppparser/cppBison.yxx" + { + (yyval.u.expr) = new CPPExpression(UNARY_NEGATE, (yyvsp[(2) - (2)].u.expr)); +} + break; + + case 418: +/* Line 1792 of yacc.c */ +#line 2233 "dtool/src/cppparser/cppBison.yxx" { if ((yyvsp[(2) - (2)].u.expr)->_type == CPPExpression::T_integer) { (yyval.u.expr) = (yyvsp[(2) - (2)].u.expr); @@ -6073,241 +6024,241 @@ yyreduce: } break; - case 417: + case 419: /* Line 1792 of yacc.c */ -#line 2261 "dtool/src/cppparser/cppBison.yxx" +#line 2245 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(UNARY_STAR, (yyvsp[(2) - (2)].u.expr)); } break; - case 418: + case 420: /* Line 1792 of yacc.c */ -#line 2265 "dtool/src/cppparser/cppBison.yxx" +#line 2249 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(UNARY_REF, (yyvsp[(2) - (2)].u.expr)); } break; - case 419: + case 421: /* Line 1792 of yacc.c */ -#line 2269 "dtool/src/cppparser/cppBison.yxx" +#line 2253 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression('*', (yyvsp[(1) - (3)].u.expr), (yyvsp[(3) - (3)].u.expr)); } break; - case 420: + case 422: /* Line 1792 of yacc.c */ -#line 2273 "dtool/src/cppparser/cppBison.yxx" +#line 2257 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression('/', (yyvsp[(1) - (3)].u.expr), (yyvsp[(3) - (3)].u.expr)); } break; - case 421: + case 423: /* Line 1792 of yacc.c */ -#line 2277 "dtool/src/cppparser/cppBison.yxx" +#line 2261 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression('%', (yyvsp[(1) - (3)].u.expr), (yyvsp[(3) - (3)].u.expr)); } break; - case 422: + case 424: /* Line 1792 of yacc.c */ -#line 2281 "dtool/src/cppparser/cppBison.yxx" +#line 2265 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression('+', (yyvsp[(1) - (3)].u.expr), (yyvsp[(3) - (3)].u.expr)); } break; - case 423: + case 425: /* Line 1792 of yacc.c */ -#line 2285 "dtool/src/cppparser/cppBison.yxx" +#line 2269 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression('-', (yyvsp[(1) - (3)].u.expr), (yyvsp[(3) - (3)].u.expr)); } break; - case 424: + case 426: /* Line 1792 of yacc.c */ -#line 2289 "dtool/src/cppparser/cppBison.yxx" +#line 2273 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression('|', (yyvsp[(1) - (3)].u.expr), (yyvsp[(3) - (3)].u.expr)); } break; - case 425: + case 427: /* Line 1792 of yacc.c */ -#line 2293 "dtool/src/cppparser/cppBison.yxx" +#line 2277 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression('^', (yyvsp[(1) - (3)].u.expr), (yyvsp[(3) - (3)].u.expr)); } break; - case 426: + case 428: /* Line 1792 of yacc.c */ -#line 2297 "dtool/src/cppparser/cppBison.yxx" +#line 2281 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression('&', (yyvsp[(1) - (3)].u.expr), (yyvsp[(3) - (3)].u.expr)); } break; - case 427: + case 429: /* Line 1792 of yacc.c */ -#line 2301 "dtool/src/cppparser/cppBison.yxx" +#line 2285 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(OROR, (yyvsp[(1) - (3)].u.expr), (yyvsp[(3) - (3)].u.expr)); } break; - case 428: + case 430: /* Line 1792 of yacc.c */ -#line 2305 "dtool/src/cppparser/cppBison.yxx" +#line 2289 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(ANDAND, (yyvsp[(1) - (3)].u.expr), (yyvsp[(3) - (3)].u.expr)); } break; - case 429: + case 431: /* Line 1792 of yacc.c */ -#line 2309 "dtool/src/cppparser/cppBison.yxx" +#line 2293 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(EQCOMPARE, (yyvsp[(1) - (3)].u.expr), (yyvsp[(3) - (3)].u.expr)); } break; - case 430: + case 432: /* Line 1792 of yacc.c */ -#line 2313 "dtool/src/cppparser/cppBison.yxx" +#line 2297 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(NECOMPARE, (yyvsp[(1) - (3)].u.expr), (yyvsp[(3) - (3)].u.expr)); } break; - case 431: + case 433: /* Line 1792 of yacc.c */ -#line 2317 "dtool/src/cppparser/cppBison.yxx" +#line 2301 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(LECOMPARE, (yyvsp[(1) - (3)].u.expr), (yyvsp[(3) - (3)].u.expr)); } break; - case 432: + case 434: /* Line 1792 of yacc.c */ -#line 2321 "dtool/src/cppparser/cppBison.yxx" +#line 2305 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(GECOMPARE, (yyvsp[(1) - (3)].u.expr), (yyvsp[(3) - (3)].u.expr)); } break; - case 433: + case 435: /* Line 1792 of yacc.c */ -#line 2325 "dtool/src/cppparser/cppBison.yxx" +#line 2309 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(LSHIFT, (yyvsp[(1) - (3)].u.expr), (yyvsp[(3) - (3)].u.expr)); } break; - case 434: + case 436: /* Line 1792 of yacc.c */ -#line 2329 "dtool/src/cppparser/cppBison.yxx" +#line 2313 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(RSHIFT, (yyvsp[(1) - (3)].u.expr), (yyvsp[(3) - (3)].u.expr)); } break; - case 435: + case 437: /* Line 1792 of yacc.c */ -#line 2333 "dtool/src/cppparser/cppBison.yxx" +#line 2317 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression('?', (yyvsp[(1) - (5)].u.expr), (yyvsp[(3) - (5)].u.expr), (yyvsp[(5) - (5)].u.expr)); } break; - case 436: + case 438: /* Line 1792 of yacc.c */ -#line 2337 "dtool/src/cppparser/cppBison.yxx" +#line 2321 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression('[', (yyvsp[(1) - (4)].u.expr), (yyvsp[(3) - (4)].u.expr)); } break; - case 437: + case 439: /* Line 1792 of yacc.c */ -#line 2341 "dtool/src/cppparser/cppBison.yxx" +#line 2325 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression('f', (yyvsp[(1) - (4)].u.expr), (yyvsp[(3) - (4)].u.expr)); } break; - case 438: + case 440: /* Line 1792 of yacc.c */ -#line 2345 "dtool/src/cppparser/cppBison.yxx" +#line 2329 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression('f', (yyvsp[(1) - (3)].u.expr)); } break; - case 439: + case 441: /* Line 1792 of yacc.c */ -#line 2349 "dtool/src/cppparser/cppBison.yxx" +#line 2333 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression('.', (yyvsp[(1) - (3)].u.expr), (yyvsp[(3) - (3)].u.expr)); } break; - case 440: + case 442: /* Line 1792 of yacc.c */ -#line 2353 "dtool/src/cppparser/cppBison.yxx" +#line 2337 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(POINTSAT, (yyvsp[(1) - (3)].u.expr), (yyvsp[(3) - (3)].u.expr)); } break; - case 441: + case 443: /* Line 1792 of yacc.c */ -#line 2357 "dtool/src/cppparser/cppBison.yxx" +#line 2341 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = (yyvsp[(2) - (3)].u.expr); } break; - case 442: + case 444: /* Line 1792 of yacc.c */ -#line 2365 "dtool/src/cppparser/cppBison.yxx" +#line 2349 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = (yyvsp[(1) - (1)].u.expr); } break; - case 443: + case 445: /* Line 1792 of yacc.c */ -#line 2369 "dtool/src/cppparser/cppBison.yxx" +#line 2353 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(CPPExpression::typecast_op((yyvsp[(2) - (4)].u.type), (yyvsp[(4) - (4)].u.expr))); } break; - case 444: -/* Line 1792 of yacc.c */ -#line 2373 "dtool/src/cppparser/cppBison.yxx" - { - (yyval.u.expr) = new CPPExpression(CPPExpression::typecast_op((yyvsp[(3) - (7)].u.type), (yyvsp[(6) - (7)].u.expr))); -} - break; - - case 445: -/* Line 1792 of yacc.c */ -#line 2377 "dtool/src/cppparser/cppBison.yxx" - { - (yyval.u.expr) = new CPPExpression(CPPExpression::typecast_op((yyvsp[(3) - (7)].u.type), (yyvsp[(6) - (7)].u.expr))); -} - break; - case 446: /* Line 1792 of yacc.c */ -#line 2381 "dtool/src/cppparser/cppBison.yxx" +#line 2357 "dtool/src/cppparser/cppBison.yxx" + { + (yyval.u.expr) = new CPPExpression(CPPExpression::typecast_op((yyvsp[(3) - (7)].u.type), (yyvsp[(6) - (7)].u.expr))); +} + break; + + case 447: +/* Line 1792 of yacc.c */ +#line 2361 "dtool/src/cppparser/cppBison.yxx" + { + (yyval.u.expr) = new CPPExpression(CPPExpression::typecast_op((yyvsp[(3) - (7)].u.type), (yyvsp[(6) - (7)].u.expr))); +} + break; + + case 448: +/* Line 1792 of yacc.c */ +#line 2365 "dtool/src/cppparser/cppBison.yxx" { // A constructor call. CPPType *type = (yyvsp[(1) - (4)].u.identifier)->find_type(current_scope, global_scope, false, current_lexer); @@ -6316,9 +6267,9 @@ yyreduce: } break; - case 447: + case 449: /* Line 1792 of yacc.c */ -#line 2388 "dtool/src/cppparser/cppBison.yxx" +#line 2372 "dtool/src/cppparser/cppBison.yxx" { CPPType *type = CPPType::new_type(new CPPSimpleType(CPPSimpleType::T_int)); @@ -6326,9 +6277,9 @@ yyreduce: } break; - case 448: + case 450: /* Line 1792 of yacc.c */ -#line 2394 "dtool/src/cppparser/cppBison.yxx" +#line 2378 "dtool/src/cppparser/cppBison.yxx" { CPPType *type = CPPType::new_type(new CPPSimpleType(CPPSimpleType::T_char)); @@ -6336,9 +6287,9 @@ yyreduce: } break; - case 449: + case 451: /* Line 1792 of yacc.c */ -#line 2400 "dtool/src/cppparser/cppBison.yxx" +#line 2384 "dtool/src/cppparser/cppBison.yxx" { CPPType *type = CPPType::new_type(new CPPSimpleType(CPPSimpleType::T_wchar_t)); @@ -6346,9 +6297,9 @@ yyreduce: } break; - case 450: + case 452: /* Line 1792 of yacc.c */ -#line 2406 "dtool/src/cppparser/cppBison.yxx" +#line 2390 "dtool/src/cppparser/cppBison.yxx" { CPPType *type = CPPType::new_type(new CPPSimpleType(CPPSimpleType::T_char16_t)); @@ -6356,9 +6307,9 @@ yyreduce: } break; - case 451: + case 453: /* Line 1792 of yacc.c */ -#line 2412 "dtool/src/cppparser/cppBison.yxx" +#line 2396 "dtool/src/cppparser/cppBison.yxx" { CPPType *type = CPPType::new_type(new CPPSimpleType(CPPSimpleType::T_char32_t)); @@ -6366,9 +6317,9 @@ yyreduce: } break; - case 452: + case 454: /* Line 1792 of yacc.c */ -#line 2418 "dtool/src/cppparser/cppBison.yxx" +#line 2402 "dtool/src/cppparser/cppBison.yxx" { CPPType *type = CPPType::new_type(new CPPSimpleType(CPPSimpleType::T_bool)); @@ -6376,9 +6327,9 @@ yyreduce: } break; - case 453: + case 455: /* Line 1792 of yacc.c */ -#line 2424 "dtool/src/cppparser/cppBison.yxx" +#line 2408 "dtool/src/cppparser/cppBison.yxx" { CPPType *type = CPPType::new_type(new CPPSimpleType(CPPSimpleType::T_int, @@ -6387,9 +6338,9 @@ yyreduce: } break; - case 454: + case 456: /* Line 1792 of yacc.c */ -#line 2431 "dtool/src/cppparser/cppBison.yxx" +#line 2415 "dtool/src/cppparser/cppBison.yxx" { CPPType *type = CPPType::new_type(new CPPSimpleType(CPPSimpleType::T_int, @@ -6398,9 +6349,9 @@ yyreduce: } break; - case 455: + case 457: /* Line 1792 of yacc.c */ -#line 2438 "dtool/src/cppparser/cppBison.yxx" +#line 2422 "dtool/src/cppparser/cppBison.yxx" { CPPType *type = CPPType::new_type(new CPPSimpleType(CPPSimpleType::T_int, @@ -6409,9 +6360,9 @@ yyreduce: } break; - case 456: + case 458: /* Line 1792 of yacc.c */ -#line 2445 "dtool/src/cppparser/cppBison.yxx" +#line 2429 "dtool/src/cppparser/cppBison.yxx" { CPPType *type = CPPType::new_type(new CPPSimpleType(CPPSimpleType::T_int, @@ -6420,9 +6371,9 @@ yyreduce: } break; - case 457: + case 459: /* Line 1792 of yacc.c */ -#line 2452 "dtool/src/cppparser/cppBison.yxx" +#line 2436 "dtool/src/cppparser/cppBison.yxx" { CPPType *type = CPPType::new_type(new CPPSimpleType(CPPSimpleType::T_float)); @@ -6430,9 +6381,9 @@ yyreduce: } break; - case 458: + case 460: /* Line 1792 of yacc.c */ -#line 2458 "dtool/src/cppparser/cppBison.yxx" +#line 2442 "dtool/src/cppparser/cppBison.yxx" { CPPType *type = CPPType::new_type(new CPPSimpleType(CPPSimpleType::T_double)); @@ -6440,409 +6391,49 @@ yyreduce: } break; - case 459: -/* Line 1792 of yacc.c */ -#line 2464 "dtool/src/cppparser/cppBison.yxx" - { - (yyval.u.expr) = new CPPExpression(CPPExpression::sizeof_func((yyvsp[(3) - (4)].u.type))); -} - break; - - case 460: -/* Line 1792 of yacc.c */ -#line 2468 "dtool/src/cppparser/cppBison.yxx" - { - (yyval.u.expr) = new CPPExpression(CPPExpression::new_op((yyvsp[(2) - (2)].u.type))); -} - break; - case 461: /* Line 1792 of yacc.c */ -#line 2472 "dtool/src/cppparser/cppBison.yxx" +#line 2448 "dtool/src/cppparser/cppBison.yxx" { - (yyval.u.expr) = new CPPExpression(CPPExpression::new_op((yyvsp[(2) - (5)].u.type), (yyvsp[(4) - (5)].u.expr))); + (yyval.u.expr) = new CPPExpression(CPPExpression::sizeof_func((yyvsp[(3) - (4)].u.type))); } break; case 462: /* Line 1792 of yacc.c */ -#line 2476 "dtool/src/cppparser/cppBison.yxx" - { - (yyval.u.expr) = new CPPExpression(UNARY_NOT, (yyvsp[(2) - (2)].u.expr)); -} - break; - - case 463: -/* Line 1792 of yacc.c */ -#line 2480 "dtool/src/cppparser/cppBison.yxx" - { - (yyval.u.expr) = new CPPExpression(UNARY_NEGATE, (yyvsp[(2) - (2)].u.expr)); -} - break; - - case 464: -/* Line 1792 of yacc.c */ -#line 2484 "dtool/src/cppparser/cppBison.yxx" - { - if ((yyvsp[(2) - (2)].u.expr)->_type == CPPExpression::T_integer) { - (yyval.u.expr) = (yyvsp[(2) - (2)].u.expr); - (yyval.u.expr)->_u._integer = -(yyval.u.expr)->_u._integer; - } else if ((yyvsp[(2) - (2)].u.expr)->_type == CPPExpression::T_real) { - (yyval.u.expr) = (yyvsp[(2) - (2)].u.expr); - (yyval.u.expr)->_u._real = -(yyval.u.expr)->_u._real; - } else { - (yyval.u.expr) = new CPPExpression(UNARY_MINUS, (yyvsp[(2) - (2)].u.expr)); - } -} - break; - - case 465: -/* Line 1792 of yacc.c */ -#line 2496 "dtool/src/cppparser/cppBison.yxx" - { - (yyval.u.expr) = new CPPExpression(UNARY_STAR, (yyvsp[(2) - (2)].u.expr)); -} - break; - - case 466: -/* Line 1792 of yacc.c */ -#line 2500 "dtool/src/cppparser/cppBison.yxx" - { - (yyval.u.expr) = new CPPExpression(UNARY_REF, (yyvsp[(2) - (2)].u.expr)); -} - break; - - case 467: -/* Line 1792 of yacc.c */ -#line 2504 "dtool/src/cppparser/cppBison.yxx" - { - (yyval.u.expr) = new CPPExpression('*', (yyvsp[(1) - (3)].u.expr), (yyvsp[(3) - (3)].u.expr)); -} - break; - - case 468: -/* Line 1792 of yacc.c */ -#line 2508 "dtool/src/cppparser/cppBison.yxx" - { - (yyval.u.expr) = new CPPExpression('/', (yyvsp[(1) - (3)].u.expr), (yyvsp[(3) - (3)].u.expr)); -} - break; - - case 469: -/* Line 1792 of yacc.c */ -#line 2512 "dtool/src/cppparser/cppBison.yxx" - { - (yyval.u.expr) = new CPPExpression('%', (yyvsp[(1) - (3)].u.expr), (yyvsp[(3) - (3)].u.expr)); -} - break; - - case 470: -/* Line 1792 of yacc.c */ -#line 2516 "dtool/src/cppparser/cppBison.yxx" - { - (yyval.u.expr) = new CPPExpression('+', (yyvsp[(1) - (3)].u.expr), (yyvsp[(3) - (3)].u.expr)); -} - break; - - case 471: -/* Line 1792 of yacc.c */ -#line 2520 "dtool/src/cppparser/cppBison.yxx" - { - (yyval.u.expr) = new CPPExpression('-', (yyvsp[(1) - (3)].u.expr), (yyvsp[(3) - (3)].u.expr)); -} - break; - - case 472: -/* Line 1792 of yacc.c */ -#line 2524 "dtool/src/cppparser/cppBison.yxx" - { - (yyval.u.expr) = new CPPExpression('|', (yyvsp[(1) - (3)].u.expr), (yyvsp[(3) - (3)].u.expr)); -} - break; - - case 473: -/* Line 1792 of yacc.c */ -#line 2528 "dtool/src/cppparser/cppBison.yxx" - { - (yyval.u.expr) = new CPPExpression('^', (yyvsp[(1) - (3)].u.expr), (yyvsp[(3) - (3)].u.expr)); -} - break; - - case 474: -/* Line 1792 of yacc.c */ -#line 2532 "dtool/src/cppparser/cppBison.yxx" - { - (yyval.u.expr) = new CPPExpression('&', (yyvsp[(1) - (3)].u.expr), (yyvsp[(3) - (3)].u.expr)); -} - break; - - case 475: -/* Line 1792 of yacc.c */ -#line 2536 "dtool/src/cppparser/cppBison.yxx" - { - (yyval.u.expr) = new CPPExpression(OROR, (yyvsp[(1) - (3)].u.expr), (yyvsp[(3) - (3)].u.expr)); -} - break; - - case 476: -/* Line 1792 of yacc.c */ -#line 2540 "dtool/src/cppparser/cppBison.yxx" - { - (yyval.u.expr) = new CPPExpression(ANDAND, (yyvsp[(1) - (3)].u.expr), (yyvsp[(3) - (3)].u.expr)); -} - break; - - case 477: -/* Line 1792 of yacc.c */ -#line 2544 "dtool/src/cppparser/cppBison.yxx" - { - (yyval.u.expr) = new CPPExpression(EQCOMPARE, (yyvsp[(1) - (3)].u.expr), (yyvsp[(3) - (3)].u.expr)); -} - break; - - case 478: -/* Line 1792 of yacc.c */ -#line 2548 "dtool/src/cppparser/cppBison.yxx" - { - (yyval.u.expr) = new CPPExpression(NECOMPARE, (yyvsp[(1) - (3)].u.expr), (yyvsp[(3) - (3)].u.expr)); -} - break; - - case 479: -/* Line 1792 of yacc.c */ -#line 2552 "dtool/src/cppparser/cppBison.yxx" - { - (yyval.u.expr) = new CPPExpression(LECOMPARE, (yyvsp[(1) - (3)].u.expr), (yyvsp[(3) - (3)].u.expr)); -} - break; - - case 480: -/* Line 1792 of yacc.c */ -#line 2556 "dtool/src/cppparser/cppBison.yxx" - { - (yyval.u.expr) = new CPPExpression(GECOMPARE, (yyvsp[(1) - (3)].u.expr), (yyvsp[(3) - (3)].u.expr)); -} - break; - - case 481: -/* Line 1792 of yacc.c */ -#line 2560 "dtool/src/cppparser/cppBison.yxx" - { - (yyval.u.expr) = new CPPExpression('<', (yyvsp[(1) - (3)].u.expr), (yyvsp[(3) - (3)].u.expr)); -} - break; - - case 482: -/* Line 1792 of yacc.c */ -#line 2564 "dtool/src/cppparser/cppBison.yxx" - { - (yyval.u.expr) = new CPPExpression('>', (yyvsp[(1) - (3)].u.expr), (yyvsp[(3) - (3)].u.expr)); -} - break; - - case 483: -/* Line 1792 of yacc.c */ -#line 2568 "dtool/src/cppparser/cppBison.yxx" - { - (yyval.u.expr) = new CPPExpression(LSHIFT, (yyvsp[(1) - (3)].u.expr), (yyvsp[(3) - (3)].u.expr)); -} - break; - - case 484: -/* Line 1792 of yacc.c */ -#line 2572 "dtool/src/cppparser/cppBison.yxx" - { - (yyval.u.expr) = new CPPExpression(RSHIFT, (yyvsp[(1) - (3)].u.expr), (yyvsp[(3) - (3)].u.expr)); -} - break; - - case 485: -/* Line 1792 of yacc.c */ -#line 2576 "dtool/src/cppparser/cppBison.yxx" - { - (yyval.u.expr) = new CPPExpression('?', (yyvsp[(1) - (5)].u.expr), (yyvsp[(3) - (5)].u.expr), (yyvsp[(5) - (5)].u.expr)); -} - break; - - case 486: -/* Line 1792 of yacc.c */ -#line 2580 "dtool/src/cppparser/cppBison.yxx" - { - (yyval.u.expr) = new CPPExpression('[', (yyvsp[(1) - (4)].u.expr), (yyvsp[(3) - (4)].u.expr)); -} - break; - - case 487: -/* Line 1792 of yacc.c */ -#line 2584 "dtool/src/cppparser/cppBison.yxx" - { - (yyval.u.expr) = new CPPExpression('f', (yyvsp[(1) - (4)].u.expr), (yyvsp[(3) - (4)].u.expr)); -} - break; - - case 488: -/* Line 1792 of yacc.c */ -#line 2588 "dtool/src/cppparser/cppBison.yxx" - { - (yyval.u.expr) = new CPPExpression('f', (yyvsp[(1) - (3)].u.expr)); -} - break; - - case 489: -/* Line 1792 of yacc.c */ -#line 2592 "dtool/src/cppparser/cppBison.yxx" - { - (yyval.u.expr) = new CPPExpression('.', (yyvsp[(1) - (3)].u.expr), (yyvsp[(3) - (3)].u.expr)); -} - break; - - case 490: -/* Line 1792 of yacc.c */ -#line 2596 "dtool/src/cppparser/cppBison.yxx" - { - (yyval.u.expr) = new CPPExpression(POINTSAT, (yyvsp[(1) - (3)].u.expr), (yyvsp[(3) - (3)].u.expr)); -} - break; - - case 491: -/* Line 1792 of yacc.c */ -#line 2600 "dtool/src/cppparser/cppBison.yxx" - { - (yyval.u.expr) = (yyvsp[(2) - (3)].u.expr); -} - break; - - case 492: -/* Line 1792 of yacc.c */ -#line 2607 "dtool/src/cppparser/cppBison.yxx" - { - (yyval.u.expr) = new CPPExpression((yyvsp[(1) - (1)].u.integer)); -} - break; - - case 493: -/* Line 1792 of yacc.c */ -#line 2611 "dtool/src/cppparser/cppBison.yxx" - { - (yyval.u.expr) = new CPPExpression(true); -} - break; - - case 494: -/* Line 1792 of yacc.c */ -#line 2615 "dtool/src/cppparser/cppBison.yxx" - { - (yyval.u.expr) = new CPPExpression(false); -} - break; - - case 495: -/* Line 1792 of yacc.c */ -#line 2619 "dtool/src/cppparser/cppBison.yxx" - { - (yyval.u.expr) = new CPPExpression((yyvsp[(1) - (1)].u.integer)); -} - break; - - case 496: -/* Line 1792 of yacc.c */ -#line 2623 "dtool/src/cppparser/cppBison.yxx" - { - (yyval.u.expr) = new CPPExpression((yyvsp[(1) - (1)].u.real)); -} - break; - - case 497: -/* Line 1792 of yacc.c */ -#line 2627 "dtool/src/cppparser/cppBison.yxx" - { - (yyval.u.expr) = new CPPExpression((yyvsp[(1) - (1)].str)); -} - break; - - case 498: -/* Line 1792 of yacc.c */ -#line 2631 "dtool/src/cppparser/cppBison.yxx" - { - (yyval.u.expr) = new CPPExpression((yyvsp[(1) - (1)].u.identifier), current_scope, global_scope, current_lexer); -} - break; - - case 499: -/* Line 1792 of yacc.c */ -#line 2645 "dtool/src/cppparser/cppBison.yxx" - { - (yyval.u.expr) = (yyvsp[(1) - (1)].u.expr); -} - break; - - case 500: -/* Line 1792 of yacc.c */ -#line 2649 "dtool/src/cppparser/cppBison.yxx" - { - (yyval.u.expr) = new CPPExpression(CPPExpression::typecast_op((yyvsp[(2) - (4)].u.type), (yyvsp[(4) - (4)].u.expr))); -} - break; - - case 501: -/* Line 1792 of yacc.c */ -#line 2653 "dtool/src/cppparser/cppBison.yxx" - { - (yyval.u.expr) = new CPPExpression(CPPExpression::typecast_op((yyvsp[(3) - (7)].u.type), (yyvsp[(6) - (7)].u.expr))); -} - break; - - case 502: -/* Line 1792 of yacc.c */ -#line 2657 "dtool/src/cppparser/cppBison.yxx" - { - (yyval.u.expr) = new CPPExpression(CPPExpression::typecast_op((yyvsp[(3) - (7)].u.type), (yyvsp[(6) - (7)].u.expr))); -} - break; - - case 503: -/* Line 1792 of yacc.c */ -#line 2661 "dtool/src/cppparser/cppBison.yxx" - { - (yyval.u.expr) = new CPPExpression(CPPExpression::sizeof_func((yyvsp[(3) - (4)].u.type))); -} - break; - - case 504: -/* Line 1792 of yacc.c */ -#line 2665 "dtool/src/cppparser/cppBison.yxx" +#line 2452 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(CPPExpression::new_op((yyvsp[(2) - (2)].u.type))); } break; - case 505: + case 463: /* Line 1792 of yacc.c */ -#line 2669 "dtool/src/cppparser/cppBison.yxx" +#line 2456 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(CPPExpression::new_op((yyvsp[(2) - (5)].u.type), (yyvsp[(4) - (5)].u.expr))); } break; - case 506: + case 464: /* Line 1792 of yacc.c */ -#line 2673 "dtool/src/cppparser/cppBison.yxx" +#line 2460 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(UNARY_NOT, (yyvsp[(2) - (2)].u.expr)); } break; - case 507: + case 465: /* Line 1792 of yacc.c */ -#line 2677 "dtool/src/cppparser/cppBison.yxx" +#line 2464 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(UNARY_NEGATE, (yyvsp[(2) - (2)].u.expr)); } break; - case 508: + case 466: /* Line 1792 of yacc.c */ -#line 2681 "dtool/src/cppparser/cppBison.yxx" +#line 2468 "dtool/src/cppparser/cppBison.yxx" { if ((yyvsp[(2) - (2)].u.expr)->_type == CPPExpression::T_integer) { (yyval.u.expr) = (yyvsp[(2) - (2)].u.expr); @@ -6856,265 +6447,625 @@ yyreduce: } break; - case 509: + case 467: /* Line 1792 of yacc.c */ -#line 2693 "dtool/src/cppparser/cppBison.yxx" +#line 2480 "dtool/src/cppparser/cppBison.yxx" + { + (yyval.u.expr) = new CPPExpression(UNARY_STAR, (yyvsp[(2) - (2)].u.expr)); +} + break; + + case 468: +/* Line 1792 of yacc.c */ +#line 2484 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(UNARY_REF, (yyvsp[(2) - (2)].u.expr)); } break; - case 510: + case 469: /* Line 1792 of yacc.c */ -#line 2697 "dtool/src/cppparser/cppBison.yxx" +#line 2488 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression('*', (yyvsp[(1) - (3)].u.expr), (yyvsp[(3) - (3)].u.expr)); } break; - case 511: + case 470: /* Line 1792 of yacc.c */ -#line 2701 "dtool/src/cppparser/cppBison.yxx" +#line 2492 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression('/', (yyvsp[(1) - (3)].u.expr), (yyvsp[(3) - (3)].u.expr)); } break; - case 512: + case 471: /* Line 1792 of yacc.c */ -#line 2705 "dtool/src/cppparser/cppBison.yxx" +#line 2496 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression('%', (yyvsp[(1) - (3)].u.expr), (yyvsp[(3) - (3)].u.expr)); } break; - case 513: + case 472: /* Line 1792 of yacc.c */ -#line 2709 "dtool/src/cppparser/cppBison.yxx" +#line 2500 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression('+', (yyvsp[(1) - (3)].u.expr), (yyvsp[(3) - (3)].u.expr)); } break; - case 514: + case 473: /* Line 1792 of yacc.c */ -#line 2713 "dtool/src/cppparser/cppBison.yxx" +#line 2504 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression('-', (yyvsp[(1) - (3)].u.expr), (yyvsp[(3) - (3)].u.expr)); } break; - case 515: + case 474: /* Line 1792 of yacc.c */ -#line 2717 "dtool/src/cppparser/cppBison.yxx" +#line 2508 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression('|', (yyvsp[(1) - (3)].u.expr), (yyvsp[(3) - (3)].u.expr)); } break; - case 516: + case 475: /* Line 1792 of yacc.c */ -#line 2721 "dtool/src/cppparser/cppBison.yxx" +#line 2512 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression('^', (yyvsp[(1) - (3)].u.expr), (yyvsp[(3) - (3)].u.expr)); } break; - case 517: + case 476: /* Line 1792 of yacc.c */ -#line 2725 "dtool/src/cppparser/cppBison.yxx" +#line 2516 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression('&', (yyvsp[(1) - (3)].u.expr), (yyvsp[(3) - (3)].u.expr)); } break; - case 518: + case 477: /* Line 1792 of yacc.c */ -#line 2729 "dtool/src/cppparser/cppBison.yxx" +#line 2520 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(OROR, (yyvsp[(1) - (3)].u.expr), (yyvsp[(3) - (3)].u.expr)); } break; - case 519: + case 478: /* Line 1792 of yacc.c */ -#line 2733 "dtool/src/cppparser/cppBison.yxx" +#line 2524 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(ANDAND, (yyvsp[(1) - (3)].u.expr), (yyvsp[(3) - (3)].u.expr)); } break; - case 520: + case 479: /* Line 1792 of yacc.c */ -#line 2737 "dtool/src/cppparser/cppBison.yxx" +#line 2528 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(EQCOMPARE, (yyvsp[(1) - (3)].u.expr), (yyvsp[(3) - (3)].u.expr)); } break; - case 521: + case 480: /* Line 1792 of yacc.c */ -#line 2741 "dtool/src/cppparser/cppBison.yxx" +#line 2532 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(NECOMPARE, (yyvsp[(1) - (3)].u.expr), (yyvsp[(3) - (3)].u.expr)); } break; - case 522: + case 481: /* Line 1792 of yacc.c */ -#line 2745 "dtool/src/cppparser/cppBison.yxx" +#line 2536 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(LECOMPARE, (yyvsp[(1) - (3)].u.expr), (yyvsp[(3) - (3)].u.expr)); } break; - case 523: + case 482: /* Line 1792 of yacc.c */ -#line 2749 "dtool/src/cppparser/cppBison.yxx" +#line 2540 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(GECOMPARE, (yyvsp[(1) - (3)].u.expr), (yyvsp[(3) - (3)].u.expr)); } break; - case 524: + case 483: /* Line 1792 of yacc.c */ -#line 2753 "dtool/src/cppparser/cppBison.yxx" +#line 2544 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression('<', (yyvsp[(1) - (3)].u.expr), (yyvsp[(3) - (3)].u.expr)); } break; - case 525: + case 484: /* Line 1792 of yacc.c */ -#line 2757 "dtool/src/cppparser/cppBison.yxx" +#line 2548 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression('>', (yyvsp[(1) - (3)].u.expr), (yyvsp[(3) - (3)].u.expr)); } break; - case 526: + case 485: /* Line 1792 of yacc.c */ -#line 2761 "dtool/src/cppparser/cppBison.yxx" +#line 2552 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(LSHIFT, (yyvsp[(1) - (3)].u.expr), (yyvsp[(3) - (3)].u.expr)); } break; - case 527: + case 486: /* Line 1792 of yacc.c */ -#line 2765 "dtool/src/cppparser/cppBison.yxx" +#line 2556 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(RSHIFT, (yyvsp[(1) - (3)].u.expr), (yyvsp[(3) - (3)].u.expr)); } break; - case 528: + case 487: /* Line 1792 of yacc.c */ -#line 2769 "dtool/src/cppparser/cppBison.yxx" +#line 2560 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression('?', (yyvsp[(1) - (5)].u.expr), (yyvsp[(3) - (5)].u.expr), (yyvsp[(5) - (5)].u.expr)); } break; - case 529: + case 488: /* Line 1792 of yacc.c */ -#line 2773 "dtool/src/cppparser/cppBison.yxx" +#line 2564 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression('[', (yyvsp[(1) - (4)].u.expr), (yyvsp[(3) - (4)].u.expr)); } break; - case 530: + case 489: /* Line 1792 of yacc.c */ -#line 2777 "dtool/src/cppparser/cppBison.yxx" +#line 2568 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression('f', (yyvsp[(1) - (4)].u.expr), (yyvsp[(3) - (4)].u.expr)); } break; - case 531: + case 490: /* Line 1792 of yacc.c */ -#line 2781 "dtool/src/cppparser/cppBison.yxx" +#line 2572 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression('f', (yyvsp[(1) - (3)].u.expr)); } break; - case 532: + case 491: /* Line 1792 of yacc.c */ -#line 2785 "dtool/src/cppparser/cppBison.yxx" +#line 2576 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression('.', (yyvsp[(1) - (3)].u.expr), (yyvsp[(3) - (3)].u.expr)); } break; - case 533: + case 492: /* Line 1792 of yacc.c */ -#line 2789 "dtool/src/cppparser/cppBison.yxx" +#line 2580 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(POINTSAT, (yyvsp[(1) - (3)].u.expr), (yyvsp[(3) - (3)].u.expr)); } break; - case 534: + case 493: /* Line 1792 of yacc.c */ -#line 2793 "dtool/src/cppparser/cppBison.yxx" +#line 2584 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = (yyvsp[(2) - (3)].u.expr); } break; - case 535: + case 494: /* Line 1792 of yacc.c */ -#line 2800 "dtool/src/cppparser/cppBison.yxx" +#line 2591 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression((yyvsp[(1) - (1)].u.integer)); } break; - case 536: + case 495: /* Line 1792 of yacc.c */ -#line 2804 "dtool/src/cppparser/cppBison.yxx" +#line 2595 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(true); } break; - case 537: + case 496: /* Line 1792 of yacc.c */ -#line 2808 "dtool/src/cppparser/cppBison.yxx" +#line 2599 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(false); } break; - case 538: + case 497: /* Line 1792 of yacc.c */ -#line 2812 "dtool/src/cppparser/cppBison.yxx" +#line 2603 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression((yyvsp[(1) - (1)].u.integer)); } break; - case 539: + case 498: /* Line 1792 of yacc.c */ -#line 2816 "dtool/src/cppparser/cppBison.yxx" +#line 2607 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression((yyvsp[(1) - (1)].u.real)); } break; - case 540: + case 499: /* Line 1792 of yacc.c */ -#line 2820 "dtool/src/cppparser/cppBison.yxx" +#line 2611 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression((yyvsp[(1) - (1)].str)); } break; + case 500: +/* Line 1792 of yacc.c */ +#line 2615 "dtool/src/cppparser/cppBison.yxx" + { + (yyval.u.expr) = new CPPExpression((yyvsp[(1) - (1)].u.identifier), current_scope, global_scope, current_lexer); +} + break; + + case 501: +/* Line 1792 of yacc.c */ +#line 2629 "dtool/src/cppparser/cppBison.yxx" + { + (yyval.u.expr) = (yyvsp[(1) - (1)].u.expr); +} + break; + + case 502: +/* Line 1792 of yacc.c */ +#line 2633 "dtool/src/cppparser/cppBison.yxx" + { + (yyval.u.expr) = new CPPExpression(CPPExpression::typecast_op((yyvsp[(2) - (4)].u.type), (yyvsp[(4) - (4)].u.expr))); +} + break; + + case 503: +/* Line 1792 of yacc.c */ +#line 2637 "dtool/src/cppparser/cppBison.yxx" + { + (yyval.u.expr) = new CPPExpression(CPPExpression::typecast_op((yyvsp[(3) - (7)].u.type), (yyvsp[(6) - (7)].u.expr))); +} + break; + + case 504: +/* Line 1792 of yacc.c */ +#line 2641 "dtool/src/cppparser/cppBison.yxx" + { + (yyval.u.expr) = new CPPExpression(CPPExpression::typecast_op((yyvsp[(3) - (7)].u.type), (yyvsp[(6) - (7)].u.expr))); +} + break; + + case 505: +/* Line 1792 of yacc.c */ +#line 2645 "dtool/src/cppparser/cppBison.yxx" + { + (yyval.u.expr) = new CPPExpression(CPPExpression::sizeof_func((yyvsp[(3) - (4)].u.type))); +} + break; + + case 506: +/* Line 1792 of yacc.c */ +#line 2649 "dtool/src/cppparser/cppBison.yxx" + { + (yyval.u.expr) = new CPPExpression(CPPExpression::new_op((yyvsp[(2) - (2)].u.type))); +} + break; + + case 507: +/* Line 1792 of yacc.c */ +#line 2653 "dtool/src/cppparser/cppBison.yxx" + { + (yyval.u.expr) = new CPPExpression(CPPExpression::new_op((yyvsp[(2) - (5)].u.type), (yyvsp[(4) - (5)].u.expr))); +} + break; + + case 508: +/* Line 1792 of yacc.c */ +#line 2657 "dtool/src/cppparser/cppBison.yxx" + { + (yyval.u.expr) = new CPPExpression(UNARY_NOT, (yyvsp[(2) - (2)].u.expr)); +} + break; + + case 509: +/* Line 1792 of yacc.c */ +#line 2661 "dtool/src/cppparser/cppBison.yxx" + { + (yyval.u.expr) = new CPPExpression(UNARY_NEGATE, (yyvsp[(2) - (2)].u.expr)); +} + break; + + case 510: +/* Line 1792 of yacc.c */ +#line 2665 "dtool/src/cppparser/cppBison.yxx" + { + if ((yyvsp[(2) - (2)].u.expr)->_type == CPPExpression::T_integer) { + (yyval.u.expr) = (yyvsp[(2) - (2)].u.expr); + (yyval.u.expr)->_u._integer = -(yyval.u.expr)->_u._integer; + } else if ((yyvsp[(2) - (2)].u.expr)->_type == CPPExpression::T_real) { + (yyval.u.expr) = (yyvsp[(2) - (2)].u.expr); + (yyval.u.expr)->_u._real = -(yyval.u.expr)->_u._real; + } else { + (yyval.u.expr) = new CPPExpression(UNARY_MINUS, (yyvsp[(2) - (2)].u.expr)); + } +} + break; + + case 511: +/* Line 1792 of yacc.c */ +#line 2677 "dtool/src/cppparser/cppBison.yxx" + { + (yyval.u.expr) = new CPPExpression(UNARY_REF, (yyvsp[(2) - (2)].u.expr)); +} + break; + + case 512: +/* Line 1792 of yacc.c */ +#line 2681 "dtool/src/cppparser/cppBison.yxx" + { + (yyval.u.expr) = new CPPExpression('*', (yyvsp[(1) - (3)].u.expr), (yyvsp[(3) - (3)].u.expr)); +} + break; + + case 513: +/* Line 1792 of yacc.c */ +#line 2685 "dtool/src/cppparser/cppBison.yxx" + { + (yyval.u.expr) = new CPPExpression('/', (yyvsp[(1) - (3)].u.expr), (yyvsp[(3) - (3)].u.expr)); +} + break; + + case 514: +/* Line 1792 of yacc.c */ +#line 2689 "dtool/src/cppparser/cppBison.yxx" + { + (yyval.u.expr) = new CPPExpression('%', (yyvsp[(1) - (3)].u.expr), (yyvsp[(3) - (3)].u.expr)); +} + break; + + case 515: +/* Line 1792 of yacc.c */ +#line 2693 "dtool/src/cppparser/cppBison.yxx" + { + (yyval.u.expr) = new CPPExpression('+', (yyvsp[(1) - (3)].u.expr), (yyvsp[(3) - (3)].u.expr)); +} + break; + + case 516: +/* Line 1792 of yacc.c */ +#line 2697 "dtool/src/cppparser/cppBison.yxx" + { + (yyval.u.expr) = new CPPExpression('-', (yyvsp[(1) - (3)].u.expr), (yyvsp[(3) - (3)].u.expr)); +} + break; + + case 517: +/* Line 1792 of yacc.c */ +#line 2701 "dtool/src/cppparser/cppBison.yxx" + { + (yyval.u.expr) = new CPPExpression('|', (yyvsp[(1) - (3)].u.expr), (yyvsp[(3) - (3)].u.expr)); +} + break; + + case 518: +/* Line 1792 of yacc.c */ +#line 2705 "dtool/src/cppparser/cppBison.yxx" + { + (yyval.u.expr) = new CPPExpression('^', (yyvsp[(1) - (3)].u.expr), (yyvsp[(3) - (3)].u.expr)); +} + break; + + case 519: +/* Line 1792 of yacc.c */ +#line 2709 "dtool/src/cppparser/cppBison.yxx" + { + (yyval.u.expr) = new CPPExpression('&', (yyvsp[(1) - (3)].u.expr), (yyvsp[(3) - (3)].u.expr)); +} + break; + + case 520: +/* Line 1792 of yacc.c */ +#line 2713 "dtool/src/cppparser/cppBison.yxx" + { + (yyval.u.expr) = new CPPExpression(OROR, (yyvsp[(1) - (3)].u.expr), (yyvsp[(3) - (3)].u.expr)); +} + break; + + case 521: +/* Line 1792 of yacc.c */ +#line 2717 "dtool/src/cppparser/cppBison.yxx" + { + (yyval.u.expr) = new CPPExpression(ANDAND, (yyvsp[(1) - (3)].u.expr), (yyvsp[(3) - (3)].u.expr)); +} + break; + + case 522: +/* Line 1792 of yacc.c */ +#line 2721 "dtool/src/cppparser/cppBison.yxx" + { + (yyval.u.expr) = new CPPExpression(EQCOMPARE, (yyvsp[(1) - (3)].u.expr), (yyvsp[(3) - (3)].u.expr)); +} + break; + + case 523: +/* Line 1792 of yacc.c */ +#line 2725 "dtool/src/cppparser/cppBison.yxx" + { + (yyval.u.expr) = new CPPExpression(NECOMPARE, (yyvsp[(1) - (3)].u.expr), (yyvsp[(3) - (3)].u.expr)); +} + break; + + case 524: +/* Line 1792 of yacc.c */ +#line 2729 "dtool/src/cppparser/cppBison.yxx" + { + (yyval.u.expr) = new CPPExpression(LECOMPARE, (yyvsp[(1) - (3)].u.expr), (yyvsp[(3) - (3)].u.expr)); +} + break; + + case 525: +/* Line 1792 of yacc.c */ +#line 2733 "dtool/src/cppparser/cppBison.yxx" + { + (yyval.u.expr) = new CPPExpression(GECOMPARE, (yyvsp[(1) - (3)].u.expr), (yyvsp[(3) - (3)].u.expr)); +} + break; + + case 526: +/* Line 1792 of yacc.c */ +#line 2737 "dtool/src/cppparser/cppBison.yxx" + { + (yyval.u.expr) = new CPPExpression('<', (yyvsp[(1) - (3)].u.expr), (yyvsp[(3) - (3)].u.expr)); +} + break; + + case 527: +/* Line 1792 of yacc.c */ +#line 2741 "dtool/src/cppparser/cppBison.yxx" + { + (yyval.u.expr) = new CPPExpression('>', (yyvsp[(1) - (3)].u.expr), (yyvsp[(3) - (3)].u.expr)); +} + break; + + case 528: +/* Line 1792 of yacc.c */ +#line 2745 "dtool/src/cppparser/cppBison.yxx" + { + (yyval.u.expr) = new CPPExpression(LSHIFT, (yyvsp[(1) - (3)].u.expr), (yyvsp[(3) - (3)].u.expr)); +} + break; + + case 529: +/* Line 1792 of yacc.c */ +#line 2749 "dtool/src/cppparser/cppBison.yxx" + { + (yyval.u.expr) = new CPPExpression(RSHIFT, (yyvsp[(1) - (3)].u.expr), (yyvsp[(3) - (3)].u.expr)); +} + break; + + case 530: +/* Line 1792 of yacc.c */ +#line 2753 "dtool/src/cppparser/cppBison.yxx" + { + (yyval.u.expr) = new CPPExpression('?', (yyvsp[(1) - (5)].u.expr), (yyvsp[(3) - (5)].u.expr), (yyvsp[(5) - (5)].u.expr)); +} + break; + + case 531: +/* Line 1792 of yacc.c */ +#line 2757 "dtool/src/cppparser/cppBison.yxx" + { + (yyval.u.expr) = new CPPExpression('[', (yyvsp[(1) - (4)].u.expr), (yyvsp[(3) - (4)].u.expr)); +} + break; + + case 532: +/* Line 1792 of yacc.c */ +#line 2761 "dtool/src/cppparser/cppBison.yxx" + { + (yyval.u.expr) = new CPPExpression('f', (yyvsp[(1) - (4)].u.expr), (yyvsp[(3) - (4)].u.expr)); +} + break; + + case 533: +/* Line 1792 of yacc.c */ +#line 2765 "dtool/src/cppparser/cppBison.yxx" + { + (yyval.u.expr) = new CPPExpression('f', (yyvsp[(1) - (3)].u.expr)); +} + break; + + case 534: +/* Line 1792 of yacc.c */ +#line 2769 "dtool/src/cppparser/cppBison.yxx" + { + (yyval.u.expr) = new CPPExpression('.', (yyvsp[(1) - (3)].u.expr), (yyvsp[(3) - (3)].u.expr)); +} + break; + + case 535: +/* Line 1792 of yacc.c */ +#line 2773 "dtool/src/cppparser/cppBison.yxx" + { + (yyval.u.expr) = new CPPExpression(POINTSAT, (yyvsp[(1) - (3)].u.expr), (yyvsp[(3) - (3)].u.expr)); +} + break; + + case 536: +/* Line 1792 of yacc.c */ +#line 2777 "dtool/src/cppparser/cppBison.yxx" + { + (yyval.u.expr) = (yyvsp[(2) - (3)].u.expr); +} + break; + + case 537: +/* Line 1792 of yacc.c */ +#line 2784 "dtool/src/cppparser/cppBison.yxx" + { + (yyval.u.expr) = new CPPExpression((yyvsp[(1) - (1)].u.integer)); +} + break; + + case 538: +/* Line 1792 of yacc.c */ +#line 2788 "dtool/src/cppparser/cppBison.yxx" + { + (yyval.u.expr) = new CPPExpression(true); +} + break; + + case 539: +/* Line 1792 of yacc.c */ +#line 2792 "dtool/src/cppparser/cppBison.yxx" + { + (yyval.u.expr) = new CPPExpression(false); +} + break; + + case 540: +/* Line 1792 of yacc.c */ +#line 2796 "dtool/src/cppparser/cppBison.yxx" + { + (yyval.u.expr) = new CPPExpression((yyvsp[(1) - (1)].u.integer)); +} + break; + case 541: /* Line 1792 of yacc.c */ -#line 2827 "dtool/src/cppparser/cppBison.yxx" +#line 2800 "dtool/src/cppparser/cppBison.yxx" + { + (yyval.u.expr) = new CPPExpression((yyvsp[(1) - (1)].u.real)); +} + break; + + case 542: +/* Line 1792 of yacc.c */ +#line 2804 "dtool/src/cppparser/cppBison.yxx" + { + (yyval.u.expr) = new CPPExpression((yyvsp[(1) - (1)].str)); +} + break; + + case 543: +/* Line 1792 of yacc.c */ +#line 2811 "dtool/src/cppparser/cppBison.yxx" { CPPType *type = (yyvsp[(1) - (1)].u.identifier)->find_type(current_scope, global_scope, true); if (type == NULL) { @@ -7124,9 +7075,9 @@ yyreduce: } break; - case 542: + case 544: /* Line 1792 of yacc.c */ -#line 2835 "dtool/src/cppparser/cppBison.yxx" +#line 2819 "dtool/src/cppparser/cppBison.yxx" { CPPType *type = (yyvsp[(2) - (2)].u.identifier)->find_type(current_scope, global_scope, true, current_lexer); if (type == NULL) { @@ -7136,41 +7087,41 @@ yyreduce: } break; - case 543: + case 545: /* Line 1792 of yacc.c */ -#line 2843 "dtool/src/cppparser/cppBison.yxx" +#line 2827 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.type) = CPPType::new_type(new CPPTBDType((yyvsp[(2) - (2)].u.identifier))); } break; - case 544: -/* Line 1792 of yacc.c */ -#line 2866 "dtool/src/cppparser/cppBison.yxx" - { - (yyval.u.identifier) = (yyvsp[(1) - (1)].u.identifier); -} - break; - - case 545: -/* Line 1792 of yacc.c */ -#line 2870 "dtool/src/cppparser/cppBison.yxx" - { - (yyval.u.identifier) = (yyvsp[(1) - (1)].u.identifier); -} - break; - case 546: /* Line 1792 of yacc.c */ -#line 2877 "dtool/src/cppparser/cppBison.yxx" +#line 2850 "dtool/src/cppparser/cppBison.yxx" { - (yyval.str) = (yyvsp[(1) - (1)].str); + (yyval.u.identifier) = (yyvsp[(1) - (1)].u.identifier); } break; case 547: /* Line 1792 of yacc.c */ -#line 2881 "dtool/src/cppparser/cppBison.yxx" +#line 2854 "dtool/src/cppparser/cppBison.yxx" + { + (yyval.u.identifier) = (yyvsp[(1) - (1)].u.identifier); +} + break; + + case 548: +/* Line 1792 of yacc.c */ +#line 2861 "dtool/src/cppparser/cppBison.yxx" + { + (yyval.str) = (yyvsp[(1) - (1)].str); +} + break; + + case 549: +/* Line 1792 of yacc.c */ +#line 2865 "dtool/src/cppparser/cppBison.yxx" { (yyval.str) = (yyvsp[(1) - (2)].str) + (yyvsp[(2) - (2)].str); } @@ -7178,7 +7129,7 @@ yyreduce: /* Line 1792 of yacc.c */ -#line 7182 "built/tmp/cppBison.yxx.c" +#line 7133 "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 87c4f5cd17..a557a61a6d 100644 --- a/dtool/src/cppparser/cppBison.yxx +++ b/dtool/src/cppparser/cppBison.yxx @@ -2134,48 +2134,32 @@ code_block: element: REAL -{ -} | INTEGER -{ -} | STRING -{ -} | CHAR_TOK -{ -} | IDENTIFIER -{ -} | TYPENAME_IDENTIFIER -{ -} | SCOPING -{ -} | SIMPLE_IDENTIFIER -{ -} | ELLIPSIS | OROR | ANDAND | EQCOMPARE | NECOMPARE | LECOMPARE | GECOMPARE | LSHIFT | RSHIFT | POINTSAT_STAR | DOT_STAR | POINTSAT | SCOPE | PLUSPLUS | MINUSMINUS | TIMESEQUAL | DIVIDEEQUAL | MODEQUAL | PLUSEQUAL | MINUSEQUAL | OREQUAL | ANDEQUAL | XOREQUAL | LSHIFTEQUAL | RSHIFTEQUAL - | KW_BOOL | KW_CATCH | KW_CHAR | KW_CHAR16_T | KW_CHAR32_T - | KW_WCHAR_T | KW_CLASS | KW_CONST + | KW_BOOL | KW_CATCH + | KW_CHAR | KW_CHAR16_T | KW_CHAR32_T + | KW_CLASS | KW_CONST | KW_DELETE | KW_DOUBLE | KW_DYNAMIC_CAST | KW_ELSE | KW_ENUM | KW_EXTERN | KW_EXPLICIT | KW_FALSE - | KW_FLOAT | KW_FRIEND | KW_FOR | KW_GOTO - | KW_IF | KW_INLINE | KW_INT - | KW_LONG | KW_MUTABLE | KW_NEW | KW_PRIVATE | KW_PROTECTED + | KW_FLOAT | KW_FRIEND | KW_FOR | KW_GOTO | KW_IF | KW_INLINE + | KW_INT | KW_LONG | KW_MUTABLE | KW_NAMESPACE + | KW_NEW | KW_OPERATOR | KW_PRIVATE | KW_PROTECTED | KW_PUBLIC | KW_PUBLISHED | KW_REGISTER | KW_RETURN - | KW_SHORT | KW_SIGNED | KW_SIZEOF | KW_STATIC | KW_STATIC_CAST - | KW_STRUCT | KW_THROW | KW_TRUE | KW_TRY | KW_TYPEDEF | KW_TYPENAME - | KW_UNION | KW_UNSIGNED | KW_VIRTUAL | KW_VOID | KW_VOLATILE - | KW_WHILE - | KW_OPERATOR + | KW_SHORT | KW_SIGNED | KW_SIZEOF | KW_STATIC + | KW_STATIC_CAST | KW_STRUCT | KW_THROW | KW_TRUE | KW_TRY + | KW_TYPEDEF | KW_TYPENAME | KW_UNION | KW_UNSIGNED | KW_USING + | KW_VIRTUAL | KW_VOID | KW_VOLATILE | KW_WCHAR_T | KW_WHILE { } | '+' | '-' | '*' | '/' | '&' | '|' | '^' | '!' | '~' | '=' | '%' diff --git a/dtool/src/cppparser/cppScope.cxx b/dtool/src/cppparser/cppScope.cxx index 565a9ef4e5..d27ae00b82 100644 --- a/dtool/src/cppparser/cppScope.cxx +++ b/dtool/src/cppparser/cppScope.cxx @@ -252,6 +252,11 @@ define_extension_type(CPPExtensionType *type, CPPPreprocessor *error_sink) { } if (type->is_template()) { + CPPTemplateScope *scope = type->get_template_scope(); + if (scope->_parameters._parameters.size() == 0) { + return; + } + string simple_name = type->get_simple_name(); pair result = @@ -596,9 +601,14 @@ find_scope(const string &name, bool recurse) const { ti = _types.find(name); if (ti != _types.end()) { type = (*ti).second; - // Resolve if this is a typedef. - while (type->as_typedef_type() != (CPPTypedefType *)NULL) { - type = type->as_typedef_type()->_type; + // Resolve if this is a typedef or const. + while (type->get_subtype() == CPPDeclaration::ST_const || + type->get_subtype() == CPPDeclaration::ST_typedef) { + if (type->as_typedef_type() != (CPPType *)NULL) { + type = type->as_typedef_type()->_type; + } else { + type = type->as_const_type()->_wrapped_around; + } } } else if (_struct_type != NULL) { @@ -648,9 +658,14 @@ find_scope(const string &name, CPPDeclaration::SubstDecl &subst, return NULL; } - // Resolve this if it is a typedef. - while (type->get_subtype() == CPPDeclaration::ST_typedef) { - type = type->as_typedef_type()->_type; + // Resolve if this is a typedef or const. + while (type->get_subtype() == CPPDeclaration::ST_const || + type->get_subtype() == CPPDeclaration::ST_typedef) { + if (type->as_typedef_type() != (CPPType *)NULL) { + type = type->as_typedef_type()->_type; + } else { + type = type->as_const_type()->_wrapped_around; + } } CPPStructType *st = type->as_struct_type();