From f50f06552eb1e4af27d6fe99c381eac6a0a4ea0f Mon Sep 17 00:00:00 2001 From: Ian Romanick Date: Wed, 30 Jun 2010 17:30:03 -0700 Subject: glsl2: Parser support for GL_ARB_fragment_coord_conventions --- src/glsl/glsl_parser.cpp | 2613 ++++++++++++++++++++++++---------------------- 1 file changed, 1360 insertions(+), 1253 deletions(-) (limited to 'src/glsl/glsl_parser.cpp') diff --git a/src/glsl/glsl_parser.cpp b/src/glsl/glsl_parser.cpp index b2113c083c..b31f558168 100644 --- a/src/glsl/glsl_parser.cpp +++ b/src/glsl/glsl_parser.cpp @@ -257,46 +257,47 @@ EOL = 371, INTERFACE = 372, OUTPUT = 373, - ASM = 374, - CLASS = 375, - UNION = 376, - ENUM = 377, - TYPEDEF = 378, - TEMPLATE = 379, - THIS = 380, - PACKED = 381, - GOTO = 382, - INLINE_TOK = 383, - NOINLINE = 384, - VOLATILE = 385, - PUBLIC_TOK = 386, - STATIC = 387, - EXTERN = 388, - EXTERNAL = 389, - LONG = 390, - SHORT = 391, - DOUBLE = 392, - HALF = 393, - FIXED = 394, - UNSIGNED = 395, - INPUT = 396, - OUPTUT = 397, - HVEC2 = 398, - HVEC3 = 399, - HVEC4 = 400, - DVEC2 = 401, - DVEC3 = 402, - DVEC4 = 403, - FVEC2 = 404, - FVEC3 = 405, - FVEC4 = 406, - SAMPLER2DRECT = 407, - SAMPLER3DRECT = 408, - SAMPLER2DRECTSHADOW = 409, - SIZEOF = 410, - CAST = 411, - NAMESPACE = 412, - USING = 413 + LAYOUT_TOK = 374, + ASM = 375, + CLASS = 376, + UNION = 377, + ENUM = 378, + TYPEDEF = 379, + TEMPLATE = 380, + THIS = 381, + PACKED = 382, + GOTO = 383, + INLINE_TOK = 384, + NOINLINE = 385, + VOLATILE = 386, + PUBLIC_TOK = 387, + STATIC = 388, + EXTERN = 389, + EXTERNAL = 390, + LONG = 391, + SHORT = 392, + DOUBLE = 393, + HALF = 394, + FIXED = 395, + UNSIGNED = 396, + INPUT = 397, + OUPTUT = 398, + HVEC2 = 399, + HVEC3 = 400, + HVEC4 = 401, + DVEC2 = 402, + DVEC3 = 403, + DVEC4 = 404, + FVEC2 = 405, + FVEC3 = 406, + FVEC4 = 407, + SAMPLER2DRECT = 408, + SAMPLER3DRECT = 409, + SAMPLER2DRECTSHADOW = 410, + SIZEOF = 411, + CAST = 412, + NAMESPACE = 413, + USING = 414 }; #endif @@ -338,7 +339,7 @@ typedef union YYSTYPE /* Line 214 of yacc.c */ -#line 342 "glsl_parser.cpp" +#line 343 "glsl_parser.cpp" } YYSTYPE; # define YYSTYPE_IS_TRIVIAL 1 # define yystype YYSTYPE /* obsolescent; will be withdrawn */ @@ -363,7 +364,7 @@ typedef struct YYLTYPE /* Line 264 of yacc.c */ -#line 367 "glsl_parser.cpp" +#line 368 "glsl_parser.cpp" #ifdef short # undef short @@ -580,20 +581,20 @@ union yyalloc /* YYFINAL -- State number of the termination state. */ #define YYFINAL 5 /* YYLAST -- Last index in YYTABLE. */ -#define YYLAST 3646 +#define YYLAST 3839 /* YYNTOKENS -- Number of terminals. */ -#define YYNTOKENS 183 +#define YYNTOKENS 184 /* YYNNTS -- Number of nonterminals. */ -#define YYNNTS 85 +#define YYNNTS 89 /* YYNRULES -- Number of rules. */ -#define YYNRULES 270 +#define YYNRULES 276 /* YYNRULES -- Number of states. */ -#define YYNSTATES 403 +#define YYNSTATES 413 /* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX. */ #define YYUNDEFTOK 2 -#define YYMAXUTOK 413 +#define YYMAXUTOK 414 #define YYTRANSLATE(YYX) \ ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK) @@ -604,16 +605,16 @@ static const yytype_uint8 yytranslate[] = 0, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 167, 2, 2, 2, 171, 174, 2, - 159, 160, 169, 165, 164, 166, 163, 170, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 178, 180, - 172, 179, 173, 177, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 168, 2, 2, 2, 172, 175, 2, + 160, 161, 170, 166, 165, 167, 164, 171, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 179, 181, + 173, 180, 174, 178, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 161, 2, 162, 175, 2, 2, 2, 2, 2, + 2, 162, 2, 163, 176, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 181, 176, 182, 168, 2, 2, 2, + 2, 2, 2, 182, 177, 183, 169, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, @@ -642,7 +643,7 @@ static const yytype_uint8 yytranslate[] = 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, - 155, 156, 157, 158 + 155, 156, 157, 158, 159 }; #if YYDEBUG @@ -663,137 +664,139 @@ static const yytype_uint16 yyprhs[] = 280, 283, 287, 291, 294, 300, 304, 307, 311, 314, 315, 317, 319, 321, 323, 325, 329, 335, 342, 350, 359, 365, 367, 370, 375, 381, 388, 396, 401, 404, - 406, 409, 411, 413, 415, 417, 419, 422, 425, 427, - 429, 431, 434, 436, 438, 441, 444, 446, 448, 451, - 453, 457, 462, 464, 466, 468, 470, 472, 474, 476, - 478, 480, 482, 484, 486, 488, 490, 492, 494, 496, - 498, 500, 502, 504, 506, 508, 510, 512, 514, 516, - 518, 520, 522, 524, 526, 528, 530, 532, 534, 536, - 538, 540, 542, 544, 546, 548, 550, 552, 554, 556, - 558, 560, 562, 564, 566, 568, 570, 572, 574, 576, - 578, 580, 582, 588, 593, 595, 598, 602, 604, 608, - 610, 615, 617, 619, 621, 623, 625, 627, 629, 631, - 633, 635, 637, 639, 641, 643, 646, 650, 652, 654, - 657, 661, 663, 666, 668, 671, 679, 685, 691, 699, - 701, 706, 712, 716, 719, 725, 733, 740, 742, 744, - 746, 747, 750, 754, 757, 760, 763, 767, 770, 772, - 774 + 406, 409, 410, 412, 417, 419, 423, 425, 427, 429, + 431, 433, 435, 438, 441, 443, 445, 448, 451, 454, + 456, 459, 462, 464, 466, 469, 471, 475, 480, 482, + 484, 486, 488, 490, 492, 494, 496, 498, 500, 502, + 504, 506, 508, 510, 512, 514, 516, 518, 520, 522, + 524, 526, 528, 530, 532, 534, 536, 538, 540, 542, + 544, 546, 548, 550, 552, 554, 556, 558, 560, 562, + 564, 566, 568, 570, 572, 574, 576, 578, 580, 582, + 584, 586, 588, 590, 592, 594, 596, 598, 600, 606, + 611, 613, 616, 620, 622, 626, 628, 633, 635, 637, + 639, 641, 643, 645, 647, 649, 651, 653, 655, 657, + 659, 661, 664, 668, 670, 672, 675, 679, 681, 684, + 686, 689, 697, 703, 709, 717, 719, 724, 730, 734, + 737, 743, 751, 758, 760, 762, 764, 765, 768, 772, + 775, 778, 781, 785, 788, 790, 792 }; /* YYRHS -- A `-1'-separated list of the rules' RHS. */ static const yytype_int16 yyrhs[] = { - 184, 0, -1, -1, 186, 187, 185, 189, -1, -1, - 111, 81, 116, -1, -1, 187, 188, -1, 112, 79, - 115, 79, 116, -1, 266, -1, 189, 266, -1, 79, - -1, 190, -1, 81, -1, 82, -1, 80, -1, 83, - -1, 159, 217, 160, -1, 191, -1, 192, 161, 193, - 162, -1, 194, -1, 192, 163, 79, -1, 192, 87, - -1, 192, 88, -1, 217, -1, 195, -1, 196, -1, - 192, 163, 196, -1, 198, 160, -1, 197, 160, -1, - 199, 77, -1, 199, -1, 199, 215, -1, 198, 164, - 215, -1, 200, 159, -1, 235, -1, 79, -1, 84, - -1, 192, -1, 87, 201, -1, 88, 201, -1, 202, - 201, -1, 165, -1, 166, -1, 167, -1, 168, -1, - 201, -1, 203, 169, 201, -1, 203, 170, 201, -1, - 203, 171, 201, -1, 203, -1, 204, 165, 203, -1, - 204, 166, 203, -1, 204, -1, 205, 85, 204, -1, - 205, 86, 204, -1, 205, -1, 206, 172, 205, -1, - 206, 173, 205, -1, 206, 89, 205, -1, 206, 90, - 205, -1, 206, -1, 207, 91, 206, -1, 207, 92, - 206, -1, 207, -1, 208, 174, 207, -1, 208, -1, - 209, 175, 208, -1, 209, -1, 210, 176, 209, -1, - 210, -1, 211, 93, 210, -1, 211, -1, 212, 95, - 211, -1, 212, -1, 213, 94, 212, -1, 213, -1, - 213, 177, 217, 178, 215, -1, 214, -1, 201, 216, - 215, -1, 179, -1, 96, -1, 97, -1, 99, -1, + 185, 0, -1, -1, 187, 188, 186, 190, -1, -1, + 111, 81, 116, -1, -1, 188, 189, -1, 112, 79, + 115, 79, 116, -1, 271, -1, 190, 271, -1, 79, + -1, 191, -1, 81, -1, 82, -1, 80, -1, 83, + -1, 160, 218, 161, -1, 192, -1, 193, 162, 194, + 163, -1, 195, -1, 193, 164, 79, -1, 193, 87, + -1, 193, 88, -1, 218, -1, 196, -1, 197, -1, + 193, 164, 197, -1, 199, 161, -1, 198, 161, -1, + 200, 77, -1, 200, -1, 200, 216, -1, 199, 165, + 216, -1, 201, 160, -1, 240, -1, 79, -1, 84, + -1, 193, -1, 87, 202, -1, 88, 202, -1, 203, + 202, -1, 166, -1, 167, -1, 168, -1, 169, -1, + 202, -1, 204, 170, 202, -1, 204, 171, 202, -1, + 204, 172, 202, -1, 204, -1, 205, 166, 204, -1, + 205, 167, 204, -1, 205, -1, 206, 85, 205, -1, + 206, 86, 205, -1, 206, -1, 207, 173, 206, -1, + 207, 174, 206, -1, 207, 89, 206, -1, 207, 90, + 206, -1, 207, -1, 208, 91, 207, -1, 208, 92, + 207, -1, 208, -1, 209, 175, 208, -1, 209, -1, + 210, 176, 209, -1, 210, -1, 211, 177, 210, -1, + 211, -1, 212, 93, 211, -1, 212, -1, 213, 95, + 212, -1, 213, -1, 214, 94, 213, -1, 214, -1, + 214, 178, 218, 179, 216, -1, 215, -1, 202, 217, + 216, -1, 180, -1, 96, -1, 97, -1, 99, -1, 98, -1, 105, -1, 100, -1, 101, -1, 102, -1, - 103, -1, 104, -1, 215, -1, 217, 164, 215, -1, - 214, -1, 220, 180, -1, 228, 180, -1, 110, 239, - 236, 180, -1, 221, 160, -1, 223, -1, 222, -1, - 223, 225, -1, 222, 164, 225, -1, 230, 79, 159, - -1, 235, 79, -1, 235, 79, 161, 218, 162, -1, - 232, 226, 224, -1, 226, 224, -1, 232, 226, 227, - -1, 226, 227, -1, -1, 36, -1, 37, -1, 38, - -1, 235, -1, 229, -1, 228, 164, 79, -1, 228, - 164, 79, 161, 162, -1, 228, 164, 79, 161, 218, - 162, -1, 228, 164, 79, 161, 162, 179, 245, -1, - 228, 164, 79, 161, 218, 162, 179, 245, -1, 228, - 164, 79, 179, 245, -1, 230, -1, 230, 79, -1, - 230, 79, 161, 162, -1, 230, 79, 161, 218, 162, - -1, 230, 79, 161, 162, 179, 245, -1, 230, 79, - 161, 218, 162, 179, 245, -1, 230, 79, 179, 245, - -1, 106, 79, -1, 235, -1, 233, 235, -1, 43, - -1, 42, -1, 41, -1, 4, -1, 234, -1, 231, - 233, -1, 106, 233, -1, 4, -1, 3, -1, 40, - -1, 35, 40, -1, 36, -1, 37, -1, 35, 36, - -1, 35, 37, -1, 39, -1, 236, -1, 239, 236, - -1, 237, -1, 237, 161, 162, -1, 237, 161, 218, - 162, -1, 238, -1, 240, -1, 79, -1, 77, -1, - 6, -1, 7, -1, 8, -1, 5, -1, 29, -1, - 30, -1, 31, -1, 20, -1, 21, -1, 22, -1, - 23, -1, 24, -1, 25, -1, 26, -1, 27, -1, - 28, -1, 32, -1, 33, -1, 34, -1, 44, -1, - 45, -1, 46, -1, 47, -1, 48, -1, 49, -1, - 50, -1, 51, -1, 52, -1, 53, -1, 54, -1, - 152, -1, 55, -1, 56, -1, 57, -1, 58, -1, - 154, -1, 59, -1, 60, -1, 61, -1, 62, -1, - 63, -1, 64, -1, 65, -1, 66, -1, 67, -1, - 68, -1, 69, -1, 70, -1, 71, -1, 72, -1, - 73, -1, 74, -1, 75, -1, 109, -1, 108, -1, - 107, -1, 76, 79, 181, 241, 182, -1, 76, 181, - 241, 182, -1, 242, -1, 241, 242, -1, 235, 243, - 180, -1, 244, -1, 243, 164, 244, -1, 79, -1, - 79, 161, 218, 162, -1, 215, -1, 219, -1, 248, - -1, 249, -1, 251, -1, 250, -1, 257, -1, 246, - -1, 255, -1, 256, -1, 259, -1, 260, -1, 261, - -1, 265, -1, 181, 182, -1, 181, 254, 182, -1, - 253, -1, 250, -1, 181, 182, -1, 181, 254, 182, - -1, 247, -1, 254, 247, -1, 180, -1, 217, 180, - -1, 14, 159, 217, 160, 248, 12, 248, -1, 14, - 159, 217, 160, 248, -1, 14, 159, 217, 160, 249, - -1, 14, 159, 217, 160, 248, 12, 249, -1, 217, - -1, 230, 79, 179, 245, -1, 17, 159, 217, 160, - 251, -1, 18, 217, 178, -1, 19, 178, -1, 78, - 159, 258, 160, 252, -1, 11, 247, 78, 159, 217, - 160, 180, -1, 13, 159, 262, 264, 160, 252, -1, - 255, -1, 246, -1, 258, -1, -1, 263, 180, -1, - 263, 180, 217, -1, 10, 180, -1, 9, 180, -1, - 16, 180, -1, 16, 217, 180, -1, 15, 180, -1, - 267, -1, 219, -1, 220, 253, -1 + 103, -1, 104, -1, 216, -1, 218, 165, 216, -1, + 215, -1, 221, 181, -1, 229, 181, -1, 110, 244, + 241, 181, -1, 222, 161, -1, 224, -1, 223, -1, + 224, 226, -1, 223, 165, 226, -1, 231, 79, 160, + -1, 240, 79, -1, 240, 79, 162, 219, 163, -1, + 237, 227, 225, -1, 227, 225, -1, 237, 227, 228, + -1, 227, 228, -1, -1, 36, -1, 37, -1, 38, + -1, 240, -1, 230, -1, 229, 165, 79, -1, 229, + 165, 79, 162, 163, -1, 229, 165, 79, 162, 219, + 163, -1, 229, 165, 79, 162, 163, 180, 250, -1, + 229, 165, 79, 162, 219, 163, 180, 250, -1, 229, + 165, 79, 180, 250, -1, 231, -1, 231, 79, -1, + 231, 79, 162, 163, -1, 231, 79, 162, 219, 163, + -1, 231, 79, 162, 163, 180, 250, -1, 231, 79, + 162, 219, 163, 180, 250, -1, 231, 79, 180, 250, + -1, 106, 79, -1, 240, -1, 238, 240, -1, -1, + 233, -1, 119, 160, 234, 161, -1, 235, -1, 234, + 165, 235, -1, 79, -1, 43, -1, 42, -1, 41, + -1, 4, -1, 239, -1, 236, 238, -1, 106, 238, + -1, 4, -1, 3, -1, 232, 40, -1, 35, 40, + -1, 232, 36, -1, 37, -1, 35, 36, -1, 35, + 37, -1, 39, -1, 241, -1, 244, 241, -1, 242, + -1, 242, 162, 163, -1, 242, 162, 219, 163, -1, + 243, -1, 245, -1, 79, -1, 77, -1, 6, -1, + 7, -1, 8, -1, 5, -1, 29, -1, 30, -1, + 31, -1, 20, -1, 21, -1, 22, -1, 23, -1, + 24, -1, 25, -1, 26, -1, 27, -1, 28, -1, + 32, -1, 33, -1, 34, -1, 44, -1, 45, -1, + 46, -1, 47, -1, 48, -1, 49, -1, 50, -1, + 51, -1, 52, -1, 53, -1, 54, -1, 153, -1, + 55, -1, 56, -1, 57, -1, 58, -1, 155, -1, + 59, -1, 60, -1, 61, -1, 62, -1, 63, -1, + 64, -1, 65, -1, 66, -1, 67, -1, 68, -1, + 69, -1, 70, -1, 71, -1, 72, -1, 73, -1, + 74, -1, 75, -1, 109, -1, 108, -1, 107, -1, + 76, 79, 182, 246, 183, -1, 76, 182, 246, 183, + -1, 247, -1, 246, 247, -1, 240, 248, 181, -1, + 249, -1, 248, 165, 249, -1, 79, -1, 79, 162, + 219, 163, -1, 216, -1, 220, -1, 253, -1, 254, + -1, 256, -1, 255, -1, 262, -1, 251, -1, 260, + -1, 261, -1, 264, -1, 265, -1, 266, -1, 270, + -1, 182, 183, -1, 182, 259, 183, -1, 258, -1, + 255, -1, 182, 183, -1, 182, 259, 183, -1, 252, + -1, 259, 252, -1, 181, -1, 218, 181, -1, 14, + 160, 218, 161, 253, 12, 253, -1, 14, 160, 218, + 161, 253, -1, 14, 160, 218, 161, 254, -1, 14, + 160, 218, 161, 253, 12, 254, -1, 218, -1, 231, + 79, 180, 250, -1, 17, 160, 218, 161, 256, -1, + 18, 218, 179, -1, 19, 179, -1, 78, 160, 263, + 161, 257, -1, 11, 252, 78, 160, 218, 161, 181, + -1, 13, 160, 267, 269, 161, 257, -1, 260, -1, + 251, -1, 263, -1, -1, 268, 181, -1, 268, 181, + 218, -1, 10, 181, -1, 9, 181, -1, 16, 181, + -1, 16, 218, 181, -1, 15, 181, -1, 272, -1, + 220, -1, 221, 258, -1 }; /* YYRLINE[YYN] -- source line where rule number YYN was defined. */ static const yytype_uint16 yyrline[] = { - 0, 190, 190, 189, 198, 201, 218, 220, 224, 233, - 241, 252, 256, 263, 270, 277, 284, 291, 298, 299, - 305, 309, 316, 322, 331, 335, 339, 340, 349, 350, - 354, 355, 359, 365, 377, 381, 387, 394, 405, 406, - 412, 418, 428, 429, 430, 431, 435, 436, 442, 448, - 457, 458, 464, 473, 474, 480, 489, 490, 496, 502, - 508, 517, 518, 524, 533, 534, 543, 544, 553, 554, - 563, 564, 573, 574, 583, 584, 593, 594, 603, 604, - 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, - 623, 627, 631, 647, 651, 655, 659, 673, 677, 678, - 682, 687, 695, 706, 716, 731, 738, 743, 754, 766, - 767, 768, 769, 773, 777, 778, 787, 796, 805, 814, - 823, 836, 847, 856, 865, 874, 883, 892, 901, 915, - 922, 933, 934, 935, 939, 943, 944, 948, 956, 957, - 958, 959, 960, 961, 962, 963, 964, 968, 969, 977, - 978, 984, 993, 999, 1005, 1014, 1015, 1016, 1017, 1018, - 1019, 1020, 1021, 1022, 1023, 1024, 1025, 1026, 1027, 1028, - 1029, 1030, 1031, 1032, 1033, 1034, 1035, 1036, 1037, 1038, - 1039, 1040, 1041, 1042, 1043, 1044, 1045, 1046, 1047, 1048, - 1049, 1050, 1051, 1052, 1053, 1054, 1055, 1056, 1057, 1058, - 1059, 1060, 1061, 1062, 1063, 1064, 1065, 1066, 1067, 1071, - 1082, 1093, 1107, 1113, 1122, 1127, 1135, 1150, 1155, 1163, - 1169, 1178, 1182, 1188, 1189, 1193, 1194, 1198, 1202, 1203, - 1204, 1205, 1206, 1207, 1208, 1212, 1218, 1227, 1228, 1232, - 1238, 1247, 1257, 1269, 1275, 1284, 1293, 1299, 1305, 1314, - 1318, 1332, 1336, 1337, 1341, 1348, 1355, 1365, 1366, 1370, - 1372, 1378, 1383, 1392, 1398, 1404, 1410, 1416, 1425, 1426, - 1430 + 0, 193, 193, 192, 201, 204, 221, 223, 227, 236, + 244, 255, 259, 266, 273, 280, 287, 294, 301, 302, + 308, 312, 319, 325, 334, 338, 342, 343, 352, 353, + 357, 358, 362, 368, 380, 384, 390, 397, 408, 409, + 415, 421, 431, 432, 433, 434, 438, 439, 445, 451, + 460, 461, 467, 476, 477, 483, 492, 493, 499, 505, + 511, 520, 521, 527, 536, 537, 546, 547, 556, 557, + 566, 567, 576, 577, 586, 587, 596, 597, 606, 607, + 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, + 626, 630, 634, 650, 654, 658, 662, 676, 680, 681, + 685, 690, 698, 709, 719, 734, 741, 746, 757, 769, + 770, 771, 772, 776, 780, 781, 790, 799, 808, 817, + 826, 839, 850, 859, 868, 877, 886, 895, 904, 918, + 925, 936, 937, 941, 948, 949, 956, 990, 991, 992, + 996, 1000, 1001, 1005, 1013, 1014, 1015, 1016, 1017, 1018, + 1019, 1020, 1021, 1025, 1026, 1034, 1035, 1041, 1050, 1056, + 1062, 1071, 1072, 1073, 1074, 1075, 1076, 1077, 1078, 1079, + 1080, 1081, 1082, 1083, 1084, 1085, 1086, 1087, 1088, 1089, + 1090, 1091, 1092, 1093, 1094, 1095, 1096, 1097, 1098, 1099, + 1100, 1101, 1102, 1103, 1104, 1105, 1106, 1107, 1108, 1109, + 1110, 1111, 1112, 1113, 1114, 1115, 1116, 1117, 1118, 1119, + 1120, 1121, 1122, 1123, 1124, 1128, 1139, 1150, 1164, 1170, + 1179, 1184, 1192, 1207, 1212, 1220, 1226, 1235, 1239, 1245, + 1246, 1250, 1251, 1255, 1259, 1260, 1261, 1262, 1263, 1264, + 1265, 1269, 1275, 1284, 1285, 1289, 1295, 1304, 1314, 1326, + 1332, 1341, 1350, 1356, 1362, 1371, 1375, 1389, 1393, 1394, + 1398, 1405, 1412, 1422, 1423, 1427, 1429, 1435, 1440, 1449, + 1455, 1461, 1467, 1473, 1482, 1483, 1487 }; #endif @@ -822,16 +825,16 @@ static const char *const yytname[] = "DIV_ASSIGN", "ADD_ASSIGN", "MOD_ASSIGN", "LEFT_ASSIGN", "RIGHT_ASSIGN", "AND_ASSIGN", "XOR_ASSIGN", "OR_ASSIGN", "SUB_ASSIGN", "INVARIANT", "LOWP", "MEDIUMP", "HIGHP", "PRECISION", "VERSION", "EXTENSION", "LINE", - "PRAGMA", "COLON", "EOL", "INTERFACE", "OUTPUT", "ASM", "CLASS", "UNION", - "ENUM", "TYPEDEF", "TEMPLATE", "THIS", "PACKED", "GOTO", "INLINE_TOK", - "NOINLINE", "VOLATILE", "PUBLIC_TOK", "STATIC", "EXTERN", "EXTERNAL", - "LONG", "SHORT", "DOUBLE", "HALF", "FIXED", "UNSIGNED", "INPUT", - "OUPTUT", "HVEC2", "HVEC3", "HVEC4", "DVEC2", "DVEC3", "DVEC4", "FVEC2", - "FVEC3", "FVEC4", "SAMPLER2DRECT", "SAMPLER3DRECT", - "SAMPLER2DRECTSHADOW", "SIZEOF", "CAST", "NAMESPACE", "USING", "'('", - "')'", "'['", "']'", "'.'", "','", "'+'", "'-'", "'!'", "'~'", "'*'", - "'/'", "'%'", "'<'", "'>'", "'&'", "'^'", "'|'", "'?'", "':'", "'='", - "';'", "'{'", "'}'", "$accept", "translation_unit", "$@1", + "PRAGMA", "COLON", "EOL", "INTERFACE", "OUTPUT", "LAYOUT_TOK", "ASM", + "CLASS", "UNION", "ENUM", "TYPEDEF", "TEMPLATE", "THIS", "PACKED", + "GOTO", "INLINE_TOK", "NOINLINE", "VOLATILE", "PUBLIC_TOK", "STATIC", + "EXTERN", "EXTERNAL", "LONG", "SHORT", "DOUBLE", "HALF", "FIXED", + "UNSIGNED", "INPUT", "OUPTUT", "HVEC2", "HVEC3", "HVEC4", "DVEC2", + "DVEC3", "DVEC4", "FVEC2", "FVEC3", "FVEC4", "SAMPLER2DRECT", + "SAMPLER3DRECT", "SAMPLER2DRECTSHADOW", "SIZEOF", "CAST", "NAMESPACE", + "USING", "'('", "')'", "'['", "']'", "'.'", "','", "'+'", "'-'", "'!'", + "'~'", "'*'", "'/'", "'%'", "'<'", "'>'", "'&'", "'^'", "'|'", "'?'", + "':'", "'='", "';'", "'{'", "'}'", "$accept", "translation_unit", "$@1", "version_statement", "extension_statement_list", "extension_statement", "external_declaration_list", "variable_identifier", "primary_expression", "postfix_expression", "integer_expression", "function_call", @@ -850,12 +853,14 @@ static const char *const yytname[] = "function_header", "parameter_declarator", "parameter_declaration", "parameter_qualifier", "parameter_type_specifier", "init_declarator_list", "single_declaration", "fully_specified_type", - "interpolation_qualifier", "parameter_type_qualifier", "type_qualifier", - "storage_qualifier", "type_specifier", "type_specifier_no_prec", - "type_specifier_nonarray", "basic_type_specifier_nonarray", - "precision_qualifier", "struct_specifier", "struct_declaration_list", - "struct_declaration", "struct_declarator_list", "struct_declarator", - "initializer", "declaration_statement", "statement", "statement_matched", + "opt_layout_qualifier", "layout_qualifier", "layout_qualifier_id_list", + "layout_qualifier_id", "interpolation_qualifier", + "parameter_type_qualifier", "type_qualifier", "storage_qualifier", + "type_specifier", "type_specifier_no_prec", "type_specifier_nonarray", + "basic_type_specifier_nonarray", "precision_qualifier", + "struct_specifier", "struct_declaration_list", "struct_declaration", + "struct_declarator_list", "struct_declarator", "initializer", + "declaration_statement", "statement", "statement_matched", "statement_unmatched", "simple_statement", "compound_statement", "statement_no_new_scope", "compound_statement_no_new_scope", "statement_list", "expression_statement", "selection_statement_matched", @@ -886,44 +891,44 @@ static const yytype_uint16 yytoknum[] = 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, - 405, 406, 407, 408, 409, 410, 411, 412, 413, 40, - 41, 91, 93, 46, 44, 43, 45, 33, 126, 42, - 47, 37, 60, 62, 38, 94, 124, 63, 58, 61, - 59, 123, 125 + 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, + 40, 41, 91, 93, 46, 44, 43, 45, 33, 126, + 42, 47, 37, 60, 62, 38, 94, 124, 63, 58, + 61, 59, 123, 125 }; # endif /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */ static const yytype_uint16 yyr1[] = { - 0, 183, 185, 184, 186, 186, 187, 187, 188, 189, - 189, 190, 191, 191, 191, 191, 191, 191, 192, 192, - 192, 192, 192, 192, 193, 194, 195, 195, 196, 196, - 197, 197, 198, 198, 199, 200, 200, 200, 201, 201, - 201, 201, 202, 202, 202, 202, 203, 203, 203, 203, - 204, 204, 204, 205, 205, 205, 206, 206, 206, 206, - 206, 207, 207, 207, 208, 208, 209, 209, 210, 210, - 211, 211, 212, 212, 213, 213, 214, 214, 215, 215, - 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, - 216, 217, 217, 218, 219, 219, 219, 220, 221, 221, - 222, 222, 223, 224, 224, 225, 225, 225, 225, 226, - 226, 226, 226, 227, 228, 228, 228, 228, 228, 228, - 228, 229, 229, 229, 229, 229, 229, 229, 229, 230, - 230, 231, 231, 231, 232, 233, 233, 233, 234, 234, - 234, 234, 234, 234, 234, 234, 234, 235, 235, 236, - 236, 236, 237, 237, 237, 238, 238, 238, 238, 238, - 238, 238, 238, 238, 238, 238, 238, 238, 238, 238, - 238, 238, 238, 238, 238, 238, 238, 238, 238, 238, - 238, 238, 238, 238, 238, 238, 238, 238, 238, 238, - 238, 238, 238, 238, 238, 238, 238, 238, 238, 238, - 238, 238, 238, 238, 238, 238, 238, 238, 238, 239, - 239, 239, 240, 240, 241, 241, 242, 243, 243, 244, - 244, 245, 246, 247, 247, 248, 248, 249, 250, 250, - 250, 250, 250, 250, 250, 251, 251, 252, 252, 253, - 253, 254, 254, 255, 255, 256, 257, 257, 257, 258, - 258, 259, 260, 260, 261, 261, 261, 262, 262, 263, - 263, 264, 264, 265, 265, 265, 265, 265, 266, 266, - 267 + 0, 184, 186, 185, 187, 187, 188, 188, 189, 190, + 190, 191, 192, 192, 192, 192, 192, 192, 193, 193, + 193, 193, 193, 193, 194, 195, 196, 196, 197, 197, + 198, 198, 199, 199, 200, 201, 201, 201, 202, 202, + 202, 202, 203, 203, 203, 203, 204, 204, 204, 204, + 205, 205, 205, 206, 206, 206, 207, 207, 207, 207, + 207, 208, 208, 208, 209, 209, 210, 210, 211, 211, + 212, 212, 213, 213, 214, 214, 215, 215, 216, 216, + 217, 217, 217, 217, 217, 217, 217, 217, 217, 217, + 217, 218, 218, 219, 220, 220, 220, 221, 222, 222, + 223, 223, 224, 225, 225, 226, 226, 226, 226, 227, + 227, 227, 227, 228, 229, 229, 229, 229, 229, 229, + 229, 230, 230, 230, 230, 230, 230, 230, 230, 231, + 231, 232, 232, 233, 234, 234, 235, 236, 236, 236, + 237, 238, 238, 238, 239, 239, 239, 239, 239, 239, + 239, 239, 239, 240, 240, 241, 241, 241, 242, 242, + 242, 243, 243, 243, 243, 243, 243, 243, 243, 243, + 243, 243, 243, 243, 243, 243, 243, 243, 243, 243, + 243, 243, 243, 243, 243, 243, 243, 243, 243, 243, + 243, 243, 243, 243, 243, 243, 243, 243, 243, 243, + 243, 243, 243, 243, 243, 243, 243, 243, 243, 243, + 243, 243, 243, 243, 243, 244, 244, 244, 245, 245, + 246, 246, 247, 248, 248, 249, 249, 250, 251, 252, + 252, 253, 253, 254, 255, 255, 255, 255, 255, 255, + 255, 256, 256, 257, 257, 258, 258, 259, 259, 260, + 260, 261, 262, 262, 262, 263, 263, 264, 265, 265, + 266, 266, 266, 267, 267, 268, 268, 269, 269, 270, + 270, 270, 270, 270, 271, 271, 272 }; /* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN. */ @@ -942,21 +947,21 @@ static const yytype_uint8 yyr2[] = 2, 3, 3, 2, 5, 3, 2, 3, 2, 0, 1, 1, 1, 1, 1, 3, 5, 6, 7, 8, 5, 1, 2, 4, 5, 6, 7, 4, 2, 1, - 2, 1, 1, 1, 1, 1, 2, 2, 1, 1, - 1, 2, 1, 1, 2, 2, 1, 1, 2, 1, - 3, 4, 1, 1, 1, 1, 1, 1, 1, 1, + 2, 0, 1, 4, 1, 3, 1, 1, 1, 1, + 1, 1, 2, 2, 1, 1, 2, 2, 2, 1, + 2, 2, 1, 1, 2, 1, 3, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 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, - 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 2, 3, 1, 1, 2, - 3, 1, 2, 1, 2, 7, 5, 5, 7, 1, - 4, 5, 3, 2, 5, 7, 6, 1, 1, 1, - 0, 2, 3, 2, 2, 2, 3, 2, 1, 1, - 2 + 1, 1, 1, 1, 1, 1, 1, 1, 5, 4, + 1, 2, 3, 1, 3, 1, 4, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 2, 3, 1, 1, 2, 3, 1, 2, 1, + 2, 7, 5, 5, 7, 1, 4, 5, 3, 2, + 5, 7, 6, 1, 1, 1, 0, 2, 3, 2, + 2, 2, 3, 2, 1, 1, 2 }; /* YYDEFACT[STATE-NAME] -- Default rule to reduce with in state @@ -964,730 +969,757 @@ static const yytype_uint8 yyr2[] = means the default is an error. */ static const yytype_uint16 yydefact[] = { - 4, 0, 0, 6, 0, 1, 2, 5, 0, 0, - 7, 0, 139, 138, 159, 156, 157, 158, 163, 164, - 165, 166, 167, 168, 169, 170, 171, 160, 161, 162, - 172, 173, 174, 0, 142, 143, 146, 140, 133, 132, - 131, 175, 176, 177, 178, 179, 180, 181, 182, 183, - 184, 185, 187, 188, 189, 190, 192, 193, 194, 195, - 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, - 206, 207, 208, 0, 155, 154, 0, 211, 210, 209, - 0, 186, 191, 3, 269, 0, 0, 99, 109, 0, - 114, 121, 0, 0, 135, 129, 147, 149, 152, 0, - 153, 9, 268, 0, 144, 145, 141, 0, 0, 128, - 0, 137, 0, 10, 94, 0, 270, 97, 109, 134, - 110, 111, 112, 100, 0, 109, 0, 95, 122, 136, - 130, 0, 148, 0, 0, 0, 0, 214, 0, 0, + 4, 0, 0, 6, 0, 1, 2, 5, 0, 131, + 7, 0, 145, 144, 165, 162, 163, 164, 169, 170, + 171, 172, 173, 174, 175, 176, 177, 166, 167, 168, + 178, 179, 180, 0, 149, 152, 139, 138, 137, 181, + 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, + 193, 194, 195, 196, 198, 199, 200, 201, 202, 203, + 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, + 214, 0, 161, 160, 131, 217, 216, 215, 0, 0, + 192, 197, 131, 275, 0, 0, 99, 109, 0, 114, + 121, 0, 132, 131, 0, 141, 129, 153, 155, 158, + 0, 159, 9, 274, 0, 150, 151, 147, 0, 0, + 128, 131, 143, 0, 0, 10, 94, 131, 276, 97, + 109, 140, 110, 111, 112, 100, 0, 109, 0, 95, + 122, 148, 146, 142, 130, 0, 154, 0, 0, 0, + 0, 220, 0, 136, 0, 134, 0, 0, 131, 0, + 0, 0, 0, 0, 0, 0, 0, 11, 15, 13, + 14, 16, 37, 0, 0, 0, 42, 43, 44, 45, + 249, 131, 245, 12, 18, 38, 20, 25, 26, 0, + 0, 31, 0, 46, 0, 50, 53, 56, 61, 64, + 66, 68, 70, 72, 74, 76, 78, 91, 0, 228, + 0, 129, 234, 247, 229, 230, 232, 231, 131, 235, + 236, 233, 237, 238, 239, 240, 101, 106, 108, 113, + 0, 115, 102, 0, 0, 156, 46, 93, 0, 35, + 8, 0, 225, 0, 223, 219, 221, 96, 133, 0, + 270, 269, 0, 131, 0, 273, 271, 0, 0, 0, + 259, 131, 39, 40, 0, 241, 131, 22, 23, 0, + 0, 29, 28, 0, 161, 32, 34, 81, 82, 84, + 83, 86, 87, 88, 89, 90, 85, 80, 0, 41, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 11, 15, 13, 14, 16, 37, 0, 0, 0, 42, - 43, 44, 45, 243, 0, 239, 12, 18, 38, 20, - 25, 26, 0, 0, 31, 0, 46, 0, 50, 53, - 56, 61, 64, 66, 68, 70, 72, 74, 76, 78, - 91, 0, 222, 0, 129, 228, 241, 223, 224, 226, - 225, 0, 229, 230, 227, 231, 232, 233, 234, 101, - 106, 108, 113, 0, 115, 102, 0, 0, 150, 46, - 93, 0, 35, 8, 0, 219, 0, 217, 213, 215, - 96, 264, 263, 0, 0, 0, 267, 265, 0, 0, - 0, 253, 0, 39, 40, 0, 235, 0, 22, 23, - 0, 0, 29, 28, 0, 155, 32, 34, 81, 82, - 84, 83, 86, 87, 88, 89, 90, 85, 80, 0, - 41, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 244, 240, 242, 103, 105, 107, 0, 0, - 123, 0, 221, 127, 151, 212, 0, 0, 216, 0, - 258, 257, 260, 0, 266, 0, 252, 249, 0, 0, - 17, 236, 0, 24, 21, 27, 33, 79, 47, 48, + 0, 250, 246, 248, 103, 105, 107, 0, 0, 123, + 0, 227, 127, 157, 218, 0, 0, 222, 135, 0, + 264, 263, 131, 0, 272, 0, 258, 255, 0, 0, + 17, 242, 0, 24, 21, 27, 33, 79, 47, 48, 49, 51, 52, 54, 55, 59, 60, 57, 58, 62, 63, 65, 67, 69, 71, 73, 75, 0, 92, 0, - 116, 0, 120, 0, 124, 0, 218, 0, 259, 0, - 0, 0, 0, 0, 0, 19, 0, 0, 0, 117, - 125, 0, 220, 0, 261, 0, 246, 247, 251, 0, - 0, 238, 254, 237, 77, 104, 118, 0, 126, 0, - 262, 256, 0, 250, 0, 119, 255, 245, 248, 0, - 0, 0, 0 + 116, 0, 120, 0, 124, 0, 224, 0, 265, 0, + 0, 131, 0, 0, 131, 19, 0, 0, 0, 117, + 125, 0, 226, 0, 267, 131, 252, 253, 257, 0, + 0, 244, 260, 243, 77, 104, 118, 0, 126, 0, + 268, 262, 131, 256, 0, 119, 261, 251, 254, 0, + 131, 0, 131 }; /* YYDEFGOTO[NTERM-NUM]. */ static const yytype_int16 yydefgoto[] = { - -1, 2, 9, 3, 6, 10, 83, 166, 167, 168, - 322, 169, 170, 171, 172, 173, 174, 175, 176, 177, - 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, - 188, 189, 190, 269, 191, 221, 192, 193, 86, 87, - 88, 210, 123, 124, 211, 89, 90, 91, 92, 125, - 93, 94, 222, 96, 97, 98, 99, 100, 136, 137, - 226, 227, 303, 195, 196, 197, 198, 199, 200, 382, - 383, 201, 202, 203, 204, 319, 205, 206, 207, 312, - 359, 360, 208, 101, 102 + -1, 2, 9, 3, 6, 10, 82, 173, 174, 175, + 332, 176, 177, 178, 179, 180, 181, 182, 183, 184, + 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, + 195, 196, 197, 278, 198, 228, 199, 200, 85, 86, + 87, 217, 125, 126, 218, 88, 89, 90, 91, 92, + 144, 145, 93, 127, 94, 95, 229, 97, 98, 99, + 100, 101, 140, 141, 233, 234, 312, 202, 203, 204, + 205, 206, 207, 392, 393, 208, 209, 210, 211, 329, + 212, 213, 214, 322, 369, 370, 215, 102, 103 }; /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing STATE-NUM. */ -#define YYPACT_NINF -325 +#define YYPACT_NINF -353 static const yytype_int16 yypact[] = { - -52, -1, 67, -325, -31, -325, 37, -325, 23, 3159, - -325, 52, -325, -325, -325, -325, -325, -325, -325, -325, - -325, -325, -325, -325, -325, -325, -325, -325, -325, -325, - -325, -325, -325, 94, -325, -325, -325, -325, -325, -325, - -325, -325, -325, -325, -325, -325, -325, -325, -325, -325, - -325, -325, -325, -325, -325, -325, -325, -325, -325, -325, - -325, -325, -325, -325, -325, -325, -325, -325, -325, -325, - -325, -325, -325, -72, -325, -325, 12, -325, -325, -325, - 36, -325, -325, 3159, -325, -163, 30, 27, -2, -98, - -325, 114, 144, 3381, -325, -325, -325, 33, -325, 3492, - -325, -325, -325, 117, -325, -325, -325, 17, 3381, -325, - 144, -325, 3492, -325, -325, 391, -325, -325, 35, -325, - -325, -325, -325, -325, 3381, 116, 120, -325, -119, -325, - -325, 2393, -325, 86, 3381, 124, 1799, -325, 25, 26, - 29, 1111, 48, 51, 31, 2077, 53, 2843, 39, 54, - -67, -325, -325, -325, -325, -325, 2843, 2843, 2843, -325, - -325, -325, -325, -325, 571, -325, -325, -325, -44, -325, - -325, -325, 60, -99, 2993, 55, -75, 2843, -10, 4, - 71, -79, 80, 47, 49, 46, 130, 131, -63, -325, - -325, -59, -325, 50, 68, -325, -325, -325, -325, -325, - -325, 751, -325, -325, -325, -325, -325, -325, -325, -325, - -325, -325, 149, 3381, -129, -325, 2543, 2843, -325, -325, - -325, 69, -325, -325, 1938, 73, -56, -325, -325, -325, - -325, -325, -325, 151, 1635, 2843, -325, -325, -51, 2843, - -108, -325, 2243, -325, -325, -38, -325, 931, -325, -325, - 2843, 3270, -325, -325, 2843, 72, -325, -325, -325, -325, - -325, -325, -325, -325, -325, -325, -325, -325, -325, 2843, - -325, 2843, 2843, 2843, 2843, 2843, 2843, 2843, 2843, 2843, - 2843, 2843, 2843, 2843, 2843, 2843, 2843, 2843, 2843, 2843, - 2843, 2843, -325, -325, -325, 75, -325, -325, 2693, 2843, - 58, 77, -325, -325, -325, -325, 2843, 124, -325, 81, - -325, -325, 2243, -27, -325, -25, -325, 78, 162, 83, - -325, -325, 82, 78, 87, -325, -325, -325, -325, -325, - -325, -10, -10, 4, 4, 71, 71, 71, 71, -79, - -79, 80, 47, 49, 46, 130, 131, -102, -325, 2843, - 66, 85, -325, 2843, 70, 89, -325, 2843, -325, 74, - 88, 1111, 95, 96, 1290, -325, 2843, 90, 2843, 98, - -325, 2843, -325, -24, 2843, 1290, 241, -325, -325, 2843, - 119, -325, -325, -325, -325, -325, -325, 2843, -325, 99, - 78, -325, 1111, -325, 2843, -325, -325, -325, -325, -14, - 1469, 268, 1469 + -96, -61, 22, -353, -89, -353, -75, -353, -25, 3345, + -353, -48, -353, -353, -353, -353, -353, -353, -353, -353, + -353, -353, -353, -353, -353, -353, -353, -353, -353, -353, + -353, -353, -353, 106, -353, -353, -353, -353, -353, -353, + -353, -353, -353, -353, -353, -353, -353, -353, -353, -353, + -353, -353, -353, -353, -353, -353, -353, -353, -353, -353, + -353, -353, -353, -353, -353, -353, -353, -353, -353, -353, + -353, -78, -353, -353, 3, -353, -353, -353, 63, -80, + -353, -353, 3228, -353, -55, -92, -54, -2, -133, -353, + -5, 50, -353, 14, 3572, -353, -353, -353, -56, -353, + 3684, -353, -353, -353, 34, -353, -353, -353, -44, 3572, + -353, 14, -353, 3684, 62, -353, -353, 273, -353, -353, + 87, -353, -353, -353, -353, -353, 3572, 176, 85, -353, + -137, -353, -353, -353, -353, 2454, -353, 33, 3572, 89, + 1856, -353, -15, -353, -33, -353, 28, 42, 997, 43, + 64, 44, 2136, 66, 2907, 48, 69, -68, -353, -353, + -353, -353, -353, 2907, 2907, 2907, -353, -353, -353, -353, + -353, 454, -353, -353, -353, -59, -353, -353, -353, 13, + -17, 3058, 71, 270, 2907, 49, -31, 70, -76, 103, + 57, 60, 61, 144, 145, -85, -353, -353, -104, -353, + 58, 83, -353, -353, -353, -353, -353, -353, 635, -353, + -353, -353, -353, -353, -353, -353, -353, -353, -353, 165, + 3572, -102, -353, 2605, 2907, -353, -353, -353, 82, -353, + -353, 1996, 84, -100, -353, -353, -353, -353, -353, 62, + -353, -353, 172, 1524, 2907, -353, -353, -94, 2907, -90, + -353, 2303, -353, -353, -14, -353, 816, -353, -353, 2907, + 3460, -353, -353, 2907, 90, -353, -353, -353, -353, -353, + -353, -353, -353, -353, -353, -353, -353, -353, 2907, -353, + 2907, 2907, 2907, 2907, 2907, 2907, 2907, 2907, 2907, 2907, + 2907, 2907, 2907, 2907, 2907, 2907, 2907, 2907, 2907, 2907, + 2907, -353, -353, -353, 91, -353, -353, 2756, 2907, 72, + 93, -353, -353, -353, -353, 2907, 89, -353, -353, 97, + -353, -353, 1691, -7, -353, -4, -353, 94, 179, 99, + -353, -353, 98, 94, 102, -353, -353, -353, -353, -353, + -353, 49, 49, -31, -31, 70, 70, 70, 70, -76, + -76, 103, 57, 60, 61, 144, 145, -58, -353, 2907, + 86, 100, -353, 2907, 88, 101, -353, 2907, -353, 92, + 104, 997, 127, 95, 1177, -353, 2907, 107, 2907, 105, + -353, 2907, -353, 2, 2907, 1177, 255, -353, -353, 2907, + 109, -353, -353, -353, -353, -353, -353, 2907, -353, 130, + 94, -353, 997, -353, 2907, -353, -353, -353, -353, 4, + 1357, 259, 1357 }; /* YYPGOTO[NTERM-NUM]. */ static const yytype_int16 yypgoto[] = { - -325, -325, -325, -325, -325, -325, -325, -325, -325, -325, - -325, -325, -325, 34, -325, -325, -325, -325, -15, -325, - -100, -88, -115, -105, -3, 1, -4, 0, 2, -5, - -325, -130, -171, -325, -139, -211, 5, 24, -325, -325, - -325, 76, 170, 167, 84, -325, -325, -222, -325, -325, - -35, -325, -9, -54, -325, -325, 213, -325, 160, -123, - -325, -12, -290, 62, -137, -323, -324, -252, -64, -76, - 215, 137, 79, -325, -325, -8, -325, -325, -325, -325, - -325, -325, -325, 219, -325 + -353, -353, -353, -353, -353, -353, -353, -353, -353, -353, + -353, -353, -353, 117, -353, -353, -353, -353, -105, -353, + -86, -69, -82, -91, -21, -20, 68, 108, 67, 80, + -353, -111, -148, -353, -149, -219, 12, 32, -353, -353, + -353, 138, 239, 257, 166, -353, -353, -239, -353, -353, + -353, 146, -353, -353, -27, -353, -9, -74, -353, -353, + 309, -353, 250, -130, -353, 73, -244, 147, -140, -340, + -352, -322, 19, 9, 311, 225, 154, -353, -353, 76, + -353, -353, -353, -353, -353, -353, -353, 317, -353 }; /* YYTABLE[YYPACT[STATE-NUM]]. What to do in state STATE-NUM. If positive, shift that token. If negative, reduce the rule which number is the opposite. If zero, do what YYDEFACT says. If YYTABLE_NINF, syntax error. */ -#define YYTABLE_NINF -155 +#define YYTABLE_NINF -267 static const yytype_int16 yytable[] = { - 95, 220, 119, 256, 233, 301, 238, 107, 240, 352, - 278, 279, -154, 229, 84, 12, 13, 114, 115, 245, - 318, 258, 259, 260, 261, 262, 263, 264, 265, 266, - 267, 289, 298, 85, 120, 121, 122, 377, 376, 119, - 215, 111, 216, 248, 249, 132, 302, 33, 34, 35, - 299, 36, 37, 38, 39, 40, 291, 129, 138, 1, - 217, 253, 291, 370, 294, 254, 126, 5, 398, 397, - 316, 120, 121, 122, 95, 111, 366, 401, 386, 397, - 4, 388, 127, 326, 130, 7, 220, 351, 84, 393, - 318, 109, -36, 280, 281, 355, 313, 395, 327, 135, - 315, 229, 11, 317, 268, 291, 194, 85, 307, 108, - 294, 323, 381, 291, 290, 212, 219, 250, 110, 251, - 348, 292, 320, 381, 308, 135, 291, 135, 302, 314, - 104, 105, 194, 361, 106, 362, 389, 291, 367, 291, - 291, 243, 244, 77, 78, 79, 400, 12, 13, 8, - 291, 347, 120, 121, 122, 194, 276, 277, -98, 271, - 272, 273, 270, 335, 336, 337, 338, 103, 220, 274, - 275, 282, 283, 317, 331, 332, 220, 339, 340, 33, - 34, 35, 302, 36, 37, 38, 39, 40, 333, 334, - 117, 118, 194, 128, 131, 384, 133, 302, 134, 214, - 302, 219, 223, 225, 212, 230, 231, 234, 302, 232, - 235, 236, 239, 242, 257, 135, 302, 241, 373, 220, - 252, 284, 286, 287, 285, 194, 288, -35, 295, 309, - 114, 304, -30, 194, 306, 390, 349, 353, 194, 354, - 357, 363, 291, 364, 365, 368, -36, 369, 375, 371, - 110, 372, 385, 392, 374, 399, 328, 329, 330, 219, - 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, - 219, 219, 219, 219, 219, 379, 164, 387, 394, 396, - 402, 341, 343, 219, 346, 325, 342, 344, 209, 296, - 345, 219, 213, 112, 224, 356, 310, 297, 378, 391, - 116, 247, 113, 194, 358, 0, 0, 0, 0, 0, - 0, 0, 0, 311, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 219, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 194, 0, 0, 194, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 194, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 194, 0, 0, 0, 0, 0, 0, - 0, 194, 0, 194, 12, 13, 14, 15, 16, 17, - 139, 140, 141, 0, 142, 143, 144, 145, 146, 147, - 148, 18, 19, 20, 21, 22, 23, 24, 25, 26, - 27, 28, 29, 30, 31, 32, 33, 34, 35, 0, - 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, 149, - 150, 151, 152, 153, 154, 155, 0, 0, 156, 157, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 76, 77, 78, - 79, 80, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 81, 0, 82, 0, 0, 0, 0, - 158, 0, 0, 0, 0, 0, 159, 160, 161, 162, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 163, 164, 165, 12, 13, 14, 15, 16, 17, - 139, 140, 141, 0, 142, 143, 144, 145, 146, 147, - 148, 18, 19, 20, 21, 22, 23, 24, 25, 26, - 27, 28, 29, 30, 31, 32, 33, 34, 35, 0, - 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, 149, - 150, 151, 152, 153, 154, 155, 0, 0, 156, 157, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 76, 77, 78, - 79, 80, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 81, 0, 82, 0, 0, 0, 0, - 158, 0, 0, 0, 0, 0, 159, 160, 161, 162, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 163, 164, 246, 12, 13, 14, 15, 16, 17, - 139, 140, 141, 0, 142, 143, 144, 145, 146, 147, - 148, 18, 19, 20, 21, 22, 23, 24, 25, 26, - 27, 28, 29, 30, 31, 32, 33, 34, 35, 0, - 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, 149, - 150, 151, 152, 153, 154, 155, 0, 0, 156, 157, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 76, 77, 78, - 79, 80, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 96, 108, 121, 247, 310, 249, 12, 13, 242, 298, + 236, -160, 328, 287, 288, 1, 254, 12, 13, 387, + 4, 83, 5, 222, 227, 223, 136, 7, 257, 258, + 226, 386, 128, 265, 122, 123, 124, 8, 33, 142, + 34, 84, 35, 224, 36, 37, 38, 112, 129, 33, + 408, 34, 391, 35, 11, 36, 37, 38, 252, 253, + 307, 300, 407, 391, 362, 316, 133, 104, 303, 119, + 411, 300, 407, 96, 130, 300, 311, 301, 308, 279, + 114, 317, 110, 328, 112, 134, 131, 324, 361, 326, + 132, 121, -36, 299, 83, 323, 365, 289, 290, 325, + 139, 236, 327, 259, 109, 260, 135, 300, 201, 111, + 333, 120, 227, 137, 84, 336, 303, 219, 226, 380, + 111, 376, 79, 122, 123, 124, 116, 117, 238, 139, + 337, 139, 239, 79, 396, 283, 284, 398, 138, 201, + 377, 143, 105, 106, 262, 403, 107, 330, 263, 230, + 357, 300, 358, 405, 371, 285, 286, 372, 300, -98, + 311, 300, 201, 399, 221, 410, 237, 300, 232, 300, + 75, 76, 77, 327, 261, 338, 339, 340, 226, 226, + 226, 226, 226, 226, 226, 226, 226, 226, 226, 226, + 226, 226, 226, 226, 291, 292, 227, 341, 342, 201, + 349, 350, 226, 243, 227, 345, 346, 347, 348, 240, + 226, 219, 122, 123, 124, 311, 343, 344, 383, 280, + 281, 282, 139, 241, 244, 245, 248, 250, 394, 251, + 311, 266, 293, 311, 201, 400, 294, 296, 295, 116, + 297, 311, 201, -35, 304, 313, 315, 201, 227, 311, + 319, -30, 363, 359, 226, 409, 364, 367, 373, 300, + 374, 375, -36, 379, 382, 385, 378, 402, 381, 404, + 395, 412, 351, 384, 352, 389, 12, 13, 14, 15, + 16, 17, 146, 147, 148, 397, 149, 150, 151, 152, + 153, 154, 155, 18, 19, 20, 21, 22, 23, 24, + 25, 26, 27, 28, 29, 30, 31, 32, 33, 171, + 34, 406, 35, 201, 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, 156, 157, 158, 159, 160, 161, 162, 305, 216, + 163, 164, 201, 353, 355, 201, 267, 268, 269, 270, + 271, 272, 273, 274, 275, 276, 201, 335, 356, 74, + 75, 76, 77, 78, 220, 318, 306, 113, 231, 366, + 320, 388, 79, 201, 401, 118, 256, 321, 368, 115, + 0, 201, 0, 201, 354, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 80, 0, 81, 0, + 0, 0, 0, 165, 0, 0, 0, 0, 0, 166, + 167, 168, 169, 0, 0, 0, 0, 0, 0, 0, + 277, 0, 0, 0, 170, 171, 172, 12, 13, 14, + 15, 16, 17, 146, 147, 148, 0, 149, 150, 151, + 152, 153, 154, 155, 18, 19, 20, 21, 22, 23, + 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, + 0, 34, 0, 35, 0, 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, 156, 157, 158, 159, 160, 161, 162, 0, + 0, 163, 164, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 81, 0, 82, 0, 0, 0, 0, - 158, 0, 0, 0, 0, 0, 159, 160, 161, 162, + 74, 75, 76, 77, 78, 0, 0, 0, 0, 0, + 0, 0, 0, 79, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 163, 164, 293, 12, 13, 14, 15, 16, 17, - 139, 140, 141, 0, 142, 143, 144, 145, 146, 147, - 148, 18, 19, 20, 21, 22, 23, 24, 25, 26, - 27, 28, 29, 30, 31, 32, 33, 34, 35, 0, - 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, 149, - 150, 151, 152, 153, 154, 155, 0, 0, 156, 157, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 76, 77, 78, - 79, 80, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 80, 0, 81, + 0, 0, 0, 0, 165, 0, 0, 0, 0, 0, + 166, 167, 168, 169, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 170, 171, 255, 12, 13, + 14, 15, 16, 17, 146, 147, 148, 0, 149, 150, + 151, 152, 153, 154, 155, 18, 19, 20, 21, 22, + 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, + 33, 0, 34, 0, 35, 0, 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, 156, 157, 158, 159, 160, 161, 162, + 0, 0, 163, 164, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 74, 75, 76, 77, 78, 0, 0, 0, 0, + 0, 0, 0, 0, 79, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 81, 0, 82, 0, 0, 0, 0, - 158, 0, 0, 0, 0, 0, 159, 160, 161, 162, + 0, 0, 0, 0, 0, 0, 0, 0, 80, 0, + 81, 0, 0, 0, 0, 165, 0, 0, 0, 0, + 0, 166, 167, 168, 169, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 170, 171, 302, 12, + 13, 14, 15, 16, 17, 146, 147, 148, 0, 149, + 150, 151, 152, 153, 154, 155, 18, 19, 20, 21, + 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, + 32, 33, 0, 34, 0, 35, 0, 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, 156, 157, 158, 159, 160, 161, + 162, 0, 0, 163, 164, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 163, 164, 321, 12, 13, 14, 15, 16, 17, - 139, 140, 141, 0, 142, 143, 144, 145, 146, 147, - 148, 18, 19, 20, 21, 22, 23, 24, 25, 26, - 27, 28, 29, 30, 31, 32, 33, 34, 35, 0, - 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, 149, - 150, 151, 152, 153, 154, 155, 0, 0, 156, 157, + 0, 0, 74, 75, 76, 77, 78, 0, 0, 0, + 0, 0, 0, 0, 0, 79, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 76, 77, 78, - 79, 80, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 80, + 0, 81, 0, 0, 0, 0, 165, 0, 0, 0, + 0, 0, 166, 167, 168, 169, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 170, 171, 331, + 12, 13, 14, 15, 16, 17, 146, 147, 148, 0, + 149, 150, 151, 152, 153, 154, 155, 18, 19, 20, + 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, + 31, 32, 33, 0, 34, 0, 35, 0, 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, 156, 157, 158, 159, 160, + 161, 162, 0, 0, 163, 164, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 74, 75, 76, 77, 78, 0, 0, + 0, 0, 0, 0, 0, 0, 79, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 81, 0, 82, 0, 0, 0, 0, - 158, 0, 0, 0, 0, 0, 159, 160, 161, 162, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 163, 164, 12, 13, 14, 15, 16, 17, 139, - 140, 141, 0, 142, 380, 144, 145, 146, 147, 148, - 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, - 28, 29, 30, 31, 32, 33, 34, 35, 0, 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, 149, 150, - 151, 152, 153, 154, 155, 0, 0, 156, 157, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 76, 77, 78, 79, - 80, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 80, 0, 81, 0, 0, 0, 0, 165, 0, 0, + 0, 0, 0, 166, 167, 168, 169, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 170, 171, + 12, 13, 14, 15, 16, 17, 146, 147, 148, 0, + 149, 390, 151, 152, 153, 154, 155, 18, 19, 20, + 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, + 31, 32, 33, 0, 34, 0, 35, 0, 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, 156, 157, 158, 159, 160, + 161, 162, 0, 0, 163, 164, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 74, 75, 76, 77, 78, 0, 0, + 0, 0, 0, 0, 0, 0, 79, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 81, 0, 82, 0, 0, 0, 0, 158, - 0, 0, 0, 0, 0, 159, 160, 161, 162, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 163, 115, 12, 13, 14, 15, 16, 17, 139, 140, - 141, 0, 142, 380, 144, 145, 146, 147, 148, 18, - 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, - 29, 30, 31, 32, 33, 34, 35, 0, 36, 37, + 80, 0, 81, 0, 0, 0, 0, 165, 0, 0, + 0, 0, 0, 166, 167, 168, 169, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 170, 117, + 12, 13, 14, 15, 16, 17, 146, 147, 148, 0, + 149, 390, 151, 152, 153, 154, 155, 18, 19, 20, + 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, + 31, 32, 33, 0, 34, 0, 35, 0, 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, 149, 150, 151, - 152, 153, 154, 155, 0, 0, 156, 157, 0, 0, + 68, 69, 70, 71, 72, 156, 157, 158, 159, 160, + 161, 162, 0, 0, 163, 164, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 76, 77, 78, 79, 80, + 0, 0, 0, 74, 75, 76, 77, 78, 0, 0, + 0, 0, 0, 0, 0, 0, 79, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 80, 0, 81, 0, 0, 0, 0, 165, 0, 0, + 0, 0, 0, 166, 167, 168, 169, 12, 13, 14, + 15, 16, 17, 0, 0, 0, 0, 0, 170, 171, + 0, 0, 0, 0, 18, 19, 20, 21, 22, 23, + 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, + 0, 34, 0, 35, 0, 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, 0, 157, 158, 159, 160, 161, 162, 0, + 0, 163, 164, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 81, 0, 82, 0, 0, 0, 0, 158, 0, - 0, 0, 0, 0, 159, 160, 161, 162, 12, 13, - 14, 15, 16, 17, 0, 0, 0, 0, 0, 163, - 164, 0, 0, 0, 0, 18, 19, 20, 21, 22, - 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, - 33, 34, 35, 0, 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, 0, 150, 151, 152, 153, 154, 155, - 0, 0, 156, 157, 0, 0, 0, 0, 0, 0, + 74, 75, 76, 77, 78, 0, 0, 0, 0, 0, + 0, 0, 0, 79, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 76, 77, 78, 79, 80, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 80, 0, 81, + 0, 0, 0, 0, 165, 0, 0, 0, 0, 0, + 166, 167, 168, 169, 12, 13, 14, 15, 16, 17, + 0, 0, 0, 0, 0, 170, 0, 0, 0, 0, + 0, 18, 19, 20, 21, 22, 23, 24, 25, 26, + 27, 28, 29, 30, 31, 32, 33, 0, 34, 0, + 35, 0, 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, 0, + 157, 158, 159, 160, 161, 162, 0, 0, 163, 164, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 111, 75, 76, + 77, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 79, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 81, 0, 82, - 0, 0, 0, 0, 158, 0, 0, 0, 0, 0, - 159, 160, 161, 162, 14, 15, 16, 17, 0, 0, - 0, 0, 0, 0, 0, 163, 0, 0, 0, 18, - 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, - 29, 30, 31, 32, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 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, 0, 75, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 80, 0, 81, 0, 0, 0, + 0, 165, 0, 0, 0, 0, 0, 166, 167, 168, + 169, 14, 15, 16, 17, 0, 0, 0, 0, 0, + 0, 0, -266, 0, 0, 0, 18, 19, 20, 21, + 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, + 32, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 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, 0, 73, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 77, 78, 79, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 75, 76, 77, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 14, 15, 16, 17, 0, 0, 0, - 0, 81, 0, 82, 0, 0, 0, 0, 18, 19, - 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, - 30, 31, 32, 0, 0, 0, 0, 0, 0, 0, - 0, 228, 41, 42, 43, 44, 45, 46, 47, 48, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 14, 15, 16, 17, 0, 0, 0, 0, 80, + 0, 81, 0, 0, 0, 0, 18, 19, 20, 21, + 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, + 32, 0, 0, 0, 0, 0, 0, 0, 0, 235, + 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, 0, 75, 0, 0, + 69, 70, 71, 72, 0, 73, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 77, 78, 79, 0, 0, + 0, 0, 0, 75, 76, 77, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 14, 15, 16, 17, 0, 0, 0, 0, - 81, 0, 82, 0, 0, 0, 0, 18, 19, 20, - 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, - 31, 32, 0, 0, 0, 0, 0, 0, 0, 0, - 305, 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, 0, 150, 151, 152, 153, - 154, 155, 0, 0, 156, 157, 0, 0, 0, 0, + 0, 14, 15, 16, 17, 0, 0, 0, 0, 80, + 0, 81, 0, 0, 0, 0, 18, 19, 20, 21, + 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, + 32, 0, 0, 0, 0, 0, 0, 0, 0, 314, + 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, 0, 157, 158, 159, 160, 161, + 162, 0, 0, 163, 164, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 77, 78, 79, 0, 0, 0, + 0, 0, 0, 75, 76, 77, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 81, - 0, 82, 0, 0, 0, 0, 158, 0, 0, 0, - 0, 0, 159, 160, 161, 162, 12, 13, 14, 15, - 16, 17, 0, 0, 0, 0, 0, 237, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 80, + 0, 81, 0, 0, 0, 0, 165, 0, 0, 0, + 0, 0, 166, 167, 168, 169, 12, 13, 14, 15, + 16, 17, 0, 0, 0, 0, 0, 246, 0, 0, 0, 0, 0, 18, 19, 20, 21, 22, 23, 24, - 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, - 35, 0, 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, 0, 150, 151, 152, 153, 154, 155, 0, 0, - 156, 157, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 110, - 77, 78, 79, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 25, 26, 27, 28, 29, 30, 31, 32, 33, 0, + 34, 0, 35, 0, 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, 0, 157, 158, 159, 160, 161, 162, 0, 0, + 163, 164, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 111, + 75, 76, 77, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 79, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 81, 0, 82, 14, 15, - 16, 17, 158, 0, 0, 0, 0, 0, 159, 160, - 161, 162, 0, 18, 19, 20, 21, 22, 23, 24, - 25, 26, 27, 28, 29, 30, 31, 32, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 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, 0, 150, 151, 152, 153, 154, 155, 0, 0, - 156, 157, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 80, 0, 81, 14, + 15, 16, 17, 165, 0, 0, 0, 0, 0, 166, + 167, 168, 169, 0, 18, 19, 20, 21, 22, 23, + 24, 25, 26, 27, 28, 29, 30, 31, 32, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 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, 0, 157, 158, 159, 160, 161, 162, 0, + 0, 163, 164, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 77, 78, 79, 0, 0, 0, 0, 0, 0, 0, + 0, 75, 76, 77, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 81, 0, 82, 14, 15, - 16, 17, 158, 0, 0, 218, 0, 0, 159, 160, - 161, 162, 0, 18, 19, 20, 21, 22, 23, 24, - 25, 26, 27, 28, 29, 30, 31, 32, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 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, 0, 150, 151, 152, 153, 154, 155, 0, 0, - 156, 157, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 80, 0, 81, + 14, 15, 16, 17, 165, 0, 0, 225, 0, 0, + 166, 167, 168, 169, 0, 18, 19, 20, 21, 22, + 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 0, 157, 158, 159, 160, 161, 162, + 0, 0, 163, 164, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 77, 78, 79, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 75, 76, 77, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 81, 0, 82, 14, 15, - 16, 17, 158, 0, 0, 300, 0, 0, 159, 160, - 161, 162, 0, 18, 19, 20, 21, 22, 23, 24, - 25, 26, 27, 28, 29, 30, 31, 32, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 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, 0, 150, 151, 152, 153, 154, 155, 0, 0, - 156, 157, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 80, 0, + 81, 14, 15, 16, 17, 165, 0, 0, 309, 0, + 0, 166, 167, 168, 169, 0, 18, 19, 20, 21, + 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, + 32, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 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, 0, 157, 158, 159, 160, 161, + 162, 0, 0, 163, 164, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 77, 78, 79, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 75, 76, 77, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 81, 0, 82, 14, 15, - 16, 17, 158, 0, 0, 350, 0, 0, 159, 160, - 161, 162, 0, 18, 19, 20, 21, 22, 23, 24, - 25, 26, 27, 28, 29, 30, 31, 32, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 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, 0, 150, 151, 152, 153, 154, 155, 0, 0, - 156, 157, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 80, + 0, 81, 14, 15, 16, 17, 165, 0, 0, 360, + 0, 0, 166, 167, 168, 169, 0, 18, 19, 20, + 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, + 31, 32, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 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, 0, 157, 158, 159, 160, + 161, 162, 0, 0, 163, 164, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 77, 78, 79, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 75, 76, 77, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 81, 0, 82, 14, 15, - 16, 17, 158, 0, 0, 0, 0, 0, 159, 160, - 161, 162, 0, 18, 19, 20, 21, 22, 23, 24, - 25, 26, 27, 28, 29, 30, 31, 32, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 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, - 255, 0, 150, 151, 152, 153, 154, 155, 0, 0, - 156, 157, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 77, 78, 79, 0, 0, 0, 0, 0, 0, 0, + 80, 0, 81, 14, 15, 16, 17, 165, 0, 0, + 0, 0, 0, 166, 167, 168, 169, 0, 18, 19, + 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, + 30, 31, 32, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 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, 264, 0, 157, 158, 159, + 160, 161, 162, 0, 0, 163, 164, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 75, 76, 77, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 81, 0, 82, 0, 0, - 0, 0, 158, 0, 0, 0, 0, 0, 159, 160, - 161, 162, 12, 13, 14, 15, 16, 17, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 18, - 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, - 29, 30, 31, 32, 33, 34, 35, 0, 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, 0, 75, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 76, 77, 78, 79, 80, - 0, 0, 0, 0, 0, 14, 15, 16, 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, - 28, 29, 30, 31, 32, 0, 0, 0, 0, 0, - 0, 81, 0, 82, 41, 42, 43, 44, 45, 46, + 0, 80, 0, 81, 0, 0, 0, 0, 165, 0, + 0, 0, 0, 0, 166, 167, 168, 169, -3, 0, + 0, 12, 13, 14, 15, 16, 17, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 18, 19, + 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, + 30, 31, 32, 33, 0, 34, 0, 35, 0, 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, 0, 324, - 0, 0, 0, 0, 155, 0, 0, 0, 0, 0, + 67, 68, 69, 70, 71, 72, 0, 73, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 77, 78, 79, - 0, 0, 0, 0, 0, 0, 14, 15, 16, 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 18, 19, 20, 21, 22, 23, 24, 25, 26, - 27, 28, 29, 30, 31, 32, 0, 0, 0, 0, - 0, 0, 81, 0, 82, 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, 0, - 75, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 74, 75, 76, 77, 78, 0, + 0, 0, 0, 0, 0, 0, 0, 79, 12, 13, + 14, 15, 16, 17, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 18, 19, 20, 21, 22, + 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, + 33, 80, 34, 81, 35, 0, 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, 0, 73, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 77, 78, - 79, 0, 0, 0, 0, 0, 0, 14, 15, 16, + 0, 74, 75, 76, 77, 78, 0, 0, 0, 0, + 0, 0, 0, 0, 79, 14, 15, 16, 17, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, + 28, 29, 30, 31, 32, 0, 0, 0, 80, 0, + 81, 0, 0, 0, 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, 0, 334, + 0, 0, 0, 0, 162, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 75, 76, 77, + 0, 0, 0, 0, 0, 0, 0, 14, 15, 16, 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 0, 0, 0, - 0, 0, 0, 81, 0, 82, 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, - 0, 75, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 80, 0, 81, 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, + 0, 73, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 75, + 76, 77, 0, 0, 0, 0, 0, 0, 0, 14, + 15, 16, 17, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 18, 19, 20, 21, 22, 23, + 24, 25, 26, 27, 28, 29, 30, 31, 32, 0, + 0, 0, 0, 0, 0, 80, 0, 81, 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, 0, 73, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 81, 0, 82 + 0, 0, 0, 0, 0, 0, 0, 80, 0, 81 }; static const yytype_int16 yycheck[] = { - 9, 131, 4, 174, 141, 216, 145, 79, 147, 299, - 89, 90, 79, 136, 9, 3, 4, 180, 181, 158, - 242, 96, 97, 98, 99, 100, 101, 102, 103, 104, - 105, 94, 161, 9, 36, 37, 38, 361, 361, 4, - 159, 76, 161, 87, 88, 99, 217, 35, 36, 37, - 179, 39, 40, 41, 42, 43, 164, 92, 112, 111, - 179, 160, 164, 353, 201, 164, 164, 0, 392, 392, - 178, 36, 37, 38, 83, 110, 178, 400, 368, 402, - 81, 371, 180, 254, 93, 116, 216, 298, 83, 379, - 312, 79, 159, 172, 173, 306, 235, 387, 269, 108, - 239, 224, 79, 242, 179, 164, 115, 83, 164, 181, - 247, 250, 364, 164, 177, 124, 131, 161, 106, 163, - 291, 180, 160, 375, 180, 134, 164, 136, 299, 180, - 36, 37, 141, 160, 40, 160, 160, 164, 349, 164, - 164, 156, 157, 107, 108, 109, 160, 3, 4, 112, - 164, 290, 36, 37, 38, 164, 85, 86, 160, 169, - 170, 171, 177, 278, 279, 280, 281, 115, 298, 165, - 166, 91, 92, 312, 274, 275, 306, 282, 283, 35, - 36, 37, 353, 39, 40, 41, 42, 43, 276, 277, - 160, 164, 201, 79, 161, 366, 79, 368, 181, 79, - 371, 216, 116, 79, 213, 180, 180, 159, 379, 180, - 159, 180, 159, 159, 159, 224, 387, 178, 357, 349, - 160, 174, 176, 93, 175, 234, 95, 159, 79, 78, - 180, 162, 160, 242, 161, 374, 161, 179, 247, 162, - 159, 79, 164, 160, 162, 179, 159, 162, 160, 179, - 106, 162, 162, 12, 180, 394, 271, 272, 273, 274, - 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, - 285, 286, 287, 288, 289, 179, 181, 179, 159, 180, - 12, 284, 286, 298, 289, 251, 285, 287, 118, 213, - 288, 306, 125, 80, 134, 307, 234, 213, 362, 375, - 85, 164, 83, 312, 312, -1, -1, -1, -1, -1, - -1, -1, -1, 234, -1, -1, -1, -1, -1, -1, + 9, 79, 4, 152, 223, 154, 3, 4, 148, 94, + 140, 79, 251, 89, 90, 111, 165, 3, 4, 371, + 81, 9, 0, 160, 135, 162, 100, 116, 87, 88, + 135, 371, 165, 181, 36, 37, 38, 112, 35, 113, + 37, 9, 39, 180, 41, 42, 43, 74, 181, 35, + 402, 37, 374, 39, 79, 41, 42, 43, 163, 164, + 162, 165, 402, 385, 308, 165, 93, 115, 208, 161, + 410, 165, 412, 82, 79, 165, 224, 181, 180, 184, + 160, 181, 79, 322, 111, 94, 36, 181, 307, 179, + 40, 4, 160, 178, 82, 244, 315, 173, 174, 248, + 109, 231, 251, 162, 182, 164, 162, 165, 117, 106, + 259, 165, 223, 79, 82, 263, 256, 126, 223, 363, + 106, 179, 119, 36, 37, 38, 181, 182, 161, 138, + 278, 140, 165, 119, 378, 166, 167, 381, 182, 148, + 359, 79, 36, 37, 161, 389, 40, 161, 165, 116, + 299, 165, 300, 397, 161, 85, 86, 161, 165, 161, + 308, 165, 171, 161, 79, 161, 181, 165, 79, 165, + 107, 108, 109, 322, 161, 280, 281, 282, 283, 284, + 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, + 295, 296, 297, 298, 91, 92, 307, 283, 284, 208, + 291, 292, 307, 160, 315, 287, 288, 289, 290, 181, + 315, 220, 36, 37, 38, 363, 285, 286, 367, 170, + 171, 172, 231, 181, 160, 181, 160, 179, 376, 160, + 378, 160, 175, 381, 243, 384, 176, 93, 177, 181, + 95, 389, 251, 160, 79, 163, 162, 256, 359, 397, + 78, 161, 180, 162, 359, 404, 163, 160, 79, 165, + 161, 163, 160, 163, 163, 161, 180, 12, 180, 160, + 163, 12, 293, 181, 294, 180, 3, 4, 5, 6, + 7, 8, 9, 10, 11, 180, 13, 14, 15, 16, + 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, + 27, 28, 29, 30, 31, 32, 33, 34, 35, 182, + 37, 181, 39, 322, 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, 220, 120, + 87, 88, 371, 295, 297, 374, 96, 97, 98, 99, + 100, 101, 102, 103, 104, 105, 385, 260, 298, 106, + 107, 108, 109, 110, 127, 239, 220, 78, 138, 316, + 243, 372, 119, 402, 385, 84, 171, 243, 322, 82, + -1, 410, -1, 412, 296, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 349, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 153, -1, 155, -1, + -1, -1, -1, 160, -1, -1, -1, -1, -1, 166, + 167, 168, 169, -1, -1, -1, -1, -1, -1, -1, + 180, -1, -1, -1, 181, 182, 183, 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, 35, + -1, 37, -1, 39, -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, -1, + -1, 87, 88, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 361, -1, -1, 364, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 375, -1, -1, -1, + 106, 107, 108, 109, 110, -1, -1, -1, -1, -1, + -1, -1, -1, 119, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 392, -1, -1, -1, -1, -1, -1, - -1, 400, -1, 402, 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, 35, 36, 37, -1, - 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, -1, -1, 87, 88, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 106, 107, 108, - 109, 110, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 153, -1, 155, + -1, -1, -1, -1, 160, -1, -1, -1, -1, -1, + 166, 167, 168, 169, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 181, 182, 183, 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, + 35, -1, 37, -1, 39, -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, + -1, -1, 87, 88, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 106, 107, 108, 109, 110, -1, -1, -1, -1, + -1, -1, -1, -1, 119, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 152, -1, 154, -1, -1, -1, -1, - 159, -1, -1, -1, -1, -1, 165, 166, 167, 168, + -1, -1, -1, -1, -1, -1, -1, -1, 153, -1, + 155, -1, -1, -1, -1, 160, -1, -1, -1, -1, + -1, 166, 167, 168, 169, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 181, 182, 183, 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, 35, -1, 37, -1, 39, -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, -1, -1, 87, 88, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 180, 181, 182, 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, 35, 36, 37, -1, - 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, -1, -1, 87, 88, + -1, -1, 106, 107, 108, 109, 110, -1, -1, -1, + -1, -1, -1, -1, -1, 119, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 106, 107, 108, - 109, 110, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 153, + -1, 155, -1, -1, -1, -1, 160, -1, -1, -1, + -1, -1, 166, 167, 168, 169, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 181, 182, 183, + 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, 35, -1, 37, -1, 39, -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, -1, -1, 87, 88, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 106, 107, 108, 109, 110, -1, -1, + -1, -1, -1, -1, -1, -1, 119, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 152, -1, 154, -1, -1, -1, -1, - 159, -1, -1, -1, -1, -1, 165, 166, 167, 168, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 180, 181, 182, 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, 35, 36, 37, -1, - 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, -1, -1, 87, 88, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 106, 107, 108, - 109, 110, -1, -1, -1, -1, -1, -1, -1, -1, + 153, -1, 155, -1, -1, -1, -1, 160, -1, -1, + -1, -1, -1, 166, 167, 168, 169, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 181, 182, + 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, 35, -1, 37, -1, 39, -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, -1, -1, 87, 88, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 106, 107, 108, 109, 110, -1, -1, + -1, -1, -1, -1, -1, -1, 119, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 152, -1, 154, -1, -1, -1, -1, - 159, -1, -1, -1, -1, -1, 165, 166, 167, 168, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 180, 181, 182, 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, 35, 36, 37, -1, - 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, -1, -1, 87, 88, + 153, -1, 155, -1, -1, -1, -1, 160, -1, -1, + -1, -1, -1, 166, 167, 168, 169, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 181, 182, + 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, 35, -1, 37, -1, 39, -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, -1, -1, 87, 88, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 106, 107, 108, 109, 110, -1, -1, + -1, -1, -1, -1, -1, -1, 119, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 106, 107, 108, - 109, 110, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 153, -1, 155, -1, -1, -1, -1, 160, -1, -1, + -1, -1, -1, 166, 167, 168, 169, 3, 4, 5, + 6, 7, 8, -1, -1, -1, -1, -1, 181, 182, + -1, -1, -1, -1, 20, 21, 22, 23, 24, 25, + 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, + -1, 37, -1, 39, -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, -1, 79, 80, 81, 82, 83, 84, -1, + -1, 87, 88, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 152, -1, 154, -1, -1, -1, -1, - 159, -1, -1, -1, -1, -1, 165, 166, 167, 168, + 106, 107, 108, 109, 110, -1, -1, -1, -1, -1, + -1, -1, -1, 119, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 180, 181, 182, 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, 35, 36, 37, -1, - 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 153, -1, 155, + -1, -1, -1, -1, 160, -1, -1, -1, -1, -1, + 166, 167, 168, 169, 3, 4, 5, 6, 7, 8, + -1, -1, -1, -1, -1, 181, -1, -1, -1, -1, + -1, 20, 21, 22, 23, 24, 25, 26, 27, 28, + 29, 30, 31, 32, 33, 34, 35, -1, 37, -1, + 39, -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, + 69, 70, 71, 72, 73, 74, 75, 76, 77, -1, 79, 80, 81, 82, 83, 84, -1, -1, 87, 88, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 106, 107, 108, - 109, 110, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 152, -1, 154, -1, -1, -1, -1, - 159, -1, -1, -1, -1, -1, 165, 166, 167, 168, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 180, 181, 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, 35, 36, 37, -1, 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, -1, -1, 87, 88, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 106, 107, 108, 109, - 110, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 152, -1, 154, -1, -1, -1, -1, 159, - -1, -1, -1, -1, -1, 165, 166, 167, 168, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 180, 181, 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, 35, 36, 37, -1, 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, -1, -1, 87, 88, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 106, 107, 108, 109, 110, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 152, -1, 154, -1, -1, -1, -1, 159, -1, - -1, -1, -1, -1, 165, 166, 167, 168, 3, 4, - 5, 6, 7, 8, -1, -1, -1, -1, -1, 180, - 181, -1, -1, -1, -1, 20, 21, 22, 23, 24, - 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, - 35, 36, 37, -1, 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, -1, 79, 80, 81, 82, 83, 84, - -1, -1, 87, 88, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 106, 107, 108, 109, 110, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 109, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 119, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 152, -1, 154, - -1, -1, -1, -1, 159, -1, -1, -1, -1, -1, - 165, 166, 167, 168, 5, 6, 7, 8, -1, -1, - -1, -1, -1, -1, -1, 180, -1, -1, -1, 20, - 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, - 31, 32, 33, 34, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 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, -1, 79, -1, + -1, -1, -1, -1, 153, -1, 155, -1, -1, -1, + -1, 160, -1, -1, -1, -1, -1, 166, 167, 168, + 169, 5, 6, 7, 8, -1, -1, -1, -1, -1, + -1, -1, 181, -1, -1, -1, 20, 21, 22, 23, + 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, + 34, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 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, -1, 79, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 107, 108, 109, -1, + -1, -1, -1, 107, 108, 109, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -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, 152, -1, 154, -1, -1, -1, -1, 20, 21, - 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, - 32, 33, 34, -1, -1, -1, -1, -1, -1, -1, - -1, 182, 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, -1, 79, -1, -1, + -1, 5, 6, 7, 8, -1, -1, -1, -1, 153, + -1, 155, -1, -1, -1, -1, 20, 21, 22, 23, + 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, + 34, -1, -1, -1, -1, -1, -1, -1, -1, 183, + 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, -1, 79, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 107, 108, 109, -1, -1, + -1, -1, -1, 107, 108, 109, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -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, - 152, -1, 154, -1, -1, -1, -1, 20, 21, 22, - 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, - 33, 34, -1, -1, -1, -1, -1, -1, -1, -1, - 182, 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, -1, 79, 80, 81, 82, - 83, 84, -1, -1, 87, 88, -1, -1, -1, -1, + -1, 5, 6, 7, 8, -1, -1, -1, -1, 153, + -1, 155, -1, -1, -1, -1, 20, 21, 22, 23, + 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, + 34, -1, -1, -1, -1, -1, -1, -1, -1, 183, + 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, -1, 79, 80, 81, 82, 83, + 84, -1, -1, 87, 88, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 107, 108, 109, -1, -1, -1, + -1, -1, -1, 107, 108, 109, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 152, - -1, 154, -1, -1, -1, -1, 159, -1, -1, -1, - -1, -1, 165, 166, 167, 168, 3, 4, 5, 6, - 7, 8, -1, -1, -1, -1, -1, 180, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 153, + -1, 155, -1, -1, -1, -1, 160, -1, -1, -1, + -1, -1, 166, 167, 168, 169, 3, 4, 5, 6, + 7, 8, -1, -1, -1, -1, -1, 181, -1, -1, -1, -1, -1, 20, 21, 22, 23, 24, 25, 26, - 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, - 37, -1, 39, 40, 41, 42, 43, 44, 45, 46, + 27, 28, 29, 30, 31, 32, 33, 34, 35, -1, + 37, -1, 39, -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, @@ -1695,182 +1727,196 @@ static const yytype_int16 yycheck[] = 87, 88, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 106, 107, 108, 109, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 119, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 153, -1, 155, 5, + 6, 7, 8, 160, -1, -1, -1, -1, -1, 166, + 167, 168, 169, -1, 20, 21, 22, 23, 24, 25, + 26, 27, 28, 29, 30, 31, 32, 33, 34, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 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, -1, 79, 80, 81, 82, 83, 84, -1, + -1, 87, 88, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 152, -1, 154, 5, 6, - 7, 8, 159, -1, -1, -1, -1, -1, 165, 166, - 167, 168, -1, 20, 21, 22, 23, 24, 25, 26, - 27, 28, 29, 30, 31, 32, 33, 34, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 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, -1, 79, 80, 81, 82, 83, 84, -1, -1, - 87, 88, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 107, 108, 109, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 107, 108, 109, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 153, -1, 155, + 5, 6, 7, 8, 160, -1, -1, 163, -1, -1, + 166, 167, 168, 169, -1, 20, 21, 22, 23, 24, + 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 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, -1, 79, 80, 81, 82, 83, 84, + -1, -1, 87, 88, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 152, -1, 154, 5, 6, - 7, 8, 159, -1, -1, 162, -1, -1, 165, 166, - 167, 168, -1, 20, 21, 22, 23, 24, 25, 26, - 27, 28, 29, 30, 31, 32, 33, 34, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 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, -1, 79, 80, 81, 82, 83, 84, -1, -1, - 87, 88, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 107, 108, 109, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 107, 108, 109, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 153, -1, + 155, 5, 6, 7, 8, 160, -1, -1, 163, -1, + -1, 166, 167, 168, 169, -1, 20, 21, 22, 23, + 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, + 34, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 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, -1, 79, 80, 81, 82, 83, + 84, -1, -1, 87, 88, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 152, -1, 154, 5, 6, - 7, 8, 159, -1, -1, 162, -1, -1, 165, 166, - 167, 168, -1, 20, 21, 22, 23, 24, 25, 26, - 27, 28, 29, 30, 31, 32, 33, 34, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 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, -1, 79, 80, 81, 82, 83, 84, -1, -1, - 87, 88, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 107, 108, 109, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 107, 108, 109, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 153, + -1, 155, 5, 6, 7, 8, 160, -1, -1, 163, + -1, -1, 166, 167, 168, 169, -1, 20, 21, 22, + 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, + 33, 34, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 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, -1, 79, 80, 81, 82, + 83, 84, -1, -1, 87, 88, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 152, -1, 154, 5, 6, - 7, 8, 159, -1, -1, 162, -1, -1, 165, 166, - 167, 168, -1, 20, 21, 22, 23, 24, 25, 26, - 27, 28, 29, 30, 31, 32, 33, 34, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 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, -1, 79, 80, 81, 82, 83, 84, -1, -1, - 87, 88, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 107, 108, 109, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 107, 108, 109, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 152, -1, 154, 5, 6, - 7, 8, 159, -1, -1, -1, -1, -1, 165, 166, - 167, 168, -1, 20, 21, 22, 23, 24, 25, 26, - 27, 28, 29, 30, 31, 32, 33, 34, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 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, -1, 79, 80, 81, 82, 83, 84, -1, -1, - 87, 88, -1, -1, -1, -1, -1, -1, -1, -1, + 153, -1, 155, 5, 6, 7, 8, 160, -1, -1, + -1, -1, -1, 166, 167, 168, 169, -1, 20, 21, + 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, + 32, 33, 34, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 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, -1, 79, 80, 81, + 82, 83, 84, -1, -1, 87, 88, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 107, 108, 109, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 107, 108, 109, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 152, -1, 154, -1, -1, - -1, -1, 159, -1, -1, -1, -1, -1, 165, 166, - 167, 168, 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, 35, 36, 37, -1, 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, -1, 79, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 153, -1, 155, -1, -1, -1, -1, 160, -1, + -1, -1, -1, -1, 166, 167, 168, 169, 0, -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, 35, -1, 37, -1, 39, -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, -1, 79, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 106, 107, 108, 109, 110, - -1, -1, -1, -1, -1, 5, 6, 7, 8, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 106, 107, 108, 109, 110, -1, + -1, -1, -1, -1, -1, -1, -1, 119, 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, + 35, 153, 37, 155, 39, -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, -1, 79, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 106, 107, 108, 109, 110, -1, -1, -1, -1, + -1, -1, -1, -1, 119, 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, -1, -1, -1, -1, - -1, 152, -1, 154, 44, 45, 46, 47, 48, 49, + 30, 31, 32, 33, 34, -1, -1, -1, 153, -1, + 155, -1, -1, -1, 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, -1, 79, -1, -1, -1, -1, 84, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 107, 108, 109, - -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, 32, 33, 34, -1, -1, -1, -1, - -1, -1, 152, -1, 154, 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, -1, - 79, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 107, 108, - 109, -1, -1, -1, -1, -1, -1, 5, 6, 7, + -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, 32, 33, 34, -1, -1, -1, - -1, -1, -1, 152, -1, 154, 44, 45, 46, 47, + -1, -1, -1, 153, -1, 155, 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, -1, 79, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 107, + 108, 109, -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, 32, 33, 34, -1, + -1, -1, -1, -1, -1, 153, -1, 155, 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, -1, 79, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 152, -1, 154 + -1, -1, -1, -1, -1, -1, -1, 153, -1, 155 }; /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing symbol of state STATE-NUM. */ static const yytype_uint16 yystos[] = { - 0, 111, 184, 186, 81, 0, 187, 116, 112, 185, - 188, 79, 3, 4, 5, 6, 7, 8, 20, 21, + 0, 111, 185, 187, 81, 0, 188, 116, 112, 186, + 189, 79, 3, 4, 5, 6, 7, 8, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, - 32, 33, 34, 35, 36, 37, 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, 79, 106, 107, 108, 109, - 110, 152, 154, 189, 219, 220, 221, 222, 223, 228, - 229, 230, 231, 233, 234, 235, 236, 237, 238, 239, - 240, 266, 267, 115, 36, 37, 40, 79, 181, 79, - 106, 233, 239, 266, 180, 181, 253, 160, 164, 4, - 36, 37, 38, 225, 226, 232, 164, 180, 79, 233, - 235, 161, 236, 79, 181, 235, 241, 242, 236, 9, - 10, 11, 13, 14, 15, 16, 17, 18, 19, 78, - 79, 80, 81, 82, 83, 84, 87, 88, 159, 165, - 166, 167, 168, 180, 181, 182, 190, 191, 192, 194, - 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, - 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, - 215, 217, 219, 220, 235, 246, 247, 248, 249, 250, - 251, 254, 255, 256, 257, 259, 260, 261, 265, 225, - 224, 227, 235, 226, 79, 159, 161, 179, 162, 201, - 214, 218, 235, 116, 241, 79, 243, 244, 182, 242, - 180, 180, 180, 247, 159, 159, 180, 180, 217, 159, - 217, 178, 159, 201, 201, 217, 182, 254, 87, 88, - 161, 163, 160, 160, 164, 77, 215, 159, 96, 97, - 98, 99, 100, 101, 102, 103, 104, 105, 179, 216, - 201, 169, 170, 171, 165, 166, 85, 86, 89, 90, - 172, 173, 91, 92, 174, 175, 176, 93, 95, 94, - 177, 164, 180, 182, 247, 79, 224, 227, 161, 179, - 162, 218, 215, 245, 162, 182, 161, 164, 180, 78, - 246, 255, 262, 217, 180, 217, 178, 217, 230, 258, - 160, 182, 193, 217, 79, 196, 215, 215, 201, 201, - 201, 203, 203, 204, 204, 205, 205, 205, 205, 206, - 206, 207, 208, 209, 210, 211, 212, 217, 215, 161, - 162, 218, 245, 179, 162, 218, 244, 159, 258, 263, - 264, 160, 160, 79, 160, 162, 178, 218, 179, 162, - 245, 179, 162, 217, 180, 160, 248, 249, 251, 179, - 14, 250, 252, 253, 215, 162, 245, 179, 245, 160, - 217, 252, 12, 245, 159, 245, 180, 248, 249, 217, - 160, 248, 12 + 32, 33, 34, 35, 37, 39, 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, 79, 106, 107, 108, 109, 110, 119, + 153, 155, 190, 220, 221, 222, 223, 224, 229, 230, + 231, 232, 233, 236, 238, 239, 240, 241, 242, 243, + 244, 245, 271, 272, 115, 36, 37, 40, 79, 182, + 79, 106, 238, 244, 160, 271, 181, 182, 258, 161, + 165, 4, 36, 37, 38, 226, 227, 237, 165, 181, + 79, 36, 40, 238, 240, 162, 241, 79, 182, 240, + 246, 247, 241, 79, 234, 235, 9, 10, 11, 13, + 14, 15, 16, 17, 18, 19, 78, 79, 80, 81, + 82, 83, 84, 87, 88, 160, 166, 167, 168, 169, + 181, 182, 183, 191, 192, 193, 195, 196, 197, 198, + 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, + 209, 210, 211, 212, 213, 214, 215, 216, 218, 220, + 221, 240, 251, 252, 253, 254, 255, 256, 259, 260, + 261, 262, 264, 265, 266, 270, 226, 225, 228, 240, + 227, 79, 160, 162, 180, 163, 202, 215, 219, 240, + 116, 246, 79, 248, 249, 183, 247, 181, 161, 165, + 181, 181, 252, 160, 160, 181, 181, 218, 160, 218, + 179, 160, 202, 202, 218, 183, 259, 87, 88, 162, + 164, 161, 161, 165, 77, 216, 160, 96, 97, 98, + 99, 100, 101, 102, 103, 104, 105, 180, 217, 202, + 170, 171, 172, 166, 167, 85, 86, 89, 90, 173, + 174, 91, 92, 175, 176, 177, 93, 95, 94, 178, + 165, 181, 183, 252, 79, 225, 228, 162, 180, 163, + 219, 216, 250, 163, 183, 162, 165, 181, 235, 78, + 251, 260, 267, 218, 181, 218, 179, 218, 231, 263, + 161, 183, 194, 218, 79, 197, 216, 216, 202, 202, + 202, 204, 204, 205, 205, 206, 206, 206, 206, 207, + 207, 208, 209, 210, 211, 212, 213, 218, 216, 162, + 163, 219, 250, 180, 163, 219, 249, 160, 263, 268, + 269, 161, 161, 79, 161, 163, 179, 219, 180, 163, + 250, 180, 163, 218, 181, 161, 253, 254, 256, 180, + 14, 255, 257, 258, 216, 163, 250, 180, 250, 161, + 218, 257, 12, 250, 160, 250, 181, 253, 254, 218, + 161, 253, 12 }; #define yyerrok (yyerrstatus = 0) @@ -2724,7 +2770,7 @@ yyreduce: case 2: /* Line 1455 of yacc.c */ -#line 190 "glsl_parser.ypp" +#line 193 "glsl_parser.ypp" { _mesa_glsl_initialize_types(state); ;} @@ -2733,7 +2779,7 @@ yyreduce: case 4: /* Line 1455 of yacc.c */ -#line 198 "glsl_parser.ypp" +#line 201 "glsl_parser.ypp" { state->language_version = 110; ;} @@ -2742,7 +2788,7 @@ yyreduce: case 5: /* Line 1455 of yacc.c */ -#line 202 "glsl_parser.ypp" +#line 205 "glsl_parser.ypp" { switch ((yyvsp[(2) - (3)].n)) { case 110: @@ -2762,7 +2808,7 @@ yyreduce: case 8: /* Line 1455 of yacc.c */ -#line 225 "glsl_parser.ypp" +#line 228 "glsl_parser.ypp" { if (!_mesa_glsl_process_extension((yyvsp[(2) - (5)].identifier), & (yylsp[(2) - (5)]), (yyvsp[(4) - (5)].identifier), & (yylsp[(4) - (5)]), state)) { YYERROR; @@ -2773,7 +2819,7 @@ yyreduce: case 9: /* Line 1455 of yacc.c */ -#line 234 "glsl_parser.ypp" +#line 237 "glsl_parser.ypp" { /* FINISHME: The NULL test is only required because 'precision' * FINISHME: statements are not yet supported. @@ -2786,7 +2832,7 @@ yyreduce: case 10: /* Line 1455 of yacc.c */ -#line 242 "glsl_parser.ypp" +#line 245 "glsl_parser.ypp" { /* FINISHME: The NULL test is only required because 'precision' * FINISHME: statements are not yet supported. @@ -2799,7 +2845,7 @@ yyreduce: case 12: /* Line 1455 of yacc.c */ -#line 257 "glsl_parser.ypp" +#line 260 "glsl_parser.ypp" { void *ctx = state; (yyval.expression) = new(ctx) ast_expression(ast_identifier, NULL, NULL, NULL); @@ -2811,7 +2857,7 @@ yyreduce: case 13: /* Line 1455 of yacc.c */ -#line 264 "glsl_parser.ypp" +#line 267 "glsl_parser.ypp" { void *ctx = state; (yyval.expression) = new(ctx) ast_expression(ast_int_constant, NULL, NULL, NULL); @@ -2823,7 +2869,7 @@ yyreduce: case 14: /* Line 1455 of yacc.c */ -#line 271 "glsl_parser.ypp" +#line 274 "glsl_parser.ypp" { void *ctx = state; (yyval.expression) = new(ctx) ast_expression(ast_uint_constant, NULL, NULL, NULL); @@ -2835,7 +2881,7 @@ yyreduce: case 15: /* Line 1455 of yacc.c */ -#line 278 "glsl_parser.ypp" +#line 281 "glsl_parser.ypp" { void *ctx = state; (yyval.expression) = new(ctx) ast_expression(ast_float_constant, NULL, NULL, NULL); @@ -2847,7 +2893,7 @@ yyreduce: case 16: /* Line 1455 of yacc.c */ -#line 285 "glsl_parser.ypp" +#line 288 "glsl_parser.ypp" { void *ctx = state; (yyval.expression) = new(ctx) ast_expression(ast_bool_constant, NULL, NULL, NULL); @@ -2859,7 +2905,7 @@ yyreduce: case 17: /* Line 1455 of yacc.c */ -#line 292 "glsl_parser.ypp" +#line 295 "glsl_parser.ypp" { (yyval.expression) = (yyvsp[(2) - (3)].expression); ;} @@ -2868,7 +2914,7 @@ yyreduce: case 19: /* Line 1455 of yacc.c */ -#line 300 "glsl_parser.ypp" +#line 303 "glsl_parser.ypp" { void *ctx = state; (yyval.expression) = new(ctx) ast_expression(ast_array_index, (yyvsp[(1) - (4)].expression), (yyvsp[(3) - (4)].expression), NULL); @@ -2879,7 +2925,7 @@ yyreduce: case 20: /* Line 1455 of yacc.c */ -#line 306 "glsl_parser.ypp" +#line 309 "glsl_parser.ypp" { (yyval.expression) = (yyvsp[(1) - (1)].expression); ;} @@ -2888,7 +2934,7 @@ yyreduce: case 21: /* Line 1455 of yacc.c */ -#line 310 "glsl_parser.ypp" +#line 313 "glsl_parser.ypp" { void *ctx = state; (yyval.expression) = new(ctx) ast_expression(ast_field_selection, (yyvsp[(1) - (3)].expression), NULL, NULL); @@ -2900,7 +2946,7 @@ yyreduce: case 22: /* Line 1455 of yacc.c */ -#line 317 "glsl_parser.ypp" +#line 320 "glsl_parser.ypp" { void *ctx = state; (yyval.expression) = new(ctx) ast_expression(ast_post_inc, (yyvsp[(1) - (2)].expression), NULL, NULL); @@ -2911,7 +2957,7 @@ yyreduce: case 23: /* Line 1455 of yacc.c */ -#line 323 "glsl_parser.ypp" +#line 326 "glsl_parser.ypp" { void *ctx = state; (yyval.expression) = new(ctx) ast_expression(ast_post_dec, (yyvsp[(1) - (2)].expression), NULL, NULL); @@ -2922,7 +2968,7 @@ yyreduce: case 27: /* Line 1455 of yacc.c */ -#line 341 "glsl_parser.ypp" +#line 344 "glsl_parser.ypp" { void *ctx = state; (yyval.expression) = new(ctx) ast_expression(ast_field_selection, (yyvsp[(1) - (3)].expression), (yyvsp[(3) - (3)].expression), NULL); @@ -2933,7 +2979,7 @@ yyreduce: case 32: /* Line 1455 of yacc.c */ -#line 360 "glsl_parser.ypp" +#line 363 "glsl_parser.ypp" { (yyval.expression) = (yyvsp[(1) - (2)].expression); (yyval.expression)->set_location(yylloc); @@ -2944,7 +2990,7 @@ yyreduce: case 33: /* Line 1455 of yacc.c */ -#line 366 "glsl_parser.ypp" +#line 369 "glsl_parser.ypp" { (yyval.expression) = (yyvsp[(1) - (3)].expression); (yyval.expression)->set_location(yylloc); @@ -2955,7 +3001,7 @@ yyreduce: case 35: /* Line 1455 of yacc.c */ -#line 382 "glsl_parser.ypp" +#line 385 "glsl_parser.ypp" { void *ctx = state; (yyval.expression) = new(ctx) ast_function_expression((yyvsp[(1) - (1)].type_specifier)); @@ -2966,7 +3012,7 @@ yyreduce: case 36: /* Line 1455 of yacc.c */ -#line 388 "glsl_parser.ypp" +#line 391 "glsl_parser.ypp" { void *ctx = state; ast_expression *callee = new(ctx) ast_expression((yyvsp[(1) - (1)].identifier)); @@ -2978,7 +3024,7 @@ yyreduce: case 37: /* Line 1455 of yacc.c */ -#line 395 "glsl_parser.ypp" +#line 398 "glsl_parser.ypp" { void *ctx = state; ast_expression *callee = new(ctx) ast_expression((yyvsp[(1) - (1)].identifier)); @@ -2990,7 +3036,7 @@ yyreduce: case 39: /* Line 1455 of yacc.c */ -#line 407 "glsl_parser.ypp" +#line 410 "glsl_parser.ypp" { void *ctx = state; (yyval.expression) = new(ctx) ast_expression(ast_pre_inc, (yyvsp[(2) - (2)].expression), NULL, NULL); @@ -3001,7 +3047,7 @@ yyreduce: case 40: /* Line 1455 of yacc.c */ -#line 413 "glsl_parser.ypp" +#line 416 "glsl_parser.ypp" { void *ctx = state; (yyval.expression) = new(ctx) ast_expression(ast_pre_dec, (yyvsp[(2) - (2)].expression), NULL, NULL); @@ -3012,7 +3058,7 @@ yyreduce: case 41: /* Line 1455 of yacc.c */ -#line 419 "glsl_parser.ypp" +#line 422 "glsl_parser.ypp" { void *ctx = state; (yyval.expression) = new(ctx) ast_expression((yyvsp[(1) - (2)].n), (yyvsp[(2) - (2)].expression), NULL, NULL); @@ -3023,35 +3069,35 @@ yyreduce: case 42: /* Line 1455 of yacc.c */ -#line 428 "glsl_parser.ypp" +#line 431 "glsl_parser.ypp" { (yyval.n) = ast_plus; ;} break; case 43: /* Line 1455 of yacc.c */ -#line 429 "glsl_parser.ypp" +#line 432 "glsl_parser.ypp" { (yyval.n) = ast_neg; ;} break; case 44: /* Line 1455 of yacc.c */ -#line 430 "glsl_parser.ypp" +#line 433 "glsl_parser.ypp" { (yyval.n) = ast_logic_not; ;} break; case 45: /* Line 1455 of yacc.c */ -#line 431 "glsl_parser.ypp" +#line 434 "glsl_parser.ypp" { (yyval.n) = ast_bit_not; ;} break; case 47: /* Line 1455 of yacc.c */ -#line 437 "glsl_parser.ypp" +#line 440 "glsl_parser.ypp" { void *ctx = state; (yyval.expression) = new(ctx) ast_expression_bin(ast_mul, (yyvsp[(1) - (3)].expression), (yyvsp[(3) - (3)].expression)); @@ -3062,7 +3108,7 @@ yyreduce: case 48: /* Line 1455 of yacc.c */ -#line 443 "glsl_parser.ypp" +#line 446 "glsl_parser.ypp" { void *ctx = state; (yyval.expression) = new(ctx) ast_expression_bin(ast_div, (yyvsp[(1) - (3)].expression), (yyvsp[(3) - (3)].expression)); @@ -3073,7 +3119,7 @@ yyreduce: case 49: /* Line 1455 of yacc.c */ -#line 449 "glsl_parser.ypp" +#line 452 "glsl_parser.ypp" { void *ctx = state; (yyval.expression) = new(ctx) ast_expression_bin(ast_mod, (yyvsp[(1) - (3)].expression), (yyvsp[(3) - (3)].expression)); @@ -3084,7 +3130,7 @@ yyreduce: case 51: /* Line 1455 of yacc.c */ -#line 459 "glsl_parser.ypp" +#line 462 "glsl_parser.ypp" { void *ctx = state; (yyval.expression) = new(ctx) ast_expression_bin(ast_add, (yyvsp[(1) - (3)].expression), (yyvsp[(3) - (3)].expression)); @@ -3095,7 +3141,7 @@ yyreduce: case 52: /* Line 1455 of yacc.c */ -#line 465 "glsl_parser.ypp" +#line 468 "glsl_parser.ypp" { void *ctx = state; (yyval.expression) = new(ctx) ast_expression_bin(ast_sub, (yyvsp[(1) - (3)].expression), (yyvsp[(3) - (3)].expression)); @@ -3106,7 +3152,7 @@ yyreduce: case 54: /* Line 1455 of yacc.c */ -#line 475 "glsl_parser.ypp" +#line 478 "glsl_parser.ypp" { void *ctx = state; (yyval.expression) = new(ctx) ast_expression_bin(ast_lshift, (yyvsp[(1) - (3)].expression), (yyvsp[(3) - (3)].expression)); @@ -3117,7 +3163,7 @@ yyreduce: case 55: /* Line 1455 of yacc.c */ -#line 481 "glsl_parser.ypp" +#line 484 "glsl_parser.ypp" { void *ctx = state; (yyval.expression) = new(ctx) ast_expression_bin(ast_rshift, (yyvsp[(1) - (3)].expression), (yyvsp[(3) - (3)].expression)); @@ -3128,7 +3174,7 @@ yyreduce: case 57: /* Line 1455 of yacc.c */ -#line 491 "glsl_parser.ypp" +#line 494 "glsl_parser.ypp" { void *ctx = state; (yyval.expression) = new(ctx) ast_expression_bin(ast_less, (yyvsp[(1) - (3)].expression), (yyvsp[(3) - (3)].expression)); @@ -3139,7 +3185,7 @@ yyreduce: case 58: /* Line 1455 of yacc.c */ -#line 497 "glsl_parser.ypp" +#line 500 "glsl_parser.ypp" { void *ctx = state; (yyval.expression) = new(ctx) ast_expression_bin(ast_greater, (yyvsp[(1) - (3)].expression), (yyvsp[(3) - (3)].expression)); @@ -3150,7 +3196,7 @@ yyreduce: case 59: /* Line 1455 of yacc.c */ -#line 503 "glsl_parser.ypp" +#line 506 "glsl_parser.ypp" { void *ctx = state; (yyval.expression) = new(ctx) ast_expression_bin(ast_lequal, (yyvsp[(1) - (3)].expression), (yyvsp[(3) - (3)].expression)); @@ -3161,7 +3207,7 @@ yyreduce: case 60: /* Line 1455 of yacc.c */ -#line 509 "glsl_parser.ypp" +#line 512 "glsl_parser.ypp" { void *ctx = state; (yyval.expression) = new(ctx) ast_expression_bin(ast_gequal, (yyvsp[(1) - (3)].expression), (yyvsp[(3) - (3)].expression)); @@ -3172,7 +3218,7 @@ yyreduce: case 62: /* Line 1455 of yacc.c */ -#line 519 "glsl_parser.ypp" +#line 522 "glsl_parser.ypp" { void *ctx = state; (yyval.expression) = new(ctx) ast_expression_bin(ast_equal, (yyvsp[(1) - (3)].expression), (yyvsp[(3) - (3)].expression)); @@ -3183,7 +3229,7 @@ yyreduce: case 63: /* Line 1455 of yacc.c */ -#line 525 "glsl_parser.ypp" +#line 528 "glsl_parser.ypp" { void *ctx = state; (yyval.expression) = new(ctx) ast_expression_bin(ast_nequal, (yyvsp[(1) - (3)].expression), (yyvsp[(3) - (3)].expression)); @@ -3194,7 +3240,7 @@ yyreduce: case 65: /* Line 1455 of yacc.c */ -#line 535 "glsl_parser.ypp" +#line 538 "glsl_parser.ypp" { void *ctx = state; (yyval.expression) = new(ctx) ast_expression_bin(ast_bit_or, (yyvsp[(1) - (3)].expression), (yyvsp[(3) - (3)].expression)); @@ -3205,7 +3251,7 @@ yyreduce: case 67: /* Line 1455 of yacc.c */ -#line 545 "glsl_parser.ypp" +#line 548 "glsl_parser.ypp" { void *ctx = state; (yyval.expression) = new(ctx) ast_expression_bin(ast_bit_xor, (yyvsp[(1) - (3)].expression), (yyvsp[(3) - (3)].expression)); @@ -3216,7 +3262,7 @@ yyreduce: case 69: /* Line 1455 of yacc.c */ -#line 555 "glsl_parser.ypp" +#line 558 "glsl_parser.ypp" { void *ctx = state; (yyval.expression) = new(ctx) ast_expression_bin(ast_bit_or, (yyvsp[(1) - (3)].expression), (yyvsp[(3) - (3)].expression)); @@ -3227,7 +3273,7 @@ yyreduce: case 71: /* Line 1455 of yacc.c */ -#line 565 "glsl_parser.ypp" +#line 568 "glsl_parser.ypp" { void *ctx = state; (yyval.expression) = new(ctx) ast_expression_bin(ast_logic_and, (yyvsp[(1) - (3)].expression), (yyvsp[(3) - (3)].expression)); @@ -3238,7 +3284,7 @@ yyreduce: case 73: /* Line 1455 of yacc.c */ -#line 575 "glsl_parser.ypp" +#line 578 "glsl_parser.ypp" { void *ctx = state; (yyval.expression) = new(ctx) ast_expression_bin(ast_logic_xor, (yyvsp[(1) - (3)].expression), (yyvsp[(3) - (3)].expression)); @@ -3249,7 +3295,7 @@ yyreduce: case 75: /* Line 1455 of yacc.c */ -#line 585 "glsl_parser.ypp" +#line 588 "glsl_parser.ypp" { void *ctx = state; (yyval.expression) = new(ctx) ast_expression_bin(ast_logic_or, (yyvsp[(1) - (3)].expression), (yyvsp[(3) - (3)].expression)); @@ -3260,7 +3306,7 @@ yyreduce: case 77: /* Line 1455 of yacc.c */ -#line 595 "glsl_parser.ypp" +#line 598 "glsl_parser.ypp" { void *ctx = state; (yyval.expression) = new(ctx) ast_expression(ast_conditional, (yyvsp[(1) - (5)].expression), (yyvsp[(3) - (5)].expression), (yyvsp[(5) - (5)].expression)); @@ -3271,7 +3317,7 @@ yyreduce: case 79: /* Line 1455 of yacc.c */ -#line 605 "glsl_parser.ypp" +#line 608 "glsl_parser.ypp" { void *ctx = state; (yyval.expression) = new(ctx) ast_expression((yyvsp[(2) - (3)].n), (yyvsp[(1) - (3)].expression), (yyvsp[(3) - (3)].expression), NULL); @@ -3282,84 +3328,84 @@ yyreduce: case 80: /* Line 1455 of yacc.c */ -#line 613 "glsl_parser.ypp" +#line 616 "glsl_parser.ypp" { (yyval.n) = ast_assign; ;} break; case 81: /* Line 1455 of yacc.c */ -#line 614 "glsl_parser.ypp" +#line 617 "glsl_parser.ypp" { (yyval.n) = ast_mul_assign; ;} break; case 82: /* Line 1455 of yacc.c */ -#line 615 "glsl_parser.ypp" +#line 618 "glsl_parser.ypp" { (yyval.n) = ast_div_assign; ;} break; case 83: /* Line 1455 of yacc.c */ -#line 616 "glsl_parser.ypp" +#line 619 "glsl_parser.ypp" { (yyval.n) = ast_mod_assign; ;} break; case 84: /* Line 1455 of yacc.c */ -#line 617 "glsl_parser.ypp" +#line 620 "glsl_parser.ypp" { (yyval.n) = ast_add_assign; ;} break; case 85: /* Line 1455 of yacc.c */ -#line 618 "glsl_parser.ypp" +#line 621 "glsl_parser.ypp" { (yyval.n) = ast_sub_assign; ;} break; case 86: /* Line 1455 of yacc.c */ -#line 619 "glsl_parser.ypp" +#line 622 "glsl_parser.ypp" { (yyval.n) = ast_ls_assign; ;} break; case 87: /* Line 1455 of yacc.c */ -#line 620 "glsl_parser.ypp" +#line 623 "glsl_parser.ypp" { (yyval.n) = ast_rs_assign; ;} break; case 88: /* Line 1455 of yacc.c */ -#line 621 "glsl_parser.ypp" +#line 624 "glsl_parser.ypp" { (yyval.n) = ast_and_assign; ;} break; case 89: /* Line 1455 of yacc.c */ -#line 622 "glsl_parser.ypp" +#line 625 "glsl_parser.ypp" { (yyval.n) = ast_xor_assign; ;} break; case 90: /* Line 1455 of yacc.c */ -#line 623 "glsl_parser.ypp" +#line 626 "glsl_parser.ypp" { (yyval.n) = ast_or_assign; ;} break; case 91: /* Line 1455 of yacc.c */ -#line 628 "glsl_parser.ypp" +#line 631 "glsl_parser.ypp" { (yyval.expression) = (yyvsp[(1) - (1)].expression); ;} @@ -3368,7 +3414,7 @@ yyreduce: case 92: /* Line 1455 of yacc.c */ -#line 632 "glsl_parser.ypp" +#line 635 "glsl_parser.ypp" { void *ctx = state; if ((yyvsp[(1) - (3)].expression)->oper != ast_sequence) { @@ -3386,7 +3432,7 @@ yyreduce: case 94: /* Line 1455 of yacc.c */ -#line 652 "glsl_parser.ypp" +#line 655 "glsl_parser.ypp" { (yyval.node) = (yyvsp[(1) - (2)].function); ;} @@ -3395,7 +3441,7 @@ yyreduce: case 95: /* Line 1455 of yacc.c */ -#line 656 "glsl_parser.ypp" +#line 659 "glsl_parser.ypp" { (yyval.node) = (yyvsp[(1) - (2)].declarator_list); ;} @@ -3404,7 +3450,7 @@ yyreduce: case 96: /* Line 1455 of yacc.c */ -#line 660 "glsl_parser.ypp" +#line 663 "glsl_parser.ypp" { if (((yyvsp[(3) - (4)].type_specifier)->type_specifier != ast_float) && ((yyvsp[(3) - (4)].type_specifier)->type_specifier != ast_int)) { @@ -3420,7 +3466,7 @@ yyreduce: case 100: /* Line 1455 of yacc.c */ -#line 683 "glsl_parser.ypp" +#line 686 "glsl_parser.ypp" { (yyval.function) = (yyvsp[(1) - (2)].function); (yyval.function)->parameters.push_tail(& (yyvsp[(2) - (2)].parameter_declarator)->link); @@ -3430,7 +3476,7 @@ yyreduce: case 101: /* Line 1455 of yacc.c */ -#line 688 "glsl_parser.ypp" +#line 691 "glsl_parser.ypp" { (yyval.function) = (yyvsp[(1) - (3)].function); (yyval.function)->parameters.push_tail(& (yyvsp[(3) - (3)].parameter_declarator)->link); @@ -3440,7 +3486,7 @@ yyreduce: case 102: /* Line 1455 of yacc.c */ -#line 696 "glsl_parser.ypp" +#line 699 "glsl_parser.ypp" { void *ctx = state; (yyval.function) = new(ctx) ast_function(); @@ -3453,7 +3499,7 @@ yyreduce: case 103: /* Line 1455 of yacc.c */ -#line 707 "glsl_parser.ypp" +#line 710 "glsl_parser.ypp" { void *ctx = state; (yyval.parameter_declarator) = new(ctx) ast_parameter_declarator(); @@ -3468,7 +3514,7 @@ yyreduce: case 104: /* Line 1455 of yacc.c */ -#line 717 "glsl_parser.ypp" +#line 720 "glsl_parser.ypp" { void *ctx = state; (yyval.parameter_declarator) = new(ctx) ast_parameter_declarator(); @@ -3485,7 +3531,7 @@ yyreduce: case 105: /* Line 1455 of yacc.c */ -#line 732 "glsl_parser.ypp" +#line 735 "glsl_parser.ypp" { (yyvsp[(1) - (3)].type_qualifier).i |= (yyvsp[(2) - (3)].type_qualifier).i; @@ -3497,7 +3543,7 @@ yyreduce: case 106: /* Line 1455 of yacc.c */ -#line 739 "glsl_parser.ypp" +#line 742 "glsl_parser.ypp" { (yyval.parameter_declarator) = (yyvsp[(2) - (2)].parameter_declarator); (yyval.parameter_declarator)->type->qualifier = (yyvsp[(1) - (2)].type_qualifier).q; @@ -3507,7 +3553,7 @@ yyreduce: case 107: /* Line 1455 of yacc.c */ -#line 744 "glsl_parser.ypp" +#line 747 "glsl_parser.ypp" { void *ctx = state; (yyvsp[(1) - (3)].type_qualifier).i |= (yyvsp[(2) - (3)].type_qualifier).i; @@ -3523,7 +3569,7 @@ yyreduce: case 108: /* Line 1455 of yacc.c */ -#line 755 "glsl_parser.ypp" +#line 758 "glsl_parser.ypp" { void *ctx = state; (yyval.parameter_declarator) = new(ctx) ast_parameter_declarator(); @@ -3537,35 +3583,35 @@ yyreduce: case 109: /* Line 1455 of yacc.c */ -#line 766 "glsl_parser.ypp" +#line 769 "glsl_parser.ypp" { (yyval.type_qualifier).i = 0; ;} break; case 110: /* Line 1455 of yacc.c */ -#line 767 "glsl_parser.ypp" +#line 770 "glsl_parser.ypp" { (yyval.type_qualifier).i = 0; (yyval.type_qualifier).q.in = 1; ;} break; case 111: /* Line 1455 of yacc.c */ -#line 768 "glsl_parser.ypp" +#line 771 "glsl_parser.ypp" { (yyval.type_qualifier).i = 0; (yyval.type_qualifier).q.out = 1; ;} break; case 112: /* Line 1455 of yacc.c */ -#line 769 "glsl_parser.ypp" +#line 772 "glsl_parser.ypp" { (yyval.type_qualifier).i = 0; (yyval.type_qualifier).q.in = 1; (yyval.type_qualifier).q.out = 1; ;} break; case 115: /* Line 1455 of yacc.c */ -#line 779 "glsl_parser.ypp" +#line 782 "glsl_parser.ypp" { void *ctx = state; ast_declaration *decl = new(ctx) ast_declaration((yyvsp[(3) - (3)].identifier), false, NULL, NULL); @@ -3579,7 +3625,7 @@ yyreduce: case 116: /* Line 1455 of yacc.c */ -#line 788 "glsl_parser.ypp" +#line 791 "glsl_parser.ypp" { void *ctx = state; ast_declaration *decl = new(ctx) ast_declaration((yyvsp[(3) - (5)].identifier), true, NULL, NULL); @@ -3593,7 +3639,7 @@ yyreduce: case 117: /* Line 1455 of yacc.c */ -#line 797 "glsl_parser.ypp" +#line 800 "glsl_parser.ypp" { void *ctx = state; ast_declaration *decl = new(ctx) ast_declaration((yyvsp[(3) - (6)].identifier), true, (yyvsp[(5) - (6)].expression), NULL); @@ -3607,7 +3653,7 @@ yyreduce: case 118: /* Line 1455 of yacc.c */ -#line 806 "glsl_parser.ypp" +#line 809 "glsl_parser.ypp" { void *ctx = state; ast_declaration *decl = new(ctx) ast_declaration((yyvsp[(3) - (7)].identifier), true, NULL, (yyvsp[(7) - (7)].expression)); @@ -3621,7 +3667,7 @@ yyreduce: case 119: /* Line 1455 of yacc.c */ -#line 815 "glsl_parser.ypp" +#line 818 "glsl_parser.ypp" { void *ctx = state; ast_declaration *decl = new(ctx) ast_declaration((yyvsp[(3) - (8)].identifier), true, (yyvsp[(5) - (8)].expression), (yyvsp[(8) - (8)].expression)); @@ -3635,7 +3681,7 @@ yyreduce: case 120: /* Line 1455 of yacc.c */ -#line 824 "glsl_parser.ypp" +#line 827 "glsl_parser.ypp" { void *ctx = state; ast_declaration *decl = new(ctx) ast_declaration((yyvsp[(3) - (5)].identifier), false, NULL, (yyvsp[(5) - (5)].expression)); @@ -3649,7 +3695,7 @@ yyreduce: case 121: /* Line 1455 of yacc.c */ -#line 837 "glsl_parser.ypp" +#line 840 "glsl_parser.ypp" { void *ctx = state; if ((yyvsp[(1) - (1)].fully_specified_type)->specifier->type_specifier != ast_struct) { @@ -3665,7 +3711,7 @@ yyreduce: case 122: /* Line 1455 of yacc.c */ -#line 848 "glsl_parser.ypp" +#line 851 "glsl_parser.ypp" { void *ctx = state; ast_declaration *decl = new(ctx) ast_declaration((yyvsp[(2) - (2)].identifier), false, NULL, NULL); @@ -3679,7 +3725,7 @@ yyreduce: case 123: /* Line 1455 of yacc.c */ -#line 857 "glsl_parser.ypp" +#line 860 "glsl_parser.ypp" { void *ctx = state; ast_declaration *decl = new(ctx) ast_declaration((yyvsp[(2) - (4)].identifier), true, NULL, NULL); @@ -3693,7 +3739,7 @@ yyreduce: case 124: /* Line 1455 of yacc.c */ -#line 866 "glsl_parser.ypp" +#line 869 "glsl_parser.ypp" { void *ctx = state; ast_declaration *decl = new(ctx) ast_declaration((yyvsp[(2) - (5)].identifier), true, (yyvsp[(4) - (5)].expression), NULL); @@ -3707,7 +3753,7 @@ yyreduce: case 125: /* Line 1455 of yacc.c */ -#line 875 "glsl_parser.ypp" +#line 878 "glsl_parser.ypp" { void *ctx = state; ast_declaration *decl = new(ctx) ast_declaration((yyvsp[(2) - (6)].identifier), true, NULL, (yyvsp[(6) - (6)].expression)); @@ -3721,7 +3767,7 @@ yyreduce: case 126: /* Line 1455 of yacc.c */ -#line 884 "glsl_parser.ypp" +#line 887 "glsl_parser.ypp" { void *ctx = state; ast_declaration *decl = new(ctx) ast_declaration((yyvsp[(2) - (7)].identifier), true, (yyvsp[(4) - (7)].expression), (yyvsp[(7) - (7)].expression)); @@ -3735,7 +3781,7 @@ yyreduce: case 127: /* Line 1455 of yacc.c */ -#line 893 "glsl_parser.ypp" +#line 896 "glsl_parser.ypp" { void *ctx = state; ast_declaration *decl = new(ctx) ast_declaration((yyvsp[(2) - (4)].identifier), false, NULL, (yyvsp[(4) - (4)].expression)); @@ -3749,7 +3795,7 @@ yyreduce: case 128: /* Line 1455 of yacc.c */ -#line 902 "glsl_parser.ypp" +#line 905 "glsl_parser.ypp" { void *ctx = state; ast_declaration *decl = new(ctx) ast_declaration((yyvsp[(2) - (2)].identifier), false, NULL, NULL); @@ -3765,7 +3811,7 @@ yyreduce: case 129: /* Line 1455 of yacc.c */ -#line 916 "glsl_parser.ypp" +#line 919 "glsl_parser.ypp" { void *ctx = state; (yyval.fully_specified_type) = new(ctx) ast_fully_specified_type(); @@ -3777,7 +3823,7 @@ yyreduce: case 130: /* Line 1455 of yacc.c */ -#line 923 "glsl_parser.ypp" +#line 926 "glsl_parser.ypp" { void *ctx = state; (yyval.fully_specified_type) = new(ctx) ast_fully_specified_type(); @@ -3790,127 +3836,188 @@ yyreduce: case 131: /* Line 1455 of yacc.c */ -#line 933 "glsl_parser.ypp" +#line 936 "glsl_parser.ypp" + { (yyval.type_qualifier).i = 0; ;} + break; + + case 133: + +/* Line 1455 of yacc.c */ +#line 942 "glsl_parser.ypp" + { + (yyval.type_qualifier) = (yyvsp[(3) - (4)].type_qualifier); + ;} + break; + + case 135: + +/* Line 1455 of yacc.c */ +#line 950 "glsl_parser.ypp" + { + (yyval.type_qualifier).i = (yyvsp[(1) - (3)].type_qualifier).i | (yyvsp[(3) - (3)].type_qualifier).i; + ;} + break; + + case 136: + +/* Line 1455 of yacc.c */ +#line 957 "glsl_parser.ypp" + { + (yyval.type_qualifier).i = 0; + + if (state->ARB_fragment_coord_conventions_enable) { + bool got_one = false; + + if (strcmp((yyvsp[(1) - (1)].identifier), "origin_upper_left") == 0) { + got_one = true; + (yyval.type_qualifier).q.origin_upper_left = 1; + } else if (strcmp((yyvsp[(1) - (1)].identifier), "pixel_center_integer") == 0) { + got_one = true; + (yyval.type_qualifier).q.pixel_center_integer = 1; + } + + if (state->ARB_fragment_coord_conventions_warn && got_one) { + _mesa_glsl_warning(& (yylsp[(1) - (1)]), state, + "GL_ARB_fragment_coord_conventions layout " + "identifier `%s' used\n", (yyvsp[(1) - (1)].identifier)); + } + } + + /* If the identifier didn't match any known layout identifiers, + * emit an error. + */ + if ((yyval.type_qualifier).i == 0) { + _mesa_glsl_error(& (yylsp[(1) - (1)]), state, "unrecognized layout identifier " + "`%s'\n", (yyvsp[(1) - (1)].identifier)); + YYERROR; + } + ;} + break; + + case 137: + +/* Line 1455 of yacc.c */ +#line 990 "glsl_parser.ypp" { (yyval.type_qualifier).i = 0; (yyval.type_qualifier).q.smooth = 1; ;} break; - case 132: + case 138: /* Line 1455 of yacc.c */ -#line 934 "glsl_parser.ypp" +#line 991 "glsl_parser.ypp" { (yyval.type_qualifier).i = 0; (yyval.type_qualifier).q.flat = 1; ;} break; - case 133: + case 139: /* Line 1455 of yacc.c */ -#line 935 "glsl_parser.ypp" +#line 992 "glsl_parser.ypp" { (yyval.type_qualifier).i = 0; (yyval.type_qualifier).q.noperspective = 1; ;} break; - case 134: + case 140: /* Line 1455 of yacc.c */ -#line 939 "glsl_parser.ypp" +#line 996 "glsl_parser.ypp" { (yyval.type_qualifier).i = 0; (yyval.type_qualifier).q.constant = 1; ;} break; - case 136: + case 142: /* Line 1455 of yacc.c */ -#line 945 "glsl_parser.ypp" +#line 1002 "glsl_parser.ypp" { (yyval.type_qualifier).i = (yyvsp[(1) - (2)].type_qualifier).i | (yyvsp[(2) - (2)].type_qualifier).i; ;} break; - case 137: + case 143: /* Line 1455 of yacc.c */ -#line 949 "glsl_parser.ypp" +#line 1006 "glsl_parser.ypp" { (yyval.type_qualifier) = (yyvsp[(2) - (2)].type_qualifier); (yyval.type_qualifier).q.invariant = 1; ;} break; - case 138: + case 144: /* Line 1455 of yacc.c */ -#line 956 "glsl_parser.ypp" +#line 1013 "glsl_parser.ypp" { (yyval.type_qualifier).i = 0; (yyval.type_qualifier).q.constant = 1; ;} break; - case 139: + case 145: /* Line 1455 of yacc.c */ -#line 957 "glsl_parser.ypp" +#line 1014 "glsl_parser.ypp" { (yyval.type_qualifier).i = 0; (yyval.type_qualifier).q.attribute = 1; ;} break; - case 140: + case 146: /* Line 1455 of yacc.c */ -#line 958 "glsl_parser.ypp" - { (yyval.type_qualifier).i = 0; (yyval.type_qualifier).q.varying = 1; ;} +#line 1015 "glsl_parser.ypp" + { (yyval.type_qualifier).i = (yyvsp[(1) - (2)].type_qualifier).i; (yyval.type_qualifier).q.varying = 1; ;} break; - case 141: + case 147: /* Line 1455 of yacc.c */ -#line 959 "glsl_parser.ypp" +#line 1016 "glsl_parser.ypp" { (yyval.type_qualifier).i = 0; (yyval.type_qualifier).q.centroid = 1; (yyval.type_qualifier).q.varying = 1; ;} break; - case 142: + case 148: /* Line 1455 of yacc.c */ -#line 960 "glsl_parser.ypp" +#line 1017 "glsl_parser.ypp" { (yyval.type_qualifier).i = 0; (yyval.type_qualifier).q.in = 1; ;} break; - case 143: + case 149: /* Line 1455 of yacc.c */ -#line 961 "glsl_parser.ypp" +#line 1018 "glsl_parser.ypp" { (yyval.type_qualifier).i = 0; (yyval.type_qualifier).q.out = 1; ;} break; - case 144: + case 150: /* Line 1455 of yacc.c */ -#line 962 "glsl_parser.ypp" +#line 1019 "glsl_parser.ypp" { (yyval.type_qualifier).i = 0; (yyval.type_qualifier).q.centroid = 1; (yyval.type_qualifier).q.in = 1; ;} break; - case 145: + case 151: /* Line 1455 of yacc.c */ -#line 963 "glsl_parser.ypp" +#line 1020 "glsl_parser.ypp" { (yyval.type_qualifier).i = 0; (yyval.type_qualifier).q.centroid = 1; (yyval.type_qualifier).q.out = 1; ;} break; - case 146: + case 152: /* Line 1455 of yacc.c */ -#line 964 "glsl_parser.ypp" +#line 1021 "glsl_parser.ypp" { (yyval.type_qualifier).i = 0; (yyval.type_qualifier).q.uniform = 1; ;} break; - case 148: + case 154: /* Line 1455 of yacc.c */ -#line 970 "glsl_parser.ypp" +#line 1027 "glsl_parser.ypp" { (yyval.type_specifier) = (yyvsp[(2) - (2)].type_specifier); (yyval.type_specifier)->precision = (yyvsp[(1) - (2)].n); ;} break; - case 150: + case 156: /* Line 1455 of yacc.c */ -#line 979 "glsl_parser.ypp" +#line 1036 "glsl_parser.ypp" { (yyval.type_specifier) = (yyvsp[(1) - (3)].type_specifier); (yyval.type_specifier)->is_array = true; @@ -3918,10 +4025,10 @@ yyreduce: ;} break; - case 151: + case 157: /* Line 1455 of yacc.c */ -#line 985 "glsl_parser.ypp" +#line 1042 "glsl_parser.ypp" { (yyval.type_specifier) = (yyvsp[(1) - (4)].type_specifier); (yyval.type_specifier)->is_array = true; @@ -3929,10 +4036,10 @@ yyreduce: ;} break; - case 152: + case 158: /* Line 1455 of yacc.c */ -#line 994 "glsl_parser.ypp" +#line 1051 "glsl_parser.ypp" { void *ctx = state; (yyval.type_specifier) = new(ctx) ast_type_specifier((yyvsp[(1) - (1)].n)); @@ -3940,10 +4047,10 @@ yyreduce: ;} break; - case 153: + case 159: /* Line 1455 of yacc.c */ -#line 1000 "glsl_parser.ypp" +#line 1057 "glsl_parser.ypp" { void *ctx = state; (yyval.type_specifier) = new(ctx) ast_type_specifier((yyvsp[(1) - (1)].struct_specifier)); @@ -3951,10 +4058,10 @@ yyreduce: ;} break; - case 154: + case 160: /* Line 1455 of yacc.c */ -#line 1006 "glsl_parser.ypp" +#line 1063 "glsl_parser.ypp" { void *ctx = state; (yyval.type_specifier) = new(ctx) ast_type_specifier((yyvsp[(1) - (1)].identifier)); @@ -3962,388 +4069,388 @@ yyreduce: ;} break; - case 155: + case 161: /* Line 1455 of yacc.c */ -#line 1014 "glsl_parser.ypp" +#line 1071 "glsl_parser.ypp" { (yyval.n) = ast_void; ;} break; - case 156: + case 162: /* Line 1455 of yacc.c */ -#line 1015 "glsl_parser.ypp" +#line 1072 "glsl_parser.ypp" { (yyval.n) = ast_float; ;} break; - case 157: + case 163: /* Line 1455 of yacc.c */ -#line 1016 "glsl_parser.ypp" +#line 1073 "glsl_parser.ypp" { (yyval.n) = ast_int; ;} break; - case 158: + case 164: /* Line 1455 of yacc.c */ -#line 1017 "glsl_parser.ypp" +#line 1074 "glsl_parser.ypp" { (yyval.n) = ast_uint; ;} break; - case 159: + case 165: /* Line 1455 of yacc.c */ -#line 1018 "glsl_parser.ypp" +#line 1075 "glsl_parser.ypp" { (yyval.n) = ast_bool; ;} break; - case 160: + case 166: /* Line 1455 of yacc.c */ -#line 1019 "glsl_parser.ypp" +#line 1076 "glsl_parser.ypp" { (yyval.n) = ast_vec2; ;} break; - case 161: + case 167: /* Line 1455 of yacc.c */ -#line 1020 "glsl_parser.ypp" +#line 1077 "glsl_parser.ypp" { (yyval.n) = ast_vec3; ;} break; - case 162: + case 168: /* Line 1455 of yacc.c */ -#line 1021 "glsl_parser.ypp" +#line 1078 "glsl_parser.ypp" { (yyval.n) = ast_vec4; ;} break; - case 163: + case 169: /* Line 1455 of yacc.c */ -#line 1022 "glsl_parser.ypp" +#line 1079 "glsl_parser.ypp" { (yyval.n) = ast_bvec2; ;} break; - case 164: + case 170: /* Line 1455 of yacc.c */ -#line 1023 "glsl_parser.ypp" +#line 1080 "glsl_parser.ypp" { (yyval.n) = ast_bvec3; ;} break; - case 165: + case 171: /* Line 1455 of yacc.c */ -#line 1024 "glsl_parser.ypp" +#line 1081 "glsl_parser.ypp" { (yyval.n) = ast_bvec4; ;} break; - case 166: + case 172: /* Line 1455 of yacc.c */ -#line 1025 "glsl_parser.ypp" +#line 1082 "glsl_parser.ypp" { (yyval.n) = ast_ivec2; ;} break; - case 167: + case 173: /* Line 1455 of yacc.c */ -#line 1026 "glsl_parser.ypp" +#line 1083 "glsl_parser.ypp" { (yyval.n) = ast_ivec3; ;} break; - case 168: + case 174: /* Line 1455 of yacc.c */ -#line 1027 "glsl_parser.ypp" +#line 1084 "glsl_parser.ypp" { (yyval.n) = ast_ivec4; ;} break; - case 169: + case 175: /* Line 1455 of yacc.c */ -#line 1028 "glsl_parser.ypp" +#line 1085 "glsl_parser.ypp" { (yyval.n) = ast_uvec2; ;} break; - case 170: + case 176: /* Line 1455 of yacc.c */ -#line 1029 "glsl_parser.ypp" +#line 1086 "glsl_parser.ypp" { (yyval.n) = ast_uvec3; ;} break; - case 171: + case 177: /* Line 1455 of yacc.c */ -#line 1030 "glsl_parser.ypp" +#line 1087 "glsl_parser.ypp" { (yyval.n) = ast_uvec4; ;} break; - case 172: + case 178: /* Line 1455 of yacc.c */ -#line 1031 "glsl_parser.ypp" +#line 1088 "glsl_parser.ypp" { (yyval.n) = ast_mat2; ;} break; - case 173: + case 179: /* Line 1455 of yacc.c */ -#line 1032 "glsl_parser.ypp" +#line 1089 "glsl_parser.ypp" { (yyval.n) = ast_mat3; ;} break; - case 174: + case 180: /* Line 1455 of yacc.c */ -#line 1033 "glsl_parser.ypp" +#line 1090 "glsl_parser.ypp" { (yyval.n) = ast_mat4; ;} break; - case 175: + case 181: /* Line 1455 of yacc.c */ -#line 1034 "glsl_parser.ypp" +#line 1091 "glsl_parser.ypp" { (yyval.n) = ast_mat2; ;} break; - case 176: + case 182: /* Line 1455 of yacc.c */ -#line 1035 "glsl_parser.ypp" +#line 1092 "glsl_parser.ypp" { (yyval.n) = ast_mat2x3; ;} break; - case 177: + case 183: /* Line 1455 of yacc.c */ -#line 1036 "glsl_parser.ypp" +#line 1093 "glsl_parser.ypp" { (yyval.n) = ast_mat2x4; ;} break; - case 178: + case 184: /* Line 1455 of yacc.c */ -#line 1037 "glsl_parser.ypp" +#line 1094 "glsl_parser.ypp" { (yyval.n) = ast_mat3x2; ;} break; - case 179: + case 185: /* Line 1455 of yacc.c */ -#line 1038 "glsl_parser.ypp" +#line 1095 "glsl_parser.ypp" { (yyval.n) = ast_mat3; ;} break; - case 180: + case 186: /* Line 1455 of yacc.c */ -#line 1039 "glsl_parser.ypp" +#line 1096 "glsl_parser.ypp" { (yyval.n) = ast_mat3x4; ;} break; - case 181: + case 187: /* Line 1455 of yacc.c */ -#line 1040 "glsl_parser.ypp" +#line 1097 "glsl_parser.ypp" { (yyval.n) = ast_mat4x2; ;} break; - case 182: + case 188: /* Line 1455 of yacc.c */ -#line 1041 "glsl_parser.ypp" +#line 1098 "glsl_parser.ypp" { (yyval.n) = ast_mat4x3; ;} break; - case 183: + case 189: /* Line 1455 of yacc.c */ -#line 1042 "glsl_parser.ypp" +#line 1099 "glsl_parser.ypp" { (yyval.n) = ast_mat4; ;} break; - case 184: + case 190: /* Line 1455 of yacc.c */ -#line 1043 "glsl_parser.ypp" +#line 1100 "glsl_parser.ypp" { (yyval.n) = ast_sampler1d; ;} break; - case 185: + case 191: /* Line 1455 of yacc.c */ -#line 1044 "glsl_parser.ypp" +#line 1101 "glsl_parser.ypp" { (yyval.n) = ast_sampler2d; ;} break; - case 186: + case 192: /* Line 1455 of yacc.c */ -#line 1045 "glsl_parser.ypp" +#line 1102 "glsl_parser.ypp" { (yyval.n) = ast_sampler2drect; ;} break; - case 187: + case 193: /* Line 1455 of yacc.c */ -#line 1046 "glsl_parser.ypp" +#line 1103 "glsl_parser.ypp" { (yyval.n) = ast_sampler3d; ;} break; - case 188: + case 194: /* Line 1455 of yacc.c */ -#line 1047 "glsl_parser.ypp" +#line 1104 "glsl_parser.ypp" { (yyval.n) = ast_samplercube; ;} break; - case 189: + case 195: /* Line 1455 of yacc.c */ -#line 1048 "glsl_parser.ypp" +#line 1105 "glsl_parser.ypp" { (yyval.n) = ast_sampler1dshadow; ;} break; - case 190: + case 196: /* Line 1455 of yacc.c */ -#line 1049 "glsl_parser.ypp" +#line 1106 "glsl_parser.ypp" { (yyval.n) = ast_sampler2dshadow; ;} break; - case 191: + case 197: /* Line 1455 of yacc.c */ -#line 1050 "glsl_parser.ypp" +#line 1107 "glsl_parser.ypp" { (yyval.n) = ast_sampler2drectshadow; ;} break; - case 192: + case 198: /* Line 1455 of yacc.c */ -#line 1051 "glsl_parser.ypp" +#line 1108 "glsl_parser.ypp" { (yyval.n) = ast_samplercubeshadow; ;} break; - case 193: + case 199: /* Line 1455 of yacc.c */ -#line 1052 "glsl_parser.ypp" +#line 1109 "glsl_parser.ypp" { (yyval.n) = ast_sampler1darray; ;} break; - case 194: + case 200: /* Line 1455 of yacc.c */ -#line 1053 "glsl_parser.ypp" +#line 1110 "glsl_parser.ypp" { (yyval.n) = ast_sampler2darray; ;} break; - case 195: + case 201: /* Line 1455 of yacc.c */ -#line 1054 "glsl_parser.ypp" +#line 1111 "glsl_parser.ypp" { (yyval.n) = ast_sampler1darrayshadow; ;} break; - case 196: + case 202: /* Line 1455 of yacc.c */ -#line 1055 "glsl_parser.ypp" +#line 1112 "glsl_parser.ypp" { (yyval.n) = ast_sampler2darrayshadow; ;} break; - case 197: + case 203: /* Line 1455 of yacc.c */ -#line 1056 "glsl_parser.ypp" +#line 1113 "glsl_parser.ypp" { (yyval.n) = ast_isampler1d; ;} break; - case 198: + case 204: /* Line 1455 of yacc.c */ -#line 1057 "glsl_parser.ypp" +#line 1114 "glsl_parser.ypp" { (yyval.n) = ast_isampler2d; ;} break; - case 199: + case 205: /* Line 1455 of yacc.c */ -#line 1058 "glsl_parser.ypp" +#line 1115 "glsl_parser.ypp" { (yyval.n) = ast_isampler3d; ;} break; - case 200: + case 206: /* Line 1455 of yacc.c */ -#line 1059 "glsl_parser.ypp" +#line 1116 "glsl_parser.ypp" { (yyval.n) = ast_isamplercube; ;} break; - case 201: + case 207: /* Line 1455 of yacc.c */ -#line 1060 "glsl_parser.ypp" +#line 1117 "glsl_parser.ypp" { (yyval.n) = ast_isampler1darray; ;} break; - case 202: + case 208: /* Line 1455 of yacc.c */ -#line 1061 "glsl_parser.ypp" +#line 1118 "glsl_parser.ypp" { (yyval.n) = ast_isampler2darray; ;} break; - case 203: + case 209: /* Line 1455 of yacc.c */ -#line 1062 "glsl_parser.ypp" +#line 1119 "glsl_parser.ypp" { (yyval.n) = ast_usampler1d; ;} break; - case 204: + case 210: /* Line 1455 of yacc.c */ -#line 1063 "glsl_parser.ypp" +#line 1120 "glsl_parser.ypp" { (yyval.n) = ast_usampler2d; ;} break; - case 205: + case 211: /* Line 1455 of yacc.c */ -#line 1064 "glsl_parser.ypp" +#line 1121 "glsl_parser.ypp" { (yyval.n) = ast_usampler3d; ;} break; - case 206: + case 212: /* Line 1455 of yacc.c */ -#line 1065 "glsl_parser.ypp" +#line 1122 "glsl_parser.ypp" { (yyval.n) = ast_usamplercube; ;} break; - case 207: + case 213: /* Line 1455 of yacc.c */ -#line 1066 "glsl_parser.ypp" +#line 1123 "glsl_parser.ypp" { (yyval.n) = ast_usampler1darray; ;} break; - case 208: + case 214: /* Line 1455 of yacc.c */ -#line 1067 "glsl_parser.ypp" +#line 1124 "glsl_parser.ypp" { (yyval.n) = ast_usampler2darray; ;} break; - case 209: + case 215: /* Line 1455 of yacc.c */ -#line 1071 "glsl_parser.ypp" +#line 1128 "glsl_parser.ypp" { if (state->language_version < 130) _mesa_glsl_error(& (yylsp[(1) - (1)]), state, @@ -4357,10 +4464,10 @@ yyreduce: ;} break; - case 210: + case 216: /* Line 1455 of yacc.c */ -#line 1082 "glsl_parser.ypp" +#line 1139 "glsl_parser.ypp" { if (state->language_version < 130) _mesa_glsl_error(& (yylsp[(1) - (1)]), state, @@ -4374,10 +4481,10 @@ yyreduce: ;} break; - case 211: + case 217: /* Line 1455 of yacc.c */ -#line 1093 "glsl_parser.ypp" +#line 1150 "glsl_parser.ypp" { if (state->language_version < 130) _mesa_glsl_error(& (yylsp[(1) - (1)]), state, @@ -4391,10 +4498,10 @@ yyreduce: ;} break; - case 212: + case 218: /* Line 1455 of yacc.c */ -#line 1108 "glsl_parser.ypp" +#line 1165 "glsl_parser.ypp" { void *ctx = state; (yyval.struct_specifier) = new(ctx) ast_struct_specifier((yyvsp[(2) - (5)].identifier), (yyvsp[(4) - (5)].node)); @@ -4402,10 +4509,10 @@ yyreduce: ;} break; - case 213: + case 219: /* Line 1455 of yacc.c */ -#line 1114 "glsl_parser.ypp" +#line 1171 "glsl_parser.ypp" { void *ctx = state; (yyval.struct_specifier) = new(ctx) ast_struct_specifier(NULL, (yyvsp[(3) - (4)].node)); @@ -4413,30 +4520,30 @@ yyreduce: ;} break; - case 214: + case 220: /* Line 1455 of yacc.c */ -#line 1123 "glsl_parser.ypp" +#line 1180 "glsl_parser.ypp" { (yyval.node) = (struct ast_node *) (yyvsp[(1) - (1)].declarator_list); (yyvsp[(1) - (1)].declarator_list)->link.self_link(); ;} break; - case 215: + case 221: /* Line 1455 of yacc.c */ -#line 1128 "glsl_parser.ypp" +#line 1185 "glsl_parser.ypp" { (yyval.node) = (struct ast_node *) (yyvsp[(1) - (2)].node); (yyval.node)->link.insert_before(& (yyvsp[(2) - (2)].declarator_list)->link); ;} break; - case 216: + case 222: /* Line 1455 of yacc.c */ -#line 1136 "glsl_parser.ypp" +#line 1193 "glsl_parser.ypp" { void *ctx = state; ast_fully_specified_type *type = new(ctx) ast_fully_specified_type(); @@ -4450,30 +4557,30 @@ yyreduce: ;} break; - case 217: + case 223: /* Line 1455 of yacc.c */ -#line 1151 "glsl_parser.ypp" +#line 1208 "glsl_parser.ypp" { (yyval.declaration) = (yyvsp[(1) - (1)].declaration); (yyvsp[(1) - (1)].declaration)->link.self_link(); ;} break; - case 218: + case 224: /* Line 1455 of yacc.c */ -#line 1156 "glsl_parser.ypp" +#line 1213 "glsl_parser.ypp" { (yyval.declaration) = (yyvsp[(1) - (3)].declaration); (yyval.declaration)->link.insert_before(& (yyvsp[(3) - (3)].declaration)->link); ;} break; - case 219: + case 225: /* Line 1455 of yacc.c */ -#line 1164 "glsl_parser.ypp" +#line 1221 "glsl_parser.ypp" { void *ctx = state; (yyval.declaration) = new(ctx) ast_declaration((yyvsp[(1) - (1)].identifier), false, NULL, NULL); @@ -4481,10 +4588,10 @@ yyreduce: ;} break; - case 220: + case 226: /* Line 1455 of yacc.c */ -#line 1170 "glsl_parser.ypp" +#line 1227 "glsl_parser.ypp" { void *ctx = state; (yyval.declaration) = new(ctx) ast_declaration((yyvsp[(1) - (4)].identifier), true, (yyvsp[(3) - (4)].expression), NULL); @@ -4492,31 +4599,31 @@ yyreduce: ;} break; - case 225: + case 231: /* Line 1455 of yacc.c */ -#line 1193 "glsl_parser.ypp" +#line 1250 "glsl_parser.ypp" { (yyval.node) = (struct ast_node *) (yyvsp[(1) - (1)].compound_statement); ;} break; - case 231: + case 237: /* Line 1455 of yacc.c */ -#line 1205 "glsl_parser.ypp" +#line 1262 "glsl_parser.ypp" { (yyval.node) = NULL; ;} break; - case 232: + case 238: /* Line 1455 of yacc.c */ -#line 1206 "glsl_parser.ypp" +#line 1263 "glsl_parser.ypp" { (yyval.node) = NULL; ;} break; - case 235: + case 241: /* Line 1455 of yacc.c */ -#line 1213 "glsl_parser.ypp" +#line 1270 "glsl_parser.ypp" { void *ctx = state; (yyval.compound_statement) = new(ctx) ast_compound_statement(true, NULL); @@ -4524,10 +4631,10 @@ yyreduce: ;} break; - case 236: + case 242: /* Line 1455 of yacc.c */ -#line 1219 "glsl_parser.ypp" +#line 1276 "glsl_parser.ypp" { void *ctx = state; (yyval.compound_statement) = new(ctx) ast_compound_statement(true, (yyvsp[(2) - (3)].node)); @@ -4535,17 +4642,17 @@ yyreduce: ;} break; - case 237: + case 243: /* Line 1455 of yacc.c */ -#line 1227 "glsl_parser.ypp" +#line 1284 "glsl_parser.ypp" { (yyval.node) = (struct ast_node *) (yyvsp[(1) - (1)].compound_statement); ;} break; - case 239: + case 245: /* Line 1455 of yacc.c */ -#line 1233 "glsl_parser.ypp" +#line 1290 "glsl_parser.ypp" { void *ctx = state; (yyval.compound_statement) = new(ctx) ast_compound_statement(false, NULL); @@ -4553,10 +4660,10 @@ yyreduce: ;} break; - case 240: + case 246: /* Line 1455 of yacc.c */ -#line 1239 "glsl_parser.ypp" +#line 1296 "glsl_parser.ypp" { void *ctx = state; (yyval.compound_statement) = new(ctx) ast_compound_statement(false, (yyvsp[(2) - (3)].node)); @@ -4564,10 +4671,10 @@ yyreduce: ;} break; - case 241: + case 247: /* Line 1455 of yacc.c */ -#line 1248 "glsl_parser.ypp" +#line 1305 "glsl_parser.ypp" { if ((yyvsp[(1) - (1)].node) == NULL) { _mesa_glsl_error(& (yylsp[(1) - (1)]), state, " statement\n"); @@ -4579,10 +4686,10 @@ yyreduce: ;} break; - case 242: + case 248: /* Line 1455 of yacc.c */ -#line 1258 "glsl_parser.ypp" +#line 1315 "glsl_parser.ypp" { if ((yyvsp[(2) - (2)].node) == NULL) { _mesa_glsl_error(& (yylsp[(2) - (2)]), state, " statement\n"); @@ -4593,10 +4700,10 @@ yyreduce: ;} break; - case 243: + case 249: /* Line 1455 of yacc.c */ -#line 1270 "glsl_parser.ypp" +#line 1327 "glsl_parser.ypp" { void *ctx = state; (yyval.node) = new(ctx) ast_expression_statement(NULL); @@ -4604,10 +4711,10 @@ yyreduce: ;} break; - case 244: + case 250: /* Line 1455 of yacc.c */ -#line 1276 "glsl_parser.ypp" +#line 1333 "glsl_parser.ypp" { void *ctx = state; (yyval.node) = new(ctx) ast_expression_statement((yyvsp[(1) - (2)].expression)); @@ -4615,10 +4722,10 @@ yyreduce: ;} break; - case 245: + case 251: /* Line 1455 of yacc.c */ -#line 1285 "glsl_parser.ypp" +#line 1342 "glsl_parser.ypp" { void *ctx = state; (yyval.node) = new(ctx) ast_selection_statement((yyvsp[(3) - (7)].expression), (yyvsp[(5) - (7)].node), (yyvsp[(7) - (7)].node)); @@ -4626,10 +4733,10 @@ yyreduce: ;} break; - case 246: + case 252: /* Line 1455 of yacc.c */ -#line 1294 "glsl_parser.ypp" +#line 1351 "glsl_parser.ypp" { void *ctx = state; (yyval.node) = new(ctx) ast_selection_statement((yyvsp[(3) - (5)].expression), (yyvsp[(5) - (5)].node), NULL); @@ -4637,10 +4744,10 @@ yyreduce: ;} break; - case 247: + case 253: /* Line 1455 of yacc.c */ -#line 1300 "glsl_parser.ypp" +#line 1357 "glsl_parser.ypp" { void *ctx = state; (yyval.node) = new(ctx) ast_selection_statement((yyvsp[(3) - (5)].expression), (yyvsp[(5) - (5)].node), NULL); @@ -4648,10 +4755,10 @@ yyreduce: ;} break; - case 248: + case 254: /* Line 1455 of yacc.c */ -#line 1306 "glsl_parser.ypp" +#line 1363 "glsl_parser.ypp" { void *ctx = state; (yyval.node) = new(ctx) ast_selection_statement((yyvsp[(3) - (7)].expression), (yyvsp[(5) - (7)].node), (yyvsp[(7) - (7)].node)); @@ -4659,19 +4766,19 @@ yyreduce: ;} break; - case 249: + case 255: /* Line 1455 of yacc.c */ -#line 1315 "glsl_parser.ypp" +#line 1372 "glsl_parser.ypp" { (yyval.node) = (struct ast_node *) (yyvsp[(1) - (1)].expression); ;} break; - case 250: + case 256: /* Line 1455 of yacc.c */ -#line 1319 "glsl_parser.ypp" +#line 1376 "glsl_parser.ypp" { void *ctx = state; ast_declaration *decl = new(ctx) ast_declaration((yyvsp[(2) - (4)].identifier), false, NULL, (yyvsp[(4) - (4)].expression)); @@ -4684,10 +4791,10 @@ yyreduce: ;} break; - case 254: + case 260: /* Line 1455 of yacc.c */ -#line 1342 "glsl_parser.ypp" +#line 1399 "glsl_parser.ypp" { void *ctx = state; (yyval.node) = new(ctx) ast_iteration_statement(ast_iteration_statement::ast_while, @@ -4696,10 +4803,10 @@ yyreduce: ;} break; - case 255: + case 261: /* Line 1455 of yacc.c */ -#line 1349 "glsl_parser.ypp" +#line 1406 "glsl_parser.ypp" { void *ctx = state; (yyval.node) = new(ctx) ast_iteration_statement(ast_iteration_statement::ast_do_while, @@ -4708,10 +4815,10 @@ yyreduce: ;} break; - case 256: + case 262: /* Line 1455 of yacc.c */ -#line 1356 "glsl_parser.ypp" +#line 1413 "glsl_parser.ypp" { void *ctx = state; (yyval.node) = new(ctx) ast_iteration_statement(ast_iteration_statement::ast_for, @@ -4720,39 +4827,39 @@ yyreduce: ;} break; - case 260: + case 266: /* Line 1455 of yacc.c */ -#line 1372 "glsl_parser.ypp" +#line 1429 "glsl_parser.ypp" { (yyval.node) = NULL; ;} break; - case 261: + case 267: /* Line 1455 of yacc.c */ -#line 1379 "glsl_parser.ypp" +#line 1436 "glsl_parser.ypp" { (yyval.for_rest_statement).cond = (yyvsp[(1) - (2)].node); (yyval.for_rest_statement).rest = NULL; ;} break; - case 262: + case 268: /* Line 1455 of yacc.c */ -#line 1384 "glsl_parser.ypp" +#line 1441 "glsl_parser.ypp" { (yyval.for_rest_statement).cond = (yyvsp[(1) - (3)].node); (yyval.for_rest_statement).rest = (yyvsp[(3) - (3)].expression); ;} break; - case 263: + case 269: /* Line 1455 of yacc.c */ -#line 1393 "glsl_parser.ypp" +#line 1450 "glsl_parser.ypp" { void *ctx = state; (yyval.node) = new(ctx) ast_jump_statement(ast_jump_statement::ast_continue, NULL); @@ -4760,10 +4867,10 @@ yyreduce: ;} break; - case 264: + case 270: /* Line 1455 of yacc.c */ -#line 1399 "glsl_parser.ypp" +#line 1456 "glsl_parser.ypp" { void *ctx = state; (yyval.node) = new(ctx) ast_jump_statement(ast_jump_statement::ast_break, NULL); @@ -4771,10 +4878,10 @@ yyreduce: ;} break; - case 265: + case 271: /* Line 1455 of yacc.c */ -#line 1405 "glsl_parser.ypp" +#line 1462 "glsl_parser.ypp" { void *ctx = state; (yyval.node) = new(ctx) ast_jump_statement(ast_jump_statement::ast_return, NULL); @@ -4782,10 +4889,10 @@ yyreduce: ;} break; - case 266: + case 272: /* Line 1455 of yacc.c */ -#line 1411 "glsl_parser.ypp" +#line 1468 "glsl_parser.ypp" { void *ctx = state; (yyval.node) = new(ctx) ast_jump_statement(ast_jump_statement::ast_return, (yyvsp[(2) - (3)].expression)); @@ -4793,10 +4900,10 @@ yyreduce: ;} break; - case 267: + case 273: /* Line 1455 of yacc.c */ -#line 1417 "glsl_parser.ypp" +#line 1474 "glsl_parser.ypp" { void *ctx = state; (yyval.node) = new(ctx) ast_jump_statement(ast_jump_statement::ast_discard, NULL); @@ -4804,24 +4911,24 @@ yyreduce: ;} break; - case 268: + case 274: /* Line 1455 of yacc.c */ -#line 1425 "glsl_parser.ypp" +#line 1482 "glsl_parser.ypp" { (yyval.node) = (yyvsp[(1) - (1)].function_definition); ;} break; - case 269: + case 275: /* Line 1455 of yacc.c */ -#line 1426 "glsl_parser.ypp" +#line 1483 "glsl_parser.ypp" { (yyval.node) = (yyvsp[(1) - (1)].node); ;} break; - case 270: + case 276: /* Line 1455 of yacc.c */ -#line 1431 "glsl_parser.ypp" +#line 1488 "glsl_parser.ypp" { void *ctx = state; (yyval.function_definition) = new(ctx) ast_function_definition(); @@ -4834,7 +4941,7 @@ yyreduce: /* Line 1455 of yacc.c */ -#line 4838 "glsl_parser.cpp" +#line 4945 "glsl_parser.cpp" default: break; } YY_SYMBOL_PRINT ("-> $$ =", yyr1[yyn], &yyval, &yyloc); -- cgit v1.2.3