diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/glsl/glsl_lexer.cpp | 223 | ||||
-rw-r--r-- | src/glsl/glsl_parser.cpp | 1635 |
2 files changed, 956 insertions, 902 deletions
diff --git a/src/glsl/glsl_lexer.cpp b/src/glsl/glsl_lexer.cpp index 4f14c58bc52..9db1652ed2f 100644 --- a/src/glsl/glsl_lexer.cpp +++ b/src/glsl/glsl_lexer.cpp @@ -1749,6 +1749,7 @@ YY_RULE_SETUP #line 219 "glsl_lexer.lpp" { if ((yyextra->language_version >= 140) + || yyextra->ARB_explicit_attrib_location_enable || (yyextra->ARB_fragment_coord_conventions_enable)){ return LAYOUT_TOK; } else { @@ -1759,102 +1760,102 @@ YY_RULE_SETUP YY_BREAK case 75: YY_RULE_SETUP -#line 229 "glsl_lexer.lpp" +#line 230 "glsl_lexer.lpp" return INC_OP; YY_BREAK case 76: YY_RULE_SETUP -#line 230 "glsl_lexer.lpp" +#line 231 "glsl_lexer.lpp" return DEC_OP; YY_BREAK case 77: YY_RULE_SETUP -#line 231 "glsl_lexer.lpp" +#line 232 "glsl_lexer.lpp" return LE_OP; YY_BREAK case 78: YY_RULE_SETUP -#line 232 "glsl_lexer.lpp" +#line 233 "glsl_lexer.lpp" return GE_OP; YY_BREAK case 79: YY_RULE_SETUP -#line 233 "glsl_lexer.lpp" +#line 234 "glsl_lexer.lpp" return EQ_OP; YY_BREAK case 80: YY_RULE_SETUP -#line 234 "glsl_lexer.lpp" +#line 235 "glsl_lexer.lpp" return NE_OP; YY_BREAK case 81: YY_RULE_SETUP -#line 235 "glsl_lexer.lpp" +#line 236 "glsl_lexer.lpp" return AND_OP; YY_BREAK case 82: YY_RULE_SETUP -#line 236 "glsl_lexer.lpp" +#line 237 "glsl_lexer.lpp" return OR_OP; YY_BREAK case 83: YY_RULE_SETUP -#line 237 "glsl_lexer.lpp" +#line 238 "glsl_lexer.lpp" return XOR_OP; YY_BREAK case 84: YY_RULE_SETUP -#line 239 "glsl_lexer.lpp" +#line 240 "glsl_lexer.lpp" return MUL_ASSIGN; YY_BREAK case 85: YY_RULE_SETUP -#line 240 "glsl_lexer.lpp" +#line 241 "glsl_lexer.lpp" return DIV_ASSIGN; YY_BREAK case 86: YY_RULE_SETUP -#line 241 "glsl_lexer.lpp" +#line 242 "glsl_lexer.lpp" return ADD_ASSIGN; YY_BREAK case 87: YY_RULE_SETUP -#line 242 "glsl_lexer.lpp" +#line 243 "glsl_lexer.lpp" return MOD_ASSIGN; YY_BREAK case 88: YY_RULE_SETUP -#line 243 "glsl_lexer.lpp" +#line 244 "glsl_lexer.lpp" return LEFT_ASSIGN; YY_BREAK case 89: YY_RULE_SETUP -#line 244 "glsl_lexer.lpp" +#line 245 "glsl_lexer.lpp" return RIGHT_ASSIGN; YY_BREAK case 90: YY_RULE_SETUP -#line 245 "glsl_lexer.lpp" +#line 246 "glsl_lexer.lpp" return AND_ASSIGN; YY_BREAK case 91: YY_RULE_SETUP -#line 246 "glsl_lexer.lpp" +#line 247 "glsl_lexer.lpp" return XOR_ASSIGN; YY_BREAK case 92: YY_RULE_SETUP -#line 247 "glsl_lexer.lpp" +#line 248 "glsl_lexer.lpp" return OR_ASSIGN; YY_BREAK case 93: YY_RULE_SETUP -#line 248 "glsl_lexer.lpp" +#line 249 "glsl_lexer.lpp" return SUB_ASSIGN; YY_BREAK case 94: YY_RULE_SETUP -#line 250 "glsl_lexer.lpp" +#line 251 "glsl_lexer.lpp" { yylval->n = strtol(yytext, NULL, 10); return INTCONSTANT; @@ -1862,7 +1863,7 @@ YY_RULE_SETUP YY_BREAK case 95: YY_RULE_SETUP -#line 254 "glsl_lexer.lpp" +#line 255 "glsl_lexer.lpp" { yylval->n = strtol(yytext + 2, NULL, 16); return INTCONSTANT; @@ -1870,7 +1871,7 @@ YY_RULE_SETUP YY_BREAK case 96: YY_RULE_SETUP -#line 258 "glsl_lexer.lpp" +#line 259 "glsl_lexer.lpp" { yylval->n = strtol(yytext, NULL, 8); return INTCONSTANT; @@ -1878,7 +1879,7 @@ YY_RULE_SETUP YY_BREAK case 97: YY_RULE_SETUP -#line 263 "glsl_lexer.lpp" +#line 264 "glsl_lexer.lpp" { yylval->real = strtod(yytext, NULL); return FLOATCONSTANT; @@ -1886,7 +1887,7 @@ YY_RULE_SETUP YY_BREAK case 98: YY_RULE_SETUP -#line 267 "glsl_lexer.lpp" +#line 268 "glsl_lexer.lpp" { yylval->real = strtod(yytext, NULL); return FLOATCONSTANT; @@ -1894,7 +1895,7 @@ YY_RULE_SETUP YY_BREAK case 99: YY_RULE_SETUP -#line 271 "glsl_lexer.lpp" +#line 272 "glsl_lexer.lpp" { yylval->real = strtod(yytext, NULL); return FLOATCONSTANT; @@ -1902,7 +1903,7 @@ YY_RULE_SETUP YY_BREAK case 100: YY_RULE_SETUP -#line 275 "glsl_lexer.lpp" +#line 276 "glsl_lexer.lpp" { yylval->real = strtod(yytext, NULL); return FLOATCONSTANT; @@ -1910,7 +1911,7 @@ YY_RULE_SETUP YY_BREAK case 101: YY_RULE_SETUP -#line 279 "glsl_lexer.lpp" +#line 280 "glsl_lexer.lpp" { yylval->real = strtod(yytext, NULL); return FLOATCONSTANT; @@ -1918,7 +1919,7 @@ YY_RULE_SETUP YY_BREAK case 102: YY_RULE_SETUP -#line 284 "glsl_lexer.lpp" +#line 285 "glsl_lexer.lpp" { yylval->n = 1; return BOOLCONSTANT; @@ -1926,7 +1927,7 @@ YY_RULE_SETUP YY_BREAK case 103: YY_RULE_SETUP -#line 288 "glsl_lexer.lpp" +#line 289 "glsl_lexer.lpp" { yylval->n = 0; return BOOLCONSTANT; @@ -1935,394 +1936,394 @@ YY_RULE_SETUP /* Reserved words in GLSL 1.10. */ case 104: YY_RULE_SETUP -#line 295 "glsl_lexer.lpp" +#line 296 "glsl_lexer.lpp" RESERVED_WORD(999, ASM); YY_BREAK case 105: YY_RULE_SETUP -#line 296 "glsl_lexer.lpp" +#line 297 "glsl_lexer.lpp" RESERVED_WORD(999, CLASS); YY_BREAK case 106: YY_RULE_SETUP -#line 297 "glsl_lexer.lpp" +#line 298 "glsl_lexer.lpp" RESERVED_WORD(999, UNION); YY_BREAK case 107: YY_RULE_SETUP -#line 298 "glsl_lexer.lpp" +#line 299 "glsl_lexer.lpp" RESERVED_WORD(999, ENUM); YY_BREAK case 108: YY_RULE_SETUP -#line 299 "glsl_lexer.lpp" +#line 300 "glsl_lexer.lpp" RESERVED_WORD(999, TYPEDEF); YY_BREAK case 109: YY_RULE_SETUP -#line 300 "glsl_lexer.lpp" +#line 301 "glsl_lexer.lpp" RESERVED_WORD(999, TEMPLATE); YY_BREAK case 110: YY_RULE_SETUP -#line 301 "glsl_lexer.lpp" +#line 302 "glsl_lexer.lpp" RESERVED_WORD(999, THIS); YY_BREAK case 111: YY_RULE_SETUP -#line 302 "glsl_lexer.lpp" +#line 303 "glsl_lexer.lpp" RESERVED_WORD(999, PACKED_TOK); YY_BREAK case 112: YY_RULE_SETUP -#line 303 "glsl_lexer.lpp" +#line 304 "glsl_lexer.lpp" RESERVED_WORD(999, GOTO); YY_BREAK case 113: YY_RULE_SETUP -#line 304 "glsl_lexer.lpp" +#line 305 "glsl_lexer.lpp" RESERVED_WORD(130, SWITCH); YY_BREAK case 114: YY_RULE_SETUP -#line 305 "glsl_lexer.lpp" +#line 306 "glsl_lexer.lpp" RESERVED_WORD(130, DEFAULT); YY_BREAK case 115: YY_RULE_SETUP -#line 306 "glsl_lexer.lpp" +#line 307 "glsl_lexer.lpp" RESERVED_WORD(999, INLINE_TOK); YY_BREAK case 116: YY_RULE_SETUP -#line 307 "glsl_lexer.lpp" +#line 308 "glsl_lexer.lpp" RESERVED_WORD(999, NOINLINE); YY_BREAK case 117: YY_RULE_SETUP -#line 308 "glsl_lexer.lpp" +#line 309 "glsl_lexer.lpp" RESERVED_WORD(999, VOLATILE); YY_BREAK case 118: YY_RULE_SETUP -#line 309 "glsl_lexer.lpp" +#line 310 "glsl_lexer.lpp" RESERVED_WORD(999, PUBLIC_TOK); YY_BREAK case 119: YY_RULE_SETUP -#line 310 "glsl_lexer.lpp" +#line 311 "glsl_lexer.lpp" RESERVED_WORD(999, STATIC); YY_BREAK case 120: YY_RULE_SETUP -#line 311 "glsl_lexer.lpp" +#line 312 "glsl_lexer.lpp" RESERVED_WORD(999, EXTERN); YY_BREAK case 121: YY_RULE_SETUP -#line 312 "glsl_lexer.lpp" +#line 313 "glsl_lexer.lpp" RESERVED_WORD(999, EXTERNAL); YY_BREAK case 122: YY_RULE_SETUP -#line 313 "glsl_lexer.lpp" +#line 314 "glsl_lexer.lpp" RESERVED_WORD(999, INTERFACE); YY_BREAK case 123: YY_RULE_SETUP -#line 314 "glsl_lexer.lpp" +#line 315 "glsl_lexer.lpp" RESERVED_WORD(999, LONG_TOK); YY_BREAK case 124: YY_RULE_SETUP -#line 315 "glsl_lexer.lpp" +#line 316 "glsl_lexer.lpp" RESERVED_WORD(999, SHORT_TOK); YY_BREAK case 125: YY_RULE_SETUP -#line 316 "glsl_lexer.lpp" +#line 317 "glsl_lexer.lpp" RESERVED_WORD(999, DOUBLE_TOK); YY_BREAK case 126: YY_RULE_SETUP -#line 317 "glsl_lexer.lpp" +#line 318 "glsl_lexer.lpp" RESERVED_WORD(999, HALF); YY_BREAK case 127: YY_RULE_SETUP -#line 318 "glsl_lexer.lpp" +#line 319 "glsl_lexer.lpp" RESERVED_WORD(999, FIXED_TOK); YY_BREAK case 128: YY_RULE_SETUP -#line 319 "glsl_lexer.lpp" +#line 320 "glsl_lexer.lpp" RESERVED_WORD(999, UNSIGNED); YY_BREAK case 129: YY_RULE_SETUP -#line 320 "glsl_lexer.lpp" +#line 321 "glsl_lexer.lpp" RESERVED_WORD(999, INPUT_TOK); YY_BREAK case 130: YY_RULE_SETUP -#line 321 "glsl_lexer.lpp" +#line 322 "glsl_lexer.lpp" RESERVED_WORD(999, OUTPUT); YY_BREAK case 131: YY_RULE_SETUP -#line 322 "glsl_lexer.lpp" +#line 323 "glsl_lexer.lpp" RESERVED_WORD(999, HVEC2); YY_BREAK case 132: YY_RULE_SETUP -#line 323 "glsl_lexer.lpp" +#line 324 "glsl_lexer.lpp" RESERVED_WORD(999, HVEC3); YY_BREAK case 133: YY_RULE_SETUP -#line 324 "glsl_lexer.lpp" +#line 325 "glsl_lexer.lpp" RESERVED_WORD(999, HVEC4); YY_BREAK case 134: YY_RULE_SETUP -#line 325 "glsl_lexer.lpp" +#line 326 "glsl_lexer.lpp" RESERVED_WORD(999, DVEC2); YY_BREAK case 135: YY_RULE_SETUP -#line 326 "glsl_lexer.lpp" +#line 327 "glsl_lexer.lpp" RESERVED_WORD(999, DVEC3); YY_BREAK case 136: YY_RULE_SETUP -#line 327 "glsl_lexer.lpp" +#line 328 "glsl_lexer.lpp" RESERVED_WORD(999, DVEC4); YY_BREAK case 137: YY_RULE_SETUP -#line 328 "glsl_lexer.lpp" +#line 329 "glsl_lexer.lpp" RESERVED_WORD(999, FVEC2); YY_BREAK case 138: YY_RULE_SETUP -#line 329 "glsl_lexer.lpp" +#line 330 "glsl_lexer.lpp" RESERVED_WORD(999, FVEC3); YY_BREAK case 139: YY_RULE_SETUP -#line 330 "glsl_lexer.lpp" +#line 331 "glsl_lexer.lpp" RESERVED_WORD(999, FVEC4); YY_BREAK case 140: YY_RULE_SETUP -#line 331 "glsl_lexer.lpp" +#line 332 "glsl_lexer.lpp" return SAMPLER2DRECT; YY_BREAK case 141: YY_RULE_SETUP -#line 332 "glsl_lexer.lpp" +#line 333 "glsl_lexer.lpp" RESERVED_WORD(999, SAMPLER3DRECT); YY_BREAK case 142: YY_RULE_SETUP -#line 333 "glsl_lexer.lpp" +#line 334 "glsl_lexer.lpp" return SAMPLER2DRECTSHADOW; YY_BREAK case 143: YY_RULE_SETUP -#line 334 "glsl_lexer.lpp" +#line 335 "glsl_lexer.lpp" RESERVED_WORD(999, SIZEOF); YY_BREAK case 144: YY_RULE_SETUP -#line 335 "glsl_lexer.lpp" +#line 336 "glsl_lexer.lpp" RESERVED_WORD(999, CAST); YY_BREAK case 145: YY_RULE_SETUP -#line 336 "glsl_lexer.lpp" +#line 337 "glsl_lexer.lpp" RESERVED_WORD(999, NAMESPACE); YY_BREAK case 146: YY_RULE_SETUP -#line 337 "glsl_lexer.lpp" +#line 338 "glsl_lexer.lpp" RESERVED_WORD(999, USING); YY_BREAK /* Additional reserved words in GLSL 1.20. */ case 147: YY_RULE_SETUP -#line 340 "glsl_lexer.lpp" +#line 341 "glsl_lexer.lpp" TOKEN_OR_IDENTIFIER_ES(120, LOWP); YY_BREAK case 148: YY_RULE_SETUP -#line 341 "glsl_lexer.lpp" +#line 342 "glsl_lexer.lpp" TOKEN_OR_IDENTIFIER_ES(120, MEDIUMP); YY_BREAK case 149: YY_RULE_SETUP -#line 342 "glsl_lexer.lpp" +#line 343 "glsl_lexer.lpp" TOKEN_OR_IDENTIFIER_ES(120, HIGHP); YY_BREAK case 150: YY_RULE_SETUP -#line 343 "glsl_lexer.lpp" +#line 344 "glsl_lexer.lpp" TOKEN_OR_IDENTIFIER_ES(120, PRECISION); YY_BREAK /* Additional reserved words in GLSL 1.30. */ case 151: YY_RULE_SETUP -#line 346 "glsl_lexer.lpp" +#line 347 "glsl_lexer.lpp" TOKEN_OR_IDENTIFIER(130, COMMON); YY_BREAK case 152: YY_RULE_SETUP -#line 347 "glsl_lexer.lpp" +#line 348 "glsl_lexer.lpp" TOKEN_OR_IDENTIFIER(130, PARTITION); YY_BREAK case 153: YY_RULE_SETUP -#line 348 "glsl_lexer.lpp" +#line 349 "glsl_lexer.lpp" TOKEN_OR_IDENTIFIER(130, ACTIVE); YY_BREAK case 154: YY_RULE_SETUP -#line 349 "glsl_lexer.lpp" +#line 350 "glsl_lexer.lpp" TOKEN_OR_IDENTIFIER_ES(130, SUPERP); YY_BREAK case 155: YY_RULE_SETUP -#line 350 "glsl_lexer.lpp" +#line 351 "glsl_lexer.lpp" TOKEN_OR_IDENTIFIER(130, SAMPLERBUFFER); YY_BREAK case 156: YY_RULE_SETUP -#line 351 "glsl_lexer.lpp" +#line 352 "glsl_lexer.lpp" TOKEN_OR_IDENTIFIER(130, FILTER); YY_BREAK case 157: YY_RULE_SETUP -#line 352 "glsl_lexer.lpp" +#line 353 "glsl_lexer.lpp" TOKEN_OR_IDENTIFIER(130, IMAGE1D); YY_BREAK case 158: YY_RULE_SETUP -#line 353 "glsl_lexer.lpp" +#line 354 "glsl_lexer.lpp" TOKEN_OR_IDENTIFIER(130, IMAGE2D); YY_BREAK case 159: YY_RULE_SETUP -#line 354 "glsl_lexer.lpp" +#line 355 "glsl_lexer.lpp" TOKEN_OR_IDENTIFIER(130, IMAGE3D); YY_BREAK case 160: YY_RULE_SETUP -#line 355 "glsl_lexer.lpp" +#line 356 "glsl_lexer.lpp" TOKEN_OR_IDENTIFIER(130, IMAGECUBE); YY_BREAK case 161: YY_RULE_SETUP -#line 356 "glsl_lexer.lpp" +#line 357 "glsl_lexer.lpp" TOKEN_OR_IDENTIFIER(130, IIMAGE1D); YY_BREAK case 162: YY_RULE_SETUP -#line 357 "glsl_lexer.lpp" +#line 358 "glsl_lexer.lpp" TOKEN_OR_IDENTIFIER(130, IIMAGE2D); YY_BREAK case 163: YY_RULE_SETUP -#line 358 "glsl_lexer.lpp" +#line 359 "glsl_lexer.lpp" TOKEN_OR_IDENTIFIER(130, IIMAGE3D); YY_BREAK case 164: YY_RULE_SETUP -#line 359 "glsl_lexer.lpp" +#line 360 "glsl_lexer.lpp" TOKEN_OR_IDENTIFIER(130, IIMAGECUBE); YY_BREAK case 165: YY_RULE_SETUP -#line 360 "glsl_lexer.lpp" +#line 361 "glsl_lexer.lpp" TOKEN_OR_IDENTIFIER(130, UIMAGE1D); YY_BREAK case 166: YY_RULE_SETUP -#line 361 "glsl_lexer.lpp" +#line 362 "glsl_lexer.lpp" TOKEN_OR_IDENTIFIER(130, UIMAGE2D); YY_BREAK case 167: YY_RULE_SETUP -#line 362 "glsl_lexer.lpp" +#line 363 "glsl_lexer.lpp" TOKEN_OR_IDENTIFIER(130, UIMAGE3D); YY_BREAK case 168: YY_RULE_SETUP -#line 363 "glsl_lexer.lpp" +#line 364 "glsl_lexer.lpp" TOKEN_OR_IDENTIFIER(130, UIMAGECUBE); YY_BREAK case 169: YY_RULE_SETUP -#line 364 "glsl_lexer.lpp" +#line 365 "glsl_lexer.lpp" TOKEN_OR_IDENTIFIER(130, IMAGE1DARRAY); YY_BREAK case 170: YY_RULE_SETUP -#line 365 "glsl_lexer.lpp" +#line 366 "glsl_lexer.lpp" TOKEN_OR_IDENTIFIER(130, IMAGE2DARRAY); YY_BREAK case 171: YY_RULE_SETUP -#line 366 "glsl_lexer.lpp" +#line 367 "glsl_lexer.lpp" TOKEN_OR_IDENTIFIER(130, IIMAGE1DARRAY); YY_BREAK case 172: YY_RULE_SETUP -#line 367 "glsl_lexer.lpp" +#line 368 "glsl_lexer.lpp" TOKEN_OR_IDENTIFIER(130, IIMAGE2DARRAY); YY_BREAK case 173: YY_RULE_SETUP -#line 368 "glsl_lexer.lpp" +#line 369 "glsl_lexer.lpp" TOKEN_OR_IDENTIFIER(130, UIMAGE1DARRAY); YY_BREAK case 174: YY_RULE_SETUP -#line 369 "glsl_lexer.lpp" +#line 370 "glsl_lexer.lpp" TOKEN_OR_IDENTIFIER(130, UIMAGE2DARRAY); YY_BREAK case 175: YY_RULE_SETUP -#line 370 "glsl_lexer.lpp" +#line 371 "glsl_lexer.lpp" TOKEN_OR_IDENTIFIER(130, IMAGE1DSHADOW); YY_BREAK case 176: YY_RULE_SETUP -#line 371 "glsl_lexer.lpp" +#line 372 "glsl_lexer.lpp" TOKEN_OR_IDENTIFIER(130, IMAGE2DSHADOW); YY_BREAK case 177: YY_RULE_SETUP -#line 372 "glsl_lexer.lpp" +#line 373 "glsl_lexer.lpp" TOKEN_OR_IDENTIFIER(130, IMAGEBUFFER); YY_BREAK case 178: YY_RULE_SETUP -#line 373 "glsl_lexer.lpp" +#line 374 "glsl_lexer.lpp" TOKEN_OR_IDENTIFIER(130, IIMAGEBUFFER); YY_BREAK case 179: YY_RULE_SETUP -#line 374 "glsl_lexer.lpp" +#line 375 "glsl_lexer.lpp" TOKEN_OR_IDENTIFIER(130, UIMAGEBUFFER); YY_BREAK case 180: YY_RULE_SETUP -#line 375 "glsl_lexer.lpp" +#line 376 "glsl_lexer.lpp" TOKEN_OR_IDENTIFIER(130, ROW_MAJOR); YY_BREAK case 181: YY_RULE_SETUP -#line 377 "glsl_lexer.lpp" +#line 378 "glsl_lexer.lpp" { struct _mesa_glsl_parse_state *state = yyextra; void *ctx = state; @@ -2332,15 +2333,15 @@ YY_RULE_SETUP YY_BREAK case 182: YY_RULE_SETUP -#line 384 "glsl_lexer.lpp" +#line 385 "glsl_lexer.lpp" { return yytext[0]; } YY_BREAK case 183: YY_RULE_SETUP -#line 386 "glsl_lexer.lpp" +#line 387 "glsl_lexer.lpp" ECHO; YY_BREAK -#line 2344 "glsl_lexer.cpp" +#line 2345 "glsl_lexer.cpp" case YY_STATE_EOF(INITIAL): case YY_STATE_EOF(PP): case YY_STATE_EOF(PRAGMA): @@ -3483,7 +3484,7 @@ void _mesa_glsl_free (void * ptr , yyscan_t yyscanner) #define YYTABLES_NAME "yytables" -#line 386 "glsl_lexer.lpp" +#line 387 "glsl_lexer.lpp" diff --git a/src/glsl/glsl_parser.cpp b/src/glsl/glsl_parser.cpp index 23bce395a59..c876f39e4e7 100644 --- a/src/glsl/glsl_parser.cpp +++ b/src/glsl/glsl_parser.cpp @@ -614,16 +614,16 @@ union yyalloc /* YYFINAL -- State number of the termination state. */ #define YYFINAL 5 /* YYLAST -- Last index in YYTABLE. */ -#define YYLAST 3690 +#define YYLAST 3692 /* YYNTOKENS -- Number of terminals. */ #define YYNTOKENS 215 /* YYNNTS -- Number of nonterminals. */ #define YYNNTS 87 /* YYNRULES -- Number of rules. */ -#define YYNRULES 277 +#define YYNRULES 278 /* YYNRULES -- Number of states. */ -#define YYNSTATES 411 +#define YYNSTATES 413 /* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX. */ #define YYUNDEFTOK 2 @@ -701,20 +701,20 @@ static const yytype_uint16 yyprhs[] = 316, 319, 323, 326, 327, 329, 331, 333, 335, 337, 341, 347, 354, 362, 371, 377, 379, 382, 387, 393, 400, 408, 413, 416, 418, 421, 426, 428, 432, 434, - 436, 438, 440, 442, 444, 446, 449, 451, 454, 457, - 461, 463, 465, 467, 469, 472, 474, 476, 479, 482, - 484, 486, 489, 491, 495, 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, 602, 604, 606, 608, - 610, 612, 614, 620, 625, 627, 630, 634, 636, 640, - 642, 647, 649, 651, 653, 655, 657, 659, 661, 663, - 665, 667, 669, 672, 676, 678, 680, 683, 687, 689, - 692, 694, 697, 703, 707, 709, 711, 716, 722, 726, - 729, 735, 743, 750, 752, 754, 756, 757, 760, 764, - 767, 770, 773, 777, 780, 782, 784, 786 + 438, 440, 442, 444, 446, 448, 450, 453, 455, 458, + 461, 465, 467, 469, 471, 473, 476, 478, 480, 483, + 486, 488, 490, 493, 495, 499, 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, 602, 604, 606, 608, 610, + 612, 614, 616, 618, 624, 629, 631, 634, 638, 640, + 644, 646, 651, 653, 655, 657, 659, 661, 663, 665, + 667, 669, 671, 673, 676, 680, 682, 684, 687, 691, + 693, 696, 698, 701, 707, 711, 713, 715, 720, 726, + 730, 733, 739, 747, 754, 756, 758, 760, 761, 764, + 768, 771, 774, 777, 781, 784, 786, 788, 790 }; /* YYRHS -- A `-1'-separated list of the rules' RHS. */ @@ -763,42 +763,43 @@ static const yytype_int16 yyrhs[] = 263, 76, 193, 251, 194, 211, 281, -1, 263, 76, 211, 281, -1, 103, 76, -1, 271, -1, 269, 271, -1, 120, 191, 265, 192, -1, 266, -1, 265, 196, - 266, -1, 76, -1, 40, -1, 39, -1, 38, -1, - 4, -1, 270, -1, 264, -1, 264, 270, -1, 267, - -1, 267, 270, -1, 103, 270, -1, 103, 267, 270, - -1, 103, -1, 4, -1, 3, -1, 37, -1, 32, - 37, -1, 33, -1, 34, -1, 32, 33, -1, 32, - 34, -1, 36, -1, 272, -1, 275, 272, -1, 273, - -1, 273, 193, 194, -1, 273, 193, 251, 194, -1, - 274, -1, 276, -1, 76, -1, 74, -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, - 41, -1, 42, -1, 43, -1, 44, -1, 45, -1, - 46, -1, 47, -1, 48, -1, 49, -1, 50, -1, - 51, -1, 154, -1, 52, -1, 53, -1, 54, -1, - 55, -1, 156, -1, 56, -1, 57, -1, 58, -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, 106, -1, - 105, -1, 104, -1, 73, 76, 213, 277, 214, -1, - 73, 213, 277, 214, -1, 278, -1, 277, 278, -1, - 271, 279, 212, -1, 280, -1, 279, 196, 280, -1, - 76, -1, 76, 193, 251, 194, -1, 248, -1, 252, - -1, 285, -1, 284, -1, 282, -1, 289, -1, 290, - -1, 293, -1, 294, -1, 295, -1, 299, -1, 213, - 214, -1, 213, 288, 214, -1, 287, -1, 284, -1, - 213, 214, -1, 213, 288, 214, -1, 283, -1, 288, - 283, -1, 212, -1, 250, 212, -1, 14, 191, 250, - 192, 291, -1, 283, 12, 283, -1, 283, -1, 250, - -1, 263, 76, 211, 281, -1, 17, 191, 250, 192, - 285, -1, 18, 250, 210, -1, 19, 210, -1, 75, - 191, 292, 192, 286, -1, 11, 283, 75, 191, 250, - 192, 212, -1, 13, 191, 296, 298, 192, 286, -1, - 289, -1, 282, -1, 292, -1, -1, 297, 212, -1, - 297, 212, 250, -1, 10, 212, -1, 9, 212, -1, - 16, 212, -1, 16, 250, 212, -1, 15, 212, -1, - 301, -1, 252, -1, 219, -1, 253, 287, -1 + 266, -1, 76, -1, 76, 211, 78, -1, 40, -1, + 39, -1, 38, -1, 4, -1, 270, -1, 264, -1, + 264, 270, -1, 267, -1, 267, 270, -1, 103, 270, + -1, 103, 267, 270, -1, 103, -1, 4, -1, 3, + -1, 37, -1, 32, 37, -1, 33, -1, 34, -1, + 32, 33, -1, 32, 34, -1, 36, -1, 272, -1, + 275, 272, -1, 273, -1, 273, 193, 194, -1, 273, + 193, 251, 194, -1, 274, -1, 276, -1, 76, -1, + 74, -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, 41, -1, 42, -1, 43, -1, + 44, -1, 45, -1, 46, -1, 47, -1, 48, -1, + 49, -1, 50, -1, 51, -1, 154, -1, 52, -1, + 53, -1, 54, -1, 55, -1, 156, -1, 56, -1, + 57, -1, 58, -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, 106, -1, 105, -1, 104, -1, 73, 76, + 213, 277, 214, -1, 73, 213, 277, 214, -1, 278, + -1, 277, 278, -1, 271, 279, 212, -1, 280, -1, + 279, 196, 280, -1, 76, -1, 76, 193, 251, 194, + -1, 248, -1, 252, -1, 285, -1, 284, -1, 282, + -1, 289, -1, 290, -1, 293, -1, 294, -1, 295, + -1, 299, -1, 213, 214, -1, 213, 288, 214, -1, + 287, -1, 284, -1, 213, 214, -1, 213, 288, 214, + -1, 283, -1, 288, 283, -1, 212, -1, 250, 212, + -1, 14, 191, 250, 192, 291, -1, 283, 12, 283, + -1, 283, -1, 250, -1, 263, 76, 211, 281, -1, + 17, 191, 250, 192, 285, -1, 18, 250, 210, -1, + 19, 210, -1, 75, 191, 292, 192, 286, -1, 11, + 283, 75, 191, 250, 192, 212, -1, 13, 191, 296, + 298, 192, 286, -1, 289, -1, 282, -1, 292, -1, + -1, 297, 212, -1, 297, 212, 250, -1, 10, 212, + -1, 9, 212, -1, 16, 212, -1, 16, 250, 212, + -1, 15, 212, -1, 301, -1, 252, -1, 219, -1, + 253, 287, -1 }; /* YYRLINE[YYN] -- source line where rule number YYN was defined. */ @@ -817,21 +818,21 @@ static const yytype_uint16 yyrline[] = 686, 700, 704, 705, 709, 714, 722, 733, 743, 758, 765, 770, 781, 794, 797, 802, 807, 816, 820, 821, 830, 839, 848, 857, 866, 879, 890, 899, 908, 917, - 926, 935, 944, 958, 965, 976, 983, 984, 994, 1026, - 1031, 1036, 1044, 1052, 1053, 1054, 1059, 1060, 1065, 1070, - 1076, 1084, 1089, 1094, 1099, 1105, 1110, 1115, 1120, 1125, - 1133, 1134, 1142, 1143, 1149, 1158, 1164, 1170, 1179, 1180, - 1181, 1182, 1183, 1184, 1185, 1186, 1187, 1188, 1189, 1190, - 1191, 1192, 1193, 1194, 1195, 1196, 1197, 1198, 1199, 1200, - 1201, 1202, 1203, 1204, 1205, 1206, 1207, 1208, 1209, 1210, - 1211, 1212, 1213, 1214, 1215, 1216, 1217, 1218, 1219, 1220, - 1221, 1222, 1223, 1224, 1225, 1226, 1227, 1228, 1229, 1233, - 1244, 1255, 1269, 1275, 1284, 1289, 1297, 1312, 1317, 1325, - 1331, 1340, 1344, 1350, 1351, 1355, 1356, 1357, 1358, 1359, - 1360, 1361, 1365, 1371, 1380, 1381, 1385, 1391, 1400, 1410, - 1422, 1428, 1437, 1446, 1451, 1459, 1463, 1477, 1481, 1482, - 1486, 1493, 1500, 1510, 1511, 1515, 1517, 1523, 1528, 1537, - 1543, 1549, 1555, 1561, 1570, 1571, 1572, 1576 + 926, 935, 944, 958, 965, 976, 983, 984, 1003, 1032, + 1073, 1078, 1083, 1091, 1099, 1100, 1101, 1106, 1107, 1112, + 1117, 1123, 1131, 1136, 1141, 1146, 1152, 1157, 1162, 1167, + 1172, 1180, 1181, 1189, 1190, 1196, 1205, 1211, 1217, 1226, + 1227, 1228, 1229, 1230, 1231, 1232, 1233, 1234, 1235, 1236, + 1237, 1238, 1239, 1240, 1241, 1242, 1243, 1244, 1245, 1246, + 1247, 1248, 1249, 1250, 1251, 1252, 1253, 1254, 1255, 1256, + 1257, 1258, 1259, 1260, 1261, 1262, 1263, 1264, 1265, 1266, + 1267, 1268, 1269, 1270, 1271, 1272, 1273, 1274, 1275, 1276, + 1280, 1291, 1302, 1316, 1322, 1331, 1336, 1344, 1359, 1364, + 1372, 1378, 1387, 1391, 1397, 1398, 1402, 1403, 1404, 1405, + 1406, 1407, 1408, 1412, 1418, 1427, 1428, 1432, 1438, 1447, + 1457, 1469, 1475, 1484, 1493, 1498, 1506, 1510, 1524, 1528, + 1529, 1533, 1540, 1547, 1557, 1558, 1562, 1564, 1570, 1575, + 1584, 1590, 1596, 1602, 1608, 1617, 1618, 1619, 1623 }; #endif @@ -960,21 +961,21 @@ static const yytype_uint16 yyr1[] = 252, 253, 254, 254, 255, 255, 256, 257, 257, 258, 258, 258, 258, 259, 259, 259, 259, 260, 261, 261, 261, 261, 261, 261, 261, 262, 262, 262, 262, 262, - 262, 262, 262, 263, 263, 264, 265, 265, 266, 267, - 267, 267, 268, 269, 269, 269, 269, 269, 269, 269, - 269, 270, 270, 270, 270, 270, 270, 270, 270, 270, - 271, 271, 272, 272, 272, 273, 273, 273, 274, 274, + 262, 262, 262, 263, 263, 264, 265, 265, 266, 266, + 267, 267, 267, 268, 269, 269, 269, 269, 269, 269, + 269, 269, 270, 270, 270, 270, 270, 270, 270, 270, + 270, 271, 271, 272, 272, 272, 273, 273, 273, 274, 274, 274, 274, 274, 274, 274, 274, 274, 274, 274, 274, 274, 274, 274, 274, 274, 274, 274, 274, 274, 274, 274, 274, 274, 274, 274, 274, 274, 274, 274, 274, 274, 274, 274, 274, 274, 274, 274, 274, 274, - 274, 274, 274, 274, 274, 274, 274, 274, 274, 275, - 275, 275, 276, 276, 277, 277, 278, 279, 279, 280, - 280, 281, 282, 283, 283, 284, 284, 284, 284, 284, - 284, 284, 285, 285, 286, 286, 287, 287, 288, 288, - 289, 289, 290, 291, 291, 292, 292, 293, 294, 294, - 295, 295, 295, 296, 296, 297, 297, 298, 298, 299, - 299, 299, 299, 299, 300, 300, 300, 301 + 274, 274, 274, 274, 274, 274, 274, 274, 274, 274, + 275, 275, 275, 276, 276, 277, 277, 278, 279, 279, + 280, 280, 281, 282, 283, 283, 284, 284, 284, 284, + 284, 284, 284, 285, 285, 286, 286, 287, 287, 288, + 288, 289, 289, 290, 291, 291, 292, 292, 293, 294, + 294, 295, 295, 295, 296, 296, 297, 297, 298, 298, + 299, 299, 299, 299, 299, 300, 300, 300, 301 }; /* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN. */ @@ -993,21 +994,21 @@ static const yytype_uint8 yyr2[] = 4, 2, 1, 1, 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, 4, 1, 3, 1, 1, - 1, 1, 1, 1, 1, 2, 1, 2, 2, 3, - 1, 1, 1, 1, 2, 1, 1, 2, 2, 1, - 1, 2, 1, 3, 4, 1, 1, 1, 1, 1, + 7, 4, 2, 1, 2, 4, 1, 3, 1, 3, + 1, 1, 1, 1, 1, 1, 2, 1, 2, 2, + 3, 1, 1, 1, 1, 2, 1, 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, - 1, 1, 5, 4, 1, 2, 3, 1, 3, 1, - 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 2, 3, 1, 1, 2, 3, 1, 2, - 1, 2, 5, 3, 1, 1, 4, 5, 3, 2, - 5, 7, 6, 1, 1, 1, 0, 2, 3, 2, - 2, 2, 3, 2, 1, 1, 1, 2 + 1, 1, 1, 5, 4, 1, 2, 3, 1, 3, + 1, 4, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 2, 3, 1, 1, 2, 3, 1, + 2, 1, 2, 5, 3, 1, 1, 4, 5, 3, + 2, 5, 7, 6, 1, 1, 1, 0, 2, 3, + 2, 2, 2, 3, 2, 1, 1, 1, 2 }; /* YYDEFACT[STATE-NAME] -- Default rule to reduce with in state @@ -1016,194 +1017,173 @@ static const yytype_uint8 yyr2[] = static const yytype_uint16 yydefact[] = { 4, 0, 0, 10, 0, 1, 2, 5, 0, 0, - 11, 0, 152, 151, 172, 169, 170, 171, 176, 177, - 178, 179, 180, 181, 182, 183, 184, 173, 174, 175, - 0, 155, 156, 159, 153, 141, 140, 139, 185, 186, - 187, 188, 189, 190, 191, 192, 193, 194, 195, 197, - 198, 199, 200, 202, 203, 204, 205, 206, 207, 208, - 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, - 0, 168, 167, 150, 221, 220, 219, 0, 0, 0, - 0, 0, 0, 196, 201, 276, 3, 275, 0, 0, - 103, 113, 0, 118, 125, 144, 146, 0, 143, 133, - 160, 162, 165, 0, 166, 13, 274, 0, 157, 158, - 154, 0, 0, 132, 0, 148, 0, 6, 7, 8, - 9, 0, 14, 98, 0, 277, 101, 113, 142, 114, - 115, 116, 104, 0, 113, 0, 99, 126, 145, 147, - 134, 0, 161, 0, 0, 0, 0, 224, 149, 0, + 11, 0, 153, 152, 173, 170, 171, 172, 177, 178, + 179, 180, 181, 182, 183, 184, 185, 174, 175, 176, + 0, 156, 157, 160, 154, 142, 141, 140, 186, 187, + 188, 189, 190, 191, 192, 193, 194, 195, 196, 198, + 199, 200, 201, 203, 204, 205, 206, 207, 208, 209, + 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, + 0, 169, 168, 151, 222, 221, 220, 0, 0, 0, + 0, 0, 0, 197, 202, 277, 3, 276, 0, 0, + 103, 113, 0, 118, 125, 145, 147, 0, 144, 133, + 161, 163, 166, 0, 167, 13, 275, 0, 158, 159, + 155, 0, 0, 132, 0, 149, 0, 6, 7, 8, + 9, 0, 14, 98, 0, 278, 101, 113, 143, 114, + 115, 116, 104, 0, 113, 0, 99, 126, 146, 148, + 134, 0, 162, 0, 0, 0, 0, 225, 150, 0, 138, 0, 136, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15, 19, 17, 18, 20, 41, - 0, 0, 0, 46, 47, 48, 49, 250, 0, 246, + 0, 0, 0, 46, 47, 48, 49, 251, 0, 247, 16, 22, 42, 24, 29, 30, 0, 0, 35, 0, 50, 0, 54, 57, 60, 65, 68, 70, 72, 74, - 76, 78, 80, 82, 95, 0, 232, 0, 133, 235, - 248, 234, 233, 0, 236, 237, 238, 239, 240, 241, - 105, 110, 112, 117, 0, 119, 106, 0, 0, 163, - 50, 97, 0, 39, 12, 0, 229, 0, 227, 223, - 225, 100, 135, 0, 270, 269, 0, 0, 0, 273, - 271, 0, 0, 0, 259, 0, 43, 44, 0, 242, - 0, 26, 27, 0, 0, 33, 32, 0, 168, 36, - 38, 85, 86, 88, 87, 90, 91, 92, 93, 94, - 89, 84, 0, 45, 0, 0, 0, 0, 0, 0, + 76, 78, 80, 82, 95, 0, 233, 0, 133, 236, + 249, 235, 234, 0, 237, 238, 239, 240, 241, 242, + 105, 110, 112, 117, 0, 119, 106, 0, 0, 164, + 50, 97, 0, 39, 12, 0, 230, 0, 228, 224, + 226, 100, 0, 135, 0, 271, 270, 0, 0, 0, + 274, 272, 0, 0, 0, 260, 0, 43, 44, 0, + 243, 0, 26, 27, 0, 0, 33, 32, 0, 169, + 36, 38, 85, 86, 88, 87, 90, 91, 92, 93, + 94, 89, 84, 0, 45, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 251, 247, 249, 107, 109, - 111, 0, 0, 127, 0, 231, 131, 164, 222, 0, - 0, 226, 137, 0, 264, 263, 266, 0, 272, 0, - 258, 150, 255, 0, 0, 21, 243, 0, 28, 25, - 31, 37, 83, 51, 52, 53, 55, 56, 58, 59, - 63, 64, 61, 62, 66, 67, 69, 71, 73, 75, - 77, 79, 0, 96, 0, 120, 0, 124, 0, 128, - 0, 228, 0, 265, 0, 0, 0, 0, 0, 0, - 23, 0, 0, 0, 121, 129, 0, 230, 0, 267, - 0, 254, 252, 257, 0, 245, 260, 244, 81, 108, - 122, 0, 130, 0, 268, 262, 0, 256, 123, 261, - 253 + 0, 0, 0, 0, 0, 0, 252, 248, 250, 107, + 109, 111, 0, 0, 127, 0, 232, 131, 165, 223, + 0, 0, 227, 139, 137, 0, 265, 264, 267, 0, + 273, 0, 259, 151, 256, 0, 0, 21, 244, 0, + 28, 25, 31, 37, 83, 51, 52, 53, 55, 56, + 58, 59, 63, 64, 61, 62, 66, 67, 69, 71, + 73, 75, 77, 79, 0, 96, 0, 120, 0, 124, + 0, 128, 0, 229, 0, 266, 0, 0, 0, 0, + 0, 0, 23, 0, 0, 0, 121, 129, 0, 231, + 0, 268, 0, 255, 253, 258, 0, 246, 261, 245, + 81, 108, 122, 0, 130, 0, 269, 263, 0, 257, + 123, 262, 254 }; /* YYDEFGOTO[NTERM-NUM]. */ static const yytype_int16 yydefgoto[] = { -1, 2, 9, 3, 85, 6, 10, 86, 180, 181, - 182, 337, 183, 184, 185, 186, 187, 188, 189, 190, + 182, 339, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, - 201, 202, 203, 204, 282, 205, 232, 206, 207, 89, + 201, 202, 203, 204, 283, 205, 232, 206, 207, 89, 90, 91, 221, 132, 133, 222, 92, 93, 94, 95, 151, 152, 96, 134, 97, 98, 233, 100, 101, 102, - 103, 104, 146, 147, 237, 238, 316, 209, 210, 211, - 212, 396, 397, 213, 214, 215, 392, 334, 216, 217, - 218, 326, 374, 375, 219, 105, 106 + 103, 104, 146, 147, 237, 238, 317, 209, 210, 211, + 212, 398, 399, 213, 214, 215, 394, 336, 216, 217, + 218, 328, 376, 377, 219, 105, 106 }; /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing STATE-NUM. */ -#define YYPACT_NINF -359 +#define YYPACT_NINF -360 static const yytype_int16 yypact[] = { - -89, -49, 53, -359, -55, -359, -26, -359, 10, 3274, - -359, -19, -359, -359, -359, -359, -359, -359, -359, -359, - -359, -359, -359, -359, -359, -359, -359, -359, -359, -359, - 160, -359, -359, -359, -359, -359, -359, -359, -359, -359, - -359, -359, -359, -359, -359, -359, -359, -359, -359, -359, - -359, -359, -359, -359, -359, -359, -359, -359, -359, -359, - -359, -359, -359, -359, -359, -359, -359, -359, -359, -359, - -70, -359, -359, 36, -359, -359, -359, 115, -6, 18, - 26, 34, -74, -359, -359, -359, 3274, -359, -149, -39, - -31, 0, -158, -359, 92, 130, 130, 3462, -359, -359, - -359, 17, -359, 3534, -359, -359, -359, 123, -359, -359, - -359, -1, 3462, -359, 130, -359, 3534, -359, -359, -359, - -359, 137, -359, -359, 385, -359, -359, 32, -359, -359, - -359, -359, -359, 3462, 206, 147, -359, -112, -359, -359, - -359, 2369, -359, 112, 3462, 151, 1758, -359, -359, 16, - -359, -170, -359, 24, 25, 1233, 39, 54, 35, 1990, - 58, 2912, 40, 61, -61, -359, -359, -359, -359, -359, - 2912, 2912, 2912, -359, -359, -359, -359, -359, 597, -359, - -359, -359, -57, -359, -359, -359, 63, -78, 3093, 65, - -50, 2912, 41, -56, 43, -77, 71, 51, 55, 50, - 171, 172, -80, -359, -359, -155, -359, 56, 72, -359, - -359, -359, -359, 809, -359, -359, -359, -359, -359, -359, - -359, -359, -359, 189, 3462, -174, -359, 2550, 2912, -359, - -359, -359, 73, -359, -359, 1874, 76, -141, -359, -359, - -359, -359, -359, 137, -359, -359, 191, 1642, 2912, -359, - -359, -134, 2912, -114, -359, 2188, -359, -359, -73, -359, - 1021, -359, -359, 2912, 3390, -359, -359, 2912, 78, -359, - -359, -359, -359, -359, -359, -359, -359, -359, -359, -359, - -359, -359, 2912, -359, 2912, 2912, 2912, 2912, 2912, 2912, - 2912, 2912, 2912, 2912, 2912, 2912, 2912, 2912, 2912, 2912, - 2912, 2912, 2912, 2912, 2912, -359, -359, -359, 79, -359, - -359, 2731, 2912, 60, 80, -359, -359, -359, -359, 2912, - 151, -359, -359, 82, -359, -359, 2188, -48, -359, 6, - -359, 118, 81, 199, 84, -359, -359, 85, 81, 87, - -359, -359, -359, -359, -359, -359, 41, 41, -56, -56, - 43, 43, 43, 43, -77, -77, 71, 51, 55, 50, - 171, 172, -113, -359, 2912, 69, 88, -359, 2912, 70, - 89, -359, 2912, -359, 74, 93, 1233, 75, 83, 1444, - -359, 2912, 90, 2912, 86, -359, 2912, -359, 9, 2912, - 1444, 275, -359, -359, 2912, -359, -359, -359, -359, -359, - -359, 2912, -359, 77, 81, -359, 1233, -359, -359, -359, - -359 + -54, -53, 37, -360, -26, -360, -5, -360, 73, 3276, + -360, 63, -360, -360, -360, -360, -360, -360, -360, -360, + -360, -360, -360, -360, -360, -360, -360, -360, -360, -360, + 105, -360, -360, -360, -360, -360, -360, -360, -360, -360, + -360, -360, -360, -360, -360, -360, -360, -360, -360, -360, + -360, -360, -360, -360, -360, -360, -360, -360, -360, -360, + -360, -360, -360, -360, -360, -360, -360, -360, -360, -360, + -69, -360, -360, 42, -360, -360, -360, -74, 65, 79, + 83, 85, 16, -360, -360, -360, 3276, -360, -99, 9, + 13, 5, -152, -360, 134, 17, 17, 3464, -360, -360, + -360, 18, -360, 3536, -360, -360, -360, 136, -360, -360, + -360, 0, 3464, -360, 17, -360, 3536, -360, -360, -360, + -360, 138, -360, -360, 387, -360, -360, 24, -360, -360, + -360, -360, -360, 3464, 149, 141, -360, -150, -360, -360, + -360, 2371, -360, 106, 3464, 144, 1760, -360, -360, 11, + 14, -144, -360, 12, 20, 1235, 30, 31, 22, 1992, + 38, 2914, 26, 46, -59, -360, -360, -360, -360, -360, + 2914, 2914, 2914, -360, -360, -360, -360, -360, 599, -360, + -360, -360, -70, -360, -360, -360, 36, -56, 3095, 47, + -30, 2914, -8, -113, 39, -76, 45, 34, 23, 35, + 154, 153, -79, -360, -360, -123, -360, 41, 55, -360, + -360, -360, -360, 811, -360, -360, -360, -360, -360, -360, + -360, -360, -360, 172, 3464, -164, -360, 2552, 2914, -360, + -360, -360, 56, -360, -360, 1876, 58, -110, -360, -360, + -360, -360, 171, -360, 138, -360, -360, 179, 1644, 2914, + -360, -360, -101, 2914, -90, -360, 2190, -360, -360, -51, + -360, 1023, -360, -360, 2914, 3392, -360, -360, 2914, 64, + -360, -360, -360, -360, -360, -360, -360, -360, -360, -360, + -360, -360, -360, 2914, -360, 2914, 2914, 2914, 2914, 2914, + 2914, 2914, 2914, 2914, 2914, 2914, 2914, 2914, 2914, 2914, + 2914, 2914, 2914, 2914, 2914, 2914, -360, -360, -360, 62, + -360, -360, 2733, 2914, 48, 66, -360, -360, -360, -360, + 2914, 144, -360, -360, -360, 67, -360, -360, 2190, -49, + -360, -22, -360, 238, 68, 187, 74, -360, -360, 71, + 68, 76, -360, -360, -360, -360, -360, -360, -8, -8, + -113, -113, 39, 39, 39, 39, -76, -76, 45, 34, + 23, 35, 154, 153, -84, -360, 2914, 57, 75, -360, + 2914, 69, 87, -360, 2914, -360, 70, 91, 1235, 72, + 78, 1446, -360, 2914, 90, 2914, 81, -360, 2914, -360, + -16, 2914, 1446, 267, -360, -360, 2914, -360, -360, -360, + -360, -360, -360, 2914, -360, 82, 68, -360, 1235, -360, + -360, -360, -360 }; /* YYPGOTO[NTERM-NUM]. */ static const yytype_int16 yypgoto[] = { - -359, -359, -359, -359, -359, -359, -359, -359, -359, -359, - -359, -359, -359, -359, 27, -359, -359, -359, -359, -111, - -359, -117, -83, -60, -79, -7, -5, -4, -8, -3, - -2, -359, -116, -172, -359, -154, -219, 3, 4, -359, - -359, -359, 91, 169, 165, 94, -359, -359, -241, -359, - -359, 59, -71, -359, -359, -72, -9, -12, -359, -359, - 224, -359, 159, -129, -359, -16, -281, 62, -152, -358, - -69, -85, 218, 129, 64, -359, -359, -14, -359, -359, - -359, -359, -359, -359, -359, 227, -359 + -360, -360, -360, -360, -360, -360, -360, -360, -360, -360, + -360, -360, -360, -360, 25, -360, -360, -360, -360, -135, + -360, -89, -88, -104, -91, -11, -6, -4, -3, -7, + -2, -360, -133, -97, -360, -156, -193, 4, 10, -360, + -360, -360, 80, 170, 166, 84, -360, -360, -229, -360, + -360, 59, -71, -360, -360, -72, -9, 1, -360, -360, + 225, -360, 161, -128, -360, -14, -287, 61, -151, -359, + -68, -82, 224, 135, 77, -360, -360, -13, -360, -360, + -360, -360, -360, -360, -360, 228, -360 }; /* 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 -168 +#define YYTABLE_NINF -169 static const yytype_int16 yytable[] = { - 99, 115, 114, 246, 128, 251, 111, 253, 314, 291, - 292, 302, 87, 88, 333, -167, 269, 240, 258, 311, - 1, 395, 242, 138, 139, 231, 243, 261, 262, 4, - 230, 367, 395, 129, 130, 131, 128, 312, 135, 12, - 13, 304, 148, 271, 272, 273, 274, 275, 276, 277, - 278, 279, 280, 5, 136, 320, 315, 305, 7, 256, - 257, 307, 304, 123, 124, 129, 130, 131, 30, 31, - 32, 321, 33, 34, 35, 36, 37, 99, 328, 226, - 283, 227, 304, 304, 8, 333, 11, 385, 140, 87, - 88, 142, 366, 107, 327, 341, 330, 381, 329, 228, - 370, 332, 400, 145, 149, 402, 240, 117, 307, 338, - 342, 231, 113, 407, 266, 208, 230, 121, 267, 335, - 408, 12, 13, 304, 223, 289, 290, 293, 294, 303, - -40, 118, 363, 12, 13, 145, 263, 145, 264, 119, - 315, 287, 288, 112, 376, 382, 208, 120, 304, 362, - 30, 31, 32, 126, 33, 34, 35, 36, 37, 295, - 296, 281, 30, 31, 32, 127, 33, 34, 137, 208, - 346, 347, 332, 343, 344, 345, 230, 230, 230, 230, - 230, 230, 230, 230, 230, 230, 230, 230, 230, 230, - 230, 230, -102, 108, 109, 231, 315, 110, 377, 143, - 230, 403, 304, 231, 208, 304, 348, 349, 230, 398, - 141, 315, 144, 150, 315, 223, 354, 355, 388, 74, - 75, 76, 315, 225, 391, 234, 145, 236, 241, 315, - 247, 350, 351, 352, 353, 404, 244, 245, 208, 129, - 130, 131, 284, 285, 286, 248, 208, 249, 231, 252, - 254, 208, 255, 230, 410, 265, 270, 297, 299, 115, - 114, 300, 298, -39, 301, 308, 323, 317, 123, 319, - -34, 368, 364, 372, 369, 378, 379, 304, -40, 380, - 383, 386, 384, 387, 399, 390, 389, 406, 178, 409, - 356, 340, 359, 357, 394, 358, 220, 401, 360, 224, - 361, 116, 322, 235, 371, 405, 125, 260, 393, 324, - 0, 325, 373, 122, 0, 309, 0, 208, 310, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 99, 115, 114, 252, 247, 254, 230, 111, 231, 128, + 292, 293, 303, 87, 262, 263, 259, -168, 240, 88, + 12, 13, 397, 138, 139, 4, 369, 335, 128, 312, + 74, 75, 76, 397, 315, 257, 258, 5, 129, 130, + 131, 226, 148, 227, 135, 12, 13, 313, 243, 30, + 31, 32, 244, 33, 34, 1, 284, 129, 130, 131, + 136, 228, 308, 272, 273, 274, 275, 276, 277, 278, + 279, 280, 281, 305, 30, 31, 32, 99, 33, 34, + 35, 36, 37, 387, 288, 289, 321, 7, 140, 306, + 87, 270, 230, 329, 231, 305, 88, 331, 402, 335, + 334, 404, 322, 145, 142, 8, 305, 240, 340, 409, + 308, 330, 305, 123, 124, 208, 410, 149, 113, 368, + 332, 290, 291, 264, 223, 265, 383, 372, 294, 295, + 304, 316, -40, 296, 297, 145, 267, 145, 108, 109, + 268, 337, 110, 378, 112, 305, 208, 305, 364, 11, + 345, 346, 347, 230, 230, 230, 230, 230, 230, 230, + 230, 230, 230, 230, 230, 230, 230, 230, 230, 208, + 379, 343, 334, 384, 305, 107, 405, 230, 117, 231, + 305, 282, 129, 130, 131, 230, 344, 231, 352, 353, + 354, 355, 118, 285, 286, 287, 119, -102, 120, 348, + 349, 126, 350, 351, 208, 356, 357, 121, 365, 127, + 137, 141, 143, 144, 150, 223, 316, 225, 390, 234, + 236, 248, 249, 241, 245, 242, 145, 393, 266, 253, + 299, 230, 246, 231, 250, 406, 255, 256, 271, 208, + 298, 12, 13, 300, 301, 302, -39, 208, 309, 323, + 318, 320, 208, 123, 325, 366, -34, 412, 374, 370, + 371, 115, 114, 380, 305, 382, 381, -40, 385, 386, + 30, 31, 32, 316, 33, 34, 35, 36, 37, 408, + 388, 389, 391, 392, 401, 178, 400, 358, 316, 396, + 342, 316, 403, 359, 411, 362, 360, 220, 361, 316, + 224, 363, 116, 324, 310, 235, 316, 373, 311, 326, + 407, 395, 125, 261, 122, 375, 0, 0, 0, 208, + 0, 0, 0, 0, 0, 327, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 208, 0, 0, - 208, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 208, 0, 0, 0, 0, 0, 0, 12, 13, - 14, 15, 16, 17, 153, 154, 155, 208, 156, 157, - 158, 159, 160, 161, 162, 18, 19, 20, 21, 22, - 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, - 0, 33, 34, 35, 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, - 163, 164, 165, 166, 167, 168, 169, 0, 0, 170, - 171, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 73, 74, - 75, 76, 0, 77, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 82, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 83, - 0, 84, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 172, 0, 0, 0, - 0, 0, 173, 174, 175, 176, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 177, 178, 179, - 12, 13, 14, 15, 16, 17, 153, 154, 155, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 208, + 0, 0, 208, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 208, 0, 0, 0, 0, 0, 0, + 12, 13, 14, 15, 16, 17, 153, 154, 155, 208, 156, 157, 158, 159, 160, 161, 162, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 0, 33, 34, 35, 36, 37, 38, 39, @@ -1224,7 +1204,7 @@ static const yytype_int16 yytable[] = 0, 0, 0, 0, 0, 0, 0, 0, 172, 0, 0, 0, 0, 0, 173, 174, 175, 176, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 177, - 178, 259, 12, 13, 14, 15, 16, 17, 153, 154, + 178, 179, 12, 13, 14, 15, 16, 17, 153, 154, 155, 0, 156, 157, 158, 159, 160, 161, 162, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 0, 33, 34, 35, 36, 37, @@ -1245,7 +1225,7 @@ static const yytype_int16 yytable[] = 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 172, 0, 0, 0, 0, 0, 173, 174, 175, 176, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 177, 178, 306, 12, 13, 14, 15, 16, 17, + 0, 177, 178, 260, 12, 13, 14, 15, 16, 17, 153, 154, 155, 0, 156, 157, 158, 159, 160, 161, 162, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 0, 33, 34, 35, @@ -1266,7 +1246,7 @@ static const yytype_int16 yytable[] = 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 172, 0, 0, 0, 0, 0, 173, 174, 175, 176, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 177, 178, 336, 12, 13, 14, 15, + 0, 0, 0, 177, 178, 307, 12, 13, 14, 15, 16, 17, 153, 154, 155, 0, 156, 157, 158, 159, 160, 161, 162, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 0, 33, @@ -1287,137 +1267,122 @@ static const yytype_int16 yytable[] = 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 172, 0, 0, 0, 0, 0, 173, 174, 175, 176, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 177, 178, 12, 13, 14, - 15, 16, 17, 153, 154, 155, 0, 156, 157, 158, - 159, 160, 161, 162, 18, 19, 20, 21, 22, 23, - 24, 25, 26, 27, 28, 29, 30, 31, 32, 0, - 33, 34, 35, 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, 163, - 164, 165, 166, 167, 168, 169, 0, 0, 170, 171, + 0, 0, 0, 0, 0, 177, 178, 338, 12, 13, + 14, 15, 16, 17, 153, 154, 155, 0, 156, 157, + 158, 159, 160, 161, 162, 18, 19, 20, 21, 22, + 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, + 0, 33, 34, 35, 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, + 163, 164, 165, 166, 167, 168, 169, 0, 0, 170, + 171, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 73, 74, + 75, 76, 0, 77, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 82, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 73, 74, 75, - 76, 0, 77, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 82, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 83, + 0, 84, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 83, 0, - 84, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 172, 0, 0, 0, + 0, 0, 173, 174, 175, 176, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 177, 178, 12, + 13, 14, 15, 16, 17, 153, 154, 155, 0, 156, + 157, 158, 159, 160, 161, 162, 18, 19, 20, 21, + 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, + 32, 0, 33, 34, 35, 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, 163, 164, 165, 166, 167, 168, 169, 0, 0, + 170, 171, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 73, + 74, 75, 76, 0, 77, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 82, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 172, 0, 0, 0, 0, - 0, 173, 174, 175, 176, 12, 13, 14, 15, 16, - 17, 0, 0, 0, 0, 0, 177, 124, 0, 0, - 0, 0, 18, 19, 20, 21, 22, 23, 24, 25, - 26, 27, 28, 29, 30, 31, 32, 0, 33, 34, - 35, 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, 0, 164, 165, - 166, 167, 168, 169, 0, 0, 170, 171, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 73, 74, 75, 76, 0, - 77, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 82, 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, - 0, 0, 0, 0, 0, 0, 83, 0, 84, 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, 172, 72, 0, 0, 0, 0, 173, - 174, 175, 176, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 177, 0, 0, 0, 0, 0, - 0, 0, 74, 75, 76, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 14, - 15, 16, 17, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 83, 0, 84, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 172, 0, 0, + 0, 0, 0, 173, 174, 175, 176, 12, 13, 14, + 15, 16, 17, 0, 0, 0, 0, 0, 177, 124, 0, 0, 0, 0, 18, 19, 20, 21, 22, 23, - 24, 25, 26, 27, 28, 29, 0, 0, 0, 0, - 0, 0, 83, 0, 84, 38, 39, 40, 41, 42, + 24, 25, 26, 27, 28, 29, 30, 31, 32, 0, + 33, 34, 35, 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, 0, - 72, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 164, 165, 166, 167, 168, 169, 0, 0, 170, 171, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 239, 0, 0, 0, 0, 0, 74, 75, - 76, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 14, 15, 16, 17, 0, + 0, 0, 0, 0, 0, 0, 0, 73, 74, 75, + 76, 0, 77, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 82, 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, 0, 0, 0, 0, 0, 0, 83, 0, 84, 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, 0, 164, 165, 166, 167, - 168, 169, 0, 0, 170, 171, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 318, 0, + 67, 68, 69, 70, 71, 172, 72, 0, 0, 0, + 0, 173, 174, 175, 176, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 177, 0, 0, 0, 0, 0, 0, 0, 74, 75, 76, 0, 0, 0, 0, 0, 0, 0, 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, 0, 0, + 0, 0, 0, 0, 83, 0, 84, 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, 0, 72, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 239, 0, 0, 0, 0, 0, + 74, 75, 76, 0, 0, 0, 0, 0, 0, 0, + 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, 0, 0, 0, 0, 0, 0, + 83, 0, 84, 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, 0, 164, 165, + 166, 167, 168, 169, 0, 0, 170, 171, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 319, 0, 0, 0, 0, 0, 74, 75, 76, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 83, 0, 84, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 172, 0, 0, 0, 0, 0, 173, 174, 175, - 176, 12, 13, 14, 15, 16, 17, 0, 0, 0, - 0, 0, 250, 0, 0, 0, 0, 0, 18, 19, - 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, - 30, 31, 32, 0, 33, 34, 35, 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, 0, 164, 165, 166, 167, 168, 169, - 0, 0, 170, 171, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 331, 74, 75, 76, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 82, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 83, 0, 84, 0, 0, 0, 0, 0, - 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, 172, - 0, 0, 0, 0, 0, 173, 174, 175, 176, 18, - 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, - 29, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, - 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, - 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, - 68, 69, 70, 71, 0, 164, 165, 166, 167, 168, - 169, 0, 0, 170, 171, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 74, 75, 76, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 83, 0, 84, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 83, 0, 84, 0, 0, 0, 0, 0, 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, - 172, 0, 0, 229, 0, 0, 173, 174, 175, 176, + 0, 0, 0, 172, 0, 0, 0, 0, 0, 173, + 174, 175, 176, 12, 13, 14, 15, 16, 17, 0, + 0, 0, 0, 0, 251, 0, 0, 0, 0, 0, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, - 28, 29, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 38, 39, 40, 41, 42, 43, 44, 45, 46, + 28, 29, 30, 31, 32, 0, 33, 34, 35, 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, 0, 164, 165, 166, 167, 168, 169, 0, 0, 170, 171, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 74, 75, 76, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 333, 74, 75, 76, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 82, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 83, 0, 84, 0, 0, 0, 0, 0, 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, 172, 0, 0, 313, 0, 0, 173, 174, 175, + 0, 172, 0, 0, 0, 0, 0, 173, 174, 175, 176, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 0, 0, 0, 0, 0, 0, 0, 0, 0, 38, 39, 40, 41, 42, 43, 44, 45, @@ -1435,7 +1400,7 @@ static const yytype_int16 yytable[] = 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14, 15, 16, - 17, 0, 172, 0, 0, 365, 0, 0, 173, 174, + 17, 0, 172, 0, 0, 229, 0, 0, 173, 174, 175, 176, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 0, 0, 0, 0, 0, 0, 0, 0, 0, 38, 39, 40, 41, 42, 43, 44, @@ -1453,13 +1418,13 @@ static const yytype_int16 yytable[] = 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14, 15, - 16, 17, 0, 172, 0, 0, 0, 0, 0, 173, + 16, 17, 0, 172, 0, 0, 314, 0, 0, 173, 174, 175, 176, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 0, 0, 0, 0, 0, 0, 0, 0, 0, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, - 64, 65, 66, 67, 68, 69, 70, 268, 0, 164, + 64, 65, 66, 67, 68, 69, 70, 71, 0, 164, 165, 166, 167, 168, 169, 0, 0, 170, 171, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 74, 75, 76, @@ -1470,114 +1435,129 @@ static const yytype_int16 yytable[] = 0, 0, 0, 0, 0, 0, 0, 83, 0, 84, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 12, 13, 14, - 15, 16, 17, 0, 172, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 14, + 15, 16, 17, 0, 172, 0, 0, 367, 0, 0, 173, 174, 175, 176, 18, 19, 20, 21, 22, 23, - 24, 25, 26, 27, 28, 29, 30, 31, 32, 0, - 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, + 24, 25, 26, 27, 28, 29, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 0, - 72, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 164, 165, 166, 167, 168, 169, 0, 0, 170, 171, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 73, 74, 75, - 76, 0, 77, 0, 0, 0, 0, 0, 0, 0, - 78, 79, 80, 81, 82, 14, 15, 16, 17, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 74, 75, + 76, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, - 28, 29, 0, 0, 0, 0, 0, 0, 83, 0, - 84, 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, 0, 339, 14, 15, 16, - 17, 169, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 83, 0, + 84, 0, 0, 0, 0, 0, 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, 172, 0, 0, 0, 0, + 0, 173, 174, 175, 176, 18, 19, 20, 21, 22, + 23, 24, 25, 26, 27, 28, 29, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 38, 39, 40, 41, + 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, + 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, + 62, 63, 64, 65, 66, 67, 68, 69, 70, 269, + 0, 164, 165, 166, 167, 168, 169, 0, 0, 170, + 171, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 74, + 75, 76, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 83, + 0, 84, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 12, + 13, 14, 15, 16, 17, 0, 172, 0, 0, 0, + 0, 0, 173, 174, 175, 176, 18, 19, 20, 21, + 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, + 32, 0, 33, 34, 35, 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, 0, 72, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 73, + 74, 75, 76, 0, 77, 0, 0, 0, 0, 0, + 0, 0, 78, 79, 80, 81, 82, 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, 74, 75, 76, 0, 0, 0, - 0, 0, 0, 38, 39, 40, 41, 42, 43, 44, + 26, 27, 28, 29, 0, 0, 0, 0, 0, 0, + 83, 0, 84, 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, 0, 72, 14, - 15, 16, 17, 0, 83, 0, 84, 0, 0, 0, + 65, 66, 67, 68, 69, 70, 71, 0, 341, 14, + 15, 16, 17, 169, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 74, 75, 76, 0, 0, 0, 0, 0, 0, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 0, - 72, 0, 0, 0, 0, 0, 83, 0, 84, 0, + 72, 14, 15, 16, 17, 0, 83, 0, 84, 0, + 0, 0, 0, 0, 0, 0, 18, 19, 20, 21, + 22, 23, 24, 25, 26, 27, 28, 29, 74, 75, + 76, 0, 0, 0, 0, 0, 0, 38, 39, 40, + 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, + 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, + 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, + 71, 0, 72, 0, 0, 0, 0, 0, 83, 0, + 84, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 83, 0, - 84 + 83, 0, 84 }; static const yytype_int16 yycheck[] = { - 9, 73, 73, 155, 4, 159, 76, 161, 227, 86, - 87, 91, 9, 9, 255, 76, 188, 146, 172, 193, - 109, 379, 192, 95, 96, 141, 196, 84, 85, 78, - 141, 312, 390, 33, 34, 35, 4, 211, 196, 3, - 4, 196, 114, 93, 94, 95, 96, 97, 98, 99, - 100, 101, 102, 0, 212, 196, 228, 212, 113, 170, - 171, 213, 196, 212, 213, 33, 34, 35, 32, 33, - 34, 212, 36, 37, 38, 39, 40, 86, 212, 191, - 191, 193, 196, 196, 110, 326, 76, 368, 97, 86, - 86, 103, 311, 112, 248, 267, 210, 210, 252, 211, - 319, 255, 383, 112, 116, 386, 235, 113, 260, 263, - 282, 227, 76, 394, 192, 124, 227, 191, 196, 192, - 401, 3, 4, 196, 133, 82, 83, 204, 205, 209, - 191, 113, 304, 3, 4, 144, 193, 146, 195, 113, - 312, 197, 198, 213, 192, 364, 155, 113, 196, 303, - 32, 33, 34, 192, 36, 37, 38, 39, 40, 88, - 89, 211, 32, 33, 34, 196, 36, 37, 76, 178, - 287, 288, 326, 284, 285, 286, 287, 288, 289, 290, - 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, - 301, 302, 192, 33, 34, 311, 368, 37, 192, 76, - 311, 192, 196, 319, 213, 196, 289, 290, 319, 381, - 193, 383, 213, 76, 386, 224, 295, 296, 372, 104, - 105, 106, 394, 76, 376, 113, 235, 76, 212, 401, - 191, 291, 292, 293, 294, 389, 212, 212, 247, 33, - 34, 35, 201, 202, 203, 191, 255, 212, 364, 191, - 210, 260, 191, 364, 406, 192, 191, 206, 208, 331, - 331, 90, 207, 191, 92, 76, 75, 194, 212, 193, - 192, 211, 193, 191, 194, 76, 192, 196, 191, 194, - 211, 211, 194, 194, 194, 192, 212, 12, 213, 212, - 297, 264, 300, 298, 211, 299, 127, 211, 301, 134, - 302, 77, 243, 144, 320, 390, 88, 178, 377, 247, - -1, 247, 326, 86, -1, 224, -1, 326, 224, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 376, -1, -1, - 379, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 390, -1, -1, -1, -1, -1, -1, 3, 4, - 5, 6, 7, 8, 9, 10, 11, 406, 13, 14, - 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, - 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, - -1, 36, 37, 38, 39, 40, 41, 42, 43, 44, - 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, - 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, - 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, - 75, 76, 77, 78, 79, 80, 81, -1, -1, 84, - 85, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 103, 104, - 105, 106, -1, 108, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 120, -1, -1, -1, -1, + 9, 73, 73, 159, 155, 161, 141, 76, 141, 4, + 86, 87, 91, 9, 84, 85, 172, 76, 146, 9, + 3, 4, 381, 95, 96, 78, 313, 256, 4, 193, + 104, 105, 106, 392, 227, 170, 171, 0, 33, 34, + 35, 191, 114, 193, 196, 3, 4, 211, 192, 32, + 33, 34, 196, 36, 37, 109, 191, 33, 34, 35, + 212, 211, 213, 93, 94, 95, 96, 97, 98, 99, + 100, 101, 102, 196, 32, 33, 34, 86, 36, 37, + 38, 39, 40, 370, 197, 198, 196, 113, 97, 212, + 86, 188, 227, 249, 227, 196, 86, 253, 385, 328, + 256, 388, 212, 112, 103, 110, 196, 235, 264, 396, + 261, 212, 196, 212, 213, 124, 403, 116, 76, 312, + 210, 82, 83, 193, 133, 195, 210, 320, 204, 205, + 209, 228, 191, 88, 89, 144, 192, 146, 33, 34, + 196, 192, 37, 192, 213, 196, 155, 196, 304, 76, + 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, + 295, 296, 297, 298, 299, 300, 301, 302, 303, 178, + 192, 268, 328, 366, 196, 112, 192, 312, 113, 312, + 196, 211, 33, 34, 35, 320, 283, 320, 292, 293, + 294, 295, 113, 201, 202, 203, 113, 192, 113, 288, + 289, 192, 290, 291, 213, 296, 297, 191, 305, 196, + 76, 193, 76, 213, 76, 224, 313, 76, 374, 113, + 76, 191, 191, 212, 212, 211, 235, 378, 192, 191, + 207, 366, 212, 366, 212, 391, 210, 191, 191, 248, + 206, 3, 4, 208, 90, 92, 191, 256, 76, 78, + 194, 193, 261, 212, 75, 193, 192, 408, 191, 211, + 194, 333, 333, 76, 196, 194, 192, 191, 211, 194, + 32, 33, 34, 370, 36, 37, 38, 39, 40, 12, + 211, 194, 212, 192, 194, 213, 383, 298, 385, 211, + 265, 388, 211, 299, 212, 302, 300, 127, 301, 396, + 134, 303, 77, 244, 224, 144, 403, 321, 224, 248, + 392, 379, 88, 178, 86, 328, -1, -1, -1, 328, + -1, -1, -1, -1, -1, 248, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 154, - -1, 156, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 191, -1, -1, -1, - -1, -1, 197, 198, 199, 200, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 212, 213, 214, - 3, 4, 5, 6, 7, 8, 9, 10, 11, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 378, + -1, -1, 381, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 392, -1, -1, -1, -1, -1, -1, + 3, 4, 5, 6, 7, 8, 9, 10, 11, 408, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, -1, 36, 37, 38, 39, 40, 41, 42, @@ -1661,137 +1641,122 @@ static const yytype_int16 yycheck[] = -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 191, -1, -1, -1, -1, -1, 197, 198, 199, 200, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 212, 213, 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, -1, - 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, - 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, - 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, - 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, - 76, 77, 78, 79, 80, 81, -1, -1, 84, 85, + -1, -1, -1, -1, -1, 212, 213, 214, 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, + -1, 36, 37, 38, 39, 40, 41, 42, 43, 44, + 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, + 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, + 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, + 75, 76, 77, 78, 79, 80, 81, -1, -1, 84, + 85, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 103, 104, + 105, 106, -1, 108, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 120, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 103, 104, 105, - 106, -1, 108, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 120, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 154, + -1, 156, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 154, -1, - 156, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 191, -1, -1, -1, + -1, -1, 197, 198, 199, 200, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 212, 213, 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, -1, 36, 37, 38, 39, 40, 41, 42, 43, + 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, + 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, + 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, + 74, 75, 76, 77, 78, 79, 80, 81, -1, -1, + 84, 85, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 103, + 104, 105, 106, -1, 108, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 120, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 191, -1, -1, -1, -1, - -1, 197, 198, 199, 200, 3, 4, 5, 6, 7, - 8, -1, -1, -1, -1, -1, 212, 213, -1, -1, - -1, -1, 20, 21, 22, 23, 24, 25, 26, 27, - 28, 29, 30, 31, 32, 33, 34, -1, 36, 37, - 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, - 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, - 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, - 68, 69, 70, 71, 72, 73, 74, -1, 76, 77, - 78, 79, 80, 81, -1, -1, 84, 85, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 103, 104, 105, 106, -1, - 108, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 120, 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, - -1, -1, -1, -1, -1, -1, 154, -1, 156, 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, 191, 76, -1, -1, -1, -1, 197, - 198, 199, 200, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 212, -1, -1, -1, -1, -1, - -1, -1, 104, 105, 106, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 5, - 6, 7, 8, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 154, -1, 156, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 191, -1, -1, + -1, -1, -1, 197, 198, 199, 200, 3, 4, 5, + 6, 7, 8, -1, -1, -1, -1, -1, 212, 213, -1, -1, -1, -1, 20, 21, 22, 23, 24, 25, - 26, 27, 28, 29, 30, 31, -1, -1, -1, -1, - -1, -1, 154, -1, 156, 41, 42, 43, 44, 45, + 26, 27, 28, 29, 30, 31, 32, 33, 34, -1, + 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, -1, - 76, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 76, 77, 78, 79, 80, 81, -1, -1, 84, 85, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 214, -1, -1, -1, -1, -1, 104, 105, - 106, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 5, 6, 7, 8, -1, + -1, -1, -1, -1, -1, -1, -1, 103, 104, 105, + 106, -1, 108, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 120, 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, -1, -1, -1, -1, -1, -1, 154, -1, 156, 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, -1, 76, 77, 78, 79, - 80, 81, -1, -1, 84, 85, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 214, -1, + 70, 71, 72, 73, 74, 191, 76, -1, -1, -1, + -1, 197, 198, 199, 200, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 212, -1, -1, -1, -1, -1, -1, -1, 104, 105, 106, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 5, 6, 7, 8, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 20, 21, 22, 23, + 24, 25, 26, 27, 28, 29, 30, 31, -1, -1, + -1, -1, -1, -1, 154, -1, 156, 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, -1, 76, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 214, -1, -1, -1, -1, -1, + 104, 105, 106, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 5, 6, 7, + 8, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 20, 21, 22, 23, 24, 25, 26, 27, + 28, 29, 30, 31, -1, -1, -1, -1, -1, -1, + 154, -1, 156, 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, -1, 76, 77, + 78, 79, 80, 81, -1, -1, 84, 85, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 214, -1, -1, -1, -1, -1, 104, 105, 106, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 154, -1, 156, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 191, -1, -1, -1, -1, -1, 197, 198, 199, - 200, 3, 4, 5, 6, 7, 8, -1, -1, -1, - -1, -1, 212, -1, -1, -1, -1, -1, 20, 21, - 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, - 32, 33, 34, -1, 36, 37, 38, 39, 40, 41, - 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, - 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, - 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, - 72, 73, 74, -1, 76, 77, 78, 79, 80, 81, - -1, -1, 84, 85, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 103, 104, 105, 106, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 120, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 154, -1, 156, -1, -1, -1, -1, -1, - -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, 191, - -1, -1, -1, -1, -1, 197, 198, 199, 200, 20, - 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, - 31, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, - 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, - 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, - 71, 72, 73, 74, -1, 76, 77, 78, 79, 80, - 81, -1, -1, 84, 85, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 104, 105, 106, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 154, -1, 156, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 154, -1, 156, -1, -1, -1, -1, -1, -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, - 191, -1, -1, 194, -1, -1, 197, 198, 199, 200, + -1, -1, -1, 191, -1, -1, -1, -1, -1, 197, + 198, 199, 200, 3, 4, 5, 6, 7, 8, -1, + -1, -1, -1, -1, 212, -1, -1, -1, -1, -1, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, - 30, 31, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 41, 42, 43, 44, 45, 46, 47, 48, 49, + 30, 31, 32, 33, 34, -1, 36, 37, 38, 39, + 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, -1, 76, 77, 78, 79, 80, 81, -1, -1, 84, 85, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 104, 105, 106, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 103, 104, 105, 106, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 120, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 154, -1, 156, -1, -1, -1, -1, -1, -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, 191, -1, -1, 194, -1, -1, 197, 198, 199, + -1, 191, -1, -1, -1, -1, -1, 197, 198, 199, 200, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, -1, -1, -1, -1, -1, -1, -1, -1, -1, 41, 42, 43, 44, 45, 46, 47, 48, @@ -1827,7 +1792,7 @@ static const yytype_int16 yycheck[] = -1, -1, -1, -1, -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, 191, -1, -1, -1, -1, -1, 197, + 7, 8, -1, 191, -1, -1, 194, -1, -1, 197, 198, 199, 200, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, -1, -1, -1, -1, -1, -1, -1, -1, -1, 41, 42, 43, 44, 45, 46, @@ -1844,49 +1809,85 @@ static const yytype_int16 yycheck[] = -1, -1, -1, -1, -1, -1, -1, 154, -1, 156, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 3, 4, 5, - 6, 7, 8, -1, 191, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 5, + 6, 7, 8, -1, 191, -1, -1, 194, -1, -1, 197, 198, 199, 200, 20, 21, 22, 23, 24, 25, - 26, 27, 28, 29, 30, 31, 32, 33, 34, -1, - 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, + 26, 27, 28, 29, 30, 31, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, -1, - 76, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 76, 77, 78, 79, 80, 81, -1, -1, 84, 85, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 103, 104, 105, - 106, -1, 108, -1, -1, -1, -1, -1, -1, -1, - 116, 117, 118, 119, 120, 5, 6, 7, 8, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 104, 105, + 106, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, - 30, 31, -1, -1, -1, -1, -1, -1, 154, -1, - 156, 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, -1, 76, 5, 6, 7, - 8, 81, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 154, -1, + 156, -1, -1, -1, -1, -1, -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, 191, -1, -1, -1, -1, + -1, 197, 198, 199, 200, 20, 21, 22, 23, 24, + 25, 26, 27, 28, 29, 30, 31, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 41, 42, 43, 44, + 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, + 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, + 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, + -1, 76, 77, 78, 79, 80, 81, -1, -1, 84, + 85, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 104, + 105, 106, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 154, + -1, 156, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 3, + 4, 5, 6, 7, 8, -1, 191, -1, -1, -1, + -1, -1, 197, 198, 199, 200, 20, 21, 22, 23, + 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, + 34, -1, 36, 37, 38, 39, 40, 41, 42, 43, + 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, + 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, + 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, + 74, -1, 76, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 103, + 104, 105, 106, -1, 108, -1, -1, -1, -1, -1, + -1, -1, 116, 117, 118, 119, 120, 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, 104, 105, 106, -1, -1, -1, - -1, -1, -1, 41, 42, 43, 44, 45, 46, 47, + 28, 29, 30, 31, -1, -1, -1, -1, -1, -1, + 154, -1, 156, 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, -1, 76, 5, - 6, 7, 8, -1, 154, -1, 156, -1, -1, -1, + 6, 7, 8, 81, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 104, 105, 106, -1, -1, -1, -1, -1, -1, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, -1, - 76, -1, -1, -1, -1, -1, 154, -1, 156, -1, + 76, 5, 6, 7, 8, -1, 154, -1, 156, -1, + -1, -1, -1, -1, -1, -1, 20, 21, 22, 23, + 24, 25, 26, 27, 28, 29, 30, 31, 104, 105, + 106, -1, -1, -1, -1, -1, -1, 41, 42, 43, + 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, + 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, + 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, + 74, -1, 76, -1, -1, -1, -1, -1, 154, -1, + 156, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 154, -1, - 156 + 154, -1, 156 }; /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing @@ -1917,24 +1918,24 @@ static const yytype_uint16 yystos[] = 283, 284, 285, 288, 289, 290, 293, 294, 295, 299, 258, 257, 260, 271, 259, 76, 191, 193, 211, 194, 234, 247, 251, 271, 113, 277, 76, 279, 280, 214, - 278, 212, 192, 196, 212, 212, 283, 191, 191, 212, - 212, 250, 191, 250, 210, 191, 234, 234, 250, 214, - 288, 84, 85, 193, 195, 192, 192, 196, 74, 248, - 191, 93, 94, 95, 96, 97, 98, 99, 100, 101, - 102, 211, 249, 234, 201, 202, 203, 197, 198, 82, - 83, 86, 87, 204, 205, 88, 89, 206, 207, 208, - 90, 92, 91, 209, 196, 212, 214, 283, 76, 257, - 260, 193, 211, 194, 251, 248, 281, 194, 214, 193, - 196, 212, 266, 75, 282, 289, 296, 250, 212, 250, - 210, 103, 250, 263, 292, 192, 214, 226, 250, 76, - 229, 248, 248, 234, 234, 234, 236, 236, 237, 237, - 238, 238, 238, 238, 239, 239, 240, 241, 242, 243, - 244, 245, 250, 248, 193, 194, 251, 281, 211, 194, - 251, 280, 191, 292, 297, 298, 192, 192, 76, 192, - 194, 210, 251, 211, 194, 281, 211, 194, 250, 212, - 192, 283, 291, 285, 211, 284, 286, 287, 248, 194, - 281, 211, 281, 192, 250, 286, 12, 281, 281, 212, - 283 + 278, 212, 211, 192, 196, 212, 212, 283, 191, 191, + 212, 212, 250, 191, 250, 210, 191, 234, 234, 250, + 214, 288, 84, 85, 193, 195, 192, 192, 196, 74, + 248, 191, 93, 94, 95, 96, 97, 98, 99, 100, + 101, 102, 211, 249, 234, 201, 202, 203, 197, 198, + 82, 83, 86, 87, 204, 205, 88, 89, 206, 207, + 208, 90, 92, 91, 209, 196, 212, 214, 283, 76, + 257, 260, 193, 211, 194, 251, 248, 281, 194, 214, + 193, 196, 212, 78, 266, 75, 282, 289, 296, 250, + 212, 250, 210, 103, 250, 263, 292, 192, 214, 226, + 250, 76, 229, 248, 248, 234, 234, 234, 236, 236, + 237, 237, 238, 238, 238, 238, 239, 239, 240, 241, + 242, 243, 244, 245, 250, 248, 193, 194, 251, 281, + 211, 194, 251, 280, 191, 292, 297, 298, 192, 192, + 76, 192, 194, 210, 251, 211, 194, 281, 211, 194, + 250, 212, 192, 283, 291, 285, 211, 284, 286, 287, + 248, 194, 281, 211, 281, 192, 250, 286, 12, 281, + 281, 212, 283 }; #define yyerrok (yyerrstatus = 0) @@ -2616,7 +2617,7 @@ YYLTYPE yylloc; } /* Line 1242 of yacc.c */ -#line 2620 "glsl_parser.cpp" +#line 2621 "glsl_parser.cpp" yylsp[0] = yylloc; goto yysetstate; @@ -3886,17 +3887,26 @@ yyreduce: /* Line 1455 of yacc.c */ #line 985 "glsl_parser.ypp" { - /* FINISHME: Should check for conflicting / duplicate flags here. - */ - (yyval.type_qualifier) = (yyvsp[(1) - (3)].type_qualifier); - (yyval.type_qualifier).flags.i |= (yyvsp[(3) - (3)].type_qualifier).flags.i; + if (((yyvsp[(1) - (3)].type_qualifier).flags.i & (yyvsp[(3) - (3)].type_qualifier).flags.i) != 0) { + _mesa_glsl_error(& (yylsp[(3) - (3)]), state, + "duplicate layout qualifiers used\n"); + YYERROR; + } + + (yyval.type_qualifier).flags.i = (yyvsp[(1) - (3)].type_qualifier).flags.i | (yyvsp[(3) - (3)].type_qualifier).flags.i; + + if ((yyvsp[(1) - (3)].type_qualifier).flags.q.explicit_location) + (yyval.type_qualifier).location = (yyvsp[(1) - (3)].type_qualifier).location; + + if ((yyvsp[(3) - (3)].type_qualifier).flags.q.explicit_location) + (yyval.type_qualifier).location = (yyvsp[(3) - (3)].type_qualifier).location; ;} break; case 138: /* Line 1455 of yacc.c */ -#line 995 "glsl_parser.ypp" +#line 1004 "glsl_parser.ypp" { bool got_one = false; @@ -3930,77 +3940,120 @@ yyreduce: case 139: /* Line 1455 of yacc.c */ -#line 1027 "glsl_parser.ypp" +#line 1033 "glsl_parser.ypp" { + bool got_one = false; + memset(& (yyval.type_qualifier), 0, sizeof((yyval.type_qualifier))); - (yyval.type_qualifier).flags.q.smooth = 1; + + if (state->ARB_explicit_attrib_location_enable) { + /* FINISHME: Handle 'index' once GL_ARB_blend_func_exteneded and + * FINISHME: GLSL 1.30 (or later) are supported. + */ + if (strcmp("location", (yyvsp[(1) - (3)].identifier)) == 0) { + got_one = true; + + (yyval.type_qualifier).flags.q.explicit_location = 1; + + if ((yyvsp[(3) - (3)].n) >= 0) { + (yyval.type_qualifier).location = (yyvsp[(3) - (3)].n); + } else { + _mesa_glsl_error(& (yylsp[(3) - (3)]), state, + "invalid location %d specified\n", (yyvsp[(3) - (3)].n)); + YYERROR; + } + } + } + + /* If the identifier didn't match any known layout identifiers, + * emit an error. + */ + if (!got_one) { + _mesa_glsl_error(& (yylsp[(1) - (3)]), state, "unrecognized layout identifier " + "`%s'\n", (yyvsp[(1) - (3)].identifier)); + YYERROR; + } else if (state->ARB_explicit_attrib_location_warn) { + _mesa_glsl_warning(& (yylsp[(1) - (3)]), state, + "GL_ARB_explicit_attrib_location layout " + "identifier `%s' used\n", (yyvsp[(1) - (3)].identifier)); + } ;} break; case 140: /* Line 1455 of yacc.c */ -#line 1032 "glsl_parser.ypp" +#line 1074 "glsl_parser.ypp" { memset(& (yyval.type_qualifier), 0, sizeof((yyval.type_qualifier))); - (yyval.type_qualifier).flags.q.flat = 1; + (yyval.type_qualifier).flags.q.smooth = 1; ;} break; case 141: /* Line 1455 of yacc.c */ -#line 1037 "glsl_parser.ypp" +#line 1079 "glsl_parser.ypp" { memset(& (yyval.type_qualifier), 0, sizeof((yyval.type_qualifier))); - (yyval.type_qualifier).flags.q.noperspective = 1; + (yyval.type_qualifier).flags.q.flat = 1; ;} break; case 142: /* Line 1455 of yacc.c */ -#line 1045 "glsl_parser.ypp" +#line 1084 "glsl_parser.ypp" + { + memset(& (yyval.type_qualifier), 0, sizeof((yyval.type_qualifier))); + (yyval.type_qualifier).flags.q.noperspective = 1; + ;} + break; + + case 143: + +/* Line 1455 of yacc.c */ +#line 1092 "glsl_parser.ypp" { memset(& (yyval.type_qualifier), 0, sizeof((yyval.type_qualifier))); (yyval.type_qualifier).flags.q.constant = 1; ;} break; - case 145: + case 146: /* Line 1455 of yacc.c */ -#line 1055 "glsl_parser.ypp" +#line 1102 "glsl_parser.ypp" { (yyval.type_qualifier) = (yyvsp[(1) - (2)].type_qualifier); (yyval.type_qualifier).flags.i |= (yyvsp[(2) - (2)].type_qualifier).flags.i; ;} break; - case 147: + case 148: /* Line 1455 of yacc.c */ -#line 1061 "glsl_parser.ypp" +#line 1108 "glsl_parser.ypp" { (yyval.type_qualifier) = (yyvsp[(1) - (2)].type_qualifier); (yyval.type_qualifier).flags.i |= (yyvsp[(2) - (2)].type_qualifier).flags.i; ;} break; - case 148: + case 149: /* Line 1455 of yacc.c */ -#line 1066 "glsl_parser.ypp" +#line 1113 "glsl_parser.ypp" { (yyval.type_qualifier) = (yyvsp[(2) - (2)].type_qualifier); (yyval.type_qualifier).flags.q.invariant = 1; ;} break; - case 149: + case 150: /* Line 1455 of yacc.c */ -#line 1071 "glsl_parser.ypp" +#line 1118 "glsl_parser.ypp" { (yyval.type_qualifier) = (yyvsp[(2) - (3)].type_qualifier); (yyval.type_qualifier).flags.i |= (yyvsp[(3) - (3)].type_qualifier).flags.i; @@ -4008,50 +4061,50 @@ yyreduce: ;} break; - case 150: + case 151: /* Line 1455 of yacc.c */ -#line 1077 "glsl_parser.ypp" +#line 1124 "glsl_parser.ypp" { memset(& (yyval.type_qualifier), 0, sizeof((yyval.type_qualifier))); (yyval.type_qualifier).flags.q.invariant = 1; ;} break; - case 151: + case 152: /* Line 1455 of yacc.c */ -#line 1085 "glsl_parser.ypp" +#line 1132 "glsl_parser.ypp" { memset(& (yyval.type_qualifier), 0, sizeof((yyval.type_qualifier))); (yyval.type_qualifier).flags.q.constant = 1; ;} break; - case 152: + case 153: /* Line 1455 of yacc.c */ -#line 1090 "glsl_parser.ypp" +#line 1137 "glsl_parser.ypp" { memset(& (yyval.type_qualifier), 0, sizeof((yyval.type_qualifier))); (yyval.type_qualifier).flags.q.attribute = 1; ;} break; - case 153: + case 154: /* Line 1455 of yacc.c */ -#line 1095 "glsl_parser.ypp" +#line 1142 "glsl_parser.ypp" { memset(& (yyval.type_qualifier), 0, sizeof((yyval.type_qualifier))); (yyval.type_qualifier).flags.q.varying = 1; ;} break; - case 154: + case 155: /* Line 1455 of yacc.c */ -#line 1100 "glsl_parser.ypp" +#line 1147 "glsl_parser.ypp" { memset(& (yyval.type_qualifier), 0, sizeof((yyval.type_qualifier))); (yyval.type_qualifier).flags.q.centroid = 1; @@ -4059,70 +4112,70 @@ yyreduce: ;} break; - case 155: + case 156: /* Line 1455 of yacc.c */ -#line 1106 "glsl_parser.ypp" +#line 1153 "glsl_parser.ypp" { memset(& (yyval.type_qualifier), 0, sizeof((yyval.type_qualifier))); (yyval.type_qualifier).flags.q.in = 1; ;} break; - case 156: + case 157: /* Line 1455 of yacc.c */ -#line 1111 "glsl_parser.ypp" +#line 1158 "glsl_parser.ypp" { memset(& (yyval.type_qualifier), 0, sizeof((yyval.type_qualifier))); (yyval.type_qualifier).flags.q.out = 1; ;} break; - case 157: + case 158: /* Line 1455 of yacc.c */ -#line 1116 "glsl_parser.ypp" +#line 1163 "glsl_parser.ypp" { memset(& (yyval.type_qualifier), 0, sizeof((yyval.type_qualifier))); (yyval.type_qualifier).flags.q.centroid = 1; (yyval.type_qualifier).flags.q.in = 1; ;} break; - case 158: + case 159: /* Line 1455 of yacc.c */ -#line 1121 "glsl_parser.ypp" +#line 1168 "glsl_parser.ypp" { memset(& (yyval.type_qualifier), 0, sizeof((yyval.type_qualifier))); (yyval.type_qualifier).flags.q.centroid = 1; (yyval.type_qualifier).flags.q.out = 1; ;} break; - case 159: + case 160: /* Line 1455 of yacc.c */ -#line 1126 "glsl_parser.ypp" +#line 1173 "glsl_parser.ypp" { memset(& (yyval.type_qualifier), 0, sizeof((yyval.type_qualifier))); (yyval.type_qualifier).flags.q.uniform = 1; ;} break; - case 161: + case 162: /* Line 1455 of yacc.c */ -#line 1135 "glsl_parser.ypp" +#line 1182 "glsl_parser.ypp" { (yyval.type_specifier) = (yyvsp[(2) - (2)].type_specifier); (yyval.type_specifier)->precision = (yyvsp[(1) - (2)].n); ;} break; - case 163: + case 164: /* Line 1455 of yacc.c */ -#line 1144 "glsl_parser.ypp" +#line 1191 "glsl_parser.ypp" { (yyval.type_specifier) = (yyvsp[(1) - (3)].type_specifier); (yyval.type_specifier)->is_array = true; @@ -4130,10 +4183,10 @@ yyreduce: ;} break; - case 164: + case 165: /* Line 1455 of yacc.c */ -#line 1150 "glsl_parser.ypp" +#line 1197 "glsl_parser.ypp" { (yyval.type_specifier) = (yyvsp[(1) - (4)].type_specifier); (yyval.type_specifier)->is_array = true; @@ -4141,10 +4194,10 @@ yyreduce: ;} break; - case 165: + case 166: /* Line 1455 of yacc.c */ -#line 1159 "glsl_parser.ypp" +#line 1206 "glsl_parser.ypp" { void *ctx = state; (yyval.type_specifier) = new(ctx) ast_type_specifier((yyvsp[(1) - (1)].n)); @@ -4152,10 +4205,10 @@ yyreduce: ;} break; - case 166: + case 167: /* Line 1455 of yacc.c */ -#line 1165 "glsl_parser.ypp" +#line 1212 "glsl_parser.ypp" { void *ctx = state; (yyval.type_specifier) = new(ctx) ast_type_specifier((yyvsp[(1) - (1)].struct_specifier)); @@ -4163,10 +4216,10 @@ yyreduce: ;} break; - case 167: + case 168: /* Line 1455 of yacc.c */ -#line 1171 "glsl_parser.ypp" +#line 1218 "glsl_parser.ypp" { void *ctx = state; (yyval.type_specifier) = new(ctx) ast_type_specifier((yyvsp[(1) - (1)].identifier)); @@ -4174,367 +4227,367 @@ yyreduce: ;} break; - case 168: + case 169: /* Line 1455 of yacc.c */ -#line 1179 "glsl_parser.ypp" +#line 1226 "glsl_parser.ypp" { (yyval.n) = ast_void; ;} break; - case 169: + case 170: /* Line 1455 of yacc.c */ -#line 1180 "glsl_parser.ypp" +#line 1227 "glsl_parser.ypp" { (yyval.n) = ast_float; ;} break; - case 170: + case 171: /* Line 1455 of yacc.c */ -#line 1181 "glsl_parser.ypp" +#line 1228 "glsl_parser.ypp" { (yyval.n) = ast_int; ;} break; - case 171: + case 172: /* Line 1455 of yacc.c */ -#line 1182 "glsl_parser.ypp" +#line 1229 "glsl_parser.ypp" { (yyval.n) = ast_uint; ;} break; - case 172: + case 173: /* Line 1455 of yacc.c */ -#line 1183 "glsl_parser.ypp" +#line 1230 "glsl_parser.ypp" { (yyval.n) = ast_bool; ;} break; - case 173: + case 174: /* Line 1455 of yacc.c */ -#line 1184 "glsl_parser.ypp" +#line 1231 "glsl_parser.ypp" { (yyval.n) = ast_vec2; ;} break; - case 174: + case 175: /* Line 1455 of yacc.c */ -#line 1185 "glsl_parser.ypp" +#line 1232 "glsl_parser.ypp" { (yyval.n) = ast_vec3; ;} break; - case 175: + case 176: /* Line 1455 of yacc.c */ -#line 1186 "glsl_parser.ypp" +#line 1233 "glsl_parser.ypp" { (yyval.n) = ast_vec4; ;} break; - case 176: + case 177: /* Line 1455 of yacc.c */ -#line 1187 "glsl_parser.ypp" +#line 1234 "glsl_parser.ypp" { (yyval.n) = ast_bvec2; ;} break; - case 177: + case 178: /* Line 1455 of yacc.c */ -#line 1188 "glsl_parser.ypp" +#line 1235 "glsl_parser.ypp" { (yyval.n) = ast_bvec3; ;} break; - case 178: + case 179: /* Line 1455 of yacc.c */ -#line 1189 "glsl_parser.ypp" +#line 1236 "glsl_parser.ypp" { (yyval.n) = ast_bvec4; ;} break; - case 179: + case 180: /* Line 1455 of yacc.c */ -#line 1190 "glsl_parser.ypp" +#line 1237 "glsl_parser.ypp" { (yyval.n) = ast_ivec2; ;} break; - case 180: + case 181: /* Line 1455 of yacc.c */ -#line 1191 "glsl_parser.ypp" +#line 1238 "glsl_parser.ypp" { (yyval.n) = ast_ivec3; ;} break; - case 181: + case 182: /* Line 1455 of yacc.c */ -#line 1192 "glsl_parser.ypp" +#line 1239 "glsl_parser.ypp" { (yyval.n) = ast_ivec4; ;} break; - case 182: + case 183: /* Line 1455 of yacc.c */ -#line 1193 "glsl_parser.ypp" +#line 1240 "glsl_parser.ypp" { (yyval.n) = ast_uvec2; ;} break; - case 183: + case 184: /* Line 1455 of yacc.c */ -#line 1194 "glsl_parser.ypp" +#line 1241 "glsl_parser.ypp" { (yyval.n) = ast_uvec3; ;} break; - case 184: + case 185: /* Line 1455 of yacc.c */ -#line 1195 "glsl_parser.ypp" +#line 1242 "glsl_parser.ypp" { (yyval.n) = ast_uvec4; ;} break; - case 185: + case 186: /* Line 1455 of yacc.c */ -#line 1196 "glsl_parser.ypp" +#line 1243 "glsl_parser.ypp" { (yyval.n) = ast_mat2; ;} break; - case 186: + case 187: /* Line 1455 of yacc.c */ -#line 1197 "glsl_parser.ypp" +#line 1244 "glsl_parser.ypp" { (yyval.n) = ast_mat2x3; ;} break; - case 187: + case 188: /* Line 1455 of yacc.c */ -#line 1198 "glsl_parser.ypp" +#line 1245 "glsl_parser.ypp" { (yyval.n) = ast_mat2x4; ;} break; - case 188: + case 189: /* Line 1455 of yacc.c */ -#line 1199 "glsl_parser.ypp" +#line 1246 "glsl_parser.ypp" { (yyval.n) = ast_mat3x2; ;} break; - case 189: + case 190: /* Line 1455 of yacc.c */ -#line 1200 "glsl_parser.ypp" +#line 1247 "glsl_parser.ypp" { (yyval.n) = ast_mat3; ;} break; - case 190: + case 191: /* Line 1455 of yacc.c */ -#line 1201 "glsl_parser.ypp" +#line 1248 "glsl_parser.ypp" { (yyval.n) = ast_mat3x4; ;} break; - case 191: + case 192: /* Line 1455 of yacc.c */ -#line 1202 "glsl_parser.ypp" +#line 1249 "glsl_parser.ypp" { (yyval.n) = ast_mat4x2; ;} break; - case 192: + case 193: /* Line 1455 of yacc.c */ -#line 1203 "glsl_parser.ypp" +#line 1250 "glsl_parser.ypp" { (yyval.n) = ast_mat4x3; ;} break; - case 193: + case 194: /* Line 1455 of yacc.c */ -#line 1204 "glsl_parser.ypp" +#line 1251 "glsl_parser.ypp" { (yyval.n) = ast_mat4; ;} break; - case 194: + case 195: /* Line 1455 of yacc.c */ -#line 1205 "glsl_parser.ypp" +#line 1252 "glsl_parser.ypp" { (yyval.n) = ast_sampler1d; ;} break; - case 195: + case 196: /* Line 1455 of yacc.c */ -#line 1206 "glsl_parser.ypp" +#line 1253 "glsl_parser.ypp" { (yyval.n) = ast_sampler2d; ;} break; - case 196: + case 197: /* Line 1455 of yacc.c */ -#line 1207 "glsl_parser.ypp" +#line 1254 "glsl_parser.ypp" { (yyval.n) = ast_sampler2drect; ;} break; - case 197: + case 198: /* Line 1455 of yacc.c */ -#line 1208 "glsl_parser.ypp" +#line 1255 "glsl_parser.ypp" { (yyval.n) = ast_sampler3d; ;} break; - case 198: + case 199: /* Line 1455 of yacc.c */ -#line 1209 "glsl_parser.ypp" +#line 1256 "glsl_parser.ypp" { (yyval.n) = ast_samplercube; ;} break; - case 199: + case 200: /* Line 1455 of yacc.c */ -#line 1210 "glsl_parser.ypp" +#line 1257 "glsl_parser.ypp" { (yyval.n) = ast_sampler1dshadow; ;} break; - case 200: + case 201: /* Line 1455 of yacc.c */ -#line 1211 "glsl_parser.ypp" +#line 1258 "glsl_parser.ypp" { (yyval.n) = ast_sampler2dshadow; ;} break; - case 201: + case 202: /* Line 1455 of yacc.c */ -#line 1212 "glsl_parser.ypp" +#line 1259 "glsl_parser.ypp" { (yyval.n) = ast_sampler2drectshadow; ;} break; - case 202: + case 203: /* Line 1455 of yacc.c */ -#line 1213 "glsl_parser.ypp" +#line 1260 "glsl_parser.ypp" { (yyval.n) = ast_samplercubeshadow; ;} break; - case 203: + case 204: /* Line 1455 of yacc.c */ -#line 1214 "glsl_parser.ypp" +#line 1261 "glsl_parser.ypp" { (yyval.n) = ast_sampler1darray; ;} break; - case 204: + case 205: /* Line 1455 of yacc.c */ -#line 1215 "glsl_parser.ypp" +#line 1262 "glsl_parser.ypp" { (yyval.n) = ast_sampler2darray; ;} break; - case 205: + case 206: /* Line 1455 of yacc.c */ -#line 1216 "glsl_parser.ypp" +#line 1263 "glsl_parser.ypp" { (yyval.n) = ast_sampler1darrayshadow; ;} break; - case 206: + case 207: /* Line 1455 of yacc.c */ -#line 1217 "glsl_parser.ypp" +#line 1264 "glsl_parser.ypp" { (yyval.n) = ast_sampler2darrayshadow; ;} break; - case 207: + case 208: /* Line 1455 of yacc.c */ -#line 1218 "glsl_parser.ypp" +#line 1265 "glsl_parser.ypp" { (yyval.n) = ast_isampler1d; ;} break; - case 208: + case 209: /* Line 1455 of yacc.c */ -#line 1219 "glsl_parser.ypp" +#line 1266 "glsl_parser.ypp" { (yyval.n) = ast_isampler2d; ;} break; - case 209: + case 210: /* Line 1455 of yacc.c */ -#line 1220 "glsl_parser.ypp" +#line 1267 "glsl_parser.ypp" { (yyval.n) = ast_isampler3d; ;} break; - case 210: + case 211: /* Line 1455 of yacc.c */ -#line 1221 "glsl_parser.ypp" +#line 1268 "glsl_parser.ypp" { (yyval.n) = ast_isamplercube; ;} break; - case 211: + case 212: /* Line 1455 of yacc.c */ -#line 1222 "glsl_parser.ypp" +#line 1269 "glsl_parser.ypp" { (yyval.n) = ast_isampler1darray; ;} break; - case 212: + case 213: /* Line 1455 of yacc.c */ -#line 1223 "glsl_parser.ypp" +#line 1270 "glsl_parser.ypp" { (yyval.n) = ast_isampler2darray; ;} break; - case 213: + case 214: /* Line 1455 of yacc.c */ -#line 1224 "glsl_parser.ypp" +#line 1271 "glsl_parser.ypp" { (yyval.n) = ast_usampler1d; ;} break; - case 214: + case 215: /* Line 1455 of yacc.c */ -#line 1225 "glsl_parser.ypp" +#line 1272 "glsl_parser.ypp" { (yyval.n) = ast_usampler2d; ;} break; - case 215: + case 216: /* Line 1455 of yacc.c */ -#line 1226 "glsl_parser.ypp" +#line 1273 "glsl_parser.ypp" { (yyval.n) = ast_usampler3d; ;} break; - case 216: + case 217: /* Line 1455 of yacc.c */ -#line 1227 "glsl_parser.ypp" +#line 1274 "glsl_parser.ypp" { (yyval.n) = ast_usamplercube; ;} break; - case 217: + case 218: /* Line 1455 of yacc.c */ -#line 1228 "glsl_parser.ypp" +#line 1275 "glsl_parser.ypp" { (yyval.n) = ast_usampler1darray; ;} break; - case 218: + case 219: /* Line 1455 of yacc.c */ -#line 1229 "glsl_parser.ypp" +#line 1276 "glsl_parser.ypp" { (yyval.n) = ast_usampler2darray; ;} break; - case 219: + case 220: /* Line 1455 of yacc.c */ -#line 1233 "glsl_parser.ypp" +#line 1280 "glsl_parser.ypp" { if (!state->es_shader && state->language_version < 130) _mesa_glsl_error(& (yylsp[(1) - (1)]), state, @@ -4548,10 +4601,10 @@ yyreduce: ;} break; - case 220: + case 221: /* Line 1455 of yacc.c */ -#line 1244 "glsl_parser.ypp" +#line 1291 "glsl_parser.ypp" { if (!state->es_shader && state->language_version < 130) _mesa_glsl_error(& (yylsp[(1) - (1)]), state, @@ -4565,10 +4618,10 @@ yyreduce: ;} break; - case 221: + case 222: /* Line 1455 of yacc.c */ -#line 1255 "glsl_parser.ypp" +#line 1302 "glsl_parser.ypp" { if (!state->es_shader && state->language_version < 130) _mesa_glsl_error(& (yylsp[(1) - (1)]), state, @@ -4582,10 +4635,10 @@ yyreduce: ;} break; - case 222: + case 223: /* Line 1455 of yacc.c */ -#line 1270 "glsl_parser.ypp" +#line 1317 "glsl_parser.ypp" { void *ctx = state; (yyval.struct_specifier) = new(ctx) ast_struct_specifier((yyvsp[(2) - (5)].identifier), (yyvsp[(4) - (5)].node)); @@ -4593,10 +4646,10 @@ yyreduce: ;} break; - case 223: + case 224: /* Line 1455 of yacc.c */ -#line 1276 "glsl_parser.ypp" +#line 1323 "glsl_parser.ypp" { void *ctx = state; (yyval.struct_specifier) = new(ctx) ast_struct_specifier(NULL, (yyvsp[(3) - (4)].node)); @@ -4604,30 +4657,30 @@ yyreduce: ;} break; - case 224: + case 225: /* Line 1455 of yacc.c */ -#line 1285 "glsl_parser.ypp" +#line 1332 "glsl_parser.ypp" { (yyval.node) = (ast_node *) (yyvsp[(1) - (1)].declarator_list); (yyvsp[(1) - (1)].declarator_list)->link.self_link(); ;} break; - case 225: + case 226: /* Line 1455 of yacc.c */ -#line 1290 "glsl_parser.ypp" +#line 1337 "glsl_parser.ypp" { (yyval.node) = (ast_node *) (yyvsp[(1) - (2)].node); (yyval.node)->link.insert_before(& (yyvsp[(2) - (2)].declarator_list)->link); ;} break; - case 226: + case 227: /* Line 1455 of yacc.c */ -#line 1298 "glsl_parser.ypp" +#line 1345 "glsl_parser.ypp" { void *ctx = state; ast_fully_specified_type *type = new(ctx) ast_fully_specified_type(); @@ -4641,30 +4694,30 @@ yyreduce: ;} break; - case 227: + case 228: /* Line 1455 of yacc.c */ -#line 1313 "glsl_parser.ypp" +#line 1360 "glsl_parser.ypp" { (yyval.declaration) = (yyvsp[(1) - (1)].declaration); (yyvsp[(1) - (1)].declaration)->link.self_link(); ;} break; - case 228: + case 229: /* Line 1455 of yacc.c */ -#line 1318 "glsl_parser.ypp" +#line 1365 "glsl_parser.ypp" { (yyval.declaration) = (yyvsp[(1) - (3)].declaration); (yyval.declaration)->link.insert_before(& (yyvsp[(3) - (3)].declaration)->link); ;} break; - case 229: + case 230: /* Line 1455 of yacc.c */ -#line 1326 "glsl_parser.ypp" +#line 1373 "glsl_parser.ypp" { void *ctx = state; (yyval.declaration) = new(ctx) ast_declaration((yyvsp[(1) - (1)].identifier), false, NULL, NULL); @@ -4672,10 +4725,10 @@ yyreduce: ;} break; - case 230: + case 231: /* Line 1455 of yacc.c */ -#line 1332 "glsl_parser.ypp" +#line 1379 "glsl_parser.ypp" { void *ctx = state; (yyval.declaration) = new(ctx) ast_declaration((yyvsp[(1) - (4)].identifier), true, (yyvsp[(3) - (4)].expression), NULL); @@ -4683,31 +4736,31 @@ yyreduce: ;} break; - case 233: + case 234: /* Line 1455 of yacc.c */ -#line 1350 "glsl_parser.ypp" +#line 1397 "glsl_parser.ypp" { (yyval.node) = (ast_node *) (yyvsp[(1) - (1)].compound_statement); ;} break; - case 238: + case 239: /* Line 1455 of yacc.c */ -#line 1358 "glsl_parser.ypp" +#line 1405 "glsl_parser.ypp" { (yyval.node) = NULL; ;} break; - case 239: + case 240: /* Line 1455 of yacc.c */ -#line 1359 "glsl_parser.ypp" +#line 1406 "glsl_parser.ypp" { (yyval.node) = NULL; ;} break; - case 242: + case 243: /* Line 1455 of yacc.c */ -#line 1366 "glsl_parser.ypp" +#line 1413 "glsl_parser.ypp" { void *ctx = state; (yyval.compound_statement) = new(ctx) ast_compound_statement(true, NULL); @@ -4715,10 +4768,10 @@ yyreduce: ;} break; - case 243: + case 244: /* Line 1455 of yacc.c */ -#line 1372 "glsl_parser.ypp" +#line 1419 "glsl_parser.ypp" { void *ctx = state; (yyval.compound_statement) = new(ctx) ast_compound_statement(true, (yyvsp[(2) - (3)].node)); @@ -4726,17 +4779,17 @@ yyreduce: ;} break; - case 244: + case 245: /* Line 1455 of yacc.c */ -#line 1380 "glsl_parser.ypp" +#line 1427 "glsl_parser.ypp" { (yyval.node) = (ast_node *) (yyvsp[(1) - (1)].compound_statement); ;} break; - case 246: + case 247: /* Line 1455 of yacc.c */ -#line 1386 "glsl_parser.ypp" +#line 1433 "glsl_parser.ypp" { void *ctx = state; (yyval.compound_statement) = new(ctx) ast_compound_statement(false, NULL); @@ -4744,10 +4797,10 @@ yyreduce: ;} break; - case 247: + case 248: /* Line 1455 of yacc.c */ -#line 1392 "glsl_parser.ypp" +#line 1439 "glsl_parser.ypp" { void *ctx = state; (yyval.compound_statement) = new(ctx) ast_compound_statement(false, (yyvsp[(2) - (3)].node)); @@ -4755,10 +4808,10 @@ yyreduce: ;} break; - case 248: + case 249: /* Line 1455 of yacc.c */ -#line 1401 "glsl_parser.ypp" +#line 1448 "glsl_parser.ypp" { if ((yyvsp[(1) - (1)].node) == NULL) { _mesa_glsl_error(& (yylsp[(1) - (1)]), state, "<nil> statement\n"); @@ -4770,10 +4823,10 @@ yyreduce: ;} break; - case 249: + case 250: /* Line 1455 of yacc.c */ -#line 1411 "glsl_parser.ypp" +#line 1458 "glsl_parser.ypp" { if ((yyvsp[(2) - (2)].node) == NULL) { _mesa_glsl_error(& (yylsp[(2) - (2)]), state, "<nil> statement\n"); @@ -4784,10 +4837,10 @@ yyreduce: ;} break; - case 250: + case 251: /* Line 1455 of yacc.c */ -#line 1423 "glsl_parser.ypp" +#line 1470 "glsl_parser.ypp" { void *ctx = state; (yyval.node) = new(ctx) ast_expression_statement(NULL); @@ -4795,10 +4848,10 @@ yyreduce: ;} break; - case 251: + case 252: /* Line 1455 of yacc.c */ -#line 1429 "glsl_parser.ypp" +#line 1476 "glsl_parser.ypp" { void *ctx = state; (yyval.node) = new(ctx) ast_expression_statement((yyvsp[(1) - (2)].expression)); @@ -4806,10 +4859,10 @@ yyreduce: ;} break; - case 252: + case 253: /* Line 1455 of yacc.c */ -#line 1438 "glsl_parser.ypp" +#line 1485 "glsl_parser.ypp" { (yyval.node) = new(state) ast_selection_statement((yyvsp[(3) - (5)].expression), (yyvsp[(5) - (5)].selection_rest_statement).then_statement, (yyvsp[(5) - (5)].selection_rest_statement).else_statement); @@ -4817,39 +4870,39 @@ yyreduce: ;} break; - case 253: + case 254: /* Line 1455 of yacc.c */ -#line 1447 "glsl_parser.ypp" +#line 1494 "glsl_parser.ypp" { (yyval.selection_rest_statement).then_statement = (yyvsp[(1) - (3)].node); (yyval.selection_rest_statement).else_statement = (yyvsp[(3) - (3)].node); ;} break; - case 254: + case 255: /* Line 1455 of yacc.c */ -#line 1452 "glsl_parser.ypp" +#line 1499 "glsl_parser.ypp" { (yyval.selection_rest_statement).then_statement = (yyvsp[(1) - (1)].node); (yyval.selection_rest_statement).else_statement = NULL; ;} break; - case 255: + case 256: /* Line 1455 of yacc.c */ -#line 1460 "glsl_parser.ypp" +#line 1507 "glsl_parser.ypp" { (yyval.node) = (ast_node *) (yyvsp[(1) - (1)].expression); ;} break; - case 256: + case 257: /* Line 1455 of yacc.c */ -#line 1464 "glsl_parser.ypp" +#line 1511 "glsl_parser.ypp" { void *ctx = state; ast_declaration *decl = new(ctx) ast_declaration((yyvsp[(2) - (4)].identifier), false, NULL, (yyvsp[(4) - (4)].expression)); @@ -4862,10 +4915,10 @@ yyreduce: ;} break; - case 260: + case 261: /* Line 1455 of yacc.c */ -#line 1487 "glsl_parser.ypp" +#line 1534 "glsl_parser.ypp" { void *ctx = state; (yyval.node) = new(ctx) ast_iteration_statement(ast_iteration_statement::ast_while, @@ -4874,10 +4927,10 @@ yyreduce: ;} break; - case 261: + case 262: /* Line 1455 of yacc.c */ -#line 1494 "glsl_parser.ypp" +#line 1541 "glsl_parser.ypp" { void *ctx = state; (yyval.node) = new(ctx) ast_iteration_statement(ast_iteration_statement::ast_do_while, @@ -4886,10 +4939,10 @@ yyreduce: ;} break; - case 262: + case 263: /* Line 1455 of yacc.c */ -#line 1501 "glsl_parser.ypp" +#line 1548 "glsl_parser.ypp" { void *ctx = state; (yyval.node) = new(ctx) ast_iteration_statement(ast_iteration_statement::ast_for, @@ -4898,39 +4951,39 @@ yyreduce: ;} break; - case 266: + case 267: /* Line 1455 of yacc.c */ -#line 1517 "glsl_parser.ypp" +#line 1564 "glsl_parser.ypp" { (yyval.node) = NULL; ;} break; - case 267: + case 268: /* Line 1455 of yacc.c */ -#line 1524 "glsl_parser.ypp" +#line 1571 "glsl_parser.ypp" { (yyval.for_rest_statement).cond = (yyvsp[(1) - (2)].node); (yyval.for_rest_statement).rest = NULL; ;} break; - case 268: + case 269: /* Line 1455 of yacc.c */ -#line 1529 "glsl_parser.ypp" +#line 1576 "glsl_parser.ypp" { (yyval.for_rest_statement).cond = (yyvsp[(1) - (3)].node); (yyval.for_rest_statement).rest = (yyvsp[(3) - (3)].expression); ;} break; - case 269: + case 270: /* Line 1455 of yacc.c */ -#line 1538 "glsl_parser.ypp" +#line 1585 "glsl_parser.ypp" { void *ctx = state; (yyval.node) = new(ctx) ast_jump_statement(ast_jump_statement::ast_continue, NULL); @@ -4938,10 +4991,10 @@ yyreduce: ;} break; - case 270: + case 271: /* Line 1455 of yacc.c */ -#line 1544 "glsl_parser.ypp" +#line 1591 "glsl_parser.ypp" { void *ctx = state; (yyval.node) = new(ctx) ast_jump_statement(ast_jump_statement::ast_break, NULL); @@ -4949,10 +5002,10 @@ yyreduce: ;} break; - case 271: + case 272: /* Line 1455 of yacc.c */ -#line 1550 "glsl_parser.ypp" +#line 1597 "glsl_parser.ypp" { void *ctx = state; (yyval.node) = new(ctx) ast_jump_statement(ast_jump_statement::ast_return, NULL); @@ -4960,10 +5013,10 @@ yyreduce: ;} break; - case 272: + case 273: /* Line 1455 of yacc.c */ -#line 1556 "glsl_parser.ypp" +#line 1603 "glsl_parser.ypp" { void *ctx = state; (yyval.node) = new(ctx) ast_jump_statement(ast_jump_statement::ast_return, (yyvsp[(2) - (3)].expression)); @@ -4971,10 +5024,10 @@ yyreduce: ;} break; - case 273: + case 274: /* Line 1455 of yacc.c */ -#line 1562 "glsl_parser.ypp" +#line 1609 "glsl_parser.ypp" { void *ctx = state; (yyval.node) = new(ctx) ast_jump_statement(ast_jump_statement::ast_discard, NULL); @@ -4982,31 +5035,31 @@ yyreduce: ;} break; - case 274: + case 275: /* Line 1455 of yacc.c */ -#line 1570 "glsl_parser.ypp" +#line 1617 "glsl_parser.ypp" { (yyval.node) = (yyvsp[(1) - (1)].function_definition); ;} break; - case 275: + case 276: /* Line 1455 of yacc.c */ -#line 1571 "glsl_parser.ypp" +#line 1618 "glsl_parser.ypp" { (yyval.node) = (yyvsp[(1) - (1)].node); ;} break; - case 276: + case 277: /* Line 1455 of yacc.c */ -#line 1572 "glsl_parser.ypp" +#line 1619 "glsl_parser.ypp" { (yyval.node) = NULL; ;} break; - case 277: + case 278: /* Line 1455 of yacc.c */ -#line 1577 "glsl_parser.ypp" +#line 1624 "glsl_parser.ypp" { void *ctx = state; (yyval.function_definition) = new(ctx) ast_function_definition(); @@ -5019,7 +5072,7 @@ yyreduce: /* Line 1455 of yacc.c */ -#line 5023 "glsl_parser.cpp" +#line 5076 "glsl_parser.cpp" default: break; } YY_SYMBOL_PRINT ("-> $$ =", yyr1[yyn], &yyval, &yyloc); |