diff --git a/src/backend/parser/gram.c b/src/backend/parser/gram.c index 88773d7e53..fe45472fea 100644 --- a/src/backend/parser/gram.c +++ b/src/backend/parser/gram.c @@ -219,7 +219,7 @@ * * * IDENTIFICATION - * $Header: /cvsroot/pgsql/src/backend/parser/Attic/gram.c,v 2.26 1998/08/17 16:08:54 thomas Exp $ + * $Header: /cvsroot/pgsql/src/backend/parser/Attic/gram.c,v 2.27 1998/08/19 14:51:26 momjian Exp $ * * HISTORY * AUTHOR DATE MAJOR EVENT @@ -334,7 +334,7 @@ typedef union -#define YYFINAL 1568 +#define YYFINAL 1571 #define YYFLAG -32768 #define YYNTBASE 219 @@ -428,55 +428,55 @@ static const short yyprhs[] = { 0, 1061, 1063, 1065, 1067, 1072, 1074, 1076, 1081, 1088, 1090, 1092, 1094, 1096, 1098, 1100, 1102, 1104, 1106, 1108, 1112, 1116, 1120, 1130, 1132, 1133, 1135, 1136, 1137, 1151, 1153, - 1155, 1159, 1161, 1163, 1167, 1170, 1173, 1177, 1179, 1181, - 1183, 1185, 1187, 1189, 1190, 1193, 1196, 1199, 1202, 1205, - 1208, 1211, 1213, 1215, 1216, 1222, 1225, 1232, 1236, 1240, - 1241, 1245, 1246, 1248, 1250, 1251, 1253, 1255, 1256, 1260, - 1265, 1269, 1275, 1277, 1278, 1280, 1281, 1285, 1286, 1288, - 1292, 1296, 1298, 1300, 1302, 1304, 1306, 1308, 1314, 1319, - 1328, 1332, 1333, 1337, 1339, 1342, 1347, 1351, 1358, 1373, - 1384, 1393, 1397, 1398, 1403, 1405, 1413, 1417, 1418, 1420, - 1421, 1423, 1424, 1426, 1430, 1432, 1433, 1437, 1438, 1440, - 1444, 1447, 1450, 1453, 1456, 1458, 1460, 1461, 1463, 1464, - 1466, 1468, 1472, 1476, 1477, 1480, 1481, 1490, 1493, 1494, - 1498, 1503, 1505, 1509, 1512, 1514, 1517, 1520, 1523, 1526, - 1528, 1530, 1532, 1533, 1535, 1536, 1541, 1546, 1547, 1549, - 1553, 1555, 1559, 1561, 1564, 1565, 1567, 1570, 1574, 1579, - 1580, 1584, 1589, 1590, 1593, 1595, 1598, 1600, 1602, 1604, - 1606, 1608, 1610, 1613, 1616, 1619, 1622, 1624, 1627, 1629, - 1631, 1635, 1636, 1642, 1646, 1647, 1653, 1657, 1658, 1663, - 1665, 1670, 1673, 1675, 1679, 1682, 1684, 1685, 1689, 1690, - 1693, 1694, 1696, 1699, 1701, 1704, 1706, 1708, 1710, 1712, - 1714, 1716, 1720, 1721, 1723, 1727, 1731, 1735, 1739, 1743, - 1747, 1751, 1752, 1754, 1756, 1764, 1773, 1782, 1790, 1798, - 1802, 1806, 1808, 1810, 1812, 1814, 1816, 1818, 1820, 1822, - 1824, 1826, 1828, 1831, 1833, 1835, 1837, 1840, 1844, 1848, - 1852, 1856, 1860, 1864, 1868, 1871, 1874, 1877, 1881, 1888, - 1892, 1896, 1900, 1905, 1908, 1911, 1916, 1920, 1925, 1927, - 1929, 1934, 1936, 1941, 1943, 1945, 1950, 1955, 1960, 1965, - 1971, 1977, 1983, 1988, 1991, 1995, 1998, 2003, 2007, 2012, - 2016, 2021, 2027, 2034, 2035, 2042, 2043, 2051, 2057, 2063, - 2069, 2075, 2081, 2087, 2093, 2099, 2106, 2113, 2120, 2127, - 2134, 2141, 2148, 2155, 2162, 2169, 2176, 2183, 2190, 2197, - 2204, 2211, 2215, 2219, 2222, 2225, 2227, 2229, 2232, 2236, - 2240, 2244, 2248, 2251, 2254, 2257, 2261, 2268, 2272, 2276, - 2279, 2282, 2286, 2291, 2293, 2295, 2300, 2302, 2307, 2309, - 2311, 2316, 2321, 2327, 2333, 2339, 2344, 2349, 2356, 2357, - 2359, 2363, 2367, 2371, 2372, 2374, 2376, 2378, 2382, 2383, - 2386, 2388, 2391, 2395, 2399, 2403, 2407, 2410, 2414, 2421, - 2425, 2429, 2432, 2435, 2437, 2441, 2446, 2451, 2456, 2462, - 2468, 2474, 2479, 2483, 2484, 2487, 2488, 2491, 2492, 2496, - 2499, 2501, 2503, 2505, 2507, 2511, 2513, 2515, 2517, 2521, - 2525, 2529, 2531, 2535, 2539, 2543, 2545, 2547, 2552, 2555, - 2559, 2563, 2565, 2569, 2571, 2575, 2577, 2579, 2580, 2582, - 2584, 2586, 2588, 2590, 2592, 2594, 2596, 2598, 2600, 2602, - 2604, 2606, 2608, 2611, 2613, 2615, 2617, 2619, 2621, 2623, - 2625, 2627, 2629, 2631, 2633, 2635, 2637, 2639, 2641, 2643, - 2645, 2647, 2649, 2651, 2653, 2655, 2657, 2659, 2661, 2663, - 2665, 2667, 2669, 2671, 2673, 2675, 2677, 2679, 2681, 2683, - 2685, 2687, 2689, 2691, 2693, 2695, 2697, 2699, 2701, 2703, - 2705, 2707, 2709, 2711, 2713, 2715, 2717, 2719, 2721, 2723, - 2725, 2727, 2729, 2731, 2733 + 1155, 1159, 1163, 1165, 1167, 1171, 1174, 1177, 1181, 1183, + 1185, 1187, 1189, 1191, 1193, 1194, 1197, 1200, 1203, 1206, + 1209, 1212, 1215, 1217, 1219, 1220, 1226, 1229, 1236, 1240, + 1244, 1245, 1249, 1250, 1252, 1254, 1255, 1257, 1259, 1260, + 1264, 1269, 1273, 1279, 1281, 1282, 1284, 1285, 1289, 1290, + 1292, 1296, 1300, 1302, 1304, 1306, 1308, 1310, 1312, 1318, + 1323, 1332, 1336, 1337, 1341, 1343, 1346, 1351, 1355, 1362, + 1377, 1388, 1397, 1401, 1402, 1407, 1409, 1417, 1421, 1422, + 1424, 1425, 1427, 1428, 1430, 1434, 1436, 1437, 1441, 1442, + 1444, 1448, 1451, 1454, 1457, 1460, 1462, 1464, 1465, 1467, + 1468, 1470, 1472, 1476, 1480, 1481, 1484, 1485, 1494, 1497, + 1498, 1502, 1507, 1509, 1513, 1516, 1518, 1521, 1524, 1527, + 1530, 1532, 1534, 1536, 1537, 1539, 1540, 1545, 1550, 1551, + 1553, 1557, 1559, 1563, 1565, 1568, 1569, 1571, 1574, 1578, + 1583, 1584, 1588, 1593, 1594, 1597, 1599, 1602, 1604, 1606, + 1608, 1610, 1612, 1614, 1617, 1620, 1623, 1626, 1628, 1631, + 1633, 1635, 1639, 1640, 1646, 1650, 1651, 1657, 1661, 1662, + 1667, 1669, 1674, 1677, 1679, 1683, 1686, 1688, 1689, 1693, + 1694, 1697, 1698, 1700, 1703, 1705, 1708, 1710, 1712, 1714, + 1716, 1718, 1720, 1724, 1725, 1727, 1731, 1735, 1739, 1743, + 1747, 1751, 1755, 1756, 1758, 1760, 1768, 1777, 1786, 1794, + 1802, 1806, 1810, 1812, 1814, 1816, 1818, 1820, 1822, 1824, + 1826, 1828, 1830, 1832, 1835, 1837, 1839, 1841, 1844, 1848, + 1852, 1856, 1860, 1864, 1868, 1872, 1875, 1878, 1881, 1885, + 1892, 1896, 1900, 1904, 1909, 1912, 1915, 1920, 1924, 1929, + 1931, 1933, 1938, 1940, 1945, 1947, 1949, 1954, 1959, 1964, + 1969, 1975, 1981, 1987, 1992, 1995, 1999, 2002, 2007, 2011, + 2016, 2020, 2025, 2031, 2038, 2039, 2046, 2047, 2055, 2061, + 2067, 2073, 2079, 2085, 2091, 2097, 2103, 2110, 2117, 2124, + 2131, 2138, 2145, 2152, 2159, 2166, 2173, 2180, 2187, 2194, + 2201, 2208, 2215, 2219, 2223, 2226, 2229, 2231, 2233, 2236, + 2240, 2244, 2248, 2252, 2255, 2258, 2261, 2265, 2272, 2276, + 2280, 2283, 2286, 2290, 2295, 2297, 2299, 2304, 2306, 2311, + 2313, 2315, 2320, 2325, 2331, 2337, 2343, 2348, 2353, 2360, + 2361, 2363, 2367, 2371, 2375, 2376, 2378, 2380, 2382, 2386, + 2387, 2390, 2392, 2395, 2399, 2403, 2407, 2411, 2414, 2418, + 2425, 2429, 2433, 2436, 2439, 2441, 2445, 2450, 2455, 2460, + 2466, 2472, 2478, 2483, 2487, 2488, 2491, 2492, 2495, 2496, + 2500, 2503, 2505, 2507, 2509, 2511, 2515, 2517, 2519, 2521, + 2525, 2529, 2533, 2535, 2539, 2543, 2547, 2549, 2551, 2556, + 2559, 2563, 2567, 2569, 2573, 2575, 2579, 2581, 2583, 2584, + 2586, 2588, 2590, 2592, 2594, 2596, 2598, 2600, 2602, 2604, + 2606, 2608, 2610, 2612, 2615, 2617, 2619, 2621, 2623, 2625, + 2627, 2629, 2631, 2633, 2635, 2637, 2639, 2641, 2643, 2645, + 2647, 2649, 2651, 2653, 2655, 2657, 2659, 2661, 2663, 2665, + 2667, 2669, 2671, 2673, 2675, 2677, 2679, 2681, 2683, 2685, + 2687, 2689, 2691, 2693, 2695, 2697, 2699, 2701, 2703, 2705, + 2707, 2709, 2711, 2713, 2715, 2717, 2719, 2721, 2723, 2725, + 2727, 2729, 2731, 2733, 2735, 2737 }; static const short yyrhs[] = { 220, @@ -595,165 +595,165 @@ static const short yyrhs[] = { 220, 101, 455, 389, 169, 338, 337, 106, 461, 0, 461, 0, 0, 22, 0, 0, 0, 25, 173, 461, 9, 340, 81, 345, 106, 344, 402, 141, 346, 341, 0, - 163, 0, 366, 0, 213, 342, 214, 0, 343, 0, - 366, 0, 343, 366, 210, 0, 343, 366, 0, 366, - 210, 0, 455, 212, 458, 0, 455, 0, 98, 0, - 112, 0, 37, 0, 58, 0, 151, 0, 0, 78, - 455, 0, 154, 455, 0, 128, 350, 0, 11, 350, - 0, 23, 350, 0, 42, 350, 0, 96, 350, 0, - 121, 0, 108, 0, 0, 25, 118, 461, 9, 376, - 0, 155, 463, 0, 25, 139, 456, 120, 354, 355, - 0, 25, 139, 456, 0, 157, 201, 356, 0, 0, - 185, 201, 357, 0, 0, 468, 0, 36, 0, 0, - 468, 0, 36, 0, 0, 41, 139, 456, 0, 136, - 460, 81, 455, 0, 182, 361, 362, 0, 182, 361, - 362, 455, 363, 0, 183, 0, 0, 131, 0, 0, - 217, 364, 218, 0, 0, 461, 0, 364, 216, 461, - 0, 143, 361, 366, 0, 376, 0, 375, 0, 374, - 0, 367, 0, 347, 0, 372, 0, 58, 60, 455, - 369, 368, 0, 115, 217, 452, 218, 0, 98, 384, - 452, 394, 402, 392, 393, 378, 0, 217, 370, 218, - 0, 0, 370, 216, 371, 0, 371, 0, 471, 434, - 0, 37, 50, 455, 402, 0, 156, 382, 455, 0, - 112, 455, 99, 450, 394, 402, 0, 35, 461, 242, - 32, 48, 98, 384, 452, 394, 402, 392, 393, 378, - 385, 0, 98, 384, 452, 381, 394, 402, 392, 393, - 378, 385, 0, 98, 384, 452, 394, 402, 392, 393, - 378, 0, 110, 383, 379, 0, 0, 379, 110, 383, - 380, 0, 380, 0, 98, 384, 452, 394, 402, 392, - 393, 0, 60, 382, 455, 0, 0, 101, 0, 0, - 5, 0, 0, 39, 0, 39, 81, 471, 0, 5, - 0, 0, 84, 14, 386, 0, 0, 387, 0, 386, - 216, 387, 0, 430, 388, 0, 114, 196, 0, 114, - 202, 0, 114, 203, 0, 10, 0, 38, 0, 0, - 206, 0, 0, 391, 0, 461, 0, 391, 216, 461, - 0, 53, 14, 435, 0, 0, 54, 430, 0, 0, - 50, 217, 403, 397, 62, 403, 399, 218, 0, 50, - 395, 0, 0, 395, 216, 396, 0, 396, 26, 62, - 396, 0, 396, 0, 403, 9, 472, 0, 403, 471, - 0, 403, 0, 74, 397, 0, 51, 398, 0, 66, - 398, 0, 95, 398, 0, 85, 0, 57, 0, 110, - 0, 0, 85, 0, 0, 81, 217, 430, 218, 0, - 114, 217, 400, 218, 0, 0, 401, 0, 400, 216, - 401, 0, 471, 0, 471, 212, 471, 0, 467, 0, - 119, 430, 0, 0, 455, 0, 455, 206, 0, 213, - 214, 405, 0, 213, 467, 214, 405, 0, 0, 213, - 214, 405, 0, 213, 467, 214, 405, 0, 0, 407, - 404, 0, 415, 0, 175, 407, 0, 408, 0, 420, - 0, 410, 0, 409, 0, 194, 0, 127, 0, 47, - 412, 0, 40, 88, 0, 34, 414, 0, 80, 413, - 0, 47, 0, 40, 88, 0, 34, 0, 80, 0, - 217, 467, 218, 0, 0, 217, 467, 216, 467, 218, - 0, 217, 467, 218, 0, 0, 217, 467, 216, 467, - 218, 0, 217, 467, 218, 0, 0, 416, 217, 467, - 218, 0, 416, 0, 18, 417, 418, 419, 0, 17, - 417, 0, 116, 0, 73, 18, 417, 0, 75, 417, - 0, 117, 0, 0, 18, 99, 471, 0, 0, 21, - 471, 0, 0, 421, 0, 103, 422, 0, 102, 0, - 59, 423, 0, 122, 0, 71, 0, 33, 0, 55, - 0, 70, 0, 97, 0, 120, 102, 123, 0, 0, - 421, 0, 122, 106, 71, 0, 33, 106, 55, 0, - 33, 106, 70, 0, 33, 106, 97, 0, 55, 106, - 70, 0, 55, 106, 97, 0, 70, 106, 97, 0, - 0, 430, 0, 79, 0, 217, 426, 218, 56, 217, - 377, 218, 0, 217, 426, 218, 77, 56, 217, 377, - 218, 0, 217, 426, 218, 428, 429, 217, 377, 218, - 0, 217, 426, 218, 428, 217, 377, 218, 0, 217, - 426, 218, 428, 217, 426, 218, 0, 427, 216, 430, - 0, 427, 216, 430, 0, 430, 0, 196, 0, 202, - 0, 201, 0, 203, 0, 204, 0, 205, 0, 206, - 0, 207, 0, 8, 0, 5, 0, 448, 434, 0, - 425, 0, 465, 0, 471, 0, 205, 430, 0, 430, - 204, 430, 0, 430, 205, 430, 0, 430, 207, 430, - 0, 430, 206, 430, 0, 430, 202, 430, 0, 430, - 203, 430, 0, 430, 201, 430, 0, 209, 430, 0, - 210, 430, 0, 208, 430, 0, 430, 215, 406, 0, - 16, 217, 430, 9, 406, 218, 0, 217, 424, 218, - 0, 430, 196, 430, 0, 430, 67, 430, 0, 430, - 77, 67, 430, 0, 196, 430, 0, 430, 196, 0, - 462, 217, 206, 218, 0, 462, 217, 218, 0, 462, + 163, 0, 366, 0, 213, 342, 214, 0, 217, 342, + 218, 0, 343, 0, 366, 0, 343, 366, 210, 0, + 343, 366, 0, 366, 210, 0, 455, 212, 458, 0, + 455, 0, 98, 0, 112, 0, 37, 0, 58, 0, + 151, 0, 0, 78, 455, 0, 154, 455, 0, 128, + 350, 0, 11, 350, 0, 23, 350, 0, 42, 350, + 0, 96, 350, 0, 121, 0, 108, 0, 0, 25, + 118, 461, 9, 376, 0, 155, 463, 0, 25, 139, + 456, 120, 354, 355, 0, 25, 139, 456, 0, 157, + 201, 356, 0, 0, 185, 201, 357, 0, 0, 468, + 0, 36, 0, 0, 468, 0, 36, 0, 0, 41, + 139, 456, 0, 136, 460, 81, 455, 0, 182, 361, + 362, 0, 182, 361, 362, 455, 363, 0, 183, 0, + 0, 131, 0, 0, 217, 364, 218, 0, 0, 461, + 0, 364, 216, 461, 0, 143, 361, 366, 0, 376, + 0, 375, 0, 374, 0, 367, 0, 347, 0, 372, + 0, 58, 60, 455, 369, 368, 0, 115, 217, 452, + 218, 0, 98, 384, 452, 394, 402, 392, 393, 378, + 0, 217, 370, 218, 0, 0, 370, 216, 371, 0, + 371, 0, 471, 434, 0, 37, 50, 455, 402, 0, + 156, 382, 455, 0, 112, 455, 99, 450, 394, 402, + 0, 35, 461, 242, 32, 48, 98, 384, 452, 394, + 402, 392, 393, 378, 385, 0, 98, 384, 452, 381, + 394, 402, 392, 393, 378, 385, 0, 98, 384, 452, + 394, 402, 392, 393, 378, 0, 110, 383, 379, 0, + 0, 379, 110, 383, 380, 0, 380, 0, 98, 384, + 452, 394, 402, 392, 393, 0, 60, 382, 455, 0, + 0, 101, 0, 0, 5, 0, 0, 39, 0, 39, + 81, 471, 0, 5, 0, 0, 84, 14, 386, 0, + 0, 387, 0, 386, 216, 387, 0, 430, 388, 0, + 114, 196, 0, 114, 202, 0, 114, 203, 0, 10, + 0, 38, 0, 0, 206, 0, 0, 391, 0, 461, + 0, 391, 216, 461, 0, 53, 14, 435, 0, 0, + 54, 430, 0, 0, 50, 217, 403, 397, 62, 403, + 399, 218, 0, 50, 395, 0, 0, 395, 216, 396, + 0, 396, 26, 62, 396, 0, 396, 0, 403, 9, + 472, 0, 403, 471, 0, 403, 0, 74, 397, 0, + 51, 398, 0, 66, 398, 0, 95, 398, 0, 85, + 0, 57, 0, 110, 0, 0, 85, 0, 0, 81, + 217, 430, 218, 0, 114, 217, 400, 218, 0, 0, + 401, 0, 400, 216, 401, 0, 471, 0, 471, 212, + 471, 0, 467, 0, 119, 430, 0, 0, 455, 0, + 455, 206, 0, 213, 214, 405, 0, 213, 467, 214, + 405, 0, 0, 213, 214, 405, 0, 213, 467, 214, + 405, 0, 0, 407, 404, 0, 415, 0, 175, 407, + 0, 408, 0, 420, 0, 410, 0, 409, 0, 194, + 0, 127, 0, 47, 412, 0, 40, 88, 0, 34, + 414, 0, 80, 413, 0, 47, 0, 40, 88, 0, + 34, 0, 80, 0, 217, 467, 218, 0, 0, 217, + 467, 216, 467, 218, 0, 217, 467, 218, 0, 0, + 217, 467, 216, 467, 218, 0, 217, 467, 218, 0, + 0, 416, 217, 467, 218, 0, 416, 0, 18, 417, + 418, 419, 0, 17, 417, 0, 116, 0, 73, 18, + 417, 0, 75, 417, 0, 117, 0, 0, 18, 99, + 471, 0, 0, 21, 471, 0, 0, 421, 0, 103, + 422, 0, 102, 0, 59, 423, 0, 122, 0, 71, + 0, 33, 0, 55, 0, 70, 0, 97, 0, 120, + 102, 123, 0, 0, 421, 0, 122, 106, 71, 0, + 33, 106, 55, 0, 33, 106, 70, 0, 33, 106, + 97, 0, 55, 106, 70, 0, 55, 106, 97, 0, + 70, 106, 97, 0, 0, 430, 0, 79, 0, 217, + 426, 218, 56, 217, 377, 218, 0, 217, 426, 218, + 77, 56, 217, 377, 218, 0, 217, 426, 218, 428, + 429, 217, 377, 218, 0, 217, 426, 218, 428, 217, + 377, 218, 0, 217, 426, 218, 428, 217, 426, 218, + 0, 427, 216, 430, 0, 427, 216, 430, 0, 430, + 0, 196, 0, 202, 0, 201, 0, 203, 0, 204, + 0, 205, 0, 206, 0, 207, 0, 8, 0, 5, + 0, 448, 434, 0, 425, 0, 465, 0, 471, 0, + 205, 430, 0, 430, 204, 430, 0, 430, 205, 430, + 0, 430, 207, 430, 0, 430, 206, 430, 0, 430, + 202, 430, 0, 430, 203, 430, 0, 430, 201, 430, + 0, 209, 430, 0, 210, 430, 0, 208, 430, 0, + 430, 215, 406, 0, 16, 217, 430, 9, 406, 218, + 0, 217, 424, 218, 0, 430, 196, 430, 0, 430, + 67, 430, 0, 430, 77, 67, 430, 0, 196, 430, + 0, 430, 196, 0, 462, 217, 206, 218, 0, 462, + 217, 218, 0, 462, 217, 435, 218, 0, 28, 0, + 29, 0, 29, 217, 467, 218, 0, 30, 0, 30, + 217, 467, 218, 0, 31, 0, 113, 0, 44, 217, + 377, 218, 0, 45, 217, 436, 218, 0, 87, 217, + 438, 218, 0, 100, 217, 440, 218, 0, 109, 217, + 13, 443, 218, 0, 109, 217, 65, 443, 218, 0, + 109, 217, 107, 443, 218, 0, 109, 217, 443, 218, + 0, 430, 152, 0, 430, 61, 79, 0, 430, 164, + 0, 430, 61, 77, 79, 0, 430, 61, 126, 0, + 430, 61, 77, 124, 0, 430, 61, 124, 0, 430, + 61, 77, 126, 0, 430, 12, 433, 7, 433, 0, + 430, 77, 12, 433, 7, 433, 0, 0, 430, 56, + 431, 217, 444, 218, 0, 0, 430, 77, 56, 432, + 217, 446, 218, 0, 430, 196, 217, 377, 218, 0, + 430, 204, 217, 377, 218, 0, 430, 205, 217, 377, + 218, 0, 430, 207, 217, 377, 218, 0, 430, 206, + 217, 377, 218, 0, 430, 202, 217, 377, 218, 0, + 430, 203, 217, 377, 218, 0, 430, 201, 217, 377, + 218, 0, 430, 196, 8, 217, 377, 218, 0, 430, + 204, 8, 217, 377, 218, 0, 430, 205, 8, 217, + 377, 218, 0, 430, 207, 8, 217, 377, 218, 0, + 430, 206, 8, 217, 377, 218, 0, 430, 202, 8, + 217, 377, 218, 0, 430, 203, 8, 217, 377, 218, + 0, 430, 201, 8, 217, 377, 218, 0, 430, 196, + 5, 217, 377, 218, 0, 430, 204, 5, 217, 377, + 218, 0, 430, 205, 5, 217, 377, 218, 0, 430, + 207, 5, 217, 377, 218, 0, 430, 206, 5, 217, + 377, 218, 0, 430, 202, 5, 217, 377, 218, 0, + 430, 203, 5, 217, 377, 218, 0, 430, 201, 5, + 217, 377, 218, 0, 430, 7, 430, 0, 430, 83, + 430, 0, 77, 430, 0, 448, 434, 0, 465, 0, + 471, 0, 205, 433, 0, 433, 204, 433, 0, 433, + 205, 433, 0, 433, 207, 433, 0, 433, 206, 433, + 0, 209, 433, 0, 210, 433, 0, 208, 433, 0, + 433, 215, 406, 0, 16, 217, 433, 9, 406, 218, + 0, 217, 430, 218, 0, 433, 196, 433, 0, 196, + 433, 0, 433, 196, 0, 462, 217, 218, 0, 462, 217, 435, 218, 0, 28, 0, 29, 0, 29, 217, 467, 218, 0, 30, 0, 30, 217, 467, 218, 0, - 31, 0, 113, 0, 44, 217, 377, 218, 0, 45, - 217, 436, 218, 0, 87, 217, 438, 218, 0, 100, + 31, 0, 113, 0, 87, 217, 438, 218, 0, 100, 217, 440, 218, 0, 109, 217, 13, 443, 218, 0, 109, 217, 65, 443, 218, 0, 109, 217, 107, 443, - 218, 0, 109, 217, 443, 218, 0, 430, 152, 0, - 430, 61, 79, 0, 430, 164, 0, 430, 61, 77, - 79, 0, 430, 61, 126, 0, 430, 61, 77, 124, - 0, 430, 61, 124, 0, 430, 61, 77, 126, 0, - 430, 12, 433, 7, 433, 0, 430, 77, 12, 433, - 7, 433, 0, 0, 430, 56, 431, 217, 444, 218, - 0, 0, 430, 77, 56, 432, 217, 446, 218, 0, - 430, 196, 217, 377, 218, 0, 430, 204, 217, 377, - 218, 0, 430, 205, 217, 377, 218, 0, 430, 207, - 217, 377, 218, 0, 430, 206, 217, 377, 218, 0, - 430, 202, 217, 377, 218, 0, 430, 203, 217, 377, - 218, 0, 430, 201, 217, 377, 218, 0, 430, 196, - 8, 217, 377, 218, 0, 430, 204, 8, 217, 377, - 218, 0, 430, 205, 8, 217, 377, 218, 0, 430, - 207, 8, 217, 377, 218, 0, 430, 206, 8, 217, - 377, 218, 0, 430, 202, 8, 217, 377, 218, 0, - 430, 203, 8, 217, 377, 218, 0, 430, 201, 8, - 217, 377, 218, 0, 430, 196, 5, 217, 377, 218, - 0, 430, 204, 5, 217, 377, 218, 0, 430, 205, - 5, 217, 377, 218, 0, 430, 207, 5, 217, 377, - 218, 0, 430, 206, 5, 217, 377, 218, 0, 430, - 202, 5, 217, 377, 218, 0, 430, 203, 5, 217, - 377, 218, 0, 430, 201, 5, 217, 377, 218, 0, - 430, 7, 430, 0, 430, 83, 430, 0, 77, 430, - 0, 448, 434, 0, 465, 0, 471, 0, 205, 433, - 0, 433, 204, 433, 0, 433, 205, 433, 0, 433, - 207, 433, 0, 433, 206, 433, 0, 209, 433, 0, - 210, 433, 0, 208, 433, 0, 433, 215, 406, 0, - 16, 217, 433, 9, 406, 218, 0, 217, 430, 218, - 0, 433, 196, 433, 0, 196, 433, 0, 433, 196, - 0, 462, 217, 218, 0, 462, 217, 435, 218, 0, - 28, 0, 29, 0, 29, 217, 467, 218, 0, 30, - 0, 30, 217, 467, 218, 0, 31, 0, 113, 0, - 87, 217, 438, 218, 0, 100, 217, 440, 218, 0, - 109, 217, 13, 443, 218, 0, 109, 217, 65, 443, - 218, 0, 109, 217, 107, 443, 218, 0, 109, 217, - 443, 218, 0, 213, 430, 214, 434, 0, 213, 430, - 209, 430, 214, 434, 0, 0, 424, 0, 435, 216, - 424, 0, 435, 114, 430, 0, 437, 50, 430, 0, - 0, 421, 0, 104, 0, 105, 0, 439, 56, 439, - 0, 0, 448, 434, 0, 465, 0, 205, 439, 0, - 439, 204, 439, 0, 439, 205, 439, 0, 439, 207, - 439, 0, 439, 206, 439, 0, 208, 439, 0, 439, - 215, 406, 0, 16, 217, 439, 9, 406, 218, 0, - 217, 439, 218, 0, 439, 196, 439, 0, 196, 439, - 0, 439, 196, 0, 471, 0, 462, 217, 218, 0, - 462, 217, 435, 218, 0, 87, 217, 438, 218, 0, - 100, 217, 440, 218, 0, 109, 217, 13, 443, 218, - 0, 109, 217, 65, 443, 218, 0, 109, 217, 107, - 443, 218, 0, 109, 217, 443, 218, 0, 435, 441, - 442, 0, 0, 50, 435, 0, 0, 48, 435, 0, - 0, 430, 50, 435, 0, 50, 435, 0, 435, 0, - 377, 0, 445, 0, 465, 0, 445, 216, 465, 0, - 377, 0, 447, 0, 465, 0, 447, 216, 465, 0, - 455, 212, 449, 0, 466, 212, 449, 0, 458, 0, - 449, 212, 458, 0, 449, 212, 206, 0, 450, 216, - 451, 0, 451, 0, 206, 0, 471, 434, 201, 424, - 0, 448, 434, 0, 455, 212, 206, 0, 452, 216, - 453, 0, 453, 0, 424, 9, 472, 0, 424, 0, - 455, 212, 206, 0, 206, 0, 471, 0, 0, 473, - 0, 471, 0, 471, 0, 194, 0, 471, 0, 194, - 0, 471, 0, 471, 0, 471, 0, 468, 0, 194, - 0, 467, 0, 199, 0, 468, 0, 406, 468, 0, - 466, 0, 126, 0, 124, 0, 198, 0, 197, 0, - 195, 0, 194, 0, 471, 0, 411, 0, 416, 0, - 194, 0, 421, 0, 3, 0, 135, 0, 138, 0, - 139, 0, 140, 0, 40, 0, 142, 0, 185, 0, - 146, 0, 148, 0, 149, 0, 63, 0, 64, 0, - 157, 0, 69, 0, 158, 0, 159, 0, 166, 0, - 82, 0, 187, 0, 90, 0, 168, 0, 172, 0, - 177, 0, 178, 0, 102, 0, 104, 0, 105, 0, - 125, 0, 127, 0, 192, 0, 184, 0, 123, 0, - 471, 0, 186, 0, 136, 0, 24, 0, 26, 0, - 49, 0, 53, 0, 155, 0, 84, 0, 87, 0, - 88, 0, 101, 0, 108, 0, 126, 0, 124, 0, - 27, 0, 161, 0 + 218, 0, 109, 217, 443, 218, 0, 213, 430, 214, + 434, 0, 213, 430, 209, 430, 214, 434, 0, 0, + 424, 0, 435, 216, 424, 0, 435, 114, 430, 0, + 437, 50, 430, 0, 0, 421, 0, 104, 0, 105, + 0, 439, 56, 439, 0, 0, 448, 434, 0, 465, + 0, 205, 439, 0, 439, 204, 439, 0, 439, 205, + 439, 0, 439, 207, 439, 0, 439, 206, 439, 0, + 208, 439, 0, 439, 215, 406, 0, 16, 217, 439, + 9, 406, 218, 0, 217, 439, 218, 0, 439, 196, + 439, 0, 196, 439, 0, 439, 196, 0, 471, 0, + 462, 217, 218, 0, 462, 217, 435, 218, 0, 87, + 217, 438, 218, 0, 100, 217, 440, 218, 0, 109, + 217, 13, 443, 218, 0, 109, 217, 65, 443, 218, + 0, 109, 217, 107, 443, 218, 0, 109, 217, 443, + 218, 0, 435, 441, 442, 0, 0, 50, 435, 0, + 0, 48, 435, 0, 0, 430, 50, 435, 0, 50, + 435, 0, 435, 0, 377, 0, 445, 0, 465, 0, + 445, 216, 465, 0, 377, 0, 447, 0, 465, 0, + 447, 216, 465, 0, 455, 212, 449, 0, 466, 212, + 449, 0, 458, 0, 449, 212, 458, 0, 449, 212, + 206, 0, 450, 216, 451, 0, 451, 0, 206, 0, + 471, 434, 201, 424, 0, 448, 434, 0, 455, 212, + 206, 0, 452, 216, 453, 0, 453, 0, 424, 9, + 472, 0, 424, 0, 455, 212, 206, 0, 206, 0, + 471, 0, 0, 473, 0, 471, 0, 471, 0, 194, + 0, 471, 0, 194, 0, 471, 0, 471, 0, 471, + 0, 468, 0, 194, 0, 467, 0, 199, 0, 468, + 0, 406, 468, 0, 466, 0, 126, 0, 124, 0, + 198, 0, 197, 0, 195, 0, 194, 0, 471, 0, + 411, 0, 416, 0, 194, 0, 421, 0, 3, 0, + 135, 0, 138, 0, 139, 0, 140, 0, 40, 0, + 142, 0, 185, 0, 146, 0, 148, 0, 149, 0, + 63, 0, 64, 0, 157, 0, 69, 0, 158, 0, + 159, 0, 166, 0, 82, 0, 187, 0, 90, 0, + 168, 0, 172, 0, 177, 0, 178, 0, 102, 0, + 104, 0, 105, 0, 125, 0, 127, 0, 192, 0, + 184, 0, 123, 0, 471, 0, 186, 0, 136, 0, + 24, 0, 26, 0, 49, 0, 53, 0, 155, 0, + 84, 0, 87, 0, 88, 0, 101, 0, 108, 0, + 126, 0, 124, 0, 27, 0, 161, 0 }; #endif @@ -797,55 +797,55 @@ static const short yyrline[] = { 0, 1838, 1839, 1840, 1844, 1853, 1854, 1858, 1868, 1877, 1877, 1879, 1880, 1881, 1882, 1883, 1884, 1885, 1888, 1892, 1894, 1896, 1909, 1921, 1922, 1925, 1926, 1939, 1941, 1955, 1956, - 1957, 1960, 1962, 1966, 1968, 1970, 1974, 1982, 1993, 1994, - 1995, 1996, 1999, 2000, 2012, 2020, 2042, 2048, 2054, 2060, - 2066, 2074, 2075, 2076, 2087, 2108, 2124, 2147, 2159, 2160, - 2163, 2164, 2167, 2168, 2169, 2172, 2173, 2174, 2184, 2200, - 2217, 2226, 2239, 2240, 2243, 2244, 2247, 2248, 2251, 2253, - 2265, 2286, 2287, 2288, 2289, 2290, 2291, 2302, 2310, 2321, - 2337, 2338, 2341, 2344, 2348, 2365, 2380, 2405, 2426, 2467, - 2486, 2503, 2509, 2513, 2519, 2523, 2539, 2540, 2543, 2544, - 2547, 2548, 2551, 2552, 2553, 2554, 2557, 2558, 2561, 2562, - 2565, 2573, 2574, 2575, 2576, 2577, 2578, 2588, 2589, 2592, - 2594, 2596, 2600, 2601, 2604, 2608, 2620, 2625, 2626, 2629, - 2631, 2633, 2637, 2643, 2649, 2657, 2658, 2660, 2662, 2664, - 2666, 2668, 2670, 2674, 2675, 2678, 2679, 2680, 2683, 2684, - 2687, 2702, 2709, 2718, 2719, 2722, 2729, 2737, 2739, 2741, - 2745, 2747, 2749, 2764, 2786, 2787, 2794, 2795, 2796, 2799, - 2807, 2808, 2817, 2823, 2828, 2834, 2842, 2844, 2846, 2848, - 2852, 2863, 2869, 2876, 2881, 2887, 2895, 2901, 2914, 2941, - 2960, 2980, 2981, 2982, 2983, 2986, 2987, 2990, 2991, 2994, - 2995, 2998, 3004, 3011, 3017, 3025, 3026, 3027, 3028, 3029, - 3030, 3033, 3034, 3037, 3038, 3039, 3040, 3041, 3042, 3043, - 3044, 3045, 3055, 3057, 3074, 3084, 3094, 3107, 3120, 3126, - 3132, 3136, 3142, 3143, 3144, 3145, 3146, 3147, 3148, 3149, - 3152, 3153, 3164, 3169, 3171, 3173, 3181, 3183, 3185, 3187, - 3189, 3191, 3193, 3195, 3197, 3199, 3201, 3203, 3219, 3235, - 3237, 3239, 3241, 3243, 3245, 3247, 3259, 3266, 3273, 3288, - 3303, 3325, 3340, 3362, 3369, 3376, 3386, 3393, 3400, 3408, - 3415, 3422, 3429, 3436, 3438, 3440, 3442, 3449, 3459, 3469, - 3479, 3489, 3495, 3501, 3501, 3515, 3515, 3529, 3539, 3549, - 3559, 3569, 3579, 3589, 3599, 3609, 3619, 3629, 3639, 3649, - 3659, 3669, 3679, 3689, 3699, 3709, 3719, 3729, 3739, 3749, - 3759, 3769, 3771, 3773, 3783, 3788, 3790, 3798, 3800, 3802, - 3804, 3806, 3808, 3810, 3812, 3814, 3830, 3846, 3848, 3850, - 3852, 3854, 3861, 3868, 3883, 3898, 3920, 3935, 3957, 3964, - 3971, 3978, 3986, 3993, 4000, 4007, 4016, 4023, 4030, 4034, - 4036, 4038, 4042, 4049, 4053, 4054, 4055, 4058, 4060, 4064, - 4069, 4071, 4073, 4075, 4077, 4079, 4081, 4083, 4099, 4115, - 4117, 4119, 4121, 4123, 4131, 4138, 4145, 4152, 4160, 4167, - 4174, 4181, 4190, 4194, 4198, 4200, 4209, 4211, 4215, 4217, - 4219, 4223, 4229, 4233, 4235, 4241, 4247, 4251, 4253, 4259, - 4267, 4277, 4279, 4281, 4292, 4294, 4296, 4311, 4318, 4325, - 4344, 4346, 4351, 4358, 4365, 4377, 4391, 4392, 4395, 4400, - 4412, 4413, 4414, 4415, 4416, 4422, 4423, 4425, 4426, 4431, - 4438, 4445, 4452, 4460, 4462, 4472, 4484, 4491, 4492, 4493, - 4500, 4502, 4504, 4515, 4516, 4517, 4518, 4519, 4520, 4521, + 1957, 1958, 1961, 1963, 1967, 1969, 1971, 1975, 1983, 1994, + 1995, 1996, 1997, 2000, 2001, 2013, 2021, 2043, 2049, 2055, + 2061, 2067, 2075, 2076, 2077, 2088, 2109, 2125, 2148, 2160, + 2161, 2164, 2165, 2168, 2169, 2170, 2173, 2174, 2175, 2185, + 2201, 2218, 2227, 2240, 2241, 2244, 2245, 2248, 2249, 2252, + 2254, 2266, 2287, 2288, 2289, 2290, 2291, 2292, 2303, 2311, + 2322, 2338, 2339, 2342, 2345, 2349, 2366, 2381, 2406, 2427, + 2468, 2487, 2504, 2510, 2514, 2520, 2524, 2540, 2541, 2544, + 2545, 2548, 2549, 2552, 2553, 2554, 2555, 2558, 2559, 2562, + 2563, 2566, 2574, 2575, 2576, 2577, 2578, 2579, 2589, 2590, + 2593, 2595, 2597, 2601, 2602, 2605, 2609, 2621, 2626, 2627, + 2630, 2632, 2634, 2638, 2644, 2650, 2658, 2659, 2661, 2663, + 2665, 2667, 2669, 2671, 2675, 2676, 2679, 2680, 2681, 2684, + 2685, 2688, 2703, 2710, 2719, 2720, 2723, 2730, 2738, 2740, + 2742, 2746, 2748, 2750, 2765, 2787, 2788, 2795, 2796, 2797, + 2800, 2808, 2809, 2818, 2824, 2829, 2835, 2843, 2845, 2847, + 2849, 2853, 2864, 2870, 2877, 2882, 2888, 2896, 2902, 2915, + 2942, 2961, 2981, 2982, 2983, 2984, 2987, 2988, 2991, 2992, + 2995, 2996, 2999, 3005, 3012, 3018, 3026, 3027, 3028, 3029, + 3030, 3031, 3034, 3035, 3038, 3039, 3040, 3041, 3042, 3043, + 3044, 3045, 3046, 3056, 3058, 3075, 3085, 3095, 3108, 3121, + 3127, 3133, 3137, 3143, 3144, 3145, 3146, 3147, 3148, 3149, + 3150, 3153, 3154, 3165, 3170, 3172, 3174, 3182, 3184, 3186, + 3188, 3190, 3192, 3194, 3196, 3198, 3200, 3202, 3204, 3220, + 3236, 3238, 3240, 3242, 3244, 3246, 3248, 3260, 3267, 3274, + 3289, 3304, 3326, 3341, 3363, 3370, 3377, 3387, 3394, 3401, + 3409, 3416, 3423, 3430, 3437, 3439, 3441, 3443, 3450, 3460, + 3470, 3480, 3490, 3496, 3502, 3502, 3516, 3516, 3530, 3540, + 3550, 3560, 3570, 3580, 3590, 3600, 3610, 3620, 3630, 3640, + 3650, 3660, 3670, 3680, 3690, 3700, 3710, 3720, 3730, 3740, + 3750, 3760, 3770, 3772, 3774, 3784, 3789, 3791, 3799, 3801, + 3803, 3805, 3807, 3809, 3811, 3813, 3815, 3831, 3847, 3849, + 3851, 3853, 3855, 3862, 3869, 3884, 3899, 3921, 3936, 3958, + 3965, 3972, 3979, 3987, 3994, 4001, 4008, 4017, 4024, 4031, + 4035, 4037, 4039, 4043, 4050, 4054, 4055, 4056, 4059, 4061, + 4065, 4070, 4072, 4074, 4076, 4078, 4080, 4082, 4084, 4100, + 4116, 4118, 4120, 4122, 4124, 4132, 4139, 4146, 4153, 4161, + 4168, 4175, 4182, 4191, 4195, 4199, 4201, 4210, 4212, 4216, + 4218, 4220, 4224, 4230, 4234, 4236, 4242, 4248, 4252, 4254, + 4260, 4268, 4278, 4280, 4282, 4293, 4295, 4297, 4312, 4319, + 4326, 4345, 4347, 4352, 4359, 4366, 4378, 4392, 4393, 4396, + 4401, 4413, 4414, 4415, 4416, 4417, 4423, 4424, 4426, 4427, + 4432, 4439, 4446, 4453, 4461, 4463, 4473, 4485, 4492, 4493, + 4494, 4501, 4503, 4505, 4516, 4517, 4518, 4519, 4520, 4521, 4522, 4523, 4524, 4525, 4526, 4527, 4528, 4529, 4530, 4531, 4532, 4533, 4534, 4535, 4536, 4537, 4538, 4539, 4540, 4541, - 4542, 4543, 4544, 4545, 4546, 4547, 4548, 4549, 4562, 4563, + 4542, 4543, 4544, 4545, 4546, 4547, 4548, 4549, 4550, 4563, 4564, 4565, 4566, 4567, 4568, 4569, 4570, 4571, 4572, 4573, - 4574, 4575, 4576, 4579, 4586 + 4574, 4575, 4576, 4577, 4580, 4587 }; #endif @@ -961,55 +961,55 @@ static const short yyr1[] = { 0, 328, 328, 328, 329, 330, 330, 331, 332, 333, 333, 334, 334, 334, 334, 334, 334, 334, 335, 335, 335, 335, 336, 337, 337, 338, 338, 340, 339, 341, 341, - 341, 342, 342, 343, 343, 343, 344, 344, 345, 345, - 345, 345, 346, 346, 347, 348, 349, 349, 349, 349, - 349, 350, 350, 350, 351, 352, 353, 353, 354, 354, - 355, 355, 356, 356, 356, 357, 357, 357, 358, 359, - 360, 360, 361, 361, 362, 362, 363, 363, 364, 364, - 365, 366, 366, 366, 366, 366, 366, 367, 368, 368, - 369, 369, 370, 370, 371, 372, 373, 374, 375, 376, - 377, 378, 378, 379, 379, 380, 381, 381, 382, 382, - 383, 383, 384, 384, 384, 384, 385, 385, 386, 386, - 387, 388, 388, 388, 388, 388, 388, 389, 389, 390, - 391, 391, 392, 392, 393, 393, 394, 394, 394, 395, - 395, 395, 396, 396, 396, 397, 397, 397, 397, 397, - 397, 397, 397, 398, 398, 399, 399, 399, 400, 400, - 401, 401, 401, 402, 402, 403, 403, 404, 404, 404, - 405, 405, 405, 406, 406, 406, 407, 407, 407, 408, - 409, 409, 410, 410, 410, 410, 411, 411, 411, 411, - 412, 412, 413, 413, 413, 414, 414, 414, 415, 415, - 416, 416, 416, 416, 416, 417, 417, 418, 418, 419, - 419, 420, 420, 420, 420, 421, 421, 421, 421, 421, - 421, 422, 422, 423, 423, 423, 423, 423, 423, 423, - 423, 423, 424, 424, 425, 425, 425, 425, 425, 426, - 427, 427, 428, 428, 428, 428, 428, 428, 428, 428, - 429, 429, 430, 430, 430, 430, 430, 430, 430, 430, + 341, 341, 342, 342, 343, 343, 343, 344, 344, 345, + 345, 345, 345, 346, 346, 347, 348, 349, 349, 349, + 349, 349, 350, 350, 350, 351, 352, 353, 353, 354, + 354, 355, 355, 356, 356, 356, 357, 357, 357, 358, + 359, 360, 360, 361, 361, 362, 362, 363, 363, 364, + 364, 365, 366, 366, 366, 366, 366, 366, 367, 368, + 368, 369, 369, 370, 370, 371, 372, 373, 374, 375, + 376, 377, 378, 378, 379, 379, 380, 381, 381, 382, + 382, 383, 383, 384, 384, 384, 384, 385, 385, 386, + 386, 387, 388, 388, 388, 388, 388, 388, 389, 389, + 390, 391, 391, 392, 392, 393, 393, 394, 394, 394, + 395, 395, 395, 396, 396, 396, 397, 397, 397, 397, + 397, 397, 397, 397, 398, 398, 399, 399, 399, 400, + 400, 401, 401, 401, 402, 402, 403, 403, 404, 404, + 404, 405, 405, 405, 406, 406, 406, 407, 407, 407, + 408, 409, 409, 410, 410, 410, 410, 411, 411, 411, + 411, 412, 412, 413, 413, 413, 414, 414, 414, 415, + 415, 416, 416, 416, 416, 416, 417, 417, 418, 418, + 419, 419, 420, 420, 420, 420, 421, 421, 421, 421, + 421, 421, 422, 422, 423, 423, 423, 423, 423, 423, + 423, 423, 423, 424, 424, 425, 425, 425, 425, 425, + 426, 427, 427, 428, 428, 428, 428, 428, 428, 428, + 428, 429, 429, 430, 430, 430, 430, 430, 430, 430, 430, 430, 430, 430, 430, 430, 430, 430, 430, 430, 430, 430, 430, 430, 430, 430, 430, 430, 430, 430, 430, 430, 430, 430, 430, 430, 430, 430, 430, 430, 430, 430, 430, 430, 430, 430, 430, 430, 430, 430, - 430, 430, 430, 431, 430, 432, 430, 430, 430, 430, + 430, 430, 430, 430, 431, 430, 432, 430, 430, 430, 430, 430, 430, 430, 430, 430, 430, 430, 430, 430, 430, 430, 430, 430, 430, 430, 430, 430, 430, 430, - 430, 430, 430, 430, 433, 433, 433, 433, 433, 433, + 430, 430, 430, 430, 430, 433, 433, 433, 433, 433, 433, 433, 433, 433, 433, 433, 433, 433, 433, 433, 433, 433, 433, 433, 433, 433, 433, 433, 433, 433, - 433, 433, 433, 433, 433, 433, 434, 434, 434, 435, - 435, 435, 436, 436, 437, 437, 437, 438, 438, 439, + 433, 433, 433, 433, 433, 433, 433, 434, 434, 434, + 435, 435, 435, 436, 436, 437, 437, 437, 438, 438, 439, 439, 439, 439, 439, 439, 439, 439, 439, 439, 439, 439, 439, 439, 439, 439, 439, 439, 439, 439, - 439, 439, 440, 440, 441, 441, 442, 442, 443, 443, - 443, 444, 444, 445, 445, 446, 446, 447, 447, 448, - 448, 449, 449, 449, 450, 450, 450, 451, 451, 451, - 452, 452, 453, 453, 453, 453, 454, 454, 455, 455, - 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, - 465, 465, 465, 465, 465, 465, 466, 467, 468, 469, - 470, 470, 470, 471, 471, 471, 471, 471, 471, 471, + 439, 439, 439, 440, 440, 441, 441, 442, 442, 443, + 443, 443, 444, 444, 445, 445, 446, 446, 447, 447, + 448, 448, 449, 449, 449, 450, 450, 450, 451, 451, + 451, 452, 452, 453, 453, 453, 453, 454, 454, 455, + 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, + 465, 465, 465, 465, 465, 465, 465, 466, 467, 468, + 469, 470, 470, 470, 471, 471, 471, 471, 471, 471, 471, 471, 471, 471, 471, 471, 471, 471, 471, 471, 471, 471, 471, 471, 471, 471, 471, 471, 471, 471, - 471, 471, 471, 471, 471, 471, 471, 471, 472, 472, + 471, 471, 471, 471, 471, 471, 471, 471, 471, 472, 472, 472, 472, 472, 472, 472, 472, 472, 472, 472, - 472, 472, 472, 473, 473 + 472, 472, 472, 472, 473, 473 }; static const short yyr2[] = { 0, @@ -1050,218 +1050,219 @@ static const short yyr2[] = { 0, 1, 1, 1, 4, 1, 1, 4, 6, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 3, 3, 9, 1, 0, 1, 0, 0, 13, 1, 1, - 3, 1, 1, 3, 2, 2, 3, 1, 1, 1, - 1, 1, 1, 0, 2, 2, 2, 2, 2, 2, - 2, 1, 1, 0, 5, 2, 6, 3, 3, 0, - 3, 0, 1, 1, 0, 1, 1, 0, 3, 4, - 3, 5, 1, 0, 1, 0, 3, 0, 1, 3, - 3, 1, 1, 1, 1, 1, 1, 5, 4, 8, - 3, 0, 3, 1, 2, 4, 3, 6, 14, 10, - 8, 3, 0, 4, 1, 7, 3, 0, 1, 0, - 1, 0, 1, 3, 1, 0, 3, 0, 1, 3, - 2, 2, 2, 2, 1, 1, 0, 1, 0, 1, - 1, 3, 3, 0, 2, 0, 8, 2, 0, 3, - 4, 1, 3, 2, 1, 2, 2, 2, 2, 1, - 1, 1, 0, 1, 0, 4, 4, 0, 1, 3, - 1, 3, 1, 2, 0, 1, 2, 3, 4, 0, - 3, 4, 0, 2, 1, 2, 1, 1, 1, 1, - 1, 1, 2, 2, 2, 2, 1, 2, 1, 1, - 3, 0, 5, 3, 0, 5, 3, 0, 4, 1, - 4, 2, 1, 3, 2, 1, 0, 3, 0, 2, - 0, 1, 2, 1, 2, 1, 1, 1, 1, 1, - 1, 3, 0, 1, 3, 3, 3, 3, 3, 3, - 3, 0, 1, 1, 7, 8, 8, 7, 7, 3, - 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 2, 1, 1, 1, 2, 3, 3, 3, - 3, 3, 3, 3, 2, 2, 2, 3, 6, 3, - 3, 3, 4, 2, 2, 4, 3, 4, 1, 1, - 4, 1, 4, 1, 1, 4, 4, 4, 4, 5, - 5, 5, 4, 2, 3, 2, 4, 3, 4, 3, - 4, 5, 6, 0, 6, 0, 7, 5, 5, 5, - 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, + 3, 3, 1, 1, 3, 2, 2, 3, 1, 1, + 1, 1, 1, 1, 0, 2, 2, 2, 2, 2, + 2, 2, 1, 1, 0, 5, 2, 6, 3, 3, + 0, 3, 0, 1, 1, 0, 1, 1, 0, 3, + 4, 3, 5, 1, 0, 1, 0, 3, 0, 1, + 3, 3, 1, 1, 1, 1, 1, 1, 5, 4, + 8, 3, 0, 3, 1, 2, 4, 3, 6, 14, + 10, 8, 3, 0, 4, 1, 7, 3, 0, 1, + 0, 1, 0, 1, 3, 1, 0, 3, 0, 1, + 3, 2, 2, 2, 2, 1, 1, 0, 1, 0, + 1, 1, 3, 3, 0, 2, 0, 8, 2, 0, + 3, 4, 1, 3, 2, 1, 2, 2, 2, 2, + 1, 1, 1, 0, 1, 0, 4, 4, 0, 1, + 3, 1, 3, 1, 2, 0, 1, 2, 3, 4, + 0, 3, 4, 0, 2, 1, 2, 1, 1, 1, + 1, 1, 1, 2, 2, 2, 2, 1, 2, 1, + 1, 3, 0, 5, 3, 0, 5, 3, 0, 4, + 1, 4, 2, 1, 3, 2, 1, 0, 3, 0, + 2, 0, 1, 2, 1, 2, 1, 1, 1, 1, + 1, 1, 3, 0, 1, 3, 3, 3, 3, 3, + 3, 3, 0, 1, 1, 7, 8, 8, 7, 7, + 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 2, 1, 1, 1, 2, 3, 3, + 3, 3, 3, 3, 3, 2, 2, 2, 3, 6, + 3, 3, 3, 4, 2, 2, 4, 3, 4, 1, + 1, 4, 1, 4, 1, 1, 4, 4, 4, 4, + 5, 5, 5, 4, 2, 3, 2, 4, 3, 4, + 3, 4, 5, 6, 0, 6, 0, 7, 5, 5, + 5, 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, - 6, 3, 3, 2, 2, 1, 1, 2, 3, 3, - 3, 3, 2, 2, 2, 3, 6, 3, 3, 2, - 2, 3, 4, 1, 1, 4, 1, 4, 1, 1, - 4, 4, 5, 5, 5, 4, 4, 6, 0, 1, - 3, 3, 3, 0, 1, 1, 1, 3, 0, 2, - 1, 2, 3, 3, 3, 3, 2, 3, 6, 3, - 3, 2, 2, 1, 3, 4, 4, 4, 5, 5, - 5, 4, 3, 0, 2, 0, 2, 0, 3, 2, - 1, 1, 1, 1, 3, 1, 1, 1, 3, 3, - 3, 1, 3, 3, 3, 1, 1, 4, 2, 3, - 3, 1, 3, 1, 3, 1, 1, 0, 1, 1, + 6, 6, 3, 3, 2, 2, 1, 1, 2, 3, + 3, 3, 3, 2, 2, 2, 3, 6, 3, 3, + 2, 2, 3, 4, 1, 1, 4, 1, 4, 1, + 1, 4, 4, 5, 5, 5, 4, 4, 6, 0, + 1, 3, 3, 3, 0, 1, 1, 1, 3, 0, + 2, 1, 2, 3, 3, 3, 3, 2, 3, 6, + 3, 3, 2, 2, 1, 3, 4, 4, 4, 5, + 5, 5, 4, 3, 0, 2, 0, 2, 0, 3, + 2, 1, 1, 1, 1, 3, 1, 1, 1, 3, + 3, 3, 1, 3, 3, 3, 1, 1, 4, 2, + 3, 3, 1, 3, 1, 3, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 2, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 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 }; static const short yydefact[] = { 0, - 0, 394, 778, 394, 236, 0, 0, 0, 394, 0, - 287, 0, 0, 0, 0, 394, 456, 0, 0, 394, - 0, 93, 414, 0, 0, 0, 450, 287, 0, 0, - 414, 1, 2, 15, 7, 21, 45, 46, 47, 6, + 0, 395, 779, 395, 236, 0, 0, 0, 395, 0, + 287, 0, 0, 0, 0, 395, 457, 0, 0, 395, + 0, 93, 415, 0, 0, 0, 451, 287, 0, 0, + 415, 1, 2, 15, 7, 21, 45, 46, 47, 6, 8, 9, 10, 11, 12, 13, 19, 14, 20, 17, 18, 24, 25, 36, 26, 22, 30, 29, 34, 31, - 33, 32, 35, 38, 426, 27, 39, 40, 41, 42, - 43, 16, 44, 23, 37, 425, 427, 28, 424, 423, - 422, 0, 0, 393, 392, 388, 806, 558, 811, 559, - 817, 818, 820, 560, 557, 824, 826, 561, 831, 832, - 833, 556, 838, 834, 835, 807, 808, 809, 810, 812, - 814, 815, 816, 819, 821, 822, 823, 827, 828, 829, - 830, 837, 813, 825, 836, 804, 805, 85, 777, 389, + 33, 32, 35, 38, 427, 27, 39, 40, 41, 42, + 43, 16, 44, 23, 37, 426, 428, 28, 425, 424, + 423, 0, 0, 394, 393, 389, 807, 559, 812, 560, + 818, 819, 821, 561, 558, 825, 827, 562, 832, 833, + 834, 557, 839, 835, 836, 808, 809, 810, 811, 813, + 815, 816, 817, 820, 822, 823, 824, 828, 829, 830, + 831, 838, 814, 826, 837, 805, 806, 85, 778, 390, 0, 311, 0, 0, 0, 263, 264, 0, 0, 262, - 0, 0, 235, 0, 0, 0, 93, 786, 0, 0, + 0, 0, 235, 0, 0, 0, 93, 787, 0, 0, 0, 343, 0, 340, 0, 0, 0, 341, 0, 0, - 342, 0, 0, 390, 0, 286, 285, 290, 295, 302, - 300, 299, 301, 303, 0, 296, 297, 0, 854, 855, - 385, 780, 779, 0, 391, 455, 453, 0, 408, 831, - 0, 0, 387, 0, 785, 92, 0, 413, 0, 0, - 386, 799, 396, 788, 449, 0, 290, 831, 76, 831, - 74, 416, 4, 5, 469, 800, 52, 215, 52, 0, - 0, 398, 781, 0, 787, 0, 221, 0, 266, 265, + 342, 0, 0, 391, 0, 286, 285, 290, 295, 302, + 300, 299, 301, 303, 0, 296, 297, 0, 855, 856, + 386, 781, 780, 0, 392, 456, 454, 0, 409, 832, + 0, 0, 388, 0, 786, 92, 0, 414, 0, 0, + 387, 800, 397, 789, 450, 0, 290, 832, 76, 832, + 74, 417, 4, 5, 470, 801, 52, 215, 52, 0, + 0, 399, 782, 0, 788, 0, 221, 0, 266, 265, 269, 357, 355, 356, 351, 352, 353, 354, 260, 0, - 268, 267, 0, 0, 505, 281, 470, 471, 50, 0, - 0, 409, 0, 349, 0, 350, 0, 282, 339, 789, - 328, 289, 798, 292, 288, 294, 0, 0, 432, 0, - 0, 0, 547, 547, 619, 620, 622, 624, 538, 811, - 0, 0, 532, 572, 0, 547, 0, 574, 535, 0, - 0, 831, 563, 0, 625, 543, 796, 795, 835, 0, - 804, 0, 797, 791, 0, 776, 0, 0, 0, 0, - 0, 510, 517, 520, 519, 515, 540, 518, 805, 774, - 594, 573, 709, 448, 772, 0, 0, 595, 794, 790, - 792, 596, 407, 68, 406, 0, 0, 0, 0, 0, - 95, 421, 505, 437, 292, 77, 75, 415, 411, 3, - 468, 0, 0, 55, 101, 0, 55, 0, 240, 239, - 0, 400, 0, 0, 367, 219, 0, 0, 261, 0, - 0, 0, 436, 0, 0, 346, 344, 345, 347, 0, - 237, 0, 283, 0, 298, 0, 0, 0, 454, 0, - 546, 542, 549, 0, 0, 0, 525, 524, 0, 714, - 0, 523, 558, 559, 560, 556, 564, 555, 547, 545, - 674, 0, 0, 526, 719, 744, 0, 553, 0, 0, - 554, 522, 521, 516, 552, 614, 597, 607, 605, 606, - 0, 0, 0, 573, 793, 0, 514, 0, 0, 0, - 0, 644, 0, 0, 0, 0, 634, 636, 615, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 593, 450, - 0, 479, 0, 0, 0, 72, 73, 67, 71, 70, - 65, 69, 66, 767, 709, 479, 766, 0, 0, 709, - 410, 0, 0, 327, 284, 418, 366, 366, 366, 366, + 268, 267, 0, 0, 506, 281, 471, 472, 50, 0, + 0, 410, 0, 349, 0, 350, 0, 282, 339, 790, + 328, 289, 799, 292, 288, 294, 0, 0, 433, 0, + 0, 0, 548, 548, 620, 621, 623, 625, 539, 812, + 0, 0, 533, 573, 0, 548, 0, 575, 536, 0, + 0, 832, 564, 0, 626, 544, 797, 796, 836, 0, + 805, 0, 798, 792, 0, 777, 0, 0, 0, 0, + 0, 511, 518, 521, 520, 516, 541, 519, 806, 775, + 595, 574, 710, 449, 773, 0, 0, 596, 795, 791, + 793, 597, 408, 68, 407, 0, 0, 0, 0, 0, + 95, 422, 506, 438, 292, 77, 75, 416, 412, 3, + 469, 0, 0, 55, 101, 0, 55, 0, 240, 239, + 0, 401, 0, 0, 367, 219, 0, 0, 261, 0, + 0, 0, 437, 0, 0, 346, 344, 345, 347, 0, + 237, 0, 283, 0, 298, 0, 0, 0, 455, 0, + 547, 543, 550, 0, 0, 0, 526, 525, 0, 715, + 0, 524, 559, 560, 561, 557, 565, 556, 548, 546, + 675, 0, 0, 527, 720, 745, 0, 554, 0, 0, + 555, 523, 522, 517, 553, 615, 598, 608, 606, 607, + 0, 0, 0, 574, 794, 0, 515, 0, 0, 0, + 0, 645, 0, 0, 0, 0, 635, 637, 616, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 594, 451, + 0, 480, 0, 0, 0, 72, 73, 67, 71, 70, + 65, 69, 66, 768, 710, 480, 767, 0, 0, 710, + 411, 0, 0, 327, 284, 419, 366, 366, 366, 366, 78, 0, 53, 54, 58, 0, 0, 0, 0, 0, 0, 100, 102, 103, 148, 0, 217, 218, 0, 58, - 395, 245, 244, 246, 0, 241, 0, 402, 529, 811, - 527, 530, 333, 0, 802, 803, 334, 801, 338, 0, + 396, 245, 244, 246, 0, 241, 0, 403, 530, 812, + 528, 531, 333, 0, 803, 804, 334, 802, 338, 0, 0, 223, 0, 0, 0, 0, 220, 0, 0, 274, - 0, 271, 0, 0, 504, 472, 259, 0, 0, 358, - 291, 0, 0, 434, 709, 456, 0, 428, 0, 0, - 0, 551, 0, 0, 0, 456, 0, 716, 717, 715, - 0, 0, 0, 0, 0, 0, 0, 544, 0, 0, + 0, 271, 0, 0, 505, 473, 259, 0, 0, 358, + 291, 0, 0, 435, 710, 457, 0, 429, 0, 0, + 0, 552, 0, 0, 0, 457, 0, 717, 718, 716, + 0, 0, 0, 0, 0, 0, 0, 545, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 709, 0, 721, 734, 710, 746, 0, 0, 0, 0, - 0, 0, 573, 751, 0, 610, 0, 0, 513, 0, - 0, 842, 843, 844, 845, 847, 848, 849, 850, 851, - 853, 852, 841, 846, 840, 839, 773, 672, 0, 694, - 695, 697, 699, 0, 0, 0, 700, 0, 0, 0, - 0, 0, 0, 0, 709, 0, 676, 677, 0, 0, - 635, 640, 638, 612, 0, 646, 0, 673, 0, 0, - 0, 611, 0, 0, 0, 604, 0, 0, 0, 602, - 0, 0, 0, 603, 0, 0, 0, 598, 0, 0, - 0, 599, 0, 0, 0, 601, 0, 0, 0, 600, - 608, 0, 0, 771, 0, 505, 775, 760, 762, 783, - 0, 617, 0, 761, 769, 0, 505, 0, 0, 94, - 88, 87, 0, 0, 412, 365, 101, 84, 0, 0, + 710, 0, 722, 735, 711, 747, 0, 0, 0, 0, + 0, 0, 574, 752, 0, 611, 0, 0, 514, 0, + 0, 843, 844, 845, 846, 848, 849, 850, 851, 852, + 854, 853, 842, 847, 841, 840, 774, 673, 0, 695, + 696, 698, 700, 0, 0, 0, 701, 0, 0, 0, + 0, 0, 0, 0, 710, 0, 677, 678, 0, 0, + 636, 641, 639, 613, 0, 647, 0, 674, 0, 0, + 0, 612, 0, 0, 0, 605, 0, 0, 0, 603, + 0, 0, 0, 604, 0, 0, 0, 599, 0, 0, + 0, 600, 0, 0, 0, 602, 0, 0, 0, 601, + 609, 0, 0, 772, 0, 506, 776, 761, 763, 784, + 0, 618, 0, 762, 770, 0, 506, 0, 0, 94, + 88, 87, 0, 0, 413, 365, 101, 84, 0, 0, 0, 364, 51, 56, 57, 62, 0, 0, 0, 0, 0, 0, 210, 0, 214, 106, 213, 62, 0, 0, - 405, 0, 397, 528, 0, 332, 337, 331, 0, 0, + 406, 0, 398, 529, 0, 332, 337, 331, 0, 0, 0, 222, 232, 224, 225, 226, 227, 0, 0, 0, - 0, 270, 314, 456, 0, 348, 0, 0, 304, 308, - 306, 0, 431, 435, 0, 0, 309, 0, 0, 0, - 541, 621, 623, 0, 537, 0, 626, 627, 0, 531, - 566, 567, 568, 569, 570, 571, 565, 0, 534, 0, - 719, 744, 0, 732, 722, 727, 0, 628, 0, 733, - 0, 0, 0, 0, 0, 720, 0, 0, 0, 0, - 748, 629, 562, 0, 750, 0, 0, 0, 633, 0, - 0, 583, 585, 584, 586, 587, 588, 589, 590, 0, - 580, 0, 508, 513, 539, 0, 0, 0, 719, 744, - 0, 690, 678, 685, 683, 684, 0, 0, 691, 0, - 0, 0, 0, 0, 675, 0, 0, 637, 639, 641, - 0, 0, 613, 0, 0, 0, 0, 0, 0, 0, + 0, 270, 314, 457, 0, 348, 0, 0, 304, 308, + 306, 0, 432, 436, 0, 0, 309, 0, 0, 0, + 542, 622, 624, 0, 538, 0, 627, 628, 0, 532, + 567, 568, 569, 570, 571, 572, 566, 0, 535, 0, + 720, 745, 0, 733, 723, 728, 0, 629, 0, 734, + 0, 0, 0, 0, 0, 721, 0, 0, 0, 0, + 749, 630, 563, 0, 751, 0, 0, 0, 634, 0, + 0, 584, 586, 585, 587, 588, 589, 590, 591, 0, + 581, 0, 509, 514, 540, 0, 0, 0, 720, 745, + 0, 691, 679, 686, 684, 685, 0, 0, 692, 0, + 0, 0, 0, 0, 676, 0, 0, 638, 640, 642, + 0, 0, 614, 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, 709, 447, - 0, 478, 482, 485, 506, 474, 0, 616, 618, 765, - 438, 770, 0, 90, 91, 97, 89, 0, 419, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 710, 448, + 0, 479, 483, 486, 507, 475, 0, 617, 619, 766, + 439, 771, 0, 90, 91, 97, 89, 0, 420, 0, 0, 79, 0, 81, 0, 363, 0, 64, 0, 0, 156, 0, 0, 0, 0, 0, 0, 0, 0, 155, - 794, 157, 147, 0, 0, 0, 99, 0, 212, 216, + 795, 157, 147, 0, 0, 0, 99, 0, 212, 216, 218, 0, 0, 0, 0, 0, 0, 114, 104, 105, - 108, 110, 64, 0, 242, 404, 399, 403, 408, 335, - 0, 0, 336, 381, 382, 379, 380, 0, 233, 0, + 108, 110, 64, 0, 242, 405, 400, 404, 409, 335, + 0, 0, 336, 382, 383, 380, 381, 0, 233, 0, 0, 230, 352, 278, 228, 229, 275, 277, 279, 276, 273, 272, 0, 0, 0, 360, 361, 359, 305, 0, - 293, 433, 479, 0, 0, 548, 550, 0, 479, 713, - 0, 0, 0, 0, 0, 0, 0, 0, 730, 718, - 731, 723, 724, 726, 725, 728, 735, 0, 745, 712, - 711, 0, 743, 630, 631, 632, 749, 0, 0, 592, - 591, 0, 0, 513, 0, 509, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 688, 642, 689, 679, 680, - 682, 681, 686, 692, 0, 752, 0, 753, 754, 0, - 0, 0, 0, 648, 0, 0, 655, 0, 0, 653, - 0, 0, 654, 0, 0, 649, 0, 0, 650, 0, - 0, 652, 0, 0, 651, 0, 707, 493, 0, 0, - 0, 484, 507, 0, 476, 764, 763, 768, 0, 86, - 0, 417, 80, 0, 0, 0, 0, 0, 49, 0, + 293, 434, 480, 0, 0, 549, 551, 0, 480, 714, + 0, 0, 0, 0, 0, 0, 0, 0, 731, 719, + 732, 724, 725, 727, 726, 729, 736, 0, 746, 713, + 712, 0, 744, 631, 632, 633, 750, 0, 0, 593, + 592, 0, 0, 514, 0, 510, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 689, 643, 690, 680, 681, + 683, 682, 687, 693, 0, 753, 0, 754, 755, 0, + 0, 0, 0, 649, 0, 0, 656, 0, 0, 654, + 0, 0, 655, 0, 0, 650, 0, 0, 651, 0, + 0, 653, 0, 0, 652, 0, 708, 494, 0, 0, + 0, 485, 508, 0, 477, 765, 764, 769, 0, 86, + 0, 418, 80, 0, 0, 0, 0, 0, 49, 0, 179, 180, 158, 168, 166, 167, 0, 0, 0, 0, 0, 0, 0, 0, 182, 184, 181, 0, 0, 0, 0, 0, 0, 0, 0, 149, 0, 0, 0, 150, 0, 0, 98, 0, 0, 0, 140, 141, 143, 145, 120, 146, 0, 0, 0, 0, 0, 0, 112, 0, - 119, 113, 115, 432, 107, 48, 249, 0, 0, 401, - 330, 0, 0, 0, 280, 231, 782, 313, 0, 479, - 0, 505, 429, 609, 536, 505, 533, 0, 737, 738, - 0, 0, 0, 742, 736, 747, 0, 0, 0, 0, - 582, 0, 511, 513, 0, 696, 698, 701, 702, 0, - 0, 0, 706, 693, 645, 0, 643, 756, 0, 757, - 758, 664, 656, 671, 663, 669, 661, 670, 662, 665, - 657, 666, 658, 668, 660, 667, 659, 709, 495, 491, - 495, 493, 490, 495, 492, 0, 480, 0, 483, 0, - 0, 443, 0, 420, 83, 0, 362, 61, 60, 0, + 119, 113, 115, 433, 107, 48, 249, 0, 0, 402, + 330, 0, 0, 0, 280, 231, 783, 313, 0, 480, + 0, 506, 430, 610, 537, 506, 534, 0, 738, 739, + 0, 0, 0, 743, 737, 748, 0, 0, 0, 0, + 583, 0, 512, 514, 0, 697, 699, 702, 703, 0, + 0, 0, 707, 694, 646, 0, 644, 757, 0, 758, + 759, 665, 657, 672, 664, 670, 662, 671, 663, 666, + 658, 667, 659, 669, 661, 668, 660, 710, 496, 492, + 496, 494, 491, 496, 493, 0, 481, 0, 484, 0, + 0, 444, 0, 421, 83, 0, 362, 61, 60, 0, 0, 171, 177, 0, 196, 0, 0, 183, 187, 186, 175, 0, 0, 0, 178, 174, 163, 164, 165, 159, 160, 162, 161, 169, 172, 0, 154, 0, 151, 0, 0, 0, 109, 0, 0, 0, 138, 121, 131, 129, 130, 0, 139, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 199, 248, 0, 0, 243, 0, 505, 378, - 234, 0, 315, 316, 318, 323, 0, 783, 505, 307, - 474, 474, 0, 739, 740, 741, 575, 0, 578, 579, - 0, 512, 0, 703, 704, 705, 755, 647, 0, 708, - 494, 487, 488, 486, 489, 0, 481, 473, 475, 452, - 458, 96, 82, 0, 63, 0, 0, 0, 195, 185, + 0, 0, 199, 248, 0, 0, 243, 0, 506, 379, + 234, 0, 315, 316, 318, 323, 0, 784, 506, 307, + 475, 475, 0, 740, 741, 742, 576, 0, 579, 580, + 0, 513, 0, 704, 705, 706, 756, 648, 0, 709, + 495, 488, 489, 487, 490, 0, 482, 474, 476, 453, + 459, 96, 82, 0, 63, 0, 0, 0, 195, 185, 189, 188, 0, 0, 176, 0, 173, 0, 209, 211, 111, 0, 0, 0, 134, 137, 126, 127, 128, 122, 123, 125, 124, 132, 135, 0, 118, 0, 202, 250, 251, 247, 0, 0, 0, 0, 331, 0, 0, 0, - 326, 0, 474, 476, 476, 729, 576, 577, 687, 759, - 498, 451, 0, 0, 440, 59, 0, 192, 0, 190, - 0, 0, 153, 432, 0, 142, 144, 0, 136, 197, - 198, 0, 116, 201, 0, 329, 384, 377, 310, 317, - 322, 321, 0, 784, 320, 324, 0, 476, 443, 443, - 0, 0, 0, 456, 442, 445, 0, 170, 194, 193, - 191, 199, 0, 117, 0, 0, 200, 254, 383, 0, - 325, 323, 443, 430, 441, 0, 0, 477, 0, 452, - 457, 459, 467, 202, 133, 206, 0, 0, 203, 204, - 258, 255, 256, 0, 252, 257, 369, 0, 368, 370, - 326, 458, 0, 0, 499, 503, 501, 479, 0, 0, - 465, 466, 0, 461, 152, 205, 207, 208, 0, 238, - 0, 372, 373, 319, 439, 496, 0, 497, 0, 505, - 444, 460, 462, 463, 464, 253, 371, 375, 376, 500, - 502, 474, 374, 476, 446, 0, 0, 0 + 326, 0, 475, 477, 477, 730, 577, 578, 688, 760, + 499, 452, 0, 0, 441, 59, 0, 192, 0, 190, + 0, 0, 153, 433, 0, 142, 144, 0, 136, 197, + 198, 0, 116, 201, 0, 329, 385, 378, 310, 317, + 322, 321, 0, 785, 320, 324, 0, 477, 444, 444, + 0, 0, 0, 457, 443, 446, 0, 170, 194, 193, + 191, 199, 0, 117, 0, 0, 200, 254, 384, 0, + 325, 323, 444, 431, 442, 0, 0, 478, 0, 453, + 458, 460, 468, 202, 133, 206, 0, 0, 203, 204, + 258, 255, 256, 0, 252, 257, 369, 0, 0, 368, + 370, 326, 459, 0, 0, 500, 504, 502, 480, 0, + 0, 466, 467, 0, 462, 152, 205, 207, 208, 0, + 238, 0, 373, 374, 0, 319, 440, 497, 0, 498, + 0, 506, 445, 461, 463, 464, 465, 253, 371, 376, + 377, 372, 501, 503, 475, 375, 477, 447, 0, 0, + 0 }; -static const short yydefgoto[] = { 1566, +static const short yydefgoto[] = { 1569, 32, 33, 34, 35, 36, 354, 495, 726, 1268, 928, 1119, 37, 471, 468, 38, 39, 40, 491, 41, 42, 713, 916, 197, 483, 1110, 43, 501, 502, 503, 959, @@ -1274,13 +1275,13 @@ static const short yydefgoto[] = { 1566, 55, 146, 994, 1332, 1333, 1334, 1335, 1421, 1465, 56, 57, 58, 972, 364, 524, 748, 749, 59, 163, 60, 377, 61, 62, 988, 241, 549, 63, 925, 719, 64, - 530, 1519, 1541, 1542, 1329, 978, 1490, 65, 66, 67, + 530, 1520, 1542, 1543, 1329, 978, 1490, 65, 66, 67, 86, 68, 69, 70, 518, 743, 967, 334, 71, 72, 73, 199, 349, 715, 918, 74, 75, 76, 558, 387, 553, 554, 77, 78, 79, 80, 81, 567, 1371, 1475, - 1476, 462, 206, 1433, 188, 1435, 1501, 1502, 1534, 352, + 1476, 462, 206, 1433, 188, 1435, 1501, 1502, 1535, 352, 246, 247, 1105, 1262, 696, 902, 903, 1256, 1362, 1473, - 1524, 1525, 373, 904, 437, 843, 311, 312, 313, 314, + 1525, 1526, 373, 904, 437, 843, 311, 312, 313, 314, 315, 525, 402, 414, 397, 316, 317, 392, 562, 781, 318, 319, 418, 408, 595, 321, 432, 433, 840, 1043, 322, 649, 872, 644, 459, 604, 571, 572, 589, 590, @@ -1290,376 +1291,377 @@ static const short yydefgoto[] = { 1566, 527, 332, 627, 183 }; -static const short yypact[] = { 12514, - 129, -17, 11905, -17, 2059, 11905, 83, 1304, -17, -117, - 112, 68, 20, 11143, 68, -17, 73, 11397, 11143, -17, - 11905, 6, -93, 0, 11143, -32, 175, 112, 12032, 12159, - -93, 12514, -33,-32768,-32768,-32768,-32768,-32768,-32768,-32768, +static const short yypact[] = { 12454, + 149, -5, 11905, -5, 1829, 11905, 113, 858, -5, 24, + 50, 68, 108, 11143, 68, -5, 71, 11397, 11143, -5, + 11905, 98, 83, 164, 11143, 129, 234, 50, 12032, 12159, + 83, 12454, 141,-32768,-32768,-32768,-32768,-32768,-32768,-32768, -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, --32768, 11143, 93,-32768,-32768,-32768,-32768,-32768,-32768,-32768, +-32768, 11143, 148,-32768,-32768,-32768,-32768,-32768,-32768,-32768, -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, - 11143,-32768, 93, 11905, 11905,-32768,-32768, 11905, 11905,-32768, - 11905, 11143,-32768, 184, 9658, 147, 6,-32768, 11143, 11905, - 93,-32768, 11905,-32768, 11905, 11905, 11905,-32768, 424, 309, --32768, 11905, 11905,-32768, 119,-32768,-32768, 28, 278,-32768, --32768,-32768,-32768,-32768, 318, 190,-32768, 11143,-32768,-32768, --32768,-32768,-32768, 332,-32768,-32768, 347, 4824, 18, 324, - -31, 360,-32768, 396,-32768,-32768, 11143,-32768, 292, 11905, --32768,-32768,-32768,-32768,-32768, 11143, 28, 368,-32768, 384, --32768, 383, 314,-32768, 313,-32768, 411, 322, 411, 535, - 211, 440,-32768, 345,-32768, 546,-32768, 511,-32768,-32768, --32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, 378, --32768,-32768, 11905, 576, 499,-32768, 403,-32768,-32768, 559, - 9951,-32768, 345,-32768, 425,-32768, -32,-32768,-32768,-32768, --32768,-32768,-32768, 577,-32768,-32768, 11905, 90, 426, 11905, - 11905, 452, 530, 530,-32768, 453, 458,-32768, 467, 603, - 484, 489, 492, 435, 637, 530, 7229,-32768, 496, 517, - 550, -27, 575, 558,-32768,-32768,-32768,-32768, 22, 1962, - 80, 7229,-32768,-32768, 7229,-32768, 7229, 7229, 7229, 6674, - -32, 534,-32768,-32768,-32768,-32768, 561,-32768, 120, 721, --32768, 9114, 539, -21,-32768, 549, 566,-32768, 574,-32768, --32768, 146,-32768,-32768,-32768, 14, 21, 21, 9811, 11143, - 679,-32768, 499,-32768, 577,-32768,-32768,-32768, 11143,-32768, --32768, 62, 613, 277, 11016, 792, 277, 706,-32768,-32768, - 55, 648, 4063, 641,-32768, 166, -32, 9505,-32768, 740, - 774, 7229,-32768, 11905, 11143,-32768,-32768,-32768,-32768, 11524, --32768, 11905,-32768, 718,-32768, 11905, 91, 775,-32768, 7229, --32768,-32768, 809, 631, 631, 631,-32768,-32768, 732, 283, - 631,-32768, 726, 728, 729, 736,-32768,-32768, 530,-32768, - 1312, 632, 631,-32768, 8094, 6674, 745,-32768, 4243, 603, --32768,-32768,-32768,-32768,-32768, 457, 634, 634, 634, 634, - 635, 636, 645, 1445,-32768, 39,-32768, 631, 10748, 7229, - 7402,-32768, 108, 7229, 187, 7229,-32768,-32768, 6859, 5009, - 5194, 5379, 5564, 5749, 5934, 6119, 12420, 7229,-32768, 175, - 4824, 800, 10078, 3323, 11905,-32768,-32768,-32768,-32768,-32768, --32768,-32768,-32768,-32768, 539, -5,-32768, 640, 574, 352, --32768, 697, 24,-32768,-32768, 646, 45, 844, 844, 844, --32768, 93,-32768,-32768, 388, 650, 11905, 805, 807, 654, - 267,-32768,-32768,-32768,-32768, 297,-32768, 12420, 732, 388, --32768,-32768,-32768,-32768, 791, 793, 676, 694,-32768, 794, --32768,-32768,-32768, 327,-32768,-32768,-32768,-32768, 705, 802, - 137,-32768, 137, 137, 137, 137,-32768, 734, 683, 685, - 355,-32768, 11143, 789, 9114,-32768,-32768, 672, 673, 677, --32768, 11270, 356,-32768, 539, 73, 675,-32768, 11270, 8931, - 798, 878, 687, 689, 416, 73, 690,-32768,-32768,-32768, - 692, 861, 698, 168, 123, 806, 847,-32768, 11905, 430, - 702, 704, 707, 709, 8094, 8094, 8094, 8094, 717, 246, - 539, 719,-32768, 146,-32768, -8, 720, 816, 6304, 6674, - 6304, 6304, 9005, -54, 722,-32768, 588, 7229, 710, 701, - 731,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, --32768,-32768,-32768,-32768,-32768,-32768,-32768, 1312, 735,-32768, - 742, 744,-32768, 757, 758, 759,-32768, 7402, 7402, 7402, - 7402, 7402, 7229, 54, 539, 760,-32768, 146, 762, 290, --32768,-32768,-32768, 808, 7402,-32768, 7229, 2461, 763, 765, - 6489, 457, 766, 767, 6489, 853, 769, 770, 6489, 1144, - 771, 773, 6489, 1144, 777, 779, 6489, 141, 781, 782, - 6489, 141, 785, 786, 6489, 634, 790, 799, 6489, 634, --32768, 8872, 11143,-32768, 1573, 499,-32768, 746,-32768,-32768, - 788,-32768, -61, 746,-32768, 10459, 499, 10205, 752,-32768, --32768,-32768, 202, 11905,-32768,-32768, 11016,-32768, 11905, 11905, - 11905, 11905,-32768,-32768,-32768, 906, 8440, 177, 801, 803, - 11905, 11016, 841, 11905,-32768, 338,-32768, 906, 11143, 55, - 23, 823,-32768,-32768, 10875,-32768,-32768, 872, 10875, 237, - 631,-32768,-32768,-32768,-32768,-32768,-32768, 9658, 9352, 9352, - 9505,-32768, 894, 73, 11905,-32768, 11651, 11905,-32768, 889, --32768, 11905,-32768,-32768, 4824, 4824,-32768, 12420, 11905, 11905, --32768,-32768,-32768, 631,-32768, 4824,-32768,-32768, 7229,-32768, --32768,-32768,-32768,-32768,-32768,-32768,-32768, 631,-32768, 8094, - 8094, 6674, 4441, 397, 795, 795, 362,-32768, 8094, 8267, - 8094, 8094, 8094, 8094, 12420,-32768, 3520, 6674, 7229, 6674, - 979,-32768,-32768, 810, -54, 824, 825, 6674,-32768, 828, - 985,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, 35, - 8825, 76,-32768, 710,-32768, 7402, 631, 631, 8094, 6674, - 4639, 409, 831, 831, 831, 831, 829, 7402, 7575, 7402, - 7402, 7402, 7402, 12420,-32768, 3717, 12286,-32768,-32768,-32768, - 74, 834, 808, 732, 732, 832, 732, 732, 843, 732, - 732, 845, 732, 732, 848, 732, 732, 858, 732, 732, - 859, 732, 732, 860, 732, 732, 862, 7229, 539,-32768, - 11143, 836, 1036, 11778, 873, 1012, 10332,-32768,-32768,-32768, --32768,-32768, 6674,-32768,-32768, 967,-32768, 438,-32768, 442, - 12420,-32768, 30,-32768, 976,-32768, 1031, 893, 870, 8440, --32768, 8440, 8440, 8440, 8440, 8440, 8440, 2042, 871,-32768, --32768, 874,-32768, 11905, 11905, 450,-32768, 876, 904,-32768, --32768, 877, 11905, 7748, 1016, 1034, 11905,-32768,-32768, 338, --32768,-32768, 893, 1053, 1019,-32768,-32768,-32768, 18,-32768, - 378, 1094,-32768,-32768,-32768,-32768,-32768, 1000,-32768, 956, - 11905,-32768, 339,-32768,-32768,-32768,-32768,-32768,-32768,-32768, --32768,-32768, 916, 895, 4824,-32768,-32768,-32768,-32768, 1062, --32768,-32768, -2, 469, 900,-32768,-32768, 901, -2, 9114, - 902, 274, 903, 905, 6304, 6304, 6304, 909,-32768, 544, - 397, 185, 185, 795, 795,-32768,-32768, -45, -54, 9114, --32768, 6674,-32768,-32768,-32768,-32768, -54, 732, 907,-32768, --32768, 7044, 911, 710, 908,-32768, 346, 912, 914, 915, - 924, 6304, 6304, 6304, 925,-32768, 567, 409, 249, 249, - 831, 831,-32768,-32768, -44,-32768, 927, 930,-32768, 7402, - 12286, 929, 931,-32768, 932, 934,-32768, 935, 936,-32768, - 937, 939,-32768, 940, 941,-32768, 948, 949,-32768, 951, - 952,-32768, 954, 955,-32768, 9084,-32768, 344, 11143, 1112, - 10748,-32768,-32768, 1161, 1125,-32768,-32768,-32768, 1041,-32768, - 11905,-32768,-32768, 1148, 1149, 11905, 93, 994,-32768, 8440, - 2212, 493, 983, 983, 983, 983, 3099, 8440, 12346, 982, - 113, 8440, 215, 8440,-32768,-32768, 8613, 8440, 8440, 8440, - 8440, 8440, 8440, 8440, 12420,-32768, 2866, 478, 486,-32768, - 11905, 1002,-32768, 8440, 448, 984,-32768, 989, 990,-32768, --32768,-32768, 7748, 7748, 7748, 7748, 7748, 7748, 987, 991, --32768,-32768,-32768, 426,-32768,-32768, 1067, 1169, 55,-32768, --32768, -32, 11143, -32,-32768,-32768,-32768,-32768, 11905, -2, - 1122, 499,-32768,-32768,-32768, 499,-32768, 12420,-32768,-32768, - 995, 996, 997,-32768,-32768, -54, 998, 732, 1001, 1004, - 9114, 732,-32768, 710, 12420,-32768,-32768,-32768,-32768, 1005, - 1008, 1011,-32768,-32768,-32768, 12346, 567,-32768, 1015, 1014, + 11143,-32768, 148, 11905, 11905,-32768,-32768, 11905, 11905,-32768, + 11905, 11143,-32768, 196, 9658, 245, 98,-32768, 11143, 11905, + 148,-32768, 11905,-32768, 11905, 11905, 11905,-32768, 987, 337, +-32768, 11905, 11905,-32768, 219,-32768,-32768, 29, 340,-32768, +-32768,-32768,-32768,-32768, 361, 231,-32768, 11143,-32768,-32768, +-32768,-32768,-32768, 375,-32768,-32768, 384, 4824, 25, 350, + -36, 385,-32768, 408,-32768,-32768, 11143,-32768, 466, 11905, +-32768,-32768,-32768,-32768,-32768, 11143, 29, 391,-32768, 392, +-32768, 388, 315,-32768, 320,-32768, 411, 318, 411, 529, + 205, 419,-32768, 325,-32768, 545,-32768, 479,-32768,-32768, +-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, 338, +-32768,-32768, 11905, 527, 449,-32768, 358,-32768,-32768, 494, + 9951,-32768, 325,-32768, 363,-32768, 129,-32768,-32768,-32768, +-32768,-32768,-32768, 525,-32768,-32768, 11905, 69, 374, 11905, + 11905, 402, 470, 470,-32768, 403, 423,-32768, 430, 512, + 437, 438, 443, 435, 626, 470, 7229,-32768, 454, 462, + 465, 18, 563, 477,-32768,-32768,-32768,-32768, 52, 1321, + 87, 7229,-32768,-32768, 7229,-32768, 7229, 7229, 7229, 6674, + 129, 474,-32768,-32768,-32768,-32768, 478,-32768, 88, 700, +-32768, 9114, 499, 2,-32768, 501, 504,-32768, 518,-32768, +-32768, 78,-32768,-32768,-32768, 44, 28, 28, 9811, 11143, + 614,-32768, 449,-32768, 525,-32768,-32768,-32768, 11143,-32768, +-32768, 53, 553, -111, 11016, 734, -111, 653,-32768,-32768, + 86, 606, 4063, 596,-32768, 431, 129, 9505,-32768, 691, + 727, 7229,-32768, 11905, 11143,-32768,-32768,-32768,-32768, 11524, +-32768, 11905,-32768, 672,-32768, 11905, 58, 733,-32768, 7229, +-32768,-32768, 766, 588, 588, 588,-32768,-32768, 688, 690, + 588,-32768, 683, 693, 694, 698,-32768,-32768, 470,-32768, + 2212, 593, 588,-32768, 8094, 6674, 712,-32768, 4243, 512, +-32768,-32768,-32768,-32768,-32768, 398, 600, 600, 600, 600, + 598, 599, 603, 2417,-32768, -106,-32768, 588, 10748, 7229, + 7402,-32768, 303, 7229, 137, 7229,-32768,-32768, 6859, 5009, + 5194, 5379, 5564, 5749, 5934, 6119, 3190, 7229,-32768, 234, + 4824, 770, 10078, 3323, 11905,-32768,-32768,-32768,-32768,-32768, +-32768,-32768,-32768,-32768, 499, -2,-32768, 609, 518, 257, +-32768, 659, 13,-32768,-32768, 605, 32, 803, 803, 803, +-32768, 148,-32768,-32768, 194, 610, 11905, 765, 769, 617, + 57,-32768,-32768,-32768,-32768, 277,-32768, 3190, 688, 194, +-32768,-32768,-32768,-32768, 761, 764, 643, 660,-32768, 760, +-32768,-32768,-32768, 342,-32768,-32768,-32768,-32768, 675, 773, + -68,-32768, -68, -68, -68, -68,-32768, 718, 666, 668, + 349,-32768, 11143, 776, 9114,-32768,-32768, 661, 658, 664, +-32768, 11270, 355,-32768, 499, 71, 669,-32768, 11270, 8931, + 784, 854, 671, 674, 383, 71, 685,-32768,-32768,-32768, + 687, 857, 692, 259, 20, 809, 837,-32768, 11905, 396, + 699, 701, 702, 703, 8094, 8094, 8094, 8094, 697, 143, + 499, 704,-32768, 78,-32768, -7, 706, 786, 6304, 6674, + 6304, 6304, 9005, -65, 707,-32768, 495, 7229, 722, 724, + 721,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, +-32768,-32768,-32768,-32768,-32768,-32768,-32768, 2212, 719,-32768, + 723, 732,-32768, 735, 736, 738,-32768, 7402, 7402, 7402, + 7402, 7402, 7229, 182, 499, 743,-32768, 78, 744, -4, +-32768,-32768,-32768, 1144, 7402,-32768, 7229, 2465, 745, 753, + 6489, 398, 755, 757, 6489, 856, 758, 763, 6489, 762, + 767, 774, 6489, 762, 775, 777, 6489, 147, 779, 781, + 6489, 147, 782, 785, 6489, 600, 788, 789, 6489, 600, +-32768, 8872, 11143,-32768, 1573, 449,-32768, 778,-32768,-32768, + 768,-32768, -61, 778,-32768, 10459, 449, 10205, 710,-32768, +-32768,-32768, 238, 11905,-32768,-32768, 11016,-32768, 11905, 11905, + 11905, 11905,-32768,-32768,-32768, 917, 8440, 244, 792, 793, + 11905, 11016, 829, 11905,-32768, 166,-32768, 917, 11143, 86, + 30, 780,-32768,-32768, 10875,-32768,-32768, 862, 10875, 373, + 588,-32768,-32768,-32768,-32768,-32768,-32768, 9658, 9352, 9352, + 9505,-32768, 873, 71, 11905,-32768, 11651, 11905,-32768, 891, +-32768, 11905,-32768,-32768, 4824, 4824,-32768, 3190, 11905, 11905, +-32768,-32768,-32768, 588,-32768, 4824,-32768,-32768, 7229,-32768, +-32768,-32768,-32768,-32768,-32768,-32768,-32768, 588,-32768, 8094, + 8094, 6674, 4441, 276, 797, 797, 452,-32768, 8094, 8267, + 8094, 8094, 8094, 8094, 3190,-32768, 3520, 6674, 7229, 6674, + 945,-32768,-32768, 796, -65, 798, 799, 6674,-32768, 801, + 959,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, 37, + 8825, 130,-32768, 722,-32768, 7402, 588, 588, 8094, 6674, + 4639, 586, 806, 806, 806, 806, 2042, 7402, 7575, 7402, + 7402, 7402, 7402, 3190,-32768, 3717, 12286,-32768,-32768,-32768, + 199, 810, 1144, 688, 688, 805, 688, 688, 811, 688, + 688, 812, 688, 688, 822, 688, 688, 823, 688, 688, + 825, 688, 688, 826, 688, 688, 827, 7229, 499,-32768, + 11143, 833, 1022, 11778, 844, 998, 10332,-32768,-32768,-32768, +-32768,-32768, 6674,-32768,-32768, 939,-32768, 400,-32768, 416, + 3190,-32768, 26,-32768, 949,-32768, 1003, 874, 847, 8440, +-32768, 8440, 8440, 8440, 8440, 8440, 8440, 2635, 848,-32768, +-32768, 852,-32768, 11905, 11905, 427,-32768, 853, 887,-32768, +-32768, 867, 11905, 7748, 995, 1023, 11905,-32768,-32768, 166, +-32768,-32768, 874, 1037, 1005,-32768,-32768,-32768, 25,-32768, + 338, 1081,-32768,-32768,-32768,-32768,-32768, 988,-32768, 940, + 11905,-32768, 389,-32768,-32768,-32768,-32768,-32768,-32768,-32768, +-32768,-32768, 901, 880, 4824,-32768,-32768,-32768,-32768, 1047, +-32768,-32768, 0, 450, 883,-32768,-32768, 884, 0, 9114, + 885, 31, 888, 892, 6304, 6304, 6304, 894,-32768, 657, + 276, 192, 192, 797, 797,-32768,-32768, -54, -65, 9114, +-32768, 6674,-32768,-32768,-32768,-32768, -65, 688, 897,-32768, +-32768, 7044, 902, 722, 895,-32768, 65, 900, 903, 904, + 905, 6304, 6304, 6304, 906,-32768, 872, 586, 228, 228, + 806, 806,-32768,-32768, -46,-32768, 909, 912,-32768, 7402, + 12286, 914, 915,-32768, 924, 925,-32768, 927, 928,-32768, + 929, 931,-32768, 932, 934,-32768, 935, 936,-32768, 937, + 941,-32768, 948, 951,-32768, 9084,-32768, 230, 11143, 1058, + 10748,-32768,-32768, 1116, 1103,-32768,-32768,-32768, 1018,-32768, + 11905,-32768,-32768, 1131, 1134, 11905, 148, 979,-32768, 8440, + 9376, 457, 958, 958, 958, 958, 3098, 8440, 12346, 957, + 313, 8440, 222, 8440,-32768,-32768, 8613, 8440, 8440, 8440, + 8440, 8440, 8440, 8440, 3190,-32768, 2866, 468, 488,-32768, + 11905, 974,-32768, 8440, 280, 962,-32768, 964, 967,-32768, +-32768,-32768, 7748, 7748, 7748, 7748, 7748, 7748, 832, 968, +-32768,-32768,-32768, 374,-32768,-32768, 1045, 1155, 86,-32768, +-32768, 129, 11143, 129,-32768,-32768,-32768,-32768, 11905, 0, + 1117, 449,-32768,-32768,-32768, 449,-32768, 3190,-32768,-32768, + 983, 984, 985,-32768,-32768, -65, 986, 688, 989, 990, + 9114, 688,-32768, 722, 3190,-32768,-32768,-32768,-32768, 991, + 996, 997,-32768,-32768,-32768, 12346, 872,-32768, 1000, 1006, -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, --32768,-32768,-32768,-32768,-32768,-32768,-32768, 539, 1133,-32768, - 1133, 344,-32768, 1133,-32768, 1172,-32768, 11143,-32768, 6674, - 7229, 1127, -32,-32768,-32768, 7748,-32768, 1022,-32768, 1045, - 9099,-32768, 2212, 1237,-32768, 12346, 296,-32768,-32768,-32768, - 833, 12346, 1028, 8440, 9176, 493, 1822, 1943, 1943, 280, - 280, 983, 983,-32768,-32768, 494, 9161, 1154,-32768, 1032, - 1089, 8667,-32768, 7748, 631, 631, 633, 1037, 1037, 1037, - 1037, 868, 7921, 7748, 7748, 7748, 7748, 7748, 7748, 7748, - 12420, 3890, 1184,-32768, 239, 1163,-32768, 1192, 499, 1046, --32768, 1042, 1043,-32768,-32768, 1, 1044, 874, 499,-32768, - 1012, 1012, 1047,-32768,-32768,-32768,-32768, 1048,-32768,-32768, - 1049,-32768, 1050,-32768,-32768,-32768,-32768,-32768, 12346,-32768, --32768,-32768,-32768,-32768,-32768, 11143,-32768, -54, 9114, 1257, - 1185,-32768, 987, 93,-32768, 12420, 12346, 505,-32768,-32768, --32768,-32768, 1263, 12346, 833, 8440,-32768, 11905,-32768,-32768, --32768, 385, 1054, 1055,-32768, 633, 987, 741, 741, 320, - 320, 1037, 1037,-32768,-32768, 509, 987, 36, 1190,-32768, --32768,-32768, 11905, -32, 1134, 11905, 872, 11905, 12420, 12420, - -49, 11905, 1012, 1125, 1125,-32768,-32768,-32768,-32768,-32768, - 29,-32768, 1176, 1262,-32768,-32768, 1059,-32768, 12346,-32768, - 12346, 523, 9161, 426, 12420,-32768,-32768, 7748,-32768,-32768, --32768, 25,-32768, 1190, 1061,-32768, 1128,-32768,-32768,-32768, --32768,-32768, 1088,-32768,-32768,-32768, 527, 1125, 1127, 1127, - 1063, 1070, 1066, 73, 1178,-32768, 7229,-32768,-32768,-32768, --32768, 1184, 1071, 987, 105, 105,-32768, 304,-32768, 86, --32768, 1, 1127,-32768,-32768, 7229, 10599,-32768, 4824, 1257, - 1074,-32768, 8842, 1190,-32768,-32768, 1288, 40,-32768,-32768, --32768,-32768,-32768, 552,-32768,-32768,-32768, 292,-32768,-32768, - -49, 1185, 8768, 569,-32768,-32768, 1082, -2, 1176, 7229, --32768,-32768, 241,-32768,-32768,-32768,-32768,-32768, 304,-32768, - 1081, 292, 1087,-32768,-32768,-32768, 10599,-32768, 11905, 499, --32768,-32768,-32768,-32768,-32768,-32768,-32768, 1090,-32768,-32768, --32768, 1012,-32768, 1125,-32768, 1298, 1299,-32768 +-32768,-32768,-32768,-32768,-32768,-32768,-32768, 499, 1121,-32768, + 1121, 230,-32768, 1121,-32768, 1151,-32768, 11143,-32768, 6674, + 7229, 1109, 129,-32768,-32768, 7748,-32768, 1007,-32768, 1034, + 9099,-32768, 9376, 1223,-32768, 12346, 132,-32768,-32768,-32768, + 1323, 12346, 1015, 8440, 9176, 457, 1822, 1521, 1521, 330, + 330, 958, 958,-32768,-32768, 492, 9161, 1140,-32768, 1016, + 1075, 8667,-32768, 7748, 588, 588, 876, 1025, 1025, 1025, + 1025, 634, 7921, 7748, 7748, 7748, 7748, 7748, 7748, 7748, + 3190, 3890, 1169,-32768, 250, 1153,-32768, 1181, 449, 1035, +-32768, 1032, 1036,-32768,-32768, -1, 1039, 852, 449,-32768, + 998, 998, 1033,-32768,-32768,-32768,-32768, 1040,-32768,-32768, + 1041,-32768, 1042,-32768,-32768,-32768,-32768,-32768, 12346,-32768, +-32768,-32768,-32768,-32768,-32768, 11143,-32768, -65, 9114, 1248, + 1170,-32768, 832, 148,-32768, 3190, 12346, 509,-32768,-32768, +-32768,-32768, 1254, 12346, 1323, 8440,-32768, 11905,-32768,-32768, +-32768, 248, 1044, 1048,-32768, 876, 832, 741, 741, 346, + 346, 1025, 1025,-32768,-32768, 523, 832, 110, 1184,-32768, +-32768,-32768, 11905, 129, 1126, 11905, 862, 11905, 3190, 3190, + -49, 11905, 998, 1103, 1103,-32768,-32768,-32768,-32768,-32768, + -10,-32768, 1171, 1256,-32768,-32768, 1050,-32768, 12346,-32768, + 12346, 531, 9161, 374, 3190,-32768,-32768, 7748,-32768,-32768, +-32768, 76,-32768, 1184, 1054,-32768, 1122,-32768,-32768,-32768, +-32768,-32768, 1078,-32768,-32768,-32768, 534, 1103, 1109, 1109, + 1057, 1059, 1060, 71, 1165,-32768, 7229,-32768,-32768,-32768, +-32768, 1169, 1061, 832, 72, 72,-32768, 481,-32768, 429, +-32768, -1, 1109,-32768,-32768, 7229, 10599,-32768, 4824, 1248, + 1064,-32768, 8842, 1184,-32768,-32768, 1274, 138,-32768,-32768, +-32768,-32768,-32768, 552,-32768,-32768,-32768, 466, 466,-32768, +-32768, -49, 1170, 8768, 555,-32768,-32768, 1070, 0, 1171, + 7229,-32768,-32768, 172,-32768,-32768,-32768,-32768,-32768, 481, +-32768, 1073, 466, 1074, 1071,-32768,-32768,-32768, 10599,-32768, + 11905, 449,-32768,-32768,-32768,-32768,-32768,-32768,-32768, 1080, +-32768,-32768,-32768,-32768, 998,-32768, 1103,-32768, 1288, 1291, +-32768 }; static const short yypgoto[] = {-32768, --32768, 1270,-32768,-32768,-32768, 1084, 947, 796,-32768, 571, - 342,-32768, 969,-32768,-32768,-32768,-32768,-32768,-32768,-32768, --32768,-32768, 1171,-32768,-32768,-32768, 605, 591, 601,-32768, --32768, 365, 171,-32768, -349,-32768, -456,-32768, -461, -57, - -1100, -154, -173, -122, -153,-32768,-32768,-32768,-32768,-32768, - 600,-32768,-32768,-32768,-32768,-32768, 63,-32768,-32768,-32768, --32768,-32768,-32768, -716,-32768,-32768,-32768,-32768, -204,-32768, --32768,-32768,-32768, -136, 367,-32768, 578, 592,-32768,-32768, - 1308, 1147, 1010,-32768, 1343,-32768, 1092, 812,-32768,-32768, --32768,-32768,-32768,-32768,-32768,-32768, -56, -131, -157,-32768, --32768,-32768, -52, 1113,-32768,-32768,-32768,-32768,-32768,-32768, --32768,-32768,-32768, 1208, -149,-32768,-32768,-32768, -104,-32768, --32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, - 513,-32768,-32768,-32768,-32768,-32768,-32768, 400,-32768,-32768, --32768, 1341,-32768,-32768,-32768,-32768, -197,-32768,-32768, -1144, - -699, 602,-32768,-32768,-32768,-32768, 1017, 1957, -1035,-32768, - -152,-32768, 918, -124, -552, -142,-32768, -148,-32768,-32768, - -156, -41, -1307, -1317, -475,-32768, -1036, 132, -821,-32768, --32768, -159, -318, -884,-32768, -816, -419, 1091,-32768,-32768, --32768,-32768,-32768,-32768,-32768,-32768, -342, -230,-32768,-32768, --32768, 1086,-32768,-32768, -169,-32768, 348,-32768,-32768,-32768, - 1662,-32768,-32768, -540, -467, -409,-32768,-32768, -724, -502, - -685,-32768,-32768, -506,-32768,-32768,-32768,-32768, 1579, 938, --32768, 686, -739, 943,-32768, 27, 1243,-32768, -895, -63, - -82, 66, 756,-32768,-32768, 1960, 1424, -110, -6, -128, - -252, -3, 300,-32768 +-32768, 1262,-32768,-32768,-32768, 1076, 942, 787,-32768, 560, + 357,-32768, 971,-32768,-32768,-32768,-32768,-32768,-32768,-32768, +-32768,-32768, 1176,-32768,-32768,-32768, 601, 592, 607,-32768, +-32768, 365, 173,-32768, -689,-32768, -454,-32768, 370, -57, + -1098, -151, -172, -121, -152,-32768,-32768,-32768,-32768,-32768, + 602,-32768,-32768,-32768,-32768,-32768, 62,-32768,-32768,-32768, +-32768,-32768,-32768, -712,-32768,-32768,-32768,-32768, -202,-32768, +-32768,-32768,-32768, -136, 368,-32768, 584, 587,-32768,-32768, + 1324, 1157, 1013,-32768, 1345,-32768, 1094, 807,-32768,-32768, +-32768,-32768,-32768,-32768,-32768,-32768, -53, -125, -153,-32768, +-32768,-32768, -45, 1118,-32768,-32768,-32768,-32768,-32768,-32768, +-32768,-32768,-32768, 1214, -149,-32768,-32768,-32768, 9,-32768, +-32768,-32768, -145,-32768,-32768,-32768,-32768,-32768,-32768,-32768, + 513,-32768,-32768,-32768,-32768,-32768,-32768, 406,-32768,-32768, +-32768, 1346,-32768,-32768,-32768,-32768, -197,-32768,-32768, -1142, + -692, 616,-32768,-32768,-32768,-32768, 1020, 4, -1283,-32768, + -148,-32768, 921, -101, -552, -134,-32768, -131,-32768,-32768, + -156, -20, -1305, -1291, -475,-32768, -1030, 151, -793,-32768, +-32768, -144, -326, -880,-32768, -814, -419, 1104,-32768,-32768, +-32768,-32768,-32768,-32768,-32768,-32768, -334, -230,-32768,-32768, +-32768, 1086,-32768,-32768, -169,-32768, 364,-32768,-32768,-32768, + 1662,-32768,-32768, -540, -467, -409,-32768,-32768, -719, -502, + -710,-32768,-32768, -506,-32768,-32768,-32768,-32768, 1579, 944, +-32768, 708, -751, 946,-32768, 27, 1260,-32768, -895, -51, + 45, 66, 756,-32768,-32768, 1960, 1424, -110, -6, -128, + -329, -3, 316,-32768 }; -#define YYLAST 12696 +#define YYLAST 12636 static const short yytable[] = { 129, 707, 342, 148, 775, 219, 258, 596, 705, 240, 256, - 182, 1107, 709, 786, 191, 182, 1098, 195, 320, 204, - 526, 182, 249, 965, 484, 209, 211, 1046, 1274, 1323, - 718, 946, 262, 1424, 1425, 1003, 1004, 691, 460, 1040, - 181, 818, 1041, 393, 695, 192, 1009, 695, 1419, 466, - 165, 201, 819, 333, 703, 410, 470, 265, 966, 819, - 858, 1485, 1257, 496, 1463, 487, 716, 488, 819, 819, - 1114, 147, 169, 711, 337, 1537, 1013, 186, 182, 178, - 1070, 467, 804, 805, 806, 807, 1450, 774, 736, 198, - 84, 512, 824, 498, 826, 827, 265, 852, 853, 854, - 855, 856, 489, 85, 170, 819, 1469, 1470, 215, 1471, - 384, 187, 513, 388, 871, 1468, 1014, 343, 1538, 1506, - 6, 1451, 7, 816, 1050, 171, 170, 182, 1115, 712, - 148, 148, 149, 499, 223, 225, 1486, 148, 182, 196, - 431, 242, 1472, 13, 1464, 182, 148, 171, 200, 148, - 1493, 148, 223, 225, 820, 500, 909, 218, 148, 148, - 370, 820, 202, 14, 1051, 172, 514, -554, 227, 338, - 820, 820, 1205, 1224, 182, 245, 214, 865, 578, 173, - 1507, 1383, 335, 17, 650, -554, 651, 172, 556, 1277, - 825, 1278, 794, 182, 461, 496, 195, 19, 655, 220, - 221, 173, 182, 1508, 269, 557, 226, 820, 202, 1420, - 706, 995, 202, 461, 326, 202, -522, 202, 250, 795, - 251, 1367, 791, 341, 263, 498, 1282, 1213, 259, 82, - 490, 652, 344, 653, -522, 263, 1279, 792, 1280, 195, - 174, 83, 656, 166, 1148, 1149, 1565, 148, 1517, 859, - 381, 1042, 609, 657, 1564, 1190, 167, 860, 861, 862, - 863, 717, 174, 148, 793, 499, 148, 389, 864, 859, - 1283, 943, 263, 974, -521, 205, 1438, 860, 861, 862, - 863, 1284, 1198, 563, 564, 565, 216, 500, 864, 1044, - 573, 320, -521, 1336, 975, 243, 1018, 1012, 1518, 1482, - 531, 809, 580, 532, 435, 1047, 1020, 1021, 1022, 1023, - 1024, 1025, 260, 533, -552, 88, 378, 1057, 1058, 1059, - 1060, 1061, 1062, 534, 535, 610, 6, 611, 7, 469, - 472, 472, -552, 263, 976, 480, 182, 90, 1479, 359, - 1480, 751, 536, 360, 1055, 182, 455, 456, 977, 13, - 228, 508, 94, 95, 1215, 457, 952, -780, 1005, 528, - 538, 953, -787, 723, 242, 478, 481, 266, 868, 14, - 148, 182, 257, 954, 1380, 486, 148, 906, 148, 98, - 914, 915, 555, 720, 721, 722, 568, 569, 911, 17, - 813, 814, 596, 1445, 1249, 1026, 202, 1352, 267, 815, - 1250, 547, 526, 19, 102, 268, 526, 1028, 1029, 1251, - 1410, 594, 270, 869, 955, 870, 1411, 1252, 1037, 1381, - 753, 1382, 753, 753, 753, 753, 956, 271, 1253, 1363, - 957, 1097, 1365, 1494, 1495, 626, 1553, 648, 1254, 546, - 596, 810, 1554, 1555, 1063, 550, 336, 551, 958, 811, - 812, 813, 814, 1255, 862, 863, 1065, 1522, 339, 700, - 815, 700, 1327, 864, 493, 494, 952, 403, 1121, 810, - 1122, 1123, 1124, 1125, 1126, 1127, 340, 811, 812, 813, - 814, 1431, 732, 954, 733, 1143, 1144, 326, 815, 404, - 346, 431, 970, 148, 1145, 431, 973, 1511, 202, 431, - 1512, 736, 1513, 431, 405, 95, 347, 431, 1201, 1202, - 1203, 431, 734, 348, 735, 431, 130, 443, 351, 431, - 1458, 164, 1336, 350, 955, 1319, 1320, 1192, 185, 1227, - 353, 98, 193, 1196, 1321, 263, 956, 1186, 355, 182, - 957, 859, 745, 358, 746, 1220, 1221, 1222, 771, 860, - 861, 862, 863, 1131, 365, 771, 406, 810, 958, 362, - 864, 363, 728, -780, 458, 811, 812, 813, 814, 763, - 761, 772, 762, 773, 367, 700, 815, 724, 725, 1019, - 1313, 594, 594, 594, 594, 1314, 1315, 1316, 1317, 1318, - 1319, 1320,-32768, 752, 368, 754, 755, 756, 757, 1321, - 811, 812, 813, 814,-32768, 320, 320, 371, 447, 256, - 256, 815, 860, 861, 862, 863, 320, 372, 374, 254, - 448, 980, 1206, 864, 232, 233, 234, 235, 236, 237, - 238, 784, 382, 785, 648, 648, 648, 648, 648, 375, - 979, 380, 386, 830, 1135, 798, 391, 799, 753, 753, - 1031, 648,-32768, 1111, 409, 1112, 1136, 732, 1271, 1113, - 453, 454, 455, 456, 831, 772, 1273, 1150, 390, 394, - 1281, 457, 1285, 1008, 395, 1286, 1287, 1288, 1289, 1290, - 1291, 1292, 1293, 396, 461, 1297, 1193, 1011,-32768, 182, - 398, 182, 1302, 772, 417, 1298, 1141, 1142, 1143, 1144, - 399, 772, 480, 1299, 700, 400, 917, 1145, 401, 1386, - 148, 1387, 413, 921, 1339, 921, 923, 924, 148, 900, - 1439, 905, 1440, 942, 1448, 1294, 1449, 555, 921, 439, - 951, 1045, 478, 415, 968, 182, 1048, 1049, 1439, 810, - 1481, 528, 374, 1108, 1492, 528, 436, 811, 812, 813, - 814, 458, 989, 989, 242, 990, 990, 242, 815, 1528, - 463, 148, 859, 148, 999, 964, 416, 1539, 555, 1540, - 860, 861, 862, 863, 419, 1006, 1007, 438, 1343, 919, - 1360, 864, 464, 832, 1547, 465, 1548, 926, 833, 834, - 835, 836, 837, 838, 839, 1353, 594, 594, 482, 492, - 509, 326, 326, 17, 517, 594, 594, 594, 594, 594, - 594, 529, 326, 1307, 1308, 1309, 1310, 1311, 1312, 441, - 543, 544, 1385, 552, 559, 320, 561, 263,-32768, 566, - 996, 574, 998, 575, 576, 440, 1317, 1318, 1319, 1320, - 441, 577, 648, 579, 1129, 594, 598, 1321, 457, 695, - 1368, 708, 606, 607, 648, 648, 648, 648, 648, 648, - 608, 710, 714, 442, 441, 716, 727, 729, 443, 730, - 731, 739, 979, 1341,-32768, 740, 741, 1342, 742, 747, - 758, 744, 750, 759, 442, 760, 764, 765, 1130, 443, - 766, 776, 767, 1131, 224, 444, 779, 182, 780,-32768, - 1102, 1404, 796, 700, 782, 445, 783, 787, 442, 788, - 789, 446, 253, 443, 844, 790, 1373, 797, 800, 444, - 801, 1499, 842, 802, 1443, 803, 942, 905, 942, 942, - 942, 942, 942, 942, 808, 817, 1313, 822, 823, 829, - 555, 555,-32768,-32768, 1317, 1318, 1319, 1320, 845, 148, - 225, 846, 913, 1174, 1392, 1321, 1437, 907, 847, 447, - 848, 927, 335, 1396, 1397, 1398, 1399, 1400, 1401, 1402, - 1403, 448, 1407, 849, 850, 851, 866, 1185, 867, 874, - 447, 875, 877, 878, 1135, 880, 881, 883, 1269, 884, - 948, 971, 448, 886, 1300, 887, 1136, 889, 890, 1461, - 1462, 892, 893, 449, 447, 908, 895, 993, 1000, 815, - 1415, 453, 454, 455, 456, 896, 448, 944, 1155, 945, - 1423, 326, 457, 969, 449, 1483, 1032, 1034, 1137, 450, - 451, 452, 453, 454, 455, 456, 1141, 1142, 1143, 1144, - 1039, 1035, 1036, 457, 1038, 864, 1056, 1145, 449, 1074, - 1071, 1099, 1550, 450, 451, 452, 453, 454, 455, 456, - 1077, 1100, 1080, 1313, 1104, 1083, 648, 457, 1314, 1315, - 1316, 1317, 1318, 1319, 1320, 1086, 1089, 1092, 1103, 1095, - 1109, 1116, 1321, 1117, 1118, 1395, 1120, 1147, 127, 1152, - -787, 127, 1151, 1154, 1172, 182, 1173, 626, 1484, 127, - 1177, 1179, 1182, 127, 127, 1183, 127, 148, 1184, 1187, - 127, 1189, 148, 1191, 127, 127, 942, 1194, 1195, 1197, - 1199, 1214, 1200, 1208, 942, 905, 1204, 1212, 942, 1216, - 942, 1217, 1218, 942, 942, 942, 942, 942, 942, 942, - 942, 1219, 1223, 942, 1225, 1226, 1232, 148, 1233, 1234, - 942, 1235, 1236, 1237, 1238, 441, 1239, 1240, 1241, 225, - 225, 225, 225, 225, 225, 1242, 1243, 127, 1244, 1245, - 592, 1246, 1247, 1258, 1260, 1328, 1264, 1331, 1261, 182, - 1263, 1267, 1313, 1265, 1266, 1338, 1270, 1314, 1315, 1316, - 1317, 1318, 1319, 1320, 1393, 1394, 646, 1145, 1276, 442, - 1304, 1321, 1301, 1340, 443, 1305, 1306, 1322, 1324, 1330, - 444, 1326, 1344, 1345, 1346, 1347, 127, 1361, 1349, 127, - 127, 1350, 1354, 127, 127, 1355, 127, 127, 1356, 1359, - 127, 1562, 1358, 1366, 127, 127, 1370, 1374, 127, 1375, - 127, 127, 127, 1377, 1384, 1436, 1388, 127, 127, 1389, - 1390, 1321, 1408, 1413, 182, 1414, 1372, 1416, 1418, 1417, - 1422, 1432, 225, 127, 1426, 1427, 1428, 1429, 1434, 1441, - 1452, 1446, 1447, 1474, 1457, 1477, 1478, 1488, 1489, 1496, - 942, 1464, 127, 1498, 905, 127, 1497, 1500, 1505, 1530, - 1536, 127, 1520, 1549, 1557, 447, 1559, 1567, 1568, 1563, - 225, 213, 357, 510, 1176, 738, 473, 448, 963, 225, - 225, 225, 225, 225, 225, 225, 225, 244, 225, 922, - 1543, 920, 947, 441, 1175, 1303, 1442, 1504, 127, 320, - 1535, 1487, 1510, 950, 1556, 207, 127, 1181, 992, 449, - 592, 592, 592, 592, 1558,-32768,-32768, 453, 454, 455, - 456, 991, 127, 345, 485, 127, 127, 184, 457, 385, - 1521, 1460, 182, 1544, 1459, 379, 255, 442, 1180, 407, - 777, 212, 443, 1002, 511, 1529, 1551, 693, 444, 1545, - 1467, 1552, 942, 1364, 1444, 425, 1526, 1560, 445, 1210, - 424, 910, 905, 646, 646, 646, 646, 646, 252, 1491, - 1259, 0, 704, 694, 150, 0, 0, 1456, 0, 148, - 646, 0, 700, 0, 700, 0, 151, 0, 148, 0, - 0, 152, 0, 0, 127, 127, 0, 0, 153, 0, - 154, 0, 0, 155, 127, 0, 1526, 0, 0, 0, - 127, 0, 156, 0, 225, 0, 0, 0, 127, 157, - 0, 440, 158, 127, 0, 0, 441, 0, 0, 127, - 127, 0, 0, 447, 0, 127, 0, 127, 0, 159, - 160, 127, 0, 0, 0, 448, 161, 162, 1455, 0, - 0, 1516, 939, 0, 0, 570, 0, 0, 0, 0, - 0, 0, 0, 1527, 0, 0, 0, 0, 0, 0, - 442, 0, 0, 0, 0, 443, 0, 449, 0, 0, - 0, 444, 450, 451, 452, 453, 454, 455, 456, 0, - 0, 445, 0, 0, 127, 326, 457, 446, 0, 0, - 0, 0, 1516, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 425, 1527, 0, 1561, 0, 0, 127, 0, + 182, 1107, 709, 786, 191, 182, 484, 195, 320, 204, + 1098, 182, 249, 1003, 1004, 209, 211, 965, 526, 1046, + 1274, 1323, 718, 262, 1009, 1424, 1425, 691, 946, 1198, + 181, 1040, 818, 393, 1041, 192, 1419, 695, 819, 695, + 496, 201, 819, 716, 703, 410, 487, 265, 488, 819, + 333, 460, 711, 470, 1463, 966, 1114, 819, 1257, 337, + 1471, 147, 169, 1215, 868, 186, 493, 494, 182, 466, + 498, 1013, 804, 805, 806, 807, 1506, 774, 736, 794, + 263, 1014, 824, 489, 826, 827, 265, 852, 853, 854, + 855, 856, 84, 1472, 170, 170, 819, 609, 215, 187, + 384, 467, 1485, 388, 871, 85, 795, 1468, 712, 869, + 499, 870, 512, 816, 1115, 171, 171, 182, 263, 1050, + 148, 148, 1469, 1470, 223, 225, 751, 148, 182, 1051, + 431, 242, 500, 513, 1464, 182, 148, 1507, 655, 148, + 820, 148, 223, 225, 820, 556, 909, 218, 148, 148, + 1450, 820, 149, 1205, 338, 172, 172, 178, 227, 820, + 1508, 1224, 557, 1538, 182, 245, 1493, 865, 578, 173, + 173, 166, 335, 1383, 952, 1494, 1495, 1486, 858, 953, + 825, 165, 656, 182, 167, 1451, 195, 514, 809, 220, + 221, 954, 182, 657, 269, 1070, 226, 1420, 820, 1523, + 1380, 995, -555, 706, 326, 461, 1539, 461, 250, 202, + 251, 490, 202, 341, 202, 263, 810, 1367, 259, 1213, + -555, 196, 344, 1282, 811, 812, 813, 814, 202, 195, + 174, 174, 955, 1190, 343, 815, -523, 148, 717, 82, + 381, 1148, 1149, 1042, 956, 1381, 1445, 1382, 957, 1567, + 859, 83, 496, 148, -523, 198, 148, 389, 860, 861, + 862, 863, 732, 943, 733, 1568, 958, 1283, 1438, 864, + 1249, -522, -553, 563, 564, 565, 1250, 370, 1284, -781, + 573, 320, 498, 1336, -788, 1251, 1018, 1012, 952, -522, + -553, 1482, 580, 1252, 435, 1047, 1020, 1021, 1022, 1023, + 1024, 1025, 200, 791, 1253, 954, 378, 1057, 1058, 1059, + 1060, 1061, 1062, 202, 1254, 610, 263, 611, 792, 469, + 472, 472, 499, 359, 205, 480, 182, 360, 810, 1255, + 1479, 216, 1480, 1044, 1055, 182, 811, 812, 813, 814, + 214, 508, 455, 456, 500, 793, 955, 815, 1005, 528, + 538, 457, 228, 723, 242, 478, 481, 1555, 956, 906, + 148, 182, 957, 1556, 1557, 486, 148, 859, 148, 650, + 911, 651, 555, 724, 725, 860, 861, 862, 863, 1277, + 958, 1278, 596, 243, 859, 1026, 864, 813, 814, 1352, + 257, 547, 860, 861, 862, 863, 815, 1028, 1029, 974, + 526, 594, 260, 864, 526, 970, 914, 915, 1037, 973, + 753, 1410, 753, 753, 753, 753, 652, 1411, 653, 266, + 975, 1097, 202, 862, 863, 626, 1279, 648, 1280, 546, + 596, 267, 864, 1313, 1063, 550, 268, 551, 1314, 1315, + 1316, 1317, 1318, 1319, 1320, 270, 1065, 1363, 443, 700, + 1365, 700, 1321, 6, 271, 7, 1327, 403, -781, 458, + 976,-32768, 336, 1307, 1308, 1309, 1310, 1311, 1312, 811, + 812, 813, 814, 339, 977, 1431, 13, 326, 340, 404, + 815, 431, 734, 148, 735, 431, 720, 721, 722, 431, + 6, 736, 7, 431, 405, 95, 14, 431, 1201, 1202, + 1203, 431, 737, 346, 347, 431, 130, 1131, 348, 431, + 1458, 164, 1336, 13, 350, 351, 17, 1192, 185, 1227, + 353, 98, 193, 1196, 355, 1143, 1144, 358, 362, 182, + 19, 363, 367, 14, 1145, 1220, 1221, 1222, 771, 447, + 830, 1319, 1320, 365, 368, 771, 406, 745, 371, 746, + 1321, 448, 728, 17, 761, 531, 762, 372, 532, 763, + 772, 831, 773, 374, 375, 700, 1373, 19, 533, 380, + 382, 594, 594, 594, 594, 263, 391, 1186, 534, 535, + 386, 1517, 752,-32768, 754, 755, 756, 757, 784, 398, + 785, 453, 454, 455, 456, 320, 320, 536, 1135, 256, + 256, 798, 457, 799, 1392, 1111, 320, 1112, 390, 394, + 1136, 980, 1206, 1396, 1397, 1398, 1399, 1400, 1401, 1402, + 1403, 732, 1407, 1113, 648, 648, 648, 648, 648, 395, + 979, 1518, 772, 409, 1150, 1519, 396, 810, 753, 753, + 1031, 648,-32768, 399, 400, 811, 812, 813, 814, 401, + 1141, 1142, 1143, 1144, 876, 461, 815, 1193, 879, 1019, + 413, 1145, 882, 1008, 1511, 202, 885, 1512, 415, 1513, + 888, 416, 417, 772, 891, 1298, 436, 1011, 894, 182, + 832, 182, 897, 419, 438, 833, 834, 835, 836, 837, + 838, 839, 480, 772, 700, 1299, 917, 1386, 439, 1387, + 148, 458, 463, 921, 1339, 921, 923, 924, 148, 900, + 464, 905, 88, 942, 1439, 1294, 1440, 555, 921, 465, + 951, 1045, 478, 482, 968, 182, 1048, 1049, 1448, 492, + 1449, 528, 509, 1108, 90, 528, 1439, 1529, 1481, 374, + 17, 1492, 989, 989, 242, 990, 990, 242, 1484, 94, + 95, 148, 517, 148, 999, 964, 529, 1540, 555, 1541, + 1549, 543, 1550, 441, 544, 1006, 1007, 552, 1343, 919, + 1360,-32768, 559, 561, 263, 566, 98, 926, 574, 860, + 861, 862, 863, 568, 569, 1353, 594, 594, 575, 576, + 864, 326, 326, 577, 579, 594, 594, 594, 594, 594, + 594, 102, 326, 598, 457, 606, 607, 442, 608, 695, + 708, 714, 443, 710, 716, 320, 727, 729, 444, 1313, + 996, 730, 998, 731, 1314, 1315, 1316, 1317, 1318, 1319, + 1320, 739, 648, 741, 742, 594, 740, 744, 1321, 747, + 1368, 1395, 810, 750, 648, 648, 648, 648, 648, 648, + 811, 812, 813, 814, 758, 1341, 759, 441, 760, 1342, + 1066, 815, 979, 764, 780, 766, 765, 1072, 1073, 767, + 1075, 1076, 779, 1078, 1079, 776, 1081, 1082, 782, 1084, + 1085, 783, 1087, 1088, 224, 1090, 1091, 182, 1093, 1094, + 1102, 1404, 787, 700, 788, 796, 789, 797, 823, 790, + 913, 442, 253, 447, 808, 800, 443, 801, 802, 803, + 817, 1499, 444, 822, 829, 448, 942, 905, 942, 942, + 942, 942, 942, 942, 842, 846, 1313, 844, 845, 847, + 555, 555,-32768,-32768, 1317, 1318, 1319, 1320, 848, 148, + 225, 849, 850, 1174, 851, 1321, 1437, 449, 150, 866, + 867, 874, 335,-32768,-32768, 453, 454, 455, 456, 875, + 151, 877, 927, 878, 880, 152, 457, 1185, 948, 881, + 969, 971, 153, 883, 154, 908, 993, 155, 1269, 907, + 884, 886, 1032, 887, 1300, 889, 156, 890, 892, 1461, + 1462, 893, 1415, 157, 895, 896, 158, 447, 944, 945, + 1000, 815, 1423, 1034, 1039, 1035, 1036, 1038, 1155, 448, + 864, 326, 1074, 159, 160, 1483, 1071, 1313, 1077, 1080, + 161, 162, 1314, 1315, 1316, 1317, 1318, 1319, 1320, 1083, + 1086, 1207, 1089, 1092, 1095, 1209, 1321, 1100, 1099, 1103, + 1104, 449, 1109, 1552, 1116, 1117, 450, 451, 452, 453, + 454, 455, 456, 1120, 1147, 1118, 648, 859, -788, 1151, + 457,-32768, 1152, 1172, 1228, 860, 861, 862, 863, 1317, + 1318, 1319, 1320, 1154, 1177, 1173, 864, 1179, 127, 1182, + 1321, 127, 1184, 1183, 1187, 182, 1189, 626, 1191, 127, + 1194, 1195, 1197, 127, 127, 1199, 127, 148, 1214, 1200, + 127, 1204, 148, 1208, 127, 127, 942, 1216, 1212, 1258, + 1217, 1218, 1219, 1223, 942, 905, 1225, 1226, 942, 1260, + 942, 1232, 1233, 942, 942, 942, 942, 942, 942, 942, + 942, 1234, 1235, 942, 1236, 1237, 1238, 148, 1239, 1240, + 942, 1241, 1242, 1243, 1244, 441, 1261, 1263, 1245, 225, + 225, 225, 225, 225, 225, 1246, 1265, 127, 1247, 1266, + 592, 1270, 1145, 1276, 1301, 1328, 1264, 1331, 1304, 182, + 1305, 1267, 254, 1306, 1322, 1338, 1324, 232, 233, 234, + 235, 236, 237, 238, 1393, 1394, 646, 1326, 1340, 442, + 1344, 1345, 1346, 1347, 443, 1361, 1349, 1350, 1354, 1330, +-32768, 1348, 1366, 1355, 1356, 1351, 127, 1358, 1370, 127, + 127, 1359, 1374, 127, 127, 1565, 127, 127, 1375, 1377, + 127, 1384, 1388, 1389, 127, 127, 1390, 1408, 127, 1321, + 127, 127, 127, 1413, 1414, 1436, 1416, 127, 127, 1417, + 1426, 1418, 1432, 1434, 182, 1422, 1372, 1427, 1428, 1429, + 1441, 1446, 225, 127, 1452, 1447, 1457, 1478, 1474, 1477, + 1488, 1464, 1489, 1496, 1500, 1497, 1537, 1498, 1505, 1531, + 942, 1551, 127, 1561, 905, 127, 1559, 1570, 1562, 1566, + 1571, 127, 1521, 213, 357, 447, 738, 963, 510, 1121, + 225, 1122, 1123, 1124, 1125, 1126, 1127, 448, 473, 225, + 225, 225, 225, 225, 225, 225, 225, 920, 225, 1176, + 1544, 1544, 244, 947, 1175, 922, 1442, 1303, 127, 320, + 1504, 1536, 1487, 1510, 1129, 950, 127, 1558, 1181, 449, + 592, 592, 592, 592, 992, 1560, 991, 453, 454, 455, + 456, 207, 127, 88, 279, 127, 127, 485, 457, 184, + 420, 385, 182, 345, 1460, 777, 1522, 283, 1546, 407, + 379, 1459, 255, 1545, 1180, 90, 212, 511, 1130, 284, + 693, 1553, 942, 1131, 1444, 425, 1527, 1002, 1547,-32768, + 94, 95, 905, 646, 646, 646, 646, 646, 1530, 1554, + 289, 1467, 1364, 424, 1563, 1210, 694, 1456, 704, 148, + 646, 1491, 700, 910, 700, 252, 1259, 98, 148, 0, + 0, 0, 421, 293, 127, 127, 0, 0, 0, 0, + 0, 0, 0, 0, 127, 0, 0, 0, 1527, 0, + 127, 0, 102, 0, 225, 0, 0, 422, 127, 0, + 0, 0, 0, 127, 0, 0, 0, 0, 0, 127, + 127, 0, 0, 0, 0, 127, 0, 127, 0, 0, + 0, 127, 0, 0, 1135, 0, 0, 0, 1455, 0, + 0, 1516, 939, 0, 0, 570, 1136, 0, 0, 1271, + 0, 0, 0, 1528, 0, 0, 0, 1273, 0, 0, + 0, 1281, 0, 1285, 0, 0, 1286, 1287, 1288, 1289, + 1290, 1291, 1292, 1293, 423, 0, 1297, 0, 1137, 0, + 0, 0, 0, 1302, 127, 326, 1141, 1142, 1143, 1144, + 0, 0, 1129, 1516, 0, 0, 0, 1145, 0, 0, + 0, 0, 425, 0, 0, 1528, 0, 1564, 127, 0, 127, 0, 0, 0, 0, 592, 592, 0, 0, 0, 0, 0, 0, 0, 592, 592, 592, 592, 592, 592, - 0, 0, 0, 0, 0, 87, 0, 0, 0, 0, - 0, 0, 127, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 425, 0, 0, 447, 0, 0, 179, - 0, 646, 0, 0, 592, 88, 0, 0, 448, 0, + 0, 0, 0, 0, 0, 87, 1130, 0, 0, 0, + 0, 1131, 127, 0, 0, 0, 0, 1132, 0, 0, + 0, 0, 0, 425, 0, 0, 0, 0, 0, 179, + 0, 646, 0, 0, 592, 88, 0, 0, 0, 0, 0, 0, 89, 646, 646, 646, 646, 646, 646, 0, 0, 0, 0, 0, 0, 0, 0, 90, 127, 0, 0, 0, 0, 0, 0, 91, 92, 127, 0, 0, - 449, 93, 94, 95, 127, 450, 451, 452, 453, 454, - 455, 456, 0, 0, 96, 0, 0, 0, 0, 457, - -582, 0, 97, 0, 127, 0, 0, 0, 0, 98, - 0, 0, 0, 0, 99, 0, 100, 101, 0, 0, - 0, 0, 0, 0, 0, 939, 0, 939, 939, 939, + 0, 93, 94, 95, 127, 0, 0, 0, 0, 0, + 0, 0, 0, 1385, 96, 0, 0, 0, 0, 0, + 0, 0, 97, 0, 127, 0, 0, 0, 0, 98, + 0, 0, 1135, 0, 99, 0, 100, 101, 0, 0, + 0, 0, 0, 0, 1136, 939, 0, 939, 939, 939, 939, 939, 939, 0, 102, 103, 0, 104, 0, 105, 0, 0, 0, 0, 0, 0, 0, 106, 0, 1170, - 107, 108, 109, 0, 110, 0, 0, 0, 111, 0, - 112, 113, 0, 0, 0, 0, 0, 0, 0, 114, - 115, 116, 0, 180, 0, 0, 0, 0, 117, 0, + 107, 108, 109, 0, 110, 0, 1137, 0, 111, 0, + 112, 113,-32768,-32768, 1141, 1142, 1143, 1144, 0, 114, + 115, 116, 0, 180, 0, 1145, 0, 0, 117, 0, 118, 0, 0, 0, 119, 0, 0, 0, 0, 120, - 121, 0, 0, 0, 0, 0, 122, 123, 0, 124, + 121, 0, 0, 0, 0, 1443, 122, 123, 0, 124, 0, 0, 479, 0, 125, 0, 126, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 127, 0, 127, 0, 0, 0, 0, 0, 0, 0, 0, 901, @@ -1676,43 +1678,43 @@ static const short yytable[] = { 129, 0, 0, 939, 939, 939, 939, 939, 939, 939, 939, 425, 0, 939, 0, 0, 0, 0, 0, 0, 939, 0, 0, 0, 0, 0, 0, 0, 475, 1170, 1170, - 1170, 1170, 1170, 1170, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 1337, 0, 0, 0, 411, 425, - 0, 0, 425, 0, 1129, 0, 0, 0, 0, 0, - 0, 0, 0, 426, 0, 0, 427, 0, 428, 429, - 430, 434, 0, 1135, 0, 0, 0, 0, 0, 0, + 1170, 1170, 1170, 1170, 0, 0, 0, 0, 0, 131, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 132, + 0, 133, 0, 0, 1337, 0, 134, 0, 411, 425, + 0, 0, 425, 135, 0, 136, 0, 0, 137, 0, + 0, 0, 0, 426, 0, 0, 427, 138, 428, 429, + 430, 434, 0, 1135, 139, 0, 0, -312, 0, 0, 0, 0, 0, 0, 0, 1136, 127, 0, 0, 127, - 0, 0, 127, 591, 88, 279, 0, 0, 1130, 0, - 0, 420, 0, 1131, 0, 0, 425, 0, 283, 1132, - 0, 0, 0, 0, 0, 0, 90, 1137, 0, 645, - 284, 1170, 1138, 1139, 1140, 1141, 1142, 1143, 1144, 127, - 127, 94, 95, 545, 0, 0, 1145, 0, 127, 939, - 0, 289, 127, 0, 0, 0, 0, 0, 1128, 0, - 0, 560, 0, 1129, 0, 0, 0, 0, 98, 1170, - 0, 0, 0, 421, 293, 0, 127, 0, 1170, 1170, + 0, 0, 127, 591, 140, 0, 0, 0, 0, 0, + 0, 141, 142, 0, 0, 0, 425, 0, 0, 143, + 0, 0, 0, 0, 0, 0, 0, 1137, 0, 645, + 0, 1170, 1138, 1139, 1140, 1141, 1142, 1143, 1144, 127, + 127, 0, 0, 545, 0, 0, 1145, 0, 127, 939, + 0, 0, 127, 0, 0, 0, 0, 0, 440, 0, + 0, 560, 0, 441, 0, 0, 0, 0, 0, 1170, + 0, 0, 0, 0, 0, 0, 127, 0, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 0, 1170, 0, 0, - 603, 0, 0, 102, 0, 0, 0, 0, 422, 0, - 0, 0, 0, 0, 1135, 0, 0, 1130, 0, 0, - 0, 628, 1131, 0, 0, 654, 1136, 658, 1132, 0, - 662, 666, 670, 674, 678, 682, 686, 690, 1133, 692, - 0, 0, 0, 0, 1134, 0, 0, 0, 0, 479, - 0, 0, 0, 0, 0, 0, 0, 0, 1137, 0, - 0, 939, 0, 0,-32768,-32768, 1141, 1142, 1143, 1144, - 941, 0, 0, 0, 0, 423, 425, 1145, 0, 131, - 0, 0, 0, 591, 591, 591, 591, 0, 0, 132, - 0, 133, 0, 0, 0, 0, 134, 0, 0, 0, - 0, 0, 0, 135, 127, 136, 127, 0, 137, 0, - 0, 0, 0, 1135, 0, 0, 127, 138, 0, 0, - 0, 127, 0, 1170, 139, 1136, 0, -312, 0, 0, + 603, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 442, 0, 0, + 0, 628, 443, 0, 0, 654, 0, 658, 444, 0, + 662, 666, 670, 674, 678, 682, 686, 690, 445, 692, + 0, 0, 0, 0, 446, 0, 0, 0, 0, 479, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 939, 0, 0, 0, 0, 0, 0, 0, 0, + 941, 0, 0, 0, 0, 0, 425, 0, 0, 0, + 0, 0, 0, 591, 591, 591, 591, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 127, 0, 127, 0, 0, 0, + 0, 0, 0, 447, 0, 0, 127, 0, 0, 0, + 0, 127, 0, 1170, 0, 448, 0, 0, 0, 0, 0, 0, 0, 0, 425, 0, 645, 645, 645, 645, - 645, 0, 0, 1129, 140, 0, 0, 0, 0, 0, - 425, 141, 142, 645, 0, 0, 127, 1137, 0, 143, - 0, 0, 1138, 1139, 1140, 1141, 1142, 1143, 1144, 0, - 0, 0, 0, 0, 0, 0, 1145, 0, 0, 1146, - 603, 0, 603, 603, 0, 0, 0, 1130, 127, 841, - 0, 0, 1131, 0, 127, 0, 0, 0, 1132, 0, - 0, 0, 0, 425, 475, 0, 0, 0, 1133, 0, + 645, 0, 0, 441, 0, 0, 0, 0, 0, 0, + 425, 0, 0, 645, 0, 0, 127, 449, 0, 0, + 0, 0, 450, 451, 452, 453, 454, 455, 456, 0, + 0, 0, 0, 0, 0, 0, 457, 0, 0, 1056, + 603, 0, 603, 603, 0, 0, 0, 442, 127, 841, + 0, 0, 443, 0, 127, 0, 0, 0, 444, 0, + 0, 0, 0, 425, 475, 0, 0, 0, 445, 0, 941, 0, 0, 0, 0, 0, 0, 0, 0, 0, 425, 0, 0, 0, 857, 0, 0, 0, 0, 0, 0, 425, 0, 0, 0, 0, 0, 0, 873, 0, @@ -1720,56 +1722,56 @@ static const short yytable[] = { 129, 434, 0, 0, 0, 434, 0, 0, 0, 434, 0, 0, 0, 434, 127, 0, 0, 434, 0, 0, 0, 434, 0, 0, 941, 0, 941, 941, 941, 941, 941, - 941, 425, 0, 1135, 0, 0, 0, 425, 0, 0, - 0, 0, 0, 0, 593, 1136, 0, 941, 591, 591, + 941, 425, 0, 447, 0, 0, 0, 425, 0, 0, + 0, 0, 0, 0, 593, 448, 0, 941, 591, 591, 0, 0, 0, 0, 0, 0, 0, 591, 591, 591, 591, 591, 591, 0, 0, 0, 0, 0, 0, 0, - 647, 0, 0, 0, 0, 0, 425, 1137, 0, 0, - 0, 0, 1138, 1139, 1140, 1141, 1142, 1143, 1144, 0, - 0, 0, 0, 0, 645, 0, 1145, 591, 0, 0, + 647, 0, 0, 0, 0, 0, 425, 449, 0, 0, + 0, 0, 450, 451, 452, 453, 454, 455, 456, 0, + 0, 0, 0, 440, 645, 0, 457, 591, 441, 0, 0, 0, 0, 0, 0, 0, 645, 645, 645, 645, 645, 645, 0, 0, 425, 0, 0, 0, 0, 0, 1010, 127, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 425, 425, 0, 603, 737, 0, 440, 0, 425, - 0, 0, 441, 127, 0, 0, 0, 0, 0, 0, - 1030, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 941, 0, 0, 0, 127, 0, + 0, 425, 425, 0, 603, 0, 0, 0, 0, 425, + 0, 440, 442, 127, 0, 0, 441, 443, 0, 0, + 1030, 0, 0, 444, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 445, 941, 0, 0, 0, 127, 446, 0, 127, 0, 127, 425, 425, 0, 127, 0, 0, - 0, 0, 603, 0, 0, 0, 442, 0, 0, 0, - 0, 443, 0, 0, 425, 0, 425, 444, 0, 0, - 425, 0, 0, 0, 0, 0, 0, 445, 0, 0, - 0, 0, 0, 941, 593, 593, 593, 593, 0, 0, + 0, 0, 603, 0, 0, 0, 0, 0, 0, 0, + 442, 0, 0, 0, 425, 443, 425, 0, 0, 0, + 425, 444, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 445, 0, 941, 593, 593, 593, 593, 0, 0, 0, 941, 941, 0, 0, 941, 0, 941, 0, 1096, - 941, 941, 941, 941, 941, 941, 941, 941, 0, 0, + 941, 941, 941, 941, 941, 941, 941, 941, 447, 0, 941, 0, 0, 0, 0, 0, 0, 941, 0, 0, - 0, 0, 127, 0, 0, 0, 941, 941, 941, 941, + 448, 0, 127, 0, 0, 0, 941, 941, 941, 941, 941, 941, 0, 0, 0, 0, 0, 647, 647, 647, 647, 647, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 447, 0, 647, 0, 0, 876, 0, 0, - 0, 879, 0, 0, 448, 882, 0, 0, 0, 885, - 0, 0, 127, 888, 127, 0, 0, 891, 0, 0, - 0, 894, 0, 0, 0, 897, 0, 0, 645, 941, - 0, 0, 0, 0, 0, 0, 449, 0, 0, 0, - 0, 450, 451, 452, 453, 454, 455, 456, 0, 0, - 0, 0, 0, 0, 0, 457, 603, 603, 603, 0, + 0, 0, 449, 0, 647, 0, 447, 450, 451, 452, + 453, 454, 455, 456, 0, 0, 0, 0, 448, 0, + 0, 457, -583, 0, 127, 0, 127, 0, 0, 0, + 0, 1128, 0, 0, 0, 0, 1129, 0, 645, 941, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 449, 0, 0, 0, 0, 450, 451, 452, 453, 454, + 455, 456, 0, 0, 0, 0, 603, 603, 603, 457, 0, 0, 0, 0, 0, 0, 940, 0, 0, 941, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 941, - 0, 0, 0, 1211, 0, 941, 0, 941, 0, 0, - 0, 0, 0, 603, 603, 603, 0, 0, 0, 0, + 1130, 0, 0, 0, 0, 1131, 0, 0, 0, 941, + 0, 1132, 0, 1211, 0, 941, 0, 941, 0, 0, + 0, 1133, 0, 603, 603, 603, 0, 1134, 0, 0, 0, 0, 0, 0, 0, 0, 0, 941, 0, 0, 0, 0, 0, 0, 0, 0, 941, 941, 941, 941, 941, 941, 941, 941, 0, 941, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 593, 593, 0, 0, 0, 0, 0, 0, 0, 593, 593, 593, 593, 593, 593, 0, 0, 0, 0, 0, 0, - 0, 0, 941, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 941, 0, 0, 0, 1135, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 1136, 0, 941, 0, 0, 0, 0, 647, 0, 941, 593, 941, 0, 0, 0, 0, 0, 0, 0, 647, 647, 647, - 647, 647, 647, 1066, 0, 0, 1069, 0, 0, 0, - 1072, 1073, 0, 1075, 1076, 0, 1078, 1079, 0, 1081, - 1082, 0, 1084, 1085, 0, 1087, 1088, 0, 1090, 1091, - 0, 1093, 1094, 0, 0, 0, 0, 0, 0, 0, + 647, 647, 647, 0, 0, 0, 1069, 0, 0, 0, + 1137, 0, 0, 0, 0, 1138, 1139, 1140, 1141, 1142, + 1143, 1144, 0, 0, 0, 0, 0, 0, 0, 1145, + 0, 0, 1146, 0, 0, 0, 0, 0, 0, 0, 0, 0, 941, 0, 941, 0, 0, 0, 87, 0, 0, 941, 0, 0, 0, 0, 0, 0, 0, 0, 0, 929, 273, 274, 0, 0, 0, 0, 0, 940, @@ -1783,10 +1785,10 @@ static const short yytable[] = { 129, 0, 0, 98, 0, 0, 0, 0, 292, 293, 100, 101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 296, 0, 0, 0, 0, 0, 102, 103, 297, - 104, 298, 299, 0, 1207, 0, 0, 0, 1209, 0, + 104, 298, 299, 0, 0, 0, 0, 0, 0, 0, 106, 0, 0, 107, 108, 109, 0, 110, 0, 0, 0, 111, 0, 112, 113, 0, 0, 0, 0, 0, - 0, 0, 114, 115, 116, 0, 0, 1228, 0, 647, + 0, 0, 114, 115, 116, 0, 0, 0, 0, 647, 1231, 117, 0, 118, 0, 0, 0, 119, 0, 0, 300, 0, 120, 121, 0, 0, 0, 0, 0, 122, 123, 0, 124, 0, 0, 0, 0, 125, 0, 301, @@ -1794,35 +1796,35 @@ static const short yytable[] = { 129, 933, 0, 0, 934, 935, 936, 0, 0, 0, 940, 0, 0, 937, 1295, 0, 0, 0, 940, 1275, 0, 0, 940, 0, 940, 0, 0, 940, 940, 940, 940, - 940, 940, 940, 940, 0, 1128, 940, 0, 0, 0, - 1129, 0, 0, 940, 0, 0, 0, 0, 0, 0, + 940, 940, 940, 940, 1128, 0, 940, 0, 0, 1129, + 0, 0, 0, 940, 0, 0, 0, 0, 0, 0, 0, 0, 1171, 1171, 1171, 1171, 1171, 1171, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1503, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 1130, 0, 0, 1523, 0, 1131, - 0, 0, 0, 0, 1348, 1132, 0, 0, 1351, 0, - 0, 0, 0, 0, 0, 1133, 0, 0, 0, 0, - 0, 1134, 0, 0, 0, 1357, 0, 0, 0, 0, - 0, 1503, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 1130, 0, 0, 0, 1524, 1131, 0, + 0, 0, 0, 0, 1132, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 1133, 0, 0, 0, 0, 0, + 1134, 0, 0, 0, 0, 1357, 0, 0, 0, 0, + 0, 0, 1503, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 273, 274, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 1171, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 1275, 0, 0, 0, 0, - 0, 1275, 0, 940, 0, 0, 0, 0, 0, 0, - 1135, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 1136, 1171, 0, 0, 0, 0, 0, 0, + 0, 0, 88, 279, 0, 1171, 0, 0, 0, 420, + 0, 0, 0, 0, 0, 1275, 283, 0, 0, 0, + 0, 1275, 0, 940, 90, 0, 0, 0, 284, 1135, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 94, + 95, 1136, 285, 1171, 286, 0, 0, 0, 0, 289, 0, 0, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, - 0, 1171, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 1137, 0, 0, 0, 0, 1138, - 1139, 1140, 1141, 1142, 1143, 1144, 0, 0, 0, 0, - 0, 0, 0, 1145, 0, 0, 1272, 0, 1430, 0, + 0, 1171, 0, 0, 0, 0, 98, 0, 0, 0, + 0, 421, 293, 1137, 0, 0, 0, 0, 1138, 1139, + 1140, 1141, 1142, 1143, 1144, 296, 0, 0, 0, 0, + 0, 102, 1145, 0, 0, 1272, 422, 0, 1430, 0, 0, 0, 0, 0, 0, 87, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1275, 0, 272, 273, 274, 0, 0, 1275, 0, 940, 0, 0, 0, 179, 275, 276, 277, 278, 0, 88, 279, 0, 0, 0, - 0, 0, 280, 0, 0, 0, 281, 282, 0, 283, + 0, 0, 280, 0, 300, 0, 281, 282, 0, 283, 0, 0, 0, 0, 0, 0, 0, 90, 0, 0, - 0, 284, 0, 0, 0, 91, 92, 0, 0, 0, + 0, 284, 0, 423, 0, 91, 92, 0, 0, 0, 0, 93, 94, 95, 0, 285, 0, 286, 1275, 287, 1275, 288, 289, 0, 96, 0, 0, 1171, 0, 290, 0, 0, 97, 0, 0, 0, 0, 0, 0, 98, @@ -2369,9 +2371,9 @@ static const short yytable[] = { 129, 934, 935, 936, 442, 0, 0, 0, 0, 443, 937, 1136, 440, 0, 0, 444, 0, 441, 0, 0, 0, 0, 0, 0, 0, 445, 0, 0, 0, 440, 0, - 446, 1531, 0, 441, 0, 0, 0, 0, 0, 0, + 446, 1532, 0, 441, 0, 0, 0, 0, 0, 0, 0, 0, 1137, 0, 0, 0, 0, 1138, 1139, 1140, - 1141, 1142, 1143, 1144, 0, 0, 0, 0, 440, 1532, + 1141, 1142, 1143, 1144, 0, 0, 0, 0, 440, 1533, 442, 1145, 0, 441, 1391, 443, 0, 0, 0, 0, 0, 444, 0, 0, 0, 0, 0, 442, 0, 0, 0, 445, 443, 0, 0, 0, 0, 446, 444, 0, @@ -2379,16 +2381,16 @@ static const short yytable[] = { 129, 0, 0, 0, 0, 446, 0, 0, 442, 0, 0, 0, 448, 443, 0, 0, 0, 0, 440, 444, 778, 0, 0, 441, 0, 0, 0, 0, 0, 445, 0, - 0, 0, 0, 0, 446, 1533, 0, 0, 0, 0, + 0, 0, 0, 0, 446, 1534, 0, 0, 0, 0, 0, 0, 0, 449, 0, 0, 0, 0, 450, 451, 452, 453, 454, 455, 456, 0, 447, 0, 0, 0, - 0, 0, 457, 0, 0, 1546, 442, 0, 448, 0, + 0, 0, 457, 0, 0, 1548, 442, 0, 448, 0, 0, 443, 0, 447, 0, 0, 0, 444, 0, 0, 0, 0, 0, 0, 0, 448, 0, 445, 0, 0, 0, 440, 0, 446, 0, 0, 441, 0, 0, 0, 449, 0, 0, 447, 0, 450, 451, 452, 453, 454, 455, 456, 0, 0, 0, 448, 0, 449, 0, 457, - -581, 0, 450, 451, 452, 453, 454, 455, 456, 0, + -582, 0, 450, 451, 452, 453, 454, 455, 456, 0, 0, 0, 0, 0, 828, 0, 457, 0, 0, 0, 442, 0, 0, 0, 0, 443, 0, 449, 0, 0, 0, 444, 450, 451, 452, 453, 454, 455, 456, 0, @@ -2422,28 +2424,28 @@ static const short yytable[] = { 129, 0, 0, 0, 0, 87, 0, 1137, 0, 0, 0, 0, 1138, 1139, 1140, 1141, 1142, 1143, 1144, 0, 0, 0, 1137, 0, 0, 0, 1145, 1138, 1139, 1140, 1141, - 1142, 1143, 1144, 0, 88, 0, 0, 0, 0, 0, + 1142, 1143, 1144, 0, 88, 0, 0, 1129, 0, 0, 1145, 89, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 90, 0, 0, 0, 0, 0, 0, 0, 91, 92, 0, 0, 0, 0, 93, 94, 95, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 96, 0, 0, 0, 0, 0, 0, - 0, 97, 0, 0, 0, 0, 0, 0, 98, 0, - 0, 0, 0, 99, 0, 100, 101, 0, 0, 0, + 0, 1130, 0, 96, 0, 0, 1131, 0, 0, 0, + 0, 97, 1132, 0, 0, 0, 0, 0, 98, 0, + 0, 0, 1133, 99, 0, 100, 101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 102, 103, 0, 104, 0, 105, 0, 0, 0, 0, 0, 0, 0, 106, 0, 0, 107, 108, 109, 0, 110, 0, 0, 0, 111, 0, 112, 113, 0, 0, 0, 0, 0, 0, 87, 114, 115, 116, 0, 0, 0, 0, 0, 0, 117, 0, 118, - 0, 0, 0, 119, 0, 0, 981, 0, 120, 121, - 0, 0, 0, 0, 0, 122, 123, 88, 124, 0, + 0, 0, 0, 119, 0, 0, 981, 1135, 120, 121, + 0, 0, 0, 0, 0, 122, 123, 88, 124, 1136, 539, 0, 0, 125, 89, 126, 202, 254, 263, 0, 982, 0, 232, 233, 234, 235, 983, 237, 238, 90, 0, 0, 0, 0, 0, 0, 229, 91, 92, 0, - 0, 0, 0, 93, 94, 95, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 96, 0, 0, 0, - 0, 0, 0, 0, 97, 230, 0, 0, 0, 0, + 0, 1137, 0, 93, 94, 95, 1138, 1139, 1140, 1141, + 1142, 1143, 1144, 0, 0, 0, 96, 0, 0, 0, + 1145, 0, 0, 0, 97, 230, 0, 0, 0, 0, 0, 98, 0, 0, 0, 0, 99, 0, 100, 101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 102, 103, 0, 104, @@ -2727,25 +2729,19 @@ static const short yytable[] = { 129, 90, 296, 0, 0, 284, 0, 0, 102, 0, 297, 0, 298, 422, 0, 0, 94, 95, 0, 285, 0, 286, 0, 0, 0, 0, 289, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 273, 274, 0, 0, - 0, 0, 98, 0, 0, 0, 0, 421, 293, 0, - 0, 0, 88, 279, 0, 0, 0, 0, 0, 420, - 300, 296, 0, 0, 0, 0, 283, 102, 0, 297, - 0, 298, 422, 0, 90, 0, 0, 0, 284, 423, - 202, 0, 263, 303, 304, 0, 0, 0, 0, 94, - 95, 0, 285, 0, 286, 0, 0, 0, 0, 289, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 98, 0, 0, 1, - 300, 421, 293, 0, 2, 0, 0, 0, 0, 0, - 0, 0, 0, 3, 0, 296, 4, 0, 5, 423, - 202, 102, 263, 303, 304, 0, 422, 0, 6, 0, + 0, 0, 98, 0, 0, 0, 0, 421, 293, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, + 300, 296, 0, 0, 2, 0, 0, 102, 0, 297, + 0, 298, 422, 3, 0, 0, 4, 0, 5, 423, + 202, 0, 263, 303, 304, 0, 0, 0, 6, 0, 7, 0, 0, 0, 8, 9, 10, 0, 0, 11, 0, 0, 0, 0, 0, 12, 0, 0, 0, 0, 0, 13, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 14, 0, 0, 300, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 15, 0, 16, - 0, 17, 18, 423, 0, 0, 0, 0, 0, 0, + 300, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 14, 0, 0, 0, 0, 0, 0, 0, 423, + 202, 0, 263, 303, 304, 0, 0, 15, 0, 16, + 0, 17, 18, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 19, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20, 0, 0, 0, 0, 0, 0, 0, 21, @@ -2758,181 +2754,181 @@ static const short yytable[] = { 129, static const short yycheck[] = { 3, 476, 199, 6, 556, 133, 162, 416, 475, 145, 159, - 14, 907, 480, 566, 18, 19, 901, 21, 188, 26, - 363, 25, 151, 740, 343, 29, 30, 844, 1129, 1174, - 487, 731, 5, 1341, 1342, 775, 776, 457, 60, 5, - 14, 50, 8, 274, 50, 19, 786, 50, 48, 36, - 168, 25, 114, 36, 464, 286, 36, 168, 36, 114, - 7, 37, 1099, 19, 114, 4, 22, 6, 114, 114, - 41, 6, 5, 50, 106, 36, 801, 5, 82, 60, - 7, 68, 585, 586, 587, 588, 51, 555, 508, 183, - 108, 37, 599, 49, 601, 602, 207, 638, 639, 640, - 641, 642, 41, 121, 37, 114, 1424, 1425, 82, 81, - 267, 39, 58, 270, 655, 1423, 802, 200, 79, 15, - 35, 86, 37, 591, 849, 58, 37, 131, 99, 106, - 134, 135, 50, 89, 138, 139, 112, 141, 142, 134, - 310, 145, 114, 58, 194, 149, 150, 58, 149, 153, - 1468, 155, 156, 157, 216, 111, 218, 131, 162, 163, - 243, 216, 195, 78, 850, 98, 112, 195, 142, 201, - 216, 216, 218, 218, 178, 149, 210, 645, 409, 112, - 76, 1282, 189, 98, 77, 213, 79, 98, 98, 77, - 600, 79, 70, 197, 216, 19, 200, 112, 12, 134, - 135, 112, 206, 99, 178, 115, 141, 216, 195, 209, - 216, 764, 195, 216, 188, 195, 195, 195, 153, 97, - 155, 1258, 55, 197, 197, 49, 12, 1044, 163, 101, - 169, 124, 206, 126, 213, 197, 124, 70, 126, 243, - 173, 113, 56, 132, 944, 945, 1564, 251, 163, 196, - 257, 217, 214, 67, 1562, 995, 145, 204, 205, 206, - 207, 217, 173, 267, 97, 89, 270, 271, 215, 196, - 56, 728, 197, 37, 195, 101, 1377, 204, 205, 206, - 207, 67, 9, 394, 395, 396, 194, 111, 215, 214, - 401, 461, 213, 1189, 58, 149, 803, 800, 213, 1444, - 135, 56, 413, 138, 311, 846, 809, 810, 811, 812, - 813, 814, 194, 148, 195, 33, 251, 858, 859, 860, - 861, 862, 863, 158, 159, 436, 35, 438, 37, 336, - 337, 338, 213, 197, 98, 339, 340, 55, 1439, 129, - 1441, 205, 177, 133, 851, 349, 206, 207, 112, 58, - 167, 355, 70, 71, 9, 215, 19, 212, 778, 363, - 367, 24, 217, 492, 368, 339, 340, 90, 79, 78, - 374, 375, 64, 36, 79, 349, 380, 696, 382, 97, - 179, 180, 386, 488, 489, 490, 104, 105, 707, 98, - 206, 207, 802, 9, 51, 815, 195, 1214, 81, 215, - 57, 375, 745, 112, 122, 216, 749, 817, 818, 66, - 172, 415, 81, 124, 77, 126, 178, 74, 828, 124, - 531, 126, 533, 534, 535, 536, 89, 81, 85, 1251, - 93, 899, 1254, 1469, 1470, 439, 196, 441, 95, 374, - 850, 196, 202, 203, 864, 380, 123, 382, 111, 204, - 205, 206, 207, 110, 206, 207, 866, 1493, 99, 463, - 215, 465, 1179, 215, 188, 189, 19, 33, 930, 196, - 932, 933, 934, 935, 936, 937, 81, 204, 205, 206, - 207, 1366, 216, 36, 218, 206, 207, 461, 215, 55, - 123, 661, 745, 497, 215, 665, 749, 194, 195, 669, - 197, 921, 199, 673, 70, 71, 123, 677, 1015, 1016, - 1017, 681, 216, 131, 218, 685, 4, 61, 206, 689, - 1416, 9, 1418, 210, 77, 206, 207, 1003, 16, 1070, - 120, 97, 20, 1009, 215, 197, 89, 199, 217, 543, - 93, 196, 216, 9, 218, 1052, 1053, 1054, 552, 204, - 205, 206, 207, 61, 9, 559, 122, 196, 111, 120, - 215, 217, 497, 212, 213, 204, 205, 206, 207, 543, - 216, 216, 218, 218, 64, 579, 215, 190, 191, 218, - 196, 585, 586, 587, 588, 201, 202, 203, 204, 205, - 206, 207, 196, 531, 217, 533, 534, 535, 536, 215, - 204, 205, 206, 207, 196, 775, 776, 32, 152, 759, - 760, 215, 204, 205, 206, 207, 786, 119, 216, 196, - 164, 758, 1032, 215, 201, 202, 203, 204, 205, 206, - 207, 216, 56, 218, 638, 639, 640, 641, 642, 81, - 751, 217, 217, 56, 152, 216, 117, 218, 759, 760, - 820, 655, 196, 216, 18, 218, 164, 216, 1120, 218, - 204, 205, 206, 207, 77, 216, 1128, 218, 217, 217, - 1132, 215, 1134, 784, 217, 1137, 1138, 1139, 1140, 1141, - 1142, 1143, 1144, 217, 216, 1147, 218, 798, 196, 693, - 88, 695, 1154, 216, 120, 218, 204, 205, 206, 207, - 217, 216, 706, 218, 708, 217, 713, 215, 217, 216, - 714, 218, 217, 717, 1190, 719, 720, 721, 722, 693, - 216, 695, 218, 727, 216, 1145, 218, 731, 732, 9, - 734, 842, 706, 217, 741, 739, 847, 848, 216, 196, - 218, 745, 216, 913, 218, 749, 213, 204, 205, 206, - 207, 213, 759, 760, 758, 759, 760, 761, 215, 1499, - 212, 765, 196, 767, 768, 739, 217, 216, 772, 218, - 204, 205, 206, 207, 217, 779, 780, 217, 1198, 714, - 1248, 215, 217, 196, 216, 212, 218, 722, 201, 202, - 203, 204, 205, 206, 207, 1215, 800, 801, 120, 187, - 9, 775, 776, 98, 157, 809, 810, 811, 812, 813, - 814, 171, 786, 1163, 1164, 1165, 1166, 1167, 1168, 12, - 81, 48, 1284, 106, 50, 995, 18, 197, 196, 98, - 765, 106, 767, 106, 106, 7, 204, 205, 206, 207, - 12, 106, 846, 212, 12, 849, 102, 215, 215, 50, - 1260, 212, 218, 218, 858, 859, 860, 861, 862, 863, - 216, 165, 217, 56, 12, 22, 217, 63, 61, 63, - 217, 81, 983, 1192, 67, 83, 201, 1196, 185, 175, - 147, 88, 81, 201, 56, 201, 98, 216, 56, 61, - 218, 217, 216, 61, 139, 67, 99, 901, 21, 67, - 904, 1321, 97, 907, 218, 77, 218, 218, 56, 218, - 50, 83, 157, 61, 214, 218, 1266, 71, 217, 67, - 217, 1474, 213, 217, 1386, 217, 930, 901, 932, 933, - 934, 935, 936, 937, 218, 217, 196, 218, 123, 218, - 944, 945, 202, 203, 204, 205, 206, 207, 218, 953, - 954, 217, 201, 957, 1304, 215, 1376, 212, 217, 152, - 217, 56, 969, 1313, 1314, 1315, 1316, 1317, 1318, 1319, - 1320, 164, 1322, 217, 217, 217, 217, 981, 217, 217, - 152, 217, 217, 217, 152, 217, 217, 217, 1117, 217, - 150, 120, 164, 217, 1151, 217, 164, 217, 217, 1419, - 1420, 217, 217, 196, 152, 218, 217, 114, 120, 215, - 1329, 204, 205, 206, 207, 217, 164, 217, 953, 217, - 1339, 995, 215, 201, 196, 1445, 48, 218, 196, 201, - 202, 203, 204, 205, 206, 207, 204, 205, 206, 207, - 56, 218, 218, 215, 217, 215, 218, 215, 196, 218, - 217, 216, 1528, 201, 202, 203, 204, 205, 206, 207, - 218, 26, 218, 196, 53, 218, 1070, 215, 201, 202, - 203, 204, 205, 206, 207, 218, 218, 218, 206, 218, - 114, 106, 215, 53, 192, 218, 217, 217, 3, 186, - 217, 6, 217, 217, 79, 1099, 63, 1101, 1448, 14, - 48, 83, 9, 18, 19, 106, 21, 1111, 153, 194, - 25, 217, 1116, 52, 29, 30, 1120, 218, 218, 218, - 218, 214, 218, 217, 1128, 1099, 218, 217, 1132, 218, + 14, 907, 480, 566, 18, 19, 343, 21, 188, 26, + 901, 25, 151, 775, 776, 29, 30, 740, 363, 844, + 1129, 1174, 487, 5, 786, 1341, 1342, 457, 731, 9, + 14, 5, 50, 274, 8, 19, 48, 50, 114, 50, + 19, 25, 114, 22, 464, 286, 4, 168, 6, 114, + 36, 60, 50, 36, 114, 36, 41, 114, 1099, 106, + 81, 6, 5, 9, 79, 5, 188, 189, 82, 36, + 49, 801, 585, 586, 587, 588, 15, 555, 508, 70, + 197, 802, 599, 41, 601, 602, 207, 638, 639, 640, + 641, 642, 108, 114, 37, 37, 114, 214, 82, 39, + 267, 68, 37, 270, 655, 121, 97, 1423, 106, 124, + 89, 126, 37, 591, 99, 58, 58, 131, 197, 849, + 134, 135, 1424, 1425, 138, 139, 205, 141, 142, 850, + 310, 145, 111, 58, 194, 149, 150, 76, 12, 153, + 216, 155, 156, 157, 216, 98, 218, 131, 162, 163, + 51, 216, 50, 218, 201, 98, 98, 60, 142, 216, + 99, 218, 115, 36, 178, 149, 1468, 645, 409, 112, + 112, 132, 189, 1282, 19, 1469, 1470, 112, 7, 24, + 600, 168, 56, 197, 145, 86, 200, 112, 56, 134, + 135, 36, 206, 67, 178, 7, 141, 209, 216, 1493, + 79, 764, 195, 216, 188, 216, 79, 216, 153, 195, + 155, 169, 195, 197, 195, 197, 196, 1258, 163, 1044, + 213, 134, 206, 12, 204, 205, 206, 207, 195, 243, + 173, 173, 77, 995, 200, 215, 195, 251, 217, 101, + 257, 944, 945, 217, 89, 124, 9, 126, 93, 1565, + 196, 113, 19, 267, 213, 183, 270, 271, 204, 205, + 206, 207, 216, 728, 218, 1567, 111, 56, 1377, 215, + 51, 195, 195, 394, 395, 396, 57, 243, 67, 212, + 401, 461, 49, 1189, 217, 66, 803, 800, 19, 213, + 213, 1444, 413, 74, 311, 846, 809, 810, 811, 812, + 813, 814, 149, 55, 85, 36, 251, 858, 859, 860, + 861, 862, 863, 195, 95, 436, 197, 438, 70, 336, + 337, 338, 89, 129, 101, 339, 340, 133, 196, 110, + 1439, 194, 1441, 214, 851, 349, 204, 205, 206, 207, + 210, 355, 206, 207, 111, 97, 77, 215, 778, 363, + 367, 215, 167, 492, 368, 339, 340, 196, 89, 696, + 374, 375, 93, 202, 203, 349, 380, 196, 382, 77, + 707, 79, 386, 190, 191, 204, 205, 206, 207, 77, + 111, 79, 802, 149, 196, 815, 215, 206, 207, 1214, + 64, 375, 204, 205, 206, 207, 215, 817, 818, 37, + 745, 415, 194, 215, 749, 745, 179, 180, 828, 749, + 531, 172, 533, 534, 535, 536, 124, 178, 126, 90, + 58, 899, 195, 206, 207, 439, 124, 441, 126, 374, + 850, 81, 215, 196, 864, 380, 216, 382, 201, 202, + 203, 204, 205, 206, 207, 81, 866, 1251, 61, 463, + 1254, 465, 215, 35, 81, 37, 1179, 33, 212, 213, + 98, 196, 123, 1163, 1164, 1165, 1166, 1167, 1168, 204, + 205, 206, 207, 99, 112, 1366, 58, 461, 81, 55, + 215, 661, 216, 497, 218, 665, 488, 489, 490, 669, + 35, 921, 37, 673, 70, 71, 78, 677, 1015, 1016, + 1017, 681, 509, 123, 123, 685, 4, 61, 131, 689, + 1416, 9, 1418, 58, 210, 206, 98, 1003, 16, 1070, + 120, 97, 20, 1009, 217, 206, 207, 9, 120, 543, + 112, 217, 64, 78, 215, 1052, 1053, 1054, 552, 152, + 56, 206, 207, 9, 217, 559, 122, 216, 32, 218, + 215, 164, 497, 98, 216, 135, 218, 119, 138, 543, + 216, 77, 218, 216, 81, 579, 1266, 112, 148, 217, + 56, 585, 586, 587, 588, 197, 117, 199, 158, 159, + 217, 163, 531, 196, 533, 534, 535, 536, 216, 88, + 218, 204, 205, 206, 207, 775, 776, 177, 152, 759, + 760, 216, 215, 218, 1304, 216, 786, 218, 217, 217, + 164, 758, 1032, 1313, 1314, 1315, 1316, 1317, 1318, 1319, + 1320, 216, 1322, 218, 638, 639, 640, 641, 642, 217, + 751, 213, 216, 18, 218, 217, 217, 196, 759, 760, + 820, 655, 196, 217, 217, 204, 205, 206, 207, 217, + 204, 205, 206, 207, 661, 216, 215, 218, 665, 218, + 217, 215, 669, 784, 194, 195, 673, 197, 217, 199, + 677, 217, 120, 216, 681, 218, 213, 798, 685, 693, + 196, 695, 689, 217, 217, 201, 202, 203, 204, 205, + 206, 207, 706, 216, 708, 218, 713, 216, 9, 218, + 714, 213, 212, 717, 1190, 719, 720, 721, 722, 693, + 217, 695, 33, 727, 216, 1145, 218, 731, 732, 212, + 734, 842, 706, 120, 741, 739, 847, 848, 216, 187, + 218, 745, 9, 913, 55, 749, 216, 1499, 218, 216, + 98, 218, 759, 760, 758, 759, 760, 761, 1448, 70, + 71, 765, 157, 767, 768, 739, 171, 216, 772, 218, + 216, 81, 218, 12, 48, 779, 780, 106, 1198, 714, + 1248, 196, 50, 18, 197, 98, 97, 722, 106, 204, + 205, 206, 207, 104, 105, 1215, 800, 801, 106, 106, + 215, 775, 776, 106, 212, 809, 810, 811, 812, 813, + 814, 122, 786, 102, 215, 218, 218, 56, 216, 50, + 212, 217, 61, 165, 22, 995, 217, 63, 67, 196, + 765, 63, 767, 217, 201, 202, 203, 204, 205, 206, + 207, 81, 846, 201, 185, 849, 83, 88, 215, 175, + 1260, 218, 196, 81, 858, 859, 860, 861, 862, 863, + 204, 205, 206, 207, 147, 1192, 201, 12, 201, 1196, + 867, 215, 983, 98, 21, 218, 216, 874, 875, 216, + 877, 878, 99, 880, 881, 217, 883, 884, 218, 886, + 887, 218, 889, 890, 139, 892, 893, 901, 895, 896, + 904, 1321, 218, 907, 218, 97, 50, 71, 123, 218, + 201, 56, 157, 152, 218, 217, 61, 217, 217, 217, + 217, 1474, 67, 218, 218, 164, 930, 901, 932, 933, + 934, 935, 936, 937, 213, 217, 196, 214, 218, 217, + 944, 945, 202, 203, 204, 205, 206, 207, 217, 953, + 954, 217, 217, 957, 217, 215, 1376, 196, 101, 217, + 217, 217, 969, 202, 203, 204, 205, 206, 207, 217, + 113, 217, 56, 217, 217, 118, 215, 981, 150, 217, + 201, 120, 125, 217, 127, 218, 114, 130, 1117, 212, + 217, 217, 48, 217, 1151, 217, 139, 217, 217, 1419, + 1420, 217, 1329, 146, 217, 217, 149, 152, 217, 217, + 120, 215, 1339, 218, 56, 218, 218, 217, 953, 164, + 215, 995, 218, 166, 167, 1445, 217, 196, 218, 218, + 173, 174, 201, 202, 203, 204, 205, 206, 207, 218, + 218, 1038, 218, 218, 218, 1042, 215, 26, 216, 206, + 53, 196, 114, 1529, 106, 53, 201, 202, 203, 204, + 205, 206, 207, 217, 217, 192, 1070, 196, 217, 217, + 215, 196, 186, 79, 1071, 204, 205, 206, 207, 204, + 205, 206, 207, 217, 48, 63, 215, 83, 3, 9, + 215, 6, 153, 106, 194, 1099, 217, 1101, 52, 14, + 218, 218, 218, 18, 19, 218, 21, 1111, 214, 218, + 25, 218, 1116, 217, 29, 30, 1120, 218, 217, 62, + 218, 218, 218, 218, 1128, 1099, 218, 216, 1132, 14, 1134, 218, 218, 1137, 1138, 1139, 1140, 1141, 1142, 1143, - 1144, 218, 218, 1147, 218, 216, 218, 1151, 218, 218, - 1154, 218, 218, 218, 218, 12, 218, 218, 218, 1163, - 1164, 1165, 1166, 1167, 1168, 218, 218, 82, 218, 218, - 415, 218, 218, 62, 14, 1182, 1111, 1184, 54, 1183, - 140, 1116, 196, 36, 36, 1189, 193, 201, 202, 203, - 204, 205, 206, 207, 1305, 1306, 441, 215, 217, 56, - 217, 215, 201, 82, 61, 217, 217, 217, 142, 1183, - 67, 43, 218, 218, 218, 218, 131, 85, 218, 134, - 135, 218, 218, 138, 139, 218, 141, 142, 218, 216, - 145, 1550, 218, 62, 149, 150, 110, 216, 153, 195, - 155, 156, 157, 7, 217, 1374, 93, 162, 163, 218, - 162, 215, 69, 91, 1258, 64, 1263, 212, 216, 218, - 217, 5, 1266, 178, 218, 218, 218, 218, 84, 7, - 81, 218, 218, 98, 141, 14, 218, 217, 151, 217, - 1284, 194, 197, 218, 1258, 200, 217, 110, 218, 216, - 3, 206, 1490, 212, 214, 152, 210, 0, 0, 210, - 1304, 32, 219, 357, 963, 510, 338, 164, 738, 1313, - 1314, 1315, 1316, 1317, 1318, 1319, 1320, 147, 1322, 719, - 1518, 717, 732, 12, 960, 1155, 1384, 1482, 243, 1499, - 1504, 1454, 1486, 734, 1539, 28, 251, 971, 761, 196, - 585, 586, 587, 588, 1542, 202, 203, 204, 205, 206, - 207, 760, 267, 207, 345, 270, 271, 15, 215, 268, - 1492, 1418, 1366, 1521, 1417, 253, 159, 56, 969, 284, - 559, 31, 61, 772, 358, 1500, 1529, 460, 67, 1522, - 1422, 1530, 1386, 1252, 1388, 300, 1497, 1547, 77, 1042, - 300, 706, 1366, 638, 639, 640, 641, 642, 156, 1463, - 1101, -1, 465, 461, 101, -1, -1, 1414, -1, 1413, - 655, -1, 1416, -1, 1418, -1, 113, -1, 1422, -1, - -1, 118, -1, -1, 339, 340, -1, -1, 125, -1, - 127, -1, -1, 130, 349, -1, 1547, -1, -1, -1, - 355, -1, 139, -1, 1448, -1, -1, -1, 363, 146, - -1, 7, 149, 368, -1, -1, 12, -1, -1, 374, - 375, -1, -1, 152, -1, 380, -1, 382, -1, 166, - 167, 386, -1, -1, -1, 164, 173, 174, 1413, -1, - -1, 1488, 727, -1, -1, 400, -1, -1, -1, -1, - -1, -1, -1, 1497, -1, -1, -1, -1, -1, -1, - 56, -1, -1, -1, -1, 61, -1, 196, -1, -1, - -1, 67, 201, 202, 203, 204, 205, 206, 207, -1, - -1, 77, -1, -1, 439, 1499, 215, 83, -1, -1, - -1, -1, 1539, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 457, 1547, -1, 1549, -1, -1, 463, -1, + 1144, 218, 218, 1147, 218, 218, 218, 1151, 218, 218, + 1154, 218, 218, 218, 218, 12, 54, 140, 218, 1163, + 1164, 1165, 1166, 1167, 1168, 218, 36, 82, 218, 36, + 415, 193, 215, 217, 201, 1182, 1111, 1184, 217, 1183, + 217, 1116, 196, 217, 217, 1189, 142, 201, 202, 203, + 204, 205, 206, 207, 1305, 1306, 441, 43, 82, 56, + 218, 218, 218, 218, 61, 85, 218, 218, 218, 1183, + 67, 1208, 62, 218, 218, 1212, 131, 218, 110, 134, + 135, 216, 216, 138, 139, 1552, 141, 142, 195, 7, + 145, 217, 93, 218, 149, 150, 162, 69, 153, 215, + 155, 156, 157, 91, 64, 1374, 212, 162, 163, 218, + 218, 216, 5, 84, 1258, 217, 1263, 218, 218, 218, + 7, 218, 1266, 178, 81, 218, 141, 218, 98, 14, + 217, 194, 151, 217, 110, 217, 3, 218, 218, 216, + 1284, 212, 197, 210, 1258, 200, 214, 0, 218, 210, + 0, 206, 1490, 32, 219, 152, 510, 738, 357, 930, + 1304, 932, 933, 934, 935, 936, 937, 164, 338, 1313, + 1314, 1315, 1316, 1317, 1318, 1319, 1320, 717, 1322, 963, + 1518, 1519, 147, 732, 960, 719, 1384, 1155, 243, 1499, + 1482, 1504, 1454, 1486, 12, 734, 251, 1540, 971, 196, + 585, 586, 587, 588, 761, 1543, 760, 204, 205, 206, + 207, 28, 267, 33, 34, 270, 271, 345, 215, 15, + 40, 268, 1366, 207, 1418, 559, 1492, 47, 1522, 284, + 253, 1417, 159, 1519, 969, 55, 31, 358, 56, 59, + 460, 1530, 1386, 61, 1388, 300, 1497, 772, 1523, 67, + 70, 71, 1366, 638, 639, 640, 641, 642, 1500, 1531, + 80, 1422, 1252, 300, 1549, 1042, 461, 1414, 465, 1413, + 655, 1463, 1416, 706, 1418, 156, 1101, 97, 1422, -1, + -1, -1, 102, 103, 339, 340, -1, -1, -1, -1, + -1, -1, -1, -1, 349, -1, -1, -1, 1549, -1, + 355, -1, 122, -1, 1448, -1, -1, 127, 363, -1, + -1, -1, -1, 368, -1, -1, -1, -1, -1, 374, + 375, -1, -1, -1, -1, 380, -1, 382, -1, -1, + -1, 386, -1, -1, 152, -1, -1, -1, 1413, -1, + -1, 1488, 727, -1, -1, 400, 164, -1, -1, 1120, + -1, -1, -1, 1497, -1, -1, -1, 1128, -1, -1, + -1, 1132, -1, 1134, -1, -1, 1137, 1138, 1139, 1140, + 1141, 1142, 1143, 1144, 194, -1, 1147, -1, 196, -1, + -1, -1, -1, 1154, 439, 1499, 204, 205, 206, 207, + -1, -1, 12, 1540, -1, -1, -1, 215, -1, -1, + -1, -1, 457, -1, -1, 1549, -1, 1551, 463, -1, 465, -1, -1, -1, -1, 800, 801, -1, -1, -1, -1, -1, -1, -1, 809, 810, 811, 812, 813, 814, - -1, -1, -1, -1, -1, 3, -1, -1, -1, -1, - -1, -1, 497, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 508, -1, -1, 152, -1, -1, 27, - -1, 846, -1, -1, 849, 33, -1, -1, 164, -1, + -1, -1, -1, -1, -1, 3, 56, -1, -1, -1, + -1, 61, 497, -1, -1, -1, -1, 67, -1, -1, + -1, -1, -1, 508, -1, -1, -1, -1, -1, 27, + -1, 846, -1, -1, 849, 33, -1, -1, -1, -1, -1, -1, 40, 858, 859, 860, 861, 862, 863, -1, -1, -1, -1, -1, -1, -1, -1, 55, 543, -1, -1, -1, -1, -1, -1, 63, 64, 552, -1, -1, - 196, 69, 70, 71, 559, 201, 202, 203, 204, 205, - 206, 207, -1, -1, 82, -1, -1, -1, -1, 215, - 216, -1, 90, -1, 579, -1, -1, -1, -1, 97, - -1, -1, -1, -1, 102, -1, 104, 105, -1, -1, - -1, -1, -1, -1, -1, 930, -1, 932, 933, 934, + -1, 69, 70, 71, 559, -1, -1, -1, -1, -1, + -1, -1, -1, 1284, 82, -1, -1, -1, -1, -1, + -1, -1, 90, -1, 579, -1, -1, -1, -1, 97, + -1, -1, 152, -1, 102, -1, 104, 105, -1, -1, + -1, -1, -1, -1, 164, 930, -1, 932, 933, 934, 935, 936, 937, -1, 122, 123, -1, 125, -1, 127, -1, -1, -1, -1, -1, -1, -1, 135, -1, 954, - 138, 139, 140, -1, 142, -1, -1, -1, 146, -1, - 148, 149, -1, -1, -1, -1, -1, -1, -1, 157, - 158, 159, -1, 161, -1, -1, -1, -1, 166, -1, + 138, 139, 140, -1, 142, -1, 196, -1, 146, -1, + 148, 149, 202, 203, 204, 205, 206, 207, -1, 157, + 158, 159, -1, 161, -1, 215, -1, -1, 166, -1, 168, -1, -1, -1, 172, -1, -1, -1, -1, 177, - 178, -1, -1, -1, -1, -1, 184, 185, -1, 187, + 178, -1, -1, -1, -1, 1386, 184, 185, -1, 187, -1, -1, 339, -1, 192, -1, 194, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 693, -1, 695, -1, -1, -1, -1, -1, -1, -1, -1, 217, @@ -2949,38 +2945,38 @@ static const short yycheck[] = { 3, -1, -1, 1137, 1138, 1139, 1140, 1141, 1142, 1143, 1144, 815, -1, 1147, -1, -1, -1, -1, -1, -1, 1154, -1, -1, -1, -1, -1, -1, -1, 339, 1163, 1164, - 1165, 1166, 1167, 1168, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 1189, -1, -1, -1, 287, 864, - -1, -1, 867, -1, 12, -1, -1, -1, -1, -1, - -1, -1, -1, 302, -1, -1, 305, -1, 307, 308, - 309, 310, -1, 152, -1, -1, -1, -1, -1, -1, + 1165, 1166, 1167, 1168, -1, -1, -1, -1, -1, 101, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 111, + -1, 113, -1, -1, 1189, -1, 118, -1, 287, 864, + -1, -1, 867, 125, -1, 127, -1, -1, 130, -1, + -1, -1, -1, 302, -1, -1, 305, 139, 307, 308, + 309, 310, -1, 152, 146, -1, -1, 149, -1, -1, -1, -1, -1, -1, -1, 164, 901, -1, -1, 904, - -1, -1, 907, 415, 33, 34, -1, -1, 56, -1, - -1, 40, -1, 61, -1, -1, 921, -1, 47, 67, - -1, -1, -1, -1, -1, -1, 55, 196, -1, 441, - 59, 1266, 201, 202, 203, 204, 205, 206, 207, 944, - 945, 70, 71, 372, -1, -1, 215, -1, 953, 1284, - -1, 80, 957, -1, -1, -1, -1, -1, 7, -1, - -1, 390, -1, 12, -1, -1, -1, -1, 97, 1304, - -1, -1, -1, 102, 103, -1, 981, -1, 1313, 1314, + -1, -1, 907, 415, 166, -1, -1, -1, -1, -1, + -1, 173, 174, -1, -1, -1, 921, -1, -1, 181, + -1, -1, -1, -1, -1, -1, -1, 196, -1, 441, + -1, 1266, 201, 202, 203, 204, 205, 206, 207, 944, + 945, -1, -1, 372, -1, -1, 215, -1, 953, 1284, + -1, -1, 957, -1, -1, -1, -1, -1, 7, -1, + -1, 390, -1, 12, -1, -1, -1, -1, -1, 1304, + -1, -1, -1, -1, -1, -1, 981, -1, 1313, 1314, 1315, 1316, 1317, 1318, 1319, 1320, -1, 1322, -1, -1, - 419, -1, -1, 122, -1, -1, -1, -1, 127, -1, - -1, -1, -1, -1, 152, -1, -1, 56, -1, -1, - -1, 440, 61, -1, -1, 444, 164, 446, 67, -1, + 419, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 56, -1, -1, + -1, 440, 61, -1, -1, 444, -1, 446, 67, -1, 449, 450, 451, 452, 453, 454, 455, 456, 77, 458, -1, -1, -1, -1, 83, -1, -1, -1, -1, 706, - -1, -1, -1, -1, -1, -1, -1, -1, 196, -1, - -1, 1386, -1, -1, 202, 203, 204, 205, 206, 207, - 727, -1, -1, -1, -1, 194, 1071, 215, -1, 101, - -1, -1, -1, 585, 586, 587, 588, -1, -1, 111, - -1, 113, -1, -1, -1, -1, 118, -1, -1, -1, - -1, -1, -1, 125, 1099, 127, 1101, -1, 130, -1, - -1, -1, -1, 152, -1, -1, 1111, 139, -1, -1, - -1, 1116, -1, 1448, 146, 164, -1, 149, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 1386, -1, -1, -1, -1, -1, -1, -1, -1, + 727, -1, -1, -1, -1, -1, 1071, -1, -1, -1, + -1, -1, -1, 585, 586, 587, 588, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 1099, -1, 1101, -1, -1, -1, + -1, -1, -1, 152, -1, -1, 1111, -1, -1, -1, + -1, 1116, -1, 1448, -1, 164, -1, -1, -1, -1, -1, -1, -1, -1, 1129, -1, 638, 639, 640, 641, - 642, -1, -1, 12, 166, -1, -1, -1, -1, -1, - 1145, 173, 174, 655, -1, -1, 1151, 196, -1, 181, + 642, -1, -1, 12, -1, -1, -1, -1, -1, -1, + 1145, -1, -1, 655, -1, -1, 1151, 196, -1, -1, -1, -1, 201, 202, 203, 204, 205, 206, 207, -1, -1, -1, -1, -1, -1, -1, 215, -1, -1, 218, 599, -1, 601, 602, -1, -1, -1, 56, 1183, 608, @@ -2999,50 +2995,50 @@ static const short yycheck[] = { 3, 812, 813, 814, -1, -1, -1, -1, -1, -1, -1, 441, -1, -1, -1, -1, -1, 1321, 196, -1, -1, -1, -1, 201, 202, 203, 204, 205, 206, 207, -1, - -1, -1, -1, -1, 846, -1, 215, 849, -1, -1, + -1, -1, -1, 7, 846, -1, 215, 849, 12, -1, -1, -1, -1, -1, -1, -1, 858, 859, 860, 861, 862, 863, -1, -1, 1359, -1, -1, -1, -1, -1, 789, 1366, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 1376, 1377, -1, 803, 509, -1, 7, -1, 1384, - -1, -1, 12, 1388, -1, -1, -1, -1, -1, -1, - 819, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 1071, -1, -1, -1, 1413, -1, + -1, 1376, 1377, -1, 803, -1, -1, -1, -1, 1384, + -1, 7, 56, 1388, -1, -1, 12, 61, -1, -1, + 819, -1, -1, 67, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 77, 1071, -1, -1, -1, 1413, 83, -1, 1416, -1, 1418, 1419, 1420, -1, 1422, -1, -1, - -1, -1, 851, -1, -1, -1, 56, -1, -1, -1, - -1, 61, -1, -1, 1439, -1, 1441, 67, -1, -1, - 1445, -1, -1, -1, -1, -1, -1, 77, -1, -1, - -1, -1, -1, 1120, 585, 586, 587, 588, -1, -1, + -1, -1, 851, -1, -1, -1, -1, -1, -1, -1, + 56, -1, -1, -1, 1439, 61, 1441, -1, -1, -1, + 1445, 67, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 77, -1, 1120, 585, 586, 587, 588, -1, -1, -1, 1128, 1129, -1, -1, 1132, -1, 1134, -1, 898, - 1137, 1138, 1139, 1140, 1141, 1142, 1143, 1144, -1, -1, + 1137, 1138, 1139, 1140, 1141, 1142, 1143, 1144, 152, -1, 1147, -1, -1, -1, -1, -1, -1, 1154, -1, -1, - -1, -1, 1497, -1, -1, -1, 1163, 1164, 1165, 1166, + 164, -1, 1497, -1, -1, -1, 1163, 1164, 1165, 1166, 1167, 1168, -1, -1, -1, -1, -1, 638, 639, 640, 641, 642, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 152, -1, 655, -1, -1, 661, -1, -1, - -1, 665, -1, -1, 164, 669, -1, -1, -1, 673, - -1, -1, 1547, 677, 1549, -1, -1, 681, -1, -1, - -1, 685, -1, -1, -1, 689, -1, -1, 1070, 1226, - -1, -1, -1, -1, -1, -1, 196, -1, -1, -1, - -1, 201, 202, 203, 204, 205, 206, 207, -1, -1, - -1, -1, -1, -1, -1, 215, 1015, 1016, 1017, -1, + -1, -1, 196, -1, 655, -1, 152, 201, 202, 203, + 204, 205, 206, 207, -1, -1, -1, -1, 164, -1, + -1, 215, 216, -1, 1549, -1, 1551, -1, -1, -1, + -1, 7, -1, -1, -1, -1, 12, -1, 1070, 1226, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 196, -1, -1, -1, -1, 201, 202, 203, 204, 205, + 206, 207, -1, -1, -1, -1, 1015, 1016, 1017, 215, -1, -1, -1, -1, -1, -1, 727, -1, -1, 1266, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 1276, - -1, -1, -1, 1042, -1, 1282, -1, 1284, -1, -1, - -1, -1, -1, 1052, 1053, 1054, -1, -1, -1, -1, + 56, -1, -1, -1, -1, 61, -1, -1, -1, 1276, + -1, 67, -1, 1042, -1, 1282, -1, 1284, -1, -1, + -1, 77, -1, 1052, 1053, 1054, -1, 83, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1304, -1, -1, -1, -1, -1, -1, -1, -1, 1313, 1314, 1315, 1316, 1317, 1318, 1319, 1320, -1, 1322, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 800, 801, -1, -1, -1, -1, -1, -1, -1, 809, 810, 811, 812, 813, 814, -1, -1, -1, -1, -1, -1, - -1, -1, 1359, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 1359, -1, -1, -1, 152, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 164, -1, 1377, -1, -1, -1, -1, 846, -1, 1384, 849, 1386, -1, -1, -1, -1, -1, -1, -1, 858, 859, 860, - 861, 862, 863, 867, -1, -1, 867, -1, -1, -1, - 874, 875, -1, 877, 878, -1, 880, 881, -1, 883, - 884, -1, 886, 887, -1, 889, 890, -1, 892, 893, - -1, 895, 896, -1, -1, -1, -1, -1, -1, -1, + 861, 862, 863, -1, -1, -1, 867, -1, -1, -1, + 196, -1, -1, -1, -1, 201, 202, 203, 204, 205, + 206, 207, -1, -1, -1, -1, -1, -1, -1, 215, + -1, -1, 218, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1439, -1, 1441, -1, -1, -1, 3, -1, -1, 1448, -1, -1, -1, -1, -1, -1, -1, -1, -1, 16, 17, 18, -1, -1, -1, -1, -1, 930, @@ -3056,10 +3052,10 @@ static const short yycheck[] = { 3, -1, -1, 97, -1, -1, -1, -1, 102, 103, 104, 105, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 116, -1, -1, -1, -1, -1, 122, 123, 124, - 125, 126, 127, -1, 1038, -1, -1, -1, 1042, -1, + 125, 126, 127, -1, -1, -1, -1, -1, -1, -1, 135, -1, -1, 138, 139, 140, -1, 142, -1, -1, -1, 146, -1, 148, 149, -1, -1, -1, -1, -1, - -1, -1, 157, 158, 159, -1, -1, 1071, -1, 1070, + -1, -1, 157, 158, 159, -1, -1, -1, -1, 1070, 1071, 166, -1, 168, -1, -1, -1, 172, -1, -1, 175, -1, 177, 178, -1, -1, -1, -1, -1, 184, 185, -1, 187, -1, -1, -1, -1, 192, -1, 194, @@ -3067,35 +3063,35 @@ static const short yycheck[] = { 3, 205, -1, -1, 208, 209, 210, -1, -1, -1, 1120, -1, -1, 217, 218, -1, -1, -1, 1128, 1129, -1, -1, 1132, -1, 1134, -1, -1, 1137, 1138, 1139, 1140, - 1141, 1142, 1143, 1144, -1, 7, 1147, -1, -1, -1, - 12, -1, -1, 1154, -1, -1, -1, -1, -1, -1, + 1141, 1142, 1143, 1144, 7, -1, 1147, -1, -1, 12, + -1, -1, -1, 1154, -1, -1, -1, -1, -1, -1, -1, -1, 1163, 1164, 1165, 1166, 1167, 1168, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1477, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 56, -1, -1, 1496, -1, 61, - -1, -1, -1, -1, 1208, 67, -1, -1, 1212, -1, - -1, -1, -1, -1, -1, 77, -1, -1, -1, -1, - -1, 83, -1, -1, -1, 1226, -1, -1, -1, -1, - -1, 1530, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 56, -1, -1, -1, 1496, 61, -1, + -1, -1, -1, -1, 67, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 77, -1, -1, -1, -1, -1, + 83, -1, -1, -1, -1, 1226, -1, -1, -1, -1, + -1, -1, 1531, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 17, 18, -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, 1266, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 1276, -1, -1, -1, -1, - -1, 1282, -1, 1284, -1, -1, -1, -1, -1, -1, - 152, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 164, 1304, -1, -1, -1, -1, -1, -1, + -1, -1, 33, 34, -1, 1266, -1, -1, -1, 40, + -1, -1, -1, -1, -1, 1276, 47, -1, -1, -1, + -1, 1282, -1, 1284, 55, -1, -1, -1, 59, 152, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 70, + 71, 164, 73, 1304, 75, -1, -1, -1, -1, 80, -1, -1, 1313, 1314, 1315, 1316, 1317, 1318, 1319, 1320, - -1, 1322, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 196, -1, -1, -1, -1, 201, - 202, 203, 204, 205, 206, 207, -1, -1, -1, -1, - -1, -1, -1, 215, -1, -1, 218, -1, 1359, -1, + -1, 1322, -1, -1, -1, -1, 97, -1, -1, -1, + -1, 102, 103, 196, -1, -1, -1, -1, 201, 202, + 203, 204, 205, 206, 207, 116, -1, -1, -1, -1, + -1, 122, 215, -1, -1, 218, 127, -1, 1359, -1, -1, -1, -1, -1, -1, 3, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1377, -1, 16, 17, 18, -1, -1, 1384, -1, 1386, -1, -1, -1, 27, 28, 29, 30, 31, -1, 33, 34, -1, -1, -1, - -1, -1, 40, -1, -1, -1, 44, 45, -1, 47, + -1, -1, 40, -1, 175, -1, 44, 45, -1, 47, -1, -1, -1, -1, -1, -1, -1, 55, -1, -1, - -1, 59, -1, -1, -1, 63, 64, -1, -1, -1, + -1, 59, -1, 194, -1, 63, 64, -1, -1, -1, -1, 69, 70, 71, -1, 73, -1, 75, 1439, 77, 1441, 79, 80, -1, 82, -1, -1, 1448, -1, 87, -1, -1, 90, -1, -1, -1, -1, -1, -1, 97, @@ -3695,28 +3691,28 @@ static const short yycheck[] = { 3, -1, -1, -1, -1, 3, -1, 196, -1, -1, -1, -1, 201, 202, 203, 204, 205, 206, 207, -1, -1, -1, 196, -1, -1, -1, 215, 201, 202, 203, 204, - 205, 206, 207, -1, 33, -1, -1, -1, -1, -1, + 205, 206, 207, -1, 33, -1, -1, 12, -1, -1, 215, 40, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 55, -1, -1, -1, -1, -1, -1, -1, 63, 64, -1, -1, -1, -1, 69, 70, 71, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 82, -1, -1, -1, -1, -1, -1, - -1, 90, -1, -1, -1, -1, -1, -1, 97, -1, - -1, -1, -1, 102, -1, 104, 105, -1, -1, -1, + -1, 56, -1, 82, -1, -1, 61, -1, -1, -1, + -1, 90, 67, -1, -1, -1, -1, -1, 97, -1, + -1, -1, 77, 102, -1, 104, 105, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 122, 123, -1, 125, -1, 127, -1, -1, -1, -1, -1, -1, -1, 135, -1, -1, 138, 139, 140, -1, 142, -1, -1, -1, 146, -1, 148, 149, -1, -1, -1, -1, -1, -1, 3, 157, 158, 159, -1, -1, -1, -1, -1, -1, 166, -1, 168, - -1, -1, -1, 172, -1, -1, 175, -1, 177, 178, - -1, -1, -1, -1, -1, 184, 185, 33, 187, -1, + -1, -1, -1, 172, -1, -1, 175, 152, 177, 178, + -1, -1, -1, -1, -1, 184, 185, 33, 187, 164, 36, -1, -1, 192, 40, 194, 195, 196, 197, -1, 199, -1, 201, 202, 203, 204, 205, 206, 207, 55, -1, -1, -1, -1, -1, -1, 62, 63, 64, -1, - -1, -1, -1, 69, 70, 71, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 82, -1, -1, -1, - -1, -1, -1, -1, 90, 91, -1, -1, -1, -1, + -1, 196, -1, 69, 70, 71, 201, 202, 203, 204, + 205, 206, 207, -1, -1, -1, 82, -1, -1, -1, + 215, -1, -1, -1, 90, 91, -1, -1, -1, -1, -1, 97, -1, -1, -1, -1, 102, -1, 104, 105, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 122, 123, -1, 125, @@ -4000,25 +3996,19 @@ static const short yycheck[] = { 3, 55, 116, -1, -1, 59, -1, -1, 122, -1, 124, -1, 126, 127, -1, -1, 70, 71, -1, 73, -1, 75, -1, -1, -1, -1, 80, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 17, 18, -1, -1, - -1, -1, 97, -1, -1, -1, -1, 102, 103, -1, - -1, -1, 33, 34, -1, -1, -1, -1, -1, 40, - 175, 116, -1, -1, -1, -1, 47, 122, -1, 124, - -1, 126, 127, -1, 55, -1, -1, -1, 59, 194, - 195, -1, 197, 198, 199, -1, -1, -1, -1, 70, - 71, -1, 73, -1, 75, -1, -1, -1, -1, 80, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 97, -1, -1, 6, - 175, 102, 103, -1, 11, -1, -1, -1, -1, -1, - -1, -1, -1, 20, -1, 116, 23, -1, 25, 194, - 195, 122, 197, 198, 199, -1, 127, -1, 35, -1, + -1, -1, 97, -1, -1, -1, -1, 102, 103, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 6, + 175, 116, -1, -1, 11, -1, -1, 122, -1, 124, + -1, 126, 127, 20, -1, -1, 23, -1, 25, 194, + 195, -1, 197, 198, 199, -1, -1, -1, 35, -1, 37, -1, -1, -1, 41, 42, 43, -1, -1, 46, -1, -1, -1, -1, -1, 52, -1, -1, -1, -1, -1, 58, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 78, -1, -1, 175, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 94, -1, 96, - -1, 98, 99, 194, -1, -1, -1, -1, -1, -1, + 175, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 78, -1, -1, -1, -1, -1, -1, -1, 194, + 195, -1, 197, 198, 199, -1, -1, 94, -1, 96, + -1, 98, 99, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 112, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 128, -1, -1, -1, -1, -1, -1, -1, 136, @@ -4029,7 +4019,7 @@ static const short yycheck[] = { 3, -1, -1, -1, -1, -1, 182 }; /* -*-C-*- Note some compilers choke on comments on `#line' lines. */ -#line 3 "/usr/lib/bison.simple" +#line 3 "/usr/local/bison/bison.simple" /* Skeleton output parser for bison, Copyright (C) 1984, 1989, 1990 Free Software Foundation, Inc. @@ -4222,7 +4212,7 @@ __yy_memcpy (char *to, char *from, int count) #endif #endif -#line 196 "/usr/lib/bison.simple" +#line 196 "/usr/local/bison/bison.simple" /* The user can define YYPARSE_PARAM as the name of an argument to be passed into yyparse. The argument should have type void *. @@ -6391,27 +6381,31 @@ case 371: { yyval.list = yyvsp[-1].list; ; break;} case 372: -#line 1961 "gram.y" -{ yyval.list = yyvsp[0].list; ; +#line 1958 "gram.y" +{ yyval.list = yyvsp[-1].list; ; break;} case 373: -#line 1963 "gram.y" -{ yyval.list = lcons(yyvsp[0].node, NIL); ; +#line 1962 "gram.y" +{ yyval.list = yyvsp[0].list; ; break;} case 374: -#line 1967 "gram.y" -{ yyval.list = lappend(yyvsp[-2].list, yyvsp[-1].node); ; +#line 1964 "gram.y" +{ yyval.list = lcons(yyvsp[0].node, NIL); ; break;} case 375: -#line 1969 "gram.y" -{ yyval.list = lappend(yyvsp[-1].list, yyvsp[0].node); ; +#line 1968 "gram.y" +{ yyval.list = lappend(yyvsp[-2].list, yyvsp[-1].node); ; break;} case 376: -#line 1971 "gram.y" -{ yyval.list = lcons(yyvsp[-1].node, NIL); ; +#line 1970 "gram.y" +{ yyval.list = lappend(yyvsp[-1].list, yyvsp[0].node); ; break;} case 377: -#line 1975 "gram.y" +#line 1972 "gram.y" +{ yyval.list = lcons(yyvsp[-1].node, NIL); ; + break;} +case 378: +#line 1976 "gram.y" { yyval.attr = makeNode(Attr); yyval.attr->relname = yyvsp[-2].str; @@ -6420,8 +6414,8 @@ case 377: yyval.attr->indirection = NIL; ; break;} -case 378: -#line 1983 "gram.y" +case 379: +#line 1984 "gram.y" { yyval.attr = makeNode(Attr); yyval.attr->relname = yyvsp[0].str; @@ -6430,72 +6424,64 @@ case 378: yyval.attr->indirection = NIL; ; break;} -case 379: -#line 1993 "gram.y" -{ yyval.ival = CMD_SELECT; ; - break;} case 380: #line 1994 "gram.y" -{ yyval.ival = CMD_UPDATE; ; +{ yyval.ival = CMD_SELECT; ; break;} case 381: #line 1995 "gram.y" -{ yyval.ival = CMD_DELETE; ; +{ yyval.ival = CMD_UPDATE; ; break;} case 382: #line 1996 "gram.y" -{ yyval.ival = CMD_INSERT; ; +{ yyval.ival = CMD_DELETE; ; break;} case 383: -#line 1999 "gram.y" -{ yyval.boolean = TRUE; ; +#line 1997 "gram.y" +{ yyval.ival = CMD_INSERT; ; break;} case 384: #line 2000 "gram.y" -{ yyval.boolean = FALSE; ; +{ yyval.boolean = TRUE; ; break;} case 385: -#line 2013 "gram.y" +#line 2001 "gram.y" +{ yyval.boolean = FALSE; ; + break;} +case 386: +#line 2014 "gram.y" { NotifyStmt *n = makeNode(NotifyStmt); n->relname = yyvsp[0].str; yyval.node = (Node *)n; ; break;} -case 386: -#line 2021 "gram.y" +case 387: +#line 2022 "gram.y" { ListenStmt *n = makeNode(ListenStmt); n->relname = yyvsp[0].str; yyval.node = (Node *)n; ; break;} -case 387: -#line 2043 "gram.y" +case 388: +#line 2044 "gram.y" { TransactionStmt *n = makeNode(TransactionStmt); n->command = ABORT_TRANS; yyval.node = (Node *)n; ; break;} -case 388: -#line 2049 "gram.y" +case 389: +#line 2050 "gram.y" { TransactionStmt *n = makeNode(TransactionStmt); n->command = BEGIN_TRANS; yyval.node = (Node *)n; ; break;} -case 389: -#line 2055 "gram.y" -{ - TransactionStmt *n = makeNode(TransactionStmt); - n->command = END_TRANS; - yyval.node = (Node *)n; - ; - break;} case 390: -#line 2061 "gram.y" +#line 2056 "gram.y" { TransactionStmt *n = makeNode(TransactionStmt); n->command = END_TRANS; @@ -6503,17 +6489,21 @@ case 390: ; break;} case 391: -#line 2067 "gram.y" +#line 2062 "gram.y" +{ + TransactionStmt *n = makeNode(TransactionStmt); + n->command = END_TRANS; + yyval.node = (Node *)n; + ; + break;} +case 392: +#line 2068 "gram.y" { TransactionStmt *n = makeNode(TransactionStmt); n->command = ABORT_TRANS; yyval.node = (Node *)n; ; break;} -case 392: -#line 2074 "gram.y" -{ yyval.boolean = TRUE; ; - break;} case 393: #line 2075 "gram.y" { yyval.boolean = TRUE; ; @@ -6523,7 +6513,11 @@ case 394: { yyval.boolean = TRUE; ; break;} case 395: -#line 2088 "gram.y" +#line 2077 "gram.y" +{ yyval.boolean = TRUE; ; + break;} +case 396: +#line 2089 "gram.y" { ViewStmt *n = makeNode(ViewStmt); n->viewname = yyvsp[-2].str; @@ -6535,16 +6529,16 @@ case 395: yyval.node = (Node *)n; ; break;} -case 396: -#line 2109 "gram.y" +case 397: +#line 2110 "gram.y" { LoadStmt *n = makeNode(LoadStmt); n->filename = yyvsp[0].str; yyval.node = (Node *)n; ; break;} -case 397: -#line 2125 "gram.y" +case 398: +#line 2126 "gram.y" { CreatedbStmt *n = makeNode(CreatedbStmt); if (yyvsp[-1].str == NULL && yyvsp[0].str == NULL) { @@ -6568,8 +6562,8 @@ case 397: yyval.node = (Node *)n; ; break;} -case 398: -#line 2148 "gram.y" +case 399: +#line 2149 "gram.y" { CreatedbStmt *n = makeNode(CreatedbStmt); n->dbname = yyvsp[0].str; @@ -6580,56 +6574,56 @@ case 398: yyval.node = (Node *)n; ; break;} -case 399: -#line 2159 "gram.y" -{ yyval.str = yyvsp[0].str; ; - break;} case 400: #line 2160 "gram.y" -{ yyval.str = NULL; ; +{ yyval.str = yyvsp[0].str; ; break;} case 401: -#line 2163 "gram.y" -{ yyval.str = yyvsp[0].str; ; +#line 2161 "gram.y" +{ yyval.str = NULL; ; break;} case 402: #line 2164 "gram.y" -{ yyval.str = NULL; ; +{ yyval.str = yyvsp[0].str; ; break;} case 403: -#line 2167 "gram.y" -{ yyval.str = yyvsp[0].str; ; +#line 2165 "gram.y" +{ yyval.str = NULL; ; break;} case 404: #line 2168 "gram.y" -{ yyval.str = NULL; ; +{ yyval.str = yyvsp[0].str; ; break;} case 405: #line 2169 "gram.y" { yyval.str = NULL; ; break;} case 406: -#line 2172 "gram.y" -{ yyval.str = yyvsp[0].str; ; +#line 2170 "gram.y" +{ yyval.str = NULL; ; break;} case 407: #line 2173 "gram.y" -{ yyval.str = NULL; ; +{ yyval.str = yyvsp[0].str; ; break;} case 408: #line 2174 "gram.y" { yyval.str = NULL; ; break;} case 409: -#line 2185 "gram.y" +#line 2175 "gram.y" +{ yyval.str = NULL; ; + break;} +case 410: +#line 2186 "gram.y" { DestroydbStmt *n = makeNode(DestroydbStmt); n->dbname = yyvsp[0].str; yyval.node = (Node *)n; ; break;} -case 410: -#line 2201 "gram.y" +case 411: +#line 2202 "gram.y" { ClusterStmt *n = makeNode(ClusterStmt); n->relname = yyvsp[0].str; @@ -6637,8 +6631,8 @@ case 410: yyval.node = (Node*)n; ; break;} -case 411: -#line 2218 "gram.y" +case 412: +#line 2219 "gram.y" { VacuumStmt *n = makeNode(VacuumStmt); n->verbose = yyvsp[-1].boolean; @@ -6648,8 +6642,8 @@ case 411: yyval.node = (Node *)n; ; break;} -case 412: -#line 2227 "gram.y" +case 413: +#line 2228 "gram.y" { VacuumStmt *n = makeNode(VacuumStmt); n->verbose = yyvsp[-3].boolean; @@ -6661,40 +6655,40 @@ case 412: yyval.node = (Node *)n; ; break;} -case 413: -#line 2239 "gram.y" -{ yyval.boolean = TRUE; ; - break;} case 414: #line 2240 "gram.y" -{ yyval.boolean = FALSE; ; +{ yyval.boolean = TRUE; ; break;} case 415: -#line 2243 "gram.y" -{ yyval.boolean = TRUE; ; +#line 2241 "gram.y" +{ yyval.boolean = FALSE; ; break;} case 416: #line 2244 "gram.y" -{ yyval.boolean = FALSE; ; +{ yyval.boolean = TRUE; ; break;} case 417: -#line 2247 "gram.y" -{ yyval.list = yyvsp[-1].list; ; +#line 2245 "gram.y" +{ yyval.boolean = FALSE; ; break;} case 418: #line 2248 "gram.y" -{ yyval.list = NIL; ; +{ yyval.list = yyvsp[-1].list; ; break;} case 419: -#line 2252 "gram.y" -{ yyval.list=lcons(yyvsp[0].str,NIL); ; +#line 2249 "gram.y" +{ yyval.list = NIL; ; break;} case 420: -#line 2254 "gram.y" -{ yyval.list=lappend(yyvsp[-2].list,yyvsp[0].str); ; +#line 2253 "gram.y" +{ yyval.list=lcons(yyvsp[0].str,NIL); ; break;} case 421: -#line 2266 "gram.y" +#line 2255 "gram.y" +{ yyval.list=lappend(yyvsp[-2].list,yyvsp[0].str); ; + break;} +case 422: +#line 2267 "gram.y" { ExplainStmt *n = makeNode(ExplainStmt); n->verbose = yyvsp[-1].boolean; @@ -6702,16 +6696,16 @@ case 421: yyval.node = (Node *)n; ; break;} -case 428: -#line 2303 "gram.y" +case 429: +#line 2304 "gram.y" { yyvsp[0].astmt->relname = yyvsp[-2].str; yyvsp[0].astmt->cols = yyvsp[-1].list; yyval.node = (Node *)yyvsp[0].astmt; ; break;} -case 429: -#line 2311 "gram.y" +case 430: +#line 2312 "gram.y" { yyval.astmt = makeNode(InsertStmt); yyval.astmt->unique = NULL; @@ -6723,8 +6717,8 @@ case 429: yyval.astmt->unionClause = NIL; ; break;} -case 430: -#line 2325 "gram.y" +case 431: +#line 2326 "gram.y" { yyval.astmt = makeNode(InsertStmt); yyval.astmt->unique = yyvsp[-6].str; @@ -6736,24 +6730,24 @@ case 430: yyval.astmt->unionClause = yyvsp[0].list; ; break;} -case 431: -#line 2337 "gram.y" -{ yyval.list = yyvsp[-1].list; ; - break;} case 432: #line 2338 "gram.y" -{ yyval.list = NIL; ; +{ yyval.list = yyvsp[-1].list; ; break;} case 433: -#line 2343 "gram.y" -{ yyval.list = lappend(yyvsp[-2].list, yyvsp[0].node); ; +#line 2339 "gram.y" +{ yyval.list = NIL; ; break;} case 434: -#line 2345 "gram.y" -{ yyval.list = lcons(yyvsp[0].node, NIL); ; +#line 2344 "gram.y" +{ yyval.list = lappend(yyvsp[-2].list, yyvsp[0].node); ; break;} case 435: -#line 2349 "gram.y" +#line 2346 "gram.y" +{ yyval.list = lcons(yyvsp[0].node, NIL); ; + break;} +case 436: +#line 2350 "gram.y" { Ident *id = makeNode(Ident); id->name = yyvsp[-1].str; @@ -6761,8 +6755,8 @@ case 435: yyval.node = (Node *)id; ; break;} -case 436: -#line 2367 "gram.y" +case 437: +#line 2368 "gram.y" { DeleteStmt *n = makeNode(DeleteStmt); n->relname = yyvsp[-1].str; @@ -6770,8 +6764,8 @@ case 436: yyval.node = (Node *)n; ; break;} -case 437: -#line 2381 "gram.y" +case 438: +#line 2382 "gram.y" { DeleteStmt *n = makeNode(DeleteStmt); A_Const *c = makeNode(A_Const); @@ -6787,8 +6781,8 @@ case 437: yyval.node = (Node *)n; ; break;} -case 438: -#line 2409 "gram.y" +case 439: +#line 2410 "gram.y" { UpdateStmt *n = makeNode(UpdateStmt); n->relname = yyvsp[-4].str; @@ -6798,8 +6792,8 @@ case 438: yyval.node = (Node *)n; ; break;} -case 439: -#line 2431 "gram.y" +case 440: +#line 2432 "gram.y" { SelectStmt *n = makeNode(SelectStmt); @@ -6827,8 +6821,8 @@ case 439: yyval.node = (Node *)n; ; break;} -case 440: -#line 2471 "gram.y" +case 441: +#line 2472 "gram.y" { SelectStmt *n = makeNode(SelectStmt); n->unique = yyvsp[-8].str; @@ -6843,8 +6837,8 @@ case 440: yyval.node = (Node *)n; ; break;} -case 441: -#line 2490 "gram.y" +case 442: +#line 2491 "gram.y" { SelectStmt *n = makeNode(SelectStmt); n->unique = yyvsp[-6].str; @@ -6857,32 +6851,32 @@ case 441: yyval.node = (Node *)n; ; break;} -case 442: -#line 2504 "gram.y" +case 443: +#line 2505 "gram.y" { SelectStmt *n = (SelectStmt *)lfirst(yyvsp[0].list); n->unionall = yyvsp[-1].boolean; yyval.list = yyvsp[0].list; ; break;} -case 443: -#line 2510 "gram.y" +case 444: +#line 2511 "gram.y" { yyval.list = NIL; ; break;} -case 444: -#line 2514 "gram.y" +case 445: +#line 2515 "gram.y" { SelectStmt *n = (SelectStmt *)yyvsp[0].node; n->unionall = yyvsp[-1].boolean; yyval.list = lappend(yyvsp[-3].list, yyvsp[0].node); ; break;} -case 445: -#line 2520 "gram.y" +case 446: +#line 2521 "gram.y" { yyval.list = lcons(yyvsp[0].node, NIL); ; break;} -case 446: -#line 2526 "gram.y" +case 447: +#line 2527 "gram.y" { SelectStmt *n = makeNode(SelectStmt); n->unique = yyvsp[-5].str; @@ -6895,222 +6889,218 @@ case 446: yyval.node = (Node *)n; ; break;} -case 447: -#line 2539 "gram.y" -{ yyval.str= yyvsp[0].str; ; - break;} case 448: #line 2540 "gram.y" -{ yyval.str = NULL; ; +{ yyval.str= yyvsp[0].str; ; break;} case 449: -#line 2543 "gram.y" -{ yyval.boolean = TRUE; ; +#line 2541 "gram.y" +{ yyval.str = NULL; ; break;} case 450: #line 2544 "gram.y" -{ yyval.boolean = FALSE; ; +{ yyval.boolean = TRUE; ; break;} case 451: -#line 2547 "gram.y" -{ yyval.boolean = TRUE; ; +#line 2545 "gram.y" +{ yyval.boolean = FALSE; ; break;} case 452: #line 2548 "gram.y" -{ yyval.boolean = FALSE; ; +{ yyval.boolean = TRUE; ; break;} case 453: -#line 2551 "gram.y" -{ yyval.str = "*"; ; +#line 2549 "gram.y" +{ yyval.boolean = FALSE; ; break;} case 454: #line 2552 "gram.y" -{ yyval.str = yyvsp[0].str; ; +{ yyval.str = "*"; ; break;} case 455: #line 2553 "gram.y" -{ yyval.str = NULL; ; +{ yyval.str = yyvsp[0].str; ; break;} case 456: #line 2554 "gram.y" { yyval.str = NULL; ; break;} case 457: -#line 2557 "gram.y" -{ yyval.list = yyvsp[0].list; ; +#line 2555 "gram.y" +{ yyval.str = NULL; ; break;} case 458: #line 2558 "gram.y" -{ yyval.list = NIL; ; +{ yyval.list = yyvsp[0].list; ; break;} case 459: -#line 2561 "gram.y" -{ yyval.list = lcons(yyvsp[0].sortgroupby, NIL); ; +#line 2559 "gram.y" +{ yyval.list = NIL; ; break;} case 460: #line 2562 "gram.y" -{ yyval.list = lappend(yyvsp[-2].list, yyvsp[0].sortgroupby); ; +{ yyval.list = lcons(yyvsp[0].sortgroupby, NIL); ; break;} case 461: -#line 2566 "gram.y" +#line 2563 "gram.y" +{ yyval.list = lappend(yyvsp[-2].list, yyvsp[0].sortgroupby); ; + break;} +case 462: +#line 2567 "gram.y" { yyval.sortgroupby = makeNode(SortGroupBy); yyval.sortgroupby->node = yyvsp[-1].node; yyval.sortgroupby->useOp = yyvsp[0].str; ; break;} -case 462: -#line 2573 "gram.y" -{ yyval.str = yyvsp[0].str; ; - break;} case 463: #line 2574 "gram.y" -{ yyval.str = "<"; ; +{ yyval.str = yyvsp[0].str; ; break;} case 464: #line 2575 "gram.y" -{ yyval.str = ">"; ; +{ yyval.str = "<"; ; break;} case 465: #line 2576 "gram.y" -{ yyval.str = "<"; ; +{ yyval.str = ">"; ; break;} case 466: #line 2577 "gram.y" -{ yyval.str = ">"; ; +{ yyval.str = "<"; ; break;} case 467: #line 2578 "gram.y" -{ yyval.str = "<"; /*default*/ ; +{ yyval.str = ">"; ; break;} case 468: -#line 2588 "gram.y" -{ yyval.boolean = TRUE; ; +#line 2579 "gram.y" +{ yyval.str = "<"; /*default*/ ; break;} case 469: #line 2589 "gram.y" +{ yyval.boolean = TRUE; ; + break;} +case 470: +#line 2590 "gram.y" { yyval.boolean = FALSE; ; break;} -case 471: -#line 2595 "gram.y" +case 472: +#line 2596 "gram.y" { yyval.list = lcons(makeString(yyvsp[0].str),NIL); ; break;} -case 472: -#line 2597 "gram.y" -{ yyval.list = lappend(yyvsp[-2].list,makeString(yyvsp[0].str)); ; - break;} case 473: -#line 2600 "gram.y" -{ yyval.list = yyvsp[0].list; ; +#line 2598 "gram.y" +{ yyval.list = lappend(yyvsp[-2].list,makeString(yyvsp[0].str)); ; break;} case 474: #line 2601 "gram.y" -{ yyval.list = NIL; ; +{ yyval.list = yyvsp[0].list; ; break;} case 475: -#line 2605 "gram.y" +#line 2602 "gram.y" +{ yyval.list = NIL; ; + break;} +case 476: +#line 2606 "gram.y" { yyval.node = yyvsp[0].node; ; break;} -case 476: -#line 2608 "gram.y" +case 477: +#line 2609 "gram.y" { yyval.node = NULL; ; break;} -case 477: -#line 2621 "gram.y" +case 478: +#line 2622 "gram.y" { yyval.list = NIL; elog(ERROR,"JOIN not yet implemented"); ; break;} -case 478: -#line 2625 "gram.y" -{ yyval.list = yyvsp[0].list; ; - break;} case 479: #line 2626 "gram.y" -{ yyval.list = NIL; ; +{ yyval.list = yyvsp[0].list; ; break;} case 480: -#line 2630 "gram.y" -{ yyval.list = lappend(yyvsp[-2].list, yyvsp[0].range); ; +#line 2627 "gram.y" +{ yyval.list = NIL; ; break;} case 481: -#line 2632 "gram.y" -{ elog(ERROR,"CROSS JOIN not yet implemented"); ; +#line 2631 "gram.y" +{ yyval.list = lappend(yyvsp[-2].list, yyvsp[0].range); ; break;} case 482: -#line 2634 "gram.y" -{ yyval.list = lcons(yyvsp[0].range, NIL); ; +#line 2633 "gram.y" +{ elog(ERROR,"CROSS JOIN not yet implemented"); ; break;} case 483: -#line 2638 "gram.y" +#line 2635 "gram.y" +{ yyval.list = lcons(yyvsp[0].range, NIL); ; + break;} +case 484: +#line 2639 "gram.y" { yyval.range = makeNode(RangeVar); yyval.range->relExpr = yyvsp[-2].relexp; yyval.range->name = yyvsp[0].str; ; break;} -case 484: -#line 2644 "gram.y" +case 485: +#line 2645 "gram.y" { yyval.range = makeNode(RangeVar); yyval.range->relExpr = yyvsp[-1].relexp; yyval.range->name = yyvsp[0].str; ; break;} -case 485: -#line 2650 "gram.y" +case 486: +#line 2651 "gram.y" { yyval.range = makeNode(RangeVar); yyval.range->relExpr = yyvsp[0].relexp; yyval.range->name = NULL; ; break;} -case 486: -#line 2657 "gram.y" -{ yyval.str = NULL; ; - break;} case 487: -#line 2659 "gram.y" -{ elog(ERROR,"FULL OUTER JOIN not yet implemented"); ; +#line 2658 "gram.y" +{ yyval.str = NULL; ; break;} case 488: -#line 2661 "gram.y" -{ elog(ERROR,"LEFT OUTER JOIN not yet implemented"); ; +#line 2660 "gram.y" +{ elog(ERROR,"FULL OUTER JOIN not yet implemented"); ; break;} case 489: -#line 2663 "gram.y" -{ elog(ERROR,"RIGHT OUTER JOIN not yet implemented"); ; +#line 2662 "gram.y" +{ elog(ERROR,"LEFT OUTER JOIN not yet implemented"); ; break;} case 490: -#line 2665 "gram.y" -{ elog(ERROR,"OUTER JOIN not yet implemented"); ; +#line 2664 "gram.y" +{ elog(ERROR,"RIGHT OUTER JOIN not yet implemented"); ; break;} case 491: -#line 2667 "gram.y" -{ elog(ERROR,"INNER JOIN not yet implemented"); ; +#line 2666 "gram.y" +{ elog(ERROR,"OUTER JOIN not yet implemented"); ; break;} case 492: -#line 2669 "gram.y" -{ elog(ERROR,"UNION JOIN not yet implemented"); ; - break;} -case 493: -#line 2671 "gram.y" +#line 2668 "gram.y" { elog(ERROR,"INNER JOIN not yet implemented"); ; break;} +case 493: +#line 2670 "gram.y" +{ elog(ERROR,"UNION JOIN not yet implemented"); ; + break;} case 494: -#line 2674 "gram.y" -{ yyval.str = NULL; ; +#line 2672 "gram.y" +{ elog(ERROR,"INNER JOIN not yet implemented"); ; break;} case 495: #line 2675 "gram.y" -{ yyval.str = NULL; /* no qualifiers */ ; +{ yyval.str = NULL; ; break;} case 496: -#line 2678 "gram.y" -{ yyval.str = NULL; ; +#line 2676 "gram.y" +{ yyval.str = NULL; /* no qualifiers */ ; break;} case 497: #line 2679 "gram.y" @@ -7118,18 +7108,22 @@ case 497: break;} case 498: #line 2680 "gram.y" -{ yyval.str = NULL; /* no qualifiers */ ; +{ yyval.str = NULL; ; break;} case 499: -#line 2683 "gram.y" -{ yyval.list = lcons(yyvsp[0].joinusing, NIL); ; +#line 2681 "gram.y" +{ yyval.str = NULL; /* no qualifiers */ ; break;} case 500: #line 2684 "gram.y" -{ yyval.list = lappend(yyvsp[-2].list, yyvsp[0].joinusing); ; +{ yyval.list = lcons(yyvsp[0].joinusing, NIL); ; break;} case 501: -#line 2696 "gram.y" +#line 2685 "gram.y" +{ yyval.list = lappend(yyvsp[-2].list, yyvsp[0].joinusing); ; + break;} +case 502: +#line 2697 "gram.y" { yyval.joinusing = makeNode(JoinUsing); yyval.joinusing->resno = 0; @@ -7137,8 +7131,8 @@ case 501: yyval.joinusing->name = yyvsp[0].str; ; break;} -case 502: -#line 2703 "gram.y" +case 503: +#line 2704 "gram.y" { yyval.joinusing = makeNode(JoinUsing); yyval.joinusing->resno = 0; @@ -7146,8 +7140,8 @@ case 502: yyval.joinusing->name = yyvsp[0].str; ; break;} -case 503: -#line 2710 "gram.y" +case 504: +#line 2711 "gram.y" { yyval.joinusing = makeNode(JoinUsing); yyval.joinusing->resno = yyvsp[0].ival; @@ -7155,16 +7149,16 @@ case 503: yyval.joinusing->name = NULL; ; break;} -case 504: -#line 2718 "gram.y" -{ yyval.node = yyvsp[0].node; ; - break;} case 505: #line 2719 "gram.y" -{ yyval.node = NULL; /* no qualifiers */ ; +{ yyval.node = yyvsp[0].node; ; break;} case 506: -#line 2723 "gram.y" +#line 2720 "gram.y" +{ yyval.node = NULL; /* no qualifiers */ ; + break;} +case 507: +#line 2724 "gram.y" { /* normal relations */ yyval.relexp = makeNode(RelExpr); @@ -7172,8 +7166,8 @@ case 506: yyval.relexp->inh = FALSE; ; break;} -case 507: -#line 2730 "gram.y" +case 508: +#line 2731 "gram.y" { /* inheritance query */ yyval.relexp = makeNode(RelExpr); @@ -7181,32 +7175,32 @@ case 507: yyval.relexp->inh = TRUE; ; break;} -case 508: -#line 2738 "gram.y" -{ yyval.list = lcons(makeInteger(-1), yyvsp[0].list); ; - break;} case 509: -#line 2740 "gram.y" -{ yyval.list = lcons(makeInteger(yyvsp[-2].ival), yyvsp[0].list); ; +#line 2739 "gram.y" +{ yyval.list = lcons(makeInteger(-1), yyvsp[0].list); ; break;} case 510: -#line 2742 "gram.y" -{ yyval.list = NIL; ; - break;} -case 511: -#line 2746 "gram.y" -{ yyval.list = lcons(makeInteger(-1), yyvsp[0].list); ; - break;} -case 512: -#line 2748 "gram.y" +#line 2741 "gram.y" { yyval.list = lcons(makeInteger(yyvsp[-2].ival), yyvsp[0].list); ; break;} -case 513: -#line 2750 "gram.y" +case 511: +#line 2743 "gram.y" { yyval.list = NIL; ; break;} +case 512: +#line 2747 "gram.y" +{ yyval.list = lcons(makeInteger(-1), yyvsp[0].list); ; + break;} +case 513: +#line 2749 "gram.y" +{ yyval.list = lcons(makeInteger(yyvsp[-2].ival), yyvsp[0].list); ; + break;} case 514: -#line 2765 "gram.y" +#line 2751 "gram.y" +{ yyval.list = NIL; ; + break;} +case 515: +#line 2766 "gram.y" { yyval.typnam = yyvsp[-1].typnam; yyval.typnam->arrayBounds = yyvsp[0].list; @@ -7229,54 +7223,46 @@ case 514: yyval.typnam->setof = FALSE; ; break;} -case 516: -#line 2788 "gram.y" +case 517: +#line 2789 "gram.y" { yyval.typnam = yyvsp[0].typnam; yyval.typnam->setof = TRUE; ; break;} -case 520: -#line 2800 "gram.y" +case 521: +#line 2801 "gram.y" { yyval.typnam = makeNode(TypeName); yyval.typnam->name = xlateSqlType(yyvsp[0].str); yyval.typnam->typmod = -1; ; break;} -case 521: -#line 2807 "gram.y" -{ yyval.str = yyvsp[0].str; ; - break;} case 522: #line 2808 "gram.y" -{ yyval.str = xlateSqlType("type"); ; +{ yyval.str = yyvsp[0].str; ; break;} case 523: -#line 2818 "gram.y" +#line 2809 "gram.y" +{ yyval.str = xlateSqlType("type"); ; + break;} +case 524: +#line 2819 "gram.y" { yyval.typnam = makeNode(TypeName); yyval.typnam->name = xlateSqlType(yyvsp[0].str); yyval.typnam->typmod = -1; ; break;} -case 524: -#line 2824 "gram.y" +case 525: +#line 2825 "gram.y" { yyval.typnam = makeNode(TypeName); yyval.typnam->name = xlateSqlType("float"); ; break;} -case 525: -#line 2829 "gram.y" -{ - yyval.typnam = makeNode(TypeName); - yyval.typnam->name = xlateSqlType("integer"); - yyval.typnam->typmod = -1; - ; - break;} case 526: -#line 2835 "gram.y" +#line 2830 "gram.y" { yyval.typnam = makeNode(TypeName); yyval.typnam->name = xlateSqlType("integer"); @@ -7284,23 +7270,31 @@ case 526: ; break;} case 527: -#line 2843 "gram.y" -{ yyval.str = xlateSqlType("float8"); ; +#line 2836 "gram.y" +{ + yyval.typnam = makeNode(TypeName); + yyval.typnam->name = xlateSqlType("integer"); + yyval.typnam->typmod = -1; + ; break;} case 528: -#line 2845 "gram.y" +#line 2844 "gram.y" { yyval.str = xlateSqlType("float8"); ; break;} case 529: -#line 2847 "gram.y" -{ yyval.str = xlateSqlType("decimal"); ; +#line 2846 "gram.y" +{ yyval.str = xlateSqlType("float8"); ; break;} case 530: -#line 2849 "gram.y" -{ yyval.str = xlateSqlType("numeric"); ; +#line 2848 "gram.y" +{ yyval.str = xlateSqlType("decimal"); ; break;} case 531: -#line 2853 "gram.y" +#line 2850 "gram.y" +{ yyval.str = xlateSqlType("numeric"); ; + break;} +case 532: +#line 2854 "gram.y" { if (yyvsp[-1].ival < 1) elog(ERROR,"precision for FLOAT must be at least 1"); @@ -7312,14 +7306,14 @@ case 531: elog(ERROR,"precision for FLOAT must be less than 16"); ; break;} -case 532: -#line 2864 "gram.y" +case 533: +#line 2865 "gram.y" { yyval.str = xlateSqlType("float8"); ; break;} -case 533: -#line 2870 "gram.y" +case 534: +#line 2871 "gram.y" { if (yyvsp[-3].ival != 9) elog(ERROR,"NUMERIC precision %d must be 9",yyvsp[-3].ival); @@ -7327,21 +7321,21 @@ case 533: elog(ERROR,"NUMERIC scale %d must be zero",yyvsp[-1].ival); ; break;} -case 534: -#line 2877 "gram.y" +case 535: +#line 2878 "gram.y" { if (yyvsp[-1].ival != 9) elog(ERROR,"NUMERIC precision %d must be 9",yyvsp[-1].ival); ; break;} -case 535: -#line 2882 "gram.y" +case 536: +#line 2883 "gram.y" { yyval.str = NULL; ; break;} -case 536: -#line 2888 "gram.y" +case 537: +#line 2889 "gram.y" { if (yyvsp[-3].ival > 9) elog(ERROR,"DECIMAL precision %d exceeds implementation limit of 9",yyvsp[-3].ival); @@ -7350,22 +7344,22 @@ case 536: yyval.str = NULL; ; break;} -case 537: -#line 2896 "gram.y" +case 538: +#line 2897 "gram.y" { if (yyvsp[-1].ival > 9) elog(ERROR,"DECIMAL precision %d exceeds implementation limit of 9",yyvsp[-1].ival); yyval.str = NULL; ; break;} -case 538: -#line 2902 "gram.y" +case 539: +#line 2903 "gram.y" { yyval.str = NULL; ; break;} -case 539: -#line 2915 "gram.y" +case 540: +#line 2916 "gram.y" { yyval.typnam = makeNode(TypeName); if (strcasecmp(yyvsp[-3].str, "char") == 0) @@ -7393,8 +7387,8 @@ case 539: yyval.typnam->typmod = VARHDRSZ + yyvsp[-1].ival; ; break;} -case 540: -#line 2942 "gram.y" +case 541: +#line 2943 "gram.y" { yyval.typnam = makeNode(TypeName); /* Let's try to make all single-character types into bpchar(1) @@ -7412,8 +7406,8 @@ case 540: } ; break;} -case 541: -#line 2961 "gram.y" +case 542: +#line 2962 "gram.y" { char *type, *c; if ((yyvsp[-1].str == NULL) || (strcasecmp(yyvsp[-1].str, "sql_text") == 0)) { @@ -7434,56 +7428,56 @@ case 541: yyval.str = type; ; break;} -case 542: -#line 2980 "gram.y" -{ yyval.str = xlateSqlType(yyvsp[0].boolean? "varchar": "char"); ; - break;} case 543: #line 2981 "gram.y" -{ yyval.str = xlateSqlType("varchar"); ; +{ yyval.str = xlateSqlType(yyvsp[0].boolean? "varchar": "char"); ; break;} case 544: #line 2982 "gram.y" -{ yyval.str = xlateSqlType(yyvsp[0].boolean? "varchar": "char"); ; +{ yyval.str = xlateSqlType("varchar"); ; break;} case 545: #line 2983 "gram.y" { yyval.str = xlateSqlType(yyvsp[0].boolean? "varchar": "char"); ; break;} case 546: -#line 2986 "gram.y" -{ yyval.boolean = TRUE; ; +#line 2984 "gram.y" +{ yyval.str = xlateSqlType(yyvsp[0].boolean? "varchar": "char"); ; break;} case 547: #line 2987 "gram.y" -{ yyval.boolean = FALSE; ; +{ yyval.boolean = TRUE; ; break;} case 548: -#line 2990 "gram.y" -{ yyval.str = yyvsp[0].str; ; +#line 2988 "gram.y" +{ yyval.boolean = FALSE; ; break;} case 549: #line 2991 "gram.y" -{ yyval.str = NULL; ; +{ yyval.str = yyvsp[0].str; ; break;} case 550: -#line 2994 "gram.y" -{ yyval.str = yyvsp[0].str; ; +#line 2992 "gram.y" +{ yyval.str = NULL; ; break;} case 551: #line 2995 "gram.y" -{ yyval.str = NULL; ; +{ yyval.str = yyvsp[0].str; ; break;} case 552: -#line 2999 "gram.y" +#line 2996 "gram.y" +{ yyval.str = NULL; ; + break;} +case 553: +#line 3000 "gram.y" { yyval.typnam = makeNode(TypeName); yyval.typnam->name = xlateSqlType(yyvsp[0].str); yyval.typnam->typmod = -1; ; break;} -case 553: -#line 3005 "gram.y" +case 554: +#line 3006 "gram.y" { yyval.typnam = makeNode(TypeName); yyval.typnam->name = xlateSqlType("timestamp"); @@ -7491,61 +7485,57 @@ case 553: yyval.typnam->typmod = -1; ; break;} -case 554: -#line 3012 "gram.y" +case 555: +#line 3013 "gram.y" { yyval.typnam = makeNode(TypeName); yyval.typnam->name = xlateSqlType("time"); yyval.typnam->typmod = -1; ; break;} -case 555: -#line 3018 "gram.y" +case 556: +#line 3019 "gram.y" { yyval.typnam = makeNode(TypeName); yyval.typnam->name = xlateSqlType("interval"); yyval.typnam->typmod = -1; ; break;} -case 556: -#line 3025 "gram.y" -{ yyval.str = "year"; ; - break;} case 557: #line 3026 "gram.y" -{ yyval.str = "month"; ; +{ yyval.str = "year"; ; break;} case 558: #line 3027 "gram.y" -{ yyval.str = "day"; ; +{ yyval.str = "month"; ; break;} case 559: #line 3028 "gram.y" -{ yyval.str = "hour"; ; +{ yyval.str = "day"; ; break;} case 560: #line 3029 "gram.y" -{ yyval.str = "minute"; ; +{ yyval.str = "hour"; ; break;} case 561: #line 3030 "gram.y" -{ yyval.str = "second"; ; +{ yyval.str = "minute"; ; break;} case 562: -#line 3033 "gram.y" -{ yyval.boolean = TRUE; ; +#line 3031 "gram.y" +{ yyval.str = "second"; ; break;} case 563: #line 3034 "gram.y" -{ yyval.boolean = FALSE; ; +{ yyval.boolean = TRUE; ; break;} case 564: -#line 3037 "gram.y" -{ yyval.list = lcons(yyvsp[0].str, NIL); ; +#line 3035 "gram.y" +{ yyval.boolean = FALSE; ; break;} case 565: #line 3038 "gram.y" -{ yyval.list = NIL; ; +{ yyval.list = lcons(yyvsp[0].str, NIL); ; break;} case 566: #line 3039 "gram.y" @@ -7576,19 +7566,23 @@ case 572: { yyval.list = NIL; ; break;} case 573: -#line 3056 "gram.y" -{ yyval.node = yyvsp[0].node; ; +#line 3046 "gram.y" +{ yyval.list = NIL; ; break;} case 574: -#line 3058 "gram.y" +#line 3057 "gram.y" +{ yyval.node = yyvsp[0].node; ; + break;} +case 575: +#line 3059 "gram.y" { A_Const *n = makeNode(A_Const); n->val.type = T_Null; yyval.node = (Node *)n; ; break;} -case 575: -#line 3075 "gram.y" +case 576: +#line 3076 "gram.y" { SubLink *n = makeNode(SubLink); n->lefthand = yyvsp[-5].list; @@ -7599,8 +7593,8 @@ case 575: yyval.node = (Node *)n; ; break;} -case 576: -#line 3085 "gram.y" +case 577: +#line 3086 "gram.y" { SubLink *n = makeNode(SubLink); n->lefthand = yyvsp[-6].list; @@ -7611,8 +7605,8 @@ case 576: yyval.node = (Node *)n; ; break;} -case 577: -#line 3095 "gram.y" +case 578: +#line 3096 "gram.y" { SubLink *n = makeNode(SubLink); n->lefthand = yyvsp[-6].list; @@ -7626,8 +7620,8 @@ case 577: yyval.node = (Node *)n; ; break;} -case 578: -#line 3108 "gram.y" +case 579: +#line 3109 "gram.y" { SubLink *n = makeNode(SubLink); n->lefthand = yyvsp[-5].list; @@ -7641,87 +7635,87 @@ case 578: yyval.node = (Node *)n; ; break;} -case 579: -#line 3121 "gram.y" +case 580: +#line 3122 "gram.y" { yyval.node = makeRowExpr(yyvsp[-3].str, yyvsp[-5].list, yyvsp[-1].list); ; break;} -case 580: -#line 3127 "gram.y" -{ - yyval.list = lappend(yyvsp[-2].list, yyvsp[0].node); - ; - break;} case 581: -#line 3133 "gram.y" +#line 3128 "gram.y" { yyval.list = lappend(yyvsp[-2].list, yyvsp[0].node); ; break;} case 582: -#line 3137 "gram.y" +#line 3134 "gram.y" +{ + yyval.list = lappend(yyvsp[-2].list, yyvsp[0].node); + ; + break;} +case 583: +#line 3138 "gram.y" { yyval.list = lcons(yyvsp[0].node, NIL); ; break;} -case 583: -#line 3142 "gram.y" -{ yyval.str = yyvsp[0].str; ; - break;} case 584: #line 3143 "gram.y" -{ yyval.str = "<"; ; +{ yyval.str = yyvsp[0].str; ; break;} case 585: #line 3144 "gram.y" -{ yyval.str = "="; ; +{ yyval.str = "<"; ; break;} case 586: #line 3145 "gram.y" -{ yyval.str = ">"; ; +{ yyval.str = "="; ; break;} case 587: #line 3146 "gram.y" -{ yyval.str = "+"; ; +{ yyval.str = ">"; ; break;} case 588: #line 3147 "gram.y" -{ yyval.str = "-"; ; +{ yyval.str = "+"; ; break;} case 589: #line 3148 "gram.y" -{ yyval.str = "*"; ; +{ yyval.str = "-"; ; break;} case 590: #line 3149 "gram.y" -{ yyval.str = "/"; ; +{ yyval.str = "*"; ; break;} case 591: -#line 3152 "gram.y" -{ yyval.ival = ANY_SUBLINK; ; +#line 3150 "gram.y" +{ yyval.str = "/"; ; break;} case 592: #line 3153 "gram.y" -{ yyval.ival = ALL_SUBLINK; ; +{ yyval.ival = ANY_SUBLINK; ; break;} case 593: -#line 3165 "gram.y" +#line 3154 "gram.y" +{ yyval.ival = ALL_SUBLINK; ; + break;} +case 594: +#line 3166 "gram.y" { yyvsp[-1].attr->indirection = yyvsp[0].list; yyval.node = (Node *)yyvsp[-1].attr; ; break;} -case 594: -#line 3170 "gram.y" -{ yyval.node = yyvsp[0].node; ; - break;} case 595: -#line 3172 "gram.y" +#line 3171 "gram.y" { yyval.node = yyvsp[0].node; ; break;} case 596: -#line 3174 "gram.y" +#line 3173 "gram.y" +{ yyval.node = yyvsp[0].node; ; + break;} +case 597: +#line 3175 "gram.y" { /* could be a column name or a relation_name */ Ident *n = makeNode(Ident); @@ -7730,52 +7724,52 @@ case 596: yyval.node = (Node *)n; ; break;} -case 597: -#line 3182 "gram.y" +case 598: +#line 3183 "gram.y" { yyval.node = makeA_Expr(OP, "-", NULL, yyvsp[0].node); ; break;} -case 598: -#line 3184 "gram.y" +case 599: +#line 3185 "gram.y" { yyval.node = makeA_Expr(OP, "+", yyvsp[-2].node, yyvsp[0].node); ; break;} -case 599: -#line 3186 "gram.y" +case 600: +#line 3187 "gram.y" { yyval.node = makeA_Expr(OP, "-", yyvsp[-2].node, yyvsp[0].node); ; break;} -case 600: -#line 3188 "gram.y" +case 601: +#line 3189 "gram.y" { yyval.node = makeA_Expr(OP, "/", yyvsp[-2].node, yyvsp[0].node); ; break;} -case 601: -#line 3190 "gram.y" +case 602: +#line 3191 "gram.y" { yyval.node = makeA_Expr(OP, "*", yyvsp[-2].node, yyvsp[0].node); ; break;} -case 602: -#line 3192 "gram.y" +case 603: +#line 3193 "gram.y" { yyval.node = makeA_Expr(OP, "<", yyvsp[-2].node, yyvsp[0].node); ; break;} -case 603: -#line 3194 "gram.y" +case 604: +#line 3195 "gram.y" { yyval.node = makeA_Expr(OP, ">", yyvsp[-2].node, yyvsp[0].node); ; break;} -case 604: -#line 3196 "gram.y" +case 605: +#line 3197 "gram.y" { yyval.node = makeA_Expr(OP, "=", yyvsp[-2].node, yyvsp[0].node); ; break;} -case 605: -#line 3198 "gram.y" +case 606: +#line 3199 "gram.y" { yyval.node = makeA_Expr(OP, ":", NULL, yyvsp[0].node); ; break;} -case 606: -#line 3200 "gram.y" +case 607: +#line 3201 "gram.y" { yyval.node = makeA_Expr(OP, ";", NULL, yyvsp[0].node); ; break;} -case 607: -#line 3202 "gram.y" +case 608: +#line 3203 "gram.y" { yyval.node = makeA_Expr(OP, "|", NULL, yyvsp[0].node); ; break;} -case 608: -#line 3204 "gram.y" +case 609: +#line 3205 "gram.y" { yyval.node = (Node *)yyvsp[-2].node; /* AexprConst can be either A_Const or ParamNo */ @@ -7792,8 +7786,8 @@ case 608: } ; break;} -case 609: -#line 3220 "gram.y" +case 610: +#line 3221 "gram.y" { yyval.node = (Node *)yyvsp[-3].node; /* AexprConst can be either A_Const or ParamNo */ @@ -7810,32 +7804,32 @@ case 609: } ; break;} -case 610: -#line 3236 "gram.y" +case 611: +#line 3237 "gram.y" { yyval.node = yyvsp[-1].node; ; break;} -case 611: -#line 3238 "gram.y" +case 612: +#line 3239 "gram.y" { yyval.node = makeIndexable(yyvsp[-1].str,yyvsp[-2].node,yyvsp[0].node); ; break;} -case 612: -#line 3240 "gram.y" +case 613: +#line 3241 "gram.y" { yyval.node = makeIndexable("~~", yyvsp[-2].node, yyvsp[0].node); ; break;} -case 613: -#line 3242 "gram.y" +case 614: +#line 3243 "gram.y" { yyval.node = makeA_Expr(OP, "!~~", yyvsp[-3].node, yyvsp[0].node); ; break;} -case 614: -#line 3244 "gram.y" +case 615: +#line 3245 "gram.y" { yyval.node = makeA_Expr(OP, yyvsp[-1].str, NULL, yyvsp[0].node); ; break;} -case 615: -#line 3246 "gram.y" +case 616: +#line 3247 "gram.y" { yyval.node = makeA_Expr(OP, yyvsp[0].str, yyvsp[-1].node, NULL); ; break;} -case 616: -#line 3248 "gram.y" +case 617: +#line 3249 "gram.y" { /* cheap hack for aggregate (eg. count) */ FuncCall *n = makeNode(FuncCall); @@ -7848,8 +7842,8 @@ case 616: yyval.node = (Node *)n; ; break;} -case 617: -#line 3260 "gram.y" +case 618: +#line 3261 "gram.y" { FuncCall *n = makeNode(FuncCall); n->funcname = yyvsp[-2].str; @@ -7857,8 +7851,8 @@ case 617: yyval.node = (Node *)n; ; break;} -case 618: -#line 3267 "gram.y" +case 619: +#line 3268 "gram.y" { FuncCall *n = makeNode(FuncCall); n->funcname = yyvsp[-3].str; @@ -7866,8 +7860,8 @@ case 618: yyval.node = (Node *)n; ; break;} -case 619: -#line 3274 "gram.y" +case 620: +#line 3275 "gram.y" { A_Const *n = makeNode(A_Const); TypeName *t = makeNode(TypeName); @@ -7883,8 +7877,8 @@ case 619: yyval.node = (Node *)n; ; break;} -case 620: -#line 3289 "gram.y" +case 621: +#line 3290 "gram.y" { A_Const *n = makeNode(A_Const); TypeName *t = makeNode(TypeName); @@ -7900,8 +7894,8 @@ case 620: yyval.node = (Node *)n; ; break;} -case 621: -#line 3304 "gram.y" +case 622: +#line 3305 "gram.y" { FuncCall *n = makeNode(FuncCall); A_Const *s = makeNode(A_Const); @@ -7924,8 +7918,8 @@ case 621: yyval.node = (Node *)n; ; break;} -case 622: -#line 3326 "gram.y" +case 623: +#line 3327 "gram.y" { A_Const *n = makeNode(A_Const); TypeName *t = makeNode(TypeName); @@ -7941,8 +7935,8 @@ case 622: yyval.node = (Node *)n; ; break;} -case 623: -#line 3341 "gram.y" +case 624: +#line 3342 "gram.y" { FuncCall *n = makeNode(FuncCall); A_Const *s = makeNode(A_Const); @@ -7965,17 +7959,8 @@ case 623: yyval.node = (Node *)n; ; break;} -case 624: -#line 3363 "gram.y" -{ - FuncCall *n = makeNode(FuncCall); - n->funcname = "getpgusername"; - n->args = NIL; - yyval.node = (Node *)n; - ; - break;} case 625: -#line 3370 "gram.y" +#line 3364 "gram.y" { FuncCall *n = makeNode(FuncCall); n->funcname = "getpgusername"; @@ -7984,7 +7969,16 @@ case 625: ; break;} case 626: -#line 3377 "gram.y" +#line 3371 "gram.y" +{ + FuncCall *n = makeNode(FuncCall); + n->funcname = "getpgusername"; + n->args = NIL; + yyval.node = (Node *)n; + ; + break;} +case 627: +#line 3378 "gram.y" { SubLink *n = makeNode(SubLink); n->lefthand = NIL; @@ -7995,8 +7989,8 @@ case 626: yyval.node = (Node *)n; ; break;} -case 627: -#line 3387 "gram.y" +case 628: +#line 3388 "gram.y" { FuncCall *n = makeNode(FuncCall); n->funcname = "date_part"; @@ -8004,8 +7998,8 @@ case 627: yyval.node = (Node *)n; ; break;} -case 628: -#line 3394 "gram.y" +case 629: +#line 3395 "gram.y" { FuncCall *n = makeNode(FuncCall); n->funcname = "strpos"; @@ -8013,8 +8007,8 @@ case 628: yyval.node = (Node *)n; ; break;} -case 629: -#line 3401 "gram.y" +case 630: +#line 3402 "gram.y" { FuncCall *n = makeNode(FuncCall); n->funcname = "substr"; @@ -8022,8 +8016,8 @@ case 629: yyval.node = (Node *)n; ; break;} -case 630: -#line 3409 "gram.y" +case 631: +#line 3410 "gram.y" { FuncCall *n = makeNode(FuncCall); n->funcname = "btrim"; @@ -8031,8 +8025,8 @@ case 630: yyval.node = (Node *)n; ; break;} -case 631: -#line 3416 "gram.y" +case 632: +#line 3417 "gram.y" { FuncCall *n = makeNode(FuncCall); n->funcname = "ltrim"; @@ -8040,8 +8034,8 @@ case 631: yyval.node = (Node *)n; ; break;} -case 632: -#line 3423 "gram.y" +case 633: +#line 3424 "gram.y" { FuncCall *n = makeNode(FuncCall); n->funcname = "rtrim"; @@ -8049,8 +8043,8 @@ case 632: yyval.node = (Node *)n; ; break;} -case 633: -#line 3430 "gram.y" +case 634: +#line 3431 "gram.y" { FuncCall *n = makeNode(FuncCall); n->funcname = "btrim"; @@ -8058,24 +8052,24 @@ case 633: yyval.node = (Node *)n; ; break;} -case 634: -#line 3437 "gram.y" +case 635: +#line 3438 "gram.y" { yyval.node = makeA_Expr(ISNULL, NULL, yyvsp[-1].node, NULL); ; break;} -case 635: -#line 3439 "gram.y" +case 636: +#line 3440 "gram.y" { yyval.node = makeA_Expr(ISNULL, NULL, yyvsp[-2].node, NULL); ; break;} -case 636: -#line 3441 "gram.y" +case 637: +#line 3442 "gram.y" { yyval.node = makeA_Expr(NOTNULL, NULL, yyvsp[-1].node, NULL); ; break;} -case 637: -#line 3443 "gram.y" +case 638: +#line 3444 "gram.y" { yyval.node = makeA_Expr(NOTNULL, NULL, yyvsp[-3].node, NULL); ; break;} -case 638: -#line 3450 "gram.y" +case 639: +#line 3451 "gram.y" { A_Const *n = makeNode(A_Const); n->val.type = T_String; @@ -8086,20 +8080,20 @@ case 638: yyval.node = makeA_Expr(OP, "=", yyvsp[-2].node,(Node *)n); ; break;} -case 639: -#line 3460 "gram.y" -{ - A_Const *n = makeNode(A_Const); - n->val.type = T_String; - n->val.val.str = "t"; - n->typename = makeNode(TypeName); - n->typename->name = xlateSqlType("bool"); - n->typename->typmod = -1; - yyval.node = makeA_Expr(OP, "=", yyvsp[-3].node,(Node *)n); - ; - break;} case 640: -#line 3470 "gram.y" +#line 3461 "gram.y" +{ + A_Const *n = makeNode(A_Const); + n->val.type = T_String; + n->val.val.str = "t"; + n->typename = makeNode(TypeName); + n->typename->name = xlateSqlType("bool"); + n->typename->typmod = -1; + yyval.node = makeA_Expr(OP, "=", yyvsp[-3].node,(Node *)n); + ; + break;} +case 641: +#line 3471 "gram.y" { A_Const *n = makeNode(A_Const); n->val.type = T_String; @@ -8110,8 +8104,8 @@ case 640: yyval.node = makeA_Expr(OP, "=", yyvsp[-2].node,(Node *)n); ; break;} -case 641: -#line 3480 "gram.y" +case 642: +#line 3481 "gram.y" { A_Const *n = makeNode(A_Const); n->val.type = T_String; @@ -8122,28 +8116,28 @@ case 641: yyval.node = makeA_Expr(OP, "=", yyvsp[-3].node,(Node *)n); ; break;} -case 642: -#line 3490 "gram.y" +case 643: +#line 3491 "gram.y" { yyval.node = makeA_Expr(AND, NULL, makeA_Expr(OP, ">=", yyvsp[-4].node, yyvsp[-2].node), makeA_Expr(OP, "<=", yyvsp[-4].node, yyvsp[0].node)); ; break;} -case 643: -#line 3496 "gram.y" +case 644: +#line 3497 "gram.y" { yyval.node = makeA_Expr(OR, NULL, makeA_Expr(OP, "<", yyvsp[-5].node, yyvsp[-2].node), makeA_Expr(OP, ">", yyvsp[-5].node, yyvsp[0].node)); ; break;} -case 644: -#line 3501 "gram.y" -{ saved_In_Expr = lcons(yyvsp[-1].node,saved_In_Expr); ; - break;} case 645: #line 3502 "gram.y" +{ saved_In_Expr = lcons(yyvsp[-1].node,saved_In_Expr); ; + break;} +case 646: +#line 3503 "gram.y" { saved_In_Expr = lnext(saved_In_Expr); if (nodeTag(yyvsp[-1].node) == T_SubLink) @@ -8158,12 +8152,12 @@ case 645: else yyval.node = yyvsp[-1].node; ; break;} -case 646: -#line 3515 "gram.y" -{ saved_In_Expr = lcons(yyvsp[-2].node,saved_In_Expr); ; - break;} case 647: #line 3516 "gram.y" +{ saved_In_Expr = lcons(yyvsp[-2].node,saved_In_Expr); ; + break;} +case 648: +#line 3517 "gram.y" { saved_In_Expr = lnext(saved_In_Expr); if (nodeTag(yyvsp[-1].node) == T_SubLink) @@ -8178,8 +8172,8 @@ case 647: else yyval.node = yyvsp[-1].node; ; break;} -case 648: -#line 3530 "gram.y" +case 649: +#line 3531 "gram.y" { SubLink *n = makeNode(SubLink); n->lefthand = lcons(yyvsp[-4].node, NULL); @@ -8190,8 +8184,8 @@ case 648: yyval.node = (Node *)n; ; break;} -case 649: -#line 3540 "gram.y" +case 650: +#line 3541 "gram.y" { SubLink *n = makeNode(SubLink); n->lefthand = lcons(yyvsp[-4].node, NULL); @@ -8202,24 +8196,12 @@ case 649: yyval.node = (Node *)n; ; break;} -case 650: -#line 3550 "gram.y" -{ - SubLink *n = makeNode(SubLink); - n->lefthand = lcons(yyvsp[-4].node, NULL); - n->oper = lcons("-",NIL); - n->useor = false; - n->subLinkType = EXPR_SUBLINK; - n->subselect = yyvsp[-1].node; - yyval.node = (Node *)n; - ; - break;} case 651: -#line 3560 "gram.y" +#line 3551 "gram.y" { SubLink *n = makeNode(SubLink); n->lefthand = lcons(yyvsp[-4].node, NULL); - n->oper = lcons("/",NIL); + n->oper = lcons("-",NIL); n->useor = false; n->subLinkType = EXPR_SUBLINK; n->subselect = yyvsp[-1].node; @@ -8227,11 +8209,11 @@ case 651: ; break;} case 652: -#line 3570 "gram.y" +#line 3561 "gram.y" { SubLink *n = makeNode(SubLink); n->lefthand = lcons(yyvsp[-4].node, NULL); - n->oper = lcons("*",NIL); + n->oper = lcons("/",NIL); n->useor = false; n->subLinkType = EXPR_SUBLINK; n->subselect = yyvsp[-1].node; @@ -8239,11 +8221,11 @@ case 652: ; break;} case 653: -#line 3580 "gram.y" +#line 3571 "gram.y" { SubLink *n = makeNode(SubLink); n->lefthand = lcons(yyvsp[-4].node, NULL); - n->oper = lcons("<",NIL); + n->oper = lcons("*",NIL); n->useor = false; n->subLinkType = EXPR_SUBLINK; n->subselect = yyvsp[-1].node; @@ -8251,11 +8233,11 @@ case 653: ; break;} case 654: -#line 3590 "gram.y" +#line 3581 "gram.y" { SubLink *n = makeNode(SubLink); n->lefthand = lcons(yyvsp[-4].node, NULL); - n->oper = lcons(">",NIL); + n->oper = lcons("<",NIL); n->useor = false; n->subLinkType = EXPR_SUBLINK; n->subselect = yyvsp[-1].node; @@ -8263,7 +8245,19 @@ case 654: ; break;} case 655: -#line 3600 "gram.y" +#line 3591 "gram.y" +{ + SubLink *n = makeNode(SubLink); + n->lefthand = lcons(yyvsp[-4].node, NULL); + n->oper = lcons(">",NIL); + n->useor = false; + n->subLinkType = EXPR_SUBLINK; + n->subselect = yyvsp[-1].node; + yyval.node = (Node *)n; + ; + break;} +case 656: +#line 3601 "gram.y" { SubLink *n = makeNode(SubLink); n->lefthand = lcons(yyvsp[-4].node, NULL); @@ -8274,8 +8268,8 @@ case 655: yyval.node = (Node *)n; ; break;} -case 656: -#line 3610 "gram.y" +case 657: +#line 3611 "gram.y" { SubLink *n = makeNode(SubLink); n->lefthand = lcons(yyvsp[-5].node,NIL); @@ -8286,20 +8280,20 @@ case 656: yyval.node = (Node *)n; ; break;} -case 657: -#line 3620 "gram.y" -{ - SubLink *n = makeNode(SubLink); - n->lefthand = lcons(yyvsp[-5].node,NIL); - n->oper = lcons("+",NIL); - n->useor = false; - n->subLinkType = ANY_SUBLINK; - n->subselect = yyvsp[-1].node; - yyval.node = (Node *)n; - ; - break;} case 658: -#line 3630 "gram.y" +#line 3621 "gram.y" +{ + SubLink *n = makeNode(SubLink); + n->lefthand = lcons(yyvsp[-5].node,NIL); + n->oper = lcons("+",NIL); + n->useor = false; + n->subLinkType = ANY_SUBLINK; + n->subselect = yyvsp[-1].node; + yyval.node = (Node *)n; + ; + break;} +case 659: +#line 3631 "gram.y" { SubLink *n = makeNode(SubLink); n->lefthand = lcons(yyvsp[-5].node,NIL); @@ -8310,8 +8304,8 @@ case 658: yyval.node = (Node *)n; ; break;} -case 659: -#line 3640 "gram.y" +case 660: +#line 3641 "gram.y" { SubLink *n = makeNode(SubLink); n->lefthand = lcons(yyvsp[-5].node,NIL); @@ -8322,8 +8316,8 @@ case 659: yyval.node = (Node *)n; ; break;} -case 660: -#line 3650 "gram.y" +case 661: +#line 3651 "gram.y" { SubLink *n = makeNode(SubLink); n->lefthand = lcons(yyvsp[-5].node,NIL); @@ -8334,8 +8328,8 @@ case 660: yyval.node = (Node *)n; ; break;} -case 661: -#line 3660 "gram.y" +case 662: +#line 3661 "gram.y" { SubLink *n = makeNode(SubLink); n->lefthand = lcons(yyvsp[-5].node,NIL); @@ -8346,8 +8340,8 @@ case 661: yyval.node = (Node *)n; ; break;} -case 662: -#line 3670 "gram.y" +case 663: +#line 3671 "gram.y" { SubLink *n = makeNode(SubLink); n->lefthand = lcons(yyvsp[-5].node,NIL); @@ -8358,8 +8352,8 @@ case 662: yyval.node = (Node *)n; ; break;} -case 663: -#line 3680 "gram.y" +case 664: +#line 3681 "gram.y" { SubLink *n = makeNode(SubLink); n->lefthand = lcons(yyvsp[-5].node,NIL); @@ -8370,8 +8364,8 @@ case 663: yyval.node = (Node *)n; ; break;} -case 664: -#line 3690 "gram.y" +case 665: +#line 3691 "gram.y" { SubLink *n = makeNode(SubLink); n->lefthand = lcons(yyvsp[-5].node, NULL); @@ -8382,8 +8376,8 @@ case 664: yyval.node = (Node *)n; ; break;} -case 665: -#line 3700 "gram.y" +case 666: +#line 3701 "gram.y" { SubLink *n = makeNode(SubLink); n->lefthand = lcons(yyvsp[-5].node, NULL); @@ -8394,8 +8388,8 @@ case 665: yyval.node = (Node *)n; ; break;} -case 666: -#line 3710 "gram.y" +case 667: +#line 3711 "gram.y" { SubLink *n = makeNode(SubLink); n->lefthand = lcons(yyvsp[-5].node, NULL); @@ -8406,8 +8400,8 @@ case 666: yyval.node = (Node *)n; ; break;} -case 667: -#line 3720 "gram.y" +case 668: +#line 3721 "gram.y" { SubLink *n = makeNode(SubLink); n->lefthand = lcons(yyvsp[-5].node, NULL); @@ -8418,8 +8412,8 @@ case 667: yyval.node = (Node *)n; ; break;} -case 668: -#line 3730 "gram.y" +case 669: +#line 3731 "gram.y" { SubLink *n = makeNode(SubLink); n->lefthand = lcons(yyvsp[-5].node, NULL); @@ -8430,8 +8424,8 @@ case 668: yyval.node = (Node *)n; ; break;} -case 669: -#line 3740 "gram.y" +case 670: +#line 3741 "gram.y" { SubLink *n = makeNode(SubLink); n->lefthand = lcons(yyvsp[-5].node, NULL); @@ -8442,8 +8436,8 @@ case 669: yyval.node = (Node *)n; ; break;} -case 670: -#line 3750 "gram.y" +case 671: +#line 3751 "gram.y" { SubLink *n = makeNode(SubLink); n->lefthand = lcons(yyvsp[-5].node, NULL); @@ -8454,8 +8448,8 @@ case 670: yyval.node = (Node *)n; ; break;} -case 671: -#line 3760 "gram.y" +case 672: +#line 3761 "gram.y" { SubLink *n = makeNode(SubLink); n->lefthand = lcons(yyvsp[-5].node, NULL); @@ -8466,31 +8460,31 @@ case 671: yyval.node = (Node *)n; ; break;} -case 672: -#line 3770 "gram.y" +case 673: +#line 3771 "gram.y" { yyval.node = makeA_Expr(AND, NULL, yyvsp[-2].node, yyvsp[0].node); ; break;} -case 673: -#line 3772 "gram.y" +case 674: +#line 3773 "gram.y" { yyval.node = makeA_Expr(OR, NULL, yyvsp[-2].node, yyvsp[0].node); ; break;} -case 674: -#line 3774 "gram.y" +case 675: +#line 3775 "gram.y" { yyval.node = makeA_Expr(NOT, NULL, NULL, yyvsp[0].node); ; break;} -case 675: -#line 3784 "gram.y" +case 676: +#line 3785 "gram.y" { yyvsp[-1].attr->indirection = yyvsp[0].list; yyval.node = (Node *)yyvsp[-1].attr; ; break;} -case 676: -#line 3789 "gram.y" +case 677: +#line 3790 "gram.y" { yyval.node = yyvsp[0].node; ; break;} -case 677: -#line 3791 "gram.y" +case 678: +#line 3792 "gram.y" { /* could be a column name or a relation_name */ Ident *n = makeNode(Ident); @@ -8499,40 +8493,40 @@ case 677: yyval.node = (Node *)n; ; break;} -case 678: -#line 3799 "gram.y" +case 679: +#line 3800 "gram.y" { yyval.node = makeA_Expr(OP, "-", NULL, yyvsp[0].node); ; break;} -case 679: -#line 3801 "gram.y" +case 680: +#line 3802 "gram.y" { yyval.node = makeA_Expr(OP, "+", yyvsp[-2].node, yyvsp[0].node); ; break;} -case 680: -#line 3803 "gram.y" +case 681: +#line 3804 "gram.y" { yyval.node = makeA_Expr(OP, "-", yyvsp[-2].node, yyvsp[0].node); ; break;} -case 681: -#line 3805 "gram.y" +case 682: +#line 3806 "gram.y" { yyval.node = makeA_Expr(OP, "/", yyvsp[-2].node, yyvsp[0].node); ; break;} -case 682: -#line 3807 "gram.y" +case 683: +#line 3808 "gram.y" { yyval.node = makeA_Expr(OP, "*", yyvsp[-2].node, yyvsp[0].node); ; break;} -case 683: -#line 3809 "gram.y" +case 684: +#line 3810 "gram.y" { yyval.node = makeA_Expr(OP, ":", NULL, yyvsp[0].node); ; break;} -case 684: -#line 3811 "gram.y" +case 685: +#line 3812 "gram.y" { yyval.node = makeA_Expr(OP, ";", NULL, yyvsp[0].node); ; break;} -case 685: -#line 3813 "gram.y" +case 686: +#line 3814 "gram.y" { yyval.node = makeA_Expr(OP, "|", NULL, yyvsp[0].node); ; break;} -case 686: -#line 3815 "gram.y" +case 687: +#line 3816 "gram.y" { yyval.node = (Node *)yyvsp[-2].node; /* AexprConst can be either A_Const or ParamNo */ @@ -8549,8 +8543,8 @@ case 686: } ; break;} -case 687: -#line 3831 "gram.y" +case 688: +#line 3832 "gram.y" { yyval.node = (Node *)yyvsp[-3].node; /* AexprConst can be either A_Const or ParamNo */ @@ -8567,24 +8561,24 @@ case 687: } ; break;} -case 688: -#line 3847 "gram.y" +case 689: +#line 3848 "gram.y" { yyval.node = yyvsp[-1].node; ; break;} -case 689: -#line 3849 "gram.y" +case 690: +#line 3850 "gram.y" { yyval.node = makeIndexable(yyvsp[-1].str,yyvsp[-2].node,yyvsp[0].node); ; break;} -case 690: -#line 3851 "gram.y" +case 691: +#line 3852 "gram.y" { yyval.node = makeA_Expr(OP, yyvsp[-1].str, NULL, yyvsp[0].node); ; break;} -case 691: -#line 3853 "gram.y" +case 692: +#line 3854 "gram.y" { yyval.node = makeA_Expr(OP, yyvsp[0].str, yyvsp[-1].node, NULL); ; break;} -case 692: -#line 3855 "gram.y" +case 693: +#line 3856 "gram.y" { FuncCall *n = makeNode(FuncCall); n->funcname = yyvsp[-2].str; @@ -8592,8 +8586,8 @@ case 692: yyval.node = (Node *)n; ; break;} -case 693: -#line 3862 "gram.y" +case 694: +#line 3863 "gram.y" { FuncCall *n = makeNode(FuncCall); n->funcname = yyvsp[-3].str; @@ -8601,8 +8595,8 @@ case 693: yyval.node = (Node *)n; ; break;} -case 694: -#line 3869 "gram.y" +case 695: +#line 3870 "gram.y" { A_Const *n = makeNode(A_Const); TypeName *t = makeNode(TypeName); @@ -8618,8 +8612,8 @@ case 694: yyval.node = (Node *)n; ; break;} -case 695: -#line 3884 "gram.y" +case 696: +#line 3885 "gram.y" { A_Const *n = makeNode(A_Const); TypeName *t = makeNode(TypeName); @@ -8635,8 +8629,8 @@ case 695: yyval.node = (Node *)n; ; break;} -case 696: -#line 3899 "gram.y" +case 697: +#line 3900 "gram.y" { FuncCall *n = makeNode(FuncCall); A_Const *s = makeNode(A_Const); @@ -8659,8 +8653,8 @@ case 696: yyval.node = (Node *)n; ; break;} -case 697: -#line 3921 "gram.y" +case 698: +#line 3922 "gram.y" { A_Const *n = makeNode(A_Const); TypeName *t = makeNode(TypeName); @@ -8676,8 +8670,8 @@ case 697: yyval.node = (Node *)n; ; break;} -case 698: -#line 3936 "gram.y" +case 699: +#line 3937 "gram.y" { FuncCall *n = makeNode(FuncCall); A_Const *s = makeNode(A_Const); @@ -8700,17 +8694,8 @@ case 698: yyval.node = (Node *)n; ; break;} -case 699: -#line 3958 "gram.y" -{ - FuncCall *n = makeNode(FuncCall); - n->funcname = "getpgusername"; - n->args = NIL; - yyval.node = (Node *)n; - ; - break;} case 700: -#line 3965 "gram.y" +#line 3959 "gram.y" { FuncCall *n = makeNode(FuncCall); n->funcname = "getpgusername"; @@ -8719,7 +8704,16 @@ case 700: ; break;} case 701: -#line 3972 "gram.y" +#line 3966 "gram.y" +{ + FuncCall *n = makeNode(FuncCall); + n->funcname = "getpgusername"; + n->args = NIL; + yyval.node = (Node *)n; + ; + break;} +case 702: +#line 3973 "gram.y" { FuncCall *n = makeNode(FuncCall); n->funcname = "strpos"; @@ -8727,8 +8721,8 @@ case 701: yyval.node = (Node *)n; ; break;} -case 702: -#line 3979 "gram.y" +case 703: +#line 3980 "gram.y" { FuncCall *n = makeNode(FuncCall); n->funcname = "substr"; @@ -8736,8 +8730,8 @@ case 702: yyval.node = (Node *)n; ; break;} -case 703: -#line 3987 "gram.y" +case 704: +#line 3988 "gram.y" { FuncCall *n = makeNode(FuncCall); n->funcname = "btrim"; @@ -8745,8 +8739,8 @@ case 703: yyval.node = (Node *)n; ; break;} -case 704: -#line 3994 "gram.y" +case 705: +#line 3995 "gram.y" { FuncCall *n = makeNode(FuncCall); n->funcname = "ltrim"; @@ -8754,8 +8748,8 @@ case 704: yyval.node = (Node *)n; ; break;} -case 705: -#line 4001 "gram.y" +case 706: +#line 4002 "gram.y" { FuncCall *n = makeNode(FuncCall); n->funcname = "rtrim"; @@ -8763,8 +8757,8 @@ case 705: yyval.node = (Node *)n; ; break;} -case 706: -#line 4008 "gram.y" +case 707: +#line 4009 "gram.y" { FuncCall *n = makeNode(FuncCall); n->funcname = "btrim"; @@ -8772,8 +8766,8 @@ case 706: yyval.node = (Node *)n; ; break;} -case 707: -#line 4017 "gram.y" +case 708: +#line 4018 "gram.y" { A_Indices *ai = makeNode(A_Indices); ai->lidx = NULL; @@ -8781,8 +8775,8 @@ case 707: yyval.list = lcons(ai, yyvsp[0].list); ; break;} -case 708: -#line 4024 "gram.y" +case 709: +#line 4025 "gram.y" { A_Indices *ai = makeNode(A_Indices); ai->lidx = yyvsp[-4].node; @@ -8790,24 +8784,24 @@ case 708: yyval.list = lcons(ai, yyvsp[0].list); ; break;} -case 709: -#line 4031 "gram.y" +case 710: +#line 4032 "gram.y" { yyval.list = NIL; ; break;} -case 710: -#line 4035 "gram.y" +case 711: +#line 4036 "gram.y" { yyval.list = lcons(yyvsp[0].node, NIL); ; break;} -case 711: -#line 4037 "gram.y" -{ yyval.list = lappend(yyvsp[-2].list, yyvsp[0].node); ; - break;} case 712: -#line 4039 "gram.y" +#line 4038 "gram.y" { yyval.list = lappend(yyvsp[-2].list, yyvsp[0].node); ; break;} case 713: -#line 4043 "gram.y" +#line 4040 "gram.y" +{ yyval.list = lappend(yyvsp[-2].list, yyvsp[0].node); ; + break;} +case 714: +#line 4044 "gram.y" { A_Const *n = makeNode(A_Const); n->val.type = T_String; @@ -8815,67 +8809,67 @@ case 713: yyval.list = lappend(lcons((Node *)n,NIL), yyvsp[0].node); ; break;} -case 714: -#line 4050 "gram.y" -{ yyval.list = NIL; ; - break;} case 715: -#line 4053 "gram.y" -{ yyval.str = yyvsp[0].str; ; +#line 4051 "gram.y" +{ yyval.list = NIL; ; break;} case 716: #line 4054 "gram.y" -{ yyval.str = "tz_hour"; ; +{ yyval.str = yyvsp[0].str; ; break;} case 717: #line 4055 "gram.y" -{ yyval.str = "tz_minute"; ; +{ yyval.str = "tz_hour"; ; break;} case 718: -#line 4059 "gram.y" -{ yyval.list = makeList(yyvsp[0].node, yyvsp[-2].node, -1); ; +#line 4056 "gram.y" +{ yyval.str = "tz_minute"; ; break;} case 719: -#line 4061 "gram.y" -{ yyval.list = NIL; ; +#line 4060 "gram.y" +{ yyval.list = makeList(yyvsp[0].node, yyvsp[-2].node, -1); ; break;} case 720: -#line 4065 "gram.y" +#line 4062 "gram.y" +{ yyval.list = NIL; ; + break;} +case 721: +#line 4066 "gram.y" { yyvsp[-1].attr->indirection = yyvsp[0].list; yyval.node = (Node *)yyvsp[-1].attr; ; break;} -case 721: -#line 4070 "gram.y" +case 722: +#line 4071 "gram.y" { yyval.node = yyvsp[0].node; ; break;} -case 722: -#line 4072 "gram.y" +case 723: +#line 4073 "gram.y" { yyval.node = makeA_Expr(OP, "-", NULL, yyvsp[0].node); ; break;} -case 723: -#line 4074 "gram.y" +case 724: +#line 4075 "gram.y" { yyval.node = makeA_Expr(OP, "+", yyvsp[-2].node, yyvsp[0].node); ; break;} -case 724: -#line 4076 "gram.y" +case 725: +#line 4077 "gram.y" { yyval.node = makeA_Expr(OP, "-", yyvsp[-2].node, yyvsp[0].node); ; break;} -case 725: -#line 4078 "gram.y" +case 726: +#line 4079 "gram.y" { yyval.node = makeA_Expr(OP, "/", yyvsp[-2].node, yyvsp[0].node); ; break;} -case 726: -#line 4080 "gram.y" +case 727: +#line 4081 "gram.y" { yyval.node = makeA_Expr(OP, "*", yyvsp[-2].node, yyvsp[0].node); ; break;} -case 727: -#line 4082 "gram.y" +case 728: +#line 4083 "gram.y" { yyval.node = makeA_Expr(OP, "|", NULL, yyvsp[0].node); ; break;} -case 728: -#line 4084 "gram.y" +case 729: +#line 4085 "gram.y" { yyval.node = (Node *)yyvsp[-2].node; /* AexprConst can be either A_Const or ParamNo */ @@ -8892,8 +8886,8 @@ case 728: } ; break;} -case 729: -#line 4100 "gram.y" +case 730: +#line 4101 "gram.y" { yyval.node = (Node *)yyvsp[-3].node; /* AexprConst can be either A_Const or ParamNo */ @@ -8910,24 +8904,24 @@ case 729: } ; break;} -case 730: -#line 4116 "gram.y" +case 731: +#line 4117 "gram.y" { yyval.node = yyvsp[-1].node; ; break;} -case 731: -#line 4118 "gram.y" +case 732: +#line 4119 "gram.y" { yyval.node = makeA_Expr(OP, yyvsp[-1].str, yyvsp[-2].node, yyvsp[0].node); ; break;} -case 732: -#line 4120 "gram.y" +case 733: +#line 4121 "gram.y" { yyval.node = makeA_Expr(OP, yyvsp[-1].str, NULL, yyvsp[0].node); ; break;} -case 733: -#line 4122 "gram.y" +case 734: +#line 4123 "gram.y" { yyval.node = makeA_Expr(OP, yyvsp[0].str, yyvsp[-1].node, NULL); ; break;} -case 734: -#line 4124 "gram.y" +case 735: +#line 4125 "gram.y" { /* could be a column name or a relation_name */ Ident *n = makeNode(Ident); @@ -8936,8 +8930,8 @@ case 734: yyval.node = (Node *)n; ; break;} -case 735: -#line 4132 "gram.y" +case 736: +#line 4133 "gram.y" { FuncCall *n = makeNode(FuncCall); n->funcname = yyvsp[-2].str; @@ -8945,8 +8939,8 @@ case 735: yyval.node = (Node *)n; ; break;} -case 736: -#line 4139 "gram.y" +case 737: +#line 4140 "gram.y" { FuncCall *n = makeNode(FuncCall); n->funcname = yyvsp[-3].str; @@ -8954,8 +8948,8 @@ case 736: yyval.node = (Node *)n; ; break;} -case 737: -#line 4146 "gram.y" +case 738: +#line 4147 "gram.y" { FuncCall *n = makeNode(FuncCall); n->funcname = "strpos"; @@ -8963,8 +8957,8 @@ case 737: yyval.node = (Node *)n; ; break;} -case 738: -#line 4153 "gram.y" +case 739: +#line 4154 "gram.y" { FuncCall *n = makeNode(FuncCall); n->funcname = "substr"; @@ -8972,8 +8966,8 @@ case 738: yyval.node = (Node *)n; ; break;} -case 739: -#line 4161 "gram.y" +case 740: +#line 4162 "gram.y" { FuncCall *n = makeNode(FuncCall); n->funcname = "btrim"; @@ -8981,8 +8975,8 @@ case 739: yyval.node = (Node *)n; ; break;} -case 740: -#line 4168 "gram.y" +case 741: +#line 4169 "gram.y" { FuncCall *n = makeNode(FuncCall); n->funcname = "ltrim"; @@ -8990,8 +8984,8 @@ case 740: yyval.node = (Node *)n; ; break;} -case 741: -#line 4175 "gram.y" +case 742: +#line 4176 "gram.y" { FuncCall *n = makeNode(FuncCall); n->funcname = "rtrim"; @@ -8999,8 +8993,8 @@ case 741: yyval.node = (Node *)n; ; break;} -case 742: -#line 4182 "gram.y" +case 743: +#line 4183 "gram.y" { FuncCall *n = makeNode(FuncCall); n->funcname = "btrim"; @@ -9008,22 +9002,22 @@ case 742: yyval.node = (Node *)n; ; break;} -case 743: -#line 4191 "gram.y" +case 744: +#line 4192 "gram.y" { yyval.list = nconc(nconc(yyvsp[-2].list,yyvsp[-1].list),yyvsp[0].list); ; break;} -case 744: -#line 4195 "gram.y" +case 745: +#line 4196 "gram.y" { yyval.list = NIL; ; break;} -case 745: -#line 4199 "gram.y" +case 746: +#line 4200 "gram.y" { yyval.list = yyvsp[0].list; ; break;} -case 746: -#line 4201 "gram.y" +case 747: +#line 4202 "gram.y" { A_Const *n = makeNode(A_Const); n->val.type = T_Integer; @@ -9031,72 +9025,72 @@ case 746: yyval.list = lcons((Node *)n,NIL); ; break;} -case 747: -#line 4210 "gram.y" +case 748: +#line 4211 "gram.y" { yyval.list = yyvsp[0].list; ; break;} -case 748: -#line 4212 "gram.y" +case 749: +#line 4213 "gram.y" { yyval.list = NIL; ; break;} -case 749: -#line 4216 "gram.y" +case 750: +#line 4217 "gram.y" { yyval.list = lappend(yyvsp[0].list, yyvsp[-2].node); ; break;} -case 750: -#line 4218 "gram.y" -{ yyval.list = yyvsp[0].list; ; - break;} case 751: -#line 4220 "gram.y" +#line 4219 "gram.y" { yyval.list = yyvsp[0].list; ; break;} case 752: -#line 4224 "gram.y" +#line 4221 "gram.y" +{ yyval.list = yyvsp[0].list; ; + break;} +case 753: +#line 4225 "gram.y" { SubLink *n = makeNode(SubLink); n->subselect = yyvsp[0].node; yyval.node = (Node *)n; ; break;} -case 753: -#line 4230 "gram.y" +case 754: +#line 4231 "gram.y" { yyval.node = yyvsp[0].node; ; break;} -case 754: -#line 4234 "gram.y" +case 755: +#line 4235 "gram.y" { yyval.node = makeA_Expr(OP, "=", lfirst(saved_In_Expr), yyvsp[0].node); ; break;} -case 755: -#line 4236 "gram.y" +case 756: +#line 4237 "gram.y" { yyval.node = makeA_Expr(OR, NULL, yyvsp[-2].node, makeA_Expr(OP, "=", lfirst(saved_In_Expr), yyvsp[0].node)); ; break;} -case 756: -#line 4242 "gram.y" +case 757: +#line 4243 "gram.y" { SubLink *n = makeNode(SubLink); n->subselect = yyvsp[0].node; yyval.node = (Node *)n; ; break;} -case 757: -#line 4248 "gram.y" +case 758: +#line 4249 "gram.y" { yyval.node = yyvsp[0].node; ; break;} -case 758: -#line 4252 "gram.y" +case 759: +#line 4253 "gram.y" { yyval.node = makeA_Expr(OP, "<>", lfirst(saved_In_Expr), yyvsp[0].node); ; break;} -case 759: -#line 4254 "gram.y" +case 760: +#line 4255 "gram.y" { yyval.node = makeA_Expr(AND, NULL, yyvsp[-2].node, makeA_Expr(OP, "<>", lfirst(saved_In_Expr), yyvsp[0].node)); ; break;} -case 760: -#line 4260 "gram.y" +case 761: +#line 4261 "gram.y" { yyval.attr = makeNode(Attr); yyval.attr->relname = yyvsp[-2].str; @@ -9105,8 +9099,8 @@ case 760: yyval.attr->indirection = NULL; ; break;} -case 761: -#line 4268 "gram.y" +case 762: +#line 4269 "gram.y" { yyval.attr = makeNode(Attr); yyval.attr->relname = NULL; @@ -9115,28 +9109,28 @@ case 761: yyval.attr->indirection = NULL; ; break;} -case 762: -#line 4278 "gram.y" +case 763: +#line 4279 "gram.y" { yyval.list = lcons(makeString(yyvsp[0].str), NIL); ; break;} -case 763: -#line 4280 "gram.y" +case 764: +#line 4281 "gram.y" { yyval.list = lappend(yyvsp[-2].list, makeString(yyvsp[0].str)); ; break;} -case 764: -#line 4282 "gram.y" +case 765: +#line 4283 "gram.y" { yyval.list = lappend(yyvsp[-2].list, makeString("*")); ; break;} -case 765: -#line 4293 "gram.y" +case 766: +#line 4294 "gram.y" { yyval.list = lappend(yyvsp[-2].list,yyvsp[0].target); ; break;} -case 766: -#line 4295 "gram.y" +case 767: +#line 4296 "gram.y" { yyval.list = lcons(yyvsp[0].target, NIL); ; break;} -case 767: -#line 4297 "gram.y" +case 768: +#line 4298 "gram.y" { ResTarget *rt = makeNode(ResTarget); Attr *att = makeNode(Attr); @@ -9150,8 +9144,8 @@ case 767: yyval.list = lcons(rt, NIL); ; break;} -case 768: -#line 4312 "gram.y" +case 769: +#line 4313 "gram.y" { yyval.target = makeNode(ResTarget); yyval.target->name = yyvsp[-3].str; @@ -9159,8 +9153,8 @@ case 768: yyval.target->val = (Node *)yyvsp[0].node; ; break;} -case 769: -#line 4319 "gram.y" +case 770: +#line 4320 "gram.y" { yyval.target = makeNode(ResTarget); yyval.target->name = NULL; @@ -9168,8 +9162,8 @@ case 769: yyval.target->val = (Node *)yyvsp[-1].attr; ; break;} -case 770: -#line 4326 "gram.y" +case 771: +#line 4327 "gram.y" { Attr *att = makeNode(Attr); att->relname = yyvsp[-2].str; @@ -9182,16 +9176,16 @@ case 770: yyval.target->val = (Node *)att; ; break;} -case 771: -#line 4345 "gram.y" +case 772: +#line 4346 "gram.y" { yyval.list = lappend(yyvsp[-2].list, yyvsp[0].target); ; break;} -case 772: -#line 4347 "gram.y" +case 773: +#line 4348 "gram.y" { yyval.list = lcons(yyvsp[0].target, NIL); ; break;} -case 773: -#line 4352 "gram.y" +case 774: +#line 4353 "gram.y" { yyval.target = makeNode(ResTarget); yyval.target->name = yyvsp[0].str; @@ -9199,8 +9193,8 @@ case 773: yyval.target->val = (Node *)yyvsp[-2].node; ; break;} -case 774: -#line 4359 "gram.y" +case 775: +#line 4360 "gram.y" { yyval.target = makeNode(ResTarget); yyval.target->name = NULL; @@ -9208,8 +9202,8 @@ case 774: yyval.target->val = (Node *)yyvsp[0].node; ; break;} -case 775: -#line 4366 "gram.y" +case 776: +#line 4367 "gram.y" { Attr *att = makeNode(Attr); att->relname = yyvsp[-2].str; @@ -9222,8 +9216,8 @@ case 775: yyval.target->val = (Node *)att; ; break;} -case 776: -#line 4378 "gram.y" +case 777: +#line 4379 "gram.y" { Attr *att = makeNode(Attr); att->relname = "*"; @@ -9236,23 +9230,23 @@ case 776: yyval.target->val = (Node *)att; ; break;} -case 777: -#line 4391 "gram.y" -{ yyval.str = yyvsp[0].str; ; - break;} case 778: #line 4392 "gram.y" -{ yyval.str = NULL; ; +{ yyval.str = yyvsp[0].str; ; break;} case 779: -#line 4396 "gram.y" +#line 4393 "gram.y" +{ yyval.str = NULL; ; + break;} +case 780: +#line 4397 "gram.y" { yyval.str = yyvsp[0].str; StrNCpy(saved_relname, yyvsp[0].str, NAMEDATALEN); ; break;} -case 780: -#line 4401 "gram.y" +case 781: +#line 4402 "gram.y" { /* disallow refs to variable system tables */ if (strcmp(LogRelationName, yyvsp[0].str) == 0 @@ -9263,10 +9257,6 @@ case 780: StrNCpy(saved_relname, yyvsp[0].str, NAMEDATALEN); ; break;} -case 781: -#line 4412 "gram.y" -{ yyval.str = yyvsp[0].str; ; - break;} case 782: #line 4413 "gram.y" { yyval.str = yyvsp[0].str; ; @@ -9284,23 +9274,27 @@ case 785: { yyval.str = yyvsp[0].str; ; break;} case 786: -#line 4422 "gram.y" +#line 4417 "gram.y" { yyval.str = yyvsp[0].str; ; break;} case 787: #line 4423 "gram.y" -{ yyval.str = xlateSqlFunc(yyvsp[0].str); ; +{ yyval.str = yyvsp[0].str; ; break;} case 788: -#line 4425 "gram.y" -{ yyval.str = yyvsp[0].str; ; +#line 4424 "gram.y" +{ yyval.str = xlateSqlFunc(yyvsp[0].str); ; break;} case 789: #line 4426 "gram.y" { yyval.str = yyvsp[0].str; ; break;} case 790: -#line 4432 "gram.y" +#line 4427 "gram.y" +{ yyval.str = yyvsp[0].str; ; + break;} +case 791: +#line 4433 "gram.y" { A_Const *n = makeNode(A_Const); n->val.type = T_Integer; @@ -9308,8 +9302,8 @@ case 790: yyval.node = (Node *)n; ; break;} -case 791: -#line 4439 "gram.y" +case 792: +#line 4440 "gram.y" { A_Const *n = makeNode(A_Const); n->val.type = T_Float; @@ -9317,8 +9311,8 @@ case 791: yyval.node = (Node *)n; ; break;} -case 792: -#line 4446 "gram.y" +case 793: +#line 4447 "gram.y" { A_Const *n = makeNode(A_Const); n->val.type = T_String; @@ -9326,8 +9320,8 @@ case 792: yyval.node = (Node *)n; ; break;} -case 793: -#line 4453 "gram.y" +case 794: +#line 4454 "gram.y" { A_Const *n = makeNode(A_Const); n->typename = yyvsp[-1].typnam; @@ -9336,12 +9330,12 @@ case 793: yyval.node = (Node *)n; ; break;} -case 794: -#line 4461 "gram.y" +case 795: +#line 4462 "gram.y" { yyval.node = (Node *)yyvsp[0].paramno; ; break;} -case 795: -#line 4463 "gram.y" +case 796: +#line 4464 "gram.y" { A_Const *n = makeNode(A_Const); n->val.type = T_String; @@ -9352,8 +9346,8 @@ case 795: yyval.node = (Node *)n; ; break;} -case 796: -#line 4473 "gram.y" +case 797: +#line 4474 "gram.y" { A_Const *n = makeNode(A_Const); n->val.type = T_String; @@ -9364,40 +9358,36 @@ case 796: yyval.node = (Node *)n; ; break;} -case 797: -#line 4485 "gram.y" +case 798: +#line 4486 "gram.y" { yyval.paramno = makeNode(ParamNo); yyval.paramno->number = yyvsp[0].ival; ; break;} -case 798: -#line 4491 "gram.y" -{ yyval.ival = yyvsp[0].ival; ; - break;} case 799: #line 4492 "gram.y" -{ yyval.str = yyvsp[0].str; ; +{ yyval.ival = yyvsp[0].ival; ; break;} case 800: #line 4493 "gram.y" { yyval.str = yyvsp[0].str; ; break;} case 801: -#line 4501 "gram.y" -{ yyval.str = xlateSqlType(yyvsp[0].str); ; +#line 4494 "gram.y" +{ yyval.str = yyvsp[0].str; ; break;} case 802: -#line 4503 "gram.y" +#line 4502 "gram.y" { yyval.str = xlateSqlType(yyvsp[0].str); ; break;} case 803: -#line 4505 "gram.y" +#line 4504 "gram.y" { yyval.str = xlateSqlType(yyvsp[0].str); ; break;} case 804: -#line 4515 "gram.y" -{ yyval.str = yyvsp[0].str; ; +#line 4506 "gram.y" +{ yyval.str = xlateSqlType(yyvsp[0].str); ; break;} case 805: #line 4516 "gram.y" @@ -9405,198 +9395,202 @@ case 805: break;} case 806: #line 4517 "gram.y" -{ yyval.str = "action"; ; +{ yyval.str = yyvsp[0].str; ; break;} case 807: #line 4518 "gram.y" -{ yyval.str = "cache"; ; +{ yyval.str = "action"; ; break;} case 808: #line 4519 "gram.y" -{ yyval.str = "cycle"; ; +{ yyval.str = "cache"; ; break;} case 809: #line 4520 "gram.y" -{ yyval.str = "database"; ; +{ yyval.str = "cycle"; ; break;} case 810: #line 4521 "gram.y" -{ yyval.str = "delimiters"; ; +{ yyval.str = "database"; ; break;} case 811: #line 4522 "gram.y" -{ yyval.str = "double"; ; +{ yyval.str = "delimiters"; ; break;} case 812: #line 4523 "gram.y" -{ yyval.str = "each"; ; +{ yyval.str = "double"; ; break;} case 813: #line 4524 "gram.y" -{ yyval.str = "encoding"; ; +{ yyval.str = "each"; ; break;} case 814: #line 4525 "gram.y" -{ yyval.str = "function"; ; +{ yyval.str = "encoding"; ; break;} case 815: #line 4526 "gram.y" -{ yyval.str = "increment"; ; +{ yyval.str = "function"; ; break;} case 816: #line 4527 "gram.y" -{ yyval.str = "index"; ; +{ yyval.str = "increment"; ; break;} case 817: #line 4528 "gram.y" -{ yyval.str = "key"; ; +{ yyval.str = "index"; ; break;} case 818: #line 4529 "gram.y" -{ yyval.str = "language"; ; +{ yyval.str = "key"; ; break;} case 819: #line 4530 "gram.y" -{ yyval.str = "location"; ; +{ yyval.str = "language"; ; break;} case 820: #line 4531 "gram.y" -{ yyval.str = "match"; ; +{ yyval.str = "location"; ; break;} case 821: #line 4532 "gram.y" -{ yyval.str = "maxvalue"; ; +{ yyval.str = "match"; ; break;} case 822: #line 4533 "gram.y" -{ yyval.str = "minvalue"; ; +{ yyval.str = "maxvalue"; ; break;} case 823: #line 4534 "gram.y" -{ yyval.str = "operator"; ; +{ yyval.str = "minvalue"; ; break;} case 824: #line 4535 "gram.y" -{ yyval.str = "option"; ; +{ yyval.str = "operator"; ; break;} case 825: #line 4536 "gram.y" -{ yyval.str = "password"; ; +{ yyval.str = "option"; ; break;} case 826: #line 4537 "gram.y" -{ yyval.str = "privileges"; ; +{ yyval.str = "password"; ; break;} case 827: #line 4538 "gram.y" -{ yyval.str = "recipe"; ; +{ yyval.str = "privileges"; ; break;} case 828: #line 4539 "gram.y" -{ yyval.str = "row"; ; +{ yyval.str = "recipe"; ; break;} case 829: #line 4540 "gram.y" -{ yyval.str = "start"; ; +{ yyval.str = "row"; ; break;} case 830: #line 4541 "gram.y" -{ yyval.str = "statement"; ; +{ yyval.str = "start"; ; break;} case 831: #line 4542 "gram.y" -{ yyval.str = "time"; ; +{ yyval.str = "statement"; ; break;} case 832: #line 4543 "gram.y" -{ yyval.str = "timezone_hour"; ; +{ yyval.str = "time"; ; break;} case 833: #line 4544 "gram.y" -{ yyval.str = "timezone_minute"; ; +{ yyval.str = "timezone_hour"; ; break;} case 834: #line 4545 "gram.y" -{ yyval.str = "trigger"; ; +{ yyval.str = "timezone_minute"; ; break;} case 835: #line 4546 "gram.y" -{ yyval.str = "type"; ; +{ yyval.str = "trigger"; ; break;} case 836: #line 4547 "gram.y" -{ yyval.str = "valid"; ; +{ yyval.str = "type"; ; break;} case 837: #line 4548 "gram.y" -{ yyval.str = "version"; ; +{ yyval.str = "valid"; ; break;} case 838: #line 4549 "gram.y" -{ yyval.str = "zone"; ; +{ yyval.str = "version"; ; break;} case 839: -#line 4562 "gram.y" -{ yyval.str = yyvsp[0].str; ; +#line 4550 "gram.y" +{ yyval.str = "zone"; ; break;} case 840: #line 4563 "gram.y" -{ yyval.str = "archive"; ; +{ yyval.str = yyvsp[0].str; ; break;} case 841: #line 4564 "gram.y" -{ yyval.str = "cluster"; ; +{ yyval.str = "archive"; ; break;} case 842: #line 4565 "gram.y" -{ yyval.str = "constraint"; ; +{ yyval.str = "cluster"; ; break;} case 843: #line 4566 "gram.y" -{ yyval.str = "cross"; ; +{ yyval.str = "constraint"; ; break;} case 844: #line 4567 "gram.y" -{ yyval.str = "foreign"; ; +{ yyval.str = "cross"; ; break;} case 845: #line 4568 "gram.y" -{ yyval.str = "group"; ; +{ yyval.str = "foreign"; ; break;} case 846: #line 4569 "gram.y" -{ yyval.str = "load"; ; +{ yyval.str = "group"; ; break;} case 847: #line 4570 "gram.y" -{ yyval.str = "order"; ; +{ yyval.str = "load"; ; break;} case 848: #line 4571 "gram.y" -{ yyval.str = "position"; ; +{ yyval.str = "order"; ; break;} case 849: #line 4572 "gram.y" -{ yyval.str = "precision"; ; +{ yyval.str = "position"; ; break;} case 850: #line 4573 "gram.y" -{ yyval.str = "table"; ; +{ yyval.str = "precision"; ; break;} case 851: #line 4574 "gram.y" -{ yyval.str = "transaction"; ; +{ yyval.str = "table"; ; break;} case 852: #line 4575 "gram.y" -{ yyval.str = "true"; ; +{ yyval.str = "transaction"; ; break;} case 853: #line 4576 "gram.y" -{ yyval.str = "false"; ; +{ yyval.str = "true"; ; break;} case 854: -#line 4580 "gram.y" +#line 4577 "gram.y" +{ yyval.str = "false"; ; + break;} +case 855: +#line 4581 "gram.y" { if (QueryIsRule) yyval.str = "*CURRENT*"; @@ -9604,8 +9598,8 @@ case 854: elog(ERROR,"CURRENT used in non-rule query"); ; break;} -case 855: -#line 4587 "gram.y" +case 856: +#line 4588 "gram.y" { if (QueryIsRule) yyval.str = "*NEW*"; @@ -9615,7 +9609,7 @@ case 855: break;} } /* the action file gets copied in in place of this dollarsign */ -#line 498 "/usr/lib/bison.simple" +#line 498 "/usr/local/bison/bison.simple" yyvsp -= yylen; yyssp -= yylen; @@ -9811,7 +9805,7 @@ yyerrhandle: yystate = yyn; goto yynewstate; } -#line 4595 "gram.y" +#line 4596 "gram.y" static Node * diff --git a/src/backend/utils/cache/inval.c b/src/backend/utils/cache/inval.c index ae77305ab3..9fc911a99b 100644 --- a/src/backend/utils/cache/inval.c +++ b/src/backend/utils/cache/inval.c @@ -7,7 +7,7 @@ * * * IDENTIFICATION - * $Header: /cvsroot/pgsql/src/backend/utils/cache/inval.c,v 1.12 1998/08/19 02:03:11 momjian Exp $ + * $Header: /cvsroot/pgsql/src/backend/utils/cache/inval.c,v 1.13 1998/08/19 14:51:29 momjian Exp $ * * Note - this code is real crufty... * @@ -276,7 +276,7 @@ getmyrelids() /* -------------------------------- * CacheIdInvalidate * - * This routine can invalidate an tuple in a system catalog cache + * This routine can invalidate a tuple in a system catalog cache * or a cached relation descriptor. You pay your money and you * take your chances... * -------------------------------- diff --git a/src/interfaces/ecpg/preproc/type.h b/src/interfaces/ecpg/preproc/type.h index 4f24043444..835f50b359 100644 --- a/src/interfaces/ecpg/preproc/type.h +++ b/src/interfaces/ecpg/preproc/type.h @@ -75,7 +75,7 @@ struct when char *str; }; -struct RelationGetRelidindex +struct index { int index1; int index2;