From 9b95c48416f68717a57a7e9b646e2d3e78d3eedc Mon Sep 17 00:00:00 2001 From: Drew Paroski Date: Wed, 5 Jun 2013 21:44:36 -0700 Subject: [PATCH] Fix issue with XHP and keywords --- hphp/compiler/parser/hphp.tab.cpp | 3013 +++++++++-------- hphp/test/slow/parser/xhp_keyword.php | 87 + hphp/test/slow/parser/xhp_keyword.php.expect | 1 + hphp/test/slow/parser/xhp_keyword_hh.php | 87 + .../slow/parser/xhp_keyword_hh.php.expect | 1 + hphp/util/parser/hphp.y | 2 + 6 files changed, 1699 insertions(+), 1492 deletions(-) create mode 100644 hphp/test/slow/parser/xhp_keyword.php create mode 100644 hphp/test/slow/parser/xhp_keyword.php.expect create mode 100644 hphp/test/slow/parser/xhp_keyword_hh.php create mode 100644 hphp/test/slow/parser/xhp_keyword_hh.php.expect diff --git a/hphp/compiler/parser/hphp.tab.cpp b/hphp/compiler/parser/hphp.tab.cpp index 27f27158a..197bd1143 100644 --- a/hphp/compiler/parser/hphp.tab.cpp +++ b/hphp/compiler/parser/hphp.tab.cpp @@ -1167,16 +1167,16 @@ struct yyalloc /* YYFINAL -- State number of the termination state. */ #define YYFINAL 3 /* YYLAST -- Last index in YYTABLE. */ -#define YYLAST 10934 +#define YYLAST 10994 /* YYNTOKENS -- Number of terminals. */ #define YYNTOKENS 180 /* YYNNTS -- Number of nonterminals. */ #define YYNNTS 208 /* YYNRULES -- Number of rules. */ -#define YYNRULES 711 +#define YYNRULES 713 /* YYNRULES -- Number of states. */ -#define YYNSTATES 1330 +#define YYNSTATES 1332 /* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX. */ #define YYUNDEFTOK 2 @@ -1282,32 +1282,32 @@ static const yytype_uint16 yyprhs[] = 1461, 1463, 1465, 1467, 1469, 1471, 1473, 1475, 1477, 1479, 1481, 1483, 1485, 1487, 1489, 1491, 1493, 1495, 1497, 1499, 1501, 1503, 1505, 1507, 1509, 1511, 1513, 1515, 1517, 1519, - 1521, 1523, 1525, 1527, 1529, 1531, 1533, 1538, 1540, 1542, - 1544, 1546, 1548, 1550, 1552, 1554, 1557, 1559, 1560, 1561, - 1563, 1565, 1569, 1570, 1572, 1574, 1576, 1578, 1580, 1582, - 1584, 1586, 1588, 1590, 1592, 1594, 1598, 1601, 1603, 1605, - 1608, 1611, 1616, 1620, 1625, 1627, 1629, 1633, 1637, 1639, - 1641, 1643, 1645, 1649, 1653, 1657, 1660, 1661, 1663, 1664, - 1666, 1667, 1673, 1677, 1681, 1683, 1685, 1687, 1689, 1693, - 1696, 1698, 1700, 1702, 1704, 1706, 1709, 1712, 1717, 1721, - 1726, 1729, 1730, 1736, 1740, 1744, 1746, 1750, 1752, 1755, - 1756, 1762, 1766, 1769, 1770, 1774, 1775, 1780, 1783, 1784, - 1788, 1792, 1794, 1795, 1797, 1800, 1803, 1808, 1812, 1816, - 1819, 1824, 1827, 1832, 1834, 1836, 1838, 1840, 1842, 1845, - 1850, 1854, 1859, 1863, 1865, 1867, 1869, 1871, 1874, 1879, - 1884, 1888, 1890, 1892, 1896, 1904, 1911, 1920, 1930, 1939, - 1950, 1958, 1965, 1967, 1970, 1975, 1980, 1982, 1984, 1989, - 1991, 1992, 1994, 1997, 1999, 2001, 2004, 2009, 2013, 2017, - 2018, 2020, 2023, 2028, 2032, 2035, 2039, 2046, 2047, 2049, - 2054, 2057, 2058, 2064, 2068, 2072, 2074, 2081, 2086, 2091, - 2094, 2097, 2098, 2104, 2108, 2112, 2114, 2117, 2118, 2124, - 2128, 2132, 2134, 2137, 2140, 2142, 2145, 2147, 2152, 2156, - 2160, 2167, 2171, 2173, 2175, 2177, 2182, 2187, 2190, 2193, - 2198, 2201, 2204, 2206, 2210, 2214, 2220, 2222, 2225, 2227, - 2232, 2236, 2237, 2239, 2243, 2247, 2249, 2251, 2252, 2253, - 2256, 2260, 2262, 2268, 2272, 2276, 2280, 2282, 2285, 2286, - 2291, 2294, 2297, 2299, 2301, 2303, 2308, 2315, 2317, 2326, - 2332, 2334 + 1521, 1523, 1525, 1527, 1529, 1531, 1533, 1535, 1537, 1542, + 1544, 1546, 1548, 1550, 1552, 1554, 1556, 1558, 1561, 1563, + 1564, 1565, 1567, 1569, 1573, 1574, 1576, 1578, 1580, 1582, + 1584, 1586, 1588, 1590, 1592, 1594, 1596, 1598, 1602, 1605, + 1607, 1609, 1612, 1615, 1620, 1624, 1629, 1631, 1633, 1637, + 1641, 1643, 1645, 1647, 1649, 1653, 1657, 1661, 1664, 1665, + 1667, 1668, 1670, 1671, 1677, 1681, 1685, 1687, 1689, 1691, + 1693, 1697, 1700, 1702, 1704, 1706, 1708, 1710, 1713, 1716, + 1721, 1725, 1730, 1733, 1734, 1740, 1744, 1748, 1750, 1754, + 1756, 1759, 1760, 1766, 1770, 1773, 1774, 1778, 1779, 1784, + 1787, 1788, 1792, 1796, 1798, 1799, 1801, 1804, 1807, 1812, + 1816, 1820, 1823, 1828, 1831, 1836, 1838, 1840, 1842, 1844, + 1846, 1849, 1854, 1858, 1863, 1867, 1869, 1871, 1873, 1875, + 1878, 1883, 1888, 1892, 1894, 1896, 1900, 1908, 1915, 1924, + 1934, 1943, 1954, 1962, 1969, 1971, 1974, 1979, 1984, 1986, + 1988, 1993, 1995, 1996, 1998, 2001, 2003, 2005, 2008, 2013, + 2017, 2021, 2022, 2024, 2027, 2032, 2036, 2039, 2043, 2050, + 2051, 2053, 2058, 2061, 2062, 2068, 2072, 2076, 2078, 2085, + 2090, 2095, 2098, 2101, 2102, 2108, 2112, 2116, 2118, 2121, + 2122, 2128, 2132, 2136, 2138, 2141, 2144, 2146, 2149, 2151, + 2156, 2160, 2164, 2171, 2175, 2177, 2179, 2181, 2186, 2191, + 2194, 2197, 2202, 2205, 2208, 2210, 2214, 2218, 2224, 2226, + 2229, 2231, 2236, 2240, 2241, 2243, 2247, 2251, 2253, 2255, + 2256, 2257, 2260, 2264, 2266, 2272, 2276, 2280, 2284, 2286, + 2289, 2290, 2295, 2298, 2301, 2303, 2305, 2307, 2312, 2319, + 2321, 2330, 2336, 2338 }; /* YYRHS -- A `-1'-separated list of the rules' RHS. */ @@ -1466,87 +1466,87 @@ static const yytype_int16 yyrhs[] = -1, 123, -1, 124, -1, 9, -1, 11, -1, 10, -1, 125, -1, 127, -1, 126, -1, 128, -1, 129, -1, 143, -1, 142, -1, 169, -1, 154, -1, 156, - -1, 167, -1, 193, 170, 246, 171, -1, 194, -1, - 146, -1, 315, -1, 111, -1, 355, -1, 315, -1, - 111, -1, 359, -1, 170, 171, -1, 281, -1, -1, - -1, 78, -1, 368, -1, 170, 246, 171, -1, -1, - 69, -1, 70, -1, 79, -1, 128, -1, 129, -1, - 143, -1, 125, -1, 156, -1, 126, -1, 127, -1, - 142, -1, 169, -1, 136, 78, 137, -1, 136, 137, - -1, 321, -1, 192, -1, 42, 322, -1, 43, 322, - -1, 124, 170, 325, 171, -1, 61, 325, 177, -1, - 166, 170, 295, 171, -1, 323, -1, 299, -1, 194, - 140, 187, -1, 146, 140, 187, -1, 192, -1, 72, - -1, 373, -1, 321, -1, 178, 368, 178, -1, 179, - 368, 179, -1, 136, 368, 137, -1, 328, 326, -1, - -1, 8, -1, -1, 8, -1, -1, 328, 8, 322, - 122, 322, -1, 328, 8, 322, -1, 322, 122, 322, - -1, 322, -1, 69, -1, 70, -1, 79, -1, 136, - 78, 137, -1, 136, 137, -1, 69, -1, 70, -1, - 187, -1, 329, -1, 187, -1, 42, 330, -1, 43, - 330, -1, 124, 170, 332, 171, -1, 61, 332, 177, - -1, 166, 170, 335, 171, -1, 333, 326, -1, -1, - 333, 8, 331, 122, 331, -1, 333, 8, 331, -1, - 331, 122, 331, -1, 331, -1, 334, 8, 331, -1, - 331, -1, 336, 326, -1, -1, 336, 8, 291, 122, - 331, -1, 291, 122, 331, -1, 334, 326, -1, -1, - 170, 337, 171, -1, -1, 339, 8, 187, 338, -1, - 187, 338, -1, -1, 341, 339, 326, -1, 41, 340, - 40, -1, 342, -1, -1, 345, -1, 121, 354, -1, - 121, 187, -1, 121, 173, 287, 174, -1, 61, 357, - 177, -1, 173, 287, 174, -1, 350, 346, -1, 170, - 280, 171, 346, -1, 360, 346, -1, 170, 280, 171, - 346, -1, 354, -1, 314, -1, 352, -1, 353, -1, - 347, -1, 349, 344, -1, 170, 280, 171, 344, -1, - 316, 140, 354, -1, 351, 170, 246, 171, -1, 170, - 349, 171, -1, 314, -1, 352, -1, 353, -1, 347, - -1, 349, 345, -1, 170, 280, 171, 345, -1, 351, - 170, 246, 171, -1, 170, 349, 171, -1, 354, -1, - 347, -1, 170, 349, 171, -1, 349, 121, 187, 377, - 170, 246, 171, -1, 349, 121, 354, 170, 246, 171, - -1, 349, 121, 173, 287, 174, 170, 246, 171, -1, - 170, 280, 171, 121, 187, 377, 170, 246, 171, -1, - 170, 280, 171, 121, 354, 170, 246, 171, -1, 170, - 280, 171, 121, 173, 287, 174, 170, 246, 171, -1, - 316, 140, 187, 377, 170, 246, 171, -1, 316, 140, - 354, 170, 246, 171, -1, 355, -1, 358, 355, -1, - 355, 61, 357, 177, -1, 355, 173, 287, 174, -1, - 356, -1, 73, -1, 175, 173, 287, 174, -1, 287, - -1, -1, 175, -1, 358, 175, -1, 354, -1, 348, - -1, 359, 344, -1, 170, 280, 171, 344, -1, 316, - 140, 354, -1, 170, 349, 171, -1, -1, 348, -1, - 359, 345, -1, 170, 280, 171, 345, -1, 170, 349, - 171, -1, 361, 8, -1, 361, 8, 349, -1, 361, - 8, 123, 170, 361, 171, -1, -1, 349, -1, 123, - 170, 361, 171, -1, 363, 326, -1, -1, 363, 8, - 287, 122, 287, -1, 363, 8, 287, -1, 287, 122, - 287, -1, 287, -1, 363, 8, 287, 122, 31, 349, - -1, 363, 8, 31, 349, -1, 287, 122, 31, 349, - -1, 31, 349, -1, 365, 326, -1, -1, 365, 8, - 287, 122, 287, -1, 365, 8, 287, -1, 287, 122, - 287, -1, 287, -1, 367, 326, -1, -1, 367, 8, - 322, 122, 322, -1, 367, 8, 322, -1, 322, 122, - 322, -1, 322, -1, 368, 369, -1, 368, 78, -1, - 369, -1, 78, 369, -1, 73, -1, 73, 61, 370, - 177, -1, 73, 121, 187, -1, 138, 287, 174, -1, - 138, 72, 61, 287, 177, 174, -1, 139, 349, 174, - -1, 187, -1, 74, -1, 73, -1, 114, 170, 372, - 171, -1, 115, 170, 349, 171, -1, 7, 287, -1, - 6, 287, -1, 5, 170, 287, 171, -1, 4, 287, - -1, 3, 287, -1, 349, -1, 372, 8, 349, -1, - 316, 140, 187, -1, 167, 376, 13, 386, 172, -1, - 187, -1, 386, 187, -1, 187, -1, 187, 162, 381, - 163, -1, 162, 378, 163, -1, -1, 386, -1, 378, - 8, 386, -1, 378, 8, 157, -1, 378, -1, 157, - -1, -1, -1, 26, 386, -1, 381, 8, 187, -1, - 187, -1, 381, 8, 187, 90, 386, -1, 187, 90, - 386, -1, 79, 122, 386, -1, 383, 8, 382, -1, - 382, -1, 383, 326, -1, -1, 166, 170, 384, 171, - -1, 25, 386, -1, 51, 386, -1, 194, -1, 124, - -1, 385, -1, 124, 162, 386, 163, -1, 124, 162, - 386, 8, 386, 163, -1, 146, -1, 170, 98, 170, - 379, 171, 26, 386, 171, -1, 170, 378, 8, 386, - 171, -1, 386, -1, -1 + -1, 155, -1, 167, -1, 166, -1, 193, 170, 246, + 171, -1, 194, -1, 146, -1, 315, -1, 111, -1, + 355, -1, 315, -1, 111, -1, 359, -1, 170, 171, + -1, 281, -1, -1, -1, 78, -1, 368, -1, 170, + 246, 171, -1, -1, 69, -1, 70, -1, 79, -1, + 128, -1, 129, -1, 143, -1, 125, -1, 156, -1, + 126, -1, 127, -1, 142, -1, 169, -1, 136, 78, + 137, -1, 136, 137, -1, 321, -1, 192, -1, 42, + 322, -1, 43, 322, -1, 124, 170, 325, 171, -1, + 61, 325, 177, -1, 166, 170, 295, 171, -1, 323, + -1, 299, -1, 194, 140, 187, -1, 146, 140, 187, + -1, 192, -1, 72, -1, 373, -1, 321, -1, 178, + 368, 178, -1, 179, 368, 179, -1, 136, 368, 137, + -1, 328, 326, -1, -1, 8, -1, -1, 8, -1, + -1, 328, 8, 322, 122, 322, -1, 328, 8, 322, + -1, 322, 122, 322, -1, 322, -1, 69, -1, 70, + -1, 79, -1, 136, 78, 137, -1, 136, 137, -1, + 69, -1, 70, -1, 187, -1, 329, -1, 187, -1, + 42, 330, -1, 43, 330, -1, 124, 170, 332, 171, + -1, 61, 332, 177, -1, 166, 170, 335, 171, -1, + 333, 326, -1, -1, 333, 8, 331, 122, 331, -1, + 333, 8, 331, -1, 331, 122, 331, -1, 331, -1, + 334, 8, 331, -1, 331, -1, 336, 326, -1, -1, + 336, 8, 291, 122, 331, -1, 291, 122, 331, -1, + 334, 326, -1, -1, 170, 337, 171, -1, -1, 339, + 8, 187, 338, -1, 187, 338, -1, -1, 341, 339, + 326, -1, 41, 340, 40, -1, 342, -1, -1, 345, + -1, 121, 354, -1, 121, 187, -1, 121, 173, 287, + 174, -1, 61, 357, 177, -1, 173, 287, 174, -1, + 350, 346, -1, 170, 280, 171, 346, -1, 360, 346, + -1, 170, 280, 171, 346, -1, 354, -1, 314, -1, + 352, -1, 353, -1, 347, -1, 349, 344, -1, 170, + 280, 171, 344, -1, 316, 140, 354, -1, 351, 170, + 246, 171, -1, 170, 349, 171, -1, 314, -1, 352, + -1, 353, -1, 347, -1, 349, 345, -1, 170, 280, + 171, 345, -1, 351, 170, 246, 171, -1, 170, 349, + 171, -1, 354, -1, 347, -1, 170, 349, 171, -1, + 349, 121, 187, 377, 170, 246, 171, -1, 349, 121, + 354, 170, 246, 171, -1, 349, 121, 173, 287, 174, + 170, 246, 171, -1, 170, 280, 171, 121, 187, 377, + 170, 246, 171, -1, 170, 280, 171, 121, 354, 170, + 246, 171, -1, 170, 280, 171, 121, 173, 287, 174, + 170, 246, 171, -1, 316, 140, 187, 377, 170, 246, + 171, -1, 316, 140, 354, 170, 246, 171, -1, 355, + -1, 358, 355, -1, 355, 61, 357, 177, -1, 355, + 173, 287, 174, -1, 356, -1, 73, -1, 175, 173, + 287, 174, -1, 287, -1, -1, 175, -1, 358, 175, + -1, 354, -1, 348, -1, 359, 344, -1, 170, 280, + 171, 344, -1, 316, 140, 354, -1, 170, 349, 171, + -1, -1, 348, -1, 359, 345, -1, 170, 280, 171, + 345, -1, 170, 349, 171, -1, 361, 8, -1, 361, + 8, 349, -1, 361, 8, 123, 170, 361, 171, -1, + -1, 349, -1, 123, 170, 361, 171, -1, 363, 326, + -1, -1, 363, 8, 287, 122, 287, -1, 363, 8, + 287, -1, 287, 122, 287, -1, 287, -1, 363, 8, + 287, 122, 31, 349, -1, 363, 8, 31, 349, -1, + 287, 122, 31, 349, -1, 31, 349, -1, 365, 326, + -1, -1, 365, 8, 287, 122, 287, -1, 365, 8, + 287, -1, 287, 122, 287, -1, 287, -1, 367, 326, + -1, -1, 367, 8, 322, 122, 322, -1, 367, 8, + 322, -1, 322, 122, 322, -1, 322, -1, 368, 369, + -1, 368, 78, -1, 369, -1, 78, 369, -1, 73, + -1, 73, 61, 370, 177, -1, 73, 121, 187, -1, + 138, 287, 174, -1, 138, 72, 61, 287, 177, 174, + -1, 139, 349, 174, -1, 187, -1, 74, -1, 73, + -1, 114, 170, 372, 171, -1, 115, 170, 349, 171, + -1, 7, 287, -1, 6, 287, -1, 5, 170, 287, + 171, -1, 4, 287, -1, 3, 287, -1, 349, -1, + 372, 8, 349, -1, 316, 140, 187, -1, 167, 376, + 13, 386, 172, -1, 187, -1, 386, 187, -1, 187, + -1, 187, 162, 381, 163, -1, 162, 378, 163, -1, + -1, 386, -1, 378, 8, 386, -1, 378, 8, 157, + -1, 378, -1, 157, -1, -1, -1, 26, 386, -1, + 381, 8, 187, -1, 187, -1, 381, 8, 187, 90, + 386, -1, 187, 90, 386, -1, 79, 122, 386, -1, + 383, 8, 382, -1, 382, -1, 383, 326, -1, -1, + 166, 170, 384, 171, -1, 25, 386, -1, 51, 386, + -1, 194, -1, 124, -1, 385, -1, 124, 162, 386, + 163, -1, 124, 162, 386, 8, 386, 163, -1, 146, + -1, 170, 98, 170, 379, 171, 26, 386, 171, -1, + 170, 378, 8, 386, 171, -1, 386, -1, -1 }; /* YYRLINE[YYN] -- source line where rule number YYN was defined. */ @@ -1598,32 +1598,32 @@ static const yytype_uint16 yyrline[] = 1822, 1823, 1824, 1825, 1826, 1827, 1828, 1829, 1830, 1831, 1832, 1833, 1834, 1835, 1836, 1837, 1838, 1839, 1840, 1841, 1842, 1843, 1844, 1845, 1846, 1847, 1848, 1849, 1850, 1851, - 1852, 1853, 1854, 1855, 1856, 1857, 1861, 1866, 1867, 1870, - 1871, 1872, 1876, 1877, 1878, 1882, 1883, 1884, 1888, 1889, - 1890, 1893, 1895, 1899, 1900, 1901, 1903, 1904, 1905, 1906, - 1907, 1908, 1909, 1910, 1911, 1912, 1915, 1920, 1921, 1922, - 1923, 1924, 1926, 1927, 1930, 1931, 1935, 1938, 1944, 1945, - 1946, 1947, 1948, 1949, 1950, 1955, 1957, 1961, 1962, 1965, - 1966, 1970, 1973, 1975, 1977, 1981, 1982, 1983, 1985, 1988, - 1992, 1993, 1994, 1997, 1998, 1999, 2000, 2001, 2003, 2004, - 2010, 2012, 2015, 2018, 2020, 2022, 2025, 2027, 2031, 2033, - 2036, 2039, 2045, 2047, 2050, 2051, 2056, 2059, 2063, 2063, - 2068, 2071, 2072, 2076, 2077, 2082, 2083, 2087, 2088, 2092, - 2093, 2098, 2100, 2105, 2106, 2107, 2108, 2109, 2110, 2111, - 2113, 2116, 2118, 2122, 2123, 2124, 2125, 2126, 2128, 2130, - 2132, 2136, 2137, 2138, 2142, 2145, 2148, 2151, 2155, 2159, - 2166, 2170, 2177, 2178, 2183, 2185, 2186, 2189, 2190, 2193, - 2194, 2198, 2199, 2203, 2204, 2205, 2206, 2208, 2211, 2214, - 2215, 2216, 2218, 2220, 2224, 2225, 2226, 2228, 2229, 2230, - 2234, 2236, 2239, 2241, 2242, 2243, 2244, 2247, 2249, 2250, - 2254, 2256, 2259, 2261, 2262, 2263, 2267, 2269, 2272, 2275, - 2277, 2279, 2283, 2284, 2286, 2287, 2293, 2294, 2296, 2298, - 2300, 2302, 2305, 2306, 2307, 2311, 2312, 2313, 2314, 2315, - 2316, 2317, 2321, 2322, 2326, 2335, 2342, 2343, 2349, 2350, - 2358, 2361, 2365, 2368, 2373, 2374, 2375, 2376, 2380, 2381, - 2385, 2387, 2388, 2390, 2394, 2400, 2402, 2406, 2409, 2412, - 2421, 2424, 2427, 2428, 2431, 2432, 2436, 2441, 2445, 2451, - 2459, 2460 + 1852, 1853, 1854, 1855, 1856, 1857, 1858, 1859, 1863, 1868, + 1869, 1872, 1873, 1874, 1878, 1879, 1880, 1884, 1885, 1886, + 1890, 1891, 1892, 1895, 1897, 1901, 1902, 1903, 1905, 1906, + 1907, 1908, 1909, 1910, 1911, 1912, 1913, 1914, 1917, 1922, + 1923, 1924, 1925, 1926, 1928, 1929, 1932, 1933, 1937, 1940, + 1946, 1947, 1948, 1949, 1950, 1951, 1952, 1957, 1959, 1963, + 1964, 1967, 1968, 1972, 1975, 1977, 1979, 1983, 1984, 1985, + 1987, 1990, 1994, 1995, 1996, 1999, 2000, 2001, 2002, 2003, + 2005, 2006, 2012, 2014, 2017, 2020, 2022, 2024, 2027, 2029, + 2033, 2035, 2038, 2041, 2047, 2049, 2052, 2053, 2058, 2061, + 2065, 2065, 2070, 2073, 2074, 2078, 2079, 2084, 2085, 2089, + 2090, 2094, 2095, 2100, 2102, 2107, 2108, 2109, 2110, 2111, + 2112, 2113, 2115, 2118, 2120, 2124, 2125, 2126, 2127, 2128, + 2130, 2132, 2134, 2138, 2139, 2140, 2144, 2147, 2150, 2153, + 2157, 2161, 2168, 2172, 2179, 2180, 2185, 2187, 2188, 2191, + 2192, 2195, 2196, 2200, 2201, 2205, 2206, 2207, 2208, 2210, + 2213, 2216, 2217, 2218, 2220, 2222, 2226, 2227, 2228, 2230, + 2231, 2232, 2236, 2238, 2241, 2243, 2244, 2245, 2246, 2249, + 2251, 2252, 2256, 2258, 2261, 2263, 2264, 2265, 2269, 2271, + 2274, 2277, 2279, 2281, 2285, 2286, 2288, 2289, 2295, 2296, + 2298, 2300, 2302, 2304, 2307, 2308, 2309, 2313, 2314, 2315, + 2316, 2317, 2318, 2319, 2323, 2324, 2328, 2337, 2344, 2345, + 2351, 2352, 2360, 2363, 2367, 2370, 2375, 2376, 2377, 2378, + 2382, 2383, 2387, 2389, 2390, 2392, 2396, 2402, 2404, 2408, + 2411, 2414, 2423, 2426, 2429, 2430, 2433, 2434, 2438, 2443, + 2447, 2453, 2461, 2462 }; #endif @@ -1813,32 +1813,32 @@ static const yytype_uint16 yyr1[] = 313, 313, 313, 313, 313, 313, 313, 313, 313, 313, 313, 313, 313, 313, 313, 313, 313, 313, 313, 313, 313, 313, 313, 313, 313, 313, 313, 313, 313, 313, - 313, 313, 313, 313, 313, 313, 314, 315, 315, 316, - 316, 316, 317, 317, 317, 318, 318, 318, 319, 319, - 319, 320, 320, 321, 321, 321, 321, 321, 321, 321, - 321, 321, 321, 321, 321, 321, 321, 322, 322, 322, - 322, 322, 322, 322, 322, 322, 323, 323, 324, 324, - 324, 324, 324, 324, 324, 325, 325, 326, 326, 327, - 327, 328, 328, 328, 328, 329, 329, 329, 329, 329, - 330, 330, 330, 331, 331, 331, 331, 331, 331, 331, - 332, 332, 333, 333, 333, 333, 334, 334, 335, 335, - 336, 336, 337, 337, 338, 338, 339, 339, 341, 340, - 342, 343, 343, 344, 344, 345, 345, 346, 346, 347, - 347, 348, 348, 349, 349, 349, 349, 349, 349, 349, - 349, 349, 349, 350, 350, 350, 350, 350, 350, 350, - 350, 351, 351, 351, 352, 352, 352, 352, 352, 352, - 353, 353, 354, 354, 355, 355, 355, 356, 356, 357, - 357, 358, 358, 359, 359, 359, 359, 359, 359, 360, - 360, 360, 360, 360, 361, 361, 361, 361, 361, 361, - 362, 362, 363, 363, 363, 363, 363, 363, 363, 363, - 364, 364, 365, 365, 365, 365, 366, 366, 367, 367, - 367, 367, 368, 368, 368, 368, 369, 369, 369, 369, - 369, 369, 370, 370, 370, 371, 371, 371, 371, 371, - 371, 371, 372, 372, 373, 374, 375, 375, 376, 376, - 377, 377, 378, 378, 379, 379, 379, 379, 380, 380, - 381, 381, 381, 381, 382, 383, 383, 384, 384, 385, - 386, 386, 386, 386, 386, 386, 386, 386, 386, 386, - 387, 387 + 313, 313, 313, 313, 313, 313, 313, 313, 314, 315, + 315, 316, 316, 316, 317, 317, 317, 318, 318, 318, + 319, 319, 319, 320, 320, 321, 321, 321, 321, 321, + 321, 321, 321, 321, 321, 321, 321, 321, 321, 322, + 322, 322, 322, 322, 322, 322, 322, 322, 323, 323, + 324, 324, 324, 324, 324, 324, 324, 325, 325, 326, + 326, 327, 327, 328, 328, 328, 328, 329, 329, 329, + 329, 329, 330, 330, 330, 331, 331, 331, 331, 331, + 331, 331, 332, 332, 333, 333, 333, 333, 334, 334, + 335, 335, 336, 336, 337, 337, 338, 338, 339, 339, + 341, 340, 342, 343, 343, 344, 344, 345, 345, 346, + 346, 347, 347, 348, 348, 349, 349, 349, 349, 349, + 349, 349, 349, 349, 349, 350, 350, 350, 350, 350, + 350, 350, 350, 351, 351, 351, 352, 352, 352, 352, + 352, 352, 353, 353, 354, 354, 355, 355, 355, 356, + 356, 357, 357, 358, 358, 359, 359, 359, 359, 359, + 359, 360, 360, 360, 360, 360, 361, 361, 361, 361, + 361, 361, 362, 362, 363, 363, 363, 363, 363, 363, + 363, 363, 364, 364, 365, 365, 365, 365, 366, 366, + 367, 367, 367, 367, 368, 368, 368, 368, 369, 369, + 369, 369, 369, 369, 370, 370, 370, 371, 371, 371, + 371, 371, 371, 371, 372, 372, 373, 374, 375, 375, + 376, 376, 377, 377, 378, 378, 379, 379, 379, 379, + 380, 380, 381, 381, 381, 381, 382, 383, 383, 384, + 384, 385, 386, 386, 386, 386, 386, 386, 386, 386, + 386, 386, 387, 387 }; /* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN. */ @@ -1890,32 +1890,32 @@ static const yytype_uint8 yyr2[] = 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 4, 1, 1, 1, - 1, 1, 1, 1, 1, 2, 1, 0, 0, 1, - 1, 3, 0, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 3, 2, 1, 1, 2, - 2, 4, 3, 4, 1, 1, 3, 3, 1, 1, - 1, 1, 3, 3, 3, 2, 0, 1, 0, 1, - 0, 5, 3, 3, 1, 1, 1, 1, 3, 2, - 1, 1, 1, 1, 1, 2, 2, 4, 3, 4, - 2, 0, 5, 3, 3, 1, 3, 1, 2, 0, - 5, 3, 2, 0, 3, 0, 4, 2, 0, 3, - 3, 1, 0, 1, 2, 2, 4, 3, 3, 2, - 4, 2, 4, 1, 1, 1, 1, 1, 2, 4, - 3, 4, 3, 1, 1, 1, 1, 2, 4, 4, - 3, 1, 1, 3, 7, 6, 8, 9, 8, 10, - 7, 6, 1, 2, 4, 4, 1, 1, 4, 1, - 0, 1, 2, 1, 1, 2, 4, 3, 3, 0, - 1, 2, 4, 3, 2, 3, 6, 0, 1, 4, - 2, 0, 5, 3, 3, 1, 6, 4, 4, 2, - 2, 0, 5, 3, 3, 1, 2, 0, 5, 3, - 3, 1, 2, 2, 1, 2, 1, 4, 3, 3, - 6, 3, 1, 1, 1, 4, 4, 2, 2, 4, - 2, 2, 1, 3, 3, 5, 1, 2, 1, 4, - 3, 0, 1, 3, 3, 1, 1, 0, 0, 2, - 3, 1, 5, 3, 3, 3, 1, 2, 0, 4, - 2, 2, 1, 1, 1, 4, 6, 1, 8, 5, - 1, 0 + 1, 1, 1, 1, 1, 1, 1, 1, 4, 1, + 1, 1, 1, 1, 1, 1, 1, 2, 1, 0, + 0, 1, 1, 3, 0, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 3, 2, 1, + 1, 2, 2, 4, 3, 4, 1, 1, 3, 3, + 1, 1, 1, 1, 3, 3, 3, 2, 0, 1, + 0, 1, 0, 5, 3, 3, 1, 1, 1, 1, + 3, 2, 1, 1, 1, 1, 1, 2, 2, 4, + 3, 4, 2, 0, 5, 3, 3, 1, 3, 1, + 2, 0, 5, 3, 2, 0, 3, 0, 4, 2, + 0, 3, 3, 1, 0, 1, 2, 2, 4, 3, + 3, 2, 4, 2, 4, 1, 1, 1, 1, 1, + 2, 4, 3, 4, 3, 1, 1, 1, 1, 2, + 4, 4, 3, 1, 1, 3, 7, 6, 8, 9, + 8, 10, 7, 6, 1, 2, 4, 4, 1, 1, + 4, 1, 0, 1, 2, 1, 1, 2, 4, 3, + 3, 0, 1, 2, 4, 3, 2, 3, 6, 0, + 1, 4, 2, 0, 5, 3, 3, 1, 6, 4, + 4, 2, 2, 0, 5, 3, 3, 1, 2, 0, + 5, 3, 3, 1, 2, 2, 1, 2, 1, 4, + 3, 3, 6, 3, 1, 1, 1, 4, 4, 2, + 2, 4, 2, 2, 1, 3, 3, 5, 1, 2, + 1, 4, 3, 0, 1, 3, 3, 1, 1, 0, + 0, 2, 3, 1, 5, 3, 3, 3, 1, 2, + 0, 4, 2, 2, 1, 1, 1, 4, 6, 1, + 8, 5, 1, 0 }; /* YYDEFACT[STATE-NAME] -- Default rule to reduce with in state @@ -1924,114 +1924,114 @@ static const yytype_uint8 yyr2[] = static const yytype_uint16 yydefact[] = { 2, 0, 5, 1, 3, 0, 0, 0, 0, 0, - 0, 558, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 631, 0, 619, 477, - 0, 483, 484, 19, 509, 607, 70, 485, 0, 52, + 0, 560, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 633, 0, 621, 479, + 0, 485, 486, 19, 511, 609, 70, 487, 0, 52, 0, 0, 0, 0, 0, 0, 0, 0, 91, 0, - 0, 0, 0, 0, 0, 0, 0, 470, 0, 0, - 0, 0, 112, 0, 0, 0, 489, 491, 492, 486, - 487, 0, 0, 493, 488, 0, 0, 468, 20, 21, - 22, 24, 23, 0, 490, 0, 0, 0, 494, 0, - 69, 42, 611, 478, 0, 0, 4, 31, 33, 36, - 508, 0, 467, 0, 6, 90, 7, 8, 9, 0, + 0, 0, 0, 0, 0, 0, 0, 472, 0, 0, + 0, 0, 112, 0, 0, 0, 491, 493, 494, 488, + 489, 0, 0, 495, 490, 0, 0, 470, 20, 21, + 22, 24, 23, 0, 492, 0, 0, 0, 496, 0, + 69, 42, 613, 480, 0, 0, 4, 31, 33, 36, + 510, 0, 469, 0, 6, 90, 7, 8, 9, 0, 275, 0, 0, 0, 0, 273, 339, 338, 347, 346, - 0, 264, 574, 469, 0, 511, 337, 0, 577, 274, - 0, 0, 575, 576, 573, 602, 606, 0, 327, 510, - 10, 470, 0, 0, 31, 90, 671, 274, 670, 0, - 668, 667, 341, 0, 0, 311, 312, 313, 314, 336, - 334, 333, 332, 331, 330, 329, 328, 470, 0, 681, - 469, 0, 294, 292, 0, 635, 0, 518, 263, 473, - 0, 681, 472, 0, 482, 614, 613, 474, 0, 0, - 476, 335, 0, 0, 0, 267, 0, 50, 269, 0, - 0, 56, 58, 0, 0, 60, 0, 0, 0, 703, - 707, 0, 0, 31, 702, 0, 704, 0, 62, 0, + 0, 264, 576, 471, 0, 513, 337, 0, 579, 274, + 0, 0, 577, 578, 575, 604, 608, 0, 327, 512, + 10, 472, 0, 0, 31, 90, 673, 274, 672, 0, + 670, 669, 341, 0, 0, 311, 312, 313, 314, 336, + 334, 333, 332, 331, 330, 329, 328, 472, 0, 683, + 471, 0, 294, 292, 0, 637, 0, 520, 263, 475, + 0, 683, 474, 0, 484, 616, 615, 476, 0, 0, + 478, 335, 0, 0, 0, 267, 0, 50, 269, 0, + 0, 56, 58, 0, 0, 60, 0, 0, 0, 705, + 709, 0, 0, 31, 704, 0, 706, 0, 62, 0, 42, 0, 0, 0, 26, 27, 176, 0, 0, 175, - 114, 113, 181, 90, 0, 0, 0, 0, 0, 678, - 100, 110, 627, 631, 656, 0, 496, 0, 0, 0, - 654, 0, 15, 0, 35, 0, 270, 104, 111, 379, - 354, 0, 275, 0, 273, 274, 0, 0, 479, 0, - 480, 0, 0, 0, 82, 0, 0, 38, 169, 0, + 114, 113, 181, 90, 0, 0, 0, 0, 0, 680, + 100, 110, 629, 633, 658, 0, 498, 0, 0, 0, + 656, 0, 15, 0, 35, 0, 270, 104, 111, 379, + 354, 0, 275, 0, 273, 274, 0, 0, 481, 0, + 482, 0, 0, 0, 82, 0, 0, 38, 169, 0, 18, 89, 0, 109, 96, 108, 79, 80, 81, 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, 619, 78, 610, 610, 641, 0, + 0, 0, 0, 0, 621, 78, 612, 612, 643, 0, 0, 0, 90, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 293, 291, 0, 578, - 563, 610, 0, 569, 169, 610, 0, 612, 603, 627, - 0, 0, 0, 560, 555, 518, 0, 0, 0, 0, - 639, 0, 359, 517, 630, 0, 0, 38, 0, 169, - 262, 0, 615, 563, 571, 475, 0, 42, 149, 0, + 0, 0, 0, 0, 0, 0, 293, 291, 0, 580, + 565, 612, 0, 571, 169, 612, 0, 614, 605, 629, + 0, 0, 0, 562, 557, 520, 0, 0, 0, 0, + 641, 0, 359, 519, 632, 0, 0, 38, 0, 169, + 262, 0, 617, 565, 573, 477, 0, 42, 149, 0, 67, 0, 0, 268, 0, 0, 0, 0, 0, 59, - 77, 61, 700, 701, 0, 698, 0, 0, 682, 0, - 677, 63, 0, 76, 28, 0, 17, 0, 0, 177, - 0, 65, 0, 0, 0, 66, 672, 0, 0, 0, - 0, 0, 120, 0, 628, 0, 0, 0, 0, 495, - 655, 509, 0, 0, 653, 514, 652, 34, 5, 12, - 13, 64, 118, 0, 0, 348, 0, 518, 0, 0, - 261, 324, 582, 47, 41, 43, 44, 45, 46, 0, - 340, 512, 513, 32, 0, 0, 0, 520, 170, 0, + 77, 61, 702, 703, 0, 700, 0, 0, 684, 0, + 679, 63, 0, 76, 28, 0, 17, 0, 0, 177, + 0, 65, 0, 0, 0, 66, 674, 0, 0, 0, + 0, 0, 120, 0, 630, 0, 0, 0, 0, 497, + 657, 511, 0, 0, 655, 516, 654, 34, 5, 12, + 13, 64, 118, 0, 0, 348, 0, 520, 0, 0, + 261, 324, 584, 47, 41, 43, 44, 45, 46, 0, + 340, 514, 515, 32, 0, 0, 0, 522, 170, 0, 342, 92, 116, 297, 299, 298, 0, 0, 295, 296, 300, 302, 301, 316, 315, 318, 317, 319, 321, 322, 320, 310, 309, 304, 305, 303, 306, 307, 308, 323, - 609, 0, 0, 645, 0, 518, 674, 580, 602, 102, + 611, 0, 0, 647, 0, 520, 676, 582, 604, 102, 106, 0, 98, 0, 0, 271, 277, 290, 289, 288, - 287, 286, 285, 284, 283, 282, 281, 280, 0, 565, - 564, 0, 0, 0, 0, 0, 0, 669, 553, 557, - 517, 559, 0, 0, 681, 0, 634, 0, 633, 0, - 618, 617, 0, 0, 565, 564, 265, 151, 153, 266, + 287, 286, 285, 284, 283, 282, 281, 280, 0, 567, + 566, 0, 0, 0, 0, 0, 0, 671, 555, 559, + 519, 561, 0, 0, 683, 0, 636, 0, 635, 0, + 620, 619, 0, 0, 567, 566, 265, 151, 153, 266, 0, 42, 133, 51, 269, 0, 0, 0, 0, 145, - 145, 57, 0, 0, 696, 518, 0, 687, 0, 0, - 0, 516, 0, 0, 468, 0, 36, 498, 467, 505, - 0, 497, 40, 504, 85, 0, 25, 29, 0, 174, - 182, 344, 179, 0, 0, 665, 666, 11, 691, 0, - 0, 0, 627, 624, 0, 358, 664, 663, 662, 0, - 658, 0, 659, 661, 0, 5, 0, 0, 373, 374, - 382, 381, 0, 0, 517, 353, 357, 0, 0, 579, - 563, 570, 608, 0, 680, 171, 466, 519, 168, 0, - 562, 0, 0, 118, 326, 0, 362, 363, 0, 360, - 517, 640, 0, 169, 120, 118, 94, 116, 619, 278, - 0, 0, 169, 567, 568, 581, 604, 605, 0, 0, - 0, 541, 525, 526, 527, 0, 0, 0, 534, 533, - 547, 518, 0, 555, 638, 637, 0, 616, 563, 572, - 481, 0, 155, 0, 0, 48, 0, 0, 0, 0, + 145, 57, 0, 0, 698, 520, 0, 689, 0, 0, + 0, 518, 0, 0, 470, 0, 36, 500, 469, 507, + 0, 499, 40, 506, 85, 0, 25, 29, 0, 174, + 182, 344, 179, 0, 0, 667, 668, 11, 693, 0, + 0, 0, 629, 626, 0, 358, 666, 665, 664, 0, + 660, 0, 661, 663, 0, 5, 0, 0, 373, 374, + 382, 381, 0, 0, 519, 353, 357, 0, 0, 581, + 565, 572, 610, 0, 682, 171, 468, 521, 168, 0, + 564, 0, 0, 118, 326, 0, 362, 363, 0, 360, + 519, 642, 0, 169, 120, 118, 94, 116, 621, 278, + 0, 0, 169, 569, 570, 583, 606, 607, 0, 0, + 0, 543, 527, 528, 529, 0, 0, 0, 536, 535, + 549, 520, 0, 557, 640, 639, 0, 618, 565, 574, + 483, 0, 155, 0, 0, 48, 0, 0, 0, 0, 126, 127, 137, 0, 42, 135, 73, 145, 0, 145, - 0, 0, 705, 0, 517, 697, 699, 686, 685, 0, - 683, 499, 500, 524, 0, 518, 516, 0, 0, 356, - 0, 647, 0, 75, 0, 30, 178, 562, 0, 673, - 68, 0, 0, 679, 119, 121, 184, 0, 0, 625, - 0, 657, 0, 16, 0, 117, 184, 0, 0, 350, - 0, 675, 0, 565, 564, 683, 0, 172, 39, 158, - 0, 520, 561, 711, 562, 115, 0, 325, 644, 643, - 169, 0, 0, 0, 0, 118, 482, 566, 169, 0, - 0, 530, 531, 532, 535, 536, 545, 0, 518, 541, - 0, 529, 549, 517, 552, 554, 556, 0, 632, 566, + 0, 0, 707, 0, 519, 699, 701, 688, 687, 0, + 685, 501, 502, 526, 0, 520, 518, 0, 0, 356, + 0, 649, 0, 75, 0, 30, 178, 564, 0, 675, + 68, 0, 0, 681, 119, 121, 184, 0, 0, 627, + 0, 659, 0, 16, 0, 117, 184, 0, 0, 350, + 0, 677, 0, 567, 566, 685, 0, 172, 39, 158, + 0, 522, 563, 713, 564, 115, 0, 325, 646, 645, + 169, 0, 0, 0, 0, 118, 484, 568, 169, 0, + 0, 532, 533, 534, 537, 538, 547, 0, 520, 543, + 0, 531, 551, 519, 554, 556, 558, 0, 634, 568, 0, 0, 0, 0, 152, 53, 0, 269, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 139, 0, - 694, 695, 0, 0, 709, 0, 502, 517, 515, 0, - 507, 0, 518, 0, 506, 651, 0, 518, 0, 0, - 0, 180, 693, 690, 0, 246, 629, 627, 272, 276, + 696, 697, 0, 0, 711, 0, 504, 519, 517, 0, + 509, 0, 520, 0, 508, 653, 0, 520, 0, 0, + 0, 180, 695, 692, 0, 246, 631, 629, 272, 276, 0, 14, 246, 385, 0, 0, 387, 380, 383, 0, - 378, 0, 0, 0, 169, 173, 688, 562, 157, 710, - 0, 0, 184, 0, 0, 601, 184, 184, 562, 0, - 279, 169, 0, 595, 0, 538, 517, 540, 0, 528, - 0, 0, 518, 546, 636, 0, 42, 0, 148, 134, + 378, 0, 0, 0, 169, 173, 690, 564, 157, 712, + 0, 0, 184, 0, 0, 603, 184, 184, 564, 0, + 279, 169, 0, 597, 0, 540, 519, 542, 0, 530, + 0, 0, 520, 548, 638, 0, 42, 0, 148, 134, 0, 125, 71, 138, 0, 0, 141, 0, 146, 147, - 42, 140, 706, 684, 0, 523, 522, 501, 0, 517, - 355, 503, 0, 361, 517, 646, 0, 42, 688, 0, + 42, 140, 708, 686, 0, 525, 524, 503, 0, 519, + 355, 505, 0, 361, 519, 648, 0, 42, 690, 0, 122, 0, 0, 249, 250, 251, 254, 253, 252, 244, 0, 0, 0, 101, 183, 185, 0, 243, 247, 0, - 246, 0, 660, 105, 376, 0, 0, 349, 566, 169, - 0, 0, 368, 156, 711, 0, 160, 688, 246, 642, - 600, 246, 246, 0, 184, 0, 594, 544, 543, 537, - 0, 539, 517, 548, 42, 154, 49, 54, 0, 136, - 142, 42, 144, 0, 0, 352, 0, 650, 649, 0, - 0, 368, 692, 0, 0, 123, 213, 211, 468, 24, + 246, 0, 662, 105, 376, 0, 0, 349, 568, 169, + 0, 0, 368, 156, 713, 0, 160, 690, 246, 644, + 602, 246, 246, 0, 184, 0, 596, 546, 545, 539, + 0, 541, 519, 550, 42, 154, 49, 54, 0, 136, + 142, 42, 144, 0, 0, 352, 0, 652, 651, 0, + 0, 368, 694, 0, 0, 123, 213, 211, 470, 24, 0, 207, 0, 212, 223, 0, 221, 226, 0, 225, 0, 224, 0, 90, 248, 187, 0, 189, 0, 245, - 626, 377, 375, 386, 384, 169, 0, 598, 689, 0, - 0, 0, 161, 0, 0, 97, 103, 107, 688, 246, - 596, 0, 551, 0, 150, 0, 42, 131, 72, 143, - 708, 521, 0, 0, 0, 86, 0, 0, 0, 197, + 628, 377, 375, 386, 384, 169, 0, 600, 691, 0, + 0, 0, 161, 0, 0, 97, 103, 107, 690, 246, + 598, 0, 553, 0, 150, 0, 42, 131, 72, 143, + 710, 523, 0, 0, 0, 86, 0, 0, 0, 197, 201, 0, 0, 194, 436, 435, 432, 434, 433, 452, 454, 453, 424, 414, 430, 429, 392, 401, 402, 404, 403, 423, 407, 405, 406, 408, 409, 410, 411, 412, @@ -2039,23 +2039,24 @@ static const yytype_uint16 yydefact[] = 394, 395, 397, 398, 400, 438, 439, 448, 447, 446, 445, 444, 443, 431, 449, 440, 441, 442, 425, 426, 427, 428, 450, 451, 455, 457, 456, 458, 459, 437, - 461, 460, 396, 463, 464, 399, 465, 462, 391, 218, - 388, 0, 195, 239, 240, 238, 231, 0, 232, 196, - 257, 0, 0, 0, 0, 90, 0, 597, 0, 42, - 0, 164, 0, 163, 42, 0, 99, 542, 0, 42, - 129, 55, 0, 351, 648, 42, 42, 260, 124, 0, - 0, 215, 208, 0, 0, 0, 220, 222, 0, 0, - 227, 234, 235, 233, 0, 0, 186, 0, 0, 0, - 0, 599, 0, 371, 520, 0, 165, 0, 162, 0, - 42, 550, 0, 0, 0, 0, 198, 31, 0, 199, - 200, 0, 0, 214, 217, 389, 390, 0, 209, 236, - 237, 229, 230, 228, 258, 255, 190, 188, 259, 0, - 372, 519, 0, 343, 0, 167, 93, 0, 0, 132, - 84, 345, 0, 246, 216, 219, 0, 562, 192, 0, - 369, 367, 166, 95, 130, 88, 205, 0, 245, 256, - 0, 562, 370, 0, 87, 74, 0, 0, 204, 688, - 0, 0, 0, 203, 0, 688, 0, 202, 241, 42, - 191, 0, 0, 0, 193, 0, 242, 42, 0, 83 + 461, 460, 396, 463, 465, 464, 399, 467, 466, 462, + 391, 218, 388, 0, 195, 239, 240, 238, 231, 0, + 232, 196, 257, 0, 0, 0, 0, 90, 0, 599, + 0, 42, 0, 164, 0, 163, 42, 0, 99, 544, + 0, 42, 129, 55, 0, 351, 650, 42, 42, 260, + 124, 0, 0, 215, 208, 0, 0, 0, 220, 222, + 0, 0, 227, 234, 235, 233, 0, 0, 186, 0, + 0, 0, 0, 601, 0, 371, 522, 0, 165, 0, + 162, 0, 42, 552, 0, 0, 0, 0, 198, 31, + 0, 199, 200, 0, 0, 214, 217, 389, 390, 0, + 209, 236, 237, 229, 230, 228, 258, 255, 190, 188, + 259, 0, 372, 521, 0, 343, 0, 167, 93, 0, + 0, 132, 84, 345, 0, 246, 216, 219, 0, 564, + 192, 0, 369, 367, 166, 95, 130, 88, 205, 0, + 245, 256, 0, 564, 370, 0, 87, 74, 0, 0, + 204, 690, 0, 0, 0, 203, 0, 690, 0, 202, + 241, 42, 191, 0, 0, 0, 193, 0, 242, 42, + 0, 83 }; /* YYDEFGOTO[NTERM-NUM]. */ @@ -2063,18 +2064,18 @@ static const yytype_int16 yydefgoto[] = { -1, 1, 2, 4, 96, 625, 438, 144, 223, 224, 98, 99, 100, 101, 102, 103, 266, 454, 455, 382, - 196, 1075, 388, 1008, 1295, 743, 744, 1305, 282, 145, + 196, 1075, 388, 1008, 1297, 743, 744, 1307, 282, 145, 456, 651, 794, 457, 472, 667, 422, 664, 458, 442, 665, 284, 240, 257, 109, 653, 627, 611, 754, 1024, - 830, 710, 1201, 1078, 563, 716, 387, 571, 718, 930, + 830, 710, 1203, 1078, 563, 716, 387, 571, 718, 930, 558, 702, 705, 822, 780, 781, 466, 467, 228, 229, - 234, 865, 964, 1042, 1183, 1287, 1301, 1209, 1249, 1250, - 1251, 1030, 1031, 1032, 1210, 1216, 1258, 1035, 1036, 1040, - 1176, 1177, 1178, 1320, 965, 966, 967, 968, 1181, 969, + 234, 865, 964, 1042, 1185, 1289, 1303, 1211, 1251, 1252, + 1253, 1030, 1031, 1032, 1212, 1218, 1260, 1035, 1036, 1040, + 1178, 1179, 1180, 1322, 965, 966, 967, 968, 1183, 969, 110, 190, 383, 384, 111, 112, 113, 114, 115, 650, 747, 446, 447, 852, 448, 853, 116, 117, 118, 589, - 119, 120, 1060, 1234, 121, 443, 1052, 444, 767, 632, - 880, 877, 1169, 1170, 122, 123, 124, 184, 191, 269, + 119, 120, 1060, 1236, 121, 443, 1052, 444, 767, 632, + 880, 877, 1171, 1172, 122, 123, 124, 184, 191, 269, 370, 125, 733, 593, 126, 734, 364, 648, 735, 689, 804, 806, 807, 808, 691, 911, 912, 692, 539, 355, 153, 154, 127, 783, 339, 340, 641, 128, 185, 147, @@ -2086,428 +2087,435 @@ static const yytype_int16 yydefgoto[] = /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing STATE-NUM. */ -#define YYPACT_NINF -952 +#define YYPACT_NINF -951 static const yytype_int16 yypact[] = { - -952, 113, -952, -952, 3428, 9623, 9623, -64, 9623, 9623, - 9623, -952, 9623, 9623, 9623, 9623, 9623, 9623, 9623, 9623, - 9623, 9623, 9623, 9623, 2321, 2321, 2897, 9623, 2682, -45, - -43, -952, -952, -952, -952, -952, -952, -952, 9623, -952, - -43, -25, -7, 131, -43, 7322, 974, 7499, -952, 1538, - 7676, 134, 9623, 986, 22, 125, 197, 262, 161, 194, - 198, 203, -952, 974, 205, 207, -952, -952, -952, -952, - -952, 349, 811, -952, -952, 974, 7853, -952, -952, -952, - -952, -952, -952, 974, -952, 216, 212, 974, -952, 9623, - -952, -952, 220, 218, 467, 467, -952, 359, 247, 298, - -952, 227, -952, 35, -952, 373, -952, -952, -952, 592, - -952, 238, 246, 253, 8016, -952, -952, 367, -952, 369, - 376, -952, 86, 271, 311, -952, -952, -10, 90, 1706, - 92, 284, 93, 95, 300, 106, -952, 114, -952, 417, - -952, 381, 315, 345, -952, 373, 10885, 2281, 10885, 9623, - 10885, 10885, 3591, 452, 974, -952, -952, 446, -952, -952, - -952, -952, -952, -952, -952, -952, -952, -952, 2014, 342, - -952, 366, 390, 390, 2321, 10578, 338, 509, -952, 387, - 2014, 342, 388, 393, 360, 96, -952, 422, 92, 8030, - -952, -952, 9623, 6260, 39, 10885, 7145, -952, 9623, 9623, - 974, -952, -952, 9432, 374, -952, 9609, 1538, 1538, 382, - -952, 378, 691, 543, -952, 546, -952, 974, -952, 9786, - -952, 10454, 974, 40, -952, 162, -952, 2139, 42, -952, - -952, -952, 547, 373, 43, 2321, 2321, 2321, 386, 400, - -952, -952, 2202, 2897, -3, -8, -952, 9800, 2321, 441, - -952, 974, -952, 186, 247, 395, 10885, -952, -952, -952, - 489, 560, 404, 10885, 406, 1322, 3605, 9623, 231, 405, - 548, 231, 334, 204, -952, 974, 1538, 412, 8207, 1538, - -952, -952, 743, -952, -952, -952, -952, -952, -952, 9623, - 9623, 9623, 8384, 9623, 9623, 9623, 9623, 9623, 9623, 9623, - 9623, 9623, 9623, 9623, 9623, 9623, 9623, 9623, 9623, 9623, - 9623, 9623, 9623, 9623, 2682, -952, 9623, 9623, 9623, 817, - 974, 974, 373, 592, 2598, 9623, 9623, 9623, 9623, 9623, - 9623, 9623, 9623, 9623, 9623, 9623, -952, -952, 633, -952, - 97, 9623, 9623, -952, 8207, 9623, 9623, 220, 101, 2202, - 414, 8561, 10495, -952, 415, 580, 2014, 419, -34, 817, - 390, 8738, -952, 8915, -952, 430, -23, -952, 133, 8207, - -952, 651, -952, 103, -952, -952, 10537, -952, -952, 9623, - -952, 511, 6437, 595, 435, 10778, 598, 62, 11, -952, - -952, -952, -952, -952, 1538, 529, 443, 609, -952, 1965, - -952, -952, 3782, -952, 167, 986, -952, 974, 9623, 390, - 22, -952, 1965, 449, 550, -952, 390, 69, 72, 181, - 457, 974, 512, 454, 390, 77, 462, 854, 974, -952, - -952, 587, 2410, 146, -952, -952, -952, 247, -952, -952, - -952, -952, 521, 490, -6, -952, 533, 650, 493, 1538, - 56, 600, 91, -952, -952, -952, -952, -952, -952, 2769, - -952, -952, -952, -952, 30, 2321, 496, 657, 10885, 646, - -952, -952, 554, 7485, 3417, 3591, 9623, 10844, 3944, 4120, - 4296, 3242, 4471, 4648, 4648, 4648, 4648, 2878, 2878, 2878, - 2878, 1116, 1116, 505, 505, 505, 446, 446, 446, -952, - 10885, 502, 506, 10640, 504, 677, -48, 528, 101, -952, - -952, 974, -952, 372, 9623, -952, 3591, 3591, 3591, 3591, - 3591, 3591, 3591, 3591, 3591, 3591, 3591, 3591, 9623, -48, - 531, 525, 10079, 534, 530, 10120, 83, -952, 1446, -952, - 974, -952, 404, 56, 342, 2321, 10885, 2321, 10682, 124, - 115, -952, 537, 9623, -952, -952, -952, 6083, 67, 10885, - -43, -952, -952, -952, 9623, 1258, 1965, 974, 6614, 540, - 545, -952, 60, 589, -952, 707, 552, 942, 1538, 1965, - 1965, 1965, 551, -11, 578, 555, 9, -952, 586, -952, - 562, -952, -952, -952, 625, 974, -952, -952, 10161, -952, - -952, -952, 720, 2321, 565, -952, -952, -952, 656, 65, - 1003, 577, 2202, 2247, 738, -952, -952, -952, -952, 575, - -952, 9623, -952, -952, 3074, -952, 1003, 581, -952, -952, - -952, -952, 742, 9623, 489, -952, -952, 591, 781, -952, - 117, -952, -952, 1538, -952, 390, -952, 9092, -952, 1965, - 37, 588, 1003, 521, 3768, 9623, -952, -952, 9623, -952, - 9623, -952, 601, 8207, 512, 521, -952, 554, 2682, 390, - 10202, 604, 8207, -952, -952, 137, -952, -952, 746, 873, - 873, 1446, -952, -952, -952, 605, -2, 608, -952, -952, - -952, 757, 612, 415, 390, 390, 9269, -952, 149, -952, - -952, 10246, 274, -43, 7145, -952, 616, 3959, 619, 2321, - 658, 390, -952, 779, -952, -952, -952, -952, 354, -952, - 17, 1538, -952, 1538, 529, -952, -952, -952, 785, 624, - 626, -952, -952, 676, 630, 802, 1965, 674, 974, 489, - 974, 1965, 643, -952, 659, -952, -952, 37, 1965, 390, - -952, 1538, 974, -952, 808, -952, -952, 84, 647, 390, - 9446, -952, 1843, -952, 3251, 808, -952, 166, -31, 10885, - 698, -952, 9623, -48, 652, -952, 2321, 10885, -952, -952, - 654, 819, -952, 1538, 37, -952, 661, 3768, 10885, 10736, - 8207, 660, 663, 668, 675, 521, 360, 678, 8207, 679, - 9623, -952, -952, -952, -952, -952, 708, 669, 839, 1446, - 714, -952, 489, 1446, -952, -952, -952, 2321, 10885, -952, - -43, 829, 790, 7145, -952, -952, 688, 9623, 390, 1258, - 692, 1965, 4136, 416, 690, 9623, 23, 192, -952, 702, - -952, -952, 1033, 840, -952, 1965, -952, 1965, -952, 696, - -952, 747, 860, 700, -952, 753, 703, 868, 1003, 706, - 710, -952, -952, 793, 1003, 488, -952, 2202, -952, 3591, - 711, -952, 1146, -952, 135, 9623, -952, -952, -952, 9623, - -952, 9623, 10287, 717, 8207, 390, 867, 87, -952, -952, - 88, 726, -952, 9623, 728, -952, -952, -952, 37, 730, - -952, 8207, 744, -952, 1446, -952, 1446, -952, 748, -952, - 792, 750, 893, -952, 390, 897, -952, 763, -952, -952, - 765, -952, -952, -952, 773, 776, -952, 10413, -952, -952, - -952, -952, -952, -952, 1538, -952, 815, -952, 1965, 489, - -952, -952, 1965, -952, 1965, -952, 876, -952, 867, 1538, - -952, 1538, 1003, -952, -952, -952, -952, -952, -952, -952, - 350, 800, 501, -952, -952, -952, 381, 1467, -952, 46, - 799, 85, -952, -952, 807, 10328, 10369, 10885, 787, 8207, - 803, 1538, 871, -952, 1538, 898, 963, 867, 1352, 10885, - -952, 1566, 1800, 810, -952, 814, -952, -952, 856, -952, - 1446, -952, 489, -952, -952, 6083, -952, -952, 6791, -952, - -952, -952, 6083, 816, 1965, -952, 857, -952, 864, 820, - 4313, 871, -952, 977, 31, -952, -952, -952, 47, 821, - 48, -952, 9928, -952, -952, 49, -952, -952, 544, -952, - 823, -952, 924, 373, -952, -952, 1538, -952, 381, 799, - -952, -952, -952, -952, -952, 8207, 828, -952, -952, 830, - 836, 107, 997, 1965, 842, -952, -952, -952, 867, 1873, - -952, 1446, -952, 890, 6083, 6968, -952, -952, -952, 6083, - -952, -952, 1965, 1965, 844, -952, 846, 1965, 1003, -952, - -952, 2547, 350, -952, -952, -952, -952, -952, -952, -952, - -952, -952, -952, -952, -952, -952, -952, -952, -952, -952, - -952, -952, -952, -952, -952, -952, -952, -952, -952, -952, - -952, -952, -952, -952, -952, -952, -952, -952, -952, -952, - -952, -952, -952, -952, -952, -952, -952, -952, -952, -952, - -952, -952, -952, -952, -952, -952, -952, -952, -952, -952, - -952, -952, -952, -952, -952, -952, -952, -952, -952, -952, - -952, -952, -952, -952, -952, -952, -952, -952, -952, 89, - -952, 800, -952, -952, -952, -952, -952, 61, 78, -952, - 1007, 52, 974, 924, 1016, 373, 859, -952, 256, -952, - 958, 1019, 1965, -952, -952, 862, -952, -952, 1446, -952, - -952, -952, 4490, -952, -952, -952, -952, -952, -952, 494, - 27, -952, -952, 1965, 9928, 9928, 982, -952, 544, 544, - 411, -952, -952, -952, 1965, 965, -952, 866, 55, 1965, - 974, -952, 966, -952, 1032, 4667, 1028, 1965, -952, 4844, - -952, -952, 5021, 875, 5198, 5375, -952, 953, 909, -952, - -952, 960, 2547, -952, -952, -952, -952, 901, -952, 1022, - -952, -952, -952, -952, -952, 1042, -952, -952, -952, 886, - -952, 290, 892, -952, 1965, -952, -952, 5552, 889, -952, - -952, -952, 974, 799, -952, -952, 1965, 37, -952, 995, - -952, -952, -952, -952, -952, -18, 918, 974, 239, -952, - 905, 37, -952, 908, -952, -952, 1003, 907, -952, 867, - 911, 1003, 58, -952, 269, 867, 1012, -952, -952, -952, - -952, 269, 921, 5729, -952, 916, -952, -952, 5906, -952 + -951, 106, -951, -951, 3488, 9683, 9683, -73, 9683, 9683, + 9683, -951, 9683, 9683, 9683, 9683, 9683, 9683, 9683, 9683, + 9683, 9683, 9683, 9683, 2081, 2081, 2957, 9683, 2831, -67, + -52, -951, -951, -951, -951, -951, -951, -951, 9683, -951, + -52, -46, -3, 98, -52, 7382, 778, 7559, -951, 1633, + 7736, -64, 9683, 714, 18, 10, 89, 22, 111, 119, + 132, 141, -951, 778, 155, 163, -951, -951, -951, -951, + -951, 435, 687, -951, -951, 778, 7913, -951, -951, -951, + -951, -951, -951, 778, -951, 168, 171, 778, -951, 9683, + -951, -951, 193, 409, 594, 594, -951, 202, 214, -39, + -951, 215, -951, 39, -951, 359, -951, -951, -951, 279, + -951, 225, 243, 250, 8076, -951, -951, 348, -951, 365, + 377, -951, 90, 273, 336, -951, -951, 693, 87, 892, + 92, 339, 94, 97, 358, 14, -951, 40, -951, 445, + -951, 431, 372, 406, -951, 359, 10945, 1867, 10945, 9683, + 10945, 10945, 3651, 511, 778, -951, -951, 513, -951, -951, + -951, -951, -951, -951, -951, -951, -951, -951, 2061, 407, + -951, 436, 456, 456, 2081, 10638, 394, 574, -951, 440, + 2061, 407, 444, 447, 415, 100, -951, 469, 92, 8090, + -951, -951, 9683, 6320, 42, 10945, 7205, -951, 9683, 9683, + 778, -951, -951, 9492, 420, -951, 9669, 1633, 1633, 441, + -951, 437, 350, 593, -951, 603, -951, 778, -951, 9846, + -951, 10514, 778, 44, -951, 12, -951, 1995, 47, -951, + -951, -951, 604, 359, 48, 2081, 2081, 2081, 448, 459, + -951, -951, 2195, 2957, 17, 304, -951, 9860, 2081, 545, + -951, 778, -951, -51, 214, 455, 10945, -951, -951, -951, + 550, 620, 465, 10945, 468, 628, 3665, 9683, 201, 479, + 662, 201, 209, 281, -951, 778, 1633, 488, 8267, 1633, + -951, -951, 408, -951, -951, -951, -951, -951, -951, 9683, + 9683, 9683, 8444, 9683, 9683, 9683, 9683, 9683, 9683, 9683, + 9683, 9683, 9683, 9683, 9683, 9683, 9683, 9683, 9683, 9683, + 9683, 9683, 9683, 9683, 2831, -951, 9683, 9683, 9683, 742, + 778, 778, 359, 279, 2658, 9683, 9683, 9683, 9683, 9683, + 9683, 9683, 9683, 9683, 9683, 9683, -951, -951, 337, -951, + 103, 9683, 9683, -951, 8267, 9683, 9683, 193, 110, 2195, + 491, 8621, 10555, -951, 498, 651, 2061, 508, 20, 742, + 456, 8798, -951, 8975, -951, 527, 180, -951, 84, 8267, + -951, 392, -951, 115, -951, -951, 10597, -951, -951, 9683, + -951, 626, 6497, 702, 539, 10838, 699, 38, 82, -951, + -951, -951, -951, -951, 1633, 637, 547, 710, -951, 2363, + -951, -951, 3842, -951, 133, 714, -951, 778, 9683, 456, + 18, -951, 2363, 558, 658, -951, 456, 65, 69, 185, + 565, 778, 619, 571, 456, 72, 573, 944, 778, -951, + -951, 681, 1402, -49, -951, -951, -951, 214, -951, -951, + -951, -951, 632, 598, 19, -951, 640, 755, 596, 1633, + 26, 704, 88, -951, -951, -951, -951, -951, -951, 2829, + -951, -951, -951, -951, 31, 2081, 601, 765, 10945, 761, + -951, -951, 659, 7545, 3477, 3651, 9683, 10904, 4004, 4180, + 4356, 3302, 4531, 4708, 4708, 4708, 4708, 1780, 1780, 1780, + 1780, 1240, 1240, 486, 486, 486, 513, 513, 513, -951, + 10945, 609, 613, 10700, 607, 784, -72, 623, 110, -951, + -951, 778, -951, 1352, 9683, -951, 3651, 3651, 3651, 3651, + 3651, 3651, 3651, 3651, 3651, 3651, 3651, 3651, 9683, -72, + 625, 621, 10139, 636, 639, 10180, 77, -951, 1962, -951, + 778, -951, 465, 26, 407, 2081, 10945, 2081, 10742, 91, + 117, -951, 643, 9683, -951, -951, -951, 6143, 33, 10945, + -52, -951, -951, -951, 9683, 1016, 2363, 778, 6674, 645, + 646, -951, 45, 686, -951, 812, 652, 797, 1633, 2363, + 2363, 2363, 654, 167, 685, 657, 300, -951, 689, -951, + 668, -951, -951, -951, 728, 778, -951, -951, 10221, -951, + -951, -951, 819, 2081, 670, -951, -951, -951, 753, 66, + -9, 671, 2195, 2777, 838, -951, -951, -951, -951, 677, + -951, 9683, -951, -951, 3134, -951, -9, 682, -951, -951, + -951, -951, 843, 9683, 550, -951, -951, 697, 631, -951, + 134, -951, -951, 1633, -951, 456, -951, 9152, -951, 2363, + 13, 691, -9, 632, 3828, 9683, -951, -951, 9683, -951, + 9683, -951, 701, 8267, 619, 632, -951, 659, 2831, 456, + 10262, 703, 8267, -951, -951, 136, -951, -951, 844, 366, + 366, 1962, -951, -951, -951, 705, 208, 707, -951, -951, + -951, 864, 708, 498, 456, 456, 9329, -951, 137, -951, + -951, 10306, 254, -52, 7205, -951, 706, 4019, 711, 2081, + 760, 456, -951, 872, -951, -951, -951, -951, 519, -951, + 233, 1633, -951, 1633, 637, -951, -951, -951, 884, 725, + 726, -951, -951, 776, 722, 893, 2363, 766, 778, 550, + 778, 2363, 748, -951, 763, -951, -951, 13, 2363, 456, + -951, 1633, 778, -951, 915, -951, -951, 78, 749, 456, + 9506, -951, 1557, -951, 3311, 915, -951, -43, 297, 10945, + 803, -951, 9683, -72, 758, -951, 2081, 10945, -951, -951, + 762, 924, -951, 1633, 13, -951, 764, 3828, 10945, 10796, + 8267, 769, 771, 780, 772, 632, 415, 785, 8267, 788, + 9683, -951, -951, -951, -951, -951, 834, 757, 954, 1962, + 827, -951, 550, 1962, -951, -951, -951, 2081, 10945, -951, + -52, 939, 898, 7205, -951, -951, 796, 9683, 456, 1016, + 798, 2363, 4196, 572, 800, 9683, 70, 237, -951, 807, + -951, -951, 1487, 949, -951, 2363, -951, 2363, -951, 805, + -951, 855, 972, 810, -951, 860, 809, 978, -9, 815, + 821, -951, -951, 903, -9, 489, -951, 2195, -951, 3651, + 823, -951, 1569, -951, 139, 9683, -951, -951, -951, 9683, + -951, 9683, 10347, 825, 8267, 456, 973, 95, -951, -951, + 291, 829, -951, 9683, 832, -951, -951, -951, 13, 833, + -951, 8267, 836, -951, 1962, -951, 1962, -951, 839, -951, + 883, 841, 1001, -951, 456, 994, -951, 849, -951, -951, + 851, -951, -951, -951, 852, 854, -951, 10473, -951, -951, + -951, -951, -951, -951, 1633, -951, 901, -951, 2363, 550, + -951, -951, 2363, -951, 2363, -951, 956, -951, 973, 1633, + -951, 1633, -9, -951, -951, -951, -951, -951, -951, -951, + 1559, 877, 301, -951, -951, -951, 431, 1237, -951, 49, + 1033, 80, -951, -951, 886, 10388, 10429, 10945, 863, 8267, + 859, 1633, 932, -951, 1633, 967, 1025, 973, 1615, 10945, + -951, 1811, 1832, 870, -951, 874, -951, -951, 921, -951, + 1962, -951, 550, -951, -951, 6143, -951, -951, 6851, -951, + -951, -951, 6143, 875, 2363, -951, 927, -951, 928, 882, + 4373, 932, -951, 1042, 30, -951, -951, -951, 50, 887, + 52, -951, 9988, -951, -951, 55, -951, -951, 544, -951, + 889, -951, 990, 359, -951, -951, 1633, -951, 431, 1033, + -951, -951, -951, -951, -951, 8267, 895, -951, -951, 894, + 899, 326, 1055, 2363, 900, -951, -951, -951, 973, 1910, + -951, 1962, -951, 952, 6143, 7028, -951, -951, -951, 6143, + -951, -951, 2363, 2363, 908, -951, 910, 2363, -9, -951, + -951, 2256, 1559, -951, -951, -951, -951, -951, -951, -951, + -951, -951, -951, -951, -951, -951, -951, -951, -951, -951, + -951, -951, -951, -951, -951, -951, -951, -951, -951, -951, + -951, -951, -951, -951, -951, -951, -951, -951, -951, -951, + -951, -951, -951, -951, -951, -951, -951, -951, -951, -951, + -951, -951, -951, -951, -951, -951, -951, -951, -951, -951, + -951, -951, -951, -951, -951, -951, -951, -951, -951, -951, + -951, -951, -951, -951, -951, -951, -951, -951, -951, -951, + -951, 512, -951, 877, -951, -951, -951, -951, -951, 63, + 450, -951, 1063, 58, 778, 990, 1075, 359, 919, -951, + 374, -951, 1021, 1085, 2363, -951, -951, 926, -951, -951, + 1962, -951, -951, -951, 4550, -951, -951, -951, -951, -951, + -951, 602, 36, -951, -951, 2363, 9988, 9988, 1049, -951, + 544, 544, 541, -951, -951, -951, 2363, 1028, -951, 933, + 60, 2363, 778, -951, 1032, -951, 1099, 4727, 1095, 2363, + -951, 4904, -951, -951, 5081, 937, 5258, 5435, -951, 1020, + 974, -951, -951, 1023, 2256, -951, -951, -951, -951, 962, + -951, 1087, -951, -951, -951, -951, -951, 1104, -951, -951, + -951, 950, -951, 383, 951, -951, 2363, -951, -951, 5612, + 953, -951, -951, -951, 778, 1033, -951, -951, 2363, 13, + -951, 1048, -951, -951, -951, -951, -951, -26, 969, 778, + 616, -951, 955, 13, -951, 958, -951, -951, -9, 957, + -951, 973, 959, -9, 61, -951, 196, 973, 1060, -951, + -951, -951, -951, 196, 963, 5789, -951, 964, -951, -951, + 5966, -951 }; /* YYPGOTO[NTERM-NUM]. */ static const yytype_int16 yypgoto[] = { - -952, -952, -952, -408, -952, -952, -952, -4, -952, 709, - 0, 704, 539, -952, 1115, -952, -217, -952, 6, -952, - -952, -952, -952, -952, -952, -199, -952, -952, -139, 32, - 3, -952, -952, 4, -952, -952, -952, -952, 8, -952, - -952, 774, 795, 780, 980, 450, -579, 460, 487, -178, - -952, 304, -952, -952, -952, -952, -952, -952, -529, 202, - -952, -952, -952, -952, -732, -952, -335, -952, -952, 731, - -952, -722, -952, -952, -952, -952, -952, -952, -952, -952, - -952, -952, 50, -952, -952, -952, -952, -952, -28, -952, - 178, -754, -952, -176, -952, -951, -950, -945, -37, -952, - -56, -19, 1112, -532, -310, -952, -952, 2217, 1077, -952, - -952, -603, -952, -952, -952, -952, -952, -952, -952, -952, - -952, -952, 147, -952, 403, -952, -952, -952, -952, -952, - -952, -952, -952, -739, -952, 1194, 144, -296, -952, -952, - 371, -165, 906, -952, -952, 436, -326, -765, -952, -952, - 491, -510, 364, -952, -952, -952, -952, -952, 482, -952, - -952, -952, -511, 289, -141, -123, -117, -952, -952, 57, - -952, -952, -952, -952, 81, -133, -952, 116, -952, -952, - -952, -332, 937, -952, -952, -952, -952, -952, 444, 957, - -952, -952, 947, -952, -952, -277, -82, -155, -252, -952, - -925, -952, 465, -952, -952, -952, -111, 208 + -951, -951, -951, -407, -951, -951, -951, -4, -951, 730, + -5, 911, 1165, -951, 965, -951, -217, -951, 11, -951, + -951, -951, -951, -951, -951, -152, -951, -951, -139, 32, + 4, -951, -951, 6, -951, -951, -951, -951, 7, -951, + -951, 826, 831, 835, 1031, 485, -539, 497, 529, -145, + -951, 341, -951, -951, -951, -951, -951, -951, -529, 239, + -951, -951, -951, -951, -735, -951, -326, -951, -951, 768, + -951, -715, -951, -951, -951, -951, -951, -951, -951, -951, + -951, -951, 79, -951, -951, -951, -951, -951, 1, -951, + 213, -737, -951, -144, -951, -950, -936, -937, -2, -951, + -61, -23, 1138, -527, -305, -951, -951, 2277, 1092, -951, + -951, -611, -951, -951, -951, -951, -951, -951, -951, -951, + -951, -951, 161, -951, 417, -951, -951, -951, -951, -951, + -951, -951, -951, -693, -951, 1225, 144, -285, -951, -951, + 389, 140, -237, -951, -951, 452, -331, -767, -951, -951, + 509, -522, 384, -951, -951, -951, -951, -951, 499, -951, + -951, -951, -618, 307, -154, -147, -104, -951, -951, 57, + -951, -951, -951, -951, -6, -133, -951, 116, -951, -951, + -951, -340, 961, -951, -951, -951, -951, -951, 373, 786, + -951, -951, 966, -951, -951, -277, -82, -168, -241, -951, + -923, -951, 471, -951, -951, -951, -97, 217 }; /* YYTABLE[YYPACT[STATE-NUM]]. What to do in state STATE-NUM. If positive, shift that token. If negative, reduce the rule which number is the opposite. If zero, do what YYDEFACT says. If YYTABLE_NINF, syntax error. */ -#define YYTABLE_NINF -682 +#define YYTABLE_NINF -684 static const yytype_int16 yytable[] = { - 97, 258, 469, 402, 348, 261, 350, 106, 107, 533, - 104, 193, 108, 343, 515, 860, 888, 536, 499, 1048, - 1049, 197, 1044, 1021, 464, 201, 367, 285, 690, 541, - 624, 770, 708, 262, 552, 1252, 105, 569, 643, 1088, - 629, 720, 204, 279, 872, 213, 372, 379, 405, 928, - 410, 414, 891, 225, 1046, -210, 1092, 1171, 427, 239, - 1225, 129, 1064, 1225, 373, 244, 1088, 737, 721, 1218, - 567, 374, 253, 752, 786, 254, 810, 603, 11, 239, - 603, 172, 173, 239, 1303, 613, 793, 338, 48, 233, - 1219, 613, 613, 613, 413, 226, 392, 393, 338, 55, - 56, 398, 1213, 1221, 1044, 239, 149, 62, 320, 186, - 835, 836, 357, 3, 276, 1214, 878, 341, 428, 985, - 1222, 635, -681, 1223, 365, 189, 246, 192, 11, 429, - 247, 248, 1215, 703, 704, 811, 851, 452, 1190, 782, - 630, -85, 879, 1195, 321, 198, 265, -583, 550, -681, - 354, -586, -590, 341, -584, 631, -585, -620, -587, 322, - 557, 986, 345, 199, -621, 398, 993, 345, 171, 171, - 988, 276, 183, 233, 991, 992, -623, 638, -588, 661, - 1191, 974, -681, 511, 570, 341, 508, 35, 833, 97, - 837, 838, 97, 644, 779, 929, 386, 227, -589, 378, - 471, 1253, 381, 1089, 1090, 508, 35, 280, -159, 910, - -622, 380, 406, 400, 411, 415, 899, 764, 1047, -210, - 1093, 1172, 404, 722, 1226, 358, 508, 1267, 753, 342, - 1317, 360, 1220, 568, 591, 508, 782, 366, 508, 258, - 604, 285, 230, 605, 983, 371, -471, 591, 614, 725, - 129, 437, 407, 129, 678, 866, 1050, 595, -519, -583, - -592, -593, 97, -586, -590, 342, -584, 338, -585, -620, - -587, 463, 1069, 782, 346, 213, -621, 244, 239, 346, - 757, 259, 434, 572, 409, 835, 836, 1232, -623, 347, - -588, 244, 416, 416, 419, 920, 268, 342, 105, 424, - 542, 200, 338, 913, 244, 433, 275, 220, 92, 639, - -589, 275, 171, 873, 231, 506, 239, 239, 171, 239, - 623, 1289, -622, 129, 171, 728, 874, 640, 791, 1233, - 275, 235, 1297, 1298, 529, 232, 1016, 799, 637, 875, - 820, 821, 247, 248, 707, 953, 954, 955, 956, 957, - 958, 662, 606, 1044, 970, 544, 247, 248, 439, 440, - 48, 970, 259, 1290, 236, 814, 931, 554, 237, 247, - 248, 171, 796, 238, 671, 242, 782, 243, 97, 171, - 171, 171, 260, 462, 1314, 274, 171, 782, 562, 662, - 1321, 275, 171, 267, 997, 186, 998, 278, 97, 1073, - 507, 591, 639, 597, 281, 225, 424, 244, 697, 848, - 286, 1308, 434, 358, 591, 591, 591, 608, 287, 530, - 640, 33, 244, 618, 620, 288, 698, 245, -364, 666, - 316, 367, 699, 502, 105, 668, 1261, 317, -681, 129, - 507, 1318, 1319, 33, 318, 35, 834, 835, 836, 551, - 868, 319, 555, 1262, 344, 894, 1263, 531, 183, 129, - 276, 534, 1026, 902, 1259, 1260, 398, 730, -681, 1272, - -591, -681, 247, 248, 1027, 1255, 1256, 970, -365, 48, - 970, 970, 907, 167, 591, 349, 246, 247, 248, 251, - 1072, 143, 353, 171, 75, 314, 1028, 832, 78, 79, - 171, 80, 1029, 82, 276, 508, 359, 239, 925, 835, - 836, 338, 461, 143, 244, 362, 75, 363, 77, 434, - 78, 79, 645, 80, 81, 82, 940, -470, -469, 11, - 369, 945, 775, 368, 688, 971, 693, 270, 272, 273, - 244, 706, 168, 371, 394, 271, 390, 92, 395, 980, - 311, 312, 313, 97, 314, 1300, -676, 420, 970, 399, - 412, 1197, 421, 713, 97, 33, 995, 441, 445, 1310, - 669, 591, 33, 449, 715, 450, 591, 451, 435, 247, - 248, 460, -37, 591, 470, 538, 1003, 951, 540, 105, - 543, 745, 952, 560, 953, 954, 955, 956, 957, 958, - 959, 549, 694, 379, 695, 247, 248, 564, 573, 171, - 839, 566, 840, 577, 129, 33, 1037, 578, 883, 601, - 97, 244, 711, 602, 612, 129, 434, 106, 107, 607, - 104, 610, 108, 615, 773, 143, 960, 961, 75, 962, - 862, 626, 78, 79, 1056, 80, 81, 82, 621, 78, - 79, 628, 80, 81, 82, 633, 105, 171, 634, 649, - 749, -366, 963, 33, 636, 647, 591, 646, 1246, 424, - 759, 1038, 889, 652, 1023, 803, 803, 688, 659, 656, - 591, 129, 591, 657, 823, 660, 247, 248, 1241, 171, - 1173, 171, 78, 79, 1174, 80, 81, 82, 663, 1005, - 97, 672, 673, 97, 33, 675, 35, 676, 700, 171, - 824, 723, 717, 1012, 1038, 724, 207, 719, 738, 774, - 1186, 736, 33, 726, 35, 739, 740, 742, 169, 169, - 1020, 775, 181, 748, 850, 741, 854, 750, 283, 105, - 78, 79, 208, 80, 81, 82, 751, 171, 863, 186, - 756, 760, 761, 181, 766, 768, 171, 171, 784, 800, - 97, 129, 33, 771, 129, 813, 828, 106, 107, 1184, - 104, 790, 108, 591, 798, 809, 782, 591, 812, 591, - 829, 78, 79, 815, 80, 81, 82, 1074, 825, 396, - 782, 827, 831, 842, 1079, 843, 105, 844, 845, 78, - 79, 915, 80, 81, 82, 688, 528, 846, 92, 688, - 847, 429, 183, 858, 33, 209, 864, 867, 859, 97, - 881, 129, 884, 1013, 553, 886, 92, 887, 97, 918, - 904, 895, 143, 885, 892, 75, 896, 210, 1022, 78, - 79, 897, 80, 81, 82, 898, 905, 906, 901, 591, - 903, 909, 33, 171, 35, 916, 1045, 211, 917, 1202, - 919, 212, 926, 922, 105, 932, 934, 937, 939, 938, - 1058, 941, 169, 889, 914, 942, 944, 943, 169, 947, - 129, 948, 33, 949, 169, 972, 711, 979, 33, 129, - 35, 78, 79, 981, 80, 81, 82, 987, 591, 990, - 688, 1002, 688, 994, 1182, 953, 954, 955, 956, 957, - 958, 181, 181, 470, 1000, 996, 181, 591, 591, 999, - 171, 1001, 591, 1004, 424, 33, 1211, 616, 617, 78, - 79, 169, 80, 81, 82, 1006, 1007, 1014, 587, 169, - 169, 169, 801, 802, 33, 1009, 169, 213, 1010, 1019, - 1034, 587, 169, 1051, 772, 251, 92, 1055, 1039, 78, - 79, 171, 80, 81, 82, 78, 79, 207, 80, 81, - 82, 1062, 1235, 171, 1057, 1059, 1063, 1239, 1071, 1082, - 181, 1068, 1242, 181, 252, 1070, 1083, 1080, 1244, 1245, - 1087, 1084, 92, 208, 1091, 1179, 688, 1180, 1043, 1187, - 1188, 97, 78, 79, 97, 80, 81, 82, 97, 1189, - 1192, 171, 1198, 33, 1077, 1194, 97, 1205, 181, 1206, - 1224, 78, 79, 1277, 80, 81, 82, 591, 1168, 1229, - 1231, 1236, 1237, 1257, 1175, 1240, 1266, 105, 1265, 1270, - 1271, 1274, 213, -206, 105, 33, 1230, 1279, 591, 1282, - 1283, 1219, 105, 169, 1285, 1286, 1288, 33, 207, 591, - 169, 1294, 129, 1291, 591, 129, 209, 688, 1302, 129, - 97, 97, 591, 1306, 33, 97, 1309, 129, 1311, 1313, - 1185, 1200, 1315, 143, 208, 1322, 75, 1284, 210, 1327, - 78, 79, 1325, 80, 81, 82, 1304, 512, 181, 727, - 1227, 510, 1323, 586, 33, 587, 105, 323, 211, 591, - 1328, 105, 212, 765, 596, 509, 586, 795, 587, 587, - 587, 591, 78, 79, 792, 80, 81, 82, 1312, 1011, - 222, 129, 129, 921, 78, 79, 129, 80, 81, 82, - 1041, 599, 1212, 1217, 143, 1324, 1228, 75, 1269, 77, - 194, 78, 79, 181, 80, 81, 82, 209, 308, 309, - 310, 311, 312, 313, 214, 314, 264, 900, 1086, 169, - 876, 805, 849, 908, 143, 816, 984, 75, 239, 210, - 426, 78, 79, 418, 80, 81, 82, 11, 587, 841, - 933, 0, 1061, 0, 688, 0, 0, 0, 97, 211, - 0, 0, 430, 212, 0, 1247, 436, 0, 0, 0, - 1168, 1168, 0, 0, 1175, 1175, 0, 169, 170, 170, - 0, 0, 182, 0, 0, 430, 239, 436, 430, 436, - 436, 97, 0, 0, 105, 97, 0, 0, 97, 0, - 97, 97, 0, 0, 0, 951, 0, 0, 0, 169, - 952, 169, 953, 954, 955, 956, 957, 958, 959, 129, - 0, 0, 0, 0, 0, 0, 0, 105, 0, 169, - 586, 105, 0, 97, 105, 587, 105, 105, 1296, 0, - 587, 181, 181, 586, 586, 586, 0, 587, 0, 709, - 0, 0, 129, 1307, 960, 961, 129, 962, 0, 129, - 0, 129, 129, 0, 0, 592, 0, 169, 0, 105, - 0, 0, 0, 0, 181, 0, 169, 169, 600, 97, - 973, 0, 214, 214, 97, 0, 0, 214, 0, 33, - 181, 35, 0, 0, 129, 351, 325, 326, 327, 328, - 329, 330, 331, 332, 333, 334, 335, 181, 0, 0, - 0, 0, 0, 586, 0, 105, 181, 0, 0, 0, - 105, 0, 170, 0, 0, 0, 0, 0, 170, 167, - 587, 0, 181, 0, 170, 0, 0, 0, 0, 0, - 129, 336, 337, 0, 587, 129, 587, 0, 0, 0, - 0, 214, 0, 11, 214, 0, 0, 0, 0, 143, - 0, 0, 75, 0, 77, 0, 78, 79, 0, 80, - 81, 82, 0, 169, 0, 0, 0, 0, 0, 0, - 0, 170, 0, 0, 0, 181, 0, 181, 168, 170, - 170, 170, 0, 92, 0, 0, 170, 0, 0, 0, - 586, 0, 170, 338, 0, 586, 0, 0, 0, 0, - 0, 951, 586, 0, 0, 181, 952, 0, 953, 954, - 955, 956, 957, 958, 959, 0, 0, 0, 0, 0, - 0, 0, 712, 0, 0, 0, 0, 587, 0, 0, - 169, 587, 0, 587, 0, 731, 732, 181, 679, 680, - 0, 0, 207, 452, 0, 0, 0, 0, 0, 0, - 960, 961, 0, 962, 0, 0, 0, 681, 182, 214, - 0, 0, 0, 0, 588, 682, 683, 33, 208, 0, - 0, 169, 0, 0, 0, 684, 1065, 588, 0, 0, - 0, 0, 0, 169, 0, 586, 0, 0, 33, 0, - 0, 0, 0, 170, 0, 0, 181, 0, 0, 586, - 170, 586, 0, 587, 0, 778, 0, 0, 0, 0, - 0, 0, 181, 207, 214, -245, 0, 0, 181, 0, - 685, 169, 0, 953, 954, 955, 956, 957, 958, 0, - 0, 0, 686, 0, 0, 0, 0, 0, 0, 208, - 0, 209, 0, 590, 78, 79, 0, 80, 81, 82, - 0, 0, 587, 0, 0, 0, 590, 11, 143, 33, - 0, 75, 687, 210, 0, 78, 79, 0, 80, 81, - 82, 587, 587, 0, 0, 0, 587, 0, 0, 0, - 0, 0, 0, 211, 0, 0, 0, 212, 181, 0, - 0, 0, 586, 0, 0, 0, 586, 855, 586, 0, - 0, 0, 0, 181, 861, 181, 181, 0, 0, 170, - 0, 0, 209, 0, 181, 951, 0, 0, 0, 0, - 952, 181, 953, 954, 955, 956, 957, 958, 959, 143, - 0, 588, 75, 0, 210, 181, 78, 79, 181, 80, - 81, 82, 214, 214, 588, 588, 588, 0, 0, 0, - 0, 0, 0, 0, 211, 0, 0, 170, 212, 0, - 0, 0, 0, 0, 960, 961, 0, 962, 586, 324, - 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, - 335, 587, 0, 0, 0, 0, 0, 923, 0, 170, - 1066, 170, 0, 0, 0, 0, 0, 0, 0, 0, - 181, 935, 587, 936, 0, 0, 0, 0, 214, 170, - 590, 0, 0, 587, 588, 336, 337, 586, 587, 0, - 0, 0, 0, 590, 590, 590, 587, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 586, 586, 0, 0, - 0, 586, 181, 0, 0, 0, 181, 170, 0, 0, - 0, 0, 0, 0, 755, 0, 170, 170, 0, 0, - 0, 0, 0, 587, 0, 0, 0, 0, 0, 0, - 755, 0, 0, 0, 0, 587, 0, 338, 0, 0, - 0, 0, 0, 0, 0, 0, 214, 0, 214, 0, - 0, 11, 0, 590, 1015, 0, 785, 0, 1017, 0, - 1018, 588, 289, 290, 291, 0, 588, 0, 0, 0, - 0, 0, 182, 588, 0, 0, 214, 0, 292, 0, - 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, - 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, - 313, 0, 314, 0, 0, 0, 586, 0, 214, 951, - 0, 0, 0, 170, 952, 0, 953, 954, 955, 956, - 957, 958, 959, 181, 11, 0, 0, 586, 0, 0, - 1081, 0, 0, 0, 0, 0, 0, 0, 586, 0, - 590, 0, 0, 586, 0, 590, 0, 0, 0, 0, - 0, 586, 590, 0, 0, 0, 588, 0, 960, 961, - 0, 962, 0, 0, 0, 0, 0, 214, 0, 0, - 588, 0, 588, 0, 0, 0, 0, 0, 0, 1193, - 170, 0, 951, 0, 1067, 0, 0, 952, 586, 953, - 954, 955, 956, 957, 958, 959, 0, 0, 1203, 1204, - 586, 0, 0, 1207, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 579, 580, 0, - 181, 170, 0, 0, 0, 181, 0, 0, 0, 0, - 870, 960, 961, 170, 962, 590, 581, 0, 0, 0, - 0, 0, 0, 0, 31, 32, 33, 0, 0, 590, - 0, 590, 0, 0, 37, 0, 0, 1196, 0, 214, - 0, 0, 946, 588, 0, 0, 0, 588, 950, 588, - 0, 170, 0, 0, 214, 0, 214, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 27, 28, 0, 0, - 0, 0, 214, 0, 0, 33, 0, 35, 0, 582, - 66, 67, 68, 69, 70, 0, 214, 0, 1238, 214, - 0, 583, 0, 0, 0, 0, 143, 73, 74, 75, - 0, 584, 0, 78, 79, 0, 80, 81, 82, 1254, - 0, 84, 0, 0, 0, 167, 0, 0, 0, 588, - 1264, 585, 590, 0, 88, 1268, 590, 0, 590, 0, - 0, 0, 0, 1275, 0, 0, 1025, 0, 0, 0, - 0, 0, 0, 0, 1033, 143, 0, 0, 75, 0, - 77, 214, 78, 79, 0, 80, 81, 82, 0, 0, - 0, 0, 0, 0, 85, 0, 0, 0, 588, 0, - 1292, 0, 0, 0, 356, 0, 0, 0, 0, 92, - 0, 0, 1299, 0, 0, 0, 0, 588, 588, 0, - 0, 0, 588, 0, 0, 0, 0, 0, 590, 0, - 33, 0, 35, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 146, 148, 0, 150, 151, 152, 0, 155, + 97, 258, 469, 402, 348, 261, 350, 193, 106, 536, + 107, 108, 860, 367, 888, 104, 690, 197, 533, 515, + 1048, 201, 186, 770, 541, 1021, 343, 285, 262, 499, + 1044, 624, 782, 372, 1049, 464, 105, 708, 1088, 643, + 373, 720, 204, 552, 1254, 213, 567, 279, 225, 891, + 379, 872, 405, 721, 11, 410, 414, 1046, -210, 239, + 1092, 129, 33, 1173, 1064, 629, 1227, 253, 1227, 1088, + 254, 1220, 338, 603, 752, 345, 1305, 603, 427, 239, + 613, 172, 173, 239, 374, 613, 613, 341, 613, 233, + 276, 226, 1221, 275, 413, 232, 928, 149, -683, 703, + 704, -683, 407, 189, 873, 239, 3, 357, 569, 220, + 392, 393, 1044, 35, 786, 398, 635, 874, 192, 365, + 48, 439, 440, 276, 198, 623, 793, 230, 851, 782, + 875, -683, 143, -85, -683, 75, 11, 77, 428, 78, + 79, 338, 80, 81, 82, 1197, 265, 638, -588, -592, + 354, -585, 341, 341, -473, -586, 275, 35, -587, 322, + 557, -622, 592, 993, -589, 630, 782, 199, 171, 171, + 779, 345, 183, 233, 661, 600, -623, 988, -625, 398, + 631, 991, 992, 511, -159, 974, 508, 346, 833, 97, + 837, 452, 97, 227, 644, -590, 386, -591, -624, 342, + 471, 910, 1089, 1090, 378, 508, 231, 381, 722, 568, + 1255, 280, 371, 400, 380, 347, 406, 404, 764, 411, + 415, 1047, -210, 595, 1093, 358, 508, 1174, 274, 753, + 1228, 360, 1269, 1319, 1222, 508, 604, 366, 508, 258, + 605, 285, 929, 614, 725, 737, 437, 970, 678, 866, + 129, 1050, 983, 129, 970, 570, 899, -594, -595, 92, + -588, -592, 97, -585, 342, 342, -521, -586, 200, 782, + -587, 463, 757, -622, 244, 213, -589, 275, 239, 1069, + 782, 235, 244, 346, 409, 259, 810, 434, -623, 236, + -625, 913, 416, 416, 419, 542, 639, 572, 105, 424, + 920, 338, 237, 640, 246, 433, 338, -590, 186, -591, + -624, 238, 171, 507, 259, 506, 239, 239, 171, 239, + 820, 821, 985, 129, 171, 242, 835, 836, 1016, 712, + 835, 836, 530, 243, 529, 1299, 728, 791, 662, 247, + 248, 260, 731, 732, 707, 811, 799, 247, 248, 1300, + 33, 550, 637, 507, 244, 544, 606, 1192, 275, 434, + 814, 671, 551, 1044, 986, 555, 267, 554, 1320, 1321, + 970, 171, 33, 970, 970, 207, 662, 244, 97, 171, + 171, 171, 997, 796, 998, 278, 171, 461, 1316, 639, + 281, 1073, 171, 562, 1323, 697, 640, 286, 97, 1193, + 225, 208, 698, 597, 848, 1234, 424, 838, 33, -364, + 35, 931, 778, 358, 1291, 287, 1037, 608, 367, 247, + 248, 33, 288, 618, 620, 283, 316, 78, 79, 666, + 80, 81, 82, 502, 105, 801, 802, 33, 317, 129, + -683, 429, 247, 248, 878, 699, 318, 1235, 396, 78, + 79, 970, 80, 81, 82, 868, 1292, 531, 183, 129, + 462, 534, 276, 33, 894, 35, 270, 272, 273, 1274, + 879, 1038, 902, -683, 209, 1223, 319, 907, 1072, 33, + 398, 730, 244, 1261, 1262, 78, 79, 268, 80, 81, + 82, 143, 1224, 171, 75, 1225, 210, 832, 78, 79, + 171, 80, 81, 82, 855, 508, -365, 239, 244, 344, + 528, 861, 92, 245, 78, 79, 211, 80, 81, 82, + 212, 940, 645, 1257, 1258, 1215, 945, 971, -593, 48, + 11, 311, 312, 313, 688, 314, 693, 706, 1216, 591, + 78, 79, 349, 80, 81, 82, 775, 247, 248, 1199, + 251, 353, 591, 97, 1302, 1217, 78, 79, 980, 80, + 81, 82, 314, 713, 97, 553, 1263, 92, 1312, 276, + 669, 362, 246, 247, 248, 995, 359, 338, 470, 715, + -472, 1003, 363, 1264, -471, 369, 1265, 368, 951, 105, + 371, 745, 390, 952, 923, 953, 954, 955, 956, 957, + 958, 959, 694, 394, 695, 883, -678, 395, 935, 171, + 936, 834, 835, 836, 129, 33, 399, 412, 244, 420, + 97, 421, 711, 434, 839, 129, 840, 441, 106, 445, + 107, 108, 774, 449, 773, 104, 450, 960, 961, 451, + 962, 351, 325, 326, 327, 328, 329, 330, 331, 332, + 333, 334, 335, 1056, 862, 460, 105, 171, -37, 540, + 749, 470, 186, 963, 925, 835, 836, 244, 538, 424, + 759, 782, 271, 33, 1023, 803, 803, 688, 1243, 543, + 823, 129, 435, 247, 248, 782, 889, 336, 337, 171, + 1175, 171, 78, 79, 1176, 80, 81, 82, 549, 1005, + 97, 1015, 33, 97, 35, 1017, 591, 1018, 560, 171, + 379, 564, 566, 1012, 1038, 824, 573, 577, 578, 591, + 591, 591, 953, 954, 955, 956, 957, 958, 601, 1188, + 1020, 602, 247, 248, 850, 244, 854, 607, 610, 105, + 434, 612, 621, 143, 615, 775, 75, 171, 863, 338, + 78, 79, 626, 80, 81, 82, 171, 171, 33, 628, + 97, 129, 633, 634, 129, -366, 828, 636, 106, 1186, + 107, 108, 646, 647, 649, 104, 1248, 1081, 652, 78, + 79, 659, 80, 81, 82, 33, 656, 1074, 1310, 591, + 657, 48, 660, 663, 1079, 672, 105, 915, 673, 452, + 247, 248, 55, 56, 772, 688, 92, 675, 723, 688, + 62, 320, 183, 33, 700, 35, 676, 717, 719, 97, + 724, 129, 207, 726, 736, 738, 1195, 739, 97, 740, + 742, 251, 748, 885, 918, 78, 79, 1013, 80, 81, + 82, 741, 750, 751, 756, 1205, 1206, 321, 208, 33, + 1209, 760, 1022, 171, 761, 766, 768, 800, 222, 1204, + 252, 784, 78, 79, 105, 80, 81, 82, 33, 771, + 1045, 790, 813, 798, 914, 809, 591, 812, 825, 815, + 129, 591, 829, 827, 1058, 831, 711, 889, 591, 129, + 78, 79, 842, 80, 81, 82, 843, 844, 845, 846, + 688, 847, 688, 429, 1184, 324, 325, 326, 327, 328, + 329, 330, 331, 332, 333, 334, 335, 92, 858, 867, + 171, 209, 859, 864, 424, 881, 78, 79, 884, 80, + 81, 82, 887, 886, 905, 169, 169, 892, 143, 181, + 895, 75, 898, 210, 896, 78, 79, 213, 80, 81, + 82, 336, 337, 897, 727, 901, 904, 1240, 1039, 903, + 181, 171, 906, 211, 909, 916, 917, 212, 919, 922, + 932, 591, 926, 171, 1237, 934, 937, 938, 1256, 1241, + 939, 941, 942, 943, 1244, 591, 944, 591, 947, 1266, + 1246, 1247, 948, 949, 1270, 979, 688, 972, 1043, 981, + 987, 97, 1277, 990, 97, 1000, 994, 996, 97, 1002, + 999, 171, 1001, 338, 214, 33, 97, 616, 617, 1077, + 1004, 1006, 1007, 1014, 1009, 1279, 1010, 1034, 1170, 1019, + 1057, 430, 1051, 1055, 1177, 436, 1059, 105, 1063, 1294, + 1062, 1068, 213, 1071, 105, 1070, 1080, 709, 1232, 1082, + 1083, 1301, 105, 1084, 430, 1087, 436, 430, 436, 436, + 1091, 1181, 129, 1182, 1190, 129, 1189, 688, 1194, 129, + 97, 97, 1191, 1196, 1200, 97, 1226, 129, 591, 169, + 1187, 1207, 591, 1208, 591, 169, 1202, 33, 1231, 35, + 1233, 169, 78, 79, 1238, 80, 81, 82, 1239, 1242, + 1259, 1267, 1229, 1268, 1325, 1272, 105, 1273, 1276, 1281, + -206, 105, 1330, 1285, 1284, 1287, 1221, 1288, 181, 181, + 1290, 1304, 1293, 181, 1308, 1296, 1311, 167, 1313, 1315, + 1317, 129, 129, 1324, 1327, 596, 129, 1329, 169, 953, + 954, 955, 956, 957, 958, 1306, 169, 169, 169, 512, + 1271, 509, 795, 169, 591, 765, 510, 143, 323, 169, + 75, 792, 77, 1314, 78, 79, 1011, 80, 81, 82, + 921, 1214, 214, 214, 1219, 1041, 194, 214, 599, 1326, + 239, 264, 1086, 1230, 876, 900, 168, 181, 849, 805, + 181, 92, 816, 908, 984, 841, 688, 0, 0, 0, + 97, 1061, 418, 591, 426, 0, 0, 1249, 0, 0, + 0, 0, 1170, 1170, 0, 0, 1177, 1177, 0, 0, + 0, 0, 591, 591, 0, 181, 0, 591, 239, 0, + 0, 1213, 0, 97, 0, 0, 105, 97, 0, 0, + 97, 214, 97, 97, 214, 0, 0, 0, 0, 170, + 170, 0, 0, 182, 0, 0, 0, 0, 0, 0, + 169, 129, 207, 0, 0, 0, 0, 169, 0, 105, + 0, 0, 0, 105, 0, 97, 105, 0, 105, 105, + 1298, 0, 308, 309, 310, 311, 312, 313, 208, 314, + 0, 0, 0, 0, 129, 1309, 0, 0, 129, 0, + 0, 129, 0, 129, 129, 181, 0, 0, 33, 0, + 586, 105, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 97, 0, 586, 0, 0, 97, 0, 0, 0, + 0, 0, 0, 0, 591, -245, 129, 0, 0, 0, + 0, 0, 0, 953, 954, 955, 956, 957, 958, 0, + 0, 0, 0, 0, 0, 591, 0, 105, 0, 214, + 181, 209, 105, 0, 588, 0, 591, 0, 0, 0, + 0, 591, 0, 0, 0, 0, 169, 588, 143, 591, + 0, 75, 129, 210, 0, 78, 79, 129, 80, 81, + 82, 0, 0, 170, 1286, 0, 0, 0, 0, 170, + 0, 0, 0, 211, 0, 170, 0, 212, 0, 0, + 0, 289, 290, 291, 214, 668, 591, 0, 0, 0, + 0, 0, 0, 33, 169, 35, 0, 292, 591, 293, + 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, + 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, + 0, 314, 170, 0, 0, 0, 169, 0, 169, 0, + 170, 170, 170, 167, 0, 0, 0, 170, 0, 0, + 0, 0, 0, 170, 0, 0, 169, 586, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 181, 181, + 586, 586, 586, 143, 0, 0, 75, 0, 77, 0, + 78, 79, 0, 80, 81, 82, 0, 0, 0, 0, + 0, 0, 207, 0, 169, 0, 0, 0, 0, 0, + 0, 181, 168, 169, 169, 0, 0, 92, 0, 0, + 0, 588, 0, 0, 0, 0, 0, 181, 208, 182, + 0, 0, 214, 214, 588, 588, 588, 0, 0, 0, + 0, 0, 0, 0, 181, 0, 0, 0, 33, 0, + 586, 0, 0, 181, 587, 0, 289, 290, 291, 0, + 0, 0, 0, 0, 170, 0, 622, 587, 0, 181, + 0, 170, 292, 0, 293, 294, 295, 296, 297, 298, + 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, + 309, 310, 311, 312, 313, 0, 314, 0, 214, 0, + 11, 209, 0, 0, 588, 0, 0, 0, 0, 0, + 169, 0, 0, 0, 590, 0, 0, 0, 143, 0, + 33, 75, 181, 210, 181, 78, 79, 590, 80, 81, + 82, 0, 0, 0, 933, 0, 0, 586, 0, 0, + 0, 0, 586, 211, 0, 0, 11, 212, 207, 586, + 0, 0, 181, 0, 0, 0, 0, 0, 951, 0, + 0, 1026, 0, 952, 0, 953, 954, 955, 956, 957, + 958, 959, 0, 1027, 208, 0, 214, 169, 214, 0, + 170, 0, 0, 0, 181, 0, 0, 0, 0, 0, + 143, 588, 0, 75, 33, 1028, 588, 78, 79, 0, + 80, 1029, 82, 588, 951, 0, 214, 960, 961, 952, + 962, 953, 954, 955, 956, 957, 958, 959, 169, 0, + 0, 587, 0, 0, 870, 0, 0, 0, 170, 0, + 169, 0, 586, 973, 587, 587, 587, 0, 214, 0, + 0, 0, 0, 181, 0, 0, 586, 209, 586, 0, + 0, 0, 0, 960, 961, 0, 962, 0, 0, 181, + 170, 0, 170, 0, 143, 181, 0, 75, 169, 210, + 0, 78, 79, 0, 80, 81, 82, 0, 0, 1065, + 170, 590, 0, 0, 0, 0, 588, 0, 0, 211, + 0, 0, 0, 212, 590, 590, 590, 214, 0, 0, + 588, 0, 588, 0, 587, 0, -684, -684, -684, -684, + 306, 307, 308, 309, 310, 311, 312, 313, 170, 314, + 0, 0, 0, 0, 0, 755, 0, 170, 170, 0, + 0, 0, 0, 0, 0, 181, 0, 0, 0, 586, + 0, 755, 11, 586, 0, 586, 0, 0, 0, 0, + 181, 0, 181, 181, 0, 0, 0, 0, 0, 0, + 0, 181, 0, 11, 590, 0, 0, 785, 181, 0, + 351, 325, 326, 327, 328, 329, 330, 331, 332, 333, + 334, 335, 181, 182, 0, 181, 0, 0, 0, 214, + 0, 587, 0, 588, 0, 0, 587, 588, 0, 588, + 951, 0, 0, 587, 214, 952, 214, 953, 954, 955, + 956, 957, 958, 959, 0, 586, 336, 337, 0, 0, + 0, 951, 214, 0, 170, 0, 952, 0, 953, 954, + 955, 956, 957, 958, 959, 0, 214, 0, 0, 214, + 0, 11, 0, 0, 0, 0, 0, 181, 0, 960, + 961, 590, 962, 0, 0, 0, 590, 0, 0, 0, + 0, 0, 0, 590, 586, 0, 0, 0, 0, 588, + 960, 961, 0, 962, 0, 1066, 0, 0, 338, 0, + 0, 0, 0, 586, 586, 0, 587, 0, 586, 181, + 0, 170, 0, 181, 679, 680, 1067, 0, 0, 951, + 587, 214, 587, 0, 952, 0, 953, 954, 955, 956, + 957, 958, 959, 681, 0, 0, 0, 0, 588, 0, + 0, 682, 683, 33, 0, 0, 0, 0, 0, 0, + 0, 684, 170, 0, 0, 0, 0, 588, 588, 0, + 0, 0, 588, 0, 170, 0, 590, 0, 960, 961, + 0, 962, 0, 0, 0, 0, 33, 0, 35, 0, + 590, 0, 590, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 946, 1198, 0, 685, 0, 0, 950, + 0, 0, 170, 0, 0, 0, 0, 0, 686, 0, + 0, 0, 0, 587, 0, 586, 167, 587, 0, 587, + 78, 79, 0, 80, 81, 82, 0, 0, 0, 0, + 0, 0, 181, 27, 28, 0, 586, 0, 687, 0, + 0, 0, 33, 0, 35, 0, 143, 586, 0, 75, + 0, 77, 586, 78, 79, 0, 80, 81, 82, 0, + 586, 0, 33, 0, 35, 0, 0, 0, 0, 588, + 0, 0, 0, 590, 0, 168, 0, 590, 408, 590, + 92, 0, 167, 0, 0, 0, 1250, 1025, 0, 587, + 588, 0, 0, 0, 0, 1033, 0, 586, 0, 0, + 0, 588, 167, 0, 0, 0, 588, 0, 0, 586, + 0, 0, 143, 0, 588, 75, 0, 77, 0, 78, + 79, 0, 80, 81, 82, 0, 0, 0, 0, 181, + 0, 85, 143, 0, 181, 75, 0, 77, 587, 78, + 79, 356, 80, 81, 82, 0, 92, 0, 0, 590, + 0, 588, 0, 0, 0, 0, 0, 587, 587, 0, + 0, 168, 587, 588, 0, 0, 92, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 33, 0, 35, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 146, 148, 0, 150, 151, 152, 590, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, - 166, 0, 0, 175, 178, 0, 0, 0, 0, 0, - 167, 0, 0, 0, 0, 195, 0, 590, 0, 0, - 0, 0, 203, 0, 206, 0, 0, 219, 0, 221, - 0, 0, 0, 33, 0, 35, 590, 590, 0, 0, - 143, 590, 1208, 75, 0, 77, 1033, 78, 79, 0, - 80, 81, 82, 256, 351, 325, 326, 327, 328, 329, - 330, 331, 332, 333, 334, 335, 263, 588, 0, 168, - 0, 0, 408, 167, 92, 0, 0, 0, 33, 0, - 35, 0, 0, 0, 1248, 423, 0, 0, 588, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 588, - 336, 337, 0, 143, 588, 0, 75, 0, 77, 0, - 78, 79, 588, 80, 81, 82, 0, 0, 167, 0, - 0, 0, 0, 0, 0, 0, 352, 0, 0, 0, - 758, 0, 168, 0, 0, 0, 0, 92, 0, 0, - 0, 0, 0, 0, 0, 0, 590, 0, 143, 588, - 0, 75, 33, 77, 35, 78, 79, 0, 80, 81, - 82, 588, 338, 0, 0, 0, 376, 590, 0, 376, - 0, 0, 0, 0, 0, 195, 385, 168, 590, 289, - 290, 291, 92, 590, 0, 0, 0, 0, 0, 0, - 0, 590, 167, 0, 0, 292, 0, 293, 294, 295, - 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, - 306, 307, 308, 309, 310, 311, 312, 313, 0, 314, - 175, 0, 143, 0, 432, 75, 0, 77, 590, 78, - 79, 0, 80, 81, 82, 0, 0, 0, 0, 0, - 590, 0, 0, 0, 459, 0, 0, 0, 0, 0, - 0, 168, 0, 0, 0, 468, 92, 0, 0, 0, - 1025, 0, 0, 0, 0, 1316, 473, 474, 475, 477, + 166, 0, 0, 175, 178, 0, 167, 590, 590, 0, + 0, 0, 590, 1210, 0, 195, 0, 1033, 423, 0, + 0, 0, 203, 0, 206, 31, 32, 219, 0, 221, + 0, 0, 0, 0, 0, 37, 143, 0, 0, 75, + 0, 77, 0, 78, 79, 0, 80, 81, 82, 0, + 0, 0, 0, 256, 0, 0, 0, 0, 0, 587, + 0, 0, 0, 0, 0, 168, 263, 0, 0, 0, + 92, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 587, 66, 67, 68, 69, 70, 0, 0, 0, 0, + 0, 587, 583, 0, 0, 0, 587, 0, 73, 74, + 0, 0, 0, 0, 587, 579, 580, 0, 0, 0, + 0, 0, 84, 0, 0, 0, 0, 0, 0, 590, + 0, 0, 0, 0, 581, 88, 352, 0, 0, 0, + 0, 0, 31, 32, 33, 0, 0, 0, 0, 0, + 590, 587, 37, 0, 0, 0, 0, 0, 0, 0, + 0, 590, 0, 587, 0, 0, 590, 0, 0, 0, + 0, 0, 0, 0, 590, 0, 376, 0, 0, 376, + 0, 0, 0, 0, 0, 195, 385, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 582, 66, 67, + 68, 69, 70, 0, 0, 0, 0, 0, 0, 583, + 0, 590, 0, 0, 143, 73, 74, 75, 0, 584, + 0, 78, 79, 590, 80, 81, 82, 0, 0, 84, + 175, 0, 0, 0, 432, 0, 0, 0, 0, 585, + 0, 0, 88, 1025, 0, 0, 0, 0, 1318, 0, + 0, 0, 0, 0, 459, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 468, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 473, 474, 475, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 0, 0, 500, 500, 503, 0, 0, 0, 0, @@ -2515,43 +2523,43 @@ static const yytype_int16 yytable[] = 525, 526, 527, 0, 0, 0, 0, 0, 500, 532, 0, 468, 500, 535, 0, 0, 0, 0, 516, 0, 0, 0, 0, 0, 0, 0, 0, 0, 546, 0, - 548, 0, 0, 0, 622, 0, 468, 0, 0, 0, + 548, 0, 0, 0, 0, 0, 468, 0, 0, 0, 0, 0, 0, 0, 0, 0, 559, 0, 0, 0, 0, 5, 6, 7, 8, 9, 0, 0, 0, 0, - 10, 0, 0, 0, 0, 0, 31, 32, 0, 0, - 0, 0, 0, 0, 0, 598, 37, 0, 0, 513, + 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 598, 0, 0, 0, 513, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12, 13, 0, 0, 0, 0, 14, 0, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 0, 0, 0, 0, 31, 32, 33, - 34, 35, 66, 67, 68, 69, 70, 37, 0, 0, - 0, 0, 0, 583, 0, 0, 0, 0, 0, 73, - 74, 0, 0, 654, 0, 0, 48, 0, 0, 0, - 0, 0, 0, 84, 0, 0, 0, 0, 0, 141, - 0, 0, 59, 60, 0, 0, 88, 0, 0, 0, + 34, 35, 0, 0, 0, 0, 0, 37, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 654, 0, 0, 48, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 141, + 0, 0, 59, 60, 0, 0, 0, 0, 0, 0, 0, 142, 65, 66, 67, 68, 69, 70, 0, 0, 0, 256, 0, 0, 71, 0, 0, 0, 0, 143, 73, 74, 75, 514, 77, 670, 78, 79, 0, 80, - 81, 82, 0, 33, 84, 35, 0, 0, 85, 0, + 81, 82, 0, 0, 84, 0, 0, 0, 85, 0, 0, 0, 0, 0, 86, 0, 0, 88, 89, 0, 701, 0, 0, 92, 93, 0, 94, 95, 289, 290, - 291, 195, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 179, 292, 0, 293, 294, 295, 296, + 291, 195, 0, 0, 0, 0, 0, 0, 33, 0, + 35, 0, 0, 0, 292, 0, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 0, 314, 0, - 0, 0, 0, 143, 0, 0, 75, 0, 77, 0, - 78, 79, 0, 80, 81, 82, 0, 0, 762, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 769, 0, 180, 0, 0, 0, 0, 92, 0, 0, - 0, 0, 0, 0, 777, 0, 0, 0, 0, 0, - 0, 0, 787, 0, 0, 788, 0, 789, 0, 0, - 468, 0, 0, 0, 0, 0, 0, 0, 0, 468, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 167, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 762, 0, + 758, 0, 33, 0, 35, 0, 0, 0, 0, 0, + 769, 0, 0, 0, 0, 0, 0, 0, 143, 0, + 0, 75, 0, 77, 777, 78, 79, 0, 80, 81, + 82, 0, 787, 0, 0, 788, 0, 789, 0, 0, + 468, 0, 179, 0, 0, 0, 0, 168, 0, 468, + 0, 0, 92, 0, 0, 0, 0, 0, 0, 0, 5, 6, 7, 8, 9, 0, 0, 0, 0, 10, - 0, 0, 0, 818, -682, -682, -682, -682, 306, 307, - 308, 309, 310, 311, 312, 313, 0, 314, 174, 0, + 0, 0, 143, 818, 0, 75, 0, 77, 0, 78, + 79, 0, 80, 81, 82, 0, 0, 0, 174, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12, - 13, 0, 0, 642, 0, 14, 0, 15, 16, 17, + 13, 180, 0, 642, 0, 14, 92, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 0, 0, 0, 0, 31, 32, 33, 34, 35, 0, 0, 0, 0, 0, 37, 869, 0, 0, @@ -2714,7 +2722,7 @@ static const yytype_int16 yytable[] = 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 0, 0, 0, 31, 32, 33, 34, 35, 0, 36, 0, 0, 0, 37, - 38, 39, 40, 0, 41, 0, 42, 1243, 43, 0, + 38, 39, 40, 0, 41, 0, 42, 1245, 43, 0, 0, 44, 0, 0, 0, 45, 46, 47, 48, 0, 50, 51, 0, 52, 0, 54, 0, 0, 0, 55, 56, 57, 0, 58, 59, 60, 0, 62, 63, 0, @@ -2725,7 +2733,7 @@ static const yytype_int16 yytable[] = 85, 0, 0, 0, 0, 0, 86, 0, 0, 88, 89, 0, 90, 91, 0, 92, 93, 0, 94, 95, 5, 6, 7, 8, 9, 0, 0, 0, 0, 10, - -682, -682, -682, -682, 302, 303, 304, 305, 306, 307, + -684, -684, -684, -684, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 0, 314, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11, 12, 13, 0, 0, 0, 0, 14, 0, 15, 16, 17, @@ -2741,7 +2749,7 @@ static const yytype_int16 yytable[] = 74, 75, 76, 77, 0, 78, 79, 0, 80, 81, 82, 83, 0, 84, 0, 0, 0, 85, 0, 0, 0, 0, 0, 86, 0, 0, 88, 89, 0, 90, - 91, 1273, 92, 93, 0, 94, 95, 5, 6, 7, + 91, 1275, 92, 93, 0, 94, 95, 5, 6, 7, 8, 9, 0, 0, 0, 0, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -2758,7 +2766,7 @@ static const yytype_int16 yytable[] = 71, 0, 0, 0, 0, 143, 73, 74, 75, 76, 77, 0, 78, 79, 0, 80, 81, 82, 83, 0, 84, 0, 0, 0, 85, 0, 0, 0, 0, 0, - 86, 0, 0, 88, 89, 0, 90, 91, 1276, 92, + 86, 0, 0, 88, 89, 0, 90, 91, 1278, 92, 93, 0, 94, 95, 5, 6, 7, 8, 9, 0, 0, 0, 0, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -2767,7 +2775,7 @@ static const yytype_int16 yytable[] = 0, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 0, 0, 0, 31, 32, 33, 34, 35, 0, 36, 0, 0, 0, - 37, 38, 39, 40, 0, 41, 1278, 42, 0, 43, + 37, 38, 39, 40, 0, 41, 1280, 42, 0, 43, 0, 0, 44, 0, 0, 0, 45, 46, 47, 48, 0, 50, 51, 0, 52, 0, 54, 0, 0, 0, 55, 56, 57, 0, 58, 59, 60, 0, 62, 63, @@ -2794,7 +2802,7 @@ static const yytype_int16 yytable[] = 73, 74, 75, 76, 77, 0, 78, 79, 0, 80, 81, 82, 83, 0, 84, 0, 0, 0, 85, 0, 0, 0, 0, 0, 86, 0, 0, 88, 89, 0, - 90, 91, 1280, 92, 93, 0, 94, 95, 5, 6, + 90, 91, 1282, 92, 93, 0, 94, 95, 5, 6, 7, 8, 9, 0, 0, 0, 0, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -2811,7 +2819,7 @@ static const yytype_int16 yytable[] = 0, 71, 0, 0, 0, 0, 143, 73, 74, 75, 76, 77, 0, 78, 79, 0, 80, 81, 82, 83, 0, 84, 0, 0, 0, 85, 0, 0, 0, 0, - 0, 86, 0, 0, 88, 89, 0, 90, 91, 1281, + 0, 86, 0, 0, 88, 89, 0, 90, 91, 1283, 92, 93, 0, 94, 95, 5, 6, 7, 8, 9, 0, 0, 0, 0, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -2829,7 +2837,7 @@ static const yytype_int16 yytable[] = 0, 0, 0, 143, 73, 74, 75, 76, 77, 0, 78, 79, 0, 80, 81, 82, 83, 0, 84, 0, 0, 0, 85, 0, 0, 0, 0, 0, 86, 0, - 0, 88, 89, 0, 90, 91, 1293, 92, 93, 0, + 0, 88, 89, 0, 90, 91, 1295, 92, 93, 0, 94, 95, 5, 6, 7, 8, 9, 0, 0, 0, 0, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -2847,7 +2855,7 @@ static const yytype_int16 yytable[] = 143, 73, 74, 75, 76, 77, 0, 78, 79, 0, 80, 81, 82, 83, 0, 84, 0, 0, 0, 85, 0, 0, 0, 0, 0, 86, 0, 0, 88, 89, - 0, 90, 91, 1326, 92, 93, 0, 94, 95, 5, + 0, 90, 91, 1328, 92, 93, 0, 94, 95, 5, 6, 7, 8, 9, 0, 0, 0, 0, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -2865,7 +2873,7 @@ static const yytype_int16 yytable[] = 75, 76, 77, 0, 78, 79, 0, 80, 81, 82, 83, 0, 84, 0, 0, 0, 85, 0, 0, 0, 0, 0, 86, 0, 0, 88, 89, 0, 90, 91, - 1329, 92, 93, 0, 94, 95, 5, 6, 7, 8, + 1331, 92, 93, 0, 94, 95, 5, 6, 7, 8, 9, 0, 0, 0, 0, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -2956,7 +2964,7 @@ static const yytype_int16 yytable[] = 88, 89, 0, 90, 91, 0, 92, 93, 0, 94, 95, 5, 6, 7, 8, 9, 0, 0, 0, 0, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 1199, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 1201, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12, 13, 0, 0, 0, 0, 14, 0, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, @@ -3265,8 +3273,8 @@ static const yytype_int16 yytable[] = 0, 1152, 1153, 1154, 1155, 1156, 1157, 1158, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1159, 1160, 1161, 0, 1162, 0, 0, 78, 79, 0, 80, - 81, 82, 1163, 0, 1164, 0, 0, 1165, 289, 290, - 291, 0, 0, 0, 0, 1166, 0, 1167, 0, 0, + 81, 82, 1163, 1164, 1165, 0, 0, 1166, 289, 290, + 291, 0, 0, 0, 1167, 1168, 0, 1169, 0, 0, 0, 0, 0, 0, 292, 0, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 0, 314, 289, @@ -3355,257 +3363,263 @@ static const yytype_int16 yytable[] = static const yytype_int16 yycheck[] = { - 4, 83, 279, 220, 137, 87, 145, 4, 4, 344, - 4, 30, 4, 130, 324, 747, 781, 349, 314, 970, - 970, 40, 967, 948, 276, 44, 181, 109, 538, 355, - 438, 634, 564, 89, 369, 8, 4, 26, 8, 8, - 46, 570, 46, 8, 766, 49, 187, 8, 8, 26, - 8, 8, 784, 53, 8, 8, 8, 8, 61, 63, - 8, 4, 987, 8, 187, 73, 8, 78, 8, 8, - 8, 188, 72, 8, 653, 75, 78, 8, 41, 83, - 8, 24, 25, 87, 102, 8, 665, 121, 98, 57, - 29, 8, 8, 8, 233, 73, 207, 208, 121, 109, - 110, 212, 13, 25, 1049, 109, 170, 117, 118, 28, - 93, 94, 168, 0, 162, 26, 147, 61, 121, 31, - 42, 447, 170, 45, 180, 170, 137, 170, 41, 137, - 138, 139, 43, 66, 67, 137, 739, 171, 31, 650, - 146, 159, 173, 1068, 154, 170, 89, 61, 171, 140, - 154, 61, 61, 61, 61, 161, 61, 61, 61, 127, - 377, 73, 61, 170, 61, 276, 898, 61, 24, 25, - 892, 162, 28, 141, 896, 897, 61, 121, 61, 505, - 73, 46, 173, 322, 173, 61, 319, 73, 717, 193, - 719, 174, 196, 163, 157, 172, 200, 175, 61, 193, - 282, 174, 196, 172, 173, 338, 73, 172, 171, 812, - 61, 172, 172, 217, 172, 172, 795, 625, 172, 172, - 172, 172, 222, 163, 172, 168, 359, 172, 163, 173, - 172, 174, 171, 171, 399, 368, 747, 180, 371, 321, - 171, 323, 117, 171, 157, 121, 140, 412, 171, 575, - 193, 251, 90, 196, 171, 171, 171, 90, 171, 173, - 170, 170, 266, 173, 173, 173, 173, 121, 173, 173, - 173, 275, 994, 784, 173, 279, 173, 73, 282, 173, - 612, 146, 78, 394, 227, 93, 94, 31, 173, 175, - 173, 73, 235, 236, 237, 827, 78, 173, 266, 242, - 356, 170, 121, 813, 73, 248, 144, 173, 175, 450, - 173, 144, 168, 147, 117, 319, 320, 321, 174, 323, - 174, 31, 173, 266, 180, 577, 160, 450, 663, 73, - 144, 170, 1283, 1283, 338, 73, 939, 672, 449, 173, - 66, 67, 138, 139, 561, 106, 107, 108, 109, 110, - 111, 506, 171, 1298, 865, 359, 138, 139, 172, 173, - 98, 872, 146, 73, 170, 691, 174, 371, 170, 138, - 139, 227, 668, 170, 529, 170, 887, 170, 382, 235, - 236, 237, 170, 179, 1309, 26, 242, 898, 382, 544, - 1315, 144, 248, 173, 904, 314, 906, 170, 402, 1002, - 319, 566, 543, 407, 31, 405, 349, 73, 549, 735, - 172, 172, 78, 356, 579, 580, 581, 421, 172, 338, - 543, 71, 73, 427, 428, 172, 549, 78, 61, 511, - 61, 586, 549, 317, 402, 63, 25, 61, 140, 382, - 359, 172, 173, 71, 173, 73, 92, 93, 94, 368, - 760, 140, 371, 42, 170, 790, 45, 341, 314, 402, - 162, 345, 112, 798, 1218, 1219, 577, 578, 170, 1234, - 170, 173, 138, 139, 124, 1214, 1215, 988, 61, 98, - 991, 992, 808, 111, 649, 170, 137, 138, 139, 144, - 1000, 141, 40, 349, 144, 49, 146, 714, 148, 149, - 356, 151, 152, 153, 162, 638, 140, 511, 92, 93, - 94, 121, 178, 141, 73, 177, 144, 8, 146, 78, - 148, 149, 465, 151, 152, 153, 852, 140, 140, 41, - 170, 857, 643, 140, 538, 867, 540, 93, 94, 95, - 73, 560, 170, 121, 162, 78, 172, 175, 170, 884, - 45, 46, 47, 557, 49, 1287, 13, 171, 1069, 13, - 13, 1071, 162, 567, 568, 71, 901, 172, 79, 1301, - 513, 736, 71, 13, 568, 171, 741, 171, 137, 138, - 139, 176, 170, 748, 170, 170, 912, 99, 8, 557, - 171, 595, 104, 82, 106, 107, 108, 109, 110, 111, - 112, 171, 545, 8, 547, 138, 139, 172, 79, 465, - 721, 13, 723, 170, 557, 71, 115, 8, 773, 170, - 624, 73, 565, 73, 170, 568, 78, 624, 624, 172, - 624, 119, 624, 171, 638, 141, 148, 149, 144, 151, - 751, 120, 148, 149, 979, 151, 152, 153, 61, 148, - 149, 161, 151, 152, 153, 122, 624, 513, 8, 13, - 603, 61, 174, 71, 171, 8, 831, 171, 174, 612, - 613, 170, 783, 119, 951, 679, 680, 681, 174, 177, - 845, 624, 847, 177, 703, 8, 138, 139, 1198, 545, - 146, 547, 148, 149, 150, 151, 152, 153, 170, 916, - 704, 170, 177, 707, 71, 171, 73, 177, 171, 565, - 704, 122, 172, 930, 170, 8, 25, 172, 140, 638, - 1055, 170, 71, 171, 73, 170, 140, 102, 24, 25, - 947, 842, 28, 13, 738, 173, 740, 172, 146, 707, - 148, 149, 51, 151, 152, 153, 90, 603, 752, 668, - 173, 13, 177, 49, 173, 13, 612, 613, 170, 13, - 764, 704, 71, 172, 707, 8, 709, 764, 764, 1046, - 764, 170, 764, 938, 170, 170, 1287, 942, 170, 944, - 122, 148, 149, 171, 151, 152, 153, 1004, 172, 98, - 1301, 172, 13, 8, 1011, 171, 764, 171, 122, 148, - 149, 820, 151, 152, 153, 809, 173, 177, 175, 813, - 8, 137, 668, 170, 71, 124, 8, 170, 159, 823, - 122, 764, 170, 934, 173, 171, 175, 8, 832, 823, - 122, 171, 141, 776, 173, 144, 173, 146, 949, 148, - 149, 173, 151, 152, 153, 170, 177, 8, 170, 1014, - 171, 137, 71, 709, 73, 26, 967, 166, 68, 1076, - 172, 170, 172, 171, 832, 163, 26, 171, 8, 122, - 981, 171, 168, 984, 817, 122, 8, 174, 174, 173, - 823, 171, 71, 90, 180, 174, 829, 170, 71, 832, - 73, 148, 149, 26, 151, 152, 153, 171, 1063, 171, - 904, 8, 906, 173, 1043, 106, 107, 108, 109, 110, - 111, 207, 208, 170, 122, 171, 212, 1082, 1083, 171, - 776, 171, 1087, 26, 867, 71, 1091, 73, 74, 148, - 149, 227, 151, 152, 153, 172, 171, 122, 399, 235, - 236, 237, 69, 70, 71, 172, 242, 951, 172, 73, - 150, 412, 248, 146, 173, 144, 175, 170, 962, 148, - 149, 817, 151, 152, 153, 148, 149, 25, 151, 152, - 153, 73, 1189, 829, 171, 104, 13, 1194, 122, 122, - 276, 171, 1199, 279, 173, 171, 122, 171, 1205, 1206, - 13, 171, 175, 51, 173, 172, 1000, 73, 966, 171, - 170, 1005, 148, 149, 1008, 151, 152, 153, 1012, 173, - 13, 867, 122, 71, 1008, 173, 1020, 173, 314, 173, - 13, 148, 149, 1240, 151, 152, 153, 1192, 1032, 13, - 171, 73, 13, 51, 1038, 173, 170, 1005, 73, 73, - 8, 13, 1046, 90, 1012, 71, 1185, 172, 1213, 140, - 90, 29, 1020, 349, 153, 13, 170, 71, 25, 1224, - 356, 172, 1005, 171, 1229, 1008, 124, 1071, 73, 1012, - 1074, 1075, 1237, 155, 71, 1079, 171, 1020, 170, 172, - 1048, 1075, 171, 141, 51, 73, 144, 1252, 146, 173, - 148, 149, 171, 151, 152, 153, 1295, 323, 394, 157, - 1182, 321, 1319, 399, 71, 566, 1074, 127, 166, 1274, - 1327, 1079, 170, 626, 405, 320, 412, 667, 579, 580, - 581, 1286, 148, 149, 664, 151, 152, 153, 1306, 927, - 144, 1074, 1075, 829, 148, 149, 1079, 151, 152, 153, - 962, 410, 1092, 1171, 141, 1321, 1183, 144, 1230, 146, - 38, 148, 149, 449, 151, 152, 153, 124, 42, 43, - 44, 45, 46, 47, 49, 49, 89, 796, 1021, 465, - 767, 680, 736, 809, 141, 693, 887, 144, 1182, 146, - 243, 148, 149, 236, 151, 152, 153, 41, 649, 724, - 157, -1, 984, -1, 1198, -1, -1, -1, 1202, 166, - -1, -1, 245, 170, -1, 1209, 249, -1, -1, -1, - 1214, 1215, -1, -1, 1218, 1219, -1, 513, 24, 25, - -1, -1, 28, -1, -1, 268, 1230, 270, 271, 272, - 273, 1235, -1, -1, 1202, 1239, -1, -1, 1242, -1, - 1244, 1245, -1, -1, -1, 99, -1, -1, -1, 545, - 104, 547, 106, 107, 108, 109, 110, 111, 112, 1202, - -1, -1, -1, -1, -1, -1, -1, 1235, -1, 565, - 566, 1239, -1, 1277, 1242, 736, 1244, 1245, 1282, -1, - 741, 577, 578, 579, 580, 581, -1, 748, -1, 31, - -1, -1, 1235, 1297, 148, 149, 1239, 151, -1, 1242, - -1, 1244, 1245, -1, -1, 399, -1, 603, -1, 1277, - -1, -1, -1, -1, 610, -1, 612, 613, 412, 1323, - 174, -1, 207, 208, 1328, -1, -1, 212, -1, 71, - 626, 73, -1, -1, 1277, 13, 14, 15, 16, 17, - 18, 19, 20, 21, 22, 23, 24, 643, -1, -1, - -1, -1, -1, 649, -1, 1323, 652, -1, -1, -1, - 1328, -1, 168, -1, -1, -1, -1, -1, 174, 111, - 831, -1, 668, -1, 180, -1, -1, -1, -1, -1, - 1323, 59, 60, -1, 845, 1328, 847, -1, -1, -1, - -1, 276, -1, 41, 279, -1, -1, -1, -1, 141, - -1, -1, 144, -1, 146, -1, 148, 149, -1, 151, - 152, 153, -1, 709, -1, -1, -1, -1, -1, -1, - -1, 227, -1, -1, -1, 721, -1, 723, 170, 235, - 236, 237, -1, 175, -1, -1, 242, -1, -1, -1, - 736, -1, 248, 121, -1, 741, -1, -1, -1, -1, - -1, 99, 748, -1, -1, 751, 104, -1, 106, 107, - 108, 109, 110, 111, 112, -1, -1, -1, -1, -1, - -1, -1, 566, -1, -1, -1, -1, 938, -1, -1, - 776, 942, -1, 944, -1, 579, 580, 783, 42, 43, - -1, -1, 25, 171, -1, -1, -1, -1, -1, -1, - 148, 149, -1, 151, -1, -1, -1, 61, 314, 394, - -1, -1, -1, -1, 399, 69, 70, 71, 51, -1, - -1, 817, -1, -1, -1, 79, 174, 412, -1, -1, - -1, -1, -1, 829, -1, 831, -1, -1, 71, -1, - -1, -1, -1, 349, -1, -1, 842, -1, -1, 845, - 356, 847, -1, 1014, -1, 649, -1, -1, -1, -1, - -1, -1, 858, 25, 449, 98, -1, -1, 864, -1, - 124, 867, -1, 106, 107, 108, 109, 110, 111, -1, - -1, -1, 136, -1, -1, -1, -1, -1, -1, 51, - -1, 124, -1, 399, 148, 149, -1, 151, 152, 153, - -1, -1, 1063, -1, -1, -1, 412, 41, 141, 71, - -1, 144, 166, 146, -1, 148, 149, -1, 151, 152, - 153, 1082, 1083, -1, -1, -1, 1087, -1, -1, -1, - -1, -1, -1, 166, -1, -1, -1, 170, 934, -1, - -1, -1, 938, -1, -1, -1, 942, 741, 944, -1, - -1, -1, -1, 949, 748, 951, 952, -1, -1, 465, - -1, -1, 124, -1, 960, 99, -1, -1, -1, -1, - 104, 967, 106, 107, 108, 109, 110, 111, 112, 141, - -1, 566, 144, -1, 146, 981, 148, 149, 984, 151, - 152, 153, 577, 578, 579, 580, 581, -1, -1, -1, - -1, -1, -1, -1, 166, -1, -1, 513, 170, -1, - -1, -1, -1, -1, 148, 149, -1, 151, 1014, 13, - 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, - 24, 1192, -1, -1, -1, -1, -1, 831, -1, 545, - 174, 547, -1, -1, -1, -1, -1, -1, -1, -1, - 1046, 845, 1213, 847, -1, -1, -1, -1, 643, 565, - 566, -1, -1, 1224, 649, 59, 60, 1063, 1229, -1, - -1, -1, -1, 579, 580, 581, 1237, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 1082, 1083, -1, -1, - -1, 1087, 1088, -1, -1, -1, 1092, 603, -1, -1, - -1, -1, -1, -1, 610, -1, 612, 613, -1, -1, - -1, -1, -1, 1274, -1, -1, -1, -1, -1, -1, - 626, -1, -1, -1, -1, 1286, -1, 121, -1, -1, - -1, -1, -1, -1, -1, -1, 721, -1, 723, -1, - -1, 41, -1, 649, 938, -1, 652, -1, 942, -1, - 944, 736, 9, 10, 11, -1, 741, -1, -1, -1, - -1, -1, 668, 748, -1, -1, 751, -1, 25, -1, - 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, - 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, - 47, -1, 49, -1, -1, -1, 1192, -1, 783, 99, - -1, -1, -1, 709, 104, -1, 106, 107, 108, 109, - 110, 111, 112, 1209, 41, -1, -1, 1213, -1, -1, - 1014, -1, -1, -1, -1, -1, -1, -1, 1224, -1, - 736, -1, -1, 1229, -1, 741, -1, -1, -1, -1, - -1, 1237, 748, -1, -1, -1, 831, -1, 148, 149, - -1, 151, -1, -1, -1, -1, -1, 842, -1, -1, - 845, -1, 847, -1, -1, -1, -1, -1, -1, 1063, - 776, -1, 99, -1, 174, -1, -1, 104, 1274, 106, - 107, 108, 109, 110, 111, 112, -1, -1, 1082, 1083, - 1286, -1, -1, 1087, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 42, 43, -1, - 1306, 817, -1, -1, -1, 1311, -1, -1, -1, -1, - 177, 148, 149, 829, 151, 831, 61, -1, -1, -1, - -1, -1, -1, -1, 69, 70, 71, -1, -1, 845, - -1, 847, -1, -1, 79, -1, -1, 174, -1, 934, - -1, -1, 858, 938, -1, -1, -1, 942, 864, 944, - -1, 867, -1, -1, 949, -1, 951, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 62, 63, -1, -1, - -1, -1, 967, -1, -1, 71, -1, 73, -1, 124, - 125, 126, 127, 128, 129, -1, 981, -1, 1192, 984, - -1, 136, -1, -1, -1, -1, 141, 142, 143, 144, - -1, 146, -1, 148, 149, -1, 151, 152, 153, 1213, - -1, 156, -1, -1, -1, 111, -1, -1, -1, 1014, - 1224, 166, 938, -1, 169, 1229, 942, -1, 944, -1, - -1, -1, -1, 1237, -1, -1, 952, -1, -1, -1, - -1, -1, -1, -1, 960, 141, -1, -1, 144, -1, - 146, 1046, 148, 149, -1, 151, 152, 153, -1, -1, - -1, -1, -1, -1, 160, -1, -1, -1, 1063, -1, - 1274, -1, -1, -1, 170, -1, -1, -1, -1, 175, - -1, -1, 1286, -1, -1, -1, -1, 1082, 1083, -1, - -1, -1, 1087, -1, -1, -1, -1, -1, 1014, -1, - 71, -1, 73, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 5, 6, -1, 8, 9, 10, -1, 12, + 4, 83, 279, 220, 137, 87, 145, 30, 4, 349, + 4, 4, 747, 181, 781, 4, 538, 40, 344, 324, + 970, 44, 28, 634, 355, 948, 130, 109, 89, 314, + 967, 438, 650, 187, 970, 276, 4, 564, 8, 8, + 187, 570, 46, 369, 8, 49, 8, 8, 53, 784, + 8, 766, 8, 8, 41, 8, 8, 8, 8, 63, + 8, 4, 71, 8, 987, 46, 8, 72, 8, 8, + 75, 8, 121, 8, 8, 61, 102, 8, 61, 83, + 8, 24, 25, 87, 188, 8, 8, 61, 8, 57, + 162, 73, 29, 144, 233, 73, 26, 170, 170, 66, + 67, 140, 90, 170, 147, 109, 0, 168, 26, 173, + 207, 208, 1049, 73, 653, 212, 447, 160, 170, 180, + 98, 172, 173, 162, 170, 174, 665, 117, 739, 747, + 173, 170, 141, 159, 173, 144, 41, 146, 121, 148, + 149, 121, 151, 152, 153, 1068, 89, 121, 61, 61, + 154, 61, 61, 61, 140, 61, 144, 73, 61, 127, + 377, 61, 399, 898, 61, 146, 784, 170, 24, 25, + 157, 61, 28, 141, 505, 412, 61, 892, 61, 276, + 161, 896, 897, 322, 171, 46, 319, 173, 717, 193, + 719, 171, 196, 175, 163, 61, 200, 61, 61, 173, + 282, 812, 172, 173, 193, 338, 117, 196, 163, 171, + 174, 172, 121, 217, 172, 175, 172, 222, 625, 172, + 172, 172, 172, 90, 172, 168, 359, 172, 26, 163, + 172, 174, 172, 172, 171, 368, 171, 180, 371, 321, + 171, 323, 172, 171, 575, 78, 251, 865, 171, 171, + 193, 171, 157, 196, 872, 173, 795, 170, 170, 175, + 173, 173, 266, 173, 173, 173, 171, 173, 170, 887, + 173, 275, 612, 173, 73, 279, 173, 144, 282, 994, + 898, 170, 73, 173, 227, 146, 78, 78, 173, 170, + 173, 813, 235, 236, 237, 356, 450, 394, 266, 242, + 827, 121, 170, 450, 137, 248, 121, 173, 314, 173, + 173, 170, 168, 319, 146, 319, 320, 321, 174, 323, + 66, 67, 31, 266, 180, 170, 93, 94, 939, 566, + 93, 94, 338, 170, 338, 1285, 577, 663, 506, 138, + 139, 170, 579, 580, 561, 137, 672, 138, 139, 1285, + 71, 171, 449, 359, 73, 359, 171, 31, 144, 78, + 691, 529, 368, 1300, 73, 371, 173, 371, 172, 173, + 988, 227, 71, 991, 992, 25, 544, 73, 382, 235, + 236, 237, 904, 668, 906, 170, 242, 178, 1311, 543, + 31, 1002, 248, 382, 1317, 549, 543, 172, 402, 73, + 405, 51, 549, 407, 735, 31, 349, 174, 71, 61, + 73, 174, 649, 356, 31, 172, 115, 421, 586, 138, + 139, 71, 172, 427, 428, 146, 61, 148, 149, 511, + 151, 152, 153, 317, 402, 69, 70, 71, 61, 382, + 140, 137, 138, 139, 147, 549, 173, 73, 98, 148, + 149, 1069, 151, 152, 153, 760, 73, 341, 314, 402, + 179, 345, 162, 71, 790, 73, 93, 94, 95, 1236, + 173, 170, 798, 173, 124, 25, 140, 808, 1000, 71, + 577, 578, 73, 1220, 1221, 148, 149, 78, 151, 152, + 153, 141, 42, 349, 144, 45, 146, 714, 148, 149, + 356, 151, 152, 153, 741, 638, 61, 511, 73, 170, + 173, 748, 175, 78, 148, 149, 166, 151, 152, 153, + 170, 852, 465, 1216, 1217, 13, 857, 867, 170, 98, + 41, 45, 46, 47, 538, 49, 540, 560, 26, 399, + 148, 149, 170, 151, 152, 153, 643, 138, 139, 1071, + 144, 40, 412, 557, 1289, 43, 148, 149, 884, 151, + 152, 153, 49, 567, 568, 173, 25, 175, 1303, 162, + 513, 177, 137, 138, 139, 901, 140, 121, 170, 568, + 140, 912, 8, 42, 140, 170, 45, 140, 99, 557, + 121, 595, 172, 104, 831, 106, 107, 108, 109, 110, + 111, 112, 545, 162, 547, 773, 13, 170, 845, 465, + 847, 92, 93, 94, 557, 71, 13, 13, 73, 171, + 624, 162, 565, 78, 721, 568, 723, 172, 624, 79, + 624, 624, 638, 13, 638, 624, 171, 148, 149, 171, + 151, 13, 14, 15, 16, 17, 18, 19, 20, 21, + 22, 23, 24, 979, 751, 176, 624, 513, 170, 8, + 603, 170, 668, 174, 92, 93, 94, 73, 170, 612, + 613, 1289, 78, 71, 951, 679, 680, 681, 1200, 171, + 703, 624, 137, 138, 139, 1303, 783, 59, 60, 545, + 146, 547, 148, 149, 150, 151, 152, 153, 171, 916, + 704, 938, 71, 707, 73, 942, 566, 944, 82, 565, + 8, 172, 13, 930, 170, 704, 79, 170, 8, 579, + 580, 581, 106, 107, 108, 109, 110, 111, 170, 1055, + 947, 73, 138, 139, 738, 73, 740, 172, 119, 707, + 78, 170, 61, 141, 171, 842, 144, 603, 752, 121, + 148, 149, 120, 151, 152, 153, 612, 613, 71, 161, + 764, 704, 122, 8, 707, 61, 709, 171, 764, 1046, + 764, 764, 171, 8, 13, 764, 174, 1014, 119, 148, + 149, 174, 151, 152, 153, 71, 177, 1004, 172, 649, + 177, 98, 8, 170, 1011, 170, 764, 820, 177, 171, + 138, 139, 109, 110, 173, 809, 175, 171, 122, 813, + 117, 118, 668, 71, 171, 73, 177, 172, 172, 823, + 8, 764, 25, 171, 170, 140, 1063, 170, 832, 140, + 102, 144, 13, 776, 823, 148, 149, 934, 151, 152, + 153, 173, 172, 90, 173, 1082, 1083, 154, 51, 71, + 1087, 13, 949, 709, 177, 173, 13, 13, 144, 1076, + 173, 170, 148, 149, 832, 151, 152, 153, 71, 172, + 967, 170, 8, 170, 817, 170, 736, 170, 172, 171, + 823, 741, 122, 172, 981, 13, 829, 984, 748, 832, + 148, 149, 8, 151, 152, 153, 171, 171, 122, 177, + 904, 8, 906, 137, 1043, 13, 14, 15, 16, 17, + 18, 19, 20, 21, 22, 23, 24, 175, 170, 170, + 776, 124, 159, 8, 867, 122, 148, 149, 170, 151, + 152, 153, 8, 171, 177, 24, 25, 173, 141, 28, + 171, 144, 170, 146, 173, 148, 149, 951, 151, 152, + 153, 59, 60, 173, 157, 170, 122, 1194, 962, 171, + 49, 817, 8, 166, 137, 26, 68, 170, 172, 171, + 163, 831, 172, 829, 1191, 26, 171, 122, 1215, 1196, + 8, 171, 122, 174, 1201, 845, 8, 847, 173, 1226, + 1207, 1208, 171, 90, 1231, 170, 1000, 174, 966, 26, + 171, 1005, 1239, 171, 1008, 122, 173, 171, 1012, 8, + 171, 867, 171, 121, 49, 71, 1020, 73, 74, 1008, + 26, 172, 171, 122, 172, 1242, 172, 150, 1032, 73, + 171, 245, 146, 170, 1038, 249, 104, 1005, 13, 1276, + 73, 171, 1046, 122, 1012, 171, 171, 31, 1187, 122, + 122, 1288, 1020, 171, 268, 13, 270, 271, 272, 273, + 173, 172, 1005, 73, 170, 1008, 171, 1071, 13, 1012, + 1074, 1075, 173, 173, 122, 1079, 13, 1020, 938, 168, + 1048, 173, 942, 173, 944, 174, 1075, 71, 13, 73, + 171, 180, 148, 149, 73, 151, 152, 153, 13, 173, + 51, 73, 1184, 170, 1321, 73, 1074, 8, 13, 172, + 90, 1079, 1329, 90, 140, 153, 29, 13, 207, 208, + 170, 73, 171, 212, 155, 172, 171, 111, 170, 172, + 171, 1074, 1075, 73, 171, 405, 1079, 173, 227, 106, + 107, 108, 109, 110, 111, 1297, 235, 236, 237, 323, + 1232, 320, 667, 242, 1014, 626, 321, 141, 127, 248, + 144, 664, 146, 1308, 148, 149, 927, 151, 152, 153, + 829, 1092, 207, 208, 1173, 962, 38, 212, 410, 1323, + 1184, 89, 1021, 1185, 767, 796, 170, 276, 736, 680, + 279, 175, 693, 809, 887, 724, 1200, -1, -1, -1, + 1204, 984, 236, 1063, 243, -1, -1, 1211, -1, -1, + -1, -1, 1216, 1217, -1, -1, 1220, 1221, -1, -1, + -1, -1, 1082, 1083, -1, 314, -1, 1087, 1232, -1, + -1, 1091, -1, 1237, -1, -1, 1204, 1241, -1, -1, + 1244, 276, 1246, 1247, 279, -1, -1, -1, -1, 24, + 25, -1, -1, 28, -1, -1, -1, -1, -1, -1, + 349, 1204, 25, -1, -1, -1, -1, 356, -1, 1237, + -1, -1, -1, 1241, -1, 1279, 1244, -1, 1246, 1247, + 1284, -1, 42, 43, 44, 45, 46, 47, 51, 49, + -1, -1, -1, -1, 1237, 1299, -1, -1, 1241, -1, + -1, 1244, -1, 1246, 1247, 394, -1, -1, 71, -1, + 399, 1279, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 1325, -1, 412, -1, -1, 1330, -1, -1, -1, + -1, -1, -1, -1, 1194, 98, 1279, -1, -1, -1, + -1, -1, -1, 106, 107, 108, 109, 110, 111, -1, + -1, -1, -1, -1, -1, 1215, -1, 1325, -1, 394, + 449, 124, 1330, -1, 399, -1, 1226, -1, -1, -1, + -1, 1231, -1, -1, -1, -1, 465, 412, 141, 1239, + -1, 144, 1325, 146, -1, 148, 149, 1330, 151, 152, + 153, -1, -1, 168, 1254, -1, -1, -1, -1, 174, + -1, -1, -1, 166, -1, 180, -1, 170, -1, -1, + -1, 9, 10, 11, 449, 63, 1276, -1, -1, -1, + -1, -1, -1, 71, 513, 73, -1, 25, 1288, 27, + 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, + 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, + -1, 49, 227, -1, -1, -1, 545, -1, 547, -1, + 235, 236, 237, 111, -1, -1, -1, 242, -1, -1, + -1, -1, -1, 248, -1, -1, 565, 566, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 577, 578, + 579, 580, 581, 141, -1, -1, 144, -1, 146, -1, + 148, 149, -1, 151, 152, 153, -1, -1, -1, -1, + -1, -1, 25, -1, 603, -1, -1, -1, -1, -1, + -1, 610, 170, 612, 613, -1, -1, 175, -1, -1, + -1, 566, -1, -1, -1, -1, -1, 626, 51, 314, + -1, -1, 577, 578, 579, 580, 581, -1, -1, -1, + -1, -1, -1, -1, 643, -1, -1, -1, 71, -1, + 649, -1, -1, 652, 399, -1, 9, 10, 11, -1, + -1, -1, -1, -1, 349, -1, 174, 412, -1, 668, + -1, 356, 25, -1, 27, 28, 29, 30, 31, 32, + 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, + 43, 44, 45, 46, 47, -1, 49, -1, 643, -1, + 41, 124, -1, -1, 649, -1, -1, -1, -1, -1, + 709, -1, -1, -1, 399, -1, -1, -1, 141, -1, + 71, 144, 721, 146, 723, 148, 149, 412, 151, 152, + 153, -1, -1, -1, 157, -1, -1, 736, -1, -1, + -1, -1, 741, 166, -1, -1, 41, 170, 25, 748, + -1, -1, 751, -1, -1, -1, -1, -1, 99, -1, + -1, 112, -1, 104, -1, 106, 107, 108, 109, 110, + 111, 112, -1, 124, 51, -1, 721, 776, 723, -1, + 465, -1, -1, -1, 783, -1, -1, -1, -1, -1, + 141, 736, -1, 144, 71, 146, 741, 148, 149, -1, + 151, 152, 153, 748, 99, -1, 751, 148, 149, 104, + 151, 106, 107, 108, 109, 110, 111, 112, 817, -1, + -1, 566, -1, -1, 177, -1, -1, -1, 513, -1, + 829, -1, 831, 174, 579, 580, 581, -1, 783, -1, + -1, -1, -1, 842, -1, -1, 845, 124, 847, -1, + -1, -1, -1, 148, 149, -1, 151, -1, -1, 858, + 545, -1, 547, -1, 141, 864, -1, 144, 867, 146, + -1, 148, 149, -1, 151, 152, 153, -1, -1, 174, + 565, 566, -1, -1, -1, -1, 831, -1, -1, 166, + -1, -1, -1, 170, 579, 580, 581, 842, -1, -1, + 845, -1, 847, -1, 649, -1, 36, 37, 38, 39, + 40, 41, 42, 43, 44, 45, 46, 47, 603, 49, + -1, -1, -1, -1, -1, 610, -1, 612, 613, -1, + -1, -1, -1, -1, -1, 934, -1, -1, -1, 938, + -1, 626, 41, 942, -1, 944, -1, -1, -1, -1, + 949, -1, 951, 952, -1, -1, -1, -1, -1, -1, + -1, 960, -1, 41, 649, -1, -1, 652, 967, -1, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, - 23, -1, -1, 26, 27, -1, -1, -1, -1, -1, - 111, -1, -1, -1, -1, 38, -1, 1063, -1, -1, - -1, -1, 45, -1, 47, -1, -1, 50, -1, 52, - -1, -1, -1, 71, -1, 73, 1082, 1083, -1, -1, - 141, 1087, 1088, 144, -1, 146, 1092, 148, 149, -1, - 151, 152, 153, 76, 13, 14, 15, 16, 17, 18, - 19, 20, 21, 22, 23, 24, 89, 1192, -1, 170, - -1, -1, 173, 111, 175, -1, -1, -1, 71, -1, - 73, -1, -1, -1, 1209, 123, -1, -1, 1213, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 1224, - 59, 60, -1, 141, 1229, -1, 144, -1, 146, -1, - 148, 149, 1237, 151, 152, 153, -1, -1, 111, -1, - -1, -1, -1, -1, -1, -1, 149, -1, -1, -1, - 123, -1, 170, -1, -1, -1, -1, 175, -1, -1, - -1, -1, -1, -1, -1, -1, 1192, -1, 141, 1274, - -1, 144, 71, 146, 73, 148, 149, -1, 151, 152, - 153, 1286, 121, -1, -1, -1, 189, 1213, -1, 192, - -1, -1, -1, -1, -1, 198, 199, 170, 1224, 9, - 10, 11, 175, 1229, -1, -1, -1, -1, -1, -1, - -1, 1237, 111, -1, -1, 25, -1, 27, 28, 29, - 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, - 40, 41, 42, 43, 44, 45, 46, 47, -1, 49, - 243, -1, 141, -1, 247, 144, -1, 146, 1274, 148, - 149, -1, 151, 152, 153, -1, -1, -1, -1, -1, - 1286, -1, -1, -1, 267, -1, -1, -1, -1, -1, - -1, 170, -1, -1, -1, 278, 175, -1, -1, -1, - 1306, -1, -1, -1, -1, 1311, 289, 290, 291, 292, + 23, 24, 981, 668, -1, 984, -1, -1, -1, 934, + -1, 736, -1, 938, -1, -1, 741, 942, -1, 944, + 99, -1, -1, 748, 949, 104, 951, 106, 107, 108, + 109, 110, 111, 112, -1, 1014, 59, 60, -1, -1, + -1, 99, 967, -1, 709, -1, 104, -1, 106, 107, + 108, 109, 110, 111, 112, -1, 981, -1, -1, 984, + -1, 41, -1, -1, -1, -1, -1, 1046, -1, 148, + 149, 736, 151, -1, -1, -1, 741, -1, -1, -1, + -1, -1, -1, 748, 1063, -1, -1, -1, -1, 1014, + 148, 149, -1, 151, -1, 174, -1, -1, 121, -1, + -1, -1, -1, 1082, 1083, -1, 831, -1, 1087, 1088, + -1, 776, -1, 1092, 42, 43, 174, -1, -1, 99, + 845, 1046, 847, -1, 104, -1, 106, 107, 108, 109, + 110, 111, 112, 61, -1, -1, -1, -1, 1063, -1, + -1, 69, 70, 71, -1, -1, -1, -1, -1, -1, + -1, 79, 817, -1, -1, -1, -1, 1082, 1083, -1, + -1, -1, 1087, -1, 829, -1, 831, -1, 148, 149, + -1, 151, -1, -1, -1, -1, 71, -1, 73, -1, + 845, -1, 847, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 858, 174, -1, 124, -1, -1, 864, + -1, -1, 867, -1, -1, -1, -1, -1, 136, -1, + -1, -1, -1, 938, -1, 1194, 111, 942, -1, 944, + 148, 149, -1, 151, 152, 153, -1, -1, -1, -1, + -1, -1, 1211, 62, 63, -1, 1215, -1, 166, -1, + -1, -1, 71, -1, 73, -1, 141, 1226, -1, 144, + -1, 146, 1231, 148, 149, -1, 151, 152, 153, -1, + 1239, -1, 71, -1, 73, -1, -1, -1, -1, 1194, + -1, -1, -1, 938, -1, 170, -1, 942, 173, 944, + 175, -1, 111, -1, -1, -1, 1211, 952, -1, 1014, + 1215, -1, -1, -1, -1, 960, -1, 1276, -1, -1, + -1, 1226, 111, -1, -1, -1, 1231, -1, -1, 1288, + -1, -1, 141, -1, 1239, 144, -1, 146, -1, 148, + 149, -1, 151, 152, 153, -1, -1, -1, -1, 1308, + -1, 160, 141, -1, 1313, 144, -1, 146, 1063, 148, + 149, 170, 151, 152, 153, -1, 175, -1, -1, 1014, + -1, 1276, -1, -1, -1, -1, -1, 1082, 1083, -1, + -1, 170, 1087, 1288, -1, -1, 175, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 71, -1, 73, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 5, 6, -1, 8, 9, 10, 1063, 12, + 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, + 23, -1, -1, 26, 27, -1, 111, 1082, 1083, -1, + -1, -1, 1087, 1088, -1, 38, -1, 1092, 123, -1, + -1, -1, 45, -1, 47, 69, 70, 50, -1, 52, + -1, -1, -1, -1, -1, 79, 141, -1, -1, 144, + -1, 146, -1, 148, 149, -1, 151, 152, 153, -1, + -1, -1, -1, 76, -1, -1, -1, -1, -1, 1194, + -1, -1, -1, -1, -1, 170, 89, -1, -1, -1, + 175, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 1215, 125, 126, 127, 128, 129, -1, -1, -1, -1, + -1, 1226, 136, -1, -1, -1, 1231, -1, 142, 143, + -1, -1, -1, -1, 1239, 42, 43, -1, -1, -1, + -1, -1, 156, -1, -1, -1, -1, -1, -1, 1194, + -1, -1, -1, -1, 61, 169, 149, -1, -1, -1, + -1, -1, 69, 70, 71, -1, -1, -1, -1, -1, + 1215, 1276, 79, -1, -1, -1, -1, -1, -1, -1, + -1, 1226, -1, 1288, -1, -1, 1231, -1, -1, -1, + -1, -1, -1, -1, 1239, -1, 189, -1, -1, 192, + -1, -1, -1, -1, -1, 198, 199, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 124, 125, 126, + 127, 128, 129, -1, -1, -1, -1, -1, -1, 136, + -1, 1276, -1, -1, 141, 142, 143, 144, -1, 146, + -1, 148, 149, 1288, 151, 152, 153, -1, -1, 156, + 243, -1, -1, -1, 247, -1, -1, -1, -1, 166, + -1, -1, 169, 1308, -1, -1, -1, -1, 1313, -1, + -1, -1, -1, -1, 267, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 278, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, -1, -1, 316, 317, 318, -1, -1, -1, -1, @@ -3613,43 +3627,43 @@ static const yytype_int16 yycheck[] = 333, 334, 335, -1, -1, -1, -1, -1, 341, 342, -1, 344, 345, 346, -1, -1, -1, -1, 351, -1, -1, -1, -1, -1, -1, -1, -1, -1, 361, -1, - 363, -1, -1, -1, 174, -1, 369, -1, -1, -1, + 363, -1, -1, -1, -1, -1, 369, -1, -1, -1, -1, -1, -1, -1, -1, -1, 379, -1, -1, -1, -1, 3, 4, 5, 6, 7, -1, -1, -1, -1, - 12, -1, -1, -1, -1, -1, 69, 70, -1, -1, - -1, -1, -1, -1, -1, 408, 79, -1, -1, 31, + 12, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 408, -1, -1, -1, 31, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 42, 43, -1, -1, -1, -1, 48, -1, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, -1, -1, -1, -1, 69, 70, 71, - 72, 73, 125, 126, 127, 128, 129, 79, -1, -1, - -1, -1, -1, 136, -1, -1, -1, -1, -1, 142, - 143, -1, -1, 476, -1, -1, 98, -1, -1, -1, - -1, -1, -1, 156, -1, -1, -1, -1, -1, 111, - -1, -1, 114, 115, -1, -1, 169, -1, -1, -1, + 72, 73, -1, -1, -1, -1, -1, 79, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 476, -1, -1, 98, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 111, + -1, -1, 114, 115, -1, -1, -1, -1, -1, -1, -1, 123, 124, 125, 126, 127, 128, 129, -1, -1, -1, 514, -1, -1, 136, -1, -1, -1, -1, 141, 142, 143, 144, 145, 146, 528, 148, 149, -1, 151, - 152, 153, -1, 71, 156, 73, -1, -1, 160, -1, + 152, 153, -1, -1, 156, -1, -1, -1, 160, -1, -1, -1, -1, -1, 166, -1, -1, 169, 170, -1, 553, -1, -1, 175, 176, -1, 178, 179, 9, 10, - 11, 564, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 111, 25, -1, 27, 28, 29, 30, + 11, 564, -1, -1, -1, -1, -1, -1, 71, -1, + 73, -1, -1, -1, 25, -1, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, -1, 49, -1, - -1, -1, -1, 141, -1, -1, 144, -1, 146, -1, - 148, 149, -1, 151, 152, 153, -1, -1, 621, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 633, -1, 170, -1, -1, -1, -1, 175, -1, -1, - -1, -1, -1, -1, 647, -1, -1, -1, -1, -1, - -1, -1, 655, -1, -1, 658, -1, 660, -1, -1, - 663, -1, -1, -1, -1, -1, -1, -1, -1, 672, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 111, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 621, -1, + 123, -1, 71, -1, 73, -1, -1, -1, -1, -1, + 633, -1, -1, -1, -1, -1, -1, -1, 141, -1, + -1, 144, -1, 146, 647, 148, 149, -1, 151, 152, + 153, -1, 655, -1, -1, 658, -1, 660, -1, -1, + 663, -1, 111, -1, -1, -1, -1, 170, -1, 672, + -1, -1, 175, -1, -1, -1, -1, -1, -1, -1, 3, 4, 5, 6, 7, -1, -1, -1, -1, 12, - -1, -1, -1, 696, 36, 37, 38, 39, 40, 41, - 42, 43, 44, 45, 46, 47, -1, 49, 31, -1, + -1, -1, 141, 696, -1, 144, -1, 146, -1, 148, + 149, -1, 151, 152, 153, -1, -1, -1, 31, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 42, - 43, -1, -1, 174, -1, 48, -1, 50, 51, 52, + 43, 170, -1, 174, -1, 48, 175, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, -1, -1, -1, -1, 69, 70, 71, 72, 73, -1, -1, -1, -1, -1, 79, 760, -1, -1, @@ -4363,8 +4377,8 @@ static const yytype_int16 yycheck[] = -1, 123, 124, 125, 126, 127, 128, 129, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 141, 142, 143, -1, 145, -1, -1, 148, 149, -1, 151, - 152, 153, 154, -1, 156, -1, -1, 159, 9, 10, - 11, -1, -1, -1, -1, 167, -1, 169, -1, -1, + 152, 153, 154, 155, 156, -1, -1, 159, 9, 10, + 11, -1, -1, -1, 166, 167, -1, 169, -1, -1, -1, -1, -1, -1, 25, -1, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, -1, 49, 9, @@ -4571,23 +4585,24 @@ static const yytype_uint16 yystos[] = 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 123, 124, 125, 126, 127, 128, 129, 141, - 142, 143, 145, 154, 156, 159, 167, 169, 187, 312, - 313, 8, 172, 146, 150, 187, 270, 271, 272, 172, - 73, 278, 208, 254, 375, 209, 246, 171, 170, 173, - 31, 73, 13, 322, 173, 380, 174, 331, 122, 26, - 198, 232, 196, 322, 322, 173, 173, 322, 315, 257, - 264, 321, 262, 13, 26, 43, 265, 268, 8, 29, - 171, 25, 42, 45, 13, 8, 172, 376, 278, 13, - 208, 171, 31, 73, 303, 196, 73, 13, 322, 196, - 173, 331, 196, 87, 196, 196, 174, 187, 194, 258, - 259, 260, 8, 174, 322, 313, 313, 51, 266, 271, - 271, 25, 42, 45, 322, 73, 170, 172, 322, 376, - 73, 8, 327, 174, 13, 322, 174, 196, 85, 172, - 174, 174, 140, 90, 321, 153, 13, 255, 170, 31, - 73, 171, 322, 174, 172, 204, 187, 275, 276, 322, - 244, 256, 73, 102, 205, 207, 155, 187, 172, 171, - 244, 170, 229, 172, 380, 171, 315, 172, 172, 173, - 273, 380, 73, 196, 273, 171, 174, 173, 196, 174 + 142, 143, 145, 154, 155, 156, 159, 166, 167, 169, + 187, 312, 313, 8, 172, 146, 150, 187, 270, 271, + 272, 172, 73, 278, 208, 254, 375, 209, 246, 171, + 170, 173, 31, 73, 13, 322, 173, 380, 174, 331, + 122, 26, 198, 232, 196, 322, 322, 173, 173, 322, + 315, 257, 264, 321, 262, 13, 26, 43, 265, 268, + 8, 29, 171, 25, 42, 45, 13, 8, 172, 376, + 278, 13, 208, 171, 31, 73, 303, 196, 73, 13, + 322, 196, 173, 331, 196, 87, 196, 196, 174, 187, + 194, 258, 259, 260, 8, 174, 322, 313, 313, 51, + 266, 271, 271, 25, 42, 45, 322, 73, 170, 172, + 322, 376, 73, 8, 327, 174, 13, 322, 174, 196, + 85, 172, 174, 174, 140, 90, 321, 153, 13, 255, + 170, 31, 73, 171, 322, 174, 172, 204, 187, 275, + 276, 322, 244, 256, 73, 102, 205, 207, 155, 187, + 172, 171, 244, 170, 229, 172, 380, 171, 315, 172, + 172, 173, 273, 380, 73, 196, 273, 171, 174, 173, + 196, 174 }; #define yyerrok (yyerrstatus = 0) @@ -8806,79 +8821,79 @@ yyreduce: case 466: /* Line 1455 of yacc.c */ -#line 1862 "hphp.y" - { _p->onCall((yyval),0,(yyvsp[(1) - (4)]),(yyvsp[(3) - (4)]),NULL);;} +#line 1858 "hphp.y" + { (yyval) = (yyvsp[(1) - (1)]);;} break; case 467: /* Line 1455 of yacc.c */ -#line 1866 "hphp.y" +#line 1859 "hphp.y" { (yyval) = (yyvsp[(1) - (1)]);;} break; case 468: /* Line 1455 of yacc.c */ -#line 1867 "hphp.y" - { (yyvsp[(1) - (1)]).xhpLabel(); (yyval) = (yyvsp[(1) - (1)]);;} +#line 1864 "hphp.y" + { _p->onCall((yyval),0,(yyvsp[(1) - (4)]),(yyvsp[(3) - (4)]),NULL);;} break; case 469: /* Line 1455 of yacc.c */ -#line 1870 "hphp.y" - { _p->onName((yyval),(yyvsp[(1) - (1)]),Parser::StringName);;} +#line 1868 "hphp.y" + { (yyval) = (yyvsp[(1) - (1)]);;} break; case 470: /* Line 1455 of yacc.c */ -#line 1871 "hphp.y" - { _p->onName((yyval),(yyvsp[(1) - (1)]),Parser::StaticName);;} +#line 1869 "hphp.y" + { (yyvsp[(1) - (1)]).xhpLabel(); (yyval) = (yyvsp[(1) - (1)]);;} break; case 471: /* Line 1455 of yacc.c */ #line 1872 "hphp.y" - { _p->onName((yyval),(yyvsp[(1) - (1)]), - Parser::StaticClassExprName);;} + { _p->onName((yyval),(yyvsp[(1) - (1)]),Parser::StringName);;} break; case 472: /* Line 1455 of yacc.c */ -#line 1876 "hphp.y" - { _p->onName((yyval),(yyvsp[(1) - (1)]),Parser::StringName);;} +#line 1873 "hphp.y" + { _p->onName((yyval),(yyvsp[(1) - (1)]),Parser::StaticName);;} break; case 473: /* Line 1455 of yacc.c */ -#line 1877 "hphp.y" - { _p->onName((yyval),(yyvsp[(1) - (1)]),Parser::StaticName);;} +#line 1874 "hphp.y" + { _p->onName((yyval),(yyvsp[(1) - (1)]), + Parser::StaticClassExprName);;} break; case 474: /* Line 1455 of yacc.c */ #line 1878 "hphp.y" - { _p->onName((yyval),(yyvsp[(1) - (1)]),Parser::ExprName);;} + { _p->onName((yyval),(yyvsp[(1) - (1)]),Parser::StringName);;} break; case 475: /* Line 1455 of yacc.c */ -#line 1882 "hphp.y" - { (yyval).reset();;} +#line 1879 "hphp.y" + { _p->onName((yyval),(yyvsp[(1) - (1)]),Parser::StaticName);;} break; case 476: /* Line 1455 of yacc.c */ -#line 1883 "hphp.y" - { (yyval) = (yyvsp[(1) - (1)]);;} +#line 1880 "hphp.y" + { _p->onName((yyval),(yyvsp[(1) - (1)]),Parser::ExprName);;} break; case 477: @@ -8891,404 +8906,404 @@ yyreduce: case 478: /* Line 1455 of yacc.c */ -#line 1888 "hphp.y" - { (yyval).reset();;} +#line 1885 "hphp.y" + { (yyval) = (yyvsp[(1) - (1)]);;} break; case 479: /* Line 1455 of yacc.c */ -#line 1889 "hphp.y" - { _p->addEncap((yyval), NULL, (yyvsp[(1) - (1)]), 0);;} +#line 1886 "hphp.y" + { (yyval).reset();;} break; case 480: /* Line 1455 of yacc.c */ #line 1890 "hphp.y" - { (yyval) = (yyvsp[(1) - (1)]);;} + { (yyval).reset();;} break; case 481: /* Line 1455 of yacc.c */ -#line 1894 "hphp.y" - { (yyval) = (yyvsp[(2) - (3)]);;} +#line 1891 "hphp.y" + { _p->addEncap((yyval), NULL, (yyvsp[(1) - (1)]), 0);;} break; case 482: /* Line 1455 of yacc.c */ -#line 1895 "hphp.y" - { (yyval).reset();;} +#line 1892 "hphp.y" + { (yyval) = (yyvsp[(1) - (1)]);;} break; case 483: /* Line 1455 of yacc.c */ -#line 1899 "hphp.y" - { _p->onScalar((yyval), T_LNUMBER, (yyvsp[(1) - (1)]));;} +#line 1896 "hphp.y" + { (yyval) = (yyvsp[(2) - (3)]);;} break; case 484: /* Line 1455 of yacc.c */ -#line 1900 "hphp.y" - { _p->onScalar((yyval), T_DNUMBER, (yyvsp[(1) - (1)]));;} +#line 1897 "hphp.y" + { (yyval).reset();;} break; case 485: /* Line 1455 of yacc.c */ #line 1901 "hphp.y" - { _p->onScalar((yyval), - T_CONSTANT_ENCAPSED_STRING, (yyvsp[(1) - (1)]));;} + { _p->onScalar((yyval), T_LNUMBER, (yyvsp[(1) - (1)]));;} break; case 486: /* Line 1455 of yacc.c */ -#line 1903 "hphp.y" - { _p->onScalar((yyval), T_LINE, (yyvsp[(1) - (1)]));;} +#line 1902 "hphp.y" + { _p->onScalar((yyval), T_DNUMBER, (yyvsp[(1) - (1)]));;} break; case 487: /* Line 1455 of yacc.c */ -#line 1904 "hphp.y" - { _p->onScalar((yyval), T_FILE, (yyvsp[(1) - (1)]));;} +#line 1903 "hphp.y" + { _p->onScalar((yyval), + T_CONSTANT_ENCAPSED_STRING, (yyvsp[(1) - (1)]));;} break; case 488: /* Line 1455 of yacc.c */ #line 1905 "hphp.y" - { _p->onScalar((yyval), T_DIR, (yyvsp[(1) - (1)]));;} + { _p->onScalar((yyval), T_LINE, (yyvsp[(1) - (1)]));;} break; case 489: /* Line 1455 of yacc.c */ #line 1906 "hphp.y" - { _p->onScalar((yyval), T_CLASS_C, (yyvsp[(1) - (1)]));;} + { _p->onScalar((yyval), T_FILE, (yyvsp[(1) - (1)]));;} break; case 490: /* Line 1455 of yacc.c */ #line 1907 "hphp.y" - { _p->onScalar((yyval), T_TRAIT_C, (yyvsp[(1) - (1)]));;} + { _p->onScalar((yyval), T_DIR, (yyvsp[(1) - (1)]));;} break; case 491: /* Line 1455 of yacc.c */ #line 1908 "hphp.y" - { _p->onScalar((yyval), T_METHOD_C, (yyvsp[(1) - (1)]));;} + { _p->onScalar((yyval), T_CLASS_C, (yyvsp[(1) - (1)]));;} break; case 492: /* Line 1455 of yacc.c */ #line 1909 "hphp.y" - { _p->onScalar((yyval), T_FUNC_C, (yyvsp[(1) - (1)]));;} + { _p->onScalar((yyval), T_TRAIT_C, (yyvsp[(1) - (1)]));;} break; case 493: /* Line 1455 of yacc.c */ #line 1910 "hphp.y" - { _p->onScalar((yyval), T_NS_C, (yyvsp[(1) - (1)]));;} + { _p->onScalar((yyval), T_METHOD_C, (yyvsp[(1) - (1)]));;} break; case 494: /* Line 1455 of yacc.c */ #line 1911 "hphp.y" - { _p->onScalar((yyval), T_COMPILER_HALT_OFFSET, (yyvsp[(1) - (1)]));;} + { _p->onScalar((yyval), T_FUNC_C, (yyvsp[(1) - (1)]));;} break; case 495: /* Line 1455 of yacc.c */ -#line 1914 "hphp.y" - { _p->onScalar((yyval), T_CONSTANT_ENCAPSED_STRING, (yyvsp[(2) - (3)]));;} +#line 1912 "hphp.y" + { _p->onScalar((yyval), T_NS_C, (yyvsp[(1) - (1)]));;} break; case 496: /* Line 1455 of yacc.c */ -#line 1916 "hphp.y" - { (yyval).setText(""); _p->onScalar((yyval), T_CONSTANT_ENCAPSED_STRING, (yyval));;} +#line 1913 "hphp.y" + { _p->onScalar((yyval), T_COMPILER_HALT_OFFSET, (yyvsp[(1) - (1)]));;} break; case 497: /* Line 1455 of yacc.c */ -#line 1920 "hphp.y" - { (yyval) = (yyvsp[(1) - (1)]);;} +#line 1916 "hphp.y" + { _p->onScalar((yyval), T_CONSTANT_ENCAPSED_STRING, (yyvsp[(2) - (3)]));;} break; case 498: /* Line 1455 of yacc.c */ -#line 1921 "hphp.y" - { _p->onConstantValue((yyval), (yyvsp[(1) - (1)]));;} +#line 1918 "hphp.y" + { (yyval).setText(""); _p->onScalar((yyval), T_CONSTANT_ENCAPSED_STRING, (yyval));;} break; case 499: /* Line 1455 of yacc.c */ #line 1922 "hphp.y" - { UEXP((yyval),(yyvsp[(2) - (2)]),'+',1);;} + { (yyval) = (yyvsp[(1) - (1)]);;} break; case 500: /* Line 1455 of yacc.c */ #line 1923 "hphp.y" - { UEXP((yyval),(yyvsp[(2) - (2)]),'-',1);;} + { _p->onConstantValue((yyval), (yyvsp[(1) - (1)]));;} break; case 501: /* Line 1455 of yacc.c */ -#line 1925 "hphp.y" - { _p->onArray((yyval),(yyvsp[(3) - (4)]),T_ARRAY); ;} +#line 1924 "hphp.y" + { UEXP((yyval),(yyvsp[(2) - (2)]),'+',1);;} break; case 502: /* Line 1455 of yacc.c */ -#line 1926 "hphp.y" - { _p->onArray((yyval),(yyvsp[(2) - (3)]),T_ARRAY); ;} +#line 1925 "hphp.y" + { UEXP((yyval),(yyvsp[(2) - (2)]),'-',1);;} break; case 503: /* Line 1455 of yacc.c */ -#line 1928 "hphp.y" - { only_in_hh_syntax(_p); - _p->onArray((yyval),(yyvsp[(3) - (4)]),T_ARRAY); ;} +#line 1927 "hphp.y" + { _p->onArray((yyval),(yyvsp[(3) - (4)]),T_ARRAY); ;} break; case 504: /* Line 1455 of yacc.c */ -#line 1930 "hphp.y" - { (yyval) = (yyvsp[(1) - (1)]);;} +#line 1928 "hphp.y" + { _p->onArray((yyval),(yyvsp[(2) - (3)]),T_ARRAY); ;} break; case 505: /* Line 1455 of yacc.c */ -#line 1931 "hphp.y" - { (yyval) = (yyvsp[(1) - (1)]);;} +#line 1930 "hphp.y" + { only_in_hh_syntax(_p); + _p->onArray((yyval),(yyvsp[(3) - (4)]),T_ARRAY); ;} break; case 506: /* Line 1455 of yacc.c */ -#line 1937 "hphp.y" - { _p->onClassConst((yyval), (yyvsp[(1) - (3)]), (yyvsp[(3) - (3)]), 1);;} +#line 1932 "hphp.y" + { (yyval) = (yyvsp[(1) - (1)]);;} break; case 507: /* Line 1455 of yacc.c */ -#line 1939 "hphp.y" - { (yyvsp[(1) - (3)]).xhpLabel(); - _p->onClassConst((yyval), (yyvsp[(1) - (3)]), (yyvsp[(3) - (3)]), 1);;} +#line 1933 "hphp.y" + { (yyval) = (yyvsp[(1) - (1)]);;} break; case 508: /* Line 1455 of yacc.c */ -#line 1944 "hphp.y" - { _p->onConstantValue((yyval), (yyvsp[(1) - (1)]));;} +#line 1939 "hphp.y" + { _p->onClassConst((yyval), (yyvsp[(1) - (3)]), (yyvsp[(3) - (3)]), 1);;} break; case 509: /* Line 1455 of yacc.c */ -#line 1945 "hphp.y" - { _p->onConstantValue((yyval), (yyvsp[(1) - (1)]));;} +#line 1941 "hphp.y" + { (yyvsp[(1) - (3)]).xhpLabel(); + _p->onClassConst((yyval), (yyvsp[(1) - (3)]), (yyvsp[(3) - (3)]), 1);;} break; case 510: /* Line 1455 of yacc.c */ #line 1946 "hphp.y" - { (yyval) = (yyvsp[(1) - (1)]);;} + { _p->onConstantValue((yyval), (yyvsp[(1) - (1)]));;} break; case 511: /* Line 1455 of yacc.c */ #line 1947 "hphp.y" - { (yyval) = (yyvsp[(1) - (1)]);;} + { _p->onConstantValue((yyval), (yyvsp[(1) - (1)]));;} break; case 512: /* Line 1455 of yacc.c */ #line 1948 "hphp.y" - { _p->onEncapsList((yyval),'"',(yyvsp[(2) - (3)]));;} + { (yyval) = (yyvsp[(1) - (1)]);;} break; case 513: /* Line 1455 of yacc.c */ #line 1949 "hphp.y" - { _p->onEncapsList((yyval),'\'',(yyvsp[(2) - (3)]));;} + { (yyval) = (yyvsp[(1) - (1)]);;} break; case 514: /* Line 1455 of yacc.c */ -#line 1951 "hphp.y" - { _p->onEncapsList((yyval),T_START_HEREDOC, - (yyvsp[(2) - (3)]));;} +#line 1950 "hphp.y" + { _p->onEncapsList((yyval),'"',(yyvsp[(2) - (3)]));;} break; case 515: /* Line 1455 of yacc.c */ -#line 1956 "hphp.y" - { (yyval) = (yyvsp[(1) - (2)]);;} +#line 1951 "hphp.y" + { _p->onEncapsList((yyval),'\'',(yyvsp[(2) - (3)]));;} break; case 516: /* Line 1455 of yacc.c */ -#line 1957 "hphp.y" - { (yyval).reset();;} +#line 1953 "hphp.y" + { _p->onEncapsList((yyval),T_START_HEREDOC, + (yyvsp[(2) - (3)]));;} break; case 517: /* Line 1455 of yacc.c */ -#line 1961 "hphp.y" - { (yyval).reset();;} +#line 1958 "hphp.y" + { (yyval) = (yyvsp[(1) - (2)]);;} break; case 518: /* Line 1455 of yacc.c */ -#line 1962 "hphp.y" +#line 1959 "hphp.y" { (yyval).reset();;} break; case 519: /* Line 1455 of yacc.c */ -#line 1965 "hphp.y" - { only_in_hh_syntax(_p); (yyval).reset();;} +#line 1963 "hphp.y" + { (yyval).reset();;} break; case 520: /* Line 1455 of yacc.c */ -#line 1966 "hphp.y" +#line 1964 "hphp.y" { (yyval).reset();;} break; case 521: /* Line 1455 of yacc.c */ -#line 1972 "hphp.y" - { _p->onArrayPair((yyval),&(yyvsp[(1) - (5)]),&(yyvsp[(3) - (5)]),(yyvsp[(5) - (5)]),0);;} +#line 1967 "hphp.y" + { only_in_hh_syntax(_p); (yyval).reset();;} break; case 522: /* Line 1455 of yacc.c */ -#line 1974 "hphp.y" - { _p->onArrayPair((yyval),&(yyvsp[(1) - (3)]), 0,(yyvsp[(3) - (3)]),0);;} +#line 1968 "hphp.y" + { (yyval).reset();;} break; case 523: /* Line 1455 of yacc.c */ -#line 1976 "hphp.y" - { _p->onArrayPair((yyval), 0,&(yyvsp[(1) - (3)]),(yyvsp[(3) - (3)]),0);;} +#line 1974 "hphp.y" + { _p->onArrayPair((yyval),&(yyvsp[(1) - (5)]),&(yyvsp[(3) - (5)]),(yyvsp[(5) - (5)]),0);;} break; case 524: /* Line 1455 of yacc.c */ -#line 1977 "hphp.y" - { _p->onArrayPair((yyval), 0, 0,(yyvsp[(1) - (1)]),0);;} +#line 1976 "hphp.y" + { _p->onArrayPair((yyval),&(yyvsp[(1) - (3)]), 0,(yyvsp[(3) - (3)]),0);;} break; case 525: /* Line 1455 of yacc.c */ -#line 1981 "hphp.y" - { _p->onScalar((yyval), T_LNUMBER, (yyvsp[(1) - (1)]));;} +#line 1978 "hphp.y" + { _p->onArrayPair((yyval), 0,&(yyvsp[(1) - (3)]),(yyvsp[(3) - (3)]),0);;} break; case 526: /* Line 1455 of yacc.c */ -#line 1982 "hphp.y" - { _p->onScalar((yyval), T_DNUMBER, (yyvsp[(1) - (1)]));;} +#line 1979 "hphp.y" + { _p->onArrayPair((yyval), 0, 0,(yyvsp[(1) - (1)]),0);;} break; case 527: /* Line 1455 of yacc.c */ #line 1983 "hphp.y" - { _p->onScalar((yyval), - T_CONSTANT_ENCAPSED_STRING, (yyvsp[(1) - (1)]));;} + { _p->onScalar((yyval), T_LNUMBER, (yyvsp[(1) - (1)]));;} break; case 528: /* Line 1455 of yacc.c */ -#line 1987 "hphp.y" - { _p->onScalar((yyval), T_CONSTANT_ENCAPSED_STRING, (yyvsp[(2) - (3)]));;} +#line 1984 "hphp.y" + { _p->onScalar((yyval), T_DNUMBER, (yyvsp[(1) - (1)]));;} break; case 529: /* Line 1455 of yacc.c */ -#line 1989 "hphp.y" - { (yyval).setText(""); _p->onScalar((yyval), T_CONSTANT_ENCAPSED_STRING, (yyval));;} +#line 1985 "hphp.y" + { _p->onScalar((yyval), + T_CONSTANT_ENCAPSED_STRING, (yyvsp[(1) - (1)]));;} break; case 530: /* Line 1455 of yacc.c */ -#line 1992 "hphp.y" - { _p->onScalar((yyval),T_LNUMBER,(yyvsp[(1) - (1)]));;} +#line 1989 "hphp.y" + { _p->onScalar((yyval), T_CONSTANT_ENCAPSED_STRING, (yyvsp[(2) - (3)]));;} break; case 531: /* Line 1455 of yacc.c */ -#line 1993 "hphp.y" - { _p->onScalar((yyval),T_DNUMBER,(yyvsp[(1) - (1)]));;} +#line 1991 "hphp.y" + { (yyval).setText(""); _p->onScalar((yyval), T_CONSTANT_ENCAPSED_STRING, (yyval));;} break; case 532: /* Line 1455 of yacc.c */ #line 1994 "hphp.y" - { constant_ae(_p,(yyval),(yyvsp[(1) - (1)]));;} + { _p->onScalar((yyval),T_LNUMBER,(yyvsp[(1) - (1)]));;} break; case 533: /* Line 1455 of yacc.c */ -#line 1997 "hphp.y" - { (yyval) = (yyvsp[(1) - (1)]);;} +#line 1995 "hphp.y" + { _p->onScalar((yyval),T_DNUMBER,(yyvsp[(1) - (1)]));;} break; case 534: /* Line 1455 of yacc.c */ -#line 1998 "hphp.y" +#line 1996 "hphp.y" { constant_ae(_p,(yyval),(yyvsp[(1) - (1)]));;} break; @@ -9296,282 +9311,282 @@ yyreduce: /* Line 1455 of yacc.c */ #line 1999 "hphp.y" - { UEXP((yyval),(yyvsp[(2) - (2)]),'+',1);;} + { (yyval) = (yyvsp[(1) - (1)]);;} break; case 536: /* Line 1455 of yacc.c */ #line 2000 "hphp.y" - { UEXP((yyval),(yyvsp[(2) - (2)]),'-',1);;} + { constant_ae(_p,(yyval),(yyvsp[(1) - (1)]));;} break; case 537: /* Line 1455 of yacc.c */ -#line 2002 "hphp.y" - { _p->onArray((yyval),(yyvsp[(3) - (4)]),T_ARRAY);;} +#line 2001 "hphp.y" + { UEXP((yyval),(yyvsp[(2) - (2)]),'+',1);;} break; case 538: /* Line 1455 of yacc.c */ -#line 2003 "hphp.y" - { _p->onArray((yyval),(yyvsp[(2) - (3)]),T_ARRAY);;} +#line 2002 "hphp.y" + { UEXP((yyval),(yyvsp[(2) - (2)]),'-',1);;} break; case 539: /* Line 1455 of yacc.c */ -#line 2005 "hphp.y" - { only_in_hh_syntax(_p); - _p->onArray((yyval),(yyvsp[(3) - (4)]),T_ARRAY); ;} +#line 2004 "hphp.y" + { _p->onArray((yyval),(yyvsp[(3) - (4)]),T_ARRAY);;} break; case 540: /* Line 1455 of yacc.c */ -#line 2011 "hphp.y" - { (yyval) = (yyvsp[(1) - (2)]);;} +#line 2005 "hphp.y" + { _p->onArray((yyval),(yyvsp[(2) - (3)]),T_ARRAY);;} break; case 541: /* Line 1455 of yacc.c */ -#line 2012 "hphp.y" - { (yyval).reset();;} +#line 2007 "hphp.y" + { only_in_hh_syntax(_p); + _p->onArray((yyval),(yyvsp[(3) - (4)]),T_ARRAY); ;} break; case 542: /* Line 1455 of yacc.c */ -#line 2017 "hphp.y" - { _p->onArrayPair((yyval),&(yyvsp[(1) - (5)]),&(yyvsp[(3) - (5)]),(yyvsp[(5) - (5)]),0);;} +#line 2013 "hphp.y" + { (yyval) = (yyvsp[(1) - (2)]);;} break; case 543: /* Line 1455 of yacc.c */ -#line 2019 "hphp.y" - { _p->onArrayPair((yyval),&(yyvsp[(1) - (3)]), 0,(yyvsp[(3) - (3)]),0);;} +#line 2014 "hphp.y" + { (yyval).reset();;} break; case 544: /* Line 1455 of yacc.c */ -#line 2021 "hphp.y" - { _p->onArrayPair((yyval), 0,&(yyvsp[(1) - (3)]),(yyvsp[(3) - (3)]),0);;} +#line 2019 "hphp.y" + { _p->onArrayPair((yyval),&(yyvsp[(1) - (5)]),&(yyvsp[(3) - (5)]),(yyvsp[(5) - (5)]),0);;} break; case 545: /* Line 1455 of yacc.c */ -#line 2022 "hphp.y" - { _p->onArrayPair((yyval), 0, 0,(yyvsp[(1) - (1)]),0);;} +#line 2021 "hphp.y" + { _p->onArrayPair((yyval),&(yyvsp[(1) - (3)]), 0,(yyvsp[(3) - (3)]),0);;} break; case 546: /* Line 1455 of yacc.c */ -#line 2026 "hphp.y" - { _p->onArrayPair((yyval),&(yyvsp[(1) - (3)]), 0,(yyvsp[(3) - (3)]),0);;} +#line 2023 "hphp.y" + { _p->onArrayPair((yyval), 0,&(yyvsp[(1) - (3)]),(yyvsp[(3) - (3)]),0);;} break; case 547: /* Line 1455 of yacc.c */ -#line 2027 "hphp.y" +#line 2024 "hphp.y" { _p->onArrayPair((yyval), 0, 0,(yyvsp[(1) - (1)]),0);;} break; case 548: /* Line 1455 of yacc.c */ -#line 2032 "hphp.y" - { (yyval) = (yyvsp[(1) - (2)]); ;} +#line 2028 "hphp.y" + { _p->onArrayPair((yyval),&(yyvsp[(1) - (3)]), 0,(yyvsp[(3) - (3)]),0);;} break; case 549: /* Line 1455 of yacc.c */ -#line 2033 "hphp.y" - { (yyval).reset(); ;} +#line 2029 "hphp.y" + { _p->onArrayPair((yyval), 0, 0,(yyvsp[(1) - (1)]),0);;} break; case 550: /* Line 1455 of yacc.c */ -#line 2038 "hphp.y" - { _p->onArrayPair((yyval),&(yyvsp[(1) - (5)]),&(yyvsp[(3) - (5)]),(yyvsp[(5) - (5)]),0); ;} +#line 2034 "hphp.y" + { (yyval) = (yyvsp[(1) - (2)]); ;} break; case 551: /* Line 1455 of yacc.c */ -#line 2041 "hphp.y" - { _p->onArrayPair((yyval), 0,&(yyvsp[(1) - (3)]),(yyvsp[(3) - (3)]),0); ;} +#line 2035 "hphp.y" + { (yyval).reset(); ;} break; case 552: /* Line 1455 of yacc.c */ -#line 2046 "hphp.y" - { (yyval) = (yyvsp[(1) - (2)]);;} +#line 2040 "hphp.y" + { _p->onArrayPair((yyval),&(yyvsp[(1) - (5)]),&(yyvsp[(3) - (5)]),(yyvsp[(5) - (5)]),0); ;} break; case 553: /* Line 1455 of yacc.c */ -#line 2047 "hphp.y" - { (yyval).reset();;} +#line 2043 "hphp.y" + { _p->onArrayPair((yyval), 0,&(yyvsp[(1) - (3)]),(yyvsp[(3) - (3)]),0); ;} break; case 554: /* Line 1455 of yacc.c */ -#line 2050 "hphp.y" - { _p->onArray((yyval),(yyvsp[(2) - (3)]),T_ARRAY);;} +#line 2048 "hphp.y" + { (yyval) = (yyvsp[(1) - (2)]);;} break; case 555: /* Line 1455 of yacc.c */ -#line 2051 "hphp.y" - { Token t; t.reset(); - _p->onArray((yyval),t,T_ARRAY);;} +#line 2049 "hphp.y" + { (yyval).reset();;} break; case 556: /* Line 1455 of yacc.c */ -#line 2058 "hphp.y" - { _p->onUserAttribute((yyval),&(yyvsp[(1) - (4)]),(yyvsp[(3) - (4)]),(yyvsp[(4) - (4)]));;} +#line 2052 "hphp.y" + { _p->onArray((yyval),(yyvsp[(2) - (3)]),T_ARRAY);;} break; case 557: /* Line 1455 of yacc.c */ -#line 2060 "hphp.y" - { _p->onUserAttribute((yyval), 0,(yyvsp[(1) - (2)]),(yyvsp[(2) - (2)]));;} +#line 2053 "hphp.y" + { Token t; t.reset(); + _p->onArray((yyval),t,T_ARRAY);;} break; case 558: /* Line 1455 of yacc.c */ -#line 2063 "hphp.y" - { user_attribute_check(_p);;} +#line 2060 "hphp.y" + { _p->onUserAttribute((yyval),&(yyvsp[(1) - (4)]),(yyvsp[(3) - (4)]),(yyvsp[(4) - (4)]));;} break; case 559: /* Line 1455 of yacc.c */ -#line 2065 "hphp.y" - { (yyval) = (yyvsp[(2) - (3)]);;} +#line 2062 "hphp.y" + { _p->onUserAttribute((yyval), 0,(yyvsp[(1) - (2)]),(yyvsp[(2) - (2)]));;} break; case 560: /* Line 1455 of yacc.c */ -#line 2068 "hphp.y" - { (yyval) = (yyvsp[(2) - (3)]);;} +#line 2065 "hphp.y" + { user_attribute_check(_p);;} break; case 561: /* Line 1455 of yacc.c */ -#line 2071 "hphp.y" - { (yyval) = (yyvsp[(1) - (1)]);;} +#line 2067 "hphp.y" + { (yyval) = (yyvsp[(2) - (3)]);;} break; case 562: /* Line 1455 of yacc.c */ -#line 2072 "hphp.y" - { (yyval).reset();;} +#line 2070 "hphp.y" + { (yyval) = (yyvsp[(2) - (3)]);;} break; case 563: /* Line 1455 of yacc.c */ -#line 2076 "hphp.y" +#line 2073 "hphp.y" { (yyval) = (yyvsp[(1) - (1)]);;} break; case 564: /* Line 1455 of yacc.c */ -#line 2078 "hphp.y" - { (yyval) = (yyvsp[(2) - (2)]);;} +#line 2074 "hphp.y" + { (yyval).reset();;} break; case 565: /* Line 1455 of yacc.c */ -#line 2082 "hphp.y" - { (yyval) = (yyvsp[(2) - (2)]);;} +#line 2078 "hphp.y" + { (yyval) = (yyvsp[(1) - (1)]);;} break; case 566: /* Line 1455 of yacc.c */ -#line 2083 "hphp.y" - { (yyval) = (yyvsp[(3) - (4)]);;} +#line 2080 "hphp.y" + { (yyval) = (yyvsp[(2) - (2)]);;} break; case 567: /* Line 1455 of yacc.c */ -#line 2087 "hphp.y" - { (yyval) = (yyvsp[(2) - (3)]);;} +#line 2084 "hphp.y" + { (yyval) = (yyvsp[(2) - (2)]);;} break; case 568: /* Line 1455 of yacc.c */ -#line 2088 "hphp.y" - { (yyval) = (yyvsp[(2) - (3)]);;} +#line 2085 "hphp.y" + { (yyval) = (yyvsp[(3) - (4)]);;} break; case 569: /* Line 1455 of yacc.c */ -#line 2092 "hphp.y" - { _p->onRefDim((yyval), (yyvsp[(1) - (2)]), (yyvsp[(2) - (2)]));;} +#line 2089 "hphp.y" + { (yyval) = (yyvsp[(2) - (3)]);;} break; case 570: /* Line 1455 of yacc.c */ -#line 2094 "hphp.y" - { _p->onRefDim((yyval), (yyvsp[(2) - (4)]), (yyvsp[(4) - (4)]));;} +#line 2090 "hphp.y" + { (yyval) = (yyvsp[(2) - (3)]);;} break; case 571: /* Line 1455 of yacc.c */ -#line 2099 "hphp.y" +#line 2094 "hphp.y" { _p->onRefDim((yyval), (yyvsp[(1) - (2)]), (yyvsp[(2) - (2)]));;} break; case 572: /* Line 1455 of yacc.c */ -#line 2101 "hphp.y" +#line 2096 "hphp.y" { _p->onRefDim((yyval), (yyvsp[(2) - (4)]), (yyvsp[(4) - (4)]));;} break; case 573: /* Line 1455 of yacc.c */ -#line 2105 "hphp.y" - { (yyval) = (yyvsp[(1) - (1)]);;} +#line 2101 "hphp.y" + { _p->onRefDim((yyval), (yyvsp[(1) - (2)]), (yyvsp[(2) - (2)]));;} break; case 574: /* Line 1455 of yacc.c */ -#line 2106 "hphp.y" - { (yyval) = (yyvsp[(1) - (1)]);;} +#line 2103 "hphp.y" + { _p->onRefDim((yyval), (yyvsp[(2) - (4)]), (yyvsp[(4) - (4)]));;} break; case 575: @@ -9599,49 +9614,49 @@ yyreduce: /* Line 1455 of yacc.c */ #line 2110 "hphp.y" - { _p->onObjectProperty((yyval),(yyvsp[(1) - (2)]),(yyvsp[(2) - (2)]));;} + { (yyval) = (yyvsp[(1) - (1)]);;} break; case 579: /* Line 1455 of yacc.c */ -#line 2112 "hphp.y" - { _p->onObjectProperty((yyval),(yyvsp[(2) - (4)]),(yyvsp[(4) - (4)]));;} +#line 2111 "hphp.y" + { (yyval) = (yyvsp[(1) - (1)]);;} break; case 580: /* Line 1455 of yacc.c */ -#line 2115 "hphp.y" - { _p->onStaticMember((yyval),(yyvsp[(1) - (3)]),(yyvsp[(3) - (3)]));;} +#line 2112 "hphp.y" + { _p->onObjectProperty((yyval),(yyvsp[(1) - (2)]),(yyvsp[(2) - (2)]));;} break; case 581: /* Line 1455 of yacc.c */ -#line 2117 "hphp.y" - { _p->onCall((yyval),1,(yyvsp[(1) - (4)]),(yyvsp[(3) - (4)]),NULL);;} +#line 2114 "hphp.y" + { _p->onObjectProperty((yyval),(yyvsp[(2) - (4)]),(yyvsp[(4) - (4)]));;} break; case 582: /* Line 1455 of yacc.c */ -#line 2118 "hphp.y" - { (yyval) = (yyvsp[(2) - (3)]);;} +#line 2117 "hphp.y" + { _p->onStaticMember((yyval),(yyvsp[(1) - (3)]),(yyvsp[(3) - (3)]));;} break; case 583: /* Line 1455 of yacc.c */ -#line 2122 "hphp.y" - { (yyval) = (yyvsp[(1) - (1)]);;} +#line 2119 "hphp.y" + { _p->onCall((yyval),1,(yyvsp[(1) - (4)]),(yyvsp[(3) - (4)]),NULL);;} break; case 584: /* Line 1455 of yacc.c */ -#line 2123 "hphp.y" - { (yyval) = (yyvsp[(1) - (1)]);;} +#line 2120 "hphp.y" + { (yyval) = (yyvsp[(2) - (3)]);;} break; case 585: @@ -9661,865 +9676,879 @@ yyreduce: case 587: /* Line 1455 of yacc.c */ -#line 2127 "hphp.y" - { _p->onObjectProperty((yyval),(yyvsp[(1) - (2)]),(yyvsp[(2) - (2)]));;} +#line 2126 "hphp.y" + { (yyval) = (yyvsp[(1) - (1)]);;} break; case 588: /* Line 1455 of yacc.c */ -#line 2129 "hphp.y" - { _p->onObjectProperty((yyval),(yyvsp[(2) - (4)]),(yyvsp[(4) - (4)]));;} +#line 2127 "hphp.y" + { (yyval) = (yyvsp[(1) - (1)]);;} break; case 589: /* Line 1455 of yacc.c */ -#line 2131 "hphp.y" - { _p->onCall((yyval),1,(yyvsp[(1) - (4)]),(yyvsp[(3) - (4)]),NULL);;} +#line 2129 "hphp.y" + { _p->onObjectProperty((yyval),(yyvsp[(1) - (2)]),(yyvsp[(2) - (2)]));;} break; case 590: /* Line 1455 of yacc.c */ -#line 2132 "hphp.y" - { (yyval) = (yyvsp[(2) - (3)]);;} +#line 2131 "hphp.y" + { _p->onObjectProperty((yyval),(yyvsp[(2) - (4)]),(yyvsp[(4) - (4)]));;} break; case 591: /* Line 1455 of yacc.c */ -#line 2136 "hphp.y" - { (yyval) = (yyvsp[(1) - (1)]);;} +#line 2133 "hphp.y" + { _p->onCall((yyval),1,(yyvsp[(1) - (4)]),(yyvsp[(3) - (4)]),NULL);;} break; case 592: /* Line 1455 of yacc.c */ -#line 2137 "hphp.y" - { (yyval) = (yyvsp[(1) - (1)]);;} +#line 2134 "hphp.y" + { (yyval) = (yyvsp[(2) - (3)]);;} break; case 593: /* Line 1455 of yacc.c */ #line 2138 "hphp.y" - { (yyval) = (yyvsp[(2) - (3)]);;} + { (yyval) = (yyvsp[(1) - (1)]);;} break; case 594: /* Line 1455 of yacc.c */ -#line 2144 "hphp.y" - { _p->onObjectMethodCall((yyval),(yyvsp[(1) - (7)]),(yyvsp[(3) - (7)]),(yyvsp[(6) - (7)]));;} +#line 2139 "hphp.y" + { (yyval) = (yyvsp[(1) - (1)]);;} break; case 595: /* Line 1455 of yacc.c */ -#line 2147 "hphp.y" - { _p->onObjectMethodCall((yyval),(yyvsp[(1) - (6)]),(yyvsp[(3) - (6)]),(yyvsp[(5) - (6)]));;} +#line 2140 "hphp.y" + { (yyval) = (yyvsp[(2) - (3)]);;} break; case 596: /* Line 1455 of yacc.c */ -#line 2150 "hphp.y" - { _p->onObjectMethodCall((yyval),(yyvsp[(1) - (8)]),(yyvsp[(4) - (8)]),(yyvsp[(7) - (8)]));;} +#line 2146 "hphp.y" + { _p->onObjectMethodCall((yyval),(yyvsp[(1) - (7)]),(yyvsp[(3) - (7)]),(yyvsp[(6) - (7)]));;} break; case 597: /* Line 1455 of yacc.c */ -#line 2154 "hphp.y" - { _p->onObjectMethodCall((yyval),(yyvsp[(2) - (9)]),(yyvsp[(5) - (9)]),(yyvsp[(8) - (9)]));;} +#line 2149 "hphp.y" + { _p->onObjectMethodCall((yyval),(yyvsp[(1) - (6)]),(yyvsp[(3) - (6)]),(yyvsp[(5) - (6)]));;} break; case 598: /* Line 1455 of yacc.c */ -#line 2158 "hphp.y" - { _p->onObjectMethodCall((yyval),(yyvsp[(2) - (8)]),(yyvsp[(5) - (8)]),(yyvsp[(7) - (8)]));;} +#line 2152 "hphp.y" + { _p->onObjectMethodCall((yyval),(yyvsp[(1) - (8)]),(yyvsp[(4) - (8)]),(yyvsp[(7) - (8)]));;} break; case 599: /* Line 1455 of yacc.c */ -#line 2162 "hphp.y" - { _p->onObjectMethodCall((yyval),(yyvsp[(2) - (10)]),(yyvsp[(6) - (10)]),(yyvsp[(9) - (10)]));;} +#line 2156 "hphp.y" + { _p->onObjectMethodCall((yyval),(yyvsp[(2) - (9)]),(yyvsp[(5) - (9)]),(yyvsp[(8) - (9)]));;} break; case 600: /* Line 1455 of yacc.c */ -#line 2169 "hphp.y" - { _p->onCall((yyval),0,(yyvsp[(3) - (7)]),(yyvsp[(6) - (7)]),&(yyvsp[(1) - (7)]));;} +#line 2160 "hphp.y" + { _p->onObjectMethodCall((yyval),(yyvsp[(2) - (8)]),(yyvsp[(5) - (8)]),(yyvsp[(7) - (8)]));;} break; case 601: /* Line 1455 of yacc.c */ -#line 2173 "hphp.y" - { _p->onCall((yyval),1,(yyvsp[(3) - (6)]),(yyvsp[(5) - (6)]),&(yyvsp[(1) - (6)]));;} +#line 2164 "hphp.y" + { _p->onObjectMethodCall((yyval),(yyvsp[(2) - (10)]),(yyvsp[(6) - (10)]),(yyvsp[(9) - (10)]));;} break; case 602: /* Line 1455 of yacc.c */ -#line 2177 "hphp.y" - { (yyval) = (yyvsp[(1) - (1)]);;} +#line 2171 "hphp.y" + { _p->onCall((yyval),0,(yyvsp[(3) - (7)]),(yyvsp[(6) - (7)]),&(yyvsp[(1) - (7)]));;} break; case 603: /* Line 1455 of yacc.c */ -#line 2179 "hphp.y" - { _p->onIndirectRef((yyval),(yyvsp[(1) - (2)]),(yyvsp[(2) - (2)]));;} +#line 2175 "hphp.y" + { _p->onCall((yyval),1,(yyvsp[(3) - (6)]),(yyvsp[(5) - (6)]),&(yyvsp[(1) - (6)]));;} break; case 604: /* Line 1455 of yacc.c */ -#line 2184 "hphp.y" - { _p->onRefDim((yyval), (yyvsp[(1) - (4)]), (yyvsp[(3) - (4)]));;} +#line 2179 "hphp.y" + { (yyval) = (yyvsp[(1) - (1)]);;} break; case 605: /* Line 1455 of yacc.c */ -#line 2185 "hphp.y" - { _p->onRefDim((yyval), (yyvsp[(1) - (4)]), (yyvsp[(3) - (4)]));;} +#line 2181 "hphp.y" + { _p->onIndirectRef((yyval),(yyvsp[(1) - (2)]),(yyvsp[(2) - (2)]));;} break; case 606: /* Line 1455 of yacc.c */ #line 2186 "hphp.y" - { (yyval) = (yyvsp[(1) - (1)]);;} + { _p->onRefDim((yyval), (yyvsp[(1) - (4)]), (yyvsp[(3) - (4)]));;} break; case 607: /* Line 1455 of yacc.c */ -#line 2189 "hphp.y" - { _p->onSimpleVariable((yyval), (yyvsp[(1) - (1)]));;} +#line 2187 "hphp.y" + { _p->onRefDim((yyval), (yyvsp[(1) - (4)]), (yyvsp[(3) - (4)]));;} break; case 608: /* Line 1455 of yacc.c */ -#line 2190 "hphp.y" - { _p->onDynamicVariable((yyval), (yyvsp[(3) - (4)]), 0);;} +#line 2188 "hphp.y" + { (yyval) = (yyvsp[(1) - (1)]);;} break; case 609: /* Line 1455 of yacc.c */ -#line 2193 "hphp.y" - { (yyval) = (yyvsp[(1) - (1)]);;} +#line 2191 "hphp.y" + { _p->onSimpleVariable((yyval), (yyvsp[(1) - (1)]));;} break; case 610: /* Line 1455 of yacc.c */ -#line 2194 "hphp.y" - { (yyval).reset();;} +#line 2192 "hphp.y" + { _p->onDynamicVariable((yyval), (yyvsp[(3) - (4)]), 0);;} break; case 611: /* Line 1455 of yacc.c */ -#line 2198 "hphp.y" - { (yyval) = 1;;} +#line 2195 "hphp.y" + { (yyval) = (yyvsp[(1) - (1)]);;} break; case 612: /* Line 1455 of yacc.c */ -#line 2199 "hphp.y" - { (yyval)++;;} +#line 2196 "hphp.y" + { (yyval).reset();;} break; case 613: /* Line 1455 of yacc.c */ -#line 2203 "hphp.y" - { (yyval) = (yyvsp[(1) - (1)]);;} +#line 2200 "hphp.y" + { (yyval) = 1;;} break; case 614: /* Line 1455 of yacc.c */ -#line 2204 "hphp.y" - { (yyval) = (yyvsp[(1) - (1)]);;} +#line 2201 "hphp.y" + { (yyval)++;;} break; case 615: /* Line 1455 of yacc.c */ #line 2205 "hphp.y" - { _p->onObjectProperty((yyval),(yyvsp[(1) - (2)]),(yyvsp[(2) - (2)]));;} + { (yyval) = (yyvsp[(1) - (1)]);;} break; case 616: /* Line 1455 of yacc.c */ -#line 2207 "hphp.y" - { _p->onObjectProperty((yyval),(yyvsp[(2) - (4)]),(yyvsp[(4) - (4)]));;} +#line 2206 "hphp.y" + { (yyval) = (yyvsp[(1) - (1)]);;} break; case 617: /* Line 1455 of yacc.c */ -#line 2210 "hphp.y" - { _p->onStaticMember((yyval),(yyvsp[(1) - (3)]),(yyvsp[(3) - (3)]));;} +#line 2207 "hphp.y" + { _p->onObjectProperty((yyval),(yyvsp[(1) - (2)]),(yyvsp[(2) - (2)]));;} break; case 618: /* Line 1455 of yacc.c */ -#line 2211 "hphp.y" - { (yyval) = (yyvsp[(2) - (3)]);;} +#line 2209 "hphp.y" + { _p->onObjectProperty((yyval),(yyvsp[(2) - (4)]),(yyvsp[(4) - (4)]));;} + break; + + case 619: + +/* Line 1455 of yacc.c */ +#line 2212 "hphp.y" + { _p->onStaticMember((yyval),(yyvsp[(1) - (3)]),(yyvsp[(3) - (3)]));;} break; case 620: /* Line 1455 of yacc.c */ -#line 2215 "hphp.y" - { (yyval) = (yyvsp[(1) - (1)]);;} - break; - - case 621: - -/* Line 1455 of yacc.c */ -#line 2217 "hphp.y" - { _p->onObjectProperty((yyval),(yyvsp[(1) - (2)]),(yyvsp[(2) - (2)]));;} +#line 2213 "hphp.y" + { (yyval) = (yyvsp[(2) - (3)]);;} break; case 622: /* Line 1455 of yacc.c */ -#line 2219 "hphp.y" - { _p->onObjectProperty((yyval),(yyvsp[(2) - (4)]),(yyvsp[(4) - (4)]));;} +#line 2217 "hphp.y" + { (yyval) = (yyvsp[(1) - (1)]);;} break; case 623: /* Line 1455 of yacc.c */ -#line 2220 "hphp.y" - { (yyval) = (yyvsp[(2) - (3)]);;} +#line 2219 "hphp.y" + { _p->onObjectProperty((yyval),(yyvsp[(1) - (2)]),(yyvsp[(2) - (2)]));;} break; case 624: /* Line 1455 of yacc.c */ -#line 2224 "hphp.y" - { _p->onAListVar((yyval),&(yyvsp[(1) - (2)]),NULL);;} +#line 2221 "hphp.y" + { _p->onObjectProperty((yyval),(yyvsp[(2) - (4)]),(yyvsp[(4) - (4)]));;} break; case 625: /* Line 1455 of yacc.c */ -#line 2225 "hphp.y" - { _p->onAListVar((yyval),&(yyvsp[(1) - (3)]),&(yyvsp[(3) - (3)]));;} +#line 2222 "hphp.y" + { (yyval) = (yyvsp[(2) - (3)]);;} break; case 626: /* Line 1455 of yacc.c */ -#line 2227 "hphp.y" - { _p->onAListSub((yyval),&(yyvsp[(1) - (6)]),(yyvsp[(5) - (6)]));;} +#line 2226 "hphp.y" + { _p->onAListVar((yyval),&(yyvsp[(1) - (2)]),NULL);;} break; case 627: /* Line 1455 of yacc.c */ -#line 2228 "hphp.y" - { _p->onAListVar((yyval),NULL,NULL);;} +#line 2227 "hphp.y" + { _p->onAListVar((yyval),&(yyvsp[(1) - (3)]),&(yyvsp[(3) - (3)]));;} break; case 628: /* Line 1455 of yacc.c */ #line 2229 "hphp.y" - { _p->onAListVar((yyval),NULL,&(yyvsp[(1) - (1)]));;} + { _p->onAListSub((yyval),&(yyvsp[(1) - (6)]),(yyvsp[(5) - (6)]));;} break; case 629: /* Line 1455 of yacc.c */ #line 2230 "hphp.y" - { _p->onAListSub((yyval),NULL,(yyvsp[(3) - (4)]));;} + { _p->onAListVar((yyval),NULL,NULL);;} break; case 630: /* Line 1455 of yacc.c */ -#line 2235 "hphp.y" - { (yyval) = (yyvsp[(1) - (2)]);;} +#line 2231 "hphp.y" + { _p->onAListVar((yyval),NULL,&(yyvsp[(1) - (1)]));;} break; case 631: /* Line 1455 of yacc.c */ -#line 2236 "hphp.y" - { (yyval).reset();;} +#line 2232 "hphp.y" + { _p->onAListSub((yyval),NULL,(yyvsp[(3) - (4)]));;} break; case 632: /* Line 1455 of yacc.c */ -#line 2240 "hphp.y" - { _p->onArrayPair((yyval),&(yyvsp[(1) - (5)]),&(yyvsp[(3) - (5)]),(yyvsp[(5) - (5)]),0);;} +#line 2237 "hphp.y" + { (yyval) = (yyvsp[(1) - (2)]);;} break; case 633: /* Line 1455 of yacc.c */ -#line 2241 "hphp.y" - { _p->onArrayPair((yyval),&(yyvsp[(1) - (3)]), 0,(yyvsp[(3) - (3)]),0);;} +#line 2238 "hphp.y" + { (yyval).reset();;} break; case 634: /* Line 1455 of yacc.c */ #line 2242 "hphp.y" - { _p->onArrayPair((yyval), 0,&(yyvsp[(1) - (3)]),(yyvsp[(3) - (3)]),0);;} + { _p->onArrayPair((yyval),&(yyvsp[(1) - (5)]),&(yyvsp[(3) - (5)]),(yyvsp[(5) - (5)]),0);;} break; case 635: /* Line 1455 of yacc.c */ #line 2243 "hphp.y" - { _p->onArrayPair((yyval), 0, 0,(yyvsp[(1) - (1)]),0);;} + { _p->onArrayPair((yyval),&(yyvsp[(1) - (3)]), 0,(yyvsp[(3) - (3)]),0);;} break; case 636: /* Line 1455 of yacc.c */ -#line 2246 "hphp.y" - { _p->onArrayPair((yyval),&(yyvsp[(1) - (6)]),&(yyvsp[(3) - (6)]),(yyvsp[(6) - (6)]),1);;} +#line 2244 "hphp.y" + { _p->onArrayPair((yyval), 0,&(yyvsp[(1) - (3)]),(yyvsp[(3) - (3)]),0);;} break; case 637: /* Line 1455 of yacc.c */ -#line 2248 "hphp.y" - { _p->onArrayPair((yyval),&(yyvsp[(1) - (4)]), 0,(yyvsp[(4) - (4)]),1);;} +#line 2245 "hphp.y" + { _p->onArrayPair((yyval), 0, 0,(yyvsp[(1) - (1)]),0);;} break; case 638: /* Line 1455 of yacc.c */ -#line 2249 "hphp.y" - { _p->onArrayPair((yyval), 0,&(yyvsp[(1) - (4)]),(yyvsp[(4) - (4)]),1);;} +#line 2248 "hphp.y" + { _p->onArrayPair((yyval),&(yyvsp[(1) - (6)]),&(yyvsp[(3) - (6)]),(yyvsp[(6) - (6)]),1);;} break; case 639: /* Line 1455 of yacc.c */ #line 2250 "hphp.y" - { _p->onArrayPair((yyval), 0, 0,(yyvsp[(2) - (2)]),1);;} + { _p->onArrayPair((yyval),&(yyvsp[(1) - (4)]), 0,(yyvsp[(4) - (4)]),1);;} break; case 640: /* Line 1455 of yacc.c */ -#line 2255 "hphp.y" - { (yyval) = (yyvsp[(1) - (2)]);;} +#line 2251 "hphp.y" + { _p->onArrayPair((yyval), 0,&(yyvsp[(1) - (4)]),(yyvsp[(4) - (4)]),1);;} break; case 641: /* Line 1455 of yacc.c */ -#line 2256 "hphp.y" - { _p->onEmptyCollection((yyval));;} +#line 2252 "hphp.y" + { _p->onArrayPair((yyval), 0, 0,(yyvsp[(2) - (2)]),1);;} break; case 642: /* Line 1455 of yacc.c */ -#line 2260 "hphp.y" - { _p->onCollectionPair((yyval),&(yyvsp[(1) - (5)]),&(yyvsp[(3) - (5)]),(yyvsp[(5) - (5)]));;} +#line 2257 "hphp.y" + { (yyval) = (yyvsp[(1) - (2)]);;} break; case 643: /* Line 1455 of yacc.c */ -#line 2261 "hphp.y" - { _p->onCollectionPair((yyval),&(yyvsp[(1) - (3)]), 0,(yyvsp[(3) - (3)]));;} +#line 2258 "hphp.y" + { _p->onEmptyCollection((yyval));;} break; case 644: /* Line 1455 of yacc.c */ #line 2262 "hphp.y" - { _p->onCollectionPair((yyval), 0,&(yyvsp[(1) - (3)]),(yyvsp[(3) - (3)]));;} + { _p->onCollectionPair((yyval),&(yyvsp[(1) - (5)]),&(yyvsp[(3) - (5)]),(yyvsp[(5) - (5)]));;} break; case 645: /* Line 1455 of yacc.c */ #line 2263 "hphp.y" - { _p->onCollectionPair((yyval), 0, 0,(yyvsp[(1) - (1)]));;} + { _p->onCollectionPair((yyval),&(yyvsp[(1) - (3)]), 0,(yyvsp[(3) - (3)]));;} break; case 646: /* Line 1455 of yacc.c */ -#line 2268 "hphp.y" - { (yyval) = (yyvsp[(1) - (2)]);;} +#line 2264 "hphp.y" + { _p->onCollectionPair((yyval), 0,&(yyvsp[(1) - (3)]),(yyvsp[(3) - (3)]));;} break; case 647: /* Line 1455 of yacc.c */ -#line 2269 "hphp.y" - { _p->onEmptyCollection((yyval));;} +#line 2265 "hphp.y" + { _p->onCollectionPair((yyval), 0, 0,(yyvsp[(1) - (1)]));;} break; case 648: /* Line 1455 of yacc.c */ -#line 2274 "hphp.y" - { _p->onCollectionPair((yyval),&(yyvsp[(1) - (5)]),&(yyvsp[(3) - (5)]),(yyvsp[(5) - (5)]));;} +#line 2270 "hphp.y" + { (yyval) = (yyvsp[(1) - (2)]);;} break; case 649: /* Line 1455 of yacc.c */ -#line 2276 "hphp.y" - { _p->onCollectionPair((yyval),&(yyvsp[(1) - (3)]), 0,(yyvsp[(3) - (3)]));;} +#line 2271 "hphp.y" + { _p->onEmptyCollection((yyval));;} break; case 650: /* Line 1455 of yacc.c */ -#line 2278 "hphp.y" - { _p->onCollectionPair((yyval), 0,&(yyvsp[(1) - (3)]),(yyvsp[(3) - (3)]));;} +#line 2276 "hphp.y" + { _p->onCollectionPair((yyval),&(yyvsp[(1) - (5)]),&(yyvsp[(3) - (5)]),(yyvsp[(5) - (5)]));;} break; case 651: /* Line 1455 of yacc.c */ -#line 2279 "hphp.y" - { _p->onCollectionPair((yyval), 0, 0,(yyvsp[(1) - (1)]));;} +#line 2278 "hphp.y" + { _p->onCollectionPair((yyval),&(yyvsp[(1) - (3)]), 0,(yyvsp[(3) - (3)]));;} break; case 652: /* Line 1455 of yacc.c */ -#line 2283 "hphp.y" - { _p->addEncap((yyval), &(yyvsp[(1) - (2)]), (yyvsp[(2) - (2)]), -1);;} +#line 2280 "hphp.y" + { _p->onCollectionPair((yyval), 0,&(yyvsp[(1) - (3)]),(yyvsp[(3) - (3)]));;} break; case 653: /* Line 1455 of yacc.c */ -#line 2285 "hphp.y" - { _p->addEncap((yyval), &(yyvsp[(1) - (2)]), (yyvsp[(2) - (2)]), 0);;} +#line 2281 "hphp.y" + { _p->onCollectionPair((yyval), 0, 0,(yyvsp[(1) - (1)]));;} break; case 654: /* Line 1455 of yacc.c */ -#line 2286 "hphp.y" - { _p->addEncap((yyval), NULL, (yyvsp[(1) - (1)]), -1);;} +#line 2285 "hphp.y" + { _p->addEncap((yyval), &(yyvsp[(1) - (2)]), (yyvsp[(2) - (2)]), -1);;} break; case 655: /* Line 1455 of yacc.c */ -#line 2288 "hphp.y" - { _p->addEncap((yyval), NULL, (yyvsp[(1) - (2)]), 0); - _p->addEncap((yyval), &(yyval), (yyvsp[(2) - (2)]), -1); ;} +#line 2287 "hphp.y" + { _p->addEncap((yyval), &(yyvsp[(1) - (2)]), (yyvsp[(2) - (2)]), 0);;} break; case 656: /* Line 1455 of yacc.c */ -#line 2293 "hphp.y" - { _p->onSimpleVariable((yyval), (yyvsp[(1) - (1)]));;} +#line 2288 "hphp.y" + { _p->addEncap((yyval), NULL, (yyvsp[(1) - (1)]), -1);;} break; case 657: /* Line 1455 of yacc.c */ -#line 2295 "hphp.y" - { _p->encapRefDim((yyval), (yyvsp[(1) - (4)]), (yyvsp[(3) - (4)]));;} +#line 2290 "hphp.y" + { _p->addEncap((yyval), NULL, (yyvsp[(1) - (2)]), 0); + _p->addEncap((yyval), &(yyval), (yyvsp[(2) - (2)]), -1); ;} break; case 658: /* Line 1455 of yacc.c */ -#line 2297 "hphp.y" - { _p->encapObjProp((yyval), (yyvsp[(1) - (3)]), (yyvsp[(3) - (3)]));;} +#line 2295 "hphp.y" + { _p->onSimpleVariable((yyval), (yyvsp[(1) - (1)]));;} break; case 659: /* Line 1455 of yacc.c */ -#line 2299 "hphp.y" - { _p->onDynamicVariable((yyval), (yyvsp[(2) - (3)]), 1);;} +#line 2297 "hphp.y" + { _p->encapRefDim((yyval), (yyvsp[(1) - (4)]), (yyvsp[(3) - (4)]));;} break; case 660: /* Line 1455 of yacc.c */ -#line 2301 "hphp.y" - { _p->encapArray((yyval), (yyvsp[(2) - (6)]), (yyvsp[(4) - (6)]));;} +#line 2299 "hphp.y" + { _p->encapObjProp((yyval), (yyvsp[(1) - (3)]), (yyvsp[(3) - (3)]));;} break; case 661: /* Line 1455 of yacc.c */ -#line 2302 "hphp.y" - { (yyval) = (yyvsp[(2) - (3)]);;} +#line 2301 "hphp.y" + { _p->onDynamicVariable((yyval), (yyvsp[(2) - (3)]), 1);;} break; case 662: /* Line 1455 of yacc.c */ -#line 2305 "hphp.y" - { (yyval) = (yyvsp[(1) - (1)]); (yyval) = T_STRING;;} +#line 2303 "hphp.y" + { _p->encapArray((yyval), (yyvsp[(2) - (6)]), (yyvsp[(4) - (6)]));;} break; case 663: /* Line 1455 of yacc.c */ -#line 2306 "hphp.y" - { (yyval) = (yyvsp[(1) - (1)]); (yyval) = T_NUM_STRING;;} +#line 2304 "hphp.y" + { (yyval) = (yyvsp[(2) - (3)]);;} break; case 664: /* Line 1455 of yacc.c */ #line 2307 "hphp.y" - { (yyval) = (yyvsp[(1) - (1)]); (yyval) = T_VARIABLE;;} + { (yyval) = (yyvsp[(1) - (1)]); (yyval) = T_STRING;;} break; case 665: /* Line 1455 of yacc.c */ -#line 2311 "hphp.y" - { UEXP((yyval),(yyvsp[(3) - (4)]),T_ISSET,1);;} +#line 2308 "hphp.y" + { (yyval) = (yyvsp[(1) - (1)]); (yyval) = T_NUM_STRING;;} break; case 666: /* Line 1455 of yacc.c */ -#line 2312 "hphp.y" - { UEXP((yyval),(yyvsp[(3) - (4)]),T_EMPTY,1);;} +#line 2309 "hphp.y" + { (yyval) = (yyvsp[(1) - (1)]); (yyval) = T_VARIABLE;;} break; case 667: /* Line 1455 of yacc.c */ #line 2313 "hphp.y" - { UEXP((yyval),(yyvsp[(2) - (2)]),T_INCLUDE,1);;} + { UEXP((yyval),(yyvsp[(3) - (4)]),T_ISSET,1);;} break; case 668: /* Line 1455 of yacc.c */ #line 2314 "hphp.y" - { UEXP((yyval),(yyvsp[(2) - (2)]),T_INCLUDE_ONCE,1);;} + { UEXP((yyval),(yyvsp[(3) - (4)]),T_EMPTY,1);;} break; case 669: /* Line 1455 of yacc.c */ #line 2315 "hphp.y" - { UEXP((yyval),(yyvsp[(3) - (4)]),T_EVAL,1);;} + { UEXP((yyval),(yyvsp[(2) - (2)]),T_INCLUDE,1);;} break; case 670: /* Line 1455 of yacc.c */ #line 2316 "hphp.y" - { UEXP((yyval),(yyvsp[(2) - (2)]),T_REQUIRE,1);;} + { UEXP((yyval),(yyvsp[(2) - (2)]),T_INCLUDE_ONCE,1);;} break; case 671: /* Line 1455 of yacc.c */ #line 2317 "hphp.y" - { UEXP((yyval),(yyvsp[(2) - (2)]),T_REQUIRE_ONCE,1);;} + { UEXP((yyval),(yyvsp[(3) - (4)]),T_EVAL,1);;} break; case 672: /* Line 1455 of yacc.c */ -#line 2321 "hphp.y" - { _p->onExprListElem((yyval), NULL, (yyvsp[(1) - (1)]));;} +#line 2318 "hphp.y" + { UEXP((yyval),(yyvsp[(2) - (2)]),T_REQUIRE,1);;} break; case 673: /* Line 1455 of yacc.c */ -#line 2322 "hphp.y" - { _p->onExprListElem((yyval), &(yyvsp[(1) - (3)]), (yyvsp[(3) - (3)]));;} +#line 2319 "hphp.y" + { UEXP((yyval),(yyvsp[(2) - (2)]),T_REQUIRE_ONCE,1);;} break; case 674: /* Line 1455 of yacc.c */ -#line 2327 "hphp.y" - { _p->onClassConst((yyval), (yyvsp[(1) - (3)]), (yyvsp[(3) - (3)]), 0);;} +#line 2323 "hphp.y" + { _p->onExprListElem((yyval), NULL, (yyvsp[(1) - (1)]));;} break; case 675: /* Line 1455 of yacc.c */ -#line 2336 "hphp.y" - { only_in_hh_syntax(_p); - _p->onTypedef((yyval), (yyvsp[(2) - (5)]), (yyvsp[(4) - (5)])); - _p->popTypeScope(); ;} +#line 2324 "hphp.y" + { _p->onExprListElem((yyval), &(yyvsp[(1) - (3)]), (yyvsp[(3) - (3)]));;} break; case 676: /* Line 1455 of yacc.c */ -#line 2342 "hphp.y" - { (yyval) = (yyvsp[(1) - (1)]); ;} +#line 2329 "hphp.y" + { _p->onClassConst((yyval), (yyvsp[(1) - (3)]), (yyvsp[(3) - (3)]), 0);;} break; case 677: /* Line 1455 of yacc.c */ -#line 2343 "hphp.y" - { only_in_hh_syntax(_p); (yyval) = (yyvsp[(2) - (2)]); ;} +#line 2338 "hphp.y" + { only_in_hh_syntax(_p); + _p->onTypedef((yyval), (yyvsp[(2) - (5)]), (yyvsp[(4) - (5)])); + _p->popTypeScope(); ;} break; case 678: /* Line 1455 of yacc.c */ -#line 2349 "hphp.y" - { _p->pushTypeScope(); (yyval) = (yyvsp[(1) - (1)]); ;} +#line 2344 "hphp.y" + { (yyval) = (yyvsp[(1) - (1)]); ;} break; case 679: /* Line 1455 of yacc.c */ -#line 2353 "hphp.y" - { _p->pushTypeScope(); (yyval) = (yyvsp[(1) - (4)]); - only_in_hh_syntax(_p); ;} +#line 2345 "hphp.y" + { only_in_hh_syntax(_p); (yyval) = (yyvsp[(2) - (2)]); ;} break; case 680: /* Line 1455 of yacc.c */ -#line 2360 "hphp.y" - { only_in_hh_syntax(_p); (yyval) = (yyvsp[(2) - (3)]); ;} +#line 2351 "hphp.y" + { _p->pushTypeScope(); (yyval) = (yyvsp[(1) - (1)]); ;} break; case 681: /* Line 1455 of yacc.c */ -#line 2361 "hphp.y" - { (yyval).reset(); ;} +#line 2355 "hphp.y" + { _p->pushTypeScope(); (yyval) = (yyvsp[(1) - (4)]); + only_in_hh_syntax(_p); ;} break; case 682: /* Line 1455 of yacc.c */ -#line 2365 "hphp.y" - { Token t; t.reset(); - _p->onTypeList((yyvsp[(1) - (1)]), t); - (yyval) = (yyvsp[(1) - (1)]); ;} +#line 2362 "hphp.y" + { only_in_hh_syntax(_p); (yyval) = (yyvsp[(2) - (3)]); ;} break; case 683: /* Line 1455 of yacc.c */ -#line 2368 "hphp.y" - { _p->onTypeList((yyvsp[(1) - (3)]), (yyvsp[(3) - (3)])); - (yyval) = (yyvsp[(1) - (3)]); ;} +#line 2363 "hphp.y" + { (yyval).reset(); ;} break; case 684: /* Line 1455 of yacc.c */ -#line 2373 "hphp.y" - { (yyval) = (yyvsp[(1) - (3)]); ;} +#line 2367 "hphp.y" + { Token t; t.reset(); + _p->onTypeList((yyvsp[(1) - (1)]), t); + (yyval) = (yyvsp[(1) - (1)]); ;} break; case 685: /* Line 1455 of yacc.c */ -#line 2374 "hphp.y" - { (yyval) = (yyvsp[(1) - (1)]); ;} +#line 2370 "hphp.y" + { _p->onTypeList((yyvsp[(1) - (3)]), (yyvsp[(3) - (3)])); + (yyval) = (yyvsp[(1) - (3)]); ;} break; case 686: /* Line 1455 of yacc.c */ #line 2375 "hphp.y" - { (yyval).reset(); ;} + { (yyval) = (yyvsp[(1) - (3)]); ;} break; case 687: /* Line 1455 of yacc.c */ #line 2376 "hphp.y" - { (yyval).reset(); ;} + { (yyval) = (yyvsp[(1) - (1)]); ;} break; case 688: /* Line 1455 of yacc.c */ -#line 2380 "hphp.y" +#line 2377 "hphp.y" { (yyval).reset(); ;} break; case 689: /* Line 1455 of yacc.c */ -#line 2381 "hphp.y" - { only_in_hh_syntax(_p); (yyval) = (yyvsp[(2) - (2)]); ;} +#line 2378 "hphp.y" + { (yyval).reset(); ;} break; case 690: /* Line 1455 of yacc.c */ -#line 2386 "hphp.y" - { _p->addTypeVar((yyvsp[(3) - (3)]).text()); ;} +#line 2382 "hphp.y" + { (yyval).reset(); ;} break; case 691: /* Line 1455 of yacc.c */ -#line 2387 "hphp.y" - { _p->addTypeVar((yyvsp[(1) - (1)]).text()); ;} +#line 2383 "hphp.y" + { only_in_hh_syntax(_p); (yyval) = (yyvsp[(2) - (2)]); ;} break; case 692: /* Line 1455 of yacc.c */ -#line 2389 "hphp.y" - { _p->addTypeVar((yyvsp[(3) - (5)]).text()); ;} +#line 2388 "hphp.y" + { _p->addTypeVar((yyvsp[(3) - (3)]).text()); ;} break; case 693: /* Line 1455 of yacc.c */ -#line 2390 "hphp.y" - { _p->addTypeVar((yyvsp[(1) - (3)]).text()); ;} +#line 2389 "hphp.y" + { _p->addTypeVar((yyvsp[(1) - (1)]).text()); ;} break; case 694: /* Line 1455 of yacc.c */ -#line 2396 "hphp.y" +#line 2391 "hphp.y" + { _p->addTypeVar((yyvsp[(3) - (5)]).text()); ;} + break; + + case 695: + +/* Line 1455 of yacc.c */ +#line 2392 "hphp.y" + { _p->addTypeVar((yyvsp[(1) - (3)]).text()); ;} + break; + + case 696: + +/* Line 1455 of yacc.c */ +#line 2398 "hphp.y" { validate_shape_keyname((yyvsp[(1) - (3)]), _p); ;} break; - case 697: - -/* Line 1455 of yacc.c */ -#line 2407 "hphp.y" - { (yyval) = (yyvsp[(1) - (2)]); ;} - break; - - case 698: - -/* Line 1455 of yacc.c */ -#line 2409 "hphp.y" - {;} - break; - case 699: /* Line 1455 of yacc.c */ -#line 2413 "hphp.y" - { only_in_hh_syntax(_p); - (yyval).setText("array"); ;} +#line 2409 "hphp.y" + { (yyval) = (yyvsp[(1) - (2)]); ;} break; case 700: /* Line 1455 of yacc.c */ -#line 2421 "hphp.y" - { only_in_hh_syntax(_p); - _p->onTypeSpecialization((yyvsp[(2) - (2)]), '?'); - (yyval) = (yyvsp[(2) - (2)]); ;} +#line 2411 "hphp.y" + {;} break; case 701: /* Line 1455 of yacc.c */ -#line 2424 "hphp.y" +#line 2415 "hphp.y" { only_in_hh_syntax(_p); - _p->onTypeSpecialization((yyvsp[(2) - (2)]), '@'); - (yyval) = (yyvsp[(2) - (2)]); ;} + (yyval).setText("array"); ;} break; case 702: /* Line 1455 of yacc.c */ -#line 2427 "hphp.y" - { (yyval) = (yyvsp[(1) - (1)]); ;} +#line 2423 "hphp.y" + { only_in_hh_syntax(_p); + _p->onTypeSpecialization((yyvsp[(2) - (2)]), '?'); + (yyval) = (yyvsp[(2) - (2)]); ;} break; case 703: /* Line 1455 of yacc.c */ -#line 2428 "hphp.y" - { Token t; t.reset(); - (yyvsp[(1) - (1)]).setText("array"); - _p->onTypeAnnotation((yyval), (yyvsp[(1) - (1)]), t); ;} +#line 2426 "hphp.y" + { only_in_hh_syntax(_p); + _p->onTypeSpecialization((yyvsp[(2) - (2)]), '@'); + (yyval) = (yyvsp[(2) - (2)]); ;} break; case 704: /* Line 1455 of yacc.c */ -#line 2431 "hphp.y" +#line 2429 "hphp.y" { (yyval) = (yyvsp[(1) - (1)]); ;} break; case 705: /* Line 1455 of yacc.c */ -#line 2433 "hphp.y" - { only_in_hh_syntax(_p); - (yyvsp[(1) - (4)]).setText("array"); - _p->onTypeAnnotation((yyval), (yyvsp[(1) - (4)]), (yyvsp[(3) - (4)])); ;} +#line 2430 "hphp.y" + { Token t; t.reset(); + (yyvsp[(1) - (1)]).setText("array"); + _p->onTypeAnnotation((yyval), (yyvsp[(1) - (1)]), t); ;} break; case 706: /* Line 1455 of yacc.c */ -#line 2437 "hphp.y" +#line 2433 "hphp.y" + { (yyval) = (yyvsp[(1) - (1)]); ;} + break; + + case 707: + +/* Line 1455 of yacc.c */ +#line 2435 "hphp.y" + { only_in_hh_syntax(_p); + (yyvsp[(1) - (4)]).setText("array"); + _p->onTypeAnnotation((yyval), (yyvsp[(1) - (4)]), (yyvsp[(3) - (4)])); ;} + break; + + case 708: + +/* Line 1455 of yacc.c */ +#line 2439 "hphp.y" { only_in_hh_syntax(_p); _p->onTypeList((yyvsp[(3) - (6)]), (yyvsp[(5) - (6)])); (yyvsp[(1) - (6)]).setText("array"); _p->onTypeAnnotation((yyval), (yyvsp[(1) - (6)]), (yyvsp[(3) - (6)])); ;} break; - case 707: + case 709: /* Line 1455 of yacc.c */ -#line 2441 "hphp.y" +#line 2443 "hphp.y" { (yyvsp[(1) - (1)]).xhpLabel(); Token t; t.reset(); _p->onTypeAnnotation((yyval), (yyvsp[(1) - (1)]), t); _p->onTypeSpecialization((yyval), 'x'); ;} break; - case 708: + case 710: /* Line 1455 of yacc.c */ -#line 2447 "hphp.y" +#line 2449 "hphp.y" { only_in_hh_syntax(_p); _p->onTypeList((yyvsp[(7) - (8)]), (yyvsp[(4) - (8)])); _p->onTypeAnnotation((yyval), (yyvsp[(2) - (8)]), (yyvsp[(7) - (8)])); _p->onTypeSpecialization((yyval), 'f'); ;} break; - case 709: + case 711: /* Line 1455 of yacc.c */ -#line 2451 "hphp.y" +#line 2453 "hphp.y" { only_in_hh_syntax(_p); _p->onTypeList((yyvsp[(2) - (5)]), (yyvsp[(4) - (5)])); Token t; t.reset(); t.setText("array"); @@ -10527,24 +10556,24 @@ yyreduce: _p->onTypeSpecialization((yyval), 't'); ;} break; - case 710: + case 712: /* Line 1455 of yacc.c */ -#line 2459 "hphp.y" +#line 2461 "hphp.y" { (yyval) = (yyvsp[(1) - (1)]); ;} break; - case 711: + case 713: /* Line 1455 of yacc.c */ -#line 2460 "hphp.y" +#line 2462 "hphp.y" { (yyval).reset(); ;} break; /* Line 1455 of yacc.c */ -#line 10548 "new_hphp.tab.cpp" +#line 10577 "new_hphp.tab.cpp" default: break; } YY_SYMBOL_PRINT ("-> $$ =", yyr1[yyn], &yyval, &yyloc); @@ -10763,7 +10792,7 @@ yyreturn: /* Line 1675 of yacc.c */ -#line 2463 "hphp.y" +#line 2465 "hphp.y" bool Parser::parseImpl() { return yyparse(this) == 0; diff --git a/hphp/test/slow/parser/xhp_keyword.php b/hphp/test/slow/parser/xhp_keyword.php new file mode 100644 index 000000000..837fa9bbf --- /dev/null +++ b/hphp/test/slow/parser/xhp_keyword.php @@ -0,0 +1,87 @@ +