diff options
Diffstat (limited to 'dist/Mesa/src/glsl/glsl_parser.cpp')
-rw-r--r-- | dist/Mesa/src/glsl/glsl_parser.cpp | 4640 |
1 files changed, 2266 insertions, 2374 deletions
diff --git a/dist/Mesa/src/glsl/glsl_parser.cpp b/dist/Mesa/src/glsl/glsl_parser.cpp index 6addb7990..940c82c0e 100644 --- a/dist/Mesa/src/glsl/glsl_parser.cpp +++ b/dist/Mesa/src/glsl/glsl_parser.cpp @@ -95,9 +95,6 @@ #include <stdio.h> #include <stdlib.h> #include <string.h> -#ifndef _MSC_VER -#include <strings.h> -#endif #include <assert.h> #include "ast.h" @@ -144,7 +141,7 @@ static bool match_layout_qualifier(const char *s1, const char *s2, return strcasecmp(s1, s2); } -#line 148 "glsl_parser.cpp" /* yacc.c:339 */ +#line 145 "glsl_parser.cpp" /* yacc.c:339 */ # ifndef YY_NULLPTR # if defined __cplusplus && 201103L <= __cplusplus @@ -214,193 +211,193 @@ extern int _mesa_glsl_debug; INOUT_TOK = 290, UNIFORM = 291, VARYING = 292, - SAMPLE = 293, - NOPERSPECTIVE = 294, - FLAT = 295, - SMOOTH = 296, - MAT2X2 = 297, - MAT2X3 = 298, - MAT2X4 = 299, - MAT3X2 = 300, - MAT3X3 = 301, - MAT3X4 = 302, - MAT4X2 = 303, - MAT4X3 = 304, - MAT4X4 = 305, - SAMPLER1D = 306, - SAMPLER2D = 307, - SAMPLER3D = 308, - SAMPLERCUBE = 309, - SAMPLER1DSHADOW = 310, - SAMPLER2DSHADOW = 311, - SAMPLERCUBESHADOW = 312, - SAMPLER1DARRAY = 313, - SAMPLER2DARRAY = 314, - SAMPLER1DARRAYSHADOW = 315, - SAMPLER2DARRAYSHADOW = 316, - SAMPLERCUBEARRAY = 317, - SAMPLERCUBEARRAYSHADOW = 318, - ISAMPLER1D = 319, - ISAMPLER2D = 320, - ISAMPLER3D = 321, - ISAMPLERCUBE = 322, - ISAMPLER1DARRAY = 323, - ISAMPLER2DARRAY = 324, - ISAMPLERCUBEARRAY = 325, - USAMPLER1D = 326, - USAMPLER2D = 327, - USAMPLER3D = 328, - USAMPLERCUBE = 329, - USAMPLER1DARRAY = 330, - USAMPLER2DARRAY = 331, - USAMPLERCUBEARRAY = 332, - SAMPLER2DRECT = 333, - ISAMPLER2DRECT = 334, - USAMPLER2DRECT = 335, - SAMPLER2DRECTSHADOW = 336, - SAMPLERBUFFER = 337, - ISAMPLERBUFFER = 338, - USAMPLERBUFFER = 339, - SAMPLER2DMS = 340, - ISAMPLER2DMS = 341, - USAMPLER2DMS = 342, - SAMPLER2DMSARRAY = 343, - ISAMPLER2DMSARRAY = 344, - USAMPLER2DMSARRAY = 345, - SAMPLEREXTERNALOES = 346, - IMAGE1D = 347, - IMAGE2D = 348, - IMAGE3D = 349, - IMAGE2DRECT = 350, - IMAGECUBE = 351, - IMAGEBUFFER = 352, - IMAGE1DARRAY = 353, - IMAGE2DARRAY = 354, - IMAGECUBEARRAY = 355, - IMAGE2DMS = 356, - IMAGE2DMSARRAY = 357, - IIMAGE1D = 358, - IIMAGE2D = 359, - IIMAGE3D = 360, - IIMAGE2DRECT = 361, - IIMAGECUBE = 362, - IIMAGEBUFFER = 363, - IIMAGE1DARRAY = 364, - IIMAGE2DARRAY = 365, - IIMAGECUBEARRAY = 366, - IIMAGE2DMS = 367, - IIMAGE2DMSARRAY = 368, - UIMAGE1D = 369, - UIMAGE2D = 370, - UIMAGE3D = 371, - UIMAGE2DRECT = 372, - UIMAGECUBE = 373, - UIMAGEBUFFER = 374, - UIMAGE1DARRAY = 375, - UIMAGE2DARRAY = 376, - UIMAGECUBEARRAY = 377, - UIMAGE2DMS = 378, - UIMAGE2DMSARRAY = 379, - IMAGE1DSHADOW = 380, - IMAGE2DSHADOW = 381, - IMAGE1DARRAYSHADOW = 382, - IMAGE2DARRAYSHADOW = 383, - COHERENT = 384, - VOLATILE = 385, - RESTRICT = 386, - READONLY = 387, - WRITEONLY = 388, - ATOMIC_UINT = 389, - STRUCT = 390, - VOID_TOK = 391, - WHILE = 392, - IDENTIFIER = 393, - TYPE_IDENTIFIER = 394, - NEW_IDENTIFIER = 395, - FLOATCONSTANT = 396, - INTCONSTANT = 397, - UINTCONSTANT = 398, - BOOLCONSTANT = 399, - FIELD_SELECTION = 400, - LEFT_OP = 401, - RIGHT_OP = 402, - INC_OP = 403, - DEC_OP = 404, - LE_OP = 405, - GE_OP = 406, - EQ_OP = 407, - NE_OP = 408, - AND_OP = 409, - OR_OP = 410, - XOR_OP = 411, - MUL_ASSIGN = 412, - DIV_ASSIGN = 413, - ADD_ASSIGN = 414, - MOD_ASSIGN = 415, - LEFT_ASSIGN = 416, - RIGHT_ASSIGN = 417, - AND_ASSIGN = 418, - XOR_ASSIGN = 419, - OR_ASSIGN = 420, - SUB_ASSIGN = 421, - INVARIANT = 422, - PRECISE = 423, - LOWP = 424, - MEDIUMP = 425, - HIGHP = 426, - SUPERP = 427, - PRECISION = 428, - VERSION_TOK = 429, - EXTENSION = 430, - LINE = 431, - COLON = 432, - EOL = 433, - INTERFACE = 434, - OUTPUT = 435, - PRAGMA_DEBUG_ON = 436, - PRAGMA_DEBUG_OFF = 437, - PRAGMA_OPTIMIZE_ON = 438, - PRAGMA_OPTIMIZE_OFF = 439, - PRAGMA_INVARIANT_ALL = 440, - LAYOUT_TOK = 441, - ASM = 442, - CLASS = 443, - UNION = 444, - ENUM = 445, - TYPEDEF = 446, - TEMPLATE = 447, - THIS = 448, - PACKED_TOK = 449, - GOTO = 450, - INLINE_TOK = 451, - NOINLINE = 452, - PUBLIC_TOK = 453, - STATIC = 454, - EXTERN = 455, - EXTERNAL = 456, - LONG_TOK = 457, - SHORT_TOK = 458, - DOUBLE_TOK = 459, - HALF = 460, - FIXED_TOK = 461, - UNSIGNED = 462, - INPUT_TOK = 463, - HVEC2 = 464, - HVEC3 = 465, - HVEC4 = 466, - DVEC2 = 467, - DVEC3 = 468, - DVEC4 = 469, - FVEC2 = 470, - FVEC3 = 471, - FVEC4 = 472, - SAMPLER3DRECT = 473, - SIZEOF = 474, - CAST = 475, - NAMESPACE = 476, - USING = 477, - RESOURCE = 478, - PATCH = 479, + NOPERSPECTIVE = 293, + FLAT = 294, + SMOOTH = 295, + MAT2X2 = 296, + MAT2X3 = 297, + MAT2X4 = 298, + MAT3X2 = 299, + MAT3X3 = 300, + MAT3X4 = 301, + MAT4X2 = 302, + MAT4X3 = 303, + MAT4X4 = 304, + SAMPLER1D = 305, + SAMPLER2D = 306, + SAMPLER3D = 307, + SAMPLERCUBE = 308, + SAMPLER1DSHADOW = 309, + SAMPLER2DSHADOW = 310, + SAMPLERCUBESHADOW = 311, + SAMPLER1DARRAY = 312, + SAMPLER2DARRAY = 313, + SAMPLER1DARRAYSHADOW = 314, + SAMPLER2DARRAYSHADOW = 315, + SAMPLERCUBEARRAY = 316, + SAMPLERCUBEARRAYSHADOW = 317, + ISAMPLER1D = 318, + ISAMPLER2D = 319, + ISAMPLER3D = 320, + ISAMPLERCUBE = 321, + ISAMPLER1DARRAY = 322, + ISAMPLER2DARRAY = 323, + ISAMPLERCUBEARRAY = 324, + USAMPLER1D = 325, + USAMPLER2D = 326, + USAMPLER3D = 327, + USAMPLERCUBE = 328, + USAMPLER1DARRAY = 329, + USAMPLER2DARRAY = 330, + USAMPLERCUBEARRAY = 331, + SAMPLER2DRECT = 332, + ISAMPLER2DRECT = 333, + USAMPLER2DRECT = 334, + SAMPLER2DRECTSHADOW = 335, + SAMPLERBUFFER = 336, + ISAMPLERBUFFER = 337, + USAMPLERBUFFER = 338, + SAMPLER2DMS = 339, + ISAMPLER2DMS = 340, + USAMPLER2DMS = 341, + SAMPLER2DMSARRAY = 342, + ISAMPLER2DMSARRAY = 343, + USAMPLER2DMSARRAY = 344, + SAMPLEREXTERNALOES = 345, + IMAGE1D = 346, + IMAGE2D = 347, + IMAGE3D = 348, + IMAGE2DRECT = 349, + IMAGECUBE = 350, + IMAGEBUFFER = 351, + IMAGE1DARRAY = 352, + IMAGE2DARRAY = 353, + IMAGECUBEARRAY = 354, + IMAGE2DMS = 355, + IMAGE2DMSARRAY = 356, + IIMAGE1D = 357, + IIMAGE2D = 358, + IIMAGE3D = 359, + IIMAGE2DRECT = 360, + IIMAGECUBE = 361, + IIMAGEBUFFER = 362, + IIMAGE1DARRAY = 363, + IIMAGE2DARRAY = 364, + IIMAGECUBEARRAY = 365, + IIMAGE2DMS = 366, + IIMAGE2DMSARRAY = 367, + UIMAGE1D = 368, + UIMAGE2D = 369, + UIMAGE3D = 370, + UIMAGE2DRECT = 371, + UIMAGECUBE = 372, + UIMAGEBUFFER = 373, + UIMAGE1DARRAY = 374, + UIMAGE2DARRAY = 375, + UIMAGECUBEARRAY = 376, + UIMAGE2DMS = 377, + UIMAGE2DMSARRAY = 378, + IMAGE1DSHADOW = 379, + IMAGE2DSHADOW = 380, + IMAGE1DARRAYSHADOW = 381, + IMAGE2DARRAYSHADOW = 382, + COHERENT = 383, + VOLATILE = 384, + RESTRICT = 385, + READONLY = 386, + WRITEONLY = 387, + ATOMIC_UINT = 388, + STRUCT = 389, + VOID_TOK = 390, + WHILE = 391, + IDENTIFIER = 392, + TYPE_IDENTIFIER = 393, + NEW_IDENTIFIER = 394, + FLOATCONSTANT = 395, + INTCONSTANT = 396, + UINTCONSTANT = 397, + BOOLCONSTANT = 398, + FIELD_SELECTION = 399, + LEFT_OP = 400, + RIGHT_OP = 401, + INC_OP = 402, + DEC_OP = 403, + LE_OP = 404, + GE_OP = 405, + EQ_OP = 406, + NE_OP = 407, + AND_OP = 408, + OR_OP = 409, + XOR_OP = 410, + MUL_ASSIGN = 411, + DIV_ASSIGN = 412, + ADD_ASSIGN = 413, + MOD_ASSIGN = 414, + LEFT_ASSIGN = 415, + RIGHT_ASSIGN = 416, + AND_ASSIGN = 417, + XOR_ASSIGN = 418, + OR_ASSIGN = 419, + SUB_ASSIGN = 420, + INVARIANT = 421, + LOWP = 422, + MEDIUMP = 423, + HIGHP = 424, + SUPERP = 425, + PRECISION = 426, + VERSION_TOK = 427, + EXTENSION = 428, + LINE = 429, + COLON = 430, + EOL = 431, + INTERFACE = 432, + OUTPUT = 433, + PRAGMA_DEBUG_ON = 434, + PRAGMA_DEBUG_OFF = 435, + PRAGMA_OPTIMIZE_ON = 436, + PRAGMA_OPTIMIZE_OFF = 437, + PRAGMA_INVARIANT_ALL = 438, + LAYOUT_TOK = 439, + ASM = 440, + CLASS = 441, + UNION = 442, + ENUM = 443, + TYPEDEF = 444, + TEMPLATE = 445, + THIS = 446, + PACKED_TOK = 447, + GOTO = 448, + INLINE_TOK = 449, + NOINLINE = 450, + PUBLIC_TOK = 451, + STATIC = 452, + EXTERN = 453, + EXTERNAL = 454, + LONG_TOK = 455, + SHORT_TOK = 456, + DOUBLE_TOK = 457, + HALF = 458, + FIXED_TOK = 459, + UNSIGNED = 460, + INPUT_TOK = 461, + OUPTUT = 462, + HVEC2 = 463, + HVEC3 = 464, + HVEC4 = 465, + DVEC2 = 466, + DVEC3 = 467, + DVEC4 = 468, + FVEC2 = 469, + FVEC3 = 470, + FVEC4 = 471, + SAMPLER3DRECT = 472, + SIZEOF = 473, + CAST = 474, + NAMESPACE = 475, + USING = 476, + RESOURCE = 477, + PATCH = 478, + SAMPLE = 479, SUBROUTINE = 480, ERROR_TOK = 481, COMMON = 482, @@ -417,7 +414,7 @@ extern int _mesa_glsl_debug; typedef union YYSTYPE YYSTYPE; union YYSTYPE { -#line 94 "glsl_parser.yy" /* yacc.c:355 */ +#line 91 "glsl_parser.yy" /* yacc.c:355 */ int n; float real; @@ -454,7 +451,7 @@ union YYSTYPE ast_node *else_statement; } selection_rest_statement; -#line 458 "glsl_parser.cpp" /* yacc.c:355 */ +#line 455 "glsl_parser.cpp" /* yacc.c:355 */ }; # define YYSTYPE_IS_TRIVIAL 1 # define YYSTYPE_IS_DECLARED 1 @@ -482,7 +479,7 @@ int _mesa_glsl_parse (struct _mesa_glsl_parse_state *state); /* Copy the second part of user declarations. */ -#line 486 "glsl_parser.cpp" /* yacc.c:358 */ +#line 483 "glsl_parser.cpp" /* yacc.c:358 */ #ifdef short # undef short @@ -726,16 +723,16 @@ union yyalloc /* YYFINAL -- State number of the termination state. */ #define YYFINAL 5 /* YYLAST -- Last index in YYTABLE. */ -#define YYLAST 5400 +#define YYLAST 5407 /* YYNTOKENS -- Number of terminals. */ #define YYNTOKENS 257 /* YYNNTS -- Number of nonterminals. */ #define YYNNTS 108 /* YYNRULES -- Number of rules. */ -#define YYNRULES 385 +#define YYNRULES 380 /* YYNSTATES -- Number of states. */ -#define YYNSTATES 539 +#define YYNSTATES 532 /* YYTRANSLATE[YYX] -- Symbol number corresponding to YYX as returned by yylex, with out-of-bounds checking. */ @@ -804,45 +801,45 @@ static const yytype_uint16 yytranslate[] = /* YYRLINE[YYN] -- Source line where rule number YYN was defined. */ static const yytype_uint16 yyrline[] = { - 0, 298, 298, 297, 309, 311, 318, 328, 329, 330, - 331, 332, 345, 347, 351, 352, 353, 357, 366, 374, - 382, 393, 394, 398, 405, 412, 419, 426, 433, 440, - 441, 447, 451, 458, 464, 473, 477, 481, 482, 491, - 492, 496, 497, 501, 507, 519, 523, 529, 537, 548, - 549, 553, 554, 558, 564, 576, 588, 589, 595, 601, - 611, 612, 613, 614, 618, 619, 625, 631, 640, 641, - 647, 656, 657, 663, 672, 673, 679, 685, 691, 700, - 701, 707, 716, 717, 726, 727, 736, 737, 746, 747, - 756, 757, 766, 767, 776, 777, 786, 787, 796, 797, - 798, 799, 800, 801, 802, 803, 804, 805, 806, 810, - 814, 830, 834, 839, 843, 848, 855, 859, 860, 864, - 869, 877, 891, 901, 915, 920, 934, 937, 945, 953, - 965, 978, 983, 988, 997, 1001, 1002, 1012, 1022, 1032, - 1046, 1053, 1063, 1073, 1083, 1093, 1105, 1120, 1127, 1138, - 1145, 1146, 1156, 1157, 1161, 1346, 1485, 1511, 1516, 1524, - 1529, 1534, 1543, 1548, 1553, 1554, 1555, 1556, 1557, 1575, - 1583, 1595, 1619, 1636, 1652, 1672, 1686, 1691, 1699, 1704, - 1709, 1714, 1719, 1738, 1743, 1748, 1753, 1759, 1764, 1772, - 1778, 1784, 1798, 1813, 1814, 1822, 1828, 1834, 1843, 1844, - 1845, 1846, 1847, 1848, 1849, 1850, 1851, 1852, 1853, 1854, - 1855, 1856, 1857, 1858, 1859, 1860, 1861, 1862, 1863, 1864, - 1865, 1866, 1867, 1868, 1869, 1870, 1871, 1872, 1873, 1874, - 1875, 1876, 1877, 1878, 1879, 1880, 1881, 1882, 1883, 1884, - 1885, 1886, 1887, 1888, 1889, 1890, 1891, 1892, 1893, 1894, - 1895, 1896, 1897, 1898, 1899, 1900, 1901, 1902, 1903, 1904, - 1905, 1906, 1907, 1908, 1909, 1910, 1911, 1912, 1913, 1914, - 1915, 1916, 1917, 1918, 1919, 1920, 1921, 1922, 1923, 1924, - 1925, 1926, 1927, 1928, 1929, 1930, 1931, 1932, 1933, 1934, - 1935, 1936, 1937, 1938, 1939, 1940, 1941, 1942, 1943, 1947, - 1952, 1957, 1965, 1972, 1981, 1986, 1994, 2013, 2018, 2026, - 2032, 2041, 2042, 2046, 2053, 2060, 2067, 2073, 2074, 2078, - 2079, 2080, 2081, 2082, 2083, 2087, 2094, 2093, 2107, 2108, - 2112, 2118, 2127, 2137, 2149, 2155, 2164, 2173, 2178, 2186, - 2190, 2208, 2216, 2221, 2229, 2234, 2242, 2250, 2258, 2266, - 2274, 2282, 2290, 2297, 2304, 2314, 2315, 2319, 2321, 2327, - 2332, 2341, 2347, 2353, 2359, 2365, 2374, 2375, 2376, 2377, - 2381, 2395, 2399, 2422, 2527, 2532, 2537, 2546, 2550, 2556, - 2565, 2570, 2578, 2602, 2610, 2618 + 0, 295, 295, 294, 306, 308, 315, 325, 326, 327, + 328, 329, 342, 344, 348, 349, 350, 354, 363, 371, + 382, 383, 387, 394, 401, 408, 415, 422, 429, 430, + 436, 440, 447, 453, 462, 466, 470, 471, 480, 481, + 485, 486, 490, 496, 508, 512, 518, 526, 537, 538, + 542, 543, 547, 553, 565, 577, 578, 584, 590, 600, + 601, 602, 603, 607, 608, 614, 620, 629, 630, 636, + 645, 646, 652, 661, 662, 668, 674, 680, 689, 690, + 696, 705, 706, 715, 716, 725, 726, 735, 736, 745, + 746, 755, 756, 765, 766, 775, 776, 785, 786, 787, + 788, 789, 790, 791, 792, 793, 794, 795, 799, 803, + 819, 823, 828, 832, 837, 844, 848, 849, 853, 858, + 866, 880, 890, 904, 909, 923, 926, 934, 946, 959, + 964, 969, 978, 982, 983, 993, 1003, 1013, 1027, 1034, + 1044, 1054, 1064, 1074, 1089, 1096, 1107, 1114, 1115, 1125, + 1126, 1130, 1315, 1438, 1464, 1469, 1477, 1482, 1487, 1496, + 1501, 1502, 1503, 1504, 1505, 1523, 1536, 1564, 1587, 1602, + 1622, 1636, 1641, 1649, 1654, 1659, 1664, 1669, 1674, 1679, + 1684, 1689, 1695, 1700, 1708, 1714, 1720, 1734, 1749, 1750, + 1758, 1764, 1770, 1779, 1780, 1781, 1782, 1783, 1784, 1785, + 1786, 1787, 1788, 1789, 1790, 1791, 1792, 1793, 1794, 1795, + 1796, 1797, 1798, 1799, 1800, 1801, 1802, 1803, 1804, 1805, + 1806, 1807, 1808, 1809, 1810, 1811, 1812, 1813, 1814, 1815, + 1816, 1817, 1818, 1819, 1820, 1821, 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, 1858, 1859, 1860, 1861, 1862, 1863, 1864, 1865, + 1866, 1867, 1868, 1869, 1870, 1871, 1872, 1873, 1874, 1875, + 1876, 1877, 1878, 1879, 1883, 1888, 1893, 1901, 1908, 1917, + 1922, 1930, 1949, 1954, 1962, 1968, 1977, 1978, 1982, 1989, + 1996, 2003, 2009, 2010, 2014, 2015, 2016, 2017, 2018, 2019, + 2023, 2030, 2029, 2043, 2044, 2048, 2054, 2063, 2073, 2085, + 2091, 2100, 2109, 2114, 2122, 2126, 2144, 2152, 2157, 2165, + 2170, 2178, 2186, 2194, 2202, 2210, 2218, 2226, 2233, 2240, + 2250, 2251, 2255, 2257, 2263, 2268, 2277, 2283, 2289, 2295, + 2301, 2310, 2311, 2312, 2313, 2317, 2331, 2335, 2346, 2443, + 2448, 2453, 2462, 2466, 2472, 2481, 2486, 2494, 2518, 2526, + 2534 }; #endif @@ -856,9 +853,9 @@ static const char *const yytname[] = "FOR", "IF", "DISCARD", "RETURN", "SWITCH", "CASE", "DEFAULT", "BVEC2", "BVEC3", "BVEC4", "IVEC2", "IVEC3", "IVEC4", "UVEC2", "UVEC3", "UVEC4", "VEC2", "VEC3", "VEC4", "CENTROID", "IN_TOK", "OUT_TOK", "INOUT_TOK", - "UNIFORM", "VARYING", "SAMPLE", "NOPERSPECTIVE", "FLAT", "SMOOTH", - "MAT2X2", "MAT2X3", "MAT2X4", "MAT3X2", "MAT3X3", "MAT3X4", "MAT4X2", - "MAT4X3", "MAT4X4", "SAMPLER1D", "SAMPLER2D", "SAMPLER3D", "SAMPLERCUBE", + "UNIFORM", "VARYING", "NOPERSPECTIVE", "FLAT", "SMOOTH", "MAT2X2", + "MAT2X3", "MAT2X4", "MAT3X2", "MAT3X3", "MAT3X4", "MAT4X2", "MAT4X3", + "MAT4X4", "SAMPLER1D", "SAMPLER2D", "SAMPLER3D", "SAMPLERCUBE", "SAMPLER1DSHADOW", "SAMPLER2DSHADOW", "SAMPLERCUBESHADOW", "SAMPLER1DARRAY", "SAMPLER2DARRAY", "SAMPLER1DARRAYSHADOW", "SAMPLER2DARRAYSHADOW", "SAMPLERCUBEARRAY", "SAMPLERCUBEARRAYSHADOW", @@ -885,17 +882,17 @@ static const char *const yytname[] = "INC_OP", "DEC_OP", "LE_OP", "GE_OP", "EQ_OP", "NE_OP", "AND_OP", "OR_OP", "XOR_OP", "MUL_ASSIGN", "DIV_ASSIGN", "ADD_ASSIGN", "MOD_ASSIGN", "LEFT_ASSIGN", "RIGHT_ASSIGN", "AND_ASSIGN", "XOR_ASSIGN", - "OR_ASSIGN", "SUB_ASSIGN", "INVARIANT", "PRECISE", "LOWP", "MEDIUMP", - "HIGHP", "SUPERP", "PRECISION", "VERSION_TOK", "EXTENSION", "LINE", - "COLON", "EOL", "INTERFACE", "OUTPUT", "PRAGMA_DEBUG_ON", - "PRAGMA_DEBUG_OFF", "PRAGMA_OPTIMIZE_ON", "PRAGMA_OPTIMIZE_OFF", - "PRAGMA_INVARIANT_ALL", "LAYOUT_TOK", "ASM", "CLASS", "UNION", "ENUM", - "TYPEDEF", "TEMPLATE", "THIS", "PACKED_TOK", "GOTO", "INLINE_TOK", - "NOINLINE", "PUBLIC_TOK", "STATIC", "EXTERN", "EXTERNAL", "LONG_TOK", - "SHORT_TOK", "DOUBLE_TOK", "HALF", "FIXED_TOK", "UNSIGNED", "INPUT_TOK", - "HVEC2", "HVEC3", "HVEC4", "DVEC2", "DVEC3", "DVEC4", "FVEC2", "FVEC3", - "FVEC4", "SAMPLER3DRECT", "SIZEOF", "CAST", "NAMESPACE", "USING", - "RESOURCE", "PATCH", "SUBROUTINE", "ERROR_TOK", "COMMON", "PARTITION", + "OR_ASSIGN", "SUB_ASSIGN", "INVARIANT", "LOWP", "MEDIUMP", "HIGHP", + "SUPERP", "PRECISION", "VERSION_TOK", "EXTENSION", "LINE", "COLON", + "EOL", "INTERFACE", "OUTPUT", "PRAGMA_DEBUG_ON", "PRAGMA_DEBUG_OFF", + "PRAGMA_OPTIMIZE_ON", "PRAGMA_OPTIMIZE_OFF", "PRAGMA_INVARIANT_ALL", + "LAYOUT_TOK", "ASM", "CLASS", "UNION", "ENUM", "TYPEDEF", "TEMPLATE", + "THIS", "PACKED_TOK", "GOTO", "INLINE_TOK", "NOINLINE", "PUBLIC_TOK", + "STATIC", "EXTERN", "EXTERNAL", "LONG_TOK", "SHORT_TOK", "DOUBLE_TOK", + "HALF", "FIXED_TOK", "UNSIGNED", "INPUT_TOK", "OUPTUT", "HVEC2", "HVEC3", + "HVEC4", "DVEC2", "DVEC3", "DVEC4", "FVEC2", "FVEC3", "FVEC4", + "SAMPLER3DRECT", "SIZEOF", "CAST", "NAMESPACE", "USING", "RESOURCE", + "PATCH", "SAMPLE", "SUBROUTINE", "ERROR_TOK", "COMMON", "PARTITION", "ACTIVE", "FILTER", "ROW_MAJOR", "THEN", "'('", "')'", "'['", "']'", "'.'", "','", "'+'", "'-'", "'!'", "'~'", "'*'", "'/'", "'%'", "'<'", "'>'", "'&'", "'^'", "'|'", "'?'", "':'", "'='", "';'", "'{'", "'}'", @@ -976,12 +973,12 @@ static const yytype_uint16 yytoknum[] = }; # endif -#define YYPACT_NINF -405 +#define YYPACT_NINF -393 #define yypact_value_is_default(Yystate) \ - (!!((Yystate) == (-405))) + (!!((Yystate) == (-393))) -#define YYTABLE_NINF -377 +#define YYTABLE_NINF -372 #define yytable_value_is_error(Yytable_value) \ 0 @@ -990,60 +987,60 @@ static const yytype_uint16 yytoknum[] = STATE-NUM. */ static const yytype_int16 yypact[] = { - -98, -37, 78, -405, -85, -405, -72, -405, -405, -405, - -405, -70, 68, 4796, -405, -405, -59, -405, -405, -405, - -405, -405, -405, -405, -405, -405, -405, -405, -405, -405, - -405, -405, -405, -405, -405, -405, -17, 2, 14, -405, - -405, -405, -405, -405, -405, -405, -405, -405, -405, -405, - -405, -405, -405, -405, -405, -405, -405, -405, -405, -405, - -405, -405, -405, -405, -405, -405, -405, -405, -405, -405, - -405, -405, -405, -405, -405, -405, -405, -405, -405, -405, - -405, -405, -405, -405, -405, -405, -405, -405, -405, -405, - -405, -405, -405, -405, -405, -405, -405, -405, -405, -405, - -405, -405, -405, -405, -405, -405, -405, -405, -405, -405, - -405, -405, -405, -405, -405, -405, -405, -405, -405, -405, - -405, -405, -405, -405, -405, -405, -405, -405, -405, -405, - -405, -405, -405, -115, -405, -405, 264, 264, -405, -405, - -405, 43, -47, -18, 26, 41, 52, -66, -405, 4612, - -405, -144, -114, -63, 11, -191, -405, 77, 313, 5089, - 5261, 5089, 5089, -405, -77, -405, 5089, -405, -405, -405, - -405, -405, 49, -405, 68, 4967, -83, -405, -405, -405, - -405, -405, 5089, 5089, -405, 5089, -405, -405, -405, 5261, - -405, -405, -405, -405, -405, -80, -405, -405, -405, 524, - -405, -405, 32, 32, -405, -405, -405, 32, -405, 5261, - 32, 32, 68, -405, -12, 0, -203, 3, -124, -120, - -119, -405, -405, -405, -405, -405, -405, 3585, 9, -405, - -8, 73, 68, 1272, -405, 4967, -2, -405, -405, 4, - -201, -405, -405, 8, 10, 1967, 21, 30, 12, 3144, - 38, 39, -405, -405, -405, -405, -405, 3987, 3987, 3987, - -405, -405, -405, -405, -405, 17, -405, 42, -405, -108, - -405, -405, -405, 40, -90, 4188, 44, -76, 3987, -20, - -42, 63, -54, 74, 35, 31, 34, 131, 130, -125, - -405, -405, -138, -405, 37, 5109, 56, -405, -405, -405, - -405, 778, -405, -405, -405, -405, -405, -405, -405, -405, - -405, -405, 68, -405, -405, -192, 2921, -161, -405, -405, - -405, -405, -405, -405, -405, 58, -405, 3786, 4967, -405, - -77, -137, -405, -405, -405, 1493, -405, 86, -405, -80, - -405, -405, 155, 2460, 3987, -405, -405, -126, 3987, 3384, - -405, -405, -75, -405, 1967, -405, -405, 3987, 77, -405, - -405, 3987, 61, -405, -405, -405, -405, -405, -405, -405, - -405, -405, -405, -405, -405, -405, 3987, -405, 3987, 3987, - 3987, 3987, 3987, 3987, 3987, 3987, 3987, 3987, 3987, 3987, - 3987, 3987, 3987, 3987, 3987, 3987, 3987, 3987, 3987, -405, - -405, -405, -77, 2921, -158, 2921, -405, -405, 2921, -405, - -405, 70, 68, 51, 4967, 9, 68, -405, -405, -405, - -405, -405, -405, 66, -405, -405, 3384, -69, -405, -64, - 71, 68, 76, -405, 1032, 72, 71, -405, 79, -405, - 80, -51, 4389, -405, -405, -405, -405, -405, -20, -20, - -42, -42, 63, 63, 63, 63, -54, -54, 74, 35, - 31, 34, 131, 130, -210, -405, 9, -405, 2921, -405, - -147, -405, -405, -113, 173, -405, -405, 3987, -405, 65, - 87, 1967, 69, 67, 2220, -405, -405, -405, -405, -405, - 3987, 89, -405, 3987, -405, 2698, -405, -405, -77, 75, - -39, 3987, 2220, 316, -405, -10, -405, 2921, -405, -405, - -405, -405, -405, -405, -405, 9, -405, 83, 71, -405, - 1967, 3987, 81, -405, -405, 1714, 1967, -6, -405, -405, - -405, -139, -405, -405, -405, -405, -405, 1967, -405 + -85, -88, 33, -393, -94, -393, -133, -393, -393, -393, + -393, -80, -75, 4754, -393, -393, -67, -393, -393, -393, + -393, -393, -393, -393, -393, -393, -393, -393, -393, -393, + -393, -393, -393, -393, -393, -393, 12, 19, 36, -393, + -393, -393, -393, -393, -393, -393, -393, -393, -393, -393, + -393, -393, -393, -393, -393, -393, -393, -393, -393, -393, + -393, -393, -393, -393, -393, -393, -393, -393, -393, -393, + -393, -393, -393, -393, -393, -393, -393, -393, -393, -393, + -393, -393, -393, -393, -393, -393, -393, -393, -393, -393, + -393, -393, -393, -393, -393, -393, -393, -393, -393, -393, + -393, -393, -393, -393, -393, -393, -393, -393, -393, -393, + -393, -393, -393, -393, -393, -393, -393, -393, -393, -393, + -393, -393, -393, -393, -393, -393, -393, -393, -393, -393, + -393, -393, -115, -393, -393, 261, -393, -393, -393, 41, + -64, -48, 24, 29, 37, -51, -393, -393, 4754, -393, + -132, -41, -23, 1, -147, -393, 86, 35, 5064, 5269, + 5064, 5064, -393, -6, -393, 5064, -393, -393, -393, -393, + -393, 88, -393, -75, 4943, -24, -393, -393, -393, -393, + -393, 5064, -393, 5064, -393, 5269, -393, -393, -393, -393, + -393, -83, -393, -393, 517, -393, -393, 17, 17, -393, + -393, -393, -393, 5269, 17, 17, -75, -393, 10, 27, + -204, 38, -125, -121, -113, -393, -393, -393, -393, -393, + -393, 3639, 15, -393, 2, 69, -75, 1265, -393, 4943, + 22, -393, -393, 13, -148, -393, -393, 23, 25, 1999, + 45, 50, 31, 3176, 53, 54, -393, -393, -393, -393, + -393, 4085, 4085, 4085, -393, -393, -393, -393, -393, 34, + -393, 56, -393, -101, -393, -393, -393, 57, -145, 4308, + 63, 181, 4085, -3, -96, 42, -108, 66, 55, 60, + 52, 151, 152, -126, -393, -393, -140, -393, 59, 5083, + 77, -393, -393, -393, -393, 771, -393, -393, -393, -393, + -393, -393, -393, -393, -393, -75, -393, -393, -187, 2953, + -175, -393, -393, -393, -393, -393, -393, -393, 75, -393, + 3862, 4943, -393, -6, -138, -393, -393, -393, 1502, -393, + 79, -393, -83, -393, -393, 176, 2492, 4085, -393, -393, + -127, 4085, 3416, -393, -393, -117, -393, 1999, -393, -393, + 4085, 86, -393, -393, 4085, 80, -393, -393, -393, -393, + -393, -393, -393, -393, -393, -393, -393, -393, -393, 4085, + -393, 4085, 4085, 4085, 4085, 4085, 4085, 4085, 4085, 4085, + 4085, 4085, 4085, 4085, 4085, 4085, 4085, 4085, 4085, 4085, + 4085, 4085, -393, -393, -393, -6, 2953, -159, 2953, -393, + -393, 2953, -393, -393, 81, -75, 62, 4943, 15, -75, + -393, -393, -393, -393, -393, -393, 83, -393, -393, 3416, + -89, -393, -58, 82, -75, 85, -393, 1025, 90, 82, + -393, 89, -393, 87, -40, 4531, -393, -393, -393, -393, + -393, -3, -3, -96, -96, 42, 42, 42, 42, -108, + -108, 66, 55, 60, 52, 151, 152, -173, -393, 15, + -393, 2953, -393, -161, -393, -393, -112, 185, -393, -393, + 4085, -393, 73, 94, 1999, 76, 95, 2252, -393, -393, + -393, -393, -393, 4085, 96, -393, 4085, -393, 2730, -393, + -393, -6, 93, -39, 4085, 2252, 321, -393, -10, -393, + 2953, -393, -393, -393, -393, -393, -393, -393, 15, -393, + 98, 82, -393, 1999, 4085, 97, -393, -393, 1746, 1999, + -8, -393, -393, -393, -139, -393, -393, -393, -393, -393, + 1999, -393 }; /* YYDEFACT[STATE-NUM] -- Default reduction number in state STATE-NUM. @@ -1052,91 +1049,91 @@ static const yytype_int16 yypact[] = static const yytype_uint16 yydefact[] = { 4, 0, 0, 12, 0, 1, 2, 14, 15, 16, - 5, 0, 0, 0, 13, 6, 0, 179, 178, 202, - 199, 200, 201, 206, 207, 208, 209, 210, 211, 212, - 213, 214, 203, 204, 205, 176, 181, 182, 183, 180, - 177, 161, 160, 159, 215, 216, 217, 218, 219, 220, - 221, 222, 223, 224, 225, 227, 228, 230, 231, 233, - 234, 235, 236, 237, 239, 240, 241, 242, 244, 245, - 246, 247, 249, 250, 251, 253, 254, 255, 256, 258, - 226, 243, 252, 232, 238, 248, 257, 259, 260, 261, - 262, 263, 264, 229, 265, 266, 267, 268, 269, 270, - 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, - 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, - 291, 292, 293, 294, 295, 296, 297, 184, 185, 186, - 187, 188, 298, 0, 198, 197, 162, 163, 301, 300, - 299, 0, 0, 0, 0, 0, 0, 0, 368, 3, - 367, 0, 0, 118, 126, 0, 135, 140, 167, 166, - 0, 164, 165, 147, 193, 195, 168, 196, 18, 366, - 115, 371, 0, 369, 0, 0, 0, 181, 182, 183, - 21, 22, 162, 163, 145, 167, 170, 146, 169, 0, - 7, 8, 9, 10, 11, 0, 20, 19, 112, 0, - 370, 116, 126, 126, 131, 132, 133, 126, 119, 0, - 126, 126, 0, 113, 14, 16, 141, 0, 181, 182, - 183, 172, 372, 171, 148, 173, 174, 0, 194, 175, - 0, 0, 0, 0, 304, 0, 0, 158, 157, 154, - 0, 150, 156, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 26, 24, 25, 27, 48, 0, 0, 0, - 60, 61, 62, 63, 334, 326, 330, 23, 29, 56, - 31, 36, 37, 0, 0, 42, 0, 64, 0, 68, - 71, 74, 79, 82, 84, 86, 88, 90, 92, 94, - 96, 109, 0, 316, 0, 167, 147, 319, 332, 318, - 317, 0, 320, 321, 322, 323, 324, 120, 127, 128, - 124, 125, 134, 129, 130, 136, 0, 142, 121, 384, - 385, 383, 189, 64, 111, 0, 46, 0, 0, 17, - 309, 0, 307, 303, 305, 0, 114, 0, 149, 0, - 362, 361, 0, 0, 0, 365, 363, 0, 0, 0, - 57, 58, 0, 325, 0, 33, 34, 0, 0, 40, - 39, 0, 198, 43, 45, 99, 100, 102, 101, 104, - 105, 106, 107, 108, 103, 98, 0, 59, 0, 0, + 5, 0, 0, 0, 13, 6, 0, 174, 173, 197, + 194, 195, 196, 201, 202, 203, 204, 205, 206, 207, + 208, 209, 198, 199, 200, 171, 176, 177, 178, 175, + 158, 157, 156, 210, 211, 212, 213, 214, 215, 216, + 217, 218, 219, 220, 222, 223, 225, 226, 228, 229, + 230, 231, 232, 234, 235, 236, 237, 239, 240, 241, + 242, 244, 245, 246, 248, 249, 250, 251, 253, 221, + 238, 247, 227, 233, 243, 252, 254, 255, 256, 257, + 258, 259, 224, 260, 261, 262, 263, 264, 265, 266, + 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, + 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, + 287, 288, 289, 290, 291, 292, 179, 180, 181, 182, + 183, 293, 0, 193, 192, 159, 296, 295, 294, 0, + 0, 0, 0, 0, 0, 0, 172, 363, 3, 362, + 0, 0, 117, 125, 0, 133, 138, 163, 162, 0, + 160, 161, 144, 188, 190, 164, 191, 18, 361, 114, + 366, 0, 364, 0, 0, 0, 176, 177, 178, 20, + 21, 159, 143, 163, 165, 0, 7, 8, 9, 10, + 11, 0, 19, 111, 0, 365, 115, 125, 125, 129, + 130, 131, 118, 0, 125, 125, 0, 112, 14, 16, + 139, 0, 176, 177, 178, 167, 367, 166, 145, 168, + 169, 0, 189, 170, 0, 0, 0, 0, 299, 0, + 0, 155, 154, 151, 0, 147, 153, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 25, 23, 24, 26, + 47, 0, 0, 0, 59, 60, 61, 62, 329, 321, + 325, 22, 28, 55, 30, 35, 36, 0, 0, 41, + 0, 63, 0, 67, 70, 73, 78, 81, 83, 85, + 87, 89, 91, 93, 95, 108, 0, 311, 0, 163, + 144, 314, 327, 313, 312, 0, 315, 316, 317, 318, + 319, 119, 126, 123, 124, 132, 127, 128, 134, 0, + 140, 120, 379, 380, 378, 184, 63, 110, 0, 45, + 0, 0, 17, 304, 0, 302, 298, 300, 0, 113, + 0, 146, 0, 357, 356, 0, 0, 0, 360, 358, + 0, 0, 0, 56, 57, 0, 320, 0, 32, 33, + 0, 0, 39, 38, 0, 193, 42, 44, 98, 99, + 101, 100, 103, 104, 105, 106, 107, 102, 97, 0, + 58, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 335, - 331, 333, 122, 0, 137, 0, 311, 144, 0, 190, - 191, 0, 0, 0, 380, 310, 0, 306, 302, 152, - 153, 155, 151, 0, 356, 355, 358, 0, 364, 0, - 339, 0, 0, 28, 0, 0, 35, 32, 0, 38, - 0, 0, 52, 44, 97, 65, 66, 67, 69, 70, - 72, 73, 77, 78, 75, 76, 80, 81, 83, 85, - 87, 89, 91, 93, 0, 110, 123, 139, 0, 314, - 0, 143, 192, 0, 377, 381, 308, 0, 357, 0, - 0, 0, 0, 0, 0, 327, 30, 55, 50, 49, - 0, 198, 53, 0, 138, 0, 312, 382, 378, 0, - 0, 359, 0, 338, 336, 0, 341, 0, 329, 352, - 328, 54, 95, 313, 315, 379, 373, 0, 360, 354, - 0, 0, 0, 342, 346, 0, 350, 0, 340, 353, - 337, 0, 345, 348, 347, 349, 343, 351, 344 + 0, 0, 330, 326, 328, 121, 0, 135, 0, 306, + 142, 0, 185, 186, 0, 0, 0, 375, 305, 0, + 301, 297, 149, 150, 152, 148, 0, 351, 350, 353, + 0, 359, 0, 334, 0, 0, 27, 0, 0, 34, + 31, 0, 37, 0, 0, 51, 43, 96, 64, 65, + 66, 68, 69, 71, 72, 76, 77, 74, 75, 79, + 80, 82, 84, 86, 88, 90, 92, 0, 109, 122, + 137, 0, 309, 0, 141, 187, 0, 372, 376, 303, + 0, 352, 0, 0, 0, 0, 0, 0, 322, 29, + 54, 49, 48, 0, 193, 52, 0, 136, 0, 307, + 377, 373, 0, 0, 354, 0, 333, 331, 0, 336, + 0, 324, 347, 323, 53, 94, 308, 310, 374, 368, + 0, 355, 349, 0, 0, 0, 337, 341, 0, 345, + 0, 335, 348, 332, 0, 340, 343, 342, 344, 338, + 346, 339 }; /* YYPGOTO[NTERM-NUM]. */ static const yytype_int16 yypgoto[] = { - -405, -405, -405, -405, -405, -405, -1, 176, -405, -118, - -405, -405, -405, -405, -405, -405, -405, -405, -405, -405, - -405, -405, -405, -405, -9, -405, -143, -142, -317, -129, - -52, -50, -53, -46, -40, -38, -405, -205, -237, -405, - -242, 29, -3, 1, -405, -405, -405, -405, 142, -58, - -405, -405, -405, -405, -171, -11, -405, -405, 20, -405, - -405, -110, -405, -405, -211, -13, -405, -405, 124, -405, - 125, -198, -49, -55, -374, -405, 19, -244, -404, -405, - -405, -136, 213, 13, 22, -405, -405, -36, -405, -405, - -157, -405, -135, -405, -405, -405, -405, -405, -405, 239, - -405, -405, -152, -405, -405, -25, -405, -405 + -393, -393, -393, -393, -393, -393, 0, -393, -393, -119, + -393, -393, -393, -393, -393, -393, -393, -393, -393, -393, + -393, -393, -393, -393, -14, -393, -141, -124, -111, -110, + -49, -35, -33, -32, -34, -12, -393, -196, -239, -393, + -240, 61, 6, 7, -393, -393, -393, -393, 159, -27, + -393, -393, -393, -393, -168, -11, -393, -393, 44, -393, + -393, -77, -393, -393, -203, -13, -393, -393, 58, -393, + 149, -210, -26, -29, -369, -393, 46, -238, -392, -393, + -393, -109, 233, 40, 48, -393, -393, -31, -393, -393, + -123, -393, -135, -393, -393, -393, -393, -393, -393, 248, + -393, -393, -142, -393, -393, -5, -393, -393 }; /* YYDEFGOTO[NTERM-NUM]. */ static const yytype_int16 yydefgoto[] = { - -1, 2, 13, 3, 148, 6, 330, 14, 149, 267, - 268, 269, 435, 270, 271, 272, 273, 274, 275, 276, - 439, 440, 441, 442, 277, 278, 279, 280, 281, 282, - 283, 284, 285, 286, 287, 288, 289, 290, 291, 376, - 292, 325, 293, 294, 152, 153, 154, 310, 208, 209, - 210, 311, 155, 156, 157, 185, 240, 421, 241, 242, - 159, 160, 161, 162, 228, 326, 164, 165, 166, 167, - 233, 234, 331, 332, 407, 470, 297, 298, 299, 300, - 354, 509, 510, 301, 302, 303, 504, 432, 304, 506, - 524, 525, 526, 527, 305, 426, 479, 480, 306, 168, - 169, 170, 171, 172, 499, 413, 414, 173 + -1, 2, 13, 3, 147, 6, 323, 14, 148, 261, + 262, 263, 428, 264, 265, 266, 267, 268, 269, 270, + 432, 433, 434, 435, 271, 272, 273, 274, 275, 276, + 277, 278, 279, 280, 281, 282, 283, 284, 285, 369, + 286, 318, 287, 288, 151, 152, 153, 303, 202, 203, + 204, 304, 154, 155, 156, 183, 234, 414, 235, 236, + 158, 159, 160, 161, 222, 319, 163, 164, 165, 166, + 227, 228, 324, 325, 400, 463, 291, 292, 293, 294, + 347, 502, 503, 295, 296, 297, 497, 425, 298, 499, + 517, 518, 519, 520, 299, 419, 472, 473, 300, 167, + 168, 169, 170, 171, 492, 406, 407, 172 }; /* YYTABLE[YYPACT[STATE-NUM]] -- What to do in state STATE-NUM. If @@ -1144,111 +1141,233 @@ static const yytype_int16 yydefgoto[] = number is the opposite. If YYTABLE_NINF, syntax error. */ static const yytype_int16 yytable[] = { - 163, 342, 158, 11, 232, 317, 222, 347, 521, 522, - 150, 16, 521, 522, 151, 203, -374, 352, 184, 187, - -375, -376, 324, 7, 8, 9, 186, 188, 398, 467, - 396, 469, 227, 338, 471, 334, 203, 339, 363, 217, - 355, 356, 493, 227, 204, 205, 206, 212, 221, 223, - 316, 225, 226, 7, 8, 9, 229, 401, 7, 8, - 9, 403, 232, 213, 232, 204, 205, 206, 452, 453, - 454, 455, 186, 188, 327, 221, 1, 327, 5, 406, - 508, 365, 366, 367, 368, 369, 370, 371, 372, 373, - 374, 495, 408, 10, 494, 468, 385, 386, 508, 398, - 398, 416, 427, 12, 404, 4, 429, 430, 15, 496, - 198, 199, 398, 538, 237, 436, 399, 417, 174, 415, - 201, 514, 324, -374, 443, 416, 397, 357, 428, 358, - 319, 190, 176, 528, 320, 321, 163, 334, 158, 444, - 175, 497, -375, 222, 360, 308, 150, 224, 361, 309, - 151, 238, 313, 314, -376, 464, 216, 412, 227, 433, - 191, 465, 163, 398, 232, 481, 406, 195, 406, 398, - 482, 406, 235, 231, 398, 202, 236, 375, 431, 207, - 138, 139, 140, 489, 430, 221, 296, 490, 295, 230, - 401, 466, 387, 388, 239, 517, 312, 381, 382, 398, - 207, 138, 139, 140, 192, 492, 7, 8, 9, 383, - 384, 315, 138, 139, 140, 214, 8, 215, 323, 193, - 163, -21, 163, 378, 379, 380, 389, 390, 419, 420, - 194, 406, 296, -22, 295, 500, 318, 503, 448, 449, - 438, 450, 451, 412, 327, -117, 523, 328, 350, 351, - 536, 329, 336, 511, 343, 431, 512, 337, 406, 518, - 456, 457, 340, 344, 341, 189, 345, 17, 18, 377, - 406, 348, 349, 353, 359, -47, 530, 364, 211, 531, - 392, 533, 535, 391, 393, 394, 395, 515, 296, -46, - 295, 198, 423, 535, 409, -41, 35, 177, 178, 477, - 179, 39, 40, 41, 42, 43, 472, 474, 486, 398, - 484, 402, 487, 498, 488, 163, 17, 18, 323, 501, - 507, 502, 163, -51, 505, 196, 211, 211, 520, 516, - 296, 211, 295, 532, 211, 211, 296, 529, 239, 458, - 460, 296, 459, 295, 307, 35, 218, 219, 461, 220, - 39, 40, 41, 42, 43, 462, 411, 437, 463, 422, - 335, 476, 424, 473, 200, 425, 519, 434, 534, 445, - 446, 447, 323, 323, 323, 323, 323, 323, 323, 323, - 323, 323, 323, 323, 323, 323, 323, 323, 197, 475, - 478, 0, 537, 127, 128, 129, 130, 131, 0, 0, - 0, 163, 180, 0, 181, 0, 0, 0, 0, 0, - 0, 0, 0, 296, 0, 0, 0, 0, 0, 0, - 0, 296, 0, 295, 0, 0, 0, 0, 0, 0, - 483, 182, 183, 138, 139, 140, 0, 0, 0, 0, - 0, 0, 127, 128, 129, 130, 131, 0, 0, 0, - 147, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 296, 0, - 295, 296, 0, 295, 0, 0, 0, 0, 0, 0, - 182, 183, 138, 139, 140, 0, 0, 0, 0, 296, - 0, 295, 0, 0, 0, 0, 0, 0, 0, 147, - 0, 0, 0, 0, 0, 0, 0, 296, 0, 295, - 0, 0, 296, 296, 295, 295, 0, 0, 0, 0, - 0, 0, 0, 0, 296, 0, 295, 17, 18, 19, - 20, 21, 22, 243, 244, 245, 0, 246, 247, 248, - 249, 250, 0, 0, 23, 24, 25, 26, 27, 28, - 29, 30, 31, 32, 33, 34, 35, 36, 37, 0, - 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, - 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, - 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, - 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, - 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, - 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, - 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, - 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, - 118, 119, 120, 121, 122, 123, 124, 125, 126, 0, - 0, 0, 0, 127, 128, 129, 130, 131, 132, 133, - 134, 251, 180, 135, 181, 252, 253, 254, 255, 256, - 0, 0, 257, 258, 0, 0, 0, 0, 0, 0, + 162, 335, 157, 340, 11, 198, 226, 310, 514, 515, + 514, 515, 16, 345, -369, 216, 182, 327, -370, 149, + 150, 198, 7, 8, 9, 317, -371, 460, 389, 462, + 356, 221, 464, 5, 199, 200, 201, 211, 17, 18, + 12, 378, 379, 7, 8, 9, 348, 349, 221, 309, + 199, 200, 201, 4, 7, 8, 9, 394, 184, 226, + 320, 226, 7, 8, 9, 391, 396, 35, 212, 213, + 399, 214, 39, 40, 41, 42, 320, 488, 401, 486, + 215, 217, 10, 219, 220, 501, 331, 1, 223, 353, + 332, 206, 487, 354, 461, 489, 15, 420, 391, 391, + 409, 422, 423, 501, 184, 397, 215, 207, 173, 231, + 429, 391, 186, 531, 392, 436, 410, 426, 327, 507, + 408, 391, 193, 194, 317, 390, 409, 421, 187, 312, + 437, 521, 175, 313, 350, 162, 351, 157, 380, 381, + 174, 314, 490, 374, 375, 474, 218, 216, 232, 391, + 457, -369, 458, 405, 149, 150, 210, 399, -370, 399, + 226, 162, 399, 126, 127, 128, 129, 130, 136, 137, + 138, 302, 230, 225, 424, -371, 475, 306, 307, 423, + 391, 290, 191, 289, 136, 137, 138, 376, 377, 394, + 305, 233, 459, 196, 482, 510, 485, 185, 483, 391, + 188, 181, 136, 137, 138, 189, 308, 316, 136, 137, + 138, 205, 215, 190, 162, 197, 162, 382, 383, 145, + 412, 413, 399, 208, 8, 209, 290, 224, 289, 221, + 493, 229, 431, 441, 442, -116, 496, 343, 344, 405, + 371, 372, 373, -20, 504, 322, 516, 505, 529, 399, + 320, 424, 443, 444, 511, 205, 205, 321, 370, 146, + -21, 399, 205, 205, 17, 18, 330, 445, 446, 447, + 448, 311, 449, 450, 524, 523, 329, 333, 336, 334, + 526, 528, 290, 337, 289, 338, 341, 342, 508, -46, + 346, 352, 528, 35, 176, 177, 357, 178, 39, 40, + 41, 42, 386, 384, 387, 395, 316, 388, 162, 385, + -45, 402, 416, 193, -40, 162, 470, 465, 467, 477, + 391, 481, 480, 290, 491, 289, 479, 494, 495, 290, + -50, 498, 233, 513, 290, 451, 289, 358, 359, 360, + 361, 362, 363, 364, 365, 366, 367, 509, 500, 525, + 452, 430, 522, 453, 455, 454, 301, 438, 439, 440, + 316, 316, 316, 316, 316, 316, 316, 316, 316, 316, + 316, 316, 316, 316, 316, 316, 415, 456, 328, 466, + 469, 404, 417, 195, 418, 530, 512, 427, 471, 126, + 127, 128, 129, 130, 162, 527, 192, 0, 179, 0, + 180, 0, 468, 0, 0, 0, 290, 0, 0, 0, + 0, 0, 0, 0, 290, 0, 289, 0, 0, 0, + 0, 0, 0, 0, 476, 0, 0, 181, 136, 137, + 138, 0, 0, 0, 368, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 145, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 136, 137, 138, 139, 140, 0, 141, 0, 0, + 0, 290, 0, 289, 290, 0, 289, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 147, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 290, 0, 289, 146, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 290, 0, 289, 0, 0, 290, 290, 289, 289, 0, + 0, 0, 0, 0, 0, 0, 0, 290, 0, 289, + 17, 18, 19, 20, 21, 22, 237, 238, 239, 0, + 240, 241, 242, 243, 244, 0, 0, 23, 24, 25, + 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, + 36, 37, 0, 38, 39, 40, 41, 42, 43, 44, + 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, + 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, + 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, + 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, + 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, + 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, + 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, + 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, + 125, 0, 0, 0, 0, 126, 127, 128, 129, 130, + 131, 132, 133, 245, 179, 134, 180, 246, 247, 248, + 249, 250, 0, 0, 251, 252, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 135, 136, 137, 138, 0, 139, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 259, 0, 0, - 0, 0, 0, 260, 261, 262, 263, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 264, 265, - 266, 17, 18, 19, 20, 21, 22, 243, 244, 245, - 0, 246, 247, 248, 249, 250, 0, 0, 23, 24, - 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, - 35, 36, 37, 0, 38, 39, 40, 41, 42, 43, - 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, - 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, - 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, - 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, - 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, - 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, - 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, - 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, - 124, 125, 126, 0, 0, 0, 0, 127, 128, 129, - 130, 131, 132, 133, 134, 251, 180, 135, 181, 252, - 253, 254, 255, 256, 0, 0, 257, 258, 0, 0, + 0, 145, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 146, 0, 0, 0, 0, 0, 0, 0, 0, + 253, 0, 0, 0, 0, 0, 254, 255, 256, 257, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 258, 259, 260, 17, 18, 19, 20, 21, 22, + 237, 238, 239, 0, 240, 241, 242, 243, 244, 0, + 0, 23, 24, 25, 26, 27, 28, 29, 30, 31, + 32, 33, 34, 35, 36, 37, 0, 38, 39, 40, + 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, + 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, + 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, + 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, + 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, + 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, + 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, + 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, + 121, 122, 123, 124, 125, 0, 0, 0, 0, 126, + 127, 128, 129, 130, 131, 132, 133, 245, 179, 134, + 180, 246, 247, 248, 249, 250, 0, 0, 251, 252, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 135, 136, 137, + 138, 0, 139, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 145, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 146, 0, 0, 0, 0, + 0, 0, 0, 0, 253, 0, 0, 0, 0, 0, + 254, 255, 256, 257, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 258, 259, 393, 17, 18, + 19, 20, 21, 22, 237, 238, 239, 0, 240, 241, + 242, 243, 244, 0, 0, 23, 24, 25, 26, 27, + 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, + 0, 38, 39, 40, 41, 42, 43, 44, 45, 46, + 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, + 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, + 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, + 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, + 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, + 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, + 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, + 117, 118, 119, 120, 121, 122, 123, 124, 125, 0, + 0, 0, 0, 126, 127, 128, 129, 130, 131, 132, + 133, 245, 179, 134, 180, 246, 247, 248, 249, 250, + 0, 0, 251, 252, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 135, 136, 137, 138, 0, 139, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 145, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 146, + 0, 0, 0, 0, 0, 0, 0, 0, 253, 0, + 0, 0, 0, 0, 254, 255, 256, 257, 17, 18, + 19, 20, 21, 22, 0, 0, 0, 0, 0, 258, + 259, 478, 0, 0, 0, 23, 24, 25, 26, 27, + 28, 29, 30, 31, 32, 33, 34, 35, 176, 177, + 0, 178, 39, 40, 41, 42, 43, 44, 45, 46, + 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, + 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, + 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, + 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, + 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, + 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, + 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, + 117, 118, 119, 120, 121, 122, 123, 124, 125, 0, + 0, 0, 0, 126, 127, 128, 129, 130, 131, 132, + 133, 0, 0, 134, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 181, 136, 137, 138, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 145, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 146, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 17, 18, 19, 20, 21, + 22, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 326, 23, 24, 25, 26, 27, 28, 29, 30, + 31, 32, 33, 34, 35, 176, 177, 0, 178, 39, + 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, + 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, + 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, + 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, + 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, + 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, + 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, + 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, + 120, 121, 122, 123, 124, 125, 0, 0, 0, 0, + 126, 127, 128, 129, 130, 131, 132, 133, 0, 0, + 134, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 181, 136, + 137, 138, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 145, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 146, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, + 18, 19, 20, 21, 22, 237, 238, 239, 411, 240, + 241, 242, 243, 244, 514, 515, 23, 24, 25, 26, + 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, + 37, 0, 38, 39, 40, 41, 42, 43, 44, 45, + 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, + 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, + 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, + 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, + 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, + 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, + 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, + 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, + 0, 0, 0, 0, 126, 127, 128, 129, 130, 131, + 132, 133, 245, 179, 134, 180, 246, 247, 248, 249, + 250, 0, 0, 251, 252, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 136, 137, 138, 139, 140, - 0, 141, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 147, 0, 0, 0, 0, 0, + 0, 0, 135, 136, 137, 138, 0, 139, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 145, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 259, 0, 0, 0, 0, 0, 260, 261, 262, - 263, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 264, 265, 400, 17, 18, 19, 20, 21, - 22, 243, 244, 245, 0, 246, 247, 248, 249, 250, + 146, 0, 0, 0, 0, 0, 0, 0, 0, 253, + 0, 0, 0, 0, 0, 254, 255, 256, 257, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 258, 259, 17, 18, 19, 20, 21, 22, 237, 238, + 239, 0, 240, 241, 242, 243, 244, 0, 0, 23, + 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, + 34, 35, 36, 37, 0, 38, 39, 40, 41, 42, + 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, + 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, + 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, + 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, + 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, + 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, + 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, + 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, + 123, 124, 125, 0, 0, 0, 0, 126, 127, 128, + 129, 130, 131, 132, 133, 245, 179, 134, 180, 246, + 247, 248, 249, 250, 0, 0, 251, 252, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 135, 136, 137, 138, 0, + 139, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 145, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 146, 0, 0, 0, 0, 0, 0, + 0, 0, 253, 0, 0, 0, 0, 0, 254, 255, + 256, 257, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 258, 259, 17, 18, 19, 20, 21, + 22, 237, 238, 239, 0, 240, 241, 242, 243, 244, 0, 0, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 0, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, @@ -1259,22 +1378,22 @@ static const yytype_int16 yytable[] = 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, - 120, 121, 122, 123, 124, 125, 126, 0, 0, 0, - 0, 127, 128, 129, 130, 131, 132, 133, 134, 251, - 180, 135, 181, 252, 253, 254, 255, 256, 0, 0, - 257, 258, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 136, - 137, 138, 139, 140, 0, 141, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 147, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 120, 121, 122, 123, 124, 125, 0, 0, 0, 0, + 126, 127, 128, 129, 130, 131, 132, 133, 245, 179, + 134, 180, 246, 247, 248, 249, 250, 0, 0, 251, + 252, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 135, 136, + 137, 138, 0, 139, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 145, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 259, 0, 0, 0, 0, - 0, 260, 261, 262, 263, 17, 18, 19, 20, 21, - 22, 0, 0, 0, 0, 0, 264, 265, 485, 0, + 0, 0, 0, 0, 0, 0, 146, 0, 0, 0, + 0, 0, 0, 0, 0, 253, 0, 0, 0, 0, + 0, 254, 255, 256, 257, 17, 18, 19, 20, 21, + 22, 0, 0, 0, 0, 0, 258, 194, 0, 0, 0, 0, 23, 24, 25, 26, 27, 28, 29, 30, - 31, 32, 33, 34, 35, 177, 178, 0, 179, 39, + 31, 32, 33, 34, 35, 36, 37, 0, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, @@ -1283,21 +1402,45 @@ static const yytype_int16 yytable[] = 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, - 120, 121, 122, 123, 124, 125, 126, 0, 0, 0, - 0, 127, 128, 129, 130, 131, 132, 133, 134, 0, - 0, 135, 0, 0, 0, 0, 0, 0, 0, 0, + 120, 121, 122, 123, 124, 125, 0, 0, 0, 0, + 126, 127, 128, 129, 130, 131, 132, 133, 0, 179, + 134, 180, 246, 247, 248, 249, 250, 0, 0, 251, + 252, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 135, 136, + 137, 138, 0, 139, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 145, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 146, 0, 0, 0, + 0, 0, 0, 0, 0, 253, 0, 0, 0, 0, + 0, 254, 255, 256, 257, 19, 20, 21, 22, 0, + 0, 0, 0, 0, 0, 0, 258, 0, 0, 0, + 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, + 33, 34, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 43, 44, 45, 46, 47, 48, 49, 50, 51, + 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, + 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, + 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, + 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, + 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, + 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, + 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, + 122, 123, 124, 125, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 131, 132, 133, 0, 179, 134, 180, + 246, 247, 248, 249, 250, 0, 0, 251, 252, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 182, - 183, 138, 139, 140, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 147, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 17, 18, 19, 20, - 21, 22, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 23, 24, 25, 26, 27, 28, 29, - 30, 31, 32, 33, 34, 35, 177, 178, 333, 179, - 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 19, 20, + 21, 22, 0, 253, 0, 0, 0, 0, 0, 254, + 255, 256, 257, 23, 24, 25, 26, 27, 28, 29, + 30, 31, 32, 33, 34, 398, 506, 0, 0, 0, + 0, 0, 0, 0, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, @@ -1305,119 +1448,134 @@ static const yytype_int16 yytable[] = 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, - 119, 120, 121, 122, 123, 124, 125, 126, 0, 0, - 0, 0, 127, 128, 129, 130, 131, 132, 133, 134, - 0, 0, 135, 0, 0, 0, 0, 0, 0, 0, + 119, 120, 121, 122, 123, 124, 125, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 131, 132, 133, 0, + 179, 134, 180, 246, 247, 248, 249, 250, 0, 0, + 251, 252, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 182, 183, 138, 139, 140, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 147, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 17, 18, 19, - 20, 21, 22, 243, 244, 245, 0, 246, 247, 248, - 249, 250, 521, 522, 23, 24, 25, 26, 27, 28, - 29, 30, 31, 32, 33, 34, 35, 36, 37, 418, - 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, - 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, - 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, - 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, - 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, - 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, - 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, - 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, - 118, 119, 120, 121, 122, 123, 124, 125, 126, 0, - 0, 0, 0, 127, 128, 129, 130, 131, 132, 133, - 134, 251, 180, 135, 181, 252, 253, 254, 255, 256, - 0, 0, 257, 258, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 136, 137, 138, 139, 140, 0, 141, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 147, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 19, 20, 21, 22, 0, 253, 0, 0, 0, + 0, 0, 254, 255, 256, 257, 23, 24, 25, 26, + 27, 28, 29, 30, 31, 32, 33, 34, 398, 0, + 0, 0, 0, 0, 0, 0, 0, 43, 44, 45, + 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, + 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, + 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, + 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, + 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, + 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, + 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, + 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 131, + 132, 133, 0, 179, 134, 180, 246, 247, 248, 249, + 250, 0, 0, 251, 252, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 259, 0, 0, - 0, 0, 0, 260, 261, 262, 263, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 264, 265, - 17, 18, 19, 20, 21, 22, 243, 244, 245, 0, - 246, 247, 248, 249, 250, 0, 0, 23, 24, 25, - 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, - 36, 37, 0, 38, 39, 40, 41, 42, 43, 44, - 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, - 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, - 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, - 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, - 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, - 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, - 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, - 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, - 125, 126, 0, 0, 0, 0, 127, 128, 129, 130, - 131, 132, 133, 134, 251, 180, 135, 181, 252, 253, - 254, 255, 256, 0, 0, 257, 258, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 136, 137, 138, 139, 140, 0, - 141, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 147, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 253, + 0, 0, 0, 0, 0, 254, 255, 256, 257, 17, + 18, 19, 20, 21, 22, 0, 0, 0, 0, 0, + 339, 0, 0, 0, 0, 0, 23, 24, 25, 26, + 27, 28, 29, 30, 31, 32, 33, 34, 35, 176, + 177, 0, 178, 39, 40, 41, 42, 43, 44, 45, + 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, + 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, + 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, + 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, + 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, + 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, + 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, + 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, + 0, 0, 0, 0, 126, 127, 128, 129, 130, 131, + 132, 133, 0, 179, 134, 180, 246, 247, 248, 249, + 250, 0, 0, 251, 252, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 259, 0, 0, 0, 0, 0, 260, 261, 262, 263, + 0, 0, 181, 136, 137, 138, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 264, 265, 17, 18, 19, 20, 21, 22, 243, - 244, 245, 0, 246, 247, 248, 249, 250, 0, 0, - 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, - 33, 34, 35, 36, 37, 0, 38, 39, 40, 41, - 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, - 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, - 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, - 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, - 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, - 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, - 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, - 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, - 122, 123, 124, 125, 126, 0, 0, 0, 0, 127, - 128, 129, 130, 131, 132, 133, 134, 251, 180, 135, - 181, 252, 253, 254, 255, 256, 0, 0, 257, 258, + 145, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 136, 137, 138, - 139, 140, 0, 141, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 147, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 146, 0, 0, 0, 19, 20, 21, 22, 0, 253, + 0, 0, 0, 0, 0, 254, 255, 256, 257, 23, + 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, + 34, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, + 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, + 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, + 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, + 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, + 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, + 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, + 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, + 123, 124, 125, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 131, 132, 133, 0, 179, 134, 180, 246, + 247, 248, 249, 250, 0, 0, 251, 252, 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, 259, 0, 0, 0, 0, 0, 260, - 261, 262, 263, 17, 18, 19, 20, 21, 22, 0, - 0, 0, 0, 0, 264, 199, 0, 0, 0, 0, - 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, - 33, 34, 35, 36, 37, 0, 38, 39, 40, 41, - 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, - 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, - 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, - 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, - 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, - 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, - 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, - 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, - 122, 123, 124, 125, 126, 0, 0, 0, 0, 127, - 128, 129, 130, 131, 132, 133, 134, 0, 180, 135, - 181, 252, 253, 254, 255, 256, 0, 0, 257, 258, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 136, 137, 138, - 139, 140, 0, 141, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 147, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 259, 0, 0, 0, 0, 0, 260, - 261, 262, 263, 19, 20, 21, 22, 0, 0, 0, - 0, 0, 0, 0, 264, 0, 0, 0, 23, 24, - 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, + 0, 0, 0, 0, 0, 0, 0, 19, 20, 21, + 22, 0, 253, 0, 0, 315, 0, 0, 254, 255, + 256, 257, 23, 24, 25, 26, 27, 28, 29, 30, + 31, 32, 33, 34, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 43, 44, 45, 46, 47, 48, 49, + 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, + 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, + 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, + 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, + 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, + 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, + 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, + 120, 121, 122, 123, 124, 125, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 131, 132, 133, 0, 179, + 134, 180, 246, 247, 248, 249, 250, 0, 0, 251, + 252, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 19, 20, 21, 22, 0, 253, 0, 0, 403, 0, + 0, 254, 255, 256, 257, 23, 24, 25, 26, 27, + 28, 29, 30, 31, 32, 33, 34, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 43, 44, 45, 46, + 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, + 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, + 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, + 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, + 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, + 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, + 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, + 117, 118, 119, 120, 121, 122, 123, 124, 125, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 131, 132, + 133, 0, 179, 134, 180, 246, 247, 248, 249, 250, + 0, 0, 251, 252, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 19, 20, 21, 22, 0, 253, 0, + 0, 0, 0, 0, 254, 255, 256, 257, 23, 24, + 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, @@ -1426,9 +1584,9 @@ static const yytype_int16 yytable[] = 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, - 124, 125, 126, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 132, 133, 134, 0, 180, 135, 181, 252, - 253, 254, 255, 256, 0, 0, 257, 258, 0, 0, + 124, 125, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 131, 132, 355, 0, 179, 134, 180, 246, 247, + 248, 249, 250, 0, 0, 251, 252, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -1437,10 +1595,10 @@ static const yytype_int16 yytable[] = 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 19, 20, 21, 22, - 0, 259, 0, 0, 0, 0, 0, 260, 261, 262, - 263, 23, 24, 25, 26, 27, 28, 29, 30, 31, - 32, 33, 34, 405, 513, 0, 0, 0, 0, 0, - 0, 0, 0, 44, 45, 46, 47, 48, 49, 50, + 0, 253, 0, 0, 0, 0, 0, 254, 255, 256, + 257, 23, 24, 25, 26, 27, 28, 29, 30, 31, + 32, 33, 34, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, @@ -1448,32 +1606,9 @@ static const yytype_int16 yytable[] = 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, - 121, 122, 123, 124, 125, 126, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 132, 133, 134, 0, 180, - 135, 181, 252, 253, 254, 255, 256, 0, 0, 257, - 258, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 19, - 20, 21, 22, 0, 259, 0, 0, 0, 0, 0, - 260, 261, 262, 263, 23, 24, 25, 26, 27, 28, - 29, 30, 31, 32, 33, 34, 405, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 44, 45, 46, 47, - 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, - 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, - 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, - 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, - 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, - 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, - 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, - 118, 119, 120, 121, 122, 123, 124, 125, 126, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 132, 133, - 134, 0, 180, 135, 181, 252, 253, 254, 255, 256, - 0, 0, 257, 258, 0, 0, 0, 0, 0, 0, + 121, 122, 123, 124, 125, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 131, 132, 484, 0, 179, 134, + 180, 246, 247, 248, 249, 250, 0, 0, 251, 252, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -1481,12 +1616,11 @@ static const yytype_int16 yytable[] = 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 259, 0, 0, - 0, 0, 0, 260, 261, 262, 263, 17, 18, 19, - 20, 21, 22, 0, 0, 0, 0, 0, 346, 0, - 0, 0, 0, 0, 23, 24, 25, 26, 27, 28, - 29, 30, 31, 32, 33, 34, 35, 177, 178, 0, - 179, 39, 40, 41, 42, 43, 44, 45, 46, 47, + 0, 0, 0, 0, 0, 0, 0, 17, 18, 19, + 20, 21, 22, 0, 253, 0, 0, 0, 0, 0, + 254, 255, 256, 257, 23, 24, 25, 26, 27, 28, + 29, 30, 31, 32, 33, 34, 35, 36, 37, 0, + 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, @@ -1494,100 +1628,51 @@ static const yytype_int16 yytable[] = 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, - 118, 119, 120, 121, 122, 123, 124, 125, 126, 0, - 0, 0, 0, 127, 128, 129, 130, 131, 132, 133, - 134, 0, 180, 135, 181, 252, 253, 254, 255, 256, - 0, 0, 257, 258, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 182, 183, 138, 139, 140, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 147, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 19, 20, 21, 22, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 23, 24, 25, 26, 27, - 28, 29, 30, 31, 32, 33, 34, 259, 0, 0, - 0, 0, 0, 260, 261, 262, 263, 44, 45, 46, - 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, - 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, - 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, - 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, - 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, - 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, - 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, - 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 132, - 133, 134, 0, 180, 135, 181, 252, 253, 254, 255, - 256, 0, 0, 257, 258, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 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, 19, 20, 21, 22, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 23, 24, 25, 26, - 27, 28, 29, 30, 31, 32, 33, 34, 259, 0, - 0, 322, 0, 0, 260, 261, 262, 263, 44, 45, - 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, - 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, - 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, - 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, - 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, - 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, - 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, - 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, - 126, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 132, 133, 134, 0, 180, 135, 181, 252, 253, 254, - 255, 256, 0, 0, 257, 258, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 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, 19, 20, 21, 22, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 23, 24, 25, - 26, 27, 28, 29, 30, 31, 32, 33, 34, 259, - 0, 0, 410, 0, 0, 260, 261, 262, 263, 44, - 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, - 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, - 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, - 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, - 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, - 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, - 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, - 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, - 125, 126, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 132, 133, 134, 0, 180, 135, 181, 252, 253, - 254, 255, 256, 0, 0, 257, 258, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 118, 119, 120, 121, 122, 123, 124, 125, 0, 0, + 0, 0, 126, 127, 128, 129, 130, 131, 132, 133, + 0, 0, 134, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 135, 136, 137, 138, 0, 139, 0, 0, 0, 0, + 0, 0, 0, 140, 141, 142, 143, 144, 145, 0, + 0, 0, 0, 0, 0, 0, 17, 18, 19, 20, + 21, 22, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 23, 24, 25, 26, 27, 28, 29, + 30, 31, 32, 33, 34, 35, 176, 177, 146, 178, + 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, + 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, + 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, + 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, + 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, + 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, + 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, + 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, + 119, 120, 121, 122, 123, 124, 125, 17, 18, 0, + 0, 126, 127, 128, 129, 130, 131, 132, 133, 0, + 0, 134, 0, 0, 0, 0, 17, 18, 0, 0, + 0, 0, 0, 0, 0, 0, 35, 176, 177, 0, + 178, 39, 40, 41, 42, 0, 0, 0, 0, 181, + 136, 137, 138, 0, 0, 35, 36, 37, 0, 38, + 39, 40, 41, 42, 0, 0, 0, 145, 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, 19, 20, 21, 22, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 23, 24, - 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, - 259, 0, 0, 0, 0, 0, 260, 261, 262, 263, - 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, - 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, - 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, - 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, - 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, - 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, - 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, - 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, - 124, 125, 126, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 132, 133, 362, 0, 180, 135, 181, 252, - 253, 254, 255, 256, 0, 0, 257, 258, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 146, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 126, 127, 128, 129, 130, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 126, 127, 128, 129, 130, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 181, 136, 137, 138, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 145, 181, + 136, 137, 138, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 145, 0, 0, 0, 0, 0, 0, 19, 20, 21, 22, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 23, + 0, 0, 0, 0, 0, 0, 0, 0, 146, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, - 34, 259, 0, 0, 0, 0, 0, 260, 261, 262, - 263, 44, 45, 46, 47, 48, 49, 50, 51, 52, + 34, 0, 0, 0, 0, 0, 0, 146, 0, 0, + 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, @@ -1595,56 +1680,119 @@ static const yytype_int16 yytable[] = 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, - 123, 124, 125, 126, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 132, 133, 491, 0, 180, 135, 181, - 252, 253, 254, 255, 256, 0, 0, 257, 258, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 17, 18, 19, 20, 21, - 22, 0, 259, 0, 0, 0, 0, 0, 260, 261, - 262, 263, 23, 24, 25, 26, 27, 28, 29, 30, - 31, 32, 33, 34, 35, 36, 37, 0, 38, 39, - 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, - 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, - 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, - 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, - 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, - 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, - 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, - 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, - 120, 121, 122, 123, 124, 125, 126, 0, 0, 0, - 0, 127, 128, 129, 130, 131, 132, 133, 134, 0, - 0, 135, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 136, - 137, 138, 139, 140, 0, 141, 0, 12, 0, 0, - 0, 0, 0, 142, 143, 144, 145, 146, 147, 17, - 18, 19, 20, 21, 22, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 23, 24, 25, 26, - 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, - 37, 0, 38, 39, 40, 41, 42, 43, 44, 45, - 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, - 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, - 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, - 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, - 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, - 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, - 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, - 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, - 126, 0, 0, 0, 0, 127, 128, 129, 130, 131, - 132, 133, 134, 0, 0, 135, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 136, 137, 138, 139, 140, 0, 141, - 17, 18, 19, 20, 21, 22, 0, 142, 143, 144, - 145, 146, 147, 0, 0, 0, 0, 23, 24, 25, - 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, - 177, 178, 0, 179, 39, 40, 41, 42, 43, 44, + 123, 124, 125, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 131, 132, 133, 0, 0, 134 +}; + +static const yytype_int16 yycheck[] = +{ + 13, 239, 13, 243, 4, 4, 174, 210, 18, 19, + 18, 19, 12, 253, 139, 157, 135, 227, 139, 13, + 13, 4, 137, 138, 139, 221, 139, 396, 154, 398, + 269, 235, 401, 0, 33, 34, 35, 156, 3, 4, + 173, 149, 150, 137, 138, 139, 147, 148, 235, 253, + 33, 34, 35, 141, 137, 138, 139, 295, 135, 227, + 235, 229, 137, 138, 139, 238, 253, 32, 33, 34, + 309, 36, 37, 38, 39, 40, 235, 238, 253, 252, + 157, 158, 176, 160, 161, 477, 234, 172, 165, 234, + 238, 238, 461, 238, 253, 256, 176, 337, 238, 238, + 238, 341, 342, 495, 181, 308, 183, 254, 175, 192, + 350, 238, 176, 252, 254, 354, 254, 234, 328, 488, + 323, 238, 254, 255, 320, 251, 238, 254, 176, 254, + 369, 500, 132, 254, 235, 148, 237, 148, 246, 247, + 255, 254, 254, 239, 240, 234, 159, 289, 231, 238, + 390, 139, 391, 321, 148, 148, 156, 396, 139, 398, + 328, 174, 401, 128, 129, 130, 131, 132, 167, 168, + 169, 198, 185, 173, 342, 139, 234, 204, 205, 419, + 238, 194, 233, 194, 167, 168, 169, 145, 146, 427, + 203, 191, 395, 234, 234, 234, 435, 139, 238, 238, + 176, 166, 167, 168, 169, 176, 206, 221, 167, 168, + 169, 153, 289, 176, 227, 238, 229, 151, 152, 184, + 141, 142, 461, 137, 138, 139, 239, 139, 239, 235, + 470, 255, 351, 374, 375, 234, 474, 251, 252, 407, + 243, 244, 245, 233, 483, 176, 256, 486, 256, 488, + 235, 419, 376, 377, 494, 197, 198, 255, 272, 224, + 233, 500, 204, 205, 3, 4, 253, 378, 379, 380, + 381, 233, 382, 383, 514, 513, 254, 254, 233, 254, + 518, 519, 295, 233, 295, 254, 233, 233, 491, 233, + 256, 234, 530, 32, 33, 34, 233, 36, 37, 38, + 39, 40, 250, 248, 153, 305, 320, 155, 321, 249, + 233, 236, 136, 254, 234, 328, 233, 236, 256, 234, + 238, 234, 233, 336, 139, 336, 236, 254, 234, 342, + 234, 255, 332, 12, 347, 384, 347, 156, 157, 158, + 159, 160, 161, 162, 163, 164, 165, 254, 253, 252, + 385, 351, 254, 386, 388, 387, 197, 371, 372, 373, + 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, + 384, 385, 386, 387, 388, 389, 332, 389, 229, 405, + 409, 320, 336, 150, 336, 520, 495, 347, 419, 128, + 129, 130, 131, 132, 407, 518, 148, -1, 137, -1, + 139, -1, 407, -1, -1, -1, 419, -1, -1, -1, + -1, -1, -1, -1, 427, -1, 427, -1, -1, -1, + -1, -1, -1, -1, 424, -1, -1, 166, 167, 168, + 169, -1, -1, -1, 253, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 184, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 474, -1, 474, 477, -1, 477, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 495, -1, 495, 224, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 513, -1, 513, -1, -1, 518, 519, 518, 519, -1, + -1, -1, -1, -1, -1, -1, -1, 530, -1, 530, + 3, 4, 5, 6, 7, 8, 9, 10, 11, -1, + 13, 14, 15, 16, 17, -1, -1, 20, 21, 22, + 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, + 33, 34, -1, 36, 37, 38, 39, 40, 41, 42, + 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, + 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, + 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, + 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, + 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, + 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, + 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, + 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, + 123, -1, -1, -1, -1, 128, 129, 130, 131, 132, + 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, + 143, 144, -1, -1, 147, 148, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 166, 167, 168, 169, -1, 171, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 184, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 224, -1, -1, -1, -1, -1, -1, -1, -1, + 233, -1, -1, -1, -1, -1, 239, 240, 241, 242, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 254, 255, 256, 3, 4, 5, 6, 7, 8, + 9, 10, 11, -1, 13, 14, 15, 16, 17, -1, + -1, 20, 21, 22, 23, 24, 25, 26, 27, 28, + 29, 30, 31, 32, 33, 34, -1, 36, 37, 38, + 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, + 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, + 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, + 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, + 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, + 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, + 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, + 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, + 119, 120, 121, 122, 123, -1, -1, -1, -1, 128, + 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, + 139, 140, 141, 142, 143, 144, -1, -1, 147, 148, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 166, 167, 168, + 169, -1, 171, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 184, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 224, -1, -1, -1, -1, + -1, -1, -1, -1, 233, -1, -1, -1, -1, -1, + 239, 240, 241, 242, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 254, 255, 256, 3, 4, + 5, 6, 7, 8, 9, 10, 11, -1, 13, 14, + 15, 16, 17, -1, -1, 20, 21, 22, 23, 24, + 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, + -1, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, @@ -1652,29 +1800,97 @@ static const yytype_int16 yytable[] = 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, - 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, - 125, 126, 17, 18, 0, 0, 127, 128, 129, 130, - 131, 132, 133, 134, 0, 0, 135, 0, 0, 0, - 0, 0, 17, 18, 0, 0, 0, 0, 0, 0, - 0, 35, 177, 178, 0, 179, 39, 40, 41, 42, - 43, 0, 0, 0, 182, 183, 138, 139, 140, 0, - 0, 35, 36, 37, 0, 38, 39, 40, 41, 42, - 43, 0, 0, 147, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 127, 128, - 129, 130, 131, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 127, 128, - 129, 130, 131, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 182, 183, 138, 139, - 140, 0, 0, 0, 0, 0, 19, 20, 21, 22, - 0, 0, 0, 0, 0, 147, 182, 183, 138, 139, - 140, 23, 24, 25, 26, 27, 28, 29, 30, 31, - 32, 33, 34, 0, 0, 147, 0, 0, 0, 0, - 0, 0, 0, 44, 45, 46, 47, 48, 49, 50, + 115, 116, 117, 118, 119, 120, 121, 122, 123, -1, + -1, -1, -1, 128, 129, 130, 131, 132, 133, 134, + 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, + -1, -1, 147, 148, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 166, 167, 168, 169, -1, 171, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 184, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 224, + -1, -1, -1, -1, -1, -1, -1, -1, 233, -1, + -1, -1, -1, -1, 239, 240, 241, 242, 3, 4, + 5, 6, 7, 8, -1, -1, -1, -1, -1, 254, + 255, 256, -1, -1, -1, 20, 21, 22, 23, 24, + 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, + -1, 36, 37, 38, 39, 40, 41, 42, 43, 44, + 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, + 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, + 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, + 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, + 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, + 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, + 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, + 115, 116, 117, 118, 119, 120, 121, 122, 123, -1, + -1, -1, -1, 128, 129, 130, 131, 132, 133, 134, + 135, -1, -1, 138, -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, 166, 167, 168, 169, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 184, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 224, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 3, 4, 5, 6, 7, + 8, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 256, 20, 21, 22, 23, 24, 25, 26, 27, + 28, 29, 30, 31, 32, 33, 34, -1, 36, 37, + 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, + 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, + 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, + 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, + 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, + 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, + 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, + 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, + 118, 119, 120, 121, 122, 123, -1, -1, -1, -1, + 128, 129, 130, 131, 132, 133, 134, 135, -1, -1, + 138, -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, 166, 167, + 168, 169, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 184, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 224, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 3, + 4, 5, 6, 7, 8, 9, 10, 11, 256, 13, + 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, + 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, + 34, -1, 36, 37, 38, 39, 40, 41, 42, 43, + 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, + 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, + 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, + 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, + 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, + 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, + 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, + 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, + -1, -1, -1, -1, 128, 129, 130, 131, 132, 133, + 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, + 144, -1, -1, 147, 148, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 166, 167, 168, 169, -1, 171, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 184, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 224, -1, -1, -1, -1, -1, -1, -1, -1, 233, + -1, -1, -1, -1, -1, 239, 240, 241, 242, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 254, 255, 3, 4, 5, 6, 7, 8, 9, 10, + 11, -1, 13, 14, 15, 16, 17, -1, -1, 20, + 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, + 31, 32, 33, 34, -1, 36, 37, 38, 39, 40, + 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, @@ -1682,117 +1898,20 @@ static const yytype_int16 yytable[] = 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, - 121, 122, 123, 124, 125, 126, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 132, 133, 134, 0, 0, - 135 -}; - -static const yytype_int16 yycheck[] = -{ - 13, 245, 13, 4, 175, 216, 158, 249, 18, 19, - 13, 12, 18, 19, 13, 4, 140, 259, 136, 137, - 140, 140, 227, 138, 139, 140, 136, 137, 238, 403, - 155, 405, 235, 234, 408, 233, 4, 238, 275, 157, - 148, 149, 252, 235, 33, 34, 35, 238, 158, 159, - 253, 161, 162, 138, 139, 140, 166, 301, 138, 139, - 140, 253, 233, 254, 235, 33, 34, 35, 385, 386, - 387, 388, 182, 183, 235, 185, 174, 235, 0, 316, - 484, 157, 158, 159, 160, 161, 162, 163, 164, 165, - 166, 238, 253, 178, 468, 253, 150, 151, 502, 238, - 238, 238, 344, 175, 315, 142, 348, 349, 178, 256, - 254, 255, 238, 252, 194, 357, 254, 254, 177, 330, - 234, 495, 327, 140, 361, 238, 251, 235, 254, 237, - 254, 178, 133, 507, 254, 254, 149, 335, 149, 376, - 255, 254, 140, 295, 234, 203, 149, 160, 238, 207, - 149, 231, 210, 211, 140, 397, 157, 328, 235, 234, - 178, 398, 175, 238, 335, 234, 403, 233, 405, 238, - 234, 408, 255, 174, 238, 238, 189, 253, 349, 168, - 169, 170, 171, 234, 426, 295, 199, 238, 199, 140, - 434, 402, 246, 247, 195, 234, 209, 239, 240, 238, - 168, 169, 170, 171, 178, 442, 138, 139, 140, 146, - 147, 212, 169, 170, 171, 138, 139, 140, 227, 178, - 233, 233, 235, 243, 244, 245, 152, 153, 142, 143, - 178, 468, 245, 233, 245, 477, 233, 481, 381, 382, - 358, 383, 384, 414, 235, 234, 256, 255, 257, 258, - 256, 178, 254, 490, 233, 426, 493, 253, 495, 501, - 389, 390, 254, 233, 254, 141, 254, 3, 4, 278, - 507, 233, 233, 256, 234, 233, 520, 233, 154, 521, - 249, 525, 526, 248, 250, 154, 156, 498, 301, 233, - 301, 254, 137, 537, 236, 234, 32, 33, 34, 233, - 36, 37, 38, 39, 40, 41, 236, 256, 236, 238, - 234, 312, 233, 140, 234, 328, 3, 4, 327, 254, - 253, 234, 335, 234, 255, 149, 202, 203, 12, 254, - 343, 207, 343, 252, 210, 211, 349, 254, 339, 391, - 393, 354, 392, 354, 202, 32, 33, 34, 394, 36, - 37, 38, 39, 40, 41, 395, 327, 358, 396, 339, - 235, 416, 343, 412, 151, 343, 502, 354, 525, 378, - 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, - 389, 390, 391, 392, 393, 394, 395, 396, 149, 414, - 426, -1, 527, 129, 130, 131, 132, 133, -1, -1, - -1, 414, 138, -1, 140, -1, -1, -1, -1, -1, - -1, -1, -1, 426, -1, -1, -1, -1, -1, -1, - -1, 434, -1, 434, -1, -1, -1, -1, -1, -1, - 431, 167, 168, 169, 170, 171, -1, -1, -1, -1, - -1, -1, 129, 130, 131, 132, 133, -1, -1, -1, - 186, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 481, -1, - 481, 484, -1, 484, -1, -1, -1, -1, -1, -1, - 167, 168, 169, 170, 171, -1, -1, -1, -1, 502, - -1, 502, -1, -1, -1, -1, -1, -1, -1, 186, - -1, -1, -1, -1, -1, -1, -1, 520, -1, 520, - -1, -1, 525, 526, 525, 526, -1, -1, -1, -1, - -1, -1, -1, -1, 537, -1, 537, 3, 4, 5, - 6, 7, 8, 9, 10, 11, -1, 13, 14, 15, - 16, 17, -1, -1, 20, 21, 22, 23, 24, 25, - 26, 27, 28, 29, 30, 31, 32, 33, 34, -1, - 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, - 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, - 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, - 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, - 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, - 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, - 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, - 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, - 116, 117, 118, 119, 120, 121, 122, 123, 124, -1, - -1, -1, -1, 129, 130, 131, 132, 133, 134, 135, - 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, - -1, -1, 148, 149, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 167, 168, 169, 170, 171, -1, 173, -1, -1, + 121, 122, 123, -1, -1, -1, -1, 128, 129, 130, + 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, + 141, 142, 143, 144, -1, -1, 147, 148, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 186, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 166, 167, 168, 169, -1, + 171, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 184, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 233, -1, -1, - -1, -1, -1, 239, 240, 241, 242, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 254, 255, - 256, 3, 4, 5, 6, 7, 8, 9, 10, 11, - -1, 13, 14, 15, 16, 17, -1, -1, 20, 21, - 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, - 32, 33, 34, -1, 36, 37, 38, 39, 40, 41, - 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, - 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, - 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, - 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, - 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, - 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, - 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, - 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, - 122, 123, 124, -1, -1, -1, -1, 129, 130, 131, - 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, - 142, 143, 144, 145, -1, -1, 148, 149, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 167, 168, 169, 170, 171, - -1, 173, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 186, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 233, -1, -1, -1, -1, -1, 239, 240, 241, - 242, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 254, 255, 256, 3, 4, 5, 6, 7, + -1, -1, -1, 224, -1, -1, -1, -1, -1, -1, + -1, -1, 233, -1, -1, -1, -1, -1, 239, 240, + 241, 242, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 254, 255, 3, 4, 5, 6, 7, 8, 9, 10, 11, -1, 13, 14, 15, 16, 17, -1, -1, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, -1, 36, 37, @@ -1804,20 +1923,20 @@ static const yytype_int16 yycheck[] = 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, - 118, 119, 120, 121, 122, 123, 124, -1, -1, -1, - -1, 129, 130, 131, 132, 133, 134, 135, 136, 137, - 138, 139, 140, 141, 142, 143, 144, 145, -1, -1, - 148, 149, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 167, - 168, 169, 170, 171, -1, 173, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 186, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 118, 119, 120, 121, 122, 123, -1, -1, -1, -1, + 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, + 138, 139, 140, 141, 142, 143, 144, -1, -1, 147, + 148, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 166, 167, + 168, 169, -1, 171, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 184, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 224, -1, -1, -1, -1, -1, -1, -1, -1, 233, -1, -1, -1, -1, -1, 239, 240, 241, 242, 3, 4, 5, 6, 7, - 8, -1, -1, -1, -1, -1, 254, 255, 256, -1, + 8, -1, -1, -1, -1, -1, 254, 255, -1, -1, -1, -1, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, -1, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, @@ -1828,21 +1947,45 @@ static const yytype_int16 yycheck[] = 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, - 118, 119, 120, 121, 122, 123, 124, -1, -1, -1, - -1, 129, 130, 131, 132, 133, 134, 135, 136, -1, - -1, 139, -1, -1, -1, -1, -1, -1, -1, -1, + 118, 119, 120, 121, 122, 123, -1, -1, -1, -1, + 128, 129, 130, 131, 132, 133, 134, 135, -1, 137, + 138, 139, 140, 141, 142, 143, 144, -1, -1, 147, + 148, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 166, 167, + 168, 169, -1, 171, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 184, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 167, - 168, 169, 170, 171, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 186, -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, 224, -1, -1, -1, + -1, -1, -1, -1, -1, 233, -1, -1, -1, -1, + -1, 239, 240, 241, 242, 5, 6, 7, 8, -1, + -1, -1, -1, -1, -1, -1, 254, -1, -1, -1, + 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, + 30, 31, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 41, 42, 43, 44, 45, 46, 47, 48, 49, + 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, + 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, + 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, + 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, + 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, + 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, + 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, + 120, 121, 122, 123, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 133, 134, 135, -1, 137, 138, 139, + 140, 141, 142, 143, 144, -1, -1, 147, 148, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 3, 4, 5, 6, - 7, 8, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 20, 21, 22, 23, 24, 25, 26, - 27, 28, 29, 30, 31, 32, 33, 34, 256, 36, - 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 5, 6, + 7, 8, -1, 233, -1, -1, -1, -1, -1, 239, + 240, 241, 242, 20, 21, 22, 23, 24, 25, 26, + 27, 28, 29, 30, 31, 255, 256, -1, -1, -1, + -1, -1, -1, -1, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, @@ -1850,119 +1993,134 @@ static const yytype_int16 yycheck[] = 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, - 117, 118, 119, 120, 121, 122, 123, 124, -1, -1, - -1, -1, 129, 130, 131, 132, 133, 134, 135, 136, - -1, -1, 139, -1, -1, -1, -1, -1, -1, -1, + 117, 118, 119, 120, 121, 122, 123, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 133, 134, 135, -1, + 137, 138, 139, 140, 141, 142, 143, 144, -1, -1, + 147, 148, -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, - 167, 168, 169, 170, 171, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 186, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 3, 4, 5, - 6, 7, 8, 9, 10, 11, -1, 13, 14, 15, - 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, - 26, 27, 28, 29, 30, 31, 32, 33, 34, 256, - 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, - 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, - 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, - 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, - 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, - 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, - 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, - 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, - 116, 117, 118, 119, 120, 121, 122, 123, 124, -1, - -1, -1, -1, 129, 130, 131, 132, 133, 134, 135, - 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, - -1, -1, 148, 149, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 167, 168, 169, 170, 171, -1, 173, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 186, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 5, 6, 7, 8, -1, 233, -1, -1, -1, + -1, -1, 239, 240, 241, 242, 20, 21, 22, 23, + 24, 25, 26, 27, 28, 29, 30, 31, 255, -1, + -1, -1, -1, -1, -1, -1, -1, 41, 42, 43, + 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, + 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, + 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, + 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, + 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, + 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, + 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, + 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 133, + 134, 135, -1, 137, 138, 139, 140, 141, 142, 143, + 144, -1, -1, 147, 148, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 233, -1, -1, - -1, -1, -1, 239, 240, 241, 242, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 254, 255, - 3, 4, 5, 6, 7, 8, 9, 10, 11, -1, - 13, 14, 15, 16, 17, -1, -1, 20, 21, 22, - 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, - 33, 34, -1, 36, 37, 38, 39, 40, 41, 42, - 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, - 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, - 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, - 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, - 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, - 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, - 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, - 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, - 123, 124, -1, -1, -1, -1, 129, 130, 131, 132, - 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, - 143, 144, 145, -1, -1, 148, 149, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 167, 168, 169, 170, 171, -1, - 173, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 186, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 233, + -1, -1, -1, -1, -1, 239, 240, 241, 242, 3, + 4, 5, 6, 7, 8, -1, -1, -1, -1, -1, + 254, -1, -1, -1, -1, -1, 20, 21, 22, 23, + 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, + 34, -1, 36, 37, 38, 39, 40, 41, 42, 43, + 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, + 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, + 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, + 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, + 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, + 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, + 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, + 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, + -1, -1, -1, -1, 128, 129, 130, 131, 132, 133, + 134, 135, -1, 137, 138, 139, 140, 141, 142, 143, + 144, -1, -1, 147, 148, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 233, -1, -1, -1, -1, -1, 239, 240, 241, 242, + -1, -1, 166, 167, 168, 169, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 254, 255, 3, 4, 5, 6, 7, 8, 9, - 10, 11, -1, 13, 14, 15, 16, 17, -1, -1, - 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, - 30, 31, 32, 33, 34, -1, 36, 37, 38, 39, - 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, - 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, - 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, - 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, - 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, - 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, - 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, - 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, - 120, 121, 122, 123, 124, -1, -1, -1, -1, 129, - 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, - 140, 141, 142, 143, 144, 145, -1, -1, 148, 149, + 184, -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, 167, 168, 169, - 170, 171, -1, 173, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 186, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 224, -1, -1, -1, 5, 6, 7, 8, -1, 233, + -1, -1, -1, -1, -1, 239, 240, 241, 242, 20, + 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, + 31, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, + 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, + 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, + 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, + 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, + 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, + 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, + 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, + 121, 122, 123, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 133, 134, 135, -1, 137, 138, 139, 140, + 141, 142, 143, 144, -1, -1, 147, 148, -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, 233, -1, -1, -1, -1, -1, 239, - 240, 241, 242, 3, 4, 5, 6, 7, 8, -1, - -1, -1, -1, -1, 254, 255, -1, -1, -1, -1, - 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, - 30, 31, 32, 33, 34, -1, 36, 37, 38, 39, - 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, - 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, - 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, - 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, - 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, - 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, - 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, - 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, - 120, 121, 122, 123, 124, -1, -1, -1, -1, 129, - 130, 131, 132, 133, 134, 135, 136, -1, 138, 139, - 140, 141, 142, 143, 144, 145, -1, -1, 148, 149, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 167, 168, 169, - 170, 171, -1, 173, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 186, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 233, -1, -1, -1, -1, -1, 239, - 240, 241, 242, 5, 6, 7, 8, -1, -1, -1, - -1, -1, -1, -1, 254, -1, -1, -1, 20, 21, - 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, + -1, -1, -1, -1, -1, -1, -1, 5, 6, 7, + 8, -1, 233, -1, -1, 236, -1, -1, 239, 240, + 241, 242, 20, 21, 22, 23, 24, 25, 26, 27, + 28, 29, 30, 31, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 41, 42, 43, 44, 45, 46, 47, + 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, + 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, + 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, + 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, + 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, + 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, + 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, + 118, 119, 120, 121, 122, 123, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 133, 134, 135, -1, 137, + 138, 139, 140, 141, 142, 143, 144, -1, -1, 147, + 148, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 5, 6, 7, 8, -1, 233, -1, -1, 236, -1, + -1, 239, 240, 241, 242, 20, 21, 22, 23, 24, + 25, 26, 27, 28, 29, 30, 31, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 41, 42, 43, 44, + 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, + 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, + 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, + 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, + 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, + 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, + 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, + 115, 116, 117, 118, 119, 120, 121, 122, 123, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 133, 134, + 135, -1, 137, 138, 139, 140, 141, 142, 143, 144, + -1, -1, 147, 148, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 5, 6, 7, 8, -1, 233, -1, + -1, -1, -1, -1, 239, 240, 241, 242, 20, 21, + 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, @@ -1971,9 +2129,9 @@ static const yytype_int16 yycheck[] = 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, - 122, 123, 124, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 134, 135, 136, -1, 138, 139, 140, 141, - 142, 143, 144, 145, -1, -1, 148, 149, -1, -1, + 122, 123, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 133, 134, 135, -1, 137, 138, 139, 140, 141, + 142, 143, 144, -1, -1, 147, 148, -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, @@ -1984,8 +2142,8 @@ static const yytype_int16 yycheck[] = -1, -1, -1, -1, -1, -1, 5, 6, 7, 8, -1, 233, -1, -1, -1, -1, -1, 239, 240, 241, 242, 20, 21, 22, 23, 24, 25, 26, 27, 28, - 29, 30, 31, 255, 256, -1, -1, -1, -1, -1, - -1, -1, -1, 42, 43, 44, 45, 46, 47, 48, + 29, 30, 31, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, @@ -1993,43 +2151,19 @@ static const yytype_int16 yycheck[] = 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, - 119, 120, 121, 122, 123, 124, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 134, 135, 136, -1, 138, - 139, 140, 141, 142, 143, 144, 145, -1, -1, 148, - 149, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 119, 120, 121, 122, 123, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 133, 134, 135, -1, 137, 138, + 139, 140, 141, 142, 143, 144, -1, -1, 147, 148, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 5, + -1, -1, -1, -1, -1, -1, -1, 3, 4, 5, 6, 7, 8, -1, 233, -1, -1, -1, -1, -1, 239, 240, 241, 242, 20, 21, 22, 23, 24, 25, - 26, 27, 28, 29, 30, 31, 255, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 42, 43, 44, 45, - 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, - 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, - 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, - 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, - 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, - 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, - 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, - 116, 117, 118, 119, 120, 121, 122, 123, 124, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 134, 135, - 136, -1, 138, 139, 140, 141, 142, 143, 144, 145, - -1, -1, 148, 149, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 233, -1, -1, - -1, -1, -1, 239, 240, 241, 242, 3, 4, 5, - 6, 7, 8, -1, -1, -1, -1, -1, 254, -1, - -1, -1, -1, -1, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, -1, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, @@ -2039,100 +2173,51 @@ static const yytype_int16 yycheck[] = 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, - 116, 117, 118, 119, 120, 121, 122, 123, 124, -1, - -1, -1, -1, 129, 130, 131, 132, 133, 134, 135, - 136, -1, 138, 139, 140, 141, 142, 143, 144, 145, - -1, -1, 148, 149, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 167, 168, 169, 170, 171, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 186, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 5, 6, 7, 8, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 20, 21, 22, 23, 24, - 25, 26, 27, 28, 29, 30, 31, 233, -1, -1, - -1, -1, -1, 239, 240, 241, 242, 42, 43, 44, - 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, - 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, - 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, - 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, - 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, - 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, - 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, - 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 134, - 135, 136, -1, 138, 139, 140, 141, 142, 143, 144, - 145, -1, -1, 148, 149, -1, -1, -1, -1, -1, + 116, 117, 118, 119, 120, 121, 122, 123, -1, -1, + -1, -1, 128, 129, 130, 131, 132, 133, 134, 135, + -1, -1, 138, -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, + 166, 167, 168, 169, -1, 171, -1, -1, -1, -1, + -1, -1, -1, 179, 180, 181, 182, 183, 184, -1, + -1, -1, -1, -1, -1, -1, 3, 4, 5, 6, + 7, 8, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 20, 21, 22, 23, 24, 25, 26, + 27, 28, 29, 30, 31, 32, 33, 34, 224, 36, + 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, + 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, + 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, + 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, + 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, + 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, + 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, + 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, + 117, 118, 119, 120, 121, 122, 123, 3, 4, -1, + -1, 128, 129, 130, 131, 132, 133, 134, 135, -1, + -1, 138, -1, -1, -1, -1, 3, 4, -1, -1, + -1, -1, -1, -1, -1, -1, 32, 33, 34, -1, + 36, 37, 38, 39, 40, -1, -1, -1, -1, 166, + 167, 168, 169, -1, -1, 32, 33, 34, -1, 36, + 37, 38, 39, 40, -1, -1, -1, 184, -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, 5, 6, 7, 8, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 20, 21, 22, 23, - 24, 25, 26, 27, 28, 29, 30, 31, 233, -1, - -1, 236, -1, -1, 239, 240, 241, 242, 42, 43, - 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, - 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, - 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, - 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, - 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, - 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, - 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, - 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, - 124, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 134, 135, 136, -1, 138, 139, 140, 141, 142, 143, - 144, 145, -1, -1, 148, 149, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 5, 6, 7, 8, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 20, 21, 22, - 23, 24, 25, 26, 27, 28, 29, 30, 31, 233, - -1, -1, 236, -1, -1, 239, 240, 241, 242, 42, - 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, - 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, - 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, - 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, - 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, - 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, - 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, - 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, - 123, 124, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 134, 135, 136, -1, 138, 139, 140, 141, 142, - 143, 144, 145, -1, -1, 148, 149, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 5, 6, 7, 8, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 20, 21, - 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, - 233, -1, -1, -1, -1, -1, 239, 240, 241, 242, - 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, - 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, - 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, - 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, - 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, - 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, - 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, - 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, - 122, 123, 124, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 134, 135, 136, -1, 138, 139, 140, 141, - 142, 143, 144, 145, -1, -1, 148, 149, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 224, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 128, 129, 130, 131, 132, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 128, 129, 130, 131, 132, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 166, 167, 168, 169, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 184, 166, + 167, 168, 169, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 184, -1, -1, -1, -1, -1, -1, 5, 6, 7, 8, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 20, + -1, -1, -1, -1, -1, -1, -1, -1, 224, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, - 31, 233, -1, -1, -1, -1, -1, 239, 240, 241, - 242, 42, 43, 44, 45, 46, 47, 48, 49, 50, + 31, -1, -1, -1, -1, -1, -1, 224, -1, -1, + 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, @@ -2140,104 +2225,16 @@ static const yytype_int16 yycheck[] = 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, - 121, 122, 123, 124, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 134, 135, 136, -1, 138, 139, 140, - 141, 142, 143, 144, 145, -1, -1, 148, 149, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 3, 4, 5, 6, 7, - 8, -1, 233, -1, -1, -1, -1, -1, 239, 240, - 241, 242, 20, 21, 22, 23, 24, 25, 26, 27, - 28, 29, 30, 31, 32, 33, 34, -1, 36, 37, - 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, - 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, - 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, - 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, - 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, - 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, - 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, - 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, - 118, 119, 120, 121, 122, 123, 124, -1, -1, -1, - -1, 129, 130, 131, 132, 133, 134, 135, 136, -1, - -1, 139, -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, 167, - 168, 169, 170, 171, -1, 173, -1, 175, -1, -1, - -1, -1, -1, 181, 182, 183, 184, 185, 186, 3, - 4, 5, 6, 7, 8, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 20, 21, 22, 23, - 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, - 34, -1, 36, 37, 38, 39, 40, 41, 42, 43, - 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, - 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, - 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, - 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, - 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, - 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, - 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, - 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, - 124, -1, -1, -1, -1, 129, 130, 131, 132, 133, - 134, 135, 136, -1, -1, 139, -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, 167, 168, 169, 170, 171, -1, 173, - 3, 4, 5, 6, 7, 8, -1, 181, 182, 183, - 184, 185, 186, -1, -1, -1, -1, 20, 21, 22, - 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, - 33, 34, -1, 36, 37, 38, 39, 40, 41, 42, - 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, - 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, - 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, - 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, - 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, - 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, - 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, - 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, - 123, 124, 3, 4, -1, -1, 129, 130, 131, 132, - 133, 134, 135, 136, -1, -1, 139, -1, -1, -1, - -1, -1, 3, 4, -1, -1, -1, -1, -1, -1, - -1, 32, 33, 34, -1, 36, 37, 38, 39, 40, - 41, -1, -1, -1, 167, 168, 169, 170, 171, -1, - -1, 32, 33, 34, -1, 36, 37, 38, 39, 40, - 41, -1, -1, 186, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 129, 130, - 131, 132, 133, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 129, 130, - 131, 132, 133, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 167, 168, 169, 170, - 171, -1, -1, -1, -1, -1, 5, 6, 7, 8, - -1, -1, -1, -1, -1, 186, 167, 168, 169, 170, - 171, 20, 21, 22, 23, 24, 25, 26, 27, 28, - 29, 30, 31, -1, -1, 186, -1, -1, -1, -1, - -1, -1, -1, 42, 43, 44, 45, 46, 47, 48, - 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, - 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, - 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, - 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, - 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, - 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, - 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, - 119, 120, 121, 122, 123, 124, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 134, 135, 136, -1, -1, - 139 + 121, 122, 123, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 133, 134, 135, -1, -1, 138 }; /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing symbol of state STATE-NUM. */ static const yytype_uint16 yystos[] = { - 0, 174, 258, 260, 142, 0, 262, 138, 139, 140, - 178, 263, 175, 259, 264, 178, 263, 3, 4, 5, + 0, 172, 258, 260, 141, 0, 262, 137, 138, 139, + 176, 263, 173, 259, 264, 176, 263, 3, 4, 5, 6, 7, 8, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, @@ -2248,48 +2245,48 @@ static const yytype_uint16 yystos[] = 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, - 118, 119, 120, 121, 122, 123, 124, 129, 130, 131, - 132, 133, 134, 135, 136, 139, 167, 168, 169, 170, - 171, 173, 181, 182, 183, 184, 185, 186, 261, 265, - 299, 300, 301, 302, 303, 309, 310, 311, 312, 317, - 318, 319, 320, 322, 323, 324, 325, 326, 356, 357, - 358, 359, 360, 364, 177, 255, 263, 33, 34, 36, - 138, 140, 167, 168, 266, 312, 318, 266, 318, 325, - 178, 178, 178, 178, 178, 233, 264, 356, 254, 255, - 339, 234, 238, 4, 33, 34, 35, 168, 305, 306, - 307, 325, 238, 254, 138, 140, 263, 266, 33, 34, - 36, 318, 359, 318, 322, 318, 318, 235, 321, 318, - 140, 263, 311, 327, 328, 255, 322, 194, 231, 263, - 313, 315, 316, 9, 10, 11, 13, 14, 15, 16, - 17, 137, 141, 142, 143, 144, 145, 148, 149, 233, - 239, 240, 241, 242, 254, 255, 256, 266, 267, 268, - 270, 271, 272, 273, 274, 275, 276, 281, 282, 283, - 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, - 294, 295, 297, 299, 300, 312, 322, 333, 334, 335, - 336, 340, 341, 342, 345, 351, 355, 305, 306, 306, - 304, 308, 322, 306, 306, 263, 253, 321, 233, 254, - 254, 254, 236, 281, 294, 298, 322, 235, 255, 178, - 263, 329, 330, 256, 328, 327, 254, 253, 234, 238, - 254, 254, 334, 233, 233, 254, 254, 297, 233, 233, - 281, 281, 297, 256, 337, 148, 149, 235, 237, 234, - 234, 238, 136, 295, 233, 157, 158, 159, 160, 161, - 162, 163, 164, 165, 166, 253, 296, 281, 243, 244, - 245, 239, 240, 146, 147, 150, 151, 246, 247, 152, - 153, 248, 249, 250, 154, 156, 155, 251, 238, 254, - 256, 334, 263, 253, 321, 255, 295, 331, 253, 236, - 236, 298, 311, 362, 363, 321, 238, 254, 256, 142, - 143, 314, 315, 137, 333, 341, 352, 297, 254, 297, - 297, 311, 344, 234, 340, 269, 297, 263, 266, 277, - 278, 279, 280, 295, 295, 281, 281, 281, 283, 283, - 284, 284, 285, 285, 285, 285, 286, 286, 287, 288, - 289, 290, 291, 292, 297, 295, 321, 331, 253, 331, - 332, 331, 236, 329, 256, 362, 330, 233, 344, 353, - 354, 234, 234, 263, 234, 256, 236, 233, 234, 234, - 238, 136, 295, 252, 331, 238, 256, 254, 140, 361, - 297, 254, 234, 334, 343, 255, 346, 253, 335, 338, - 339, 295, 295, 256, 331, 321, 254, 234, 297, 338, - 12, 18, 19, 256, 347, 348, 349, 350, 331, 254, - 334, 297, 252, 334, 347, 334, 256, 349, 252 + 118, 119, 120, 121, 122, 123, 128, 129, 130, 131, + 132, 133, 134, 135, 138, 166, 167, 168, 169, 171, + 179, 180, 181, 182, 183, 184, 224, 261, 265, 299, + 300, 301, 302, 303, 309, 310, 311, 312, 317, 318, + 319, 320, 322, 323, 324, 325, 326, 356, 357, 358, + 359, 360, 364, 175, 255, 263, 33, 34, 36, 137, + 139, 166, 266, 312, 318, 325, 176, 176, 176, 176, + 176, 233, 356, 254, 255, 339, 234, 238, 4, 33, + 34, 35, 305, 306, 307, 325, 238, 254, 137, 139, + 263, 266, 33, 34, 36, 318, 359, 318, 322, 318, + 318, 235, 321, 318, 139, 263, 311, 327, 328, 255, + 322, 192, 231, 263, 313, 315, 316, 9, 10, 11, + 13, 14, 15, 16, 17, 136, 140, 141, 142, 143, + 144, 147, 148, 233, 239, 240, 241, 242, 254, 255, + 256, 266, 267, 268, 270, 271, 272, 273, 274, 275, + 276, 281, 282, 283, 284, 285, 286, 287, 288, 289, + 290, 291, 292, 293, 294, 295, 297, 299, 300, 312, + 322, 333, 334, 335, 336, 340, 341, 342, 345, 351, + 355, 305, 306, 304, 308, 322, 306, 306, 263, 253, + 321, 233, 254, 254, 254, 236, 281, 294, 298, 322, + 235, 255, 176, 263, 329, 330, 256, 328, 327, 254, + 253, 234, 238, 254, 254, 334, 233, 233, 254, 254, + 297, 233, 233, 281, 281, 297, 256, 337, 147, 148, + 235, 237, 234, 234, 238, 135, 295, 233, 156, 157, + 158, 159, 160, 161, 162, 163, 164, 165, 253, 296, + 281, 243, 244, 245, 239, 240, 145, 146, 149, 150, + 246, 247, 151, 152, 248, 249, 250, 153, 155, 154, + 251, 238, 254, 256, 334, 263, 253, 321, 255, 295, + 331, 253, 236, 236, 298, 311, 362, 363, 321, 238, + 254, 256, 141, 142, 314, 315, 136, 333, 341, 352, + 297, 254, 297, 297, 311, 344, 234, 340, 269, 297, + 263, 266, 277, 278, 279, 280, 295, 295, 281, 281, + 281, 283, 283, 284, 284, 285, 285, 285, 285, 286, + 286, 287, 288, 289, 290, 291, 292, 297, 295, 321, + 331, 253, 331, 332, 331, 236, 329, 256, 362, 330, + 233, 344, 353, 354, 234, 234, 263, 234, 256, 236, + 233, 234, 234, 238, 135, 295, 252, 331, 238, 256, + 254, 139, 361, 297, 254, 234, 334, 343, 255, 346, + 253, 335, 338, 339, 295, 295, 256, 331, 321, 254, + 234, 297, 338, 12, 18, 19, 256, 347, 348, 349, + 350, 331, 254, 334, 297, 252, 334, 347, 334, 256, + 349, 252 }; /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */ @@ -2297,24 +2294,24 @@ static const yytype_uint16 yyr1[] = { 0, 257, 259, 258, 260, 260, 260, 261, 261, 261, 261, 261, 262, 262, 263, 263, 263, 264, 265, 265, - 265, 266, 266, 267, 267, 267, 267, 267, 267, 268, - 268, 268, 268, 268, 268, 269, 270, 271, 271, 272, - 272, 273, 273, 274, 274, 275, 276, 276, 276, 277, - 277, 278, 278, 279, 279, 280, 281, 281, 281, 281, - 282, 282, 282, 282, 283, 283, 283, 283, 284, 284, - 284, 285, 285, 285, 286, 286, 286, 286, 286, 287, - 287, 287, 288, 288, 289, 289, 290, 290, 291, 291, - 292, 292, 293, 293, 294, 294, 295, 295, 296, 296, - 296, 296, 296, 296, 296, 296, 296, 296, 296, 297, - 297, 298, 299, 299, 299, 299, 300, 301, 301, 302, - 302, 303, 304, 304, 305, 305, 306, 306, 306, 306, - 306, 307, 307, 307, 308, 309, 309, 309, 309, 309, - 310, 310, 310, 310, 310, 310, 310, 311, 311, 312, - 313, 313, 314, 314, 315, 315, 315, 316, 316, 317, - 317, 317, 318, 318, 318, 318, 318, 318, 318, 318, - 318, 318, 318, 318, 318, 318, 319, 319, 320, 320, - 320, 320, 320, 320, 320, 320, 320, 320, 320, 321, - 321, 321, 321, 322, 322, 323, 323, 323, 324, 324, + 266, 266, 267, 267, 267, 267, 267, 267, 268, 268, + 268, 268, 268, 268, 269, 270, 271, 271, 272, 272, + 273, 273, 274, 274, 275, 276, 276, 276, 277, 277, + 278, 278, 279, 279, 280, 281, 281, 281, 281, 282, + 282, 282, 282, 283, 283, 283, 283, 284, 284, 284, + 285, 285, 285, 286, 286, 286, 286, 286, 287, 287, + 287, 288, 288, 289, 289, 290, 290, 291, 291, 292, + 292, 293, 293, 294, 294, 295, 295, 296, 296, 296, + 296, 296, 296, 296, 296, 296, 296, 296, 297, 297, + 298, 299, 299, 299, 299, 300, 301, 301, 302, 302, + 303, 304, 304, 305, 305, 306, 306, 306, 306, 307, + 307, 307, 308, 309, 309, 309, 309, 309, 310, 310, + 310, 310, 310, 310, 311, 311, 312, 313, 313, 314, + 314, 315, 315, 315, 316, 316, 317, 317, 317, 318, + 318, 318, 318, 318, 318, 318, 318, 318, 318, 318, + 318, 319, 319, 320, 320, 320, 320, 320, 320, 320, + 320, 320, 320, 320, 321, 321, 321, 321, 322, 322, + 323, 323, 323, 324, 324, 324, 324, 324, 324, 324, 324, 324, 324, 324, 324, 324, 324, 324, 324, 324, 324, 324, 324, 324, 324, 324, 324, 324, 324, 324, 324, 324, 324, 324, 324, 324, 324, 324, 324, 324, @@ -2324,16 +2321,16 @@ static const yytype_uint16 yyr1[] = 324, 324, 324, 324, 324, 324, 324, 324, 324, 324, 324, 324, 324, 324, 324, 324, 324, 324, 324, 324, 324, 324, 324, 324, 324, 324, 324, 324, 324, 324, - 324, 324, 324, 324, 324, 324, 324, 324, 324, 325, - 325, 325, 326, 326, 327, 327, 328, 329, 329, 330, - 330, 331, 331, 331, 332, 332, 333, 334, 334, 335, - 335, 335, 335, 335, 335, 336, 337, 336, 338, 338, - 339, 339, 340, 340, 341, 341, 342, 343, 343, 344, - 344, 345, 346, 346, 347, 347, 348, 348, 349, 349, - 350, 350, 351, 351, 351, 352, 352, 353, 353, 354, - 354, 355, 355, 355, 355, 355, 356, 356, 356, 356, - 357, 358, 358, 359, 360, 360, 360, 361, 361, 361, - 362, 362, 363, 364, 364, 364 + 324, 324, 324, 324, 325, 325, 325, 326, 326, 327, + 327, 328, 329, 329, 330, 330, 331, 331, 331, 332, + 332, 333, 334, 334, 335, 335, 335, 335, 335, 335, + 336, 337, 336, 338, 338, 339, 339, 340, 340, 341, + 341, 342, 343, 343, 344, 344, 345, 346, 346, 347, + 347, 348, 348, 349, 349, 350, 350, 351, 351, 351, + 352, 352, 353, 353, 354, 354, 355, 355, 355, 355, + 355, 356, 356, 356, 356, 357, 358, 358, 359, 360, + 360, 360, 361, 361, 361, 362, 362, 363, 364, 364, + 364 }; /* YYR2[YYN] -- Number of symbols on the right hand side of rule YYN. */ @@ -2341,24 +2338,23 @@ static const yytype_uint8 yyr2[] = { 0, 2, 0, 4, 0, 3, 4, 2, 2, 2, 2, 2, 0, 2, 1, 1, 1, 5, 1, 2, - 2, 1, 1, 1, 1, 1, 1, 1, 3, 1, - 4, 1, 3, 2, 2, 1, 1, 1, 3, 2, - 2, 2, 1, 2, 3, 2, 1, 1, 1, 2, - 2, 2, 1, 2, 3, 2, 1, 2, 2, 2, - 1, 1, 1, 1, 1, 3, 3, 3, 1, 3, - 3, 1, 3, 3, 1, 3, 3, 3, 3, 1, - 3, 3, 1, 3, 1, 3, 1, 3, 1, 3, - 1, 3, 1, 3, 1, 5, 1, 3, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 3, 1, 2, 2, 4, 1, 2, 1, 1, 2, - 3, 3, 2, 3, 2, 2, 0, 2, 2, 2, - 2, 1, 1, 1, 1, 1, 3, 4, 6, 5, - 1, 2, 3, 5, 4, 2, 2, 1, 2, 4, - 1, 3, 1, 1, 1, 3, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, - 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, - 3, 3, 4, 1, 2, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 3, 1, 4, + 1, 3, 2, 2, 1, 1, 1, 3, 2, 2, + 2, 1, 2, 3, 2, 1, 1, 1, 2, 2, + 2, 1, 2, 3, 2, 1, 2, 2, 2, 1, + 1, 1, 1, 1, 3, 3, 3, 1, 3, 3, + 1, 3, 3, 1, 3, 3, 3, 3, 1, 3, + 3, 1, 3, 1, 3, 1, 3, 1, 3, 1, + 3, 1, 3, 1, 5, 1, 3, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, + 1, 2, 2, 4, 1, 2, 1, 1, 2, 3, + 3, 2, 3, 2, 2, 0, 2, 2, 2, 1, + 1, 1, 1, 1, 3, 4, 6, 5, 1, 2, + 3, 5, 4, 2, 1, 2, 4, 1, 3, 1, + 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, + 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 2, 3, 3, 4, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, @@ -2369,15 +2365,16 @@ 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, 5, 4, 1, 2, 3, 1, 3, 1, - 2, 1, 3, 4, 1, 3, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 2, 0, 4, 1, 1, - 2, 3, 1, 2, 1, 2, 5, 3, 1, 1, - 4, 5, 2, 3, 3, 2, 1, 2, 2, 2, - 1, 2, 5, 7, 6, 1, 1, 1, 0, 2, - 3, 2, 2, 2, 3, 2, 1, 1, 1, 1, - 2, 1, 2, 7, 1, 1, 1, 0, 1, 2, - 1, 2, 3, 3, 3, 3 + 1, 1, 1, 1, 1, 1, 1, 5, 4, 1, + 2, 3, 1, 3, 1, 2, 1, 3, 4, 1, + 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 2, 0, 4, 1, 1, 2, 3, 1, 2, 1, + 2, 5, 3, 1, 1, 4, 5, 2, 3, 3, + 2, 1, 2, 2, 2, 1, 2, 5, 7, 6, + 1, 1, 1, 0, 2, 3, 2, 2, 2, 3, + 2, 1, 1, 1, 1, 2, 1, 2, 7, 1, + 1, 1, 0, 1, 2, 1, 2, 3, 3, 3, + 3 }; @@ -2971,7 +2968,7 @@ YYLTYPE yylloc = yyloc_default; yychar = YYEMPTY; /* Cause a token to be read. */ /* User initialization code. */ -#line 83 "glsl_parser.yy" /* yacc.c:1429 */ +#line 80 "glsl_parser.yy" /* yacc.c:1429 */ { yylloc.first_line = 1; yylloc.first_column = 1; @@ -2980,7 +2977,7 @@ YYLTYPE yylloc = yyloc_default; yylloc.source = 0; } -#line 2984 "glsl_parser.cpp" /* yacc.c:1429 */ +#line 2981 "glsl_parser.cpp" /* yacc.c:1429 */ yylsp[0] = yylloc; goto yysetstate; @@ -3167,47 +3164,47 @@ yyreduce: switch (yyn) { case 2: -#line 298 "glsl_parser.yy" /* yacc.c:1646 */ +#line 295 "glsl_parser.yy" /* yacc.c:1646 */ { _mesa_glsl_initialize_types(state); } -#line 3175 "glsl_parser.cpp" /* yacc.c:1646 */ +#line 3172 "glsl_parser.cpp" /* yacc.c:1646 */ break; case 3: -#line 302 "glsl_parser.yy" /* yacc.c:1646 */ +#line 299 "glsl_parser.yy" /* yacc.c:1646 */ { delete state->symbols; state->symbols = new(ralloc_parent(state)) glsl_symbol_table; _mesa_glsl_initialize_types(state); } -#line 3185 "glsl_parser.cpp" /* yacc.c:1646 */ +#line 3182 "glsl_parser.cpp" /* yacc.c:1646 */ break; case 5: -#line 312 "glsl_parser.yy" /* yacc.c:1646 */ +#line 309 "glsl_parser.yy" /* yacc.c:1646 */ { state->process_version_directive(&(yylsp[-1]), (yyvsp[-1].n), NULL); if (state->error) { YYERROR; } } -#line 3196 "glsl_parser.cpp" /* yacc.c:1646 */ +#line 3193 "glsl_parser.cpp" /* yacc.c:1646 */ break; case 6: -#line 319 "glsl_parser.yy" /* yacc.c:1646 */ +#line 316 "glsl_parser.yy" /* yacc.c:1646 */ { state->process_version_directive(&(yylsp[-2]), (yyvsp[-2].n), (yyvsp[-1].identifier)); if (state->error) { YYERROR; } } -#line 3207 "glsl_parser.cpp" /* yacc.c:1646 */ +#line 3204 "glsl_parser.cpp" /* yacc.c:1646 */ break; case 11: -#line 333 "glsl_parser.yy" /* yacc.c:1646 */ +#line 330 "glsl_parser.yy" /* yacc.c:1646 */ { if (!state->is_version(120, 100)) { _mesa_glsl_warning(& (yylsp[-1]), state, @@ -3218,21 +3215,21 @@ yyreduce: state->all_invariant = true; } } -#line 3222 "glsl_parser.cpp" /* yacc.c:1646 */ +#line 3219 "glsl_parser.cpp" /* yacc.c:1646 */ break; case 17: -#line 358 "glsl_parser.yy" /* yacc.c:1646 */ +#line 355 "glsl_parser.yy" /* yacc.c:1646 */ { if (!_mesa_glsl_process_extension((yyvsp[-3].identifier), & (yylsp[-3]), (yyvsp[-1].identifier), & (yylsp[-1]), state)) { YYERROR; } } -#line 3232 "glsl_parser.cpp" /* yacc.c:1646 */ +#line 3229 "glsl_parser.cpp" /* yacc.c:1646 */ break; case 18: -#line 367 "glsl_parser.yy" /* yacc.c:1646 */ +#line 364 "glsl_parser.yy" /* yacc.c:1646 */ { /* FINISHME: The NULL test is required because pragmas are set to * FINISHME: NULL. (See production rule for external_declaration.) @@ -3240,11 +3237,11 @@ yyreduce: if ((yyvsp[0].node) != NULL) state->translation_unit.push_tail(& (yyvsp[0].node)->link); } -#line 3244 "glsl_parser.cpp" /* yacc.c:1646 */ +#line 3241 "glsl_parser.cpp" /* yacc.c:1646 */ break; case 19: -#line 375 "glsl_parser.yy" /* yacc.c:1646 */ +#line 372 "glsl_parser.yy" /* yacc.c:1646 */ { /* FINISHME: The NULL test is required because pragmas are set to * FINISHME: NULL. (See production rule for external_declaration.) @@ -3252,176 +3249,163 @@ yyreduce: if ((yyvsp[0].node) != NULL) state->translation_unit.push_tail(& (yyvsp[0].node)->link); } -#line 3256 "glsl_parser.cpp" /* yacc.c:1646 */ +#line 3253 "glsl_parser.cpp" /* yacc.c:1646 */ break; - case 20: -#line 382 "glsl_parser.yy" /* yacc.c:1646 */ - { - if (!state->allow_extension_directive_midshader) { - _mesa_glsl_error(& (yylsp[0]), state, - "#extension directive is not allowed " - "in the middle of a shader"); - YYERROR; - } - } -#line 3269 "glsl_parser.cpp" /* yacc.c:1646 */ - break; - - case 23: -#line 399 "glsl_parser.yy" /* yacc.c:1646 */ + case 22: +#line 388 "glsl_parser.yy" /* yacc.c:1646 */ { void *ctx = state; (yyval.expression) = new(ctx) ast_expression(ast_identifier, NULL, NULL, NULL); (yyval.expression)->set_location((yylsp[0])); (yyval.expression)->primary_expression.identifier = (yyvsp[0].identifier); } -#line 3280 "glsl_parser.cpp" /* yacc.c:1646 */ +#line 3264 "glsl_parser.cpp" /* yacc.c:1646 */ break; - case 24: -#line 406 "glsl_parser.yy" /* yacc.c:1646 */ + case 23: +#line 395 "glsl_parser.yy" /* yacc.c:1646 */ { void *ctx = state; (yyval.expression) = new(ctx) ast_expression(ast_int_constant, NULL, NULL, NULL); (yyval.expression)->set_location((yylsp[0])); (yyval.expression)->primary_expression.int_constant = (yyvsp[0].n); } -#line 3291 "glsl_parser.cpp" /* yacc.c:1646 */ +#line 3275 "glsl_parser.cpp" /* yacc.c:1646 */ break; - case 25: -#line 413 "glsl_parser.yy" /* yacc.c:1646 */ + case 24: +#line 402 "glsl_parser.yy" /* yacc.c:1646 */ { void *ctx = state; (yyval.expression) = new(ctx) ast_expression(ast_uint_constant, NULL, NULL, NULL); (yyval.expression)->set_location((yylsp[0])); (yyval.expression)->primary_expression.uint_constant = (yyvsp[0].n); } -#line 3302 "glsl_parser.cpp" /* yacc.c:1646 */ +#line 3286 "glsl_parser.cpp" /* yacc.c:1646 */ break; - case 26: -#line 420 "glsl_parser.yy" /* yacc.c:1646 */ + case 25: +#line 409 "glsl_parser.yy" /* yacc.c:1646 */ { void *ctx = state; (yyval.expression) = new(ctx) ast_expression(ast_float_constant, NULL, NULL, NULL); (yyval.expression)->set_location((yylsp[0])); (yyval.expression)->primary_expression.float_constant = (yyvsp[0].real); } -#line 3313 "glsl_parser.cpp" /* yacc.c:1646 */ +#line 3297 "glsl_parser.cpp" /* yacc.c:1646 */ break; - case 27: -#line 427 "glsl_parser.yy" /* yacc.c:1646 */ + case 26: +#line 416 "glsl_parser.yy" /* yacc.c:1646 */ { void *ctx = state; (yyval.expression) = new(ctx) ast_expression(ast_bool_constant, NULL, NULL, NULL); (yyval.expression)->set_location((yylsp[0])); (yyval.expression)->primary_expression.bool_constant = (yyvsp[0].n); } -#line 3324 "glsl_parser.cpp" /* yacc.c:1646 */ +#line 3308 "glsl_parser.cpp" /* yacc.c:1646 */ break; - case 28: -#line 434 "glsl_parser.yy" /* yacc.c:1646 */ + case 27: +#line 423 "glsl_parser.yy" /* yacc.c:1646 */ { (yyval.expression) = (yyvsp[-1].expression); } -#line 3332 "glsl_parser.cpp" /* yacc.c:1646 */ +#line 3316 "glsl_parser.cpp" /* yacc.c:1646 */ break; - case 30: -#line 442 "glsl_parser.yy" /* yacc.c:1646 */ + case 29: +#line 431 "glsl_parser.yy" /* yacc.c:1646 */ { void *ctx = state; (yyval.expression) = new(ctx) ast_expression(ast_array_index, (yyvsp[-3].expression), (yyvsp[-1].expression), NULL); (yyval.expression)->set_location_range((yylsp[-3]), (yylsp[0])); } -#line 3342 "glsl_parser.cpp" /* yacc.c:1646 */ +#line 3326 "glsl_parser.cpp" /* yacc.c:1646 */ break; - case 31: -#line 448 "glsl_parser.yy" /* yacc.c:1646 */ + case 30: +#line 437 "glsl_parser.yy" /* yacc.c:1646 */ { (yyval.expression) = (yyvsp[0].expression); } -#line 3350 "glsl_parser.cpp" /* yacc.c:1646 */ +#line 3334 "glsl_parser.cpp" /* yacc.c:1646 */ break; - case 32: -#line 452 "glsl_parser.yy" /* yacc.c:1646 */ + case 31: +#line 441 "glsl_parser.yy" /* yacc.c:1646 */ { void *ctx = state; (yyval.expression) = new(ctx) ast_expression(ast_field_selection, (yyvsp[-2].expression), NULL, NULL); (yyval.expression)->set_location_range((yylsp[-2]), (yylsp[0])); (yyval.expression)->primary_expression.identifier = (yyvsp[0].identifier); } -#line 3361 "glsl_parser.cpp" /* yacc.c:1646 */ +#line 3345 "glsl_parser.cpp" /* yacc.c:1646 */ break; - case 33: -#line 459 "glsl_parser.yy" /* yacc.c:1646 */ + case 32: +#line 448 "glsl_parser.yy" /* yacc.c:1646 */ { void *ctx = state; (yyval.expression) = new(ctx) ast_expression(ast_post_inc, (yyvsp[-1].expression), NULL, NULL); (yyval.expression)->set_location_range((yylsp[-1]), (yylsp[0])); } -#line 3371 "glsl_parser.cpp" /* yacc.c:1646 */ +#line 3355 "glsl_parser.cpp" /* yacc.c:1646 */ break; - case 34: -#line 465 "glsl_parser.yy" /* yacc.c:1646 */ + case 33: +#line 454 "glsl_parser.yy" /* yacc.c:1646 */ { void *ctx = state; (yyval.expression) = new(ctx) ast_expression(ast_post_dec, (yyvsp[-1].expression), NULL, NULL); (yyval.expression)->set_location_range((yylsp[-1]), (yylsp[0])); } -#line 3381 "glsl_parser.cpp" /* yacc.c:1646 */ +#line 3365 "glsl_parser.cpp" /* yacc.c:1646 */ break; - case 38: -#line 483 "glsl_parser.yy" /* yacc.c:1646 */ + case 37: +#line 472 "glsl_parser.yy" /* yacc.c:1646 */ { void *ctx = state; (yyval.expression) = new(ctx) ast_expression(ast_field_selection, (yyvsp[-2].expression), (yyvsp[0].expression), NULL); (yyval.expression)->set_location_range((yylsp[-2]), (yylsp[0])); } -#line 3391 "glsl_parser.cpp" /* yacc.c:1646 */ +#line 3375 "glsl_parser.cpp" /* yacc.c:1646 */ break; - case 43: -#line 502 "glsl_parser.yy" /* yacc.c:1646 */ + case 42: +#line 491 "glsl_parser.yy" /* yacc.c:1646 */ { (yyval.expression) = (yyvsp[-1].expression); (yyval.expression)->set_location((yylsp[-1])); (yyval.expression)->expressions.push_tail(& (yyvsp[0].expression)->link); } -#line 3401 "glsl_parser.cpp" /* yacc.c:1646 */ +#line 3385 "glsl_parser.cpp" /* yacc.c:1646 */ break; - case 44: -#line 508 "glsl_parser.yy" /* yacc.c:1646 */ + case 43: +#line 497 "glsl_parser.yy" /* yacc.c:1646 */ { (yyval.expression) = (yyvsp[-2].expression); (yyval.expression)->set_location((yylsp[-2])); (yyval.expression)->expressions.push_tail(& (yyvsp[0].expression)->link); } -#line 3411 "glsl_parser.cpp" /* yacc.c:1646 */ +#line 3395 "glsl_parser.cpp" /* yacc.c:1646 */ break; - case 46: -#line 524 "glsl_parser.yy" /* yacc.c:1646 */ + case 45: +#line 513 "glsl_parser.yy" /* yacc.c:1646 */ { void *ctx = state; (yyval.expression) = new(ctx) ast_function_expression((yyvsp[0].type_specifier)); (yyval.expression)->set_location((yylsp[0])); } -#line 3421 "glsl_parser.cpp" /* yacc.c:1646 */ +#line 3405 "glsl_parser.cpp" /* yacc.c:1646 */ break; - case 47: -#line 530 "glsl_parser.yy" /* yacc.c:1646 */ + case 46: +#line 519 "glsl_parser.yy" /* yacc.c:1646 */ { void *ctx = state; ast_expression *callee = new(ctx) ast_expression((yyvsp[0].identifier)); @@ -3429,11 +3413,11 @@ yyreduce: (yyval.expression) = new(ctx) ast_function_expression(callee); (yyval.expression)->set_location((yylsp[0])); } -#line 3433 "glsl_parser.cpp" /* yacc.c:1646 */ +#line 3417 "glsl_parser.cpp" /* yacc.c:1646 */ break; - case 48: -#line 538 "glsl_parser.yy" /* yacc.c:1646 */ + case 47: +#line 527 "glsl_parser.yy" /* yacc.c:1646 */ { void *ctx = state; ast_expression *callee = new(ctx) ast_expression((yyvsp[0].identifier)); @@ -3441,31 +3425,31 @@ yyreduce: (yyval.expression) = new(ctx) ast_function_expression(callee); (yyval.expression)->set_location((yylsp[0])); } -#line 3445 "glsl_parser.cpp" /* yacc.c:1646 */ +#line 3429 "glsl_parser.cpp" /* yacc.c:1646 */ break; - case 53: -#line 559 "glsl_parser.yy" /* yacc.c:1646 */ + case 52: +#line 548 "glsl_parser.yy" /* yacc.c:1646 */ { (yyval.expression) = (yyvsp[-1].expression); (yyval.expression)->set_location((yylsp[-1])); (yyval.expression)->expressions.push_tail(& (yyvsp[0].expression)->link); } -#line 3455 "glsl_parser.cpp" /* yacc.c:1646 */ +#line 3439 "glsl_parser.cpp" /* yacc.c:1646 */ break; - case 54: -#line 565 "glsl_parser.yy" /* yacc.c:1646 */ + case 53: +#line 554 "glsl_parser.yy" /* yacc.c:1646 */ { (yyval.expression) = (yyvsp[-2].expression); (yyval.expression)->set_location((yylsp[-2])); (yyval.expression)->expressions.push_tail(& (yyvsp[0].expression)->link); } -#line 3465 "glsl_parser.cpp" /* yacc.c:1646 */ +#line 3449 "glsl_parser.cpp" /* yacc.c:1646 */ break; - case 55: -#line 577 "glsl_parser.yy" /* yacc.c:1646 */ + case 54: +#line 566 "glsl_parser.yy" /* yacc.c:1646 */ { void *ctx = state; ast_expression *callee = new(ctx) ast_expression((yyvsp[-1].identifier)); @@ -3473,349 +3457,349 @@ yyreduce: (yyval.expression) = new(ctx) ast_function_expression(callee); (yyval.expression)->set_location((yylsp[-1])); } -#line 3477 "glsl_parser.cpp" /* yacc.c:1646 */ +#line 3461 "glsl_parser.cpp" /* yacc.c:1646 */ break; - case 57: -#line 590 "glsl_parser.yy" /* yacc.c:1646 */ + case 56: +#line 579 "glsl_parser.yy" /* yacc.c:1646 */ { void *ctx = state; (yyval.expression) = new(ctx) ast_expression(ast_pre_inc, (yyvsp[0].expression), NULL, NULL); (yyval.expression)->set_location((yylsp[-1])); } -#line 3487 "glsl_parser.cpp" /* yacc.c:1646 */ +#line 3471 "glsl_parser.cpp" /* yacc.c:1646 */ break; - case 58: -#line 596 "glsl_parser.yy" /* yacc.c:1646 */ + case 57: +#line 585 "glsl_parser.yy" /* yacc.c:1646 */ { void *ctx = state; (yyval.expression) = new(ctx) ast_expression(ast_pre_dec, (yyvsp[0].expression), NULL, NULL); (yyval.expression)->set_location((yylsp[-1])); } -#line 3497 "glsl_parser.cpp" /* yacc.c:1646 */ +#line 3481 "glsl_parser.cpp" /* yacc.c:1646 */ break; - case 59: -#line 602 "glsl_parser.yy" /* yacc.c:1646 */ + case 58: +#line 591 "glsl_parser.yy" /* yacc.c:1646 */ { void *ctx = state; (yyval.expression) = new(ctx) ast_expression((yyvsp[-1].n), (yyvsp[0].expression), NULL, NULL); (yyval.expression)->set_location_range((yylsp[-1]), (yylsp[0])); } -#line 3507 "glsl_parser.cpp" /* yacc.c:1646 */ +#line 3491 "glsl_parser.cpp" /* yacc.c:1646 */ break; - case 60: -#line 611 "glsl_parser.yy" /* yacc.c:1646 */ + case 59: +#line 600 "glsl_parser.yy" /* yacc.c:1646 */ { (yyval.n) = ast_plus; } -#line 3513 "glsl_parser.cpp" /* yacc.c:1646 */ +#line 3497 "glsl_parser.cpp" /* yacc.c:1646 */ break; - case 61: -#line 612 "glsl_parser.yy" /* yacc.c:1646 */ + case 60: +#line 601 "glsl_parser.yy" /* yacc.c:1646 */ { (yyval.n) = ast_neg; } -#line 3519 "glsl_parser.cpp" /* yacc.c:1646 */ +#line 3503 "glsl_parser.cpp" /* yacc.c:1646 */ break; - case 62: -#line 613 "glsl_parser.yy" /* yacc.c:1646 */ + case 61: +#line 602 "glsl_parser.yy" /* yacc.c:1646 */ { (yyval.n) = ast_logic_not; } -#line 3525 "glsl_parser.cpp" /* yacc.c:1646 */ +#line 3509 "glsl_parser.cpp" /* yacc.c:1646 */ break; - case 63: -#line 614 "glsl_parser.yy" /* yacc.c:1646 */ + case 62: +#line 603 "glsl_parser.yy" /* yacc.c:1646 */ { (yyval.n) = ast_bit_not; } -#line 3531 "glsl_parser.cpp" /* yacc.c:1646 */ +#line 3515 "glsl_parser.cpp" /* yacc.c:1646 */ break; - case 65: -#line 620 "glsl_parser.yy" /* yacc.c:1646 */ + case 64: +#line 609 "glsl_parser.yy" /* yacc.c:1646 */ { void *ctx = state; (yyval.expression) = new(ctx) ast_expression_bin(ast_mul, (yyvsp[-2].expression), (yyvsp[0].expression)); (yyval.expression)->set_location_range((yylsp[-2]), (yylsp[0])); } -#line 3541 "glsl_parser.cpp" /* yacc.c:1646 */ +#line 3525 "glsl_parser.cpp" /* yacc.c:1646 */ break; - case 66: -#line 626 "glsl_parser.yy" /* yacc.c:1646 */ + case 65: +#line 615 "glsl_parser.yy" /* yacc.c:1646 */ { void *ctx = state; (yyval.expression) = new(ctx) ast_expression_bin(ast_div, (yyvsp[-2].expression), (yyvsp[0].expression)); (yyval.expression)->set_location_range((yylsp[-2]), (yylsp[0])); } -#line 3551 "glsl_parser.cpp" /* yacc.c:1646 */ +#line 3535 "glsl_parser.cpp" /* yacc.c:1646 */ break; - case 67: -#line 632 "glsl_parser.yy" /* yacc.c:1646 */ + case 66: +#line 621 "glsl_parser.yy" /* yacc.c:1646 */ { void *ctx = state; (yyval.expression) = new(ctx) ast_expression_bin(ast_mod, (yyvsp[-2].expression), (yyvsp[0].expression)); (yyval.expression)->set_location_range((yylsp[-2]), (yylsp[0])); } -#line 3561 "glsl_parser.cpp" /* yacc.c:1646 */ +#line 3545 "glsl_parser.cpp" /* yacc.c:1646 */ break; - case 69: -#line 642 "glsl_parser.yy" /* yacc.c:1646 */ + case 68: +#line 631 "glsl_parser.yy" /* yacc.c:1646 */ { void *ctx = state; (yyval.expression) = new(ctx) ast_expression_bin(ast_add, (yyvsp[-2].expression), (yyvsp[0].expression)); (yyval.expression)->set_location_range((yylsp[-2]), (yylsp[0])); } -#line 3571 "glsl_parser.cpp" /* yacc.c:1646 */ +#line 3555 "glsl_parser.cpp" /* yacc.c:1646 */ break; - case 70: -#line 648 "glsl_parser.yy" /* yacc.c:1646 */ + case 69: +#line 637 "glsl_parser.yy" /* yacc.c:1646 */ { void *ctx = state; (yyval.expression) = new(ctx) ast_expression_bin(ast_sub, (yyvsp[-2].expression), (yyvsp[0].expression)); (yyval.expression)->set_location_range((yylsp[-2]), (yylsp[0])); } -#line 3581 "glsl_parser.cpp" /* yacc.c:1646 */ +#line 3565 "glsl_parser.cpp" /* yacc.c:1646 */ break; - case 72: -#line 658 "glsl_parser.yy" /* yacc.c:1646 */ + case 71: +#line 647 "glsl_parser.yy" /* yacc.c:1646 */ { void *ctx = state; (yyval.expression) = new(ctx) ast_expression_bin(ast_lshift, (yyvsp[-2].expression), (yyvsp[0].expression)); (yyval.expression)->set_location_range((yylsp[-2]), (yylsp[0])); } -#line 3591 "glsl_parser.cpp" /* yacc.c:1646 */ +#line 3575 "glsl_parser.cpp" /* yacc.c:1646 */ break; - case 73: -#line 664 "glsl_parser.yy" /* yacc.c:1646 */ + case 72: +#line 653 "glsl_parser.yy" /* yacc.c:1646 */ { void *ctx = state; (yyval.expression) = new(ctx) ast_expression_bin(ast_rshift, (yyvsp[-2].expression), (yyvsp[0].expression)); (yyval.expression)->set_location_range((yylsp[-2]), (yylsp[0])); } -#line 3601 "glsl_parser.cpp" /* yacc.c:1646 */ +#line 3585 "glsl_parser.cpp" /* yacc.c:1646 */ break; - case 75: -#line 674 "glsl_parser.yy" /* yacc.c:1646 */ + case 74: +#line 663 "glsl_parser.yy" /* yacc.c:1646 */ { void *ctx = state; (yyval.expression) = new(ctx) ast_expression_bin(ast_less, (yyvsp[-2].expression), (yyvsp[0].expression)); (yyval.expression)->set_location_range((yylsp[-2]), (yylsp[0])); } -#line 3611 "glsl_parser.cpp" /* yacc.c:1646 */ +#line 3595 "glsl_parser.cpp" /* yacc.c:1646 */ break; - case 76: -#line 680 "glsl_parser.yy" /* yacc.c:1646 */ + case 75: +#line 669 "glsl_parser.yy" /* yacc.c:1646 */ { void *ctx = state; (yyval.expression) = new(ctx) ast_expression_bin(ast_greater, (yyvsp[-2].expression), (yyvsp[0].expression)); (yyval.expression)->set_location_range((yylsp[-2]), (yylsp[0])); } -#line 3621 "glsl_parser.cpp" /* yacc.c:1646 */ +#line 3605 "glsl_parser.cpp" /* yacc.c:1646 */ break; - case 77: -#line 686 "glsl_parser.yy" /* yacc.c:1646 */ + case 76: +#line 675 "glsl_parser.yy" /* yacc.c:1646 */ { void *ctx = state; (yyval.expression) = new(ctx) ast_expression_bin(ast_lequal, (yyvsp[-2].expression), (yyvsp[0].expression)); (yyval.expression)->set_location_range((yylsp[-2]), (yylsp[0])); } -#line 3631 "glsl_parser.cpp" /* yacc.c:1646 */ +#line 3615 "glsl_parser.cpp" /* yacc.c:1646 */ break; - case 78: -#line 692 "glsl_parser.yy" /* yacc.c:1646 */ + case 77: +#line 681 "glsl_parser.yy" /* yacc.c:1646 */ { void *ctx = state; (yyval.expression) = new(ctx) ast_expression_bin(ast_gequal, (yyvsp[-2].expression), (yyvsp[0].expression)); (yyval.expression)->set_location_range((yylsp[-2]), (yylsp[0])); } -#line 3641 "glsl_parser.cpp" /* yacc.c:1646 */ +#line 3625 "glsl_parser.cpp" /* yacc.c:1646 */ break; - case 80: -#line 702 "glsl_parser.yy" /* yacc.c:1646 */ + case 79: +#line 691 "glsl_parser.yy" /* yacc.c:1646 */ { void *ctx = state; (yyval.expression) = new(ctx) ast_expression_bin(ast_equal, (yyvsp[-2].expression), (yyvsp[0].expression)); (yyval.expression)->set_location_range((yylsp[-2]), (yylsp[0])); } -#line 3651 "glsl_parser.cpp" /* yacc.c:1646 */ +#line 3635 "glsl_parser.cpp" /* yacc.c:1646 */ break; - case 81: -#line 708 "glsl_parser.yy" /* yacc.c:1646 */ + case 80: +#line 697 "glsl_parser.yy" /* yacc.c:1646 */ { void *ctx = state; (yyval.expression) = new(ctx) ast_expression_bin(ast_nequal, (yyvsp[-2].expression), (yyvsp[0].expression)); (yyval.expression)->set_location_range((yylsp[-2]), (yylsp[0])); } -#line 3661 "glsl_parser.cpp" /* yacc.c:1646 */ +#line 3645 "glsl_parser.cpp" /* yacc.c:1646 */ break; - case 83: -#line 718 "glsl_parser.yy" /* yacc.c:1646 */ + case 82: +#line 707 "glsl_parser.yy" /* yacc.c:1646 */ { void *ctx = state; (yyval.expression) = new(ctx) ast_expression_bin(ast_bit_and, (yyvsp[-2].expression), (yyvsp[0].expression)); (yyval.expression)->set_location_range((yylsp[-2]), (yylsp[0])); } -#line 3671 "glsl_parser.cpp" /* yacc.c:1646 */ +#line 3655 "glsl_parser.cpp" /* yacc.c:1646 */ break; - case 85: -#line 728 "glsl_parser.yy" /* yacc.c:1646 */ + case 84: +#line 717 "glsl_parser.yy" /* yacc.c:1646 */ { void *ctx = state; (yyval.expression) = new(ctx) ast_expression_bin(ast_bit_xor, (yyvsp[-2].expression), (yyvsp[0].expression)); (yyval.expression)->set_location_range((yylsp[-2]), (yylsp[0])); } -#line 3681 "glsl_parser.cpp" /* yacc.c:1646 */ +#line 3665 "glsl_parser.cpp" /* yacc.c:1646 */ break; - case 87: -#line 738 "glsl_parser.yy" /* yacc.c:1646 */ + case 86: +#line 727 "glsl_parser.yy" /* yacc.c:1646 */ { void *ctx = state; (yyval.expression) = new(ctx) ast_expression_bin(ast_bit_or, (yyvsp[-2].expression), (yyvsp[0].expression)); (yyval.expression)->set_location_range((yylsp[-2]), (yylsp[0])); } -#line 3691 "glsl_parser.cpp" /* yacc.c:1646 */ +#line 3675 "glsl_parser.cpp" /* yacc.c:1646 */ break; - case 89: -#line 748 "glsl_parser.yy" /* yacc.c:1646 */ + case 88: +#line 737 "glsl_parser.yy" /* yacc.c:1646 */ { void *ctx = state; (yyval.expression) = new(ctx) ast_expression_bin(ast_logic_and, (yyvsp[-2].expression), (yyvsp[0].expression)); (yyval.expression)->set_location_range((yylsp[-2]), (yylsp[0])); } -#line 3701 "glsl_parser.cpp" /* yacc.c:1646 */ +#line 3685 "glsl_parser.cpp" /* yacc.c:1646 */ break; - case 91: -#line 758 "glsl_parser.yy" /* yacc.c:1646 */ + case 90: +#line 747 "glsl_parser.yy" /* yacc.c:1646 */ { void *ctx = state; (yyval.expression) = new(ctx) ast_expression_bin(ast_logic_xor, (yyvsp[-2].expression), (yyvsp[0].expression)); (yyval.expression)->set_location_range((yylsp[-2]), (yylsp[0])); } -#line 3711 "glsl_parser.cpp" /* yacc.c:1646 */ +#line 3695 "glsl_parser.cpp" /* yacc.c:1646 */ break; - case 93: -#line 768 "glsl_parser.yy" /* yacc.c:1646 */ + case 92: +#line 757 "glsl_parser.yy" /* yacc.c:1646 */ { void *ctx = state; (yyval.expression) = new(ctx) ast_expression_bin(ast_logic_or, (yyvsp[-2].expression), (yyvsp[0].expression)); (yyval.expression)->set_location_range((yylsp[-2]), (yylsp[0])); } -#line 3721 "glsl_parser.cpp" /* yacc.c:1646 */ +#line 3705 "glsl_parser.cpp" /* yacc.c:1646 */ break; - case 95: -#line 778 "glsl_parser.yy" /* yacc.c:1646 */ + case 94: +#line 767 "glsl_parser.yy" /* yacc.c:1646 */ { void *ctx = state; (yyval.expression) = new(ctx) ast_expression(ast_conditional, (yyvsp[-4].expression), (yyvsp[-2].expression), (yyvsp[0].expression)); (yyval.expression)->set_location_range((yylsp[-4]), (yylsp[0])); } -#line 3731 "glsl_parser.cpp" /* yacc.c:1646 */ +#line 3715 "glsl_parser.cpp" /* yacc.c:1646 */ break; - case 97: -#line 788 "glsl_parser.yy" /* yacc.c:1646 */ + case 96: +#line 777 "glsl_parser.yy" /* yacc.c:1646 */ { void *ctx = state; (yyval.expression) = new(ctx) ast_expression((yyvsp[-1].n), (yyvsp[-2].expression), (yyvsp[0].expression), NULL); (yyval.expression)->set_location_range((yylsp[-2]), (yylsp[0])); } -#line 3741 "glsl_parser.cpp" /* yacc.c:1646 */ +#line 3725 "glsl_parser.cpp" /* yacc.c:1646 */ break; - case 98: -#line 796 "glsl_parser.yy" /* yacc.c:1646 */ + case 97: +#line 785 "glsl_parser.yy" /* yacc.c:1646 */ { (yyval.n) = ast_assign; } -#line 3747 "glsl_parser.cpp" /* yacc.c:1646 */ +#line 3731 "glsl_parser.cpp" /* yacc.c:1646 */ break; - case 99: -#line 797 "glsl_parser.yy" /* yacc.c:1646 */ + case 98: +#line 786 "glsl_parser.yy" /* yacc.c:1646 */ { (yyval.n) = ast_mul_assign; } -#line 3753 "glsl_parser.cpp" /* yacc.c:1646 */ +#line 3737 "glsl_parser.cpp" /* yacc.c:1646 */ break; - case 100: -#line 798 "glsl_parser.yy" /* yacc.c:1646 */ + case 99: +#line 787 "glsl_parser.yy" /* yacc.c:1646 */ { (yyval.n) = ast_div_assign; } -#line 3759 "glsl_parser.cpp" /* yacc.c:1646 */ +#line 3743 "glsl_parser.cpp" /* yacc.c:1646 */ break; - case 101: -#line 799 "glsl_parser.yy" /* yacc.c:1646 */ + case 100: +#line 788 "glsl_parser.yy" /* yacc.c:1646 */ { (yyval.n) = ast_mod_assign; } -#line 3765 "glsl_parser.cpp" /* yacc.c:1646 */ +#line 3749 "glsl_parser.cpp" /* yacc.c:1646 */ break; - case 102: -#line 800 "glsl_parser.yy" /* yacc.c:1646 */ + case 101: +#line 789 "glsl_parser.yy" /* yacc.c:1646 */ { (yyval.n) = ast_add_assign; } -#line 3771 "glsl_parser.cpp" /* yacc.c:1646 */ +#line 3755 "glsl_parser.cpp" /* yacc.c:1646 */ break; - case 103: -#line 801 "glsl_parser.yy" /* yacc.c:1646 */ + case 102: +#line 790 "glsl_parser.yy" /* yacc.c:1646 */ { (yyval.n) = ast_sub_assign; } -#line 3777 "glsl_parser.cpp" /* yacc.c:1646 */ +#line 3761 "glsl_parser.cpp" /* yacc.c:1646 */ break; - case 104: -#line 802 "glsl_parser.yy" /* yacc.c:1646 */ + case 103: +#line 791 "glsl_parser.yy" /* yacc.c:1646 */ { (yyval.n) = ast_ls_assign; } -#line 3783 "glsl_parser.cpp" /* yacc.c:1646 */ +#line 3767 "glsl_parser.cpp" /* yacc.c:1646 */ break; - case 105: -#line 803 "glsl_parser.yy" /* yacc.c:1646 */ + case 104: +#line 792 "glsl_parser.yy" /* yacc.c:1646 */ { (yyval.n) = ast_rs_assign; } -#line 3789 "glsl_parser.cpp" /* yacc.c:1646 */ +#line 3773 "glsl_parser.cpp" /* yacc.c:1646 */ break; - case 106: -#line 804 "glsl_parser.yy" /* yacc.c:1646 */ + case 105: +#line 793 "glsl_parser.yy" /* yacc.c:1646 */ { (yyval.n) = ast_and_assign; } -#line 3795 "glsl_parser.cpp" /* yacc.c:1646 */ +#line 3779 "glsl_parser.cpp" /* yacc.c:1646 */ break; - case 107: -#line 805 "glsl_parser.yy" /* yacc.c:1646 */ + case 106: +#line 794 "glsl_parser.yy" /* yacc.c:1646 */ { (yyval.n) = ast_xor_assign; } -#line 3801 "glsl_parser.cpp" /* yacc.c:1646 */ +#line 3785 "glsl_parser.cpp" /* yacc.c:1646 */ break; - case 108: -#line 806 "glsl_parser.yy" /* yacc.c:1646 */ + case 107: +#line 795 "glsl_parser.yy" /* yacc.c:1646 */ { (yyval.n) = ast_or_assign; } -#line 3807 "glsl_parser.cpp" /* yacc.c:1646 */ +#line 3791 "glsl_parser.cpp" /* yacc.c:1646 */ break; - case 109: -#line 811 "glsl_parser.yy" /* yacc.c:1646 */ + case 108: +#line 800 "glsl_parser.yy" /* yacc.c:1646 */ { (yyval.expression) = (yyvsp[0].expression); } -#line 3815 "glsl_parser.cpp" /* yacc.c:1646 */ +#line 3799 "glsl_parser.cpp" /* yacc.c:1646 */ break; - case 110: -#line 815 "glsl_parser.yy" /* yacc.c:1646 */ + case 109: +#line 804 "glsl_parser.yy" /* yacc.c:1646 */ { void *ctx = state; if ((yyvsp[-2].expression)->oper != ast_sequence) { @@ -3828,63 +3812,63 @@ yyreduce: (yyval.expression)->expressions.push_tail(& (yyvsp[0].expression)->link); } -#line 3832 "glsl_parser.cpp" /* yacc.c:1646 */ +#line 3816 "glsl_parser.cpp" /* yacc.c:1646 */ break; - case 112: -#line 835 "glsl_parser.yy" /* yacc.c:1646 */ + case 111: +#line 824 "glsl_parser.yy" /* yacc.c:1646 */ { state->symbols->pop_scope(); (yyval.node) = (yyvsp[-1].function); } -#line 3841 "glsl_parser.cpp" /* yacc.c:1646 */ +#line 3825 "glsl_parser.cpp" /* yacc.c:1646 */ break; - case 113: -#line 840 "glsl_parser.yy" /* yacc.c:1646 */ + case 112: +#line 829 "glsl_parser.yy" /* yacc.c:1646 */ { (yyval.node) = (yyvsp[-1].declarator_list); } -#line 3849 "glsl_parser.cpp" /* yacc.c:1646 */ +#line 3833 "glsl_parser.cpp" /* yacc.c:1646 */ break; - case 114: -#line 844 "glsl_parser.yy" /* yacc.c:1646 */ + case 113: +#line 833 "glsl_parser.yy" /* yacc.c:1646 */ { (yyvsp[-1].type_specifier)->default_precision = (yyvsp[-2].n); (yyval.node) = (yyvsp[-1].type_specifier); } -#line 3858 "glsl_parser.cpp" /* yacc.c:1646 */ +#line 3842 "glsl_parser.cpp" /* yacc.c:1646 */ break; - case 115: -#line 849 "glsl_parser.yy" /* yacc.c:1646 */ + case 114: +#line 838 "glsl_parser.yy" /* yacc.c:1646 */ { (yyval.node) = (yyvsp[0].node); } -#line 3866 "glsl_parser.cpp" /* yacc.c:1646 */ +#line 3850 "glsl_parser.cpp" /* yacc.c:1646 */ break; - case 119: -#line 865 "glsl_parser.yy" /* yacc.c:1646 */ + case 118: +#line 854 "glsl_parser.yy" /* yacc.c:1646 */ { (yyval.function) = (yyvsp[-1].function); (yyval.function)->parameters.push_tail(& (yyvsp[0].parameter_declarator)->link); } -#line 3875 "glsl_parser.cpp" /* yacc.c:1646 */ +#line 3859 "glsl_parser.cpp" /* yacc.c:1646 */ break; - case 120: -#line 870 "glsl_parser.yy" /* yacc.c:1646 */ + case 119: +#line 859 "glsl_parser.yy" /* yacc.c:1646 */ { (yyval.function) = (yyvsp[-2].function); (yyval.function)->parameters.push_tail(& (yyvsp[0].parameter_declarator)->link); } -#line 3884 "glsl_parser.cpp" /* yacc.c:1646 */ +#line 3868 "glsl_parser.cpp" /* yacc.c:1646 */ break; - case 121: -#line 878 "glsl_parser.yy" /* yacc.c:1646 */ + case 120: +#line 867 "glsl_parser.yy" /* yacc.c:1646 */ { void *ctx = state; (yyval.function) = new(ctx) ast_function(); @@ -3895,11 +3879,11 @@ yyreduce: state->symbols->add_function(new(state) ir_function((yyvsp[-1].identifier))); state->symbols->push_scope(); } -#line 3899 "glsl_parser.cpp" /* yacc.c:1646 */ +#line 3883 "glsl_parser.cpp" /* yacc.c:1646 */ break; - case 122: -#line 892 "glsl_parser.yy" /* yacc.c:1646 */ + case 121: +#line 881 "glsl_parser.yy" /* yacc.c:1646 */ { void *ctx = state; (yyval.parameter_declarator) = new(ctx) ast_parameter_declarator(); @@ -3909,11 +3893,11 @@ yyreduce: (yyval.parameter_declarator)->type->specifier = (yyvsp[-1].type_specifier); (yyval.parameter_declarator)->identifier = (yyvsp[0].identifier); } -#line 3913 "glsl_parser.cpp" /* yacc.c:1646 */ +#line 3897 "glsl_parser.cpp" /* yacc.c:1646 */ break; - case 123: -#line 902 "glsl_parser.yy" /* yacc.c:1646 */ + case 122: +#line 891 "glsl_parser.yy" /* yacc.c:1646 */ { void *ctx = state; (yyval.parameter_declarator) = new(ctx) ast_parameter_declarator(); @@ -3924,20 +3908,20 @@ yyreduce: (yyval.parameter_declarator)->identifier = (yyvsp[-1].identifier); (yyval.parameter_declarator)->array_specifier = (yyvsp[0].array_specifier); } -#line 3928 "glsl_parser.cpp" /* yacc.c:1646 */ +#line 3912 "glsl_parser.cpp" /* yacc.c:1646 */ break; - case 124: -#line 916 "glsl_parser.yy" /* yacc.c:1646 */ + case 123: +#line 905 "glsl_parser.yy" /* yacc.c:1646 */ { (yyval.parameter_declarator) = (yyvsp[0].parameter_declarator); (yyval.parameter_declarator)->type->qualifier = (yyvsp[-1].type_qualifier); } -#line 3937 "glsl_parser.cpp" /* yacc.c:1646 */ +#line 3921 "glsl_parser.cpp" /* yacc.c:1646 */ break; - case 125: -#line 921 "glsl_parser.yy" /* yacc.c:1646 */ + case 124: +#line 910 "glsl_parser.yy" /* yacc.c:1646 */ { void *ctx = state; (yyval.parameter_declarator) = new(ctx) ast_parameter_declarator(); @@ -3947,19 +3931,19 @@ yyreduce: (yyval.parameter_declarator)->type->qualifier = (yyvsp[-1].type_qualifier); (yyval.parameter_declarator)->type->specifier = (yyvsp[0].type_specifier); } -#line 3951 "glsl_parser.cpp" /* yacc.c:1646 */ +#line 3935 "glsl_parser.cpp" /* yacc.c:1646 */ break; - case 126: -#line 934 "glsl_parser.yy" /* yacc.c:1646 */ + case 125: +#line 923 "glsl_parser.yy" /* yacc.c:1646 */ { memset(& (yyval.type_qualifier), 0, sizeof((yyval.type_qualifier))); } -#line 3959 "glsl_parser.cpp" /* yacc.c:1646 */ +#line 3943 "glsl_parser.cpp" /* yacc.c:1646 */ break; - case 127: -#line 938 "glsl_parser.yy" /* yacc.c:1646 */ + case 126: +#line 927 "glsl_parser.yy" /* yacc.c:1646 */ { if ((yyvsp[0].type_qualifier).flags.q.constant) _mesa_glsl_error(&(yylsp[-1]), state, "duplicate const qualifier"); @@ -3967,39 +3951,27 @@ yyreduce: (yyval.type_qualifier) = (yyvsp[0].type_qualifier); (yyval.type_qualifier).flags.q.constant = 1; } -#line 3971 "glsl_parser.cpp" /* yacc.c:1646 */ - break; - - case 128: -#line 946 "glsl_parser.yy" /* yacc.c:1646 */ - { - if ((yyvsp[0].type_qualifier).flags.q.precise) - _mesa_glsl_error(&(yylsp[-1]), state, "duplicate precise qualifier"); - - (yyval.type_qualifier) = (yyvsp[0].type_qualifier); - (yyval.type_qualifier).flags.q.precise = 1; - } -#line 3983 "glsl_parser.cpp" /* yacc.c:1646 */ +#line 3955 "glsl_parser.cpp" /* yacc.c:1646 */ break; - case 129: -#line 954 "glsl_parser.yy" /* yacc.c:1646 */ + case 127: +#line 935 "glsl_parser.yy" /* yacc.c:1646 */ { if (((yyvsp[-1].type_qualifier).flags.q.in || (yyvsp[-1].type_qualifier).flags.q.out) && ((yyvsp[0].type_qualifier).flags.q.in || (yyvsp[0].type_qualifier).flags.q.out)) _mesa_glsl_error(&(yylsp[-1]), state, "duplicate in/out/inout qualifier"); if (!state->ARB_shading_language_420pack_enable && (yyvsp[0].type_qualifier).flags.q.constant) - _mesa_glsl_error(&(yylsp[-1]), state, "in/out/inout must come after const " - "or precise"); + _mesa_glsl_error(&(yylsp[-1]), state, "const must be specified before " + "in/out/inout"); (yyval.type_qualifier) = (yyvsp[-1].type_qualifier); (yyval.type_qualifier).merge_qualifier(&(yylsp[-1]), state, (yyvsp[0].type_qualifier)); } -#line 3999 "glsl_parser.cpp" /* yacc.c:1646 */ +#line 3971 "glsl_parser.cpp" /* yacc.c:1646 */ break; - case 130: -#line 966 "glsl_parser.yy" /* yacc.c:1646 */ + case 128: +#line 947 "glsl_parser.yy" /* yacc.c:1646 */ { if ((yyvsp[0].type_qualifier).precision != ast_precision_none) _mesa_glsl_error(&(yylsp[-1]), state, "duplicate precision qualifier"); @@ -4010,39 +3982,39 @@ yyreduce: (yyval.type_qualifier) = (yyvsp[0].type_qualifier); (yyval.type_qualifier).precision = (yyvsp[-1].n); } -#line 4014 "glsl_parser.cpp" /* yacc.c:1646 */ +#line 3986 "glsl_parser.cpp" /* yacc.c:1646 */ break; - case 131: -#line 979 "glsl_parser.yy" /* yacc.c:1646 */ + case 129: +#line 960 "glsl_parser.yy" /* yacc.c:1646 */ { memset(& (yyval.type_qualifier), 0, sizeof((yyval.type_qualifier))); (yyval.type_qualifier).flags.q.in = 1; } -#line 4023 "glsl_parser.cpp" /* yacc.c:1646 */ +#line 3995 "glsl_parser.cpp" /* yacc.c:1646 */ break; - case 132: -#line 984 "glsl_parser.yy" /* yacc.c:1646 */ + case 130: +#line 965 "glsl_parser.yy" /* yacc.c:1646 */ { memset(& (yyval.type_qualifier), 0, sizeof((yyval.type_qualifier))); (yyval.type_qualifier).flags.q.out = 1; } -#line 4032 "glsl_parser.cpp" /* yacc.c:1646 */ +#line 4004 "glsl_parser.cpp" /* yacc.c:1646 */ break; - case 133: -#line 989 "glsl_parser.yy" /* yacc.c:1646 */ + case 131: +#line 970 "glsl_parser.yy" /* yacc.c:1646 */ { memset(& (yyval.type_qualifier), 0, sizeof((yyval.type_qualifier))); (yyval.type_qualifier).flags.q.in = 1; (yyval.type_qualifier).flags.q.out = 1; } -#line 4042 "glsl_parser.cpp" /* yacc.c:1646 */ +#line 4014 "glsl_parser.cpp" /* yacc.c:1646 */ break; - case 136: -#line 1003 "glsl_parser.yy" /* yacc.c:1646 */ + case 134: +#line 984 "glsl_parser.yy" /* yacc.c:1646 */ { void *ctx = state; ast_declaration *decl = new(ctx) ast_declaration((yyvsp[0].identifier), NULL, NULL); @@ -4052,11 +4024,11 @@ yyreduce: (yyval.declarator_list)->declarations.push_tail(&decl->link); state->symbols->add_variable(new(state) ir_variable(NULL, (yyvsp[0].identifier), ir_var_auto)); } -#line 4056 "glsl_parser.cpp" /* yacc.c:1646 */ +#line 4028 "glsl_parser.cpp" /* yacc.c:1646 */ break; - case 137: -#line 1013 "glsl_parser.yy" /* yacc.c:1646 */ + case 135: +#line 994 "glsl_parser.yy" /* yacc.c:1646 */ { void *ctx = state; ast_declaration *decl = new(ctx) ast_declaration((yyvsp[-1].identifier), (yyvsp[0].array_specifier), NULL); @@ -4066,11 +4038,11 @@ yyreduce: (yyval.declarator_list)->declarations.push_tail(&decl->link); state->symbols->add_variable(new(state) ir_variable(NULL, (yyvsp[-1].identifier), ir_var_auto)); } -#line 4070 "glsl_parser.cpp" /* yacc.c:1646 */ +#line 4042 "glsl_parser.cpp" /* yacc.c:1646 */ break; - case 138: -#line 1023 "glsl_parser.yy" /* yacc.c:1646 */ + case 136: +#line 1004 "glsl_parser.yy" /* yacc.c:1646 */ { void *ctx = state; ast_declaration *decl = new(ctx) ast_declaration((yyvsp[-3].identifier), (yyvsp[-2].array_specifier), (yyvsp[0].expression)); @@ -4080,11 +4052,11 @@ yyreduce: (yyval.declarator_list)->declarations.push_tail(&decl->link); state->symbols->add_variable(new(state) ir_variable(NULL, (yyvsp[-3].identifier), ir_var_auto)); } -#line 4084 "glsl_parser.cpp" /* yacc.c:1646 */ +#line 4056 "glsl_parser.cpp" /* yacc.c:1646 */ break; - case 139: -#line 1033 "glsl_parser.yy" /* yacc.c:1646 */ + case 137: +#line 1014 "glsl_parser.yy" /* yacc.c:1646 */ { void *ctx = state; ast_declaration *decl = new(ctx) ast_declaration((yyvsp[-2].identifier), NULL, (yyvsp[0].expression)); @@ -4094,22 +4066,22 @@ yyreduce: (yyval.declarator_list)->declarations.push_tail(&decl->link); state->symbols->add_variable(new(state) ir_variable(NULL, (yyvsp[-2].identifier), ir_var_auto)); } -#line 4098 "glsl_parser.cpp" /* yacc.c:1646 */ +#line 4070 "glsl_parser.cpp" /* yacc.c:1646 */ break; - case 140: -#line 1047 "glsl_parser.yy" /* yacc.c:1646 */ + case 138: +#line 1028 "glsl_parser.yy" /* yacc.c:1646 */ { void *ctx = state; /* Empty declaration list is valid. */ (yyval.declarator_list) = new(ctx) ast_declarator_list((yyvsp[0].fully_specified_type)); (yyval.declarator_list)->set_location((yylsp[0])); } -#line 4109 "glsl_parser.cpp" /* yacc.c:1646 */ +#line 4081 "glsl_parser.cpp" /* yacc.c:1646 */ break; - case 141: -#line 1054 "glsl_parser.yy" /* yacc.c:1646 */ + case 139: +#line 1035 "glsl_parser.yy" /* yacc.c:1646 */ { void *ctx = state; ast_declaration *decl = new(ctx) ast_declaration((yyvsp[0].identifier), NULL, NULL); @@ -4119,11 +4091,11 @@ yyreduce: (yyval.declarator_list)->set_location_range((yylsp[-1]), (yylsp[0])); (yyval.declarator_list)->declarations.push_tail(&decl->link); } -#line 4123 "glsl_parser.cpp" /* yacc.c:1646 */ +#line 4095 "glsl_parser.cpp" /* yacc.c:1646 */ break; - case 142: -#line 1064 "glsl_parser.yy" /* yacc.c:1646 */ + case 140: +#line 1045 "glsl_parser.yy" /* yacc.c:1646 */ { void *ctx = state; ast_declaration *decl = new(ctx) ast_declaration((yyvsp[-1].identifier), (yyvsp[0].array_specifier), NULL); @@ -4133,11 +4105,11 @@ yyreduce: (yyval.declarator_list)->set_location_range((yylsp[-2]), (yylsp[0])); (yyval.declarator_list)->declarations.push_tail(&decl->link); } -#line 4137 "glsl_parser.cpp" /* yacc.c:1646 */ +#line 4109 "glsl_parser.cpp" /* yacc.c:1646 */ break; - case 143: -#line 1074 "glsl_parser.yy" /* yacc.c:1646 */ + case 141: +#line 1055 "glsl_parser.yy" /* yacc.c:1646 */ { void *ctx = state; ast_declaration *decl = new(ctx) ast_declaration((yyvsp[-3].identifier), (yyvsp[-2].array_specifier), (yyvsp[0].expression)); @@ -4147,11 +4119,11 @@ yyreduce: (yyval.declarator_list)->set_location_range((yylsp[-4]), (yylsp[-2])); (yyval.declarator_list)->declarations.push_tail(&decl->link); } -#line 4151 "glsl_parser.cpp" /* yacc.c:1646 */ +#line 4123 "glsl_parser.cpp" /* yacc.c:1646 */ break; - case 144: -#line 1084 "glsl_parser.yy" /* yacc.c:1646 */ + case 142: +#line 1065 "glsl_parser.yy" /* yacc.c:1646 */ { void *ctx = state; ast_declaration *decl = new(ctx) ast_declaration((yyvsp[-2].identifier), NULL, (yyvsp[0].expression)); @@ -4161,11 +4133,11 @@ yyreduce: (yyval.declarator_list)->set_location_range((yylsp[-3]), (yylsp[-2])); (yyval.declarator_list)->declarations.push_tail(&decl->link); } -#line 4165 "glsl_parser.cpp" /* yacc.c:1646 */ +#line 4137 "glsl_parser.cpp" /* yacc.c:1646 */ break; - case 145: -#line 1094 "glsl_parser.yy" /* yacc.c:1646 */ + case 143: +#line 1075 "glsl_parser.yy" /* yacc.c:1646 */ { void *ctx = state; ast_declaration *decl = new(ctx) ast_declaration((yyvsp[0].identifier), NULL, NULL); @@ -4177,38 +4149,22 @@ yyreduce: (yyval.declarator_list)->declarations.push_tail(&decl->link); } -#line 4181 "glsl_parser.cpp" /* yacc.c:1646 */ +#line 4153 "glsl_parser.cpp" /* yacc.c:1646 */ break; - case 146: -#line 1106 "glsl_parser.yy" /* yacc.c:1646 */ - { - void *ctx = state; - ast_declaration *decl = new(ctx) ast_declaration((yyvsp[0].identifier), NULL, NULL); - decl->set_location((yylsp[0])); - - (yyval.declarator_list) = new(ctx) ast_declarator_list(NULL); - (yyval.declarator_list)->set_location_range((yylsp[-1]), (yylsp[0])); - (yyval.declarator_list)->precise = true; - - (yyval.declarator_list)->declarations.push_tail(&decl->link); - } -#line 4197 "glsl_parser.cpp" /* yacc.c:1646 */ - break; - - case 147: -#line 1121 "glsl_parser.yy" /* yacc.c:1646 */ + case 144: +#line 1090 "glsl_parser.yy" /* yacc.c:1646 */ { void *ctx = state; (yyval.fully_specified_type) = new(ctx) ast_fully_specified_type(); (yyval.fully_specified_type)->set_location((yylsp[0])); (yyval.fully_specified_type)->specifier = (yyvsp[0].type_specifier); } -#line 4208 "glsl_parser.cpp" /* yacc.c:1646 */ +#line 4164 "glsl_parser.cpp" /* yacc.c:1646 */ break; - case 148: -#line 1128 "glsl_parser.yy" /* yacc.c:1646 */ + case 145: +#line 1097 "glsl_parser.yy" /* yacc.c:1646 */ { void *ctx = state; (yyval.fully_specified_type) = new(ctx) ast_fully_specified_type(); @@ -4216,42 +4172,42 @@ yyreduce: (yyval.fully_specified_type)->qualifier = (yyvsp[-1].type_qualifier); (yyval.fully_specified_type)->specifier = (yyvsp[0].type_specifier); } -#line 4220 "glsl_parser.cpp" /* yacc.c:1646 */ +#line 4176 "glsl_parser.cpp" /* yacc.c:1646 */ break; - case 149: -#line 1139 "glsl_parser.yy" /* yacc.c:1646 */ + case 146: +#line 1108 "glsl_parser.yy" /* yacc.c:1646 */ { (yyval.type_qualifier) = (yyvsp[-1].type_qualifier); } -#line 4228 "glsl_parser.cpp" /* yacc.c:1646 */ +#line 4184 "glsl_parser.cpp" /* yacc.c:1646 */ break; - case 151: -#line 1147 "glsl_parser.yy" /* yacc.c:1646 */ + case 148: +#line 1116 "glsl_parser.yy" /* yacc.c:1646 */ { (yyval.type_qualifier) = (yyvsp[-2].type_qualifier); if (!(yyval.type_qualifier).merge_qualifier(& (yylsp[0]), state, (yyvsp[0].type_qualifier))) { YYERROR; } } -#line 4239 "glsl_parser.cpp" /* yacc.c:1646 */ +#line 4195 "glsl_parser.cpp" /* yacc.c:1646 */ break; - case 152: -#line 1156 "glsl_parser.yy" /* yacc.c:1646 */ + case 149: +#line 1125 "glsl_parser.yy" /* yacc.c:1646 */ { (yyval.n) = (yyvsp[0].n); } -#line 4245 "glsl_parser.cpp" /* yacc.c:1646 */ +#line 4201 "glsl_parser.cpp" /* yacc.c:1646 */ break; - case 153: -#line 1157 "glsl_parser.yy" /* yacc.c:1646 */ + case 150: +#line 1126 "glsl_parser.yy" /* yacc.c:1646 */ { (yyval.n) = (yyvsp[0].n); } -#line 4251 "glsl_parser.cpp" /* yacc.c:1646 */ +#line 4207 "glsl_parser.cpp" /* yacc.c:1646 */ break; - case 154: -#line 1162 "glsl_parser.yy" /* yacc.c:1646 */ + case 151: +#line 1131 "glsl_parser.yy" /* yacc.c:1646 */ { memset(& (yyval.type_qualifier), 0, sizeof((yyval.type_qualifier))); @@ -4436,11 +4392,11 @@ yyreduce: YYERROR; } } -#line 4440 "glsl_parser.cpp" /* yacc.c:1646 */ +#line 4396 "glsl_parser.cpp" /* yacc.c:1646 */ break; - case 155: -#line 1347 "glsl_parser.yy" /* yacc.c:1646 */ + case 152: +#line 1316 "glsl_parser.yy" /* yacc.c:1646 */ { memset(& (yyval.type_qualifier), 0, sizeof((yyval.type_qualifier))); @@ -4503,22 +4459,6 @@ yyreduce: } } - if (state->stage == MESA_SHADER_GEOMETRY) { - if (match_layout_qualifier("stream", (yyvsp[-2].identifier), state) == 0 && - state->check_explicit_attrib_stream_allowed(& (yylsp[0]))) { - (yyval.type_qualifier).flags.q.stream = 1; - - if ((yyvsp[0].n) < 0) { - _mesa_glsl_error(& (yylsp[0]), state, - "invalid stream %d specified", (yyvsp[0].n)); - YYERROR; - } else { - (yyval.type_qualifier).flags.q.explicit_stream = 1; - (yyval.type_qualifier).stream = (yyvsp[0].n); - } - } - } - static const char * const local_size_qualifiers[3] = { "local_size_x", "local_size_y", @@ -4579,11 +4519,11 @@ yyreduce: YYERROR; } } -#line 4583 "glsl_parser.cpp" /* yacc.c:1646 */ +#line 4523 "glsl_parser.cpp" /* yacc.c:1646 */ break; - case 156: -#line 1486 "glsl_parser.yy" /* yacc.c:1646 */ + case 153: +#line 1439 "glsl_parser.yy" /* yacc.c:1646 */ { (yyval.type_qualifier) = (yyvsp[0].type_qualifier); /* Layout qualifiers for ARB_uniform_buffer_object. */ @@ -4597,111 +4537,91 @@ yyreduce: "layout qualifier `%s' is used", (yyvsp[0].type_qualifier)); } } -#line 4601 "glsl_parser.cpp" /* yacc.c:1646 */ +#line 4541 "glsl_parser.cpp" /* yacc.c:1646 */ break; - case 157: -#line 1512 "glsl_parser.yy" /* yacc.c:1646 */ + case 154: +#line 1465 "glsl_parser.yy" /* yacc.c:1646 */ { memset(& (yyval.type_qualifier), 0, sizeof((yyval.type_qualifier))); (yyval.type_qualifier).flags.q.row_major = 1; } -#line 4610 "glsl_parser.cpp" /* yacc.c:1646 */ +#line 4550 "glsl_parser.cpp" /* yacc.c:1646 */ break; - case 158: -#line 1517 "glsl_parser.yy" /* yacc.c:1646 */ + case 155: +#line 1470 "glsl_parser.yy" /* yacc.c:1646 */ { memset(& (yyval.type_qualifier), 0, sizeof((yyval.type_qualifier))); (yyval.type_qualifier).flags.q.packed = 1; } -#line 4619 "glsl_parser.cpp" /* yacc.c:1646 */ +#line 4559 "glsl_parser.cpp" /* yacc.c:1646 */ break; - case 159: -#line 1525 "glsl_parser.yy" /* yacc.c:1646 */ + case 156: +#line 1478 "glsl_parser.yy" /* yacc.c:1646 */ { memset(& (yyval.type_qualifier), 0, sizeof((yyval.type_qualifier))); (yyval.type_qualifier).flags.q.smooth = 1; } -#line 4628 "glsl_parser.cpp" /* yacc.c:1646 */ +#line 4568 "glsl_parser.cpp" /* yacc.c:1646 */ break; - case 160: -#line 1530 "glsl_parser.yy" /* yacc.c:1646 */ + case 157: +#line 1483 "glsl_parser.yy" /* yacc.c:1646 */ { memset(& (yyval.type_qualifier), 0, sizeof((yyval.type_qualifier))); (yyval.type_qualifier).flags.q.flat = 1; } -#line 4637 "glsl_parser.cpp" /* yacc.c:1646 */ +#line 4577 "glsl_parser.cpp" /* yacc.c:1646 */ break; - case 161: -#line 1535 "glsl_parser.yy" /* yacc.c:1646 */ + case 158: +#line 1488 "glsl_parser.yy" /* yacc.c:1646 */ { memset(& (yyval.type_qualifier), 0, sizeof((yyval.type_qualifier))); (yyval.type_qualifier).flags.q.noperspective = 1; } -#line 4646 "glsl_parser.cpp" /* yacc.c:1646 */ +#line 4586 "glsl_parser.cpp" /* yacc.c:1646 */ break; - case 162: -#line 1544 "glsl_parser.yy" /* yacc.c:1646 */ + case 159: +#line 1497 "glsl_parser.yy" /* yacc.c:1646 */ { memset(& (yyval.type_qualifier), 0, sizeof((yyval.type_qualifier))); (yyval.type_qualifier).flags.q.invariant = 1; } -#line 4655 "glsl_parser.cpp" /* yacc.c:1646 */ +#line 4595 "glsl_parser.cpp" /* yacc.c:1646 */ break; - case 163: -#line 1549 "glsl_parser.yy" /* yacc.c:1646 */ - { - memset(& (yyval.type_qualifier), 0, sizeof((yyval.type_qualifier))); - (yyval.type_qualifier).flags.q.precise = 1; - } -#line 4664 "glsl_parser.cpp" /* yacc.c:1646 */ - break; - - case 168: -#line 1558 "glsl_parser.yy" /* yacc.c:1646 */ + case 164: +#line 1506 "glsl_parser.yy" /* yacc.c:1646 */ { memset(&(yyval.type_qualifier), 0, sizeof((yyval.type_qualifier))); (yyval.type_qualifier).precision = (yyvsp[0].n); } -#line 4673 "glsl_parser.cpp" /* yacc.c:1646 */ +#line 4604 "glsl_parser.cpp" /* yacc.c:1646 */ break; - case 169: -#line 1576 "glsl_parser.yy" /* yacc.c:1646 */ - { - if ((yyvsp[0].type_qualifier).flags.q.precise) - _mesa_glsl_error(&(yylsp[-1]), state, "duplicate \"precise\" qualifier"); - - (yyval.type_qualifier) = (yyvsp[0].type_qualifier); - (yyval.type_qualifier).flags.q.precise = 1; - } -#line 4685 "glsl_parser.cpp" /* yacc.c:1646 */ - break; - - case 170: -#line 1584 "glsl_parser.yy" /* yacc.c:1646 */ + case 165: +#line 1524 "glsl_parser.yy" /* yacc.c:1646 */ { if ((yyvsp[0].type_qualifier).flags.q.invariant) _mesa_glsl_error(&(yylsp[-1]), state, "duplicate \"invariant\" qualifier"); - if (!state->ARB_shading_language_420pack_enable && (yyvsp[0].type_qualifier).flags.q.precise) + if ((yyvsp[0].type_qualifier).has_layout()) { _mesa_glsl_error(&(yylsp[-1]), state, - "\"invariant\" must come after \"precise\""); + "\"invariant\" cannot be used with layout(...)"); + } (yyval.type_qualifier) = (yyvsp[0].type_qualifier); (yyval.type_qualifier).flags.q.invariant = 1; } -#line 4701 "glsl_parser.cpp" /* yacc.c:1646 */ +#line 4621 "glsl_parser.cpp" /* yacc.c:1646 */ break; - case 171: -#line 1596 "glsl_parser.yy" /* yacc.c:1646 */ + case 166: +#line 1537 "glsl_parser.yy" /* yacc.c:1646 */ { /* Section 4.3 of the GLSL 1.40 specification states: * "...qualified with one of these interpolation qualifiers" @@ -4716,41 +4636,51 @@ yyreduce: if ((yyvsp[0].type_qualifier).has_interpolation()) _mesa_glsl_error(&(yylsp[-1]), state, "duplicate interpolation qualifier"); - if (!state->ARB_shading_language_420pack_enable && - ((yyvsp[0].type_qualifier).flags.q.precise || (yyvsp[0].type_qualifier).flags.q.invariant)) { + if ((yyvsp[0].type_qualifier).has_layout()) { + _mesa_glsl_error(&(yylsp[-1]), state, "interpolation qualifiers cannot be used " + "with layout(...)"); + } + + if (!state->ARB_shading_language_420pack_enable && (yyvsp[0].type_qualifier).flags.q.invariant) { _mesa_glsl_error(&(yylsp[-1]), state, "interpolation qualifiers must come " - "after \"precise\" or \"invariant\""); + "after \"invariant\""); } (yyval.type_qualifier) = (yyvsp[-1].type_qualifier); (yyval.type_qualifier).merge_qualifier(&(yylsp[-1]), state, (yyvsp[0].type_qualifier)); } -#line 4729 "glsl_parser.cpp" /* yacc.c:1646 */ +#line 4653 "glsl_parser.cpp" /* yacc.c:1646 */ break; - case 172: -#line 1620 "glsl_parser.yy" /* yacc.c:1646 */ + case 167: +#line 1565 "glsl_parser.yy" /* yacc.c:1646 */ { - /* In the absence of ARB_shading_language_420pack, layout qualifiers may - * appear no later than auxiliary storage qualifiers. There is no - * particularly clear spec language mandating this, but in all examples - * the layout qualifier precedes the storage qualifier. - * - * We allow combinations of layout with interpolation, invariant or - * precise qualifiers since these are useful in ARB_separate_shader_objects. - * There is no clear spec guidance on this either. + /* The GLSL 1.50 grammar indicates that a layout(...) declaration can be + * used standalone or immediately before a storage qualifier. It cannot + * be used with interpolation qualifiers or invariant. There does not + * appear to be any text indicating that it must come before the storage + * qualifier, but always seems to in examples. */ if (!state->ARB_shading_language_420pack_enable && (yyvsp[0].type_qualifier).has_layout()) _mesa_glsl_error(&(yylsp[-1]), state, "duplicate layout(...) qualifiers"); + if ((yyvsp[0].type_qualifier).flags.q.invariant) + _mesa_glsl_error(&(yylsp[-1]), state, "layout(...) cannot be used with " + "the \"invariant\" qualifier"); + + if ((yyvsp[0].type_qualifier).has_interpolation()) { + _mesa_glsl_error(&(yylsp[-1]), state, "layout(...) cannot be used with " + "interpolation qualifiers"); + } + (yyval.type_qualifier) = (yyvsp[-1].type_qualifier); (yyval.type_qualifier).merge_qualifier(&(yylsp[-1]), state, (yyvsp[0].type_qualifier)); } -#line 4750 "glsl_parser.cpp" /* yacc.c:1646 */ +#line 4680 "glsl_parser.cpp" /* yacc.c:1646 */ break; - case 173: -#line 1637 "glsl_parser.yy" /* yacc.c:1646 */ + case 168: +#line 1588 "glsl_parser.yy" /* yacc.c:1646 */ { if ((yyvsp[0].type_qualifier).has_auxiliary_storage()) { _mesa_glsl_error(&(yylsp[-1]), state, @@ -4758,19 +4688,18 @@ yyreduce: } if (!state->ARB_shading_language_420pack_enable && - ((yyvsp[0].type_qualifier).flags.q.precise || (yyvsp[0].type_qualifier).flags.q.invariant || - (yyvsp[0].type_qualifier).has_interpolation() || (yyvsp[0].type_qualifier).has_layout())) { + ((yyvsp[0].type_qualifier).flags.q.invariant || (yyvsp[0].type_qualifier).has_interpolation() || (yyvsp[0].type_qualifier).has_layout())) { _mesa_glsl_error(&(yylsp[-1]), state, "auxiliary storage qualifiers must come " "just before storage qualifiers"); } (yyval.type_qualifier) = (yyvsp[-1].type_qualifier); (yyval.type_qualifier).merge_qualifier(&(yylsp[-1]), state, (yyvsp[0].type_qualifier)); } -#line 4770 "glsl_parser.cpp" /* yacc.c:1646 */ +#line 4699 "glsl_parser.cpp" /* yacc.c:1646 */ break; - case 174: -#line 1653 "glsl_parser.yy" /* yacc.c:1646 */ + case 169: +#line 1603 "glsl_parser.yy" /* yacc.c:1646 */ { /* Section 4.3 of the GLSL 1.20 specification states: * "Variable declarations may have a storage qualifier specified..." @@ -4780,21 +4709,21 @@ yyreduce: _mesa_glsl_error(&(yylsp[-1]), state, "duplicate storage qualifier"); if (!state->ARB_shading_language_420pack_enable && - ((yyvsp[0].type_qualifier).flags.q.precise || (yyvsp[0].type_qualifier).flags.q.invariant || (yyvsp[0].type_qualifier).has_interpolation() || - (yyvsp[0].type_qualifier).has_layout() || (yyvsp[0].type_qualifier).has_auxiliary_storage())) { + ((yyvsp[0].type_qualifier).flags.q.invariant || (yyvsp[0].type_qualifier).has_interpolation() || (yyvsp[0].type_qualifier).has_layout() || + (yyvsp[0].type_qualifier).has_auxiliary_storage())) { _mesa_glsl_error(&(yylsp[-1]), state, "storage qualifiers must come after " - "precise, invariant, interpolation, layout and auxiliary " + "invariant, interpolation, layout and auxiliary " "storage qualifiers"); } (yyval.type_qualifier) = (yyvsp[-1].type_qualifier); (yyval.type_qualifier).merge_qualifier(&(yylsp[-1]), state, (yyvsp[0].type_qualifier)); } -#line 4794 "glsl_parser.cpp" /* yacc.c:1646 */ +#line 4723 "glsl_parser.cpp" /* yacc.c:1646 */ break; - case 175: -#line 1673 "glsl_parser.yy" /* yacc.c:1646 */ + case 170: +#line 1623 "glsl_parser.yy" /* yacc.c:1646 */ { if ((yyvsp[0].type_qualifier).precision != ast_precision_none) _mesa_glsl_error(&(yylsp[-1]), state, "duplicate precision qualifier"); @@ -4805,163 +4734,149 @@ yyreduce: (yyval.type_qualifier) = (yyvsp[0].type_qualifier); (yyval.type_qualifier).precision = (yyvsp[-1].n); } -#line 4809 "glsl_parser.cpp" /* yacc.c:1646 */ +#line 4738 "glsl_parser.cpp" /* yacc.c:1646 */ break; - case 176: -#line 1687 "glsl_parser.yy" /* yacc.c:1646 */ + case 171: +#line 1637 "glsl_parser.yy" /* yacc.c:1646 */ { memset(& (yyval.type_qualifier), 0, sizeof((yyval.type_qualifier))); (yyval.type_qualifier).flags.q.centroid = 1; } -#line 4818 "glsl_parser.cpp" /* yacc.c:1646 */ +#line 4747 "glsl_parser.cpp" /* yacc.c:1646 */ break; - case 177: -#line 1692 "glsl_parser.yy" /* yacc.c:1646 */ + case 172: +#line 1642 "glsl_parser.yy" /* yacc.c:1646 */ { memset(& (yyval.type_qualifier), 0, sizeof((yyval.type_qualifier))); (yyval.type_qualifier).flags.q.sample = 1; } -#line 4827 "glsl_parser.cpp" /* yacc.c:1646 */ +#line 4756 "glsl_parser.cpp" /* yacc.c:1646 */ break; - case 178: -#line 1700 "glsl_parser.yy" /* yacc.c:1646 */ + case 173: +#line 1650 "glsl_parser.yy" /* yacc.c:1646 */ { memset(& (yyval.type_qualifier), 0, sizeof((yyval.type_qualifier))); (yyval.type_qualifier).flags.q.constant = 1; } -#line 4836 "glsl_parser.cpp" /* yacc.c:1646 */ +#line 4765 "glsl_parser.cpp" /* yacc.c:1646 */ break; - case 179: -#line 1705 "glsl_parser.yy" /* yacc.c:1646 */ + case 174: +#line 1655 "glsl_parser.yy" /* yacc.c:1646 */ { memset(& (yyval.type_qualifier), 0, sizeof((yyval.type_qualifier))); (yyval.type_qualifier).flags.q.attribute = 1; } -#line 4845 "glsl_parser.cpp" /* yacc.c:1646 */ +#line 4774 "glsl_parser.cpp" /* yacc.c:1646 */ break; - case 180: -#line 1710 "glsl_parser.yy" /* yacc.c:1646 */ + case 175: +#line 1660 "glsl_parser.yy" /* yacc.c:1646 */ { memset(& (yyval.type_qualifier), 0, sizeof((yyval.type_qualifier))); (yyval.type_qualifier).flags.q.varying = 1; } -#line 4854 "glsl_parser.cpp" /* yacc.c:1646 */ +#line 4783 "glsl_parser.cpp" /* yacc.c:1646 */ break; - case 181: -#line 1715 "glsl_parser.yy" /* yacc.c:1646 */ + case 176: +#line 1665 "glsl_parser.yy" /* yacc.c:1646 */ { memset(& (yyval.type_qualifier), 0, sizeof((yyval.type_qualifier))); (yyval.type_qualifier).flags.q.in = 1; } -#line 4863 "glsl_parser.cpp" /* yacc.c:1646 */ +#line 4792 "glsl_parser.cpp" /* yacc.c:1646 */ break; - case 182: -#line 1720 "glsl_parser.yy" /* yacc.c:1646 */ + case 177: +#line 1670 "glsl_parser.yy" /* yacc.c:1646 */ { memset(& (yyval.type_qualifier), 0, sizeof((yyval.type_qualifier))); (yyval.type_qualifier).flags.q.out = 1; - - if (state->stage == MESA_SHADER_GEOMETRY && - state->has_explicit_attrib_stream()) { - /* Section 4.3.8.2 (Output Layout Qualifiers) of the GLSL 4.00 - * spec says: - * - * "If the block or variable is declared with the stream - * identifier, it is associated with the specified stream; - * otherwise, it is associated with the current default stream." - */ - (yyval.type_qualifier).flags.q.stream = 1; - (yyval.type_qualifier).flags.q.explicit_stream = 0; - (yyval.type_qualifier).stream = state->out_qualifier->stream; - } } -#line 4886 "glsl_parser.cpp" /* yacc.c:1646 */ +#line 4801 "glsl_parser.cpp" /* yacc.c:1646 */ break; - case 183: -#line 1739 "glsl_parser.yy" /* yacc.c:1646 */ + case 178: +#line 1675 "glsl_parser.yy" /* yacc.c:1646 */ { memset(& (yyval.type_qualifier), 0, sizeof((yyval.type_qualifier))); (yyval.type_qualifier).flags.q.uniform = 1; } -#line 4895 "glsl_parser.cpp" /* yacc.c:1646 */ +#line 4810 "glsl_parser.cpp" /* yacc.c:1646 */ break; - case 184: -#line 1744 "glsl_parser.yy" /* yacc.c:1646 */ + case 179: +#line 1680 "glsl_parser.yy" /* yacc.c:1646 */ { memset(& (yyval.type_qualifier), 0, sizeof((yyval.type_qualifier))); (yyval.type_qualifier).flags.q.coherent = 1; } -#line 4904 "glsl_parser.cpp" /* yacc.c:1646 */ +#line 4819 "glsl_parser.cpp" /* yacc.c:1646 */ break; - case 185: -#line 1749 "glsl_parser.yy" /* yacc.c:1646 */ + case 180: +#line 1685 "glsl_parser.yy" /* yacc.c:1646 */ { memset(& (yyval.type_qualifier), 0, sizeof((yyval.type_qualifier))); (yyval.type_qualifier).flags.q._volatile = 1; } -#line 4913 "glsl_parser.cpp" /* yacc.c:1646 */ +#line 4828 "glsl_parser.cpp" /* yacc.c:1646 */ break; - case 186: -#line 1754 "glsl_parser.yy" /* yacc.c:1646 */ + case 181: +#line 1690 "glsl_parser.yy" /* yacc.c:1646 */ { STATIC_ASSERT(sizeof((yyval.type_qualifier).flags.q) <= sizeof((yyval.type_qualifier).flags.i)); memset(& (yyval.type_qualifier), 0, sizeof((yyval.type_qualifier))); (yyval.type_qualifier).flags.q.restrict_flag = 1; } -#line 4923 "glsl_parser.cpp" /* yacc.c:1646 */ +#line 4838 "glsl_parser.cpp" /* yacc.c:1646 */ break; - case 187: -#line 1760 "glsl_parser.yy" /* yacc.c:1646 */ + case 182: +#line 1696 "glsl_parser.yy" /* yacc.c:1646 */ { memset(& (yyval.type_qualifier), 0, sizeof((yyval.type_qualifier))); (yyval.type_qualifier).flags.q.read_only = 1; } -#line 4932 "glsl_parser.cpp" /* yacc.c:1646 */ +#line 4847 "glsl_parser.cpp" /* yacc.c:1646 */ break; - case 188: -#line 1765 "glsl_parser.yy" /* yacc.c:1646 */ + case 183: +#line 1701 "glsl_parser.yy" /* yacc.c:1646 */ { memset(& (yyval.type_qualifier), 0, sizeof((yyval.type_qualifier))); (yyval.type_qualifier).flags.q.write_only = 1; } -#line 4941 "glsl_parser.cpp" /* yacc.c:1646 */ +#line 4856 "glsl_parser.cpp" /* yacc.c:1646 */ break; - case 189: -#line 1773 "glsl_parser.yy" /* yacc.c:1646 */ + case 184: +#line 1709 "glsl_parser.yy" /* yacc.c:1646 */ { void *ctx = state; (yyval.array_specifier) = new(ctx) ast_array_specifier((yylsp[-1])); (yyval.array_specifier)->set_location_range((yylsp[-1]), (yylsp[0])); } -#line 4951 "glsl_parser.cpp" /* yacc.c:1646 */ +#line 4866 "glsl_parser.cpp" /* yacc.c:1646 */ break; - case 190: -#line 1779 "glsl_parser.yy" /* yacc.c:1646 */ + case 185: +#line 1715 "glsl_parser.yy" /* yacc.c:1646 */ { void *ctx = state; (yyval.array_specifier) = new(ctx) ast_array_specifier((yylsp[-2]), (yyvsp[-1].expression)); (yyval.array_specifier)->set_location_range((yylsp[-2]), (yylsp[0])); } -#line 4961 "glsl_parser.cpp" /* yacc.c:1646 */ +#line 4876 "glsl_parser.cpp" /* yacc.c:1646 */ break; - case 191: -#line 1785 "glsl_parser.yy" /* yacc.c:1646 */ + case 186: +#line 1721 "glsl_parser.yy" /* yacc.c:1646 */ { (yyval.array_specifier) = (yyvsp[-2].array_specifier); @@ -4975,11 +4890,11 @@ yyreduce: "be unsized"); } } -#line 4979 "glsl_parser.cpp" /* yacc.c:1646 */ +#line 4894 "glsl_parser.cpp" /* yacc.c:1646 */ break; - case 192: -#line 1799 "glsl_parser.yy" /* yacc.c:1646 */ + case 187: +#line 1735 "glsl_parser.yy" /* yacc.c:1646 */ { (yyval.array_specifier) = (yyvsp[-3].array_specifier); @@ -4991,722 +4906,722 @@ yyreduce: (yyval.array_specifier)->add_dimension((yyvsp[-1].expression)); } -#line 4995 "glsl_parser.cpp" /* yacc.c:1646 */ +#line 4910 "glsl_parser.cpp" /* yacc.c:1646 */ break; - case 194: -#line 1815 "glsl_parser.yy" /* yacc.c:1646 */ + case 189: +#line 1751 "glsl_parser.yy" /* yacc.c:1646 */ { (yyval.type_specifier) = (yyvsp[-1].type_specifier); (yyval.type_specifier)->array_specifier = (yyvsp[0].array_specifier); } -#line 5004 "glsl_parser.cpp" /* yacc.c:1646 */ +#line 4919 "glsl_parser.cpp" /* yacc.c:1646 */ break; - case 195: -#line 1823 "glsl_parser.yy" /* yacc.c:1646 */ + case 190: +#line 1759 "glsl_parser.yy" /* yacc.c:1646 */ { void *ctx = state; (yyval.type_specifier) = new(ctx) ast_type_specifier((yyvsp[0].identifier)); (yyval.type_specifier)->set_location((yylsp[0])); } -#line 5014 "glsl_parser.cpp" /* yacc.c:1646 */ +#line 4929 "glsl_parser.cpp" /* yacc.c:1646 */ break; - case 196: -#line 1829 "glsl_parser.yy" /* yacc.c:1646 */ + case 191: +#line 1765 "glsl_parser.yy" /* yacc.c:1646 */ { void *ctx = state; (yyval.type_specifier) = new(ctx) ast_type_specifier((yyvsp[0].struct_specifier)); (yyval.type_specifier)->set_location((yylsp[0])); } -#line 5024 "glsl_parser.cpp" /* yacc.c:1646 */ +#line 4939 "glsl_parser.cpp" /* yacc.c:1646 */ break; - case 197: -#line 1835 "glsl_parser.yy" /* yacc.c:1646 */ + case 192: +#line 1771 "glsl_parser.yy" /* yacc.c:1646 */ { void *ctx = state; (yyval.type_specifier) = new(ctx) ast_type_specifier((yyvsp[0].identifier)); (yyval.type_specifier)->set_location((yylsp[0])); } -#line 5034 "glsl_parser.cpp" /* yacc.c:1646 */ +#line 4949 "glsl_parser.cpp" /* yacc.c:1646 */ break; - case 198: -#line 1843 "glsl_parser.yy" /* yacc.c:1646 */ + case 193: +#line 1779 "glsl_parser.yy" /* yacc.c:1646 */ { (yyval.identifier) = "void"; } -#line 5040 "glsl_parser.cpp" /* yacc.c:1646 */ +#line 4955 "glsl_parser.cpp" /* yacc.c:1646 */ break; - case 199: -#line 1844 "glsl_parser.yy" /* yacc.c:1646 */ + case 194: +#line 1780 "glsl_parser.yy" /* yacc.c:1646 */ { (yyval.identifier) = "float"; } -#line 5046 "glsl_parser.cpp" /* yacc.c:1646 */ +#line 4961 "glsl_parser.cpp" /* yacc.c:1646 */ break; - case 200: -#line 1845 "glsl_parser.yy" /* yacc.c:1646 */ + case 195: +#line 1781 "glsl_parser.yy" /* yacc.c:1646 */ { (yyval.identifier) = "int"; } -#line 5052 "glsl_parser.cpp" /* yacc.c:1646 */ +#line 4967 "glsl_parser.cpp" /* yacc.c:1646 */ break; - case 201: -#line 1846 "glsl_parser.yy" /* yacc.c:1646 */ + case 196: +#line 1782 "glsl_parser.yy" /* yacc.c:1646 */ { (yyval.identifier) = "uint"; } -#line 5058 "glsl_parser.cpp" /* yacc.c:1646 */ +#line 4973 "glsl_parser.cpp" /* yacc.c:1646 */ break; - case 202: -#line 1847 "glsl_parser.yy" /* yacc.c:1646 */ + case 197: +#line 1783 "glsl_parser.yy" /* yacc.c:1646 */ { (yyval.identifier) = "bool"; } -#line 5064 "glsl_parser.cpp" /* yacc.c:1646 */ +#line 4979 "glsl_parser.cpp" /* yacc.c:1646 */ break; - case 203: -#line 1848 "glsl_parser.yy" /* yacc.c:1646 */ + case 198: +#line 1784 "glsl_parser.yy" /* yacc.c:1646 */ { (yyval.identifier) = "vec2"; } -#line 5070 "glsl_parser.cpp" /* yacc.c:1646 */ +#line 4985 "glsl_parser.cpp" /* yacc.c:1646 */ break; - case 204: -#line 1849 "glsl_parser.yy" /* yacc.c:1646 */ + case 199: +#line 1785 "glsl_parser.yy" /* yacc.c:1646 */ { (yyval.identifier) = "vec3"; } -#line 5076 "glsl_parser.cpp" /* yacc.c:1646 */ +#line 4991 "glsl_parser.cpp" /* yacc.c:1646 */ break; - case 205: -#line 1850 "glsl_parser.yy" /* yacc.c:1646 */ + case 200: +#line 1786 "glsl_parser.yy" /* yacc.c:1646 */ { (yyval.identifier) = "vec4"; } -#line 5082 "glsl_parser.cpp" /* yacc.c:1646 */ +#line 4997 "glsl_parser.cpp" /* yacc.c:1646 */ break; - case 206: -#line 1851 "glsl_parser.yy" /* yacc.c:1646 */ + case 201: +#line 1787 "glsl_parser.yy" /* yacc.c:1646 */ { (yyval.identifier) = "bvec2"; } -#line 5088 "glsl_parser.cpp" /* yacc.c:1646 */ +#line 5003 "glsl_parser.cpp" /* yacc.c:1646 */ break; - case 207: -#line 1852 "glsl_parser.yy" /* yacc.c:1646 */ + case 202: +#line 1788 "glsl_parser.yy" /* yacc.c:1646 */ { (yyval.identifier) = "bvec3"; } -#line 5094 "glsl_parser.cpp" /* yacc.c:1646 */ +#line 5009 "glsl_parser.cpp" /* yacc.c:1646 */ break; - case 208: -#line 1853 "glsl_parser.yy" /* yacc.c:1646 */ + case 203: +#line 1789 "glsl_parser.yy" /* yacc.c:1646 */ { (yyval.identifier) = "bvec4"; } -#line 5100 "glsl_parser.cpp" /* yacc.c:1646 */ +#line 5015 "glsl_parser.cpp" /* yacc.c:1646 */ break; - case 209: -#line 1854 "glsl_parser.yy" /* yacc.c:1646 */ + case 204: +#line 1790 "glsl_parser.yy" /* yacc.c:1646 */ { (yyval.identifier) = "ivec2"; } -#line 5106 "glsl_parser.cpp" /* yacc.c:1646 */ +#line 5021 "glsl_parser.cpp" /* yacc.c:1646 */ break; - case 210: -#line 1855 "glsl_parser.yy" /* yacc.c:1646 */ + case 205: +#line 1791 "glsl_parser.yy" /* yacc.c:1646 */ { (yyval.identifier) = "ivec3"; } -#line 5112 "glsl_parser.cpp" /* yacc.c:1646 */ +#line 5027 "glsl_parser.cpp" /* yacc.c:1646 */ break; - case 211: -#line 1856 "glsl_parser.yy" /* yacc.c:1646 */ + case 206: +#line 1792 "glsl_parser.yy" /* yacc.c:1646 */ { (yyval.identifier) = "ivec4"; } -#line 5118 "glsl_parser.cpp" /* yacc.c:1646 */ +#line 5033 "glsl_parser.cpp" /* yacc.c:1646 */ break; - case 212: -#line 1857 "glsl_parser.yy" /* yacc.c:1646 */ + case 207: +#line 1793 "glsl_parser.yy" /* yacc.c:1646 */ { (yyval.identifier) = "uvec2"; } -#line 5124 "glsl_parser.cpp" /* yacc.c:1646 */ +#line 5039 "glsl_parser.cpp" /* yacc.c:1646 */ break; - case 213: -#line 1858 "glsl_parser.yy" /* yacc.c:1646 */ + case 208: +#line 1794 "glsl_parser.yy" /* yacc.c:1646 */ { (yyval.identifier) = "uvec3"; } -#line 5130 "glsl_parser.cpp" /* yacc.c:1646 */ +#line 5045 "glsl_parser.cpp" /* yacc.c:1646 */ break; - case 214: -#line 1859 "glsl_parser.yy" /* yacc.c:1646 */ + case 209: +#line 1795 "glsl_parser.yy" /* yacc.c:1646 */ { (yyval.identifier) = "uvec4"; } -#line 5136 "glsl_parser.cpp" /* yacc.c:1646 */ +#line 5051 "glsl_parser.cpp" /* yacc.c:1646 */ break; - case 215: -#line 1860 "glsl_parser.yy" /* yacc.c:1646 */ + case 210: +#line 1796 "glsl_parser.yy" /* yacc.c:1646 */ { (yyval.identifier) = "mat2"; } -#line 5142 "glsl_parser.cpp" /* yacc.c:1646 */ +#line 5057 "glsl_parser.cpp" /* yacc.c:1646 */ break; - case 216: -#line 1861 "glsl_parser.yy" /* yacc.c:1646 */ + case 211: +#line 1797 "glsl_parser.yy" /* yacc.c:1646 */ { (yyval.identifier) = "mat2x3"; } -#line 5148 "glsl_parser.cpp" /* yacc.c:1646 */ +#line 5063 "glsl_parser.cpp" /* yacc.c:1646 */ break; - case 217: -#line 1862 "glsl_parser.yy" /* yacc.c:1646 */ + case 212: +#line 1798 "glsl_parser.yy" /* yacc.c:1646 */ { (yyval.identifier) = "mat2x4"; } -#line 5154 "glsl_parser.cpp" /* yacc.c:1646 */ +#line 5069 "glsl_parser.cpp" /* yacc.c:1646 */ break; - case 218: -#line 1863 "glsl_parser.yy" /* yacc.c:1646 */ + case 213: +#line 1799 "glsl_parser.yy" /* yacc.c:1646 */ { (yyval.identifier) = "mat3x2"; } -#line 5160 "glsl_parser.cpp" /* yacc.c:1646 */ +#line 5075 "glsl_parser.cpp" /* yacc.c:1646 */ break; - case 219: -#line 1864 "glsl_parser.yy" /* yacc.c:1646 */ + case 214: +#line 1800 "glsl_parser.yy" /* yacc.c:1646 */ { (yyval.identifier) = "mat3"; } -#line 5166 "glsl_parser.cpp" /* yacc.c:1646 */ +#line 5081 "glsl_parser.cpp" /* yacc.c:1646 */ break; - case 220: -#line 1865 "glsl_parser.yy" /* yacc.c:1646 */ + case 215: +#line 1801 "glsl_parser.yy" /* yacc.c:1646 */ { (yyval.identifier) = "mat3x4"; } -#line 5172 "glsl_parser.cpp" /* yacc.c:1646 */ +#line 5087 "glsl_parser.cpp" /* yacc.c:1646 */ break; - case 221: -#line 1866 "glsl_parser.yy" /* yacc.c:1646 */ + case 216: +#line 1802 "glsl_parser.yy" /* yacc.c:1646 */ { (yyval.identifier) = "mat4x2"; } -#line 5178 "glsl_parser.cpp" /* yacc.c:1646 */ +#line 5093 "glsl_parser.cpp" /* yacc.c:1646 */ break; - case 222: -#line 1867 "glsl_parser.yy" /* yacc.c:1646 */ + case 217: +#line 1803 "glsl_parser.yy" /* yacc.c:1646 */ { (yyval.identifier) = "mat4x3"; } -#line 5184 "glsl_parser.cpp" /* yacc.c:1646 */ +#line 5099 "glsl_parser.cpp" /* yacc.c:1646 */ break; - case 223: -#line 1868 "glsl_parser.yy" /* yacc.c:1646 */ + case 218: +#line 1804 "glsl_parser.yy" /* yacc.c:1646 */ { (yyval.identifier) = "mat4"; } -#line 5190 "glsl_parser.cpp" /* yacc.c:1646 */ +#line 5105 "glsl_parser.cpp" /* yacc.c:1646 */ break; - case 224: -#line 1869 "glsl_parser.yy" /* yacc.c:1646 */ + case 219: +#line 1805 "glsl_parser.yy" /* yacc.c:1646 */ { (yyval.identifier) = "sampler1D"; } -#line 5196 "glsl_parser.cpp" /* yacc.c:1646 */ +#line 5111 "glsl_parser.cpp" /* yacc.c:1646 */ break; - case 225: -#line 1870 "glsl_parser.yy" /* yacc.c:1646 */ + case 220: +#line 1806 "glsl_parser.yy" /* yacc.c:1646 */ { (yyval.identifier) = "sampler2D"; } -#line 5202 "glsl_parser.cpp" /* yacc.c:1646 */ +#line 5117 "glsl_parser.cpp" /* yacc.c:1646 */ break; - case 226: -#line 1871 "glsl_parser.yy" /* yacc.c:1646 */ + case 221: +#line 1807 "glsl_parser.yy" /* yacc.c:1646 */ { (yyval.identifier) = "sampler2DRect"; } -#line 5208 "glsl_parser.cpp" /* yacc.c:1646 */ +#line 5123 "glsl_parser.cpp" /* yacc.c:1646 */ break; - case 227: -#line 1872 "glsl_parser.yy" /* yacc.c:1646 */ + case 222: +#line 1808 "glsl_parser.yy" /* yacc.c:1646 */ { (yyval.identifier) = "sampler3D"; } -#line 5214 "glsl_parser.cpp" /* yacc.c:1646 */ +#line 5129 "glsl_parser.cpp" /* yacc.c:1646 */ break; - case 228: -#line 1873 "glsl_parser.yy" /* yacc.c:1646 */ + case 223: +#line 1809 "glsl_parser.yy" /* yacc.c:1646 */ { (yyval.identifier) = "samplerCube"; } -#line 5220 "glsl_parser.cpp" /* yacc.c:1646 */ +#line 5135 "glsl_parser.cpp" /* yacc.c:1646 */ break; - case 229: -#line 1874 "glsl_parser.yy" /* yacc.c:1646 */ + case 224: +#line 1810 "glsl_parser.yy" /* yacc.c:1646 */ { (yyval.identifier) = "samplerExternalOES"; } -#line 5226 "glsl_parser.cpp" /* yacc.c:1646 */ +#line 5141 "glsl_parser.cpp" /* yacc.c:1646 */ break; - case 230: -#line 1875 "glsl_parser.yy" /* yacc.c:1646 */ + case 225: +#line 1811 "glsl_parser.yy" /* yacc.c:1646 */ { (yyval.identifier) = "sampler1DShadow"; } -#line 5232 "glsl_parser.cpp" /* yacc.c:1646 */ +#line 5147 "glsl_parser.cpp" /* yacc.c:1646 */ break; - case 231: -#line 1876 "glsl_parser.yy" /* yacc.c:1646 */ + case 226: +#line 1812 "glsl_parser.yy" /* yacc.c:1646 */ { (yyval.identifier) = "sampler2DShadow"; } -#line 5238 "glsl_parser.cpp" /* yacc.c:1646 */ +#line 5153 "glsl_parser.cpp" /* yacc.c:1646 */ break; - case 232: -#line 1877 "glsl_parser.yy" /* yacc.c:1646 */ + case 227: +#line 1813 "glsl_parser.yy" /* yacc.c:1646 */ { (yyval.identifier) = "sampler2DRectShadow"; } -#line 5244 "glsl_parser.cpp" /* yacc.c:1646 */ +#line 5159 "glsl_parser.cpp" /* yacc.c:1646 */ break; - case 233: -#line 1878 "glsl_parser.yy" /* yacc.c:1646 */ + case 228: +#line 1814 "glsl_parser.yy" /* yacc.c:1646 */ { (yyval.identifier) = "samplerCubeShadow"; } -#line 5250 "glsl_parser.cpp" /* yacc.c:1646 */ +#line 5165 "glsl_parser.cpp" /* yacc.c:1646 */ break; - case 234: -#line 1879 "glsl_parser.yy" /* yacc.c:1646 */ + case 229: +#line 1815 "glsl_parser.yy" /* yacc.c:1646 */ { (yyval.identifier) = "sampler1DArray"; } -#line 5256 "glsl_parser.cpp" /* yacc.c:1646 */ +#line 5171 "glsl_parser.cpp" /* yacc.c:1646 */ break; - case 235: -#line 1880 "glsl_parser.yy" /* yacc.c:1646 */ + case 230: +#line 1816 "glsl_parser.yy" /* yacc.c:1646 */ { (yyval.identifier) = "sampler2DArray"; } -#line 5262 "glsl_parser.cpp" /* yacc.c:1646 */ +#line 5177 "glsl_parser.cpp" /* yacc.c:1646 */ break; - case 236: -#line 1881 "glsl_parser.yy" /* yacc.c:1646 */ + case 231: +#line 1817 "glsl_parser.yy" /* yacc.c:1646 */ { (yyval.identifier) = "sampler1DArrayShadow"; } -#line 5268 "glsl_parser.cpp" /* yacc.c:1646 */ +#line 5183 "glsl_parser.cpp" /* yacc.c:1646 */ break; - case 237: -#line 1882 "glsl_parser.yy" /* yacc.c:1646 */ + case 232: +#line 1818 "glsl_parser.yy" /* yacc.c:1646 */ { (yyval.identifier) = "sampler2DArrayShadow"; } -#line 5274 "glsl_parser.cpp" /* yacc.c:1646 */ +#line 5189 "glsl_parser.cpp" /* yacc.c:1646 */ break; - case 238: -#line 1883 "glsl_parser.yy" /* yacc.c:1646 */ + case 233: +#line 1819 "glsl_parser.yy" /* yacc.c:1646 */ { (yyval.identifier) = "samplerBuffer"; } -#line 5280 "glsl_parser.cpp" /* yacc.c:1646 */ +#line 5195 "glsl_parser.cpp" /* yacc.c:1646 */ break; - case 239: -#line 1884 "glsl_parser.yy" /* yacc.c:1646 */ + case 234: +#line 1820 "glsl_parser.yy" /* yacc.c:1646 */ { (yyval.identifier) = "samplerCubeArray"; } -#line 5286 "glsl_parser.cpp" /* yacc.c:1646 */ +#line 5201 "glsl_parser.cpp" /* yacc.c:1646 */ break; - case 240: -#line 1885 "glsl_parser.yy" /* yacc.c:1646 */ + case 235: +#line 1821 "glsl_parser.yy" /* yacc.c:1646 */ { (yyval.identifier) = "samplerCubeArrayShadow"; } -#line 5292 "glsl_parser.cpp" /* yacc.c:1646 */ +#line 5207 "glsl_parser.cpp" /* yacc.c:1646 */ break; - case 241: -#line 1886 "glsl_parser.yy" /* yacc.c:1646 */ + case 236: +#line 1822 "glsl_parser.yy" /* yacc.c:1646 */ { (yyval.identifier) = "isampler1D"; } -#line 5298 "glsl_parser.cpp" /* yacc.c:1646 */ +#line 5213 "glsl_parser.cpp" /* yacc.c:1646 */ break; - case 242: -#line 1887 "glsl_parser.yy" /* yacc.c:1646 */ + case 237: +#line 1823 "glsl_parser.yy" /* yacc.c:1646 */ { (yyval.identifier) = "isampler2D"; } -#line 5304 "glsl_parser.cpp" /* yacc.c:1646 */ +#line 5219 "glsl_parser.cpp" /* yacc.c:1646 */ break; - case 243: -#line 1888 "glsl_parser.yy" /* yacc.c:1646 */ + case 238: +#line 1824 "glsl_parser.yy" /* yacc.c:1646 */ { (yyval.identifier) = "isampler2DRect"; } -#line 5310 "glsl_parser.cpp" /* yacc.c:1646 */ +#line 5225 "glsl_parser.cpp" /* yacc.c:1646 */ break; - case 244: -#line 1889 "glsl_parser.yy" /* yacc.c:1646 */ + case 239: +#line 1825 "glsl_parser.yy" /* yacc.c:1646 */ { (yyval.identifier) = "isampler3D"; } -#line 5316 "glsl_parser.cpp" /* yacc.c:1646 */ +#line 5231 "glsl_parser.cpp" /* yacc.c:1646 */ break; - case 245: -#line 1890 "glsl_parser.yy" /* yacc.c:1646 */ + case 240: +#line 1826 "glsl_parser.yy" /* yacc.c:1646 */ { (yyval.identifier) = "isamplerCube"; } -#line 5322 "glsl_parser.cpp" /* yacc.c:1646 */ +#line 5237 "glsl_parser.cpp" /* yacc.c:1646 */ break; - case 246: -#line 1891 "glsl_parser.yy" /* yacc.c:1646 */ + case 241: +#line 1827 "glsl_parser.yy" /* yacc.c:1646 */ { (yyval.identifier) = "isampler1DArray"; } -#line 5328 "glsl_parser.cpp" /* yacc.c:1646 */ +#line 5243 "glsl_parser.cpp" /* yacc.c:1646 */ break; - case 247: -#line 1892 "glsl_parser.yy" /* yacc.c:1646 */ + case 242: +#line 1828 "glsl_parser.yy" /* yacc.c:1646 */ { (yyval.identifier) = "isampler2DArray"; } -#line 5334 "glsl_parser.cpp" /* yacc.c:1646 */ +#line 5249 "glsl_parser.cpp" /* yacc.c:1646 */ break; - case 248: -#line 1893 "glsl_parser.yy" /* yacc.c:1646 */ + case 243: +#line 1829 "glsl_parser.yy" /* yacc.c:1646 */ { (yyval.identifier) = "isamplerBuffer"; } -#line 5340 "glsl_parser.cpp" /* yacc.c:1646 */ +#line 5255 "glsl_parser.cpp" /* yacc.c:1646 */ break; - case 249: -#line 1894 "glsl_parser.yy" /* yacc.c:1646 */ + case 244: +#line 1830 "glsl_parser.yy" /* yacc.c:1646 */ { (yyval.identifier) = "isamplerCubeArray"; } -#line 5346 "glsl_parser.cpp" /* yacc.c:1646 */ +#line 5261 "glsl_parser.cpp" /* yacc.c:1646 */ break; - case 250: -#line 1895 "glsl_parser.yy" /* yacc.c:1646 */ + case 245: +#line 1831 "glsl_parser.yy" /* yacc.c:1646 */ { (yyval.identifier) = "usampler1D"; } -#line 5352 "glsl_parser.cpp" /* yacc.c:1646 */ +#line 5267 "glsl_parser.cpp" /* yacc.c:1646 */ break; - case 251: -#line 1896 "glsl_parser.yy" /* yacc.c:1646 */ + case 246: +#line 1832 "glsl_parser.yy" /* yacc.c:1646 */ { (yyval.identifier) = "usampler2D"; } -#line 5358 "glsl_parser.cpp" /* yacc.c:1646 */ +#line 5273 "glsl_parser.cpp" /* yacc.c:1646 */ break; - case 252: -#line 1897 "glsl_parser.yy" /* yacc.c:1646 */ + case 247: +#line 1833 "glsl_parser.yy" /* yacc.c:1646 */ { (yyval.identifier) = "usampler2DRect"; } -#line 5364 "glsl_parser.cpp" /* yacc.c:1646 */ +#line 5279 "glsl_parser.cpp" /* yacc.c:1646 */ break; - case 253: -#line 1898 "glsl_parser.yy" /* yacc.c:1646 */ + case 248: +#line 1834 "glsl_parser.yy" /* yacc.c:1646 */ { (yyval.identifier) = "usampler3D"; } -#line 5370 "glsl_parser.cpp" /* yacc.c:1646 */ +#line 5285 "glsl_parser.cpp" /* yacc.c:1646 */ break; - case 254: -#line 1899 "glsl_parser.yy" /* yacc.c:1646 */ + case 249: +#line 1835 "glsl_parser.yy" /* yacc.c:1646 */ { (yyval.identifier) = "usamplerCube"; } -#line 5376 "glsl_parser.cpp" /* yacc.c:1646 */ +#line 5291 "glsl_parser.cpp" /* yacc.c:1646 */ break; - case 255: -#line 1900 "glsl_parser.yy" /* yacc.c:1646 */ + case 250: +#line 1836 "glsl_parser.yy" /* yacc.c:1646 */ { (yyval.identifier) = "usampler1DArray"; } -#line 5382 "glsl_parser.cpp" /* yacc.c:1646 */ +#line 5297 "glsl_parser.cpp" /* yacc.c:1646 */ break; - case 256: -#line 1901 "glsl_parser.yy" /* yacc.c:1646 */ + case 251: +#line 1837 "glsl_parser.yy" /* yacc.c:1646 */ { (yyval.identifier) = "usampler2DArray"; } -#line 5388 "glsl_parser.cpp" /* yacc.c:1646 */ +#line 5303 "glsl_parser.cpp" /* yacc.c:1646 */ break; - case 257: -#line 1902 "glsl_parser.yy" /* yacc.c:1646 */ + case 252: +#line 1838 "glsl_parser.yy" /* yacc.c:1646 */ { (yyval.identifier) = "usamplerBuffer"; } -#line 5394 "glsl_parser.cpp" /* yacc.c:1646 */ +#line 5309 "glsl_parser.cpp" /* yacc.c:1646 */ break; - case 258: -#line 1903 "glsl_parser.yy" /* yacc.c:1646 */ + case 253: +#line 1839 "glsl_parser.yy" /* yacc.c:1646 */ { (yyval.identifier) = "usamplerCubeArray"; } -#line 5400 "glsl_parser.cpp" /* yacc.c:1646 */ +#line 5315 "glsl_parser.cpp" /* yacc.c:1646 */ break; - case 259: -#line 1904 "glsl_parser.yy" /* yacc.c:1646 */ + case 254: +#line 1840 "glsl_parser.yy" /* yacc.c:1646 */ { (yyval.identifier) = "sampler2DMS"; } -#line 5406 "glsl_parser.cpp" /* yacc.c:1646 */ +#line 5321 "glsl_parser.cpp" /* yacc.c:1646 */ break; - case 260: -#line 1905 "glsl_parser.yy" /* yacc.c:1646 */ + case 255: +#line 1841 "glsl_parser.yy" /* yacc.c:1646 */ { (yyval.identifier) = "isampler2DMS"; } -#line 5412 "glsl_parser.cpp" /* yacc.c:1646 */ +#line 5327 "glsl_parser.cpp" /* yacc.c:1646 */ break; - case 261: -#line 1906 "glsl_parser.yy" /* yacc.c:1646 */ + case 256: +#line 1842 "glsl_parser.yy" /* yacc.c:1646 */ { (yyval.identifier) = "usampler2DMS"; } -#line 5418 "glsl_parser.cpp" /* yacc.c:1646 */ +#line 5333 "glsl_parser.cpp" /* yacc.c:1646 */ break; - case 262: -#line 1907 "glsl_parser.yy" /* yacc.c:1646 */ + case 257: +#line 1843 "glsl_parser.yy" /* yacc.c:1646 */ { (yyval.identifier) = "sampler2DMSArray"; } -#line 5424 "glsl_parser.cpp" /* yacc.c:1646 */ +#line 5339 "glsl_parser.cpp" /* yacc.c:1646 */ break; - case 263: -#line 1908 "glsl_parser.yy" /* yacc.c:1646 */ + case 258: +#line 1844 "glsl_parser.yy" /* yacc.c:1646 */ { (yyval.identifier) = "isampler2DMSArray"; } -#line 5430 "glsl_parser.cpp" /* yacc.c:1646 */ +#line 5345 "glsl_parser.cpp" /* yacc.c:1646 */ break; - case 264: -#line 1909 "glsl_parser.yy" /* yacc.c:1646 */ + case 259: +#line 1845 "glsl_parser.yy" /* yacc.c:1646 */ { (yyval.identifier) = "usampler2DMSArray"; } -#line 5436 "glsl_parser.cpp" /* yacc.c:1646 */ +#line 5351 "glsl_parser.cpp" /* yacc.c:1646 */ break; - case 265: -#line 1910 "glsl_parser.yy" /* yacc.c:1646 */ + case 260: +#line 1846 "glsl_parser.yy" /* yacc.c:1646 */ { (yyval.identifier) = "image1D"; } -#line 5442 "glsl_parser.cpp" /* yacc.c:1646 */ +#line 5357 "glsl_parser.cpp" /* yacc.c:1646 */ break; - case 266: -#line 1911 "glsl_parser.yy" /* yacc.c:1646 */ + case 261: +#line 1847 "glsl_parser.yy" /* yacc.c:1646 */ { (yyval.identifier) = "image2D"; } -#line 5448 "glsl_parser.cpp" /* yacc.c:1646 */ +#line 5363 "glsl_parser.cpp" /* yacc.c:1646 */ break; - case 267: -#line 1912 "glsl_parser.yy" /* yacc.c:1646 */ + case 262: +#line 1848 "glsl_parser.yy" /* yacc.c:1646 */ { (yyval.identifier) = "image3D"; } -#line 5454 "glsl_parser.cpp" /* yacc.c:1646 */ +#line 5369 "glsl_parser.cpp" /* yacc.c:1646 */ break; - case 268: -#line 1913 "glsl_parser.yy" /* yacc.c:1646 */ + case 263: +#line 1849 "glsl_parser.yy" /* yacc.c:1646 */ { (yyval.identifier) = "image2DRect"; } -#line 5460 "glsl_parser.cpp" /* yacc.c:1646 */ +#line 5375 "glsl_parser.cpp" /* yacc.c:1646 */ break; - case 269: -#line 1914 "glsl_parser.yy" /* yacc.c:1646 */ + case 264: +#line 1850 "glsl_parser.yy" /* yacc.c:1646 */ { (yyval.identifier) = "imageCube"; } -#line 5466 "glsl_parser.cpp" /* yacc.c:1646 */ +#line 5381 "glsl_parser.cpp" /* yacc.c:1646 */ break; - case 270: -#line 1915 "glsl_parser.yy" /* yacc.c:1646 */ + case 265: +#line 1851 "glsl_parser.yy" /* yacc.c:1646 */ { (yyval.identifier) = "imageBuffer"; } -#line 5472 "glsl_parser.cpp" /* yacc.c:1646 */ +#line 5387 "glsl_parser.cpp" /* yacc.c:1646 */ break; - case 271: -#line 1916 "glsl_parser.yy" /* yacc.c:1646 */ + case 266: +#line 1852 "glsl_parser.yy" /* yacc.c:1646 */ { (yyval.identifier) = "image1DArray"; } -#line 5478 "glsl_parser.cpp" /* yacc.c:1646 */ +#line 5393 "glsl_parser.cpp" /* yacc.c:1646 */ break; - case 272: -#line 1917 "glsl_parser.yy" /* yacc.c:1646 */ + case 267: +#line 1853 "glsl_parser.yy" /* yacc.c:1646 */ { (yyval.identifier) = "image2DArray"; } -#line 5484 "glsl_parser.cpp" /* yacc.c:1646 */ +#line 5399 "glsl_parser.cpp" /* yacc.c:1646 */ break; - case 273: -#line 1918 "glsl_parser.yy" /* yacc.c:1646 */ + case 268: +#line 1854 "glsl_parser.yy" /* yacc.c:1646 */ { (yyval.identifier) = "imageCubeArray"; } -#line 5490 "glsl_parser.cpp" /* yacc.c:1646 */ +#line 5405 "glsl_parser.cpp" /* yacc.c:1646 */ break; - case 274: -#line 1919 "glsl_parser.yy" /* yacc.c:1646 */ + case 269: +#line 1855 "glsl_parser.yy" /* yacc.c:1646 */ { (yyval.identifier) = "image2DMS"; } -#line 5496 "glsl_parser.cpp" /* yacc.c:1646 */ +#line 5411 "glsl_parser.cpp" /* yacc.c:1646 */ break; - case 275: -#line 1920 "glsl_parser.yy" /* yacc.c:1646 */ + case 270: +#line 1856 "glsl_parser.yy" /* yacc.c:1646 */ { (yyval.identifier) = "image2DMSArray"; } -#line 5502 "glsl_parser.cpp" /* yacc.c:1646 */ +#line 5417 "glsl_parser.cpp" /* yacc.c:1646 */ break; - case 276: -#line 1921 "glsl_parser.yy" /* yacc.c:1646 */ + case 271: +#line 1857 "glsl_parser.yy" /* yacc.c:1646 */ { (yyval.identifier) = "iimage1D"; } -#line 5508 "glsl_parser.cpp" /* yacc.c:1646 */ +#line 5423 "glsl_parser.cpp" /* yacc.c:1646 */ break; - case 277: -#line 1922 "glsl_parser.yy" /* yacc.c:1646 */ + case 272: +#line 1858 "glsl_parser.yy" /* yacc.c:1646 */ { (yyval.identifier) = "iimage2D"; } -#line 5514 "glsl_parser.cpp" /* yacc.c:1646 */ +#line 5429 "glsl_parser.cpp" /* yacc.c:1646 */ break; - case 278: -#line 1923 "glsl_parser.yy" /* yacc.c:1646 */ + case 273: +#line 1859 "glsl_parser.yy" /* yacc.c:1646 */ { (yyval.identifier) = "iimage3D"; } -#line 5520 "glsl_parser.cpp" /* yacc.c:1646 */ +#line 5435 "glsl_parser.cpp" /* yacc.c:1646 */ break; - case 279: -#line 1924 "glsl_parser.yy" /* yacc.c:1646 */ + case 274: +#line 1860 "glsl_parser.yy" /* yacc.c:1646 */ { (yyval.identifier) = "iimage2DRect"; } -#line 5526 "glsl_parser.cpp" /* yacc.c:1646 */ +#line 5441 "glsl_parser.cpp" /* yacc.c:1646 */ break; - case 280: -#line 1925 "glsl_parser.yy" /* yacc.c:1646 */ + case 275: +#line 1861 "glsl_parser.yy" /* yacc.c:1646 */ { (yyval.identifier) = "iimageCube"; } -#line 5532 "glsl_parser.cpp" /* yacc.c:1646 */ +#line 5447 "glsl_parser.cpp" /* yacc.c:1646 */ break; - case 281: -#line 1926 "glsl_parser.yy" /* yacc.c:1646 */ + case 276: +#line 1862 "glsl_parser.yy" /* yacc.c:1646 */ { (yyval.identifier) = "iimageBuffer"; } -#line 5538 "glsl_parser.cpp" /* yacc.c:1646 */ +#line 5453 "glsl_parser.cpp" /* yacc.c:1646 */ break; - case 282: -#line 1927 "glsl_parser.yy" /* yacc.c:1646 */ + case 277: +#line 1863 "glsl_parser.yy" /* yacc.c:1646 */ { (yyval.identifier) = "iimage1DArray"; } -#line 5544 "glsl_parser.cpp" /* yacc.c:1646 */ +#line 5459 "glsl_parser.cpp" /* yacc.c:1646 */ break; - case 283: -#line 1928 "glsl_parser.yy" /* yacc.c:1646 */ + case 278: +#line 1864 "glsl_parser.yy" /* yacc.c:1646 */ { (yyval.identifier) = "iimage2DArray"; } -#line 5550 "glsl_parser.cpp" /* yacc.c:1646 */ +#line 5465 "glsl_parser.cpp" /* yacc.c:1646 */ break; - case 284: -#line 1929 "glsl_parser.yy" /* yacc.c:1646 */ + case 279: +#line 1865 "glsl_parser.yy" /* yacc.c:1646 */ { (yyval.identifier) = "iimageCubeArray"; } -#line 5556 "glsl_parser.cpp" /* yacc.c:1646 */ +#line 5471 "glsl_parser.cpp" /* yacc.c:1646 */ break; - case 285: -#line 1930 "glsl_parser.yy" /* yacc.c:1646 */ + case 280: +#line 1866 "glsl_parser.yy" /* yacc.c:1646 */ { (yyval.identifier) = "iimage2DMS"; } -#line 5562 "glsl_parser.cpp" /* yacc.c:1646 */ +#line 5477 "glsl_parser.cpp" /* yacc.c:1646 */ break; - case 286: -#line 1931 "glsl_parser.yy" /* yacc.c:1646 */ + case 281: +#line 1867 "glsl_parser.yy" /* yacc.c:1646 */ { (yyval.identifier) = "iimage2DMSArray"; } -#line 5568 "glsl_parser.cpp" /* yacc.c:1646 */ +#line 5483 "glsl_parser.cpp" /* yacc.c:1646 */ break; - case 287: -#line 1932 "glsl_parser.yy" /* yacc.c:1646 */ + case 282: +#line 1868 "glsl_parser.yy" /* yacc.c:1646 */ { (yyval.identifier) = "uimage1D"; } -#line 5574 "glsl_parser.cpp" /* yacc.c:1646 */ +#line 5489 "glsl_parser.cpp" /* yacc.c:1646 */ break; - case 288: -#line 1933 "glsl_parser.yy" /* yacc.c:1646 */ + case 283: +#line 1869 "glsl_parser.yy" /* yacc.c:1646 */ { (yyval.identifier) = "uimage2D"; } -#line 5580 "glsl_parser.cpp" /* yacc.c:1646 */ +#line 5495 "glsl_parser.cpp" /* yacc.c:1646 */ break; - case 289: -#line 1934 "glsl_parser.yy" /* yacc.c:1646 */ + case 284: +#line 1870 "glsl_parser.yy" /* yacc.c:1646 */ { (yyval.identifier) = "uimage3D"; } -#line 5586 "glsl_parser.cpp" /* yacc.c:1646 */ +#line 5501 "glsl_parser.cpp" /* yacc.c:1646 */ break; - case 290: -#line 1935 "glsl_parser.yy" /* yacc.c:1646 */ + case 285: +#line 1871 "glsl_parser.yy" /* yacc.c:1646 */ { (yyval.identifier) = "uimage2DRect"; } -#line 5592 "glsl_parser.cpp" /* yacc.c:1646 */ +#line 5507 "glsl_parser.cpp" /* yacc.c:1646 */ break; - case 291: -#line 1936 "glsl_parser.yy" /* yacc.c:1646 */ + case 286: +#line 1872 "glsl_parser.yy" /* yacc.c:1646 */ { (yyval.identifier) = "uimageCube"; } -#line 5598 "glsl_parser.cpp" /* yacc.c:1646 */ +#line 5513 "glsl_parser.cpp" /* yacc.c:1646 */ break; - case 292: -#line 1937 "glsl_parser.yy" /* yacc.c:1646 */ + case 287: +#line 1873 "glsl_parser.yy" /* yacc.c:1646 */ { (yyval.identifier) = "uimageBuffer"; } -#line 5604 "glsl_parser.cpp" /* yacc.c:1646 */ +#line 5519 "glsl_parser.cpp" /* yacc.c:1646 */ break; - case 293: -#line 1938 "glsl_parser.yy" /* yacc.c:1646 */ + case 288: +#line 1874 "glsl_parser.yy" /* yacc.c:1646 */ { (yyval.identifier) = "uimage1DArray"; } -#line 5610 "glsl_parser.cpp" /* yacc.c:1646 */ +#line 5525 "glsl_parser.cpp" /* yacc.c:1646 */ break; - case 294: -#line 1939 "glsl_parser.yy" /* yacc.c:1646 */ + case 289: +#line 1875 "glsl_parser.yy" /* yacc.c:1646 */ { (yyval.identifier) = "uimage2DArray"; } -#line 5616 "glsl_parser.cpp" /* yacc.c:1646 */ +#line 5531 "glsl_parser.cpp" /* yacc.c:1646 */ break; - case 295: -#line 1940 "glsl_parser.yy" /* yacc.c:1646 */ + case 290: +#line 1876 "glsl_parser.yy" /* yacc.c:1646 */ { (yyval.identifier) = "uimageCubeArray"; } -#line 5622 "glsl_parser.cpp" /* yacc.c:1646 */ +#line 5537 "glsl_parser.cpp" /* yacc.c:1646 */ break; - case 296: -#line 1941 "glsl_parser.yy" /* yacc.c:1646 */ + case 291: +#line 1877 "glsl_parser.yy" /* yacc.c:1646 */ { (yyval.identifier) = "uimage2DMS"; } -#line 5628 "glsl_parser.cpp" /* yacc.c:1646 */ +#line 5543 "glsl_parser.cpp" /* yacc.c:1646 */ break; - case 297: -#line 1942 "glsl_parser.yy" /* yacc.c:1646 */ + case 292: +#line 1878 "glsl_parser.yy" /* yacc.c:1646 */ { (yyval.identifier) = "uimage2DMSArray"; } -#line 5634 "glsl_parser.cpp" /* yacc.c:1646 */ +#line 5549 "glsl_parser.cpp" /* yacc.c:1646 */ break; - case 298: -#line 1943 "glsl_parser.yy" /* yacc.c:1646 */ + case 293: +#line 1879 "glsl_parser.yy" /* yacc.c:1646 */ { (yyval.identifier) = "atomic_uint"; } -#line 5640 "glsl_parser.cpp" /* yacc.c:1646 */ +#line 5555 "glsl_parser.cpp" /* yacc.c:1646 */ break; - case 299: -#line 1948 "glsl_parser.yy" /* yacc.c:1646 */ + case 294: +#line 1884 "glsl_parser.yy" /* yacc.c:1646 */ { state->check_precision_qualifiers_allowed(&(yylsp[0])); (yyval.n) = ast_precision_high; } -#line 5649 "glsl_parser.cpp" /* yacc.c:1646 */ +#line 5564 "glsl_parser.cpp" /* yacc.c:1646 */ break; - case 300: -#line 1953 "glsl_parser.yy" /* yacc.c:1646 */ + case 295: +#line 1889 "glsl_parser.yy" /* yacc.c:1646 */ { state->check_precision_qualifiers_allowed(&(yylsp[0])); (yyval.n) = ast_precision_medium; } -#line 5658 "glsl_parser.cpp" /* yacc.c:1646 */ +#line 5573 "glsl_parser.cpp" /* yacc.c:1646 */ break; - case 301: -#line 1958 "glsl_parser.yy" /* yacc.c:1646 */ + case 296: +#line 1894 "glsl_parser.yy" /* yacc.c:1646 */ { state->check_precision_qualifiers_allowed(&(yylsp[0])); (yyval.n) = ast_precision_low; } -#line 5667 "glsl_parser.cpp" /* yacc.c:1646 */ +#line 5582 "glsl_parser.cpp" /* yacc.c:1646 */ break; - case 302: -#line 1966 "glsl_parser.yy" /* yacc.c:1646 */ + case 297: +#line 1902 "glsl_parser.yy" /* yacc.c:1646 */ { void *ctx = state; (yyval.struct_specifier) = new(ctx) ast_struct_specifier((yyvsp[-3].identifier), (yyvsp[-1].declarator_list)); (yyval.struct_specifier)->set_location_range((yylsp[-3]), (yylsp[0])); state->symbols->add_type((yyvsp[-3].identifier), glsl_type::void_type); } -#line 5678 "glsl_parser.cpp" /* yacc.c:1646 */ +#line 5593 "glsl_parser.cpp" /* yacc.c:1646 */ break; - case 303: -#line 1973 "glsl_parser.yy" /* yacc.c:1646 */ + case 298: +#line 1909 "glsl_parser.yy" /* yacc.c:1646 */ { void *ctx = state; (yyval.struct_specifier) = new(ctx) ast_struct_specifier(NULL, (yyvsp[-1].declarator_list)); (yyval.struct_specifier)->set_location_range((yylsp[-2]), (yylsp[0])); } -#line 5688 "glsl_parser.cpp" /* yacc.c:1646 */ +#line 5603 "glsl_parser.cpp" /* yacc.c:1646 */ break; - case 304: -#line 1982 "glsl_parser.yy" /* yacc.c:1646 */ + case 299: +#line 1918 "glsl_parser.yy" /* yacc.c:1646 */ { (yyval.declarator_list) = (yyvsp[0].declarator_list); (yyvsp[0].declarator_list)->link.self_link(); } -#line 5697 "glsl_parser.cpp" /* yacc.c:1646 */ +#line 5612 "glsl_parser.cpp" /* yacc.c:1646 */ break; - case 305: -#line 1987 "glsl_parser.yy" /* yacc.c:1646 */ + case 300: +#line 1923 "glsl_parser.yy" /* yacc.c:1646 */ { (yyval.declarator_list) = (yyvsp[-1].declarator_list); (yyval.declarator_list)->link.insert_before(& (yyvsp[0].declarator_list)->link); } -#line 5706 "glsl_parser.cpp" /* yacc.c:1646 */ +#line 5621 "glsl_parser.cpp" /* yacc.c:1646 */ break; - case 306: -#line 1995 "glsl_parser.yy" /* yacc.c:1646 */ + case 301: +#line 1931 "glsl_parser.yy" /* yacc.c:1646 */ { void *ctx = state; ast_fully_specified_type *const type = (yyvsp[-2].fully_specified_type); @@ -5722,145 +5637,145 @@ yyreduce: (yyval.declarator_list)->declarations.push_degenerate_list_at_head(& (yyvsp[-1].declaration)->link); } -#line 5726 "glsl_parser.cpp" /* yacc.c:1646 */ +#line 5641 "glsl_parser.cpp" /* yacc.c:1646 */ break; - case 307: -#line 2014 "glsl_parser.yy" /* yacc.c:1646 */ + case 302: +#line 1950 "glsl_parser.yy" /* yacc.c:1646 */ { (yyval.declaration) = (yyvsp[0].declaration); (yyvsp[0].declaration)->link.self_link(); } -#line 5735 "glsl_parser.cpp" /* yacc.c:1646 */ +#line 5650 "glsl_parser.cpp" /* yacc.c:1646 */ break; - case 308: -#line 2019 "glsl_parser.yy" /* yacc.c:1646 */ + case 303: +#line 1955 "glsl_parser.yy" /* yacc.c:1646 */ { (yyval.declaration) = (yyvsp[-2].declaration); (yyval.declaration)->link.insert_before(& (yyvsp[0].declaration)->link); } -#line 5744 "glsl_parser.cpp" /* yacc.c:1646 */ +#line 5659 "glsl_parser.cpp" /* yacc.c:1646 */ break; - case 309: -#line 2027 "glsl_parser.yy" /* yacc.c:1646 */ + case 304: +#line 1963 "glsl_parser.yy" /* yacc.c:1646 */ { void *ctx = state; (yyval.declaration) = new(ctx) ast_declaration((yyvsp[0].identifier), NULL, NULL); (yyval.declaration)->set_location((yylsp[0])); } -#line 5754 "glsl_parser.cpp" /* yacc.c:1646 */ +#line 5669 "glsl_parser.cpp" /* yacc.c:1646 */ break; - case 310: -#line 2033 "glsl_parser.yy" /* yacc.c:1646 */ + case 305: +#line 1969 "glsl_parser.yy" /* yacc.c:1646 */ { void *ctx = state; (yyval.declaration) = new(ctx) ast_declaration((yyvsp[-1].identifier), (yyvsp[0].array_specifier), NULL); (yyval.declaration)->set_location_range((yylsp[-1]), (yylsp[0])); } -#line 5764 "glsl_parser.cpp" /* yacc.c:1646 */ +#line 5679 "glsl_parser.cpp" /* yacc.c:1646 */ break; - case 312: -#line 2043 "glsl_parser.yy" /* yacc.c:1646 */ + case 307: +#line 1979 "glsl_parser.yy" /* yacc.c:1646 */ { (yyval.expression) = (yyvsp[-1].expression); } -#line 5772 "glsl_parser.cpp" /* yacc.c:1646 */ +#line 5687 "glsl_parser.cpp" /* yacc.c:1646 */ break; - case 313: -#line 2047 "glsl_parser.yy" /* yacc.c:1646 */ + case 308: +#line 1983 "glsl_parser.yy" /* yacc.c:1646 */ { (yyval.expression) = (yyvsp[-2].expression); } -#line 5780 "glsl_parser.cpp" /* yacc.c:1646 */ +#line 5695 "glsl_parser.cpp" /* yacc.c:1646 */ break; - case 314: -#line 2054 "glsl_parser.yy" /* yacc.c:1646 */ + case 309: +#line 1990 "glsl_parser.yy" /* yacc.c:1646 */ { void *ctx = state; (yyval.expression) = new(ctx) ast_aggregate_initializer(); (yyval.expression)->set_location((yylsp[0])); (yyval.expression)->expressions.push_tail(& (yyvsp[0].expression)->link); } -#line 5791 "glsl_parser.cpp" /* yacc.c:1646 */ +#line 5706 "glsl_parser.cpp" /* yacc.c:1646 */ break; - case 315: -#line 2061 "glsl_parser.yy" /* yacc.c:1646 */ + case 310: +#line 1997 "glsl_parser.yy" /* yacc.c:1646 */ { (yyvsp[-2].expression)->expressions.push_tail(& (yyvsp[0].expression)->link); } -#line 5799 "glsl_parser.cpp" /* yacc.c:1646 */ +#line 5714 "glsl_parser.cpp" /* yacc.c:1646 */ break; - case 317: -#line 2073 "glsl_parser.yy" /* yacc.c:1646 */ + case 312: +#line 2009 "glsl_parser.yy" /* yacc.c:1646 */ { (yyval.node) = (ast_node *) (yyvsp[0].compound_statement); } -#line 5805 "glsl_parser.cpp" /* yacc.c:1646 */ +#line 5720 "glsl_parser.cpp" /* yacc.c:1646 */ break; - case 325: -#line 2088 "glsl_parser.yy" /* yacc.c:1646 */ + case 320: +#line 2024 "glsl_parser.yy" /* yacc.c:1646 */ { void *ctx = state; (yyval.compound_statement) = new(ctx) ast_compound_statement(true, NULL); (yyval.compound_statement)->set_location_range((yylsp[-1]), (yylsp[0])); } -#line 5815 "glsl_parser.cpp" /* yacc.c:1646 */ +#line 5730 "glsl_parser.cpp" /* yacc.c:1646 */ break; - case 326: -#line 2094 "glsl_parser.yy" /* yacc.c:1646 */ + case 321: +#line 2030 "glsl_parser.yy" /* yacc.c:1646 */ { state->symbols->push_scope(); } -#line 5823 "glsl_parser.cpp" /* yacc.c:1646 */ +#line 5738 "glsl_parser.cpp" /* yacc.c:1646 */ break; - case 327: -#line 2098 "glsl_parser.yy" /* yacc.c:1646 */ + case 322: +#line 2034 "glsl_parser.yy" /* yacc.c:1646 */ { void *ctx = state; (yyval.compound_statement) = new(ctx) ast_compound_statement(true, (yyvsp[-1].node)); (yyval.compound_statement)->set_location_range((yylsp[-3]), (yylsp[0])); state->symbols->pop_scope(); } -#line 5834 "glsl_parser.cpp" /* yacc.c:1646 */ +#line 5749 "glsl_parser.cpp" /* yacc.c:1646 */ break; - case 328: -#line 2107 "glsl_parser.yy" /* yacc.c:1646 */ + case 323: +#line 2043 "glsl_parser.yy" /* yacc.c:1646 */ { (yyval.node) = (ast_node *) (yyvsp[0].compound_statement); } -#line 5840 "glsl_parser.cpp" /* yacc.c:1646 */ +#line 5755 "glsl_parser.cpp" /* yacc.c:1646 */ break; - case 330: -#line 2113 "glsl_parser.yy" /* yacc.c:1646 */ + case 325: +#line 2049 "glsl_parser.yy" /* yacc.c:1646 */ { void *ctx = state; (yyval.compound_statement) = new(ctx) ast_compound_statement(false, NULL); (yyval.compound_statement)->set_location_range((yylsp[-1]), (yylsp[0])); } -#line 5850 "glsl_parser.cpp" /* yacc.c:1646 */ +#line 5765 "glsl_parser.cpp" /* yacc.c:1646 */ break; - case 331: -#line 2119 "glsl_parser.yy" /* yacc.c:1646 */ + case 326: +#line 2055 "glsl_parser.yy" /* yacc.c:1646 */ { void *ctx = state; (yyval.compound_statement) = new(ctx) ast_compound_statement(false, (yyvsp[-1].node)); (yyval.compound_statement)->set_location_range((yylsp[-2]), (yylsp[0])); } -#line 5860 "glsl_parser.cpp" /* yacc.c:1646 */ +#line 5775 "glsl_parser.cpp" /* yacc.c:1646 */ break; - case 332: -#line 2128 "glsl_parser.yy" /* yacc.c:1646 */ + case 327: +#line 2064 "glsl_parser.yy" /* yacc.c:1646 */ { if ((yyvsp[0].node) == NULL) { _mesa_glsl_error(& (yylsp[0]), state, "<nil> statement"); @@ -5870,11 +5785,11 @@ yyreduce: (yyval.node) = (yyvsp[0].node); (yyval.node)->link.self_link(); } -#line 5874 "glsl_parser.cpp" /* yacc.c:1646 */ +#line 5789 "glsl_parser.cpp" /* yacc.c:1646 */ break; - case 333: -#line 2138 "glsl_parser.yy" /* yacc.c:1646 */ + case 328: +#line 2074 "glsl_parser.yy" /* yacc.c:1646 */ { if ((yyvsp[0].node) == NULL) { _mesa_glsl_error(& (yylsp[0]), state, "<nil> statement"); @@ -5883,67 +5798,67 @@ yyreduce: (yyval.node) = (yyvsp[-1].node); (yyval.node)->link.insert_before(& (yyvsp[0].node)->link); } -#line 5887 "glsl_parser.cpp" /* yacc.c:1646 */ +#line 5802 "glsl_parser.cpp" /* yacc.c:1646 */ break; - case 334: -#line 2150 "glsl_parser.yy" /* yacc.c:1646 */ + case 329: +#line 2086 "glsl_parser.yy" /* yacc.c:1646 */ { void *ctx = state; (yyval.node) = new(ctx) ast_expression_statement(NULL); (yyval.node)->set_location((yylsp[0])); } -#line 5897 "glsl_parser.cpp" /* yacc.c:1646 */ +#line 5812 "glsl_parser.cpp" /* yacc.c:1646 */ break; - case 335: -#line 2156 "glsl_parser.yy" /* yacc.c:1646 */ + case 330: +#line 2092 "glsl_parser.yy" /* yacc.c:1646 */ { void *ctx = state; (yyval.node) = new(ctx) ast_expression_statement((yyvsp[-1].expression)); (yyval.node)->set_location((yylsp[-1])); } -#line 5907 "glsl_parser.cpp" /* yacc.c:1646 */ +#line 5822 "glsl_parser.cpp" /* yacc.c:1646 */ break; - case 336: -#line 2165 "glsl_parser.yy" /* yacc.c:1646 */ + case 331: +#line 2101 "glsl_parser.yy" /* yacc.c:1646 */ { (yyval.node) = new(state) ast_selection_statement((yyvsp[-2].expression), (yyvsp[0].selection_rest_statement).then_statement, (yyvsp[0].selection_rest_statement).else_statement); (yyval.node)->set_location_range((yylsp[-4]), (yylsp[0])); } -#line 5917 "glsl_parser.cpp" /* yacc.c:1646 */ +#line 5832 "glsl_parser.cpp" /* yacc.c:1646 */ break; - case 337: -#line 2174 "glsl_parser.yy" /* yacc.c:1646 */ + case 332: +#line 2110 "glsl_parser.yy" /* yacc.c:1646 */ { (yyval.selection_rest_statement).then_statement = (yyvsp[-2].node); (yyval.selection_rest_statement).else_statement = (yyvsp[0].node); } -#line 5926 "glsl_parser.cpp" /* yacc.c:1646 */ +#line 5841 "glsl_parser.cpp" /* yacc.c:1646 */ break; - case 338: -#line 2179 "glsl_parser.yy" /* yacc.c:1646 */ + case 333: +#line 2115 "glsl_parser.yy" /* yacc.c:1646 */ { (yyval.selection_rest_statement).then_statement = (yyvsp[0].node); (yyval.selection_rest_statement).else_statement = NULL; } -#line 5935 "glsl_parser.cpp" /* yacc.c:1646 */ +#line 5850 "glsl_parser.cpp" /* yacc.c:1646 */ break; - case 339: -#line 2187 "glsl_parser.yy" /* yacc.c:1646 */ + case 334: +#line 2123 "glsl_parser.yy" /* yacc.c:1646 */ { (yyval.node) = (ast_node *) (yyvsp[0].expression); } -#line 5943 "glsl_parser.cpp" /* yacc.c:1646 */ +#line 5858 "glsl_parser.cpp" /* yacc.c:1646 */ break; - case 340: -#line 2191 "glsl_parser.yy" /* yacc.c:1646 */ + case 335: +#line 2127 "glsl_parser.yy" /* yacc.c:1646 */ { void *ctx = state; ast_declaration *decl = new(ctx) ast_declaration((yyvsp[-2].identifier), NULL, (yyvsp[0].expression)); @@ -5954,56 +5869,56 @@ yyreduce: declarator->declarations.push_tail(&decl->link); (yyval.node) = declarator; } -#line 5958 "glsl_parser.cpp" /* yacc.c:1646 */ +#line 5873 "glsl_parser.cpp" /* yacc.c:1646 */ break; - case 341: -#line 2209 "glsl_parser.yy" /* yacc.c:1646 */ + case 336: +#line 2145 "glsl_parser.yy" /* yacc.c:1646 */ { (yyval.node) = new(state) ast_switch_statement((yyvsp[-2].expression), (yyvsp[0].switch_body)); (yyval.node)->set_location_range((yylsp[-4]), (yylsp[0])); } -#line 5967 "glsl_parser.cpp" /* yacc.c:1646 */ +#line 5882 "glsl_parser.cpp" /* yacc.c:1646 */ break; - case 342: -#line 2217 "glsl_parser.yy" /* yacc.c:1646 */ + case 337: +#line 2153 "glsl_parser.yy" /* yacc.c:1646 */ { (yyval.switch_body) = new(state) ast_switch_body(NULL); (yyval.switch_body)->set_location_range((yylsp[-1]), (yylsp[0])); } -#line 5976 "glsl_parser.cpp" /* yacc.c:1646 */ +#line 5891 "glsl_parser.cpp" /* yacc.c:1646 */ break; - case 343: -#line 2222 "glsl_parser.yy" /* yacc.c:1646 */ + case 338: +#line 2158 "glsl_parser.yy" /* yacc.c:1646 */ { (yyval.switch_body) = new(state) ast_switch_body((yyvsp[-1].case_statement_list)); (yyval.switch_body)->set_location_range((yylsp[-2]), (yylsp[0])); } -#line 5985 "glsl_parser.cpp" /* yacc.c:1646 */ +#line 5900 "glsl_parser.cpp" /* yacc.c:1646 */ break; - case 344: -#line 2230 "glsl_parser.yy" /* yacc.c:1646 */ + case 339: +#line 2166 "glsl_parser.yy" /* yacc.c:1646 */ { (yyval.case_label) = new(state) ast_case_label((yyvsp[-1].expression)); (yyval.case_label)->set_location((yylsp[-1])); } -#line 5994 "glsl_parser.cpp" /* yacc.c:1646 */ +#line 5909 "glsl_parser.cpp" /* yacc.c:1646 */ break; - case 345: -#line 2235 "glsl_parser.yy" /* yacc.c:1646 */ + case 340: +#line 2171 "glsl_parser.yy" /* yacc.c:1646 */ { (yyval.case_label) = new(state) ast_case_label(NULL); (yyval.case_label)->set_location((yylsp[0])); } -#line 6003 "glsl_parser.cpp" /* yacc.c:1646 */ +#line 5918 "glsl_parser.cpp" /* yacc.c:1646 */ break; - case 346: -#line 2243 "glsl_parser.yy" /* yacc.c:1646 */ + case 341: +#line 2179 "glsl_parser.yy" /* yacc.c:1646 */ { ast_case_label_list *labels = new(state) ast_case_label_list(); @@ -6011,20 +5926,20 @@ yyreduce: (yyval.case_label_list) = labels; (yyval.case_label_list)->set_location((yylsp[0])); } -#line 6015 "glsl_parser.cpp" /* yacc.c:1646 */ +#line 5930 "glsl_parser.cpp" /* yacc.c:1646 */ break; - case 347: -#line 2251 "glsl_parser.yy" /* yacc.c:1646 */ + case 342: +#line 2187 "glsl_parser.yy" /* yacc.c:1646 */ { (yyval.case_label_list) = (yyvsp[-1].case_label_list); (yyval.case_label_list)->labels.push_tail(& (yyvsp[0].case_label)->link); } -#line 6024 "glsl_parser.cpp" /* yacc.c:1646 */ +#line 5939 "glsl_parser.cpp" /* yacc.c:1646 */ break; - case 348: -#line 2259 "glsl_parser.yy" /* yacc.c:1646 */ + case 343: +#line 2195 "glsl_parser.yy" /* yacc.c:1646 */ { ast_case_statement *stmts = new(state) ast_case_statement((yyvsp[-1].case_label_list)); stmts->set_location((yylsp[0])); @@ -6032,20 +5947,20 @@ yyreduce: stmts->stmts.push_tail(& (yyvsp[0].node)->link); (yyval.case_statement) = stmts; } -#line 6036 "glsl_parser.cpp" /* yacc.c:1646 */ +#line 5951 "glsl_parser.cpp" /* yacc.c:1646 */ break; - case 349: -#line 2267 "glsl_parser.yy" /* yacc.c:1646 */ + case 344: +#line 2203 "glsl_parser.yy" /* yacc.c:1646 */ { (yyval.case_statement) = (yyvsp[-1].case_statement); (yyval.case_statement)->stmts.push_tail(& (yyvsp[0].node)->link); } -#line 6045 "glsl_parser.cpp" /* yacc.c:1646 */ +#line 5960 "glsl_parser.cpp" /* yacc.c:1646 */ break; - case 350: -#line 2275 "glsl_parser.yy" /* yacc.c:1646 */ + case 345: +#line 2211 "glsl_parser.yy" /* yacc.c:1646 */ { ast_case_statement_list *cases= new(state) ast_case_statement_list(); cases->set_location((yylsp[0])); @@ -6053,153 +5968,153 @@ yyreduce: cases->cases.push_tail(& (yyvsp[0].case_statement)->link); (yyval.case_statement_list) = cases; } -#line 6057 "glsl_parser.cpp" /* yacc.c:1646 */ +#line 5972 "glsl_parser.cpp" /* yacc.c:1646 */ break; - case 351: -#line 2283 "glsl_parser.yy" /* yacc.c:1646 */ + case 346: +#line 2219 "glsl_parser.yy" /* yacc.c:1646 */ { (yyval.case_statement_list) = (yyvsp[-1].case_statement_list); (yyval.case_statement_list)->cases.push_tail(& (yyvsp[0].case_statement)->link); } -#line 6066 "glsl_parser.cpp" /* yacc.c:1646 */ +#line 5981 "glsl_parser.cpp" /* yacc.c:1646 */ break; - case 352: -#line 2291 "glsl_parser.yy" /* yacc.c:1646 */ + case 347: +#line 2227 "glsl_parser.yy" /* yacc.c:1646 */ { void *ctx = state; (yyval.node) = new(ctx) ast_iteration_statement(ast_iteration_statement::ast_while, NULL, (yyvsp[-2].node), NULL, (yyvsp[0].node)); (yyval.node)->set_location_range((yylsp[-4]), (yylsp[-1])); } -#line 6077 "glsl_parser.cpp" /* yacc.c:1646 */ +#line 5992 "glsl_parser.cpp" /* yacc.c:1646 */ break; - case 353: -#line 2298 "glsl_parser.yy" /* yacc.c:1646 */ + case 348: +#line 2234 "glsl_parser.yy" /* yacc.c:1646 */ { void *ctx = state; (yyval.node) = new(ctx) ast_iteration_statement(ast_iteration_statement::ast_do_while, NULL, (yyvsp[-2].expression), NULL, (yyvsp[-5].node)); (yyval.node)->set_location_range((yylsp[-6]), (yylsp[-1])); } -#line 6088 "glsl_parser.cpp" /* yacc.c:1646 */ +#line 6003 "glsl_parser.cpp" /* yacc.c:1646 */ break; - case 354: -#line 2305 "glsl_parser.yy" /* yacc.c:1646 */ + case 349: +#line 2241 "glsl_parser.yy" /* yacc.c:1646 */ { void *ctx = state; (yyval.node) = new(ctx) ast_iteration_statement(ast_iteration_statement::ast_for, (yyvsp[-3].node), (yyvsp[-2].for_rest_statement).cond, (yyvsp[-2].for_rest_statement).rest, (yyvsp[0].node)); (yyval.node)->set_location_range((yylsp[-5]), (yylsp[0])); } -#line 6099 "glsl_parser.cpp" /* yacc.c:1646 */ +#line 6014 "glsl_parser.cpp" /* yacc.c:1646 */ break; - case 358: -#line 2321 "glsl_parser.yy" /* yacc.c:1646 */ + case 353: +#line 2257 "glsl_parser.yy" /* yacc.c:1646 */ { (yyval.node) = NULL; } -#line 6107 "glsl_parser.cpp" /* yacc.c:1646 */ +#line 6022 "glsl_parser.cpp" /* yacc.c:1646 */ break; - case 359: -#line 2328 "glsl_parser.yy" /* yacc.c:1646 */ + case 354: +#line 2264 "glsl_parser.yy" /* yacc.c:1646 */ { (yyval.for_rest_statement).cond = (yyvsp[-1].node); (yyval.for_rest_statement).rest = NULL; } -#line 6116 "glsl_parser.cpp" /* yacc.c:1646 */ +#line 6031 "glsl_parser.cpp" /* yacc.c:1646 */ break; - case 360: -#line 2333 "glsl_parser.yy" /* yacc.c:1646 */ + case 355: +#line 2269 "glsl_parser.yy" /* yacc.c:1646 */ { (yyval.for_rest_statement).cond = (yyvsp[-2].node); (yyval.for_rest_statement).rest = (yyvsp[0].expression); } -#line 6125 "glsl_parser.cpp" /* yacc.c:1646 */ +#line 6040 "glsl_parser.cpp" /* yacc.c:1646 */ break; - case 361: -#line 2342 "glsl_parser.yy" /* yacc.c:1646 */ + case 356: +#line 2278 "glsl_parser.yy" /* yacc.c:1646 */ { void *ctx = state; (yyval.node) = new(ctx) ast_jump_statement(ast_jump_statement::ast_continue, NULL); (yyval.node)->set_location((yylsp[-1])); } -#line 6135 "glsl_parser.cpp" /* yacc.c:1646 */ +#line 6050 "glsl_parser.cpp" /* yacc.c:1646 */ break; - case 362: -#line 2348 "glsl_parser.yy" /* yacc.c:1646 */ + case 357: +#line 2284 "glsl_parser.yy" /* yacc.c:1646 */ { void *ctx = state; (yyval.node) = new(ctx) ast_jump_statement(ast_jump_statement::ast_break, NULL); (yyval.node)->set_location((yylsp[-1])); } -#line 6145 "glsl_parser.cpp" /* yacc.c:1646 */ +#line 6060 "glsl_parser.cpp" /* yacc.c:1646 */ break; - case 363: -#line 2354 "glsl_parser.yy" /* yacc.c:1646 */ + case 358: +#line 2290 "glsl_parser.yy" /* yacc.c:1646 */ { void *ctx = state; (yyval.node) = new(ctx) ast_jump_statement(ast_jump_statement::ast_return, NULL); (yyval.node)->set_location((yylsp[-1])); } -#line 6155 "glsl_parser.cpp" /* yacc.c:1646 */ +#line 6070 "glsl_parser.cpp" /* yacc.c:1646 */ break; - case 364: -#line 2360 "glsl_parser.yy" /* yacc.c:1646 */ + case 359: +#line 2296 "glsl_parser.yy" /* yacc.c:1646 */ { void *ctx = state; (yyval.node) = new(ctx) ast_jump_statement(ast_jump_statement::ast_return, (yyvsp[-1].expression)); (yyval.node)->set_location_range((yylsp[-2]), (yylsp[-1])); } -#line 6165 "glsl_parser.cpp" /* yacc.c:1646 */ +#line 6080 "glsl_parser.cpp" /* yacc.c:1646 */ break; - case 365: -#line 2366 "glsl_parser.yy" /* yacc.c:1646 */ + case 360: +#line 2302 "glsl_parser.yy" /* yacc.c:1646 */ { void *ctx = state; (yyval.node) = new(ctx) ast_jump_statement(ast_jump_statement::ast_discard, NULL); (yyval.node)->set_location((yylsp[-1])); } -#line 6175 "glsl_parser.cpp" /* yacc.c:1646 */ +#line 6090 "glsl_parser.cpp" /* yacc.c:1646 */ break; - case 366: -#line 2374 "glsl_parser.yy" /* yacc.c:1646 */ + case 361: +#line 2310 "glsl_parser.yy" /* yacc.c:1646 */ { (yyval.node) = (yyvsp[0].function_definition); } -#line 6181 "glsl_parser.cpp" /* yacc.c:1646 */ +#line 6096 "glsl_parser.cpp" /* yacc.c:1646 */ break; - case 367: -#line 2375 "glsl_parser.yy" /* yacc.c:1646 */ + case 362: +#line 2311 "glsl_parser.yy" /* yacc.c:1646 */ { (yyval.node) = (yyvsp[0].node); } -#line 6187 "glsl_parser.cpp" /* yacc.c:1646 */ +#line 6102 "glsl_parser.cpp" /* yacc.c:1646 */ break; - case 368: -#line 2376 "glsl_parser.yy" /* yacc.c:1646 */ + case 363: +#line 2312 "glsl_parser.yy" /* yacc.c:1646 */ { (yyval.node) = NULL; } -#line 6193 "glsl_parser.cpp" /* yacc.c:1646 */ +#line 6108 "glsl_parser.cpp" /* yacc.c:1646 */ break; - case 369: -#line 2377 "glsl_parser.yy" /* yacc.c:1646 */ + case 364: +#line 2313 "glsl_parser.yy" /* yacc.c:1646 */ { (yyval.node) = (yyvsp[0].node); } -#line 6199 "glsl_parser.cpp" /* yacc.c:1646 */ +#line 6114 "glsl_parser.cpp" /* yacc.c:1646 */ break; - case 370: -#line 2382 "glsl_parser.yy" /* yacc.c:1646 */ + case 365: +#line 2318 "glsl_parser.yy" /* yacc.c:1646 */ { void *ctx = state; (yyval.function_definition) = new(ctx) ast_function_definition(); @@ -6209,43 +6124,31 @@ yyreduce: state->symbols->pop_scope(); } -#line 6213 "glsl_parser.cpp" /* yacc.c:1646 */ +#line 6128 "glsl_parser.cpp" /* yacc.c:1646 */ break; - case 371: -#line 2396 "glsl_parser.yy" /* yacc.c:1646 */ + case 366: +#line 2332 "glsl_parser.yy" /* yacc.c:1646 */ { (yyval.node) = (yyvsp[0].interface_block); } -#line 6221 "glsl_parser.cpp" /* yacc.c:1646 */ +#line 6136 "glsl_parser.cpp" /* yacc.c:1646 */ break; - case 372: -#line 2400 "glsl_parser.yy" /* yacc.c:1646 */ + case 367: +#line 2336 "glsl_parser.yy" /* yacc.c:1646 */ { ast_interface_block *block = (yyvsp[0].interface_block); if (!block->layout.merge_qualifier(& (yylsp[-1]), state, (yyvsp[-1].type_qualifier))) { YYERROR; } - - foreach_list_typed (ast_declarator_list, member, link, &block->declarations) { - ast_type_qualifier& qualifier = member->type->qualifier; - if (qualifier.flags.q.stream && qualifier.stream != block->layout.stream) { - _mesa_glsl_error(& (yylsp[-1]), state, - "stream layout qualifier on " - "interface block member does not match " - "the interface block (%d vs %d)", - qualifier.stream, block->layout.stream); - YYERROR; - } - } (yyval.node) = block; } -#line 6245 "glsl_parser.cpp" /* yacc.c:1646 */ +#line 6148 "glsl_parser.cpp" /* yacc.c:1646 */ break; - case 373: -#line 2423 "glsl_parser.yy" /* yacc.c:1646 */ + case 368: +#line 2347 "glsl_parser.yy" /* yacc.c:1646 */ { ast_interface_block *const block = (yyvsp[-1].interface_block); @@ -6313,14 +6216,6 @@ yyreduce: block->layout.flags.i |= block_interface_qualifier; - if (state->stage == MESA_SHADER_GEOMETRY && - state->has_explicit_attrib_stream()) { - /* Assign global layout's stream value. */ - block->layout.flags.q.stream = 1; - block->layout.flags.q.explicit_stream = 0; - block->layout.stream = state->out_qualifier->stream; - } - foreach_list_typed (ast_declarator_list, member, link, &block->declarations) { ast_type_qualifier& qualifier = member->type->qualifier; if ((qualifier.flags.i & interface_type_mask) == 0) { @@ -6347,85 +6242,85 @@ yyreduce: (yyval.interface_block) = block; } -#line 6351 "glsl_parser.cpp" /* yacc.c:1646 */ +#line 6246 "glsl_parser.cpp" /* yacc.c:1646 */ break; - case 374: -#line 2528 "glsl_parser.yy" /* yacc.c:1646 */ + case 369: +#line 2444 "glsl_parser.yy" /* yacc.c:1646 */ { memset(& (yyval.type_qualifier), 0, sizeof((yyval.type_qualifier))); (yyval.type_qualifier).flags.q.in = 1; } -#line 6360 "glsl_parser.cpp" /* yacc.c:1646 */ +#line 6255 "glsl_parser.cpp" /* yacc.c:1646 */ break; - case 375: -#line 2533 "glsl_parser.yy" /* yacc.c:1646 */ + case 370: +#line 2449 "glsl_parser.yy" /* yacc.c:1646 */ { memset(& (yyval.type_qualifier), 0, sizeof((yyval.type_qualifier))); (yyval.type_qualifier).flags.q.out = 1; } -#line 6369 "glsl_parser.cpp" /* yacc.c:1646 */ +#line 6264 "glsl_parser.cpp" /* yacc.c:1646 */ break; - case 376: -#line 2538 "glsl_parser.yy" /* yacc.c:1646 */ + case 371: +#line 2454 "glsl_parser.yy" /* yacc.c:1646 */ { memset(& (yyval.type_qualifier), 0, sizeof((yyval.type_qualifier))); (yyval.type_qualifier).flags.q.uniform = 1; } -#line 6378 "glsl_parser.cpp" /* yacc.c:1646 */ +#line 6273 "glsl_parser.cpp" /* yacc.c:1646 */ break; - case 377: -#line 2546 "glsl_parser.yy" /* yacc.c:1646 */ + case 372: +#line 2462 "glsl_parser.yy" /* yacc.c:1646 */ { (yyval.interface_block) = new(state) ast_interface_block(*state->default_uniform_qualifier, NULL, NULL); } -#line 6387 "glsl_parser.cpp" /* yacc.c:1646 */ +#line 6282 "glsl_parser.cpp" /* yacc.c:1646 */ break; - case 378: -#line 2551 "glsl_parser.yy" /* yacc.c:1646 */ + case 373: +#line 2467 "glsl_parser.yy" /* yacc.c:1646 */ { (yyval.interface_block) = new(state) ast_interface_block(*state->default_uniform_qualifier, (yyvsp[0].identifier), NULL); (yyval.interface_block)->set_location((yylsp[0])); } -#line 6397 "glsl_parser.cpp" /* yacc.c:1646 */ +#line 6292 "glsl_parser.cpp" /* yacc.c:1646 */ break; - case 379: -#line 2557 "glsl_parser.yy" /* yacc.c:1646 */ + case 374: +#line 2473 "glsl_parser.yy" /* yacc.c:1646 */ { (yyval.interface_block) = new(state) ast_interface_block(*state->default_uniform_qualifier, (yyvsp[-1].identifier), (yyvsp[0].array_specifier)); (yyval.interface_block)->set_location_range((yylsp[-1]), (yylsp[0])); } -#line 6407 "glsl_parser.cpp" /* yacc.c:1646 */ +#line 6302 "glsl_parser.cpp" /* yacc.c:1646 */ break; - case 380: -#line 2566 "glsl_parser.yy" /* yacc.c:1646 */ + case 375: +#line 2482 "glsl_parser.yy" /* yacc.c:1646 */ { (yyval.declarator_list) = (yyvsp[0].declarator_list); (yyvsp[0].declarator_list)->link.self_link(); } -#line 6416 "glsl_parser.cpp" /* yacc.c:1646 */ +#line 6311 "glsl_parser.cpp" /* yacc.c:1646 */ break; - case 381: -#line 2571 "glsl_parser.yy" /* yacc.c:1646 */ + case 376: +#line 2487 "glsl_parser.yy" /* yacc.c:1646 */ { (yyval.declarator_list) = (yyvsp[-1].declarator_list); (yyvsp[0].declarator_list)->link.insert_before(& (yyval.declarator_list)->link); } -#line 6425 "glsl_parser.cpp" /* yacc.c:1646 */ +#line 6320 "glsl_parser.cpp" /* yacc.c:1646 */ break; - case 382: -#line 2579 "glsl_parser.yy" /* yacc.c:1646 */ + case 377: +#line 2495 "glsl_parser.yy" /* yacc.c:1646 */ { void *ctx = state; ast_fully_specified_type *type = (yyvsp[-2].fully_specified_type); @@ -6446,33 +6341,33 @@ yyreduce: (yyval.declarator_list)->declarations.push_degenerate_list_at_head(& (yyvsp[-1].declaration)->link); } -#line 6450 "glsl_parser.cpp" /* yacc.c:1646 */ +#line 6345 "glsl_parser.cpp" /* yacc.c:1646 */ break; - case 383: -#line 2603 "glsl_parser.yy" /* yacc.c:1646 */ + case 378: +#line 2519 "glsl_parser.yy" /* yacc.c:1646 */ { if (!state->default_uniform_qualifier->merge_qualifier(& (yylsp[-2]), state, (yyvsp[-2].type_qualifier))) { YYERROR; } (yyval.node) = NULL; } -#line 6461 "glsl_parser.cpp" /* yacc.c:1646 */ +#line 6356 "glsl_parser.cpp" /* yacc.c:1646 */ break; - case 384: -#line 2611 "glsl_parser.yy" /* yacc.c:1646 */ + case 379: +#line 2527 "glsl_parser.yy" /* yacc.c:1646 */ { (yyval.node) = NULL; if (!state->in_qualifier->merge_in_qualifier(& (yylsp[-2]), state, (yyvsp[-2].type_qualifier), (yyval.node))) { YYERROR; } } -#line 6472 "glsl_parser.cpp" /* yacc.c:1646 */ +#line 6367 "glsl_parser.cpp" /* yacc.c:1646 */ break; - case 385: -#line 2619 "glsl_parser.yy" /* yacc.c:1646 */ + case 380: +#line 2535 "glsl_parser.yy" /* yacc.c:1646 */ { if (state->stage != MESA_SHADER_GEOMETRY) { _mesa_glsl_error(& (yylsp[-2]), state, @@ -6494,17 +6389,14 @@ yyreduce: } if (!state->out_qualifier->merge_qualifier(& (yylsp[-2]), state, (yyvsp[-2].type_qualifier))) YYERROR; - - /* Allow future assigments of global out's stream id value */ - state->out_qualifier->flags.q.explicit_stream = 0; } (yyval.node) = NULL; } -#line 6504 "glsl_parser.cpp" /* yacc.c:1646 */ +#line 6396 "glsl_parser.cpp" /* yacc.c:1646 */ break; -#line 6508 "glsl_parser.cpp" /* yacc.c:1646 */ +#line 6400 "glsl_parser.cpp" /* yacc.c:1646 */ default: break; } /* User semantic actions sometimes alter yychar, and that requires |