1 /* A Bison parser, made by GNU Bison 2.5. */
3 /* Bison implementation for Yacc-like parsers in C
5 Copyright (C) 1984, 1989-1990, 2000-2011 Free Software Foundation, Inc.
7 This program is free software: you can redistribute it and/or modify
8 it under the terms of the GNU General Public License as published by
9 the Free Software Foundation, either version 3 of the License, or
10 (at your option) any later version.
12 This program is distributed in the hope that it will be useful,
13 but WITHOUT ANY WARRANTY; without even the implied warranty of
14 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 GNU General Public License for more details.
17 You should have received a copy of the GNU General Public License
18 along with this program. If not, see <http://www.gnu.org/licenses/>. */
20 /* As a special exception, you may create a larger work that contains
21 part or all of the Bison parser skeleton and distribute that work
22 under terms of your choice, so long as that work isn't itself a
23 parser generator using the skeleton or a modified version thereof
24 as a parser skeleton. Alternatively, if you modify or redistribute
25 the parser skeleton itself, you may (at your option) remove this
26 special exception, which will cause the skeleton and the resulting
27 Bison output files to be licensed under the GNU General Public
28 License without this special exception.
30 This special exception was added by the Free Software Foundation in
31 version 2.2 of Bison. */
33 /* C LALR(1) parser skeleton written by Richard Stallman, by
34 simplifying the original so-called "semantic" parser. */
36 /* All symbols defined below should begin with yy or YY, to avoid
37 infringing on user name space. This should be done even for local
38 variables, as they might otherwise be expanded by user macros.
39 There are some unavoidable exceptions within include files to
40 define necessary library symbols; they are noted "INFRINGES ON
41 USER NAME SPACE" below. */
43 /* Identify Bison output. */
47 #define YYBISON_VERSION "2.5"
50 #define YYSKELETON_NAME "yacc.c"
61 /* Using locations. */
62 #define YYLSP_NEEDED 1
64 /* Substitute the variable and function names. */
65 #define yyparse _mesa_glsl_parse
66 #define yylex _mesa_glsl_lex
67 #define yyerror _mesa_glsl_error
68 #define yylval _mesa_glsl_lval
69 #define yychar _mesa_glsl_char
70 #define yydebug _mesa_glsl_debug
71 #define yynerrs _mesa_glsl_nerrs
72 #define yylloc _mesa_glsl_lloc
74 /* Copy the first part of user declarations. */
76 /* Line 268 of yacc.c */
77 #line 1 "src/glsl/glsl_parser.yy"
80 * Copyright © 2008, 2009 Intel Corporation
82 * Permission is hereby granted, free of charge, to any person obtaining a
83 * copy of this software and associated documentation files (the "Software"),
84 * to deal in the Software without restriction, including without limitation
85 * the rights to use, copy, modify, merge, publish, distribute, sublicense,
86 * and/or sell copies of the Software, and to permit persons to whom the
87 * Software is furnished to do so, subject to the following conditions:
89 * The above copyright notice and this permission notice (including the next
90 * paragraph) shall be included in all copies or substantial portions of the
93 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
94 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
95 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
96 * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
97 * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
98 * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
99 * DEALINGS IN THE SOFTWARE.
107 #include "glsl_parser_extras.h"
108 #include "glsl_types.h"
110 #define YYLEX_PARAM state->scanner
114 static void yyerror(YYLTYPE
*loc
, _mesa_glsl_parse_state
*st
, const char *msg
)
116 _mesa_glsl_error(loc
, st
, "%s", msg
);
120 /* Line 268 of yacc.c */
121 #line 122 "build/windows-x86/glsl/glsl_parser.cpp"
123 /* Enabling traces. */
128 /* Enabling verbose error messages. */
129 #ifdef YYERROR_VERBOSE
130 # undef YYERROR_VERBOSE
131 # define YYERROR_VERBOSE 1
133 # define YYERROR_VERBOSE 1
136 /* Enabling the token table. */
137 #ifndef YYTOKEN_TABLE
138 # define YYTOKEN_TABLE 0
145 /* Put the tokens into the symbol table, so that GDB and other debuggers
199 SAMPLER1DSHADOW
= 309,
200 SAMPLER2DSHADOW
= 310,
201 SAMPLERCUBESHADOW
= 311,
202 SAMPLER1DARRAY
= 312,
203 SAMPLER2DARRAY
= 313,
204 SAMPLER1DARRAYSHADOW
= 314,
205 SAMPLER2DARRAYSHADOW
= 315,
210 ISAMPLER1DARRAY
= 320,
211 ISAMPLER2DARRAY
= 321,
216 USAMPLER1DARRAY
= 326,
217 USAMPLER2DARRAY
= 327,
218 SAMPLEREXTERNALOES
= 328,
223 TYPE_IDENTIFIER
= 333,
224 NEW_IDENTIFIER
= 334,
229 FIELD_SELECTION
= 339,
264 PRAGMA_DEBUG_ON
= 374,
265 PRAGMA_DEBUG_OFF
= 375,
266 PRAGMA_OPTIMIZE_ON
= 376,
267 PRAGMA_OPTIMIZE_OFF
= 377,
268 PRAGMA_INVARIANT_ALL
= 378,
305 SAMPLER2DRECTSHADOW
= 415,
339 IMAGE1DARRAYSHADOW
= 449,
340 IMAGE2DARRAYSHADOW
= 450,
347 #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
348 typedef union YYSTYPE
351 /* Line 293 of yacc.c */
352 #line 58 "src/glsl/glsl_parser.yy"
358 struct ast_type_qualifier type_qualifier
;
361 ast_type_specifier
*type_specifier
;
362 ast_fully_specified_type
*fully_specified_type
;
363 ast_function
*function
;
364 ast_parameter_declarator
*parameter_declarator
;
365 ast_function_definition
*function_definition
;
366 ast_compound_statement
*compound_statement
;
367 ast_expression
*expression
;
368 ast_declarator_list
*declarator_list
;
369 ast_struct_specifier
*struct_specifier
;
370 ast_declaration
*declaration
;
371 ast_switch_body
*switch_body
;
372 ast_case_label
*case_label
;
373 ast_case_label_list
*case_label_list
;
374 ast_case_statement
*case_statement
;
375 ast_case_statement_list
*case_statement_list
;
379 ast_expression
*rest
;
380 } for_rest_statement
;
383 ast_node
*then_statement
;
384 ast_node
*else_statement
;
385 } selection_rest_statement
;
389 /* Line 293 of yacc.c */
390 #line 391 "build/windows-x86/glsl/glsl_parser.cpp"
392 # define YYSTYPE_IS_TRIVIAL 1
393 # define yystype YYSTYPE /* obsolescent; will be withdrawn */
394 # define YYSTYPE_IS_DECLARED 1
397 #if ! defined YYLTYPE && ! defined YYLTYPE_IS_DECLARED
398 typedef struct YYLTYPE
405 # define yyltype YYLTYPE /* obsolescent; will be withdrawn */
406 # define YYLTYPE_IS_DECLARED 1
407 # define YYLTYPE_IS_TRIVIAL 1
411 /* Copy the second part of user declarations. */
414 /* Line 343 of yacc.c */
415 #line 416 "build/windows-x86/glsl/glsl_parser.cpp"
422 typedef YYTYPE_UINT8 yytype_uint8
;
424 typedef unsigned char yytype_uint8
;
428 typedef YYTYPE_INT8 yytype_int8
;
429 #elif (defined __STDC__ || defined __C99__FUNC__ \
430 || defined __cplusplus || defined _MSC_VER)
431 typedef signed char yytype_int8
;
433 typedef short int yytype_int8
;
437 typedef YYTYPE_UINT16 yytype_uint16
;
439 typedef unsigned short int yytype_uint16
;
443 typedef YYTYPE_INT16 yytype_int16
;
445 typedef short int yytype_int16
;
449 # ifdef __SIZE_TYPE__
450 # define YYSIZE_T __SIZE_TYPE__
451 # elif defined size_t
452 # define YYSIZE_T size_t
453 # elif ! defined YYSIZE_T && (defined __STDC__ || defined __C99__FUNC__ \
454 || defined __cplusplus || defined _MSC_VER)
455 # include <stddef.h> /* INFRINGES ON USER NAME SPACE */
456 # define YYSIZE_T size_t
458 # define YYSIZE_T unsigned int
462 #define YYSIZE_MAXIMUM ((YYSIZE_T) -1)
465 # if defined YYENABLE_NLS && YYENABLE_NLS
467 # include <libintl.h> /* INFRINGES ON USER NAME SPACE */
468 # define YY_(msgid) dgettext ("bison-runtime", msgid)
472 # define YY_(msgid) msgid
476 /* Suppress unused-variable warnings by "using" E. */
477 #if ! defined lint || defined __GNUC__
478 # define YYUSE(e) ((void) (e))
480 # define YYUSE(e) /* empty */
483 /* Identity function, used to suppress warnings about constant conditions. */
487 #if (defined __STDC__ || defined __C99__FUNC__ \
488 || defined __cplusplus || defined _MSC_VER)
501 #if ! defined yyoverflow || YYERROR_VERBOSE
503 /* The parser invokes alloca or malloc; define the necessary symbols. */
505 # ifdef YYSTACK_USE_ALLOCA
506 # if YYSTACK_USE_ALLOCA
508 # define YYSTACK_ALLOC __builtin_alloca
509 # elif defined __BUILTIN_VA_ARG_INCR
510 # include <alloca.h> /* INFRINGES ON USER NAME SPACE */
512 # define YYSTACK_ALLOC __alloca
513 # elif defined _MSC_VER
514 # include <malloc.h> /* INFRINGES ON USER NAME SPACE */
515 # define alloca _alloca
517 # define YYSTACK_ALLOC alloca
518 # if ! defined _ALLOCA_H && ! defined EXIT_SUCCESS && (defined __STDC__ || defined __C99__FUNC__ \
519 || defined __cplusplus || defined _MSC_VER)
520 # include <stdlib.h> /* INFRINGES ON USER NAME SPACE */
521 # ifndef EXIT_SUCCESS
522 # define EXIT_SUCCESS 0
529 # ifdef YYSTACK_ALLOC
530 /* Pacify GCC's `empty if-body' warning. */
531 # define YYSTACK_FREE(Ptr) do { /* empty */; } while (YYID (0))
532 # ifndef YYSTACK_ALLOC_MAXIMUM
533 /* The OS might guarantee only one guard page at the bottom of the stack,
534 and a page size can be as small as 4096 bytes. So we cannot safely
535 invoke alloca (N) if N exceeds 4096. Use a slightly smaller number
536 to allow for a few compiler-allocated temporary stack slots. */
537 # define YYSTACK_ALLOC_MAXIMUM 4032 /* reasonable circa 2006 */
540 # define YYSTACK_ALLOC YYMALLOC
541 # define YYSTACK_FREE YYFREE
542 # ifndef YYSTACK_ALLOC_MAXIMUM
543 # define YYSTACK_ALLOC_MAXIMUM YYSIZE_MAXIMUM
545 # if (defined __cplusplus && ! defined EXIT_SUCCESS \
546 && ! ((defined YYMALLOC || defined malloc) \
547 && (defined YYFREE || defined free)))
548 # include <stdlib.h> /* INFRINGES ON USER NAME SPACE */
549 # ifndef EXIT_SUCCESS
550 # define EXIT_SUCCESS 0
554 # define YYMALLOC malloc
555 # if ! defined malloc && ! defined EXIT_SUCCESS && (defined __STDC__ || defined __C99__FUNC__ \
556 || defined __cplusplus || defined _MSC_VER)
557 void *malloc (YYSIZE_T
); /* INFRINGES ON USER NAME SPACE */
562 # if ! defined free && ! defined EXIT_SUCCESS && (defined __STDC__ || defined __C99__FUNC__ \
563 || defined __cplusplus || defined _MSC_VER)
564 void free (void *); /* INFRINGES ON USER NAME SPACE */
568 #endif /* ! defined yyoverflow || YYERROR_VERBOSE */
571 #if (! defined yyoverflow \
572 && (! defined __cplusplus \
573 || (defined YYLTYPE_IS_TRIVIAL && YYLTYPE_IS_TRIVIAL \
574 && defined YYSTYPE_IS_TRIVIAL && YYSTYPE_IS_TRIVIAL)))
576 /* A type that is properly aligned for any stack member. */
579 yytype_int16 yyss_alloc
;
584 /* The size of the maximum gap between one aligned stack and the next. */
585 # define YYSTACK_GAP_MAXIMUM (sizeof (union yyalloc) - 1)
587 /* The size of an array large to enough to hold all stacks, each with
589 # define YYSTACK_BYTES(N) \
590 ((N) * (sizeof (yytype_int16) + sizeof (YYSTYPE) + sizeof (YYLTYPE)) \
591 + 2 * YYSTACK_GAP_MAXIMUM)
593 # define YYCOPY_NEEDED 1
595 /* Relocate STACK from its old location to the new one. The
596 local variables YYSIZE and YYSTACKSIZE give the old and new number of
597 elements in the stack, and YYPTR gives the new location of the
598 stack. Advance YYPTR to a properly aligned location for the next
600 # define YYSTACK_RELOCATE(Stack_alloc, Stack) \
603 YYSIZE_T yynewbytes; \
604 YYCOPY (&yyptr->Stack_alloc, Stack, yysize); \
605 Stack = &yyptr->Stack_alloc; \
606 yynewbytes = yystacksize * sizeof (*Stack) + YYSTACK_GAP_MAXIMUM; \
607 yyptr += yynewbytes / sizeof (*yyptr); \
613 #if defined YYCOPY_NEEDED && YYCOPY_NEEDED
614 /* Copy COUNT objects from FROM to TO. The source and destination do
617 # if defined __GNUC__ && 1 < __GNUC__
618 # define YYCOPY(To, From, Count) \
619 __builtin_memcpy (To, From, (Count) * sizeof (*(From)))
621 # define YYCOPY(To, From, Count) \
625 for (yyi = 0; yyi < (Count); yyi++) \
626 (To)[yyi] = (From)[yyi]; \
631 #endif /* !YYCOPY_NEEDED */
633 /* YYFINAL -- State number of the termination state. */
635 /* YYLAST -- Last index in YYTABLE. */
638 /* YYNTOKENS -- Number of terminals. */
639 #define YYNTOKENS 221
640 /* YYNNTS -- Number of nonterminals. */
642 /* YYNRULES -- Number of rules. */
644 /* YYNRULES -- Number of states. */
645 #define YYNSTATES 445
647 /* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX. */
649 #define YYMAXUTOK 451
651 #define YYTRANSLATE(YYX) \
652 ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK)
654 /* YYTRANSLATE[YYLEX] -- Bison symbol number corresponding to YYLEX. */
655 static const yytype_uint8 yytranslate
[] =
657 0, 2, 2, 2, 2, 2, 2, 2, 2, 2,
658 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
659 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
660 2, 2, 2, 205, 2, 2, 2, 209, 212, 2,
661 197, 198, 207, 203, 202, 204, 201, 208, 2, 2,
662 2, 2, 2, 2, 2, 2, 2, 2, 216, 218,
663 210, 217, 211, 215, 2, 2, 2, 2, 2, 2,
664 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
665 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
666 2, 199, 2, 200, 213, 2, 2, 2, 2, 2,
667 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
668 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
669 2, 2, 2, 219, 214, 220, 206, 2, 2, 2,
670 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
671 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
672 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
673 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
674 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
675 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
676 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
677 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
678 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
679 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
680 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
681 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
682 2, 2, 2, 2, 2, 2, 1, 2, 3, 4,
683 5, 6, 7, 8, 9, 10, 11, 12, 13, 14,
684 15, 16, 17, 18, 19, 20, 21, 22, 23, 24,
685 25, 26, 27, 28, 29, 30, 31, 32, 33, 34,
686 35, 36, 37, 38, 39, 40, 41, 42, 43, 44,
687 45, 46, 47, 48, 49, 50, 51, 52, 53, 54,
688 55, 56, 57, 58, 59, 60, 61, 62, 63, 64,
689 65, 66, 67, 68, 69, 70, 71, 72, 73, 74,
690 75, 76, 77, 78, 79, 80, 81, 82, 83, 84,
691 85, 86, 87, 88, 89, 90, 91, 92, 93, 94,
692 95, 96, 97, 98, 99, 100, 101, 102, 103, 104,
693 105, 106, 107, 108, 109, 110, 111, 112, 113, 114,
694 115, 116, 117, 118, 119, 120, 121, 122, 123, 124,
695 125, 126, 127, 128, 129, 130, 131, 132, 133, 134,
696 135, 136, 137, 138, 139, 140, 141, 142, 143, 144,
697 145, 146, 147, 148, 149, 150, 151, 152, 153, 154,
698 155, 156, 157, 158, 159, 160, 161, 162, 163, 164,
699 165, 166, 167, 168, 169, 170, 171, 172, 173, 174,
700 175, 176, 177, 178, 179, 180, 181, 182, 183, 184,
701 185, 186, 187, 188, 189, 190, 191, 192, 193, 194,
706 /* YYPRHS[YYN] -- Index of the first RHS symbol of rule number YYN in
708 static const yytype_uint16 yyprhs
[] =
710 0, 0, 3, 4, 9, 10, 14, 17, 20, 23,
711 26, 29, 30, 33, 35, 37, 39, 45, 47, 50,
712 52, 54, 56, 58, 60, 62, 64, 68, 70, 75,
713 77, 81, 84, 87, 89, 91, 93, 97, 100, 103,
714 106, 108, 111, 115, 118, 120, 122, 124, 127, 130,
715 133, 135, 138, 142, 145, 147, 150, 153, 156, 158,
716 160, 162, 164, 166, 170, 174, 178, 180, 184, 188,
717 190, 194, 198, 200, 204, 208, 212, 216, 218, 222,
718 226, 228, 232, 234, 238, 240, 244, 246, 250, 252,
719 256, 258, 262, 264, 270, 272, 276, 278, 280, 282,
720 284, 286, 288, 290, 292, 294, 296, 298, 300, 304,
721 306, 309, 312, 317, 320, 322, 324, 327, 331, 335,
722 338, 344, 348, 351, 355, 358, 359, 361, 363, 365,
723 367, 369, 373, 379, 386, 394, 403, 409, 411, 414,
724 419, 425, 432, 440, 445, 448, 450, 453, 458, 460,
725 464, 466, 470, 472, 474, 476, 478, 480, 482, 485,
726 487, 490, 493, 497, 499, 501, 503, 505, 508, 510,
727 512, 515, 518, 520, 522, 525, 527, 531, 536, 538,
728 540, 542, 544, 546, 548, 550, 552, 554, 556, 558,
729 560, 562, 564, 566, 568, 570, 572, 574, 576, 578,
730 580, 582, 584, 586, 588, 590, 592, 594, 596, 598,
731 600, 602, 604, 606, 608, 610, 612, 614, 616, 618,
732 620, 622, 624, 626, 628, 630, 632, 634, 636, 638,
733 640, 642, 644, 646, 648, 650, 652, 658, 663, 665,
734 668, 672, 674, 678, 680, 685, 687, 689, 691, 693,
735 695, 697, 699, 701, 703, 705, 708, 709, 714, 716,
736 718, 721, 725, 727, 730, 732, 735, 741, 745, 747,
737 749, 754, 760, 763, 767, 771, 774, 776, 779, 782,
738 785, 787, 790, 796, 804, 811, 813, 815, 817, 818,
739 821, 825, 828, 831, 834, 838, 841, 843, 845, 847
742 /* YYRHS -- A `-1'-separated list of the rules' RHS. */
743 static const yytype_int16 yyrhs
[] =
745 222, 0, -1, -1, 224, 226, 223, 229, -1, -1,
746 112, 81, 116, -1, 119, 116, -1, 120, 116, -1,
747 121, 116, -1, 122, 116, -1, 123, 116, -1, -1,
748 226, 228, -1, 77, -1, 78, -1, 79, -1, 113,
749 227, 115, 227, 116, -1, 316, -1, 229, 316, -1,
750 77, -1, 79, -1, 230, -1, 81, -1, 82, -1,
751 80, -1, 83, -1, 197, 261, 198, -1, 231, -1,
752 232, 199, 233, 200, -1, 234, -1, 232, 201, 227,
753 -1, 232, 87, -1, 232, 88, -1, 261, -1, 235,
754 -1, 236, -1, 232, 201, 241, -1, 238, 198, -1,
755 237, 198, -1, 239, 75, -1, 239, -1, 239, 259,
756 -1, 238, 202, 259, -1, 240, 197, -1, 282, -1,
757 230, -1, 84, -1, 243, 198, -1, 242, 198, -1,
758 244, 75, -1, 244, -1, 244, 259, -1, 243, 202,
759 259, -1, 230, 197, -1, 232, -1, 87, 245, -1,
760 88, 245, -1, 246, 245, -1, 203, -1, 204, -1,
761 205, -1, 206, -1, 245, -1, 247, 207, 245, -1,
762 247, 208, 245, -1, 247, 209, 245, -1, 247, -1,
763 248, 203, 247, -1, 248, 204, 247, -1, 248, -1,
764 249, 85, 248, -1, 249, 86, 248, -1, 249, -1,
765 250, 210, 249, -1, 250, 211, 249, -1, 250, 89,
766 249, -1, 250, 90, 249, -1, 250, -1, 251, 91,
767 250, -1, 251, 92, 250, -1, 251, -1, 252, 212,
768 251, -1, 252, -1, 253, 213, 252, -1, 253, -1,
769 254, 214, 253, -1, 254, -1, 255, 93, 254, -1,
770 255, -1, 256, 95, 255, -1, 256, -1, 257, 94,
771 256, -1, 257, -1, 257, 215, 261, 216, 259, -1,
772 258, -1, 245, 260, 259, -1, 217, -1, 96, -1,
773 97, -1, 99, -1, 98, -1, 105, -1, 100, -1,
774 101, -1, 102, -1, 103, -1, 104, -1, 259, -1,
775 261, 202, 259, -1, 258, -1, 264, 218, -1, 272,
776 218, -1, 111, 286, 283, 218, -1, 265, 198, -1,
777 267, -1, 266, -1, 267, 269, -1, 266, 202, 269,
778 -1, 274, 230, 197, -1, 282, 227, -1, 282, 227,
779 199, 262, 200, -1, 279, 270, 268, -1, 270, 268,
780 -1, 279, 270, 271, -1, 270, 271, -1, -1, 33,
781 -1, 34, -1, 35, -1, 282, -1, 273, -1, 272,
782 202, 227, -1, 272, 202, 227, 199, 200, -1, 272,
783 202, 227, 199, 262, 200, -1, 272, 202, 227, 199,
784 200, 217, 292, -1, 272, 202, 227, 199, 262, 200,
785 217, 292, -1, 272, 202, 227, 217, 292, -1, 274,
786 -1, 274, 227, -1, 274, 227, 199, 200, -1, 274,
787 227, 199, 262, 200, -1, 274, 227, 199, 200, 217,
788 292, -1, 274, 227, 199, 262, 200, 217, 292, -1,
789 274, 227, 217, 292, -1, 106, 230, -1, 282, -1,
790 280, 282, -1, 124, 197, 276, 198, -1, 277, -1,
791 276, 202, 277, -1, 227, -1, 227, 217, 81, -1,
792 40, -1, 39, -1, 38, -1, 4, -1, 281, -1,
793 275, -1, 275, 281, -1, 278, -1, 278, 281, -1,
794 106, 281, -1, 106, 278, 281, -1, 106, -1, 4,
795 -1, 3, -1, 37, -1, 32, 37, -1, 33, -1,
796 34, -1, 32, 33, -1, 32, 34, -1, 36, -1,
797 283, -1, 286, 283, -1, 284, -1, 284, 199, 200,
798 -1, 284, 199, 262, 200, -1, 285, -1, 287, -1,
799 78, -1, 75, -1, 6, -1, 7, -1, 8, -1,
800 5, -1, 29, -1, 30, -1, 31, -1, 20, -1,
801 21, -1, 22, -1, 23, -1, 24, -1, 25, -1,
802 26, -1, 27, -1, 28, -1, 41, -1, 42, -1,
803 43, -1, 44, -1, 45, -1, 46, -1, 47, -1,
804 48, -1, 49, -1, 50, -1, 51, -1, 158, -1,
805 52, -1, 53, -1, 73, -1, 54, -1, 55, -1,
806 160, -1, 56, -1, 57, -1, 58, -1, 59, -1,
807 60, -1, 61, -1, 62, -1, 63, -1, 64, -1,
808 65, -1, 66, -1, 67, -1, 68, -1, 69, -1,
809 70, -1, 71, -1, 72, -1, 109, -1, 108, -1,
810 107, -1, 74, 227, 219, 288, 220, -1, 74, 219,
811 288, 220, -1, 289, -1, 288, 289, -1, 282, 290,
812 218, -1, 291, -1, 290, 202, 291, -1, 227, -1,
813 227, 199, 262, 200, -1, 259, -1, 263, -1, 296,
814 -1, 295, -1, 293, -1, 301, -1, 302, -1, 305,
815 -1, 311, -1, 315, -1, 219, 220, -1, -1, 219,
816 297, 300, 220, -1, 299, -1, 295, -1, 219, 220,
817 -1, 219, 300, 220, -1, 294, -1, 300, 294, -1,
818 218, -1, 261, 218, -1, 14, 197, 261, 198, 303,
819 -1, 294, 12, 294, -1, 294, -1, 261, -1, 274,
820 227, 217, 292, -1, 17, 197, 261, 198, 306, -1,
821 219, 220, -1, 219, 310, 220, -1, 18, 261, 216,
822 -1, 19, 216, -1, 307, -1, 308, 307, -1, 308,
823 294, -1, 309, 294, -1, 309, -1, 310, 309, -1,
824 76, 197, 304, 198, 298, -1, 11, 294, 76, 197,
825 261, 198, 218, -1, 13, 197, 312, 314, 198, 298,
826 -1, 301, -1, 293, -1, 304, -1, -1, 313, 218,
827 -1, 313, 218, 261, -1, 10, 218, -1, 9, 218,
828 -1, 16, 218, -1, 16, 261, 218, -1, 15, 218,
829 -1, 317, -1, 263, -1, 225, -1, 264, 299, -1
832 /* YYRLINE[YYN] -- source line where rule number YYN was defined. */
833 static const yytype_uint16 yyrline
[] =
835 0, 236, 236, 235, 247, 249, 289, 290, 291, 292,
836 293, 305, 307, 311, 312, 313, 317, 326, 334, 345,
837 346, 350, 357, 364, 371, 378, 385, 392, 393, 399,
838 403, 410, 416, 425, 429, 433, 434, 443, 444, 448,
839 449, 453, 459, 471, 475, 481, 488, 498, 499, 503,
840 504, 508, 514, 526, 537, 538, 544, 550, 560, 561,
841 562, 563, 567, 568, 574, 580, 589, 590, 596, 605,
842 606, 612, 621, 622, 628, 634, 640, 649, 650, 656,
843 665, 666, 675, 676, 685, 686, 695, 696, 705, 706,
844 715, 716, 725, 726, 735, 736, 745, 746, 747, 748,
845 749, 750, 751, 752, 753, 754, 755, 759, 763, 779,
846 783, 788, 792, 801, 805, 806, 810, 815, 823, 837,
847 847, 862, 869, 874, 885, 898, 901, 906, 911, 920,
848 924, 925, 935, 945, 955, 965, 975, 989, 996, 1005,
849 1014, 1023, 1032, 1041, 1050, 1064, 1071, 1082, 1089, 1090,
850 1109, 1168, 1209, 1214, 1219, 1227, 1235, 1236, 1237, 1242,
851 1243, 1248, 1253, 1259, 1267, 1272, 1277, 1282, 1288, 1293,
852 1298, 1303, 1308, 1316, 1320, 1328, 1329, 1335, 1344, 1350,
853 1356, 1365, 1366, 1367, 1368, 1369, 1370, 1371, 1372, 1373,
854 1374, 1375, 1376, 1377, 1378, 1379, 1380, 1381, 1382, 1383,
855 1384, 1385, 1386, 1387, 1388, 1389, 1390, 1391, 1392, 1393,
856 1394, 1395, 1396, 1397, 1398, 1399, 1400, 1401, 1402, 1403,
857 1404, 1405, 1406, 1407, 1408, 1409, 1410, 1411, 1412, 1413,
858 1414, 1415, 1416, 1420, 1430, 1440, 1453, 1460, 1469, 1474,
859 1482, 1497, 1502, 1510, 1517, 1526, 1530, 1536, 1537, 1541,
860 1542, 1543, 1544, 1545, 1546, 1550, 1557, 1556, 1570, 1571,
861 1575, 1581, 1590, 1600, 1612, 1618, 1627, 1636, 1641, 1649,
862 1653, 1671, 1679, 1684, 1692, 1697, 1705, 1713, 1721, 1729,
863 1737, 1745, 1753, 1760, 1767, 1777, 1778, 1782, 1784, 1790,
864 1795, 1804, 1810, 1816, 1822, 1828, 1837, 1838, 1839, 1843
868 #if YYDEBUG || YYERROR_VERBOSE || YYTOKEN_TABLE
869 /* YYTNAME[SYMBOL-NUM] -- String name of the symbol SYMBOL-NUM.
870 First, the terminals, then, starting at YYNTOKENS, nonterminals. */
871 static const char *const yytname
[] =
873 "$end", "error", "$undefined", "ATTRIBUTE", "CONST_TOK", "BOOL_TOK",
874 "FLOAT_TOK", "INT_TOK", "UINT_TOK", "BREAK", "CONTINUE", "DO", "ELSE",
875 "FOR", "IF", "DISCARD", "RETURN", "SWITCH", "CASE", "DEFAULT", "BVEC2",
876 "BVEC3", "BVEC4", "IVEC2", "IVEC3", "IVEC4", "UVEC2", "UVEC3", "UVEC4",
877 "VEC2", "VEC3", "VEC4", "CENTROID", "IN_TOK", "OUT_TOK", "INOUT_TOK",
878 "UNIFORM", "VARYING", "NOPERSPECTIVE", "FLAT", "SMOOTH", "MAT2X2",
879 "MAT2X3", "MAT2X4", "MAT3X2", "MAT3X3", "MAT3X4", "MAT4X2", "MAT4X3",
880 "MAT4X4", "SAMPLER1D", "SAMPLER2D", "SAMPLER3D", "SAMPLERCUBE",
881 "SAMPLER1DSHADOW", "SAMPLER2DSHADOW", "SAMPLERCUBESHADOW",
882 "SAMPLER1DARRAY", "SAMPLER2DARRAY", "SAMPLER1DARRAYSHADOW",
883 "SAMPLER2DARRAYSHADOW", "ISAMPLER1D", "ISAMPLER2D", "ISAMPLER3D",
884 "ISAMPLERCUBE", "ISAMPLER1DARRAY", "ISAMPLER2DARRAY", "USAMPLER1D",
885 "USAMPLER2D", "USAMPLER3D", "USAMPLERCUBE", "USAMPLER1DARRAY",
886 "USAMPLER2DARRAY", "SAMPLEREXTERNALOES", "STRUCT", "VOID_TOK", "WHILE",
887 "IDENTIFIER", "TYPE_IDENTIFIER", "NEW_IDENTIFIER", "FLOATCONSTANT",
888 "INTCONSTANT", "UINTCONSTANT", "BOOLCONSTANT", "FIELD_SELECTION",
889 "LEFT_OP", "RIGHT_OP", "INC_OP", "DEC_OP", "LE_OP", "GE_OP", "EQ_OP",
890 "NE_OP", "AND_OP", "OR_OP", "XOR_OP", "MUL_ASSIGN", "DIV_ASSIGN",
891 "ADD_ASSIGN", "MOD_ASSIGN", "LEFT_ASSIGN", "RIGHT_ASSIGN", "AND_ASSIGN",
892 "XOR_ASSIGN", "OR_ASSIGN", "SUB_ASSIGN", "INVARIANT", "LOWP", "MEDIUMP",
893 "HIGHP", "SUPERP", "PRECISION", "VERSION_TOK", "EXTENSION", "LINE",
894 "COLON", "EOL", "INTERFACE", "OUTPUT", "PRAGMA_DEBUG_ON",
895 "PRAGMA_DEBUG_OFF", "PRAGMA_OPTIMIZE_ON", "PRAGMA_OPTIMIZE_OFF",
896 "PRAGMA_INVARIANT_ALL", "LAYOUT_TOK", "ASM", "CLASS", "UNION", "ENUM",
897 "TYPEDEF", "TEMPLATE", "THIS", "PACKED_TOK", "GOTO", "INLINE_TOK",
898 "NOINLINE", "VOLATILE", "PUBLIC_TOK", "STATIC", "EXTERN", "EXTERNAL",
899 "LONG_TOK", "SHORT_TOK", "DOUBLE_TOK", "HALF", "FIXED_TOK", "UNSIGNED",
900 "INPUT_TOK", "OUPTUT", "HVEC2", "HVEC3", "HVEC4", "DVEC2", "DVEC3",
901 "DVEC4", "FVEC2", "FVEC3", "FVEC4", "SAMPLER2DRECT", "SAMPLER3DRECT",
902 "SAMPLER2DRECTSHADOW", "SIZEOF", "CAST", "NAMESPACE", "USING",
903 "ERROR_TOK", "COMMON", "PARTITION", "ACTIVE", "SAMPLERBUFFER", "FILTER",
904 "IMAGE1D", "IMAGE2D", "IMAGE3D", "IMAGECUBE", "IMAGE1DARRAY",
905 "IMAGE2DARRAY", "IIMAGE1D", "IIMAGE2D", "IIMAGE3D", "IIMAGECUBE",
906 "IIMAGE1DARRAY", "IIMAGE2DARRAY", "UIMAGE1D", "UIMAGE2D", "UIMAGE3D",
907 "UIMAGECUBE", "UIMAGE1DARRAY", "UIMAGE2DARRAY", "IMAGE1DSHADOW",
908 "IMAGE2DSHADOW", "IMAGEBUFFER", "IIMAGEBUFFER", "UIMAGEBUFFER",
909 "IMAGE1DARRAYSHADOW", "IMAGE2DARRAYSHADOW", "ROW_MAJOR", "'('", "')'",
910 "'['", "']'", "'.'", "','", "'+'", "'-'", "'!'", "'~'", "'*'", "'/'",
911 "'%'", "'<'", "'>'", "'&'", "'^'", "'|'", "'?'", "':'", "'='", "';'",
912 "'{'", "'}'", "$accept", "translation_unit", "$@1", "version_statement",
913 "pragma_statement", "extension_statement_list", "any_identifier",
914 "extension_statement", "external_declaration_list",
915 "variable_identifier", "primary_expression", "postfix_expression",
916 "integer_expression", "function_call", "function_call_or_method",
917 "function_call_generic", "function_call_header_no_parameters",
918 "function_call_header_with_parameters", "function_call_header",
919 "function_identifier", "method_call_generic",
920 "method_call_header_no_parameters", "method_call_header_with_parameters",
921 "method_call_header", "unary_expression", "unary_operator",
922 "multiplicative_expression", "additive_expression", "shift_expression",
923 "relational_expression", "equality_expression", "and_expression",
924 "exclusive_or_expression", "inclusive_or_expression",
925 "logical_and_expression", "logical_xor_expression",
926 "logical_or_expression", "conditional_expression",
927 "assignment_expression", "assignment_operator", "expression",
928 "constant_expression", "declaration", "function_prototype",
929 "function_declarator", "function_header_with_parameters",
930 "function_header", "parameter_declarator", "parameter_declaration",
931 "parameter_qualifier", "parameter_type_specifier",
932 "init_declarator_list", "single_declaration", "fully_specified_type",
933 "layout_qualifier", "layout_qualifier_id_list", "layout_qualifier_id",
934 "interpolation_qualifier", "parameter_type_qualifier", "type_qualifier",
935 "storage_qualifier", "type_specifier", "type_specifier_no_prec",
936 "type_specifier_nonarray", "basic_type_specifier_nonarray",
937 "precision_qualifier", "struct_specifier", "struct_declaration_list",
938 "struct_declaration", "struct_declarator_list", "struct_declarator",
939 "initializer", "declaration_statement", "statement", "simple_statement",
940 "compound_statement", "$@2", "statement_no_new_scope",
941 "compound_statement_no_new_scope", "statement_list",
942 "expression_statement", "selection_statement",
943 "selection_rest_statement", "condition", "switch_statement",
944 "switch_body", "case_label", "case_label_list", "case_statement",
945 "case_statement_list", "iteration_statement", "for_init_statement",
946 "conditionopt", "for_rest_statement", "jump_statement",
947 "external_declaration", "function_definition", 0
952 /* YYTOKNUM[YYLEX-NUM] -- Internal token number corresponding to
954 static const yytype_uint16 yytoknum
[] =
956 0, 256, 257, 258, 259, 260, 261, 262, 263, 264,
957 265, 266, 267, 268, 269, 270, 271, 272, 273, 274,
958 275, 276, 277, 278, 279, 280, 281, 282, 283, 284,
959 285, 286, 287, 288, 289, 290, 291, 292, 293, 294,
960 295, 296, 297, 298, 299, 300, 301, 302, 303, 304,
961 305, 306, 307, 308, 309, 310, 311, 312, 313, 314,
962 315, 316, 317, 318, 319, 320, 321, 322, 323, 324,
963 325, 326, 327, 328, 329, 330, 331, 332, 333, 334,
964 335, 336, 337, 338, 339, 340, 341, 342, 343, 344,
965 345, 346, 347, 348, 349, 350, 351, 352, 353, 354,
966 355, 356, 357, 358, 359, 360, 361, 362, 363, 364,
967 365, 366, 367, 368, 369, 370, 371, 372, 373, 374,
968 375, 376, 377, 378, 379, 380, 381, 382, 383, 384,
969 385, 386, 387, 388, 389, 390, 391, 392, 393, 394,
970 395, 396, 397, 398, 399, 400, 401, 402, 403, 404,
971 405, 406, 407, 408, 409, 410, 411, 412, 413, 414,
972 415, 416, 417, 418, 419, 420, 421, 422, 423, 424,
973 425, 426, 427, 428, 429, 430, 431, 432, 433, 434,
974 435, 436, 437, 438, 439, 440, 441, 442, 443, 444,
975 445, 446, 447, 448, 449, 450, 451, 40, 41, 91,
976 93, 46, 44, 43, 45, 33, 126, 42, 47, 37,
977 60, 62, 38, 94, 124, 63, 58, 61, 59, 123,
982 /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */
983 static const yytype_uint16 yyr1
[] =
985 0, 221, 223, 222, 224, 224, 225, 225, 225, 225,
986 225, 226, 226, 227, 227, 227, 228, 229, 229, 230,
987 230, 231, 231, 231, 231, 231, 231, 232, 232, 232,
988 232, 232, 232, 233, 234, 235, 235, 236, 236, 237,
989 237, 238, 238, 239, 240, 240, 240, 241, 241, 242,
990 242, 243, 243, 244, 245, 245, 245, 245, 246, 246,
991 246, 246, 247, 247, 247, 247, 248, 248, 248, 249,
992 249, 249, 250, 250, 250, 250, 250, 251, 251, 251,
993 252, 252, 253, 253, 254, 254, 255, 255, 256, 256,
994 257, 257, 258, 258, 259, 259, 260, 260, 260, 260,
995 260, 260, 260, 260, 260, 260, 260, 261, 261, 262,
996 263, 263, 263, 264, 265, 265, 266, 266, 267, 268,
997 268, 269, 269, 269, 269, 270, 270, 270, 270, 271,
998 272, 272, 272, 272, 272, 272, 272, 273, 273, 273,
999 273, 273, 273, 273, 273, 274, 274, 275, 276, 276,
1000 277, 277, 278, 278, 278, 279, 280, 280, 280, 280,
1001 280, 280, 280, 280, 281, 281, 281, 281, 281, 281,
1002 281, 281, 281, 282, 282, 283, 283, 283, 284, 284,
1003 284, 285, 285, 285, 285, 285, 285, 285, 285, 285,
1004 285, 285, 285, 285, 285, 285, 285, 285, 285, 285,
1005 285, 285, 285, 285, 285, 285, 285, 285, 285, 285,
1006 285, 285, 285, 285, 285, 285, 285, 285, 285, 285,
1007 285, 285, 285, 285, 285, 285, 285, 285, 285, 285,
1008 285, 285, 285, 286, 286, 286, 287, 287, 288, 288,
1009 289, 290, 290, 291, 291, 292, 293, 294, 294, 295,
1010 295, 295, 295, 295, 295, 296, 297, 296, 298, 298,
1011 299, 299, 300, 300, 301, 301, 302, 303, 303, 304,
1012 304, 305, 306, 306, 307, 307, 308, 308, 309, 309,
1013 310, 310, 311, 311, 311, 312, 312, 313, 313, 314,
1014 314, 315, 315, 315, 315, 315, 316, 316, 316, 317
1017 /* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN. */
1018 static const yytype_uint8 yyr2
[] =
1020 0, 2, 0, 4, 0, 3, 2, 2, 2, 2,
1021 2, 0, 2, 1, 1, 1, 5, 1, 2, 1,
1022 1, 1, 1, 1, 1, 1, 3, 1, 4, 1,
1023 3, 2, 2, 1, 1, 1, 3, 2, 2, 2,
1024 1, 2, 3, 2, 1, 1, 1, 2, 2, 2,
1025 1, 2, 3, 2, 1, 2, 2, 2, 1, 1,
1026 1, 1, 1, 3, 3, 3, 1, 3, 3, 1,
1027 3, 3, 1, 3, 3, 3, 3, 1, 3, 3,
1028 1, 3, 1, 3, 1, 3, 1, 3, 1, 3,
1029 1, 3, 1, 5, 1, 3, 1, 1, 1, 1,
1030 1, 1, 1, 1, 1, 1, 1, 1, 3, 1,
1031 2, 2, 4, 2, 1, 1, 2, 3, 3, 2,
1032 5, 3, 2, 3, 2, 0, 1, 1, 1, 1,
1033 1, 3, 5, 6, 7, 8, 5, 1, 2, 4,
1034 5, 6, 7, 4, 2, 1, 2, 4, 1, 3,
1035 1, 3, 1, 1, 1, 1, 1, 1, 2, 1,
1036 2, 2, 3, 1, 1, 1, 1, 2, 1, 1,
1037 2, 2, 1, 1, 2, 1, 3, 4, 1, 1,
1038 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1039 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1040 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1041 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1042 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1043 1, 1, 1, 1, 1, 1, 5, 4, 1, 2,
1044 3, 1, 3, 1, 4, 1, 1, 1, 1, 1,
1045 1, 1, 1, 1, 1, 2, 0, 4, 1, 1,
1046 2, 3, 1, 2, 1, 2, 5, 3, 1, 1,
1047 4, 5, 2, 3, 3, 2, 1, 2, 2, 2,
1048 1, 2, 5, 7, 6, 1, 1, 1, 0, 2,
1049 3, 2, 2, 2, 3, 2, 1, 1, 1, 2
1052 /* YYDEFACT[STATE-NAME] -- Default reduction number in state STATE-NUM.
1053 Performed when YYTABLE doesn't specify something else to do. Zero
1054 means the default is an error. */
1055 static const yytype_uint16 yydefact
[] =
1057 4, 0, 0, 11, 0, 1, 2, 5, 0, 0,
1058 12, 13, 14, 15, 0, 165, 164, 185, 182, 183,
1059 184, 189, 190, 191, 192, 193, 194, 195, 196, 197,
1060 186, 187, 188, 0, 168, 169, 172, 166, 154, 153,
1061 152, 198, 199, 200, 201, 202, 203, 204, 205, 206,
1062 207, 208, 210, 211, 213, 214, 216, 217, 218, 219,
1063 220, 221, 222, 223, 224, 225, 226, 227, 228, 229,
1064 230, 231, 232, 212, 0, 181, 180, 163, 235, 234,
1065 233, 0, 0, 0, 0, 0, 0, 0, 209, 215,
1066 298, 3, 297, 0, 0, 115, 125, 0, 130, 137,
1067 157, 159, 0, 156, 145, 173, 175, 178, 0, 179,
1068 17, 296, 0, 170, 171, 167, 0, 0, 19, 20,
1069 144, 0, 161, 0, 6, 7, 8, 9, 10, 0,
1070 18, 110, 0, 299, 113, 125, 155, 126, 127, 128,
1071 116, 0, 125, 0, 111, 13, 15, 138, 0, 158,
1072 160, 146, 0, 174, 0, 0, 0, 238, 0, 162,
1073 0, 150, 0, 148, 0, 0, 0, 0, 0, 0,
1074 0, 0, 0, 24, 22, 23, 25, 46, 0, 0,
1075 0, 58, 59, 60, 61, 264, 256, 260, 21, 27,
1076 54, 29, 34, 35, 0, 0, 40, 0, 62, 0,
1077 66, 69, 72, 77, 80, 82, 84, 86, 88, 90,
1078 92, 94, 107, 0, 246, 0, 145, 249, 262, 248,
1079 247, 0, 250, 251, 252, 253, 254, 117, 122, 124,
1080 129, 0, 131, 0, 0, 118, 176, 62, 109, 0,
1081 44, 16, 243, 0, 241, 237, 239, 0, 112, 0,
1082 147, 0, 292, 291, 0, 0, 0, 295, 293, 0,
1083 0, 0, 55, 56, 0, 255, 0, 31, 32, 0,
1084 0, 38, 37, 0, 181, 41, 43, 97, 98, 100,
1085 99, 102, 103, 104, 105, 106, 101, 96, 0, 57,
1086 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1087 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1088 0, 265, 261, 263, 119, 121, 123, 0, 0, 139,
1089 0, 245, 143, 177, 0, 0, 240, 236, 151, 149,
1090 0, 286, 285, 288, 0, 294, 0, 163, 269, 0,
1091 0, 26, 0, 0, 33, 30, 0, 36, 0, 0,
1092 50, 42, 95, 63, 64, 65, 67, 68, 70, 71,
1093 75, 76, 73, 74, 78, 79, 81, 83, 85, 87,
1094 89, 91, 0, 108, 0, 132, 0, 136, 0, 140,
1095 0, 242, 0, 287, 0, 0, 0, 0, 0, 0,
1096 257, 28, 53, 48, 47, 0, 181, 51, 0, 0,
1097 0, 133, 141, 0, 244, 0, 289, 0, 268, 266,
1098 0, 271, 0, 259, 282, 258, 52, 93, 120, 134,
1099 0, 142, 0, 290, 284, 0, 0, 0, 272, 276,
1100 0, 280, 0, 270, 135, 283, 267, 0, 275, 278,
1101 277, 279, 273, 281, 274
1104 /* YYDEFGOTO[NTERM-NUM]. */
1105 static const yytype_int16 yydefgoto
[] =
1107 -1, 2, 9, 3, 90, 6, 161, 10, 91, 188,
1108 189, 190, 343, 191, 192, 193, 194, 195, 196, 197,
1109 347, 348, 349, 350, 198, 199, 200, 201, 202, 203,
1110 204, 205, 206, 207, 208, 209, 210, 211, 212, 288,
1111 213, 239, 214, 215, 94, 95, 96, 228, 140, 141,
1112 229, 97, 98, 99, 100, 162, 163, 101, 142, 102,
1113 103, 240, 105, 106, 107, 108, 109, 156, 157, 243,
1114 244, 322, 217, 218, 219, 220, 266, 414, 415, 221,
1115 222, 223, 409, 340, 224, 411, 429, 430, 431, 432,
1116 225, 333, 384, 385, 226, 110, 111
1119 /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
1121 #define YYPACT_NINF -355
1122 static const yytype_int16 yypact
[] =
1124 -38, -40, 81, -355, -32, -355, -27, -355, 52, 3587,
1125 -355, -355, -355, -355, -26, -355, -355, -355, -355, -355,
1126 -355, -355, -355, -355, -355, -355, -355, -355, -355, -355,
1127 -355, -355, -355, 38, -355, -355, -355, -355, -355, -355,
1128 -355, -355, -355, -355, -355, -355, -355, -355, -355, -355,
1129 -355, -355, -355, -355, -355, -355, -355, -355, -355, -355,
1130 -355, -355, -355, -355, -355, -355, -355, -355, -355, -355,
1131 -355, -355, -355, -355, -67, -355, -355, 251, -355, -355,
1132 -355, 51, -14, -8, 11, 19, 24, -87, -355, -355,
1133 -355, 3587, -355, -162, -107, -46, 15, -180, -355, 96,
1134 264, 264, 3707, -355, -355, -355, -57, -355, 3781, -355,
1135 -355, -355, 52, -355, -355, -355, 3707, -48, -355, -355,
1136 -355, 264, -355, 3781, -355, -355, -355, -355, -355, 52,
1137 -355, -355, 422, -355, -355, 29, -355, -355, -355, -355,
1138 -355, 3707, 143, 52, -355, -17, -12, -178, 18, -355,
1139 -355, -355, 2465, -355, 73, 52, 1834, -355, 3707, -355,
1140 3, 9, -168, -355, 10, 14, 1293, 30, 33, 17,
1141 2074, 40, 44, -355, -355, -355, -355, -355, 3026, 3026,
1142 3026, -355, -355, -355, -355, -355, -11, -355, 47, -355,
1143 -60, -355, -355, -355, 49, -125, 3213, 48, 16, 3026,
1144 -25, -138, 12, -66, 46, 37, 45, 36, 158, 164,
1145 -81, -355, -355, -171, -355, 35, 64, -355, -355, -355,
1146 -355, 640, -355, -355, -355, -355, -355, -355, -355, -355,
1147 52, 3707, -163, 2652, 3026, -355, -355, -355, -355, 65,
1148 -355, -355, 82, -160, -355, -355, -355, 1954, -355, 199,
1149 -355, 52, -355, -355, 210, 1714, 3026, -355, -355, -157,
1150 3026, 2278, -355, -355, -122, -355, 1293, -355, -355, 3026,
1151 96, -355, -355, 3026, 94, -355, -355, -355, -355, -355,
1152 -355, -355, -355, -355, -355, -355, -355, -355, 3026, -355,
1153 3026, 3026, 3026, 3026, 3026, 3026, 3026, 3026, 3026, 3026,
1154 3026, 3026, 3026, 3026, 3026, 3026, 3026, 3026, 3026, 3026,
1155 3026, -355, -355, -355, 95, -355, -355, 2839, 3026, 76,
1156 99, -355, -355, -355, 3026, 52, -355, -355, -355, -355,
1157 98, -355, -355, 2278, -115, -355, -102, 239, 100, 52,
1158 105, -355, 858, 104, 100, -355, 108, -355, 109, -76,
1159 3400, -355, -355, -355, -355, -355, -25, -25, -138, -138,
1160 12, 12, 12, 12, -66, -66, 46, 37, 45, 36,
1161 158, 164, -165, -355, 3026, 89, 110, -355, 3026, 91,
1162 111, -355, 3026, -355, 97, 114, 1293, 90, 102, 1510,
1163 -355, -355, -355, -355, -355, 3026, 115, -355, 3026, 116,
1164 3026, 103, -355, 3026, -355, -47, 3026, 1510, 302, -355,
1165 -10, -355, 3026, -355, -355, -355, -355, -355, -355, -355,
1166 3026, -355, 107, 100, -355, 1293, 3026, 101, -355, -355,
1167 1076, 1293, -2, -355, -355, -355, -355, -147, -355, -355,
1168 -355, -355, -355, 1293, -355
1171 /* YYPGOTO[NTERM-NUM]. */
1172 static const yytype_int16 yypgoto
[] =
1174 -355, -355, -355, -355, -355, -355, -7, -355, -355, -59,
1175 -355, -355, -355, -355, -355, -355, -355, -355, -355, -355,
1176 -355, -355, -355, -355, -100, -355, -106, -127, -134, -82,
1177 20, 22, 26, 21, 27, 13, -355, -145, -164, -355,
1178 -166, -213, -6, 34, -355, -355, -355, 106, 187, 193,
1179 112, -355, -355, -232, -355, -355, 78, -71, -355, -355,
1180 -75, -9, -64, -355, -355, 255, -355, 180, -141, -355,
1181 23, -250, 84, -161, -354, -355, -355, -65, 247, 75,
1182 92, -355, -355, 25, -355, -355, -86, -355, -83, -355,
1183 -355, -355, -355, -355, -355, 254, -355
1186 /* YYTABLE[YYPACT[STATE-NUM]]. What to do in state STATE-NUM. If
1187 positive, shift that token. If negative, reduce the rule which
1188 number is the opposite. If YYTABLE_NINF, syntax error. */
1189 #define YYTABLE_NINF -115
1190 static const yytype_int16 yytable
[] =
1192 104, 14, 122, 92, 259, 254, 121, 238, 426, 427,
1193 11, 12, 13, 308, 264, 246, 426, 427, 120, 136,
1194 320, 233, 143, 297, 298, 149, 150, 267, 268, 339,
1195 250, 310, 275, 136, 251, 413, 317, 310, 144, 234,
1196 148, 4, 325, 93, 153, 310, 159, 311, 137, 138,
1197 139, 398, 237, 413, 318, 310, 131, 132, 326, 160,
1198 313, 335, 137, 138, 139, 293, 294, 117, 377, 444,
1199 321, 113, 114, 272, 1, 115, 341, 273, 262, 263,
1200 310, 5, 104, 386, 7, 92, 8, 310, 238, 112,
1201 334, 134, 147, 151, 336, 338, 387, 295, 296, 289,
1202 310, 339, 124, 344, 376, 154, 246, 155, 125, 351,
1203 129, 380, 277, 278, 279, 280, 281, 282, 283, 284,
1204 285, 286, 394, 216, 352, 93, 395, 126, 402, 11,
1205 12, 13, 230, 237, 309, 127, 232, 301, 302, 269,
1206 128, 270, 152, 372, 299, 300, 373, 155, 242, 155,
1207 419, 422, 116, 421, 321, 310, 135, 216, 78, 79,
1208 80, 399, 433, 360, 361, 362, 363, 338, 358, 359,
1209 434, 158, 238, 145, 12, 146, 137, 138, 139, 238,
1210 -19, 313, 290, 291, 292, -20, 397, 356, 357, 241,
1211 353, 354, 355, 237, 237, 237, 237, 237, 237, 237,
1212 237, 237, 237, 237, 237, 237, 237, 237, 237, 265,
1213 428, 346, 216, -114, 321, 235, 405, 237, 442, 364,
1214 365, 248, 230, 314, 237, 408, 249, 255, 252, 238,
1215 256, 416, 253, 287, 417, 257, 321, 260, 155, 321,
1216 423, 261, 15, 16, -45, 276, 216, 271, 321, 303,
1217 305, 306, 216, 131, 15, 16, 321, 216, 304, 307,
1218 437, -44, 122, 345, 436, 323, 121, 15, 16, 439,
1219 441, 33, 34, 35, 237, 36, 37, 38, 39, 40,
1220 328, 324, 441, 33, 34, 35, 330, 36, 37, 38,
1221 39, 40, -39, 378, 374, 382, 33, 34, 35, 379,
1222 36, 37, 310, 389, 391, 392, 400, 393, 403, 410,
1223 401, 404, 407, -49, 425, 406, 418, 438, 242, 412,
1224 420, 371, 227, 366, 216, 435, 367, 369, 118, 329,
1225 119, 368, 388, 216, 370, 231, 123, 315, 247, 331,
1226 133, 342, 424, 316, 440, 130, 0, 332, 381, 443,
1227 0, 0, 0, 0, 0, 0, 0, 0, 383, 0,
1228 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1229 0, 0, 0, 0, 0, 0, 0, 216, 0, 0,
1230 216, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1231 0, 0, 0, 0, 0, 0, 0, 0, 216, 0,
1232 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1233 0, 0, 0, 0, 0, 0, 216, 0, 0, 0,
1234 0, 216, 216, 0, 0, 15, 16, 17, 18, 19,
1235 20, 164, 165, 166, 216, 167, 168, 169, 170, 171,
1236 0, 0, 21, 22, 23, 24, 25, 26, 27, 28,
1237 29, 30, 31, 32, 33, 34, 35, 0, 36, 37,
1238 38, 39, 40, 41, 42, 43, 44, 45, 46, 47,
1239 48, 49, 50, 51, 52, 53, 54, 55, 56, 57,
1240 58, 59, 60, 61, 62, 63, 64, 65, 66, 67,
1241 68, 69, 70, 71, 72, 73, 74, 75, 172, 118,
1242 76, 119, 173, 174, 175, 176, 177, 0, 0, 178,
1243 179, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1244 0, 0, 0, 0, 0, 0, 0, 0, 77, 78,
1245 79, 80, 0, 81, 0, 0, 0, 0, 0, 0,
1246 0, 0, 0, 0, 0, 0, 87, 0, 0, 0,
1247 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1248 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1249 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1250 88, 0, 89, 0, 0, 0, 0, 0, 0, 0,
1251 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1252 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1253 0, 0, 0, 0, 0, 0, 0, 0, 0, 180,
1254 0, 0, 0, 0, 0, 181, 182, 183, 184, 0,
1255 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1256 185, 186, 187, 15, 16, 17, 18, 19, 20, 164,
1257 165, 166, 0, 167, 168, 169, 170, 171, 0, 0,
1258 21, 22, 23, 24, 25, 26, 27, 28, 29, 30,
1259 31, 32, 33, 34, 35, 0, 36, 37, 38, 39,
1260 40, 41, 42, 43, 44, 45, 46, 47, 48, 49,
1261 50, 51, 52, 53, 54, 55, 56, 57, 58, 59,
1262 60, 61, 62, 63, 64, 65, 66, 67, 68, 69,
1263 70, 71, 72, 73, 74, 75, 172, 118, 76, 119,
1264 173, 174, 175, 176, 177, 0, 0, 178, 179, 0,
1265 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1266 0, 0, 0, 0, 0, 0, 77, 78, 79, 80,
1267 0, 81, 0, 0, 0, 0, 0, 0, 0, 0,
1268 0, 0, 0, 0, 87, 0, 0, 0, 0, 0,
1269 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1270 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1271 0, 0, 0, 0, 0, 0, 0, 0, 88, 0,
1272 89, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1273 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1274 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1275 0, 0, 0, 0, 0, 0, 0, 180, 0, 0,
1276 0, 0, 0, 181, 182, 183, 184, 0, 0, 0,
1277 0, 0, 0, 0, 0, 0, 0, 0, 185, 186,
1278 312, 15, 16, 17, 18, 19, 20, 164, 165, 166,
1279 0, 167, 168, 169, 170, 171, 0, 0, 21, 22,
1280 23, 24, 25, 26, 27, 28, 29, 30, 31, 32,
1281 33, 34, 35, 0, 36, 37, 38, 39, 40, 41,
1282 42, 43, 44, 45, 46, 47, 48, 49, 50, 51,
1283 52, 53, 54, 55, 56, 57, 58, 59, 60, 61,
1284 62, 63, 64, 65, 66, 67, 68, 69, 70, 71,
1285 72, 73, 74, 75, 172, 118, 76, 119, 173, 174,
1286 175, 176, 177, 0, 0, 178, 179, 0, 0, 0,
1287 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1288 0, 0, 0, 0, 77, 78, 79, 80, 0, 81,
1289 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1290 0, 0, 87, 0, 0, 0, 0, 0, 0, 0,
1291 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1292 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1293 0, 0, 0, 0, 0, 0, 88, 0, 89, 0,
1294 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1295 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1296 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1297 0, 0, 0, 0, 0, 180, 0, 0, 0, 0,
1298 0, 181, 182, 183, 184, 0, 0, 0, 0, 0,
1299 0, 0, 0, 0, 0, 0, 185, 186, 390, 15,
1300 16, 17, 18, 19, 20, 164, 165, 166, 0, 167,
1301 168, 169, 170, 171, 426, 427, 21, 22, 23, 24,
1302 25, 26, 27, 28, 29, 30, 31, 32, 33, 34,
1303 35, 0, 36, 37, 38, 39, 40, 41, 42, 43,
1304 44, 45, 46, 47, 48, 49, 50, 51, 52, 53,
1305 54, 55, 56, 57, 58, 59, 60, 61, 62, 63,
1306 64, 65, 66, 67, 68, 69, 70, 71, 72, 73,
1307 74, 75, 172, 118, 76, 119, 173, 174, 175, 176,
1308 177, 0, 0, 178, 179, 0, 0, 0, 0, 0,
1309 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1310 0, 0, 77, 78, 79, 80, 0, 81, 0, 0,
1311 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1312 87, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1313 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1314 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1315 0, 0, 0, 0, 88, 0, 89, 0, 0, 0,
1316 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1317 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1318 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1319 0, 0, 0, 180, 0, 0, 0, 0, 0, 181,
1320 182, 183, 184, 0, 0, 0, 0, 0, 0, 0,
1321 0, 0, 0, 0, 185, 186, 15, 16, 17, 18,
1322 19, 20, 164, 165, 166, 0, 167, 168, 169, 170,
1323 171, 0, 0, 21, 22, 23, 24, 25, 26, 27,
1324 28, 29, 30, 31, 32, 33, 34, 35, 0, 36,
1325 37, 38, 39, 40, 41, 42, 43, 44, 45, 46,
1326 47, 48, 49, 50, 51, 52, 53, 54, 55, 56,
1327 57, 58, 59, 60, 61, 62, 63, 64, 65, 66,
1328 67, 68, 69, 70, 71, 72, 73, 74, 75, 172,
1329 118, 76, 119, 173, 174, 175, 176, 177, 0, 0,
1330 178, 179, 0, 0, 0, 0, 0, 0, 0, 0,
1331 0, 0, 0, 0, 0, 0, 0, 0, 0, 77,
1332 78, 79, 80, 0, 81, 0, 0, 0, 0, 0,
1333 0, 0, 0, 0, 0, 0, 0, 87, 0, 0,
1334 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1335 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1336 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1337 0, 88, 0, 89, 0, 0, 0, 0, 0, 0,
1338 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1339 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1340 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1341 180, 0, 0, 0, 0, 0, 181, 182, 183, 184,
1342 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1343 0, 185, 186, 15, 16, 17, 18, 19, 20, 164,
1344 165, 166, 0, 167, 168, 169, 170, 171, 0, 0,
1345 21, 22, 23, 24, 25, 26, 27, 28, 29, 30,
1346 31, 32, 33, 34, 35, 0, 36, 37, 38, 39,
1347 40, 41, 42, 43, 44, 45, 46, 47, 48, 49,
1348 50, 51, 52, 53, 54, 55, 56, 57, 58, 59,
1349 60, 61, 62, 63, 64, 65, 66, 67, 68, 69,
1350 70, 71, 72, 73, 74, 75, 172, 118, 76, 119,
1351 173, 174, 175, 176, 177, 0, 0, 178, 179, 0,
1352 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1353 0, 0, 0, 0, 0, 0, 77, 78, 79, 80,
1354 0, 81, 0, 0, 0, 0, 0, 0, 0, 0,
1355 0, 0, 0, 0, 87, 0, 0, 0, 0, 0,
1356 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1357 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1358 0, 0, 0, 0, 0, 0, 0, 0, 88, 0,
1359 89, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1360 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1361 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1362 0, 0, 0, 0, 0, 0, 0, 180, 0, 0,
1363 0, 0, 0, 181, 182, 183, 184, 15, 16, 17,
1364 18, 19, 20, 0, 0, 0, 0, 0, 185, 132,
1365 0, 0, 0, 0, 21, 22, 23, 24, 25, 26,
1366 27, 28, 29, 30, 31, 32, 33, 34, 35, 0,
1367 36, 37, 38, 39, 40, 41, 42, 43, 44, 45,
1368 46, 47, 48, 49, 50, 51, 52, 53, 54, 55,
1369 56, 57, 58, 59, 60, 61, 62, 63, 64, 65,
1370 66, 67, 68, 69, 70, 71, 72, 73, 74, 75,
1371 0, 118, 76, 119, 173, 174, 175, 176, 177, 0,
1372 0, 178, 179, 0, 0, 0, 0, 0, 0, 0,
1373 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1374 77, 78, 79, 80, 0, 81, 0, 0, 0, 0,
1375 0, 0, 0, 0, 0, 0, 0, 0, 87, 17,
1376 18, 19, 20, 0, 0, 0, 0, 0, 0, 0,
1377 0, 0, 0, 0, 21, 22, 23, 24, 25, 26,
1378 27, 28, 29, 30, 31, 32, 0, 0, 0, 0,
1379 0, 0, 88, 0, 89, 41, 42, 43, 44, 45,
1380 46, 47, 48, 49, 50, 51, 52, 53, 54, 55,
1381 56, 57, 58, 59, 60, 61, 62, 63, 64, 65,
1382 66, 67, 68, 69, 70, 71, 72, 73, 74, 75,
1383 0, 180, 76, 0, 0, 0, 0, 181, 182, 183,
1384 184, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1385 0, 0, 185, 0, 0, 0, 0, 0, 0, 0,
1386 0, 78, 79, 80, 0, 0, 0, 0, 0, 0,
1387 0, 0, 0, 0, 0, 0, 0, 0, 0, 17,
1388 18, 19, 20, 0, 0, 0, 0, 0, 0, 0,
1389 0, 0, 0, 0, 21, 22, 23, 24, 25, 26,
1390 27, 28, 29, 30, 31, 32, 0, 0, 0, 0,
1391 0, 0, 88, 0, 89, 41, 42, 43, 44, 45,
1392 46, 47, 48, 49, 50, 51, 52, 53, 54, 55,
1393 56, 57, 58, 59, 60, 61, 62, 63, 64, 65,
1394 66, 67, 68, 69, 70, 71, 72, 73, 74, 75,
1395 0, 0, 76, 0, 0, 0, 0, 0, 0, 0,
1396 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1397 0, 0, 0, 0, 245, 0, 0, 0, 0, 0,
1398 0, 78, 79, 80, 0, 0, 0, 0, 0, 0,
1399 0, 0, 0, 0, 0, 0, 0, 0, 0, 17,
1400 18, 19, 20, 0, 0, 0, 0, 0, 0, 0,
1401 0, 0, 0, 0, 21, 22, 23, 24, 25, 26,
1402 27, 28, 29, 30, 31, 32, 0, 0, 0, 0,
1403 0, 0, 88, 0, 89, 41, 42, 43, 44, 45,
1404 46, 47, 48, 49, 50, 51, 52, 53, 54, 55,
1405 56, 57, 58, 59, 60, 61, 62, 63, 64, 65,
1406 66, 67, 68, 69, 70, 71, 72, 73, 74, 75,
1407 0, 118, 76, 119, 173, 174, 175, 176, 177, 0,
1408 0, 178, 179, 0, 0, 0, 0, 0, 0, 0,
1409 0, 0, 0, 0, 327, 0, 0, 0, 0, 0,
1410 0, 78, 79, 80, 0, 0, 0, 0, 0, 0,
1411 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1412 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1413 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1414 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1415 0, 0, 88, 0, 89, 0, 0, 0, 0, 0,
1416 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1417 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1418 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1419 0, 180, 0, 0, 0, 0, 0, 181, 182, 183,
1420 184, 15, 16, 17, 18, 19, 20, 0, 0, 0,
1421 0, 0, 258, 0, 0, 0, 0, 0, 21, 22,
1422 23, 24, 25, 26, 27, 28, 29, 30, 31, 32,
1423 33, 34, 35, 0, 36, 37, 38, 39, 40, 41,
1424 42, 43, 44, 45, 46, 47, 48, 49, 50, 51,
1425 52, 53, 54, 55, 56, 57, 58, 59, 60, 61,
1426 62, 63, 64, 65, 66, 67, 68, 69, 70, 71,
1427 72, 73, 74, 75, 0, 118, 76, 119, 173, 174,
1428 175, 176, 177, 0, 0, 178, 179, 0, 0, 0,
1429 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1430 0, 0, 0, 0, 337, 78, 79, 80, 0, 0,
1431 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1432 0, 0, 87, 0, 0, 0, 0, 0, 0, 0,
1433 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1434 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1435 0, 0, 0, 0, 0, 0, 88, 0, 89, 0,
1436 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1437 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1438 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1439 17, 18, 19, 20, 0, 180, 0, 0, 0, 0,
1440 0, 181, 182, 183, 184, 21, 22, 23, 24, 25,
1441 26, 27, 28, 29, 30, 31, 32, 0, 0, 0,
1442 0, 0, 0, 0, 0, 0, 41, 42, 43, 44,
1443 45, 46, 47, 48, 49, 50, 51, 52, 53, 54,
1444 55, 56, 57, 58, 59, 60, 61, 62, 63, 64,
1445 65, 66, 67, 68, 69, 70, 71, 72, 73, 74,
1446 75, 0, 118, 76, 119, 173, 174, 175, 176, 177,
1447 0, 0, 178, 179, 0, 0, 0, 0, 0, 0,
1448 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1449 0, 0, 78, 79, 80, 0, 0, 0, 0, 0,
1450 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1451 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1452 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1453 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1454 0, 0, 0, 88, 0, 89, 0, 0, 0, 0,
1455 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1456 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1457 0, 0, 0, 0, 0, 0, 0, 17, 18, 19,
1458 20, 0, 180, 0, 0, 236, 0, 0, 181, 182,
1459 183, 184, 21, 22, 23, 24, 25, 26, 27, 28,
1460 29, 30, 31, 32, 0, 0, 0, 0, 0, 0,
1461 0, 0, 0, 41, 42, 43, 44, 45, 46, 47,
1462 48, 49, 50, 51, 52, 53, 54, 55, 56, 57,
1463 58, 59, 60, 61, 62, 63, 64, 65, 66, 67,
1464 68, 69, 70, 71, 72, 73, 74, 75, 0, 118,
1465 76, 119, 173, 174, 175, 176, 177, 0, 0, 178,
1466 179, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1467 0, 0, 0, 0, 0, 0, 0, 0, 0, 78,
1468 79, 80, 0, 0, 0, 0, 0, 0, 0, 0,
1469 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1470 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1471 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1472 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1473 88, 0, 89, 0, 0, 0, 0, 0, 0, 0,
1474 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1475 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1476 0, 0, 0, 0, 17, 18, 19, 20, 0, 180,
1477 0, 0, 319, 0, 0, 181, 182, 183, 184, 21,
1478 22, 23, 24, 25, 26, 27, 28, 29, 30, 31,
1479 32, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1480 41, 42, 43, 44, 45, 46, 47, 48, 49, 50,
1481 51, 52, 53, 54, 55, 56, 57, 58, 59, 60,
1482 61, 62, 63, 64, 65, 66, 67, 68, 69, 70,
1483 71, 72, 73, 74, 75, 0, 118, 76, 119, 173,
1484 174, 175, 176, 177, 0, 0, 178, 179, 0, 0,
1485 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1486 0, 0, 0, 0, 0, 0, 78, 79, 80, 0,
1487 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1488 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1489 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1490 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1491 0, 0, 0, 0, 0, 0, 0, 88, 0, 89,
1492 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1493 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1494 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1495 0, 17, 18, 19, 20, 0, 180, 0, 0, 375,
1496 0, 0, 181, 182, 183, 184, 21, 22, 23, 24,
1497 25, 26, 27, 28, 29, 30, 31, 32, 0, 0,
1498 0, 0, 0, 0, 0, 0, 0, 41, 42, 43,
1499 44, 45, 46, 47, 48, 49, 50, 51, 52, 53,
1500 54, 55, 56, 57, 58, 59, 60, 61, 62, 63,
1501 64, 65, 66, 67, 68, 69, 70, 71, 72, 73,
1502 74, 75, 0, 118, 76, 119, 173, 174, 175, 176,
1503 177, 0, 0, 178, 179, 0, 0, 0, 0, 0,
1504 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1505 0, 0, 0, 78, 79, 80, 0, 0, 0, 0,
1506 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1507 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1508 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1509 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1510 0, 0, 0, 0, 88, 0, 89, 0, 0, 0,
1511 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1512 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1513 0, 0, 0, 0, 0, 0, 0, 0, 17, 18,
1514 19, 20, 0, 180, 0, 0, 0, 0, 0, 181,
1515 182, 183, 184, 21, 22, 23, 24, 25, 26, 27,
1516 28, 29, 30, 31, 32, 0, 0, 0, 0, 0,
1517 0, 0, 0, 0, 41, 42, 43, 44, 45, 46,
1518 47, 48, 49, 50, 51, 52, 53, 54, 55, 56,
1519 57, 58, 59, 60, 61, 62, 63, 64, 65, 66,
1520 67, 68, 69, 70, 71, 72, 73, 74, 274, 0,
1521 118, 76, 119, 173, 174, 175, 176, 177, 0, 0,
1522 178, 179, 0, 0, 0, 0, 0, 0, 0, 0,
1523 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1524 78, 79, 80, 0, 0, 0, 0, 0, 0, 0,
1525 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1526 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1527 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1528 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1529 0, 88, 0, 89, 0, 0, 0, 0, 0, 0,
1530 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1531 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1532 0, 0, 0, 0, 0, 17, 18, 19, 20, 0,
1533 180, 0, 0, 0, 0, 0, 181, 182, 183, 184,
1534 21, 22, 23, 24, 25, 26, 27, 28, 29, 30,
1535 31, 32, 0, 0, 0, 0, 0, 0, 0, 0,
1536 0, 41, 42, 43, 44, 45, 46, 47, 48, 49,
1537 50, 51, 52, 53, 54, 55, 56, 57, 58, 59,
1538 60, 61, 62, 63, 64, 65, 66, 67, 68, 69,
1539 70, 71, 72, 73, 74, 396, 0, 118, 76, 119,
1540 173, 174, 175, 176, 177, 0, 0, 178, 179, 0,
1541 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1542 0, 0, 0, 0, 0, 0, 0, 78, 79, 80,
1543 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1544 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1545 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1546 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1547 0, 0, 0, 0, 0, 0, 0, 0, 88, 0,
1548 89, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1549 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1550 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1551 15, 16, 17, 18, 19, 20, 0, 180, 0, 0,
1552 0, 0, 0, 181, 182, 183, 184, 21, 22, 23,
1553 24, 25, 26, 27, 28, 29, 30, 31, 32, 33,
1554 34, 35, 0, 36, 37, 38, 39, 40, 41, 42,
1555 43, 44, 45, 46, 47, 48, 49, 50, 51, 52,
1556 53, 54, 55, 56, 57, 58, 59, 60, 61, 62,
1557 63, 64, 65, 66, 67, 68, 69, 70, 71, 72,
1558 73, 74, 75, 0, 0, 76, 0, 0, 0, 0,
1559 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1560 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1561 0, 0, 0, 77, 78, 79, 80, 0, 81, 0,
1562 0, 0, 0, 0, 0, 0, 82, 83, 84, 85,
1563 86, 87, 17, 18, 19, 20, 0, 0, 0, 0,
1564 0, 0, 0, 0, 0, 0, 0, 21, 22, 23,
1565 24, 25, 26, 27, 28, 29, 30, 31, 32, 0,
1566 0, 0, 0, 0, 0, 88, 0, 89, 41, 42,
1567 43, 44, 45, 46, 47, 48, 49, 50, 51, 52,
1568 53, 54, 55, 56, 57, 58, 59, 60, 61, 62,
1569 63, 64, 65, 66, 67, 68, 69, 70, 71, 72,
1570 73, 74, 75, 0, 0, 76, 17, 18, 19, 20,
1571 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1572 0, 21, 22, 23, 24, 25, 26, 27, 28, 29,
1573 30, 31, 32, 0, 78, 79, 80, 0, 0, 0,
1574 0, 0, 41, 42, 43, 44, 45, 46, 47, 48,
1575 49, 50, 51, 52, 53, 54, 55, 56, 57, 58,
1576 59, 60, 61, 62, 63, 64, 65, 66, 67, 68,
1577 69, 70, 71, 72, 73, 74, 75, 0, 0, 76,
1578 0, 0, 0, 0, 0, 88, 0, 89, 0, 0,
1579 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1580 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1581 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1582 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1583 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1584 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1585 0, 0, 0, 0, 0, 0, 0, 0, 0, 88,
1589 #define yypact_value_is_default(yystate) \
1590 ((yystate) == (-355))
1592 #define yytable_value_is_error(yytable_value) \
1595 static const yytype_int16 yycheck
[] =
1597 9, 8, 77, 9, 170, 166, 77, 152, 18, 19,
1598 77, 78, 79, 94, 180, 156, 18, 19, 77, 4,
1599 233, 199, 202, 89, 90, 100, 101, 87, 88, 261,
1600 198, 202, 196, 4, 202, 389, 199, 202, 218, 217,
1601 99, 81, 202, 9, 108, 202, 121, 218, 33, 34,
1602 35, 216, 152, 407, 217, 202, 218, 219, 218, 123,
1603 221, 218, 33, 34, 35, 203, 204, 74, 318, 216,
1604 234, 33, 34, 198, 112, 37, 198, 202, 178, 179,
1605 202, 0, 91, 198, 116, 91, 113, 202, 233, 115,
1606 256, 198, 99, 102, 260, 261, 198, 85, 86, 199,
1607 202, 333, 116, 269, 317, 112, 247, 116, 116, 273,
1608 197, 324, 96, 97, 98, 99, 100, 101, 102, 103,
1609 104, 105, 198, 132, 288, 91, 202, 116, 378, 77,
1610 78, 79, 141, 233, 215, 116, 143, 91, 92, 199,
1611 116, 201, 199, 309, 210, 211, 310, 156, 155, 158,
1612 400, 198, 219, 403, 318, 202, 202, 166, 107, 108,
1613 109, 374, 412, 297, 298, 299, 300, 333, 295, 296,
1614 420, 219, 317, 77, 78, 79, 33, 34, 35, 324,
1615 197, 342, 207, 208, 209, 197, 350, 293, 294, 116,
1616 290, 291, 292, 293, 294, 295, 296, 297, 298, 299,
1617 300, 301, 302, 303, 304, 305, 306, 307, 308, 220,
1618 220, 270, 221, 198, 378, 197, 382, 317, 220, 301,
1619 302, 218, 231, 230, 324, 386, 217, 197, 218, 374,
1620 197, 395, 218, 217, 398, 218, 400, 197, 247, 403,
1621 406, 197, 3, 4, 197, 197, 255, 198, 412, 212,
1622 214, 93, 261, 218, 3, 4, 420, 266, 213, 95,
1623 426, 197, 337, 270, 425, 200, 337, 3, 4, 430,
1624 431, 32, 33, 34, 374, 36, 37, 38, 39, 40,
1625 81, 199, 443, 32, 33, 34, 76, 36, 37, 38,
1626 39, 40, 198, 217, 199, 197, 32, 33, 34, 200,
1627 36, 37, 202, 198, 200, 197, 217, 198, 217, 219,
1628 200, 200, 198, 198, 12, 218, 200, 216, 325, 217,
1629 217, 308, 135, 303, 333, 218, 304, 306, 77, 251,
1630 79, 305, 339, 342, 307, 142, 81, 231, 158, 255,
1631 93, 266, 407, 231, 430, 91, -1, 255, 325, 432,
1632 -1, -1, -1, -1, -1, -1, -1, -1, 333, -1,
1633 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1634 -1, -1, -1, -1, -1, -1, -1, 386, -1, -1,
1635 389, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1636 -1, -1, -1, -1, -1, -1, -1, -1, 407, -1,
1637 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1638 -1, -1, -1, -1, -1, -1, 425, -1, -1, -1,
1639 -1, 430, 431, -1, -1, 3, 4, 5, 6, 7,
1640 8, 9, 10, 11, 443, 13, 14, 15, 16, 17,
1641 -1, -1, 20, 21, 22, 23, 24, 25, 26, 27,
1642 28, 29, 30, 31, 32, 33, 34, -1, 36, 37,
1643 38, 39, 40, 41, 42, 43, 44, 45, 46, 47,
1644 48, 49, 50, 51, 52, 53, 54, 55, 56, 57,
1645 58, 59, 60, 61, 62, 63, 64, 65, 66, 67,
1646 68, 69, 70, 71, 72, 73, 74, 75, 76, 77,
1647 78, 79, 80, 81, 82, 83, 84, -1, -1, 87,
1648 88, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1649 -1, -1, -1, -1, -1, -1, -1, -1, 106, 107,
1650 108, 109, -1, 111, -1, -1, -1, -1, -1, -1,
1651 -1, -1, -1, -1, -1, -1, 124, -1, -1, -1,
1652 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1653 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1654 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1655 158, -1, 160, -1, -1, -1, -1, -1, -1, -1,
1656 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1657 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1658 -1, -1, -1, -1, -1, -1, -1, -1, -1, 197,
1659 -1, -1, -1, -1, -1, 203, 204, 205, 206, -1,
1660 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1661 218, 219, 220, 3, 4, 5, 6, 7, 8, 9,
1662 10, 11, -1, 13, 14, 15, 16, 17, -1, -1,
1663 20, 21, 22, 23, 24, 25, 26, 27, 28, 29,
1664 30, 31, 32, 33, 34, -1, 36, 37, 38, 39,
1665 40, 41, 42, 43, 44, 45, 46, 47, 48, 49,
1666 50, 51, 52, 53, 54, 55, 56, 57, 58, 59,
1667 60, 61, 62, 63, 64, 65, 66, 67, 68, 69,
1668 70, 71, 72, 73, 74, 75, 76, 77, 78, 79,
1669 80, 81, 82, 83, 84, -1, -1, 87, 88, -1,
1670 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1671 -1, -1, -1, -1, -1, -1, 106, 107, 108, 109,
1672 -1, 111, -1, -1, -1, -1, -1, -1, -1, -1,
1673 -1, -1, -1, -1, 124, -1, -1, -1, -1, -1,
1674 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1675 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1676 -1, -1, -1, -1, -1, -1, -1, -1, 158, -1,
1677 160, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1678 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1679 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1680 -1, -1, -1, -1, -1, -1, -1, 197, -1, -1,
1681 -1, -1, -1, 203, 204, 205, 206, -1, -1, -1,
1682 -1, -1, -1, -1, -1, -1, -1, -1, 218, 219,
1683 220, 3, 4, 5, 6, 7, 8, 9, 10, 11,
1684 -1, 13, 14, 15, 16, 17, -1, -1, 20, 21,
1685 22, 23, 24, 25, 26, 27, 28, 29, 30, 31,
1686 32, 33, 34, -1, 36, 37, 38, 39, 40, 41,
1687 42, 43, 44, 45, 46, 47, 48, 49, 50, 51,
1688 52, 53, 54, 55, 56, 57, 58, 59, 60, 61,
1689 62, 63, 64, 65, 66, 67, 68, 69, 70, 71,
1690 72, 73, 74, 75, 76, 77, 78, 79, 80, 81,
1691 82, 83, 84, -1, -1, 87, 88, -1, -1, -1,
1692 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1693 -1, -1, -1, -1, 106, 107, 108, 109, -1, 111,
1694 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1695 -1, -1, 124, -1, -1, -1, -1, -1, -1, -1,
1696 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1697 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1698 -1, -1, -1, -1, -1, -1, 158, -1, 160, -1,
1699 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1700 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1701 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1702 -1, -1, -1, -1, -1, 197, -1, -1, -1, -1,
1703 -1, 203, 204, 205, 206, -1, -1, -1, -1, -1,
1704 -1, -1, -1, -1, -1, -1, 218, 219, 220, 3,
1705 4, 5, 6, 7, 8, 9, 10, 11, -1, 13,
1706 14, 15, 16, 17, 18, 19, 20, 21, 22, 23,
1707 24, 25, 26, 27, 28, 29, 30, 31, 32, 33,
1708 34, -1, 36, 37, 38, 39, 40, 41, 42, 43,
1709 44, 45, 46, 47, 48, 49, 50, 51, 52, 53,
1710 54, 55, 56, 57, 58, 59, 60, 61, 62, 63,
1711 64, 65, 66, 67, 68, 69, 70, 71, 72, 73,
1712 74, 75, 76, 77, 78, 79, 80, 81, 82, 83,
1713 84, -1, -1, 87, 88, -1, -1, -1, -1, -1,
1714 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1715 -1, -1, 106, 107, 108, 109, -1, 111, -1, -1,
1716 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1717 124, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1718 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1719 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1720 -1, -1, -1, -1, 158, -1, 160, -1, -1, -1,
1721 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1722 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1723 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1724 -1, -1, -1, 197, -1, -1, -1, -1, -1, 203,
1725 204, 205, 206, -1, -1, -1, -1, -1, -1, -1,
1726 -1, -1, -1, -1, 218, 219, 3, 4, 5, 6,
1727 7, 8, 9, 10, 11, -1, 13, 14, 15, 16,
1728 17, -1, -1, 20, 21, 22, 23, 24, 25, 26,
1729 27, 28, 29, 30, 31, 32, 33, 34, -1, 36,
1730 37, 38, 39, 40, 41, 42, 43, 44, 45, 46,
1731 47, 48, 49, 50, 51, 52, 53, 54, 55, 56,
1732 57, 58, 59, 60, 61, 62, 63, 64, 65, 66,
1733 67, 68, 69, 70, 71, 72, 73, 74, 75, 76,
1734 77, 78, 79, 80, 81, 82, 83, 84, -1, -1,
1735 87, 88, -1, -1, -1, -1, -1, -1, -1, -1,
1736 -1, -1, -1, -1, -1, -1, -1, -1, -1, 106,
1737 107, 108, 109, -1, 111, -1, -1, -1, -1, -1,
1738 -1, -1, -1, -1, -1, -1, -1, 124, -1, -1,
1739 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1740 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1741 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1742 -1, 158, -1, 160, -1, -1, -1, -1, -1, -1,
1743 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1744 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1745 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1746 197, -1, -1, -1, -1, -1, 203, 204, 205, 206,
1747 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1748 -1, 218, 219, 3, 4, 5, 6, 7, 8, 9,
1749 10, 11, -1, 13, 14, 15, 16, 17, -1, -1,
1750 20, 21, 22, 23, 24, 25, 26, 27, 28, 29,
1751 30, 31, 32, 33, 34, -1, 36, 37, 38, 39,
1752 40, 41, 42, 43, 44, 45, 46, 47, 48, 49,
1753 50, 51, 52, 53, 54, 55, 56, 57, 58, 59,
1754 60, 61, 62, 63, 64, 65, 66, 67, 68, 69,
1755 70, 71, 72, 73, 74, 75, 76, 77, 78, 79,
1756 80, 81, 82, 83, 84, -1, -1, 87, 88, -1,
1757 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1758 -1, -1, -1, -1, -1, -1, 106, 107, 108, 109,
1759 -1, 111, -1, -1, -1, -1, -1, -1, -1, -1,
1760 -1, -1, -1, -1, 124, -1, -1, -1, -1, -1,
1761 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1762 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1763 -1, -1, -1, -1, -1, -1, -1, -1, 158, -1,
1764 160, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1765 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1766 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1767 -1, -1, -1, -1, -1, -1, -1, 197, -1, -1,
1768 -1, -1, -1, 203, 204, 205, 206, 3, 4, 5,
1769 6, 7, 8, -1, -1, -1, -1, -1, 218, 219,
1770 -1, -1, -1, -1, 20, 21, 22, 23, 24, 25,
1771 26, 27, 28, 29, 30, 31, 32, 33, 34, -1,
1772 36, 37, 38, 39, 40, 41, 42, 43, 44, 45,
1773 46, 47, 48, 49, 50, 51, 52, 53, 54, 55,
1774 56, 57, 58, 59, 60, 61, 62, 63, 64, 65,
1775 66, 67, 68, 69, 70, 71, 72, 73, 74, 75,
1776 -1, 77, 78, 79, 80, 81, 82, 83, 84, -1,
1777 -1, 87, 88, -1, -1, -1, -1, -1, -1, -1,
1778 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1779 106, 107, 108, 109, -1, 111, -1, -1, -1, -1,
1780 -1, -1, -1, -1, -1, -1, -1, -1, 124, 5,
1781 6, 7, 8, -1, -1, -1, -1, -1, -1, -1,
1782 -1, -1, -1, -1, 20, 21, 22, 23, 24, 25,
1783 26, 27, 28, 29, 30, 31, -1, -1, -1, -1,
1784 -1, -1, 158, -1, 160, 41, 42, 43, 44, 45,
1785 46, 47, 48, 49, 50, 51, 52, 53, 54, 55,
1786 56, 57, 58, 59, 60, 61, 62, 63, 64, 65,
1787 66, 67, 68, 69, 70, 71, 72, 73, 74, 75,
1788 -1, 197, 78, -1, -1, -1, -1, 203, 204, 205,
1789 206, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1790 -1, -1, 218, -1, -1, -1, -1, -1, -1, -1,
1791 -1, 107, 108, 109, -1, -1, -1, -1, -1, -1,
1792 -1, -1, -1, -1, -1, -1, -1, -1, -1, 5,
1793 6, 7, 8, -1, -1, -1, -1, -1, -1, -1,
1794 -1, -1, -1, -1, 20, 21, 22, 23, 24, 25,
1795 26, 27, 28, 29, 30, 31, -1, -1, -1, -1,
1796 -1, -1, 158, -1, 160, 41, 42, 43, 44, 45,
1797 46, 47, 48, 49, 50, 51, 52, 53, 54, 55,
1798 56, 57, 58, 59, 60, 61, 62, 63, 64, 65,
1799 66, 67, 68, 69, 70, 71, 72, 73, 74, 75,
1800 -1, -1, 78, -1, -1, -1, -1, -1, -1, -1,
1801 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1802 -1, -1, -1, -1, 220, -1, -1, -1, -1, -1,
1803 -1, 107, 108, 109, -1, -1, -1, -1, -1, -1,
1804 -1, -1, -1, -1, -1, -1, -1, -1, -1, 5,
1805 6, 7, 8, -1, -1, -1, -1, -1, -1, -1,
1806 -1, -1, -1, -1, 20, 21, 22, 23, 24, 25,
1807 26, 27, 28, 29, 30, 31, -1, -1, -1, -1,
1808 -1, -1, 158, -1, 160, 41, 42, 43, 44, 45,
1809 46, 47, 48, 49, 50, 51, 52, 53, 54, 55,
1810 56, 57, 58, 59, 60, 61, 62, 63, 64, 65,
1811 66, 67, 68, 69, 70, 71, 72, 73, 74, 75,
1812 -1, 77, 78, 79, 80, 81, 82, 83, 84, -1,
1813 -1, 87, 88, -1, -1, -1, -1, -1, -1, -1,
1814 -1, -1, -1, -1, 220, -1, -1, -1, -1, -1,
1815 -1, 107, 108, 109, -1, -1, -1, -1, -1, -1,
1816 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1817 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1818 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1819 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1820 -1, -1, 158, -1, 160, -1, -1, -1, -1, -1,
1821 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1822 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1823 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1824 -1, 197, -1, -1, -1, -1, -1, 203, 204, 205,
1825 206, 3, 4, 5, 6, 7, 8, -1, -1, -1,
1826 -1, -1, 218, -1, -1, -1, -1, -1, 20, 21,
1827 22, 23, 24, 25, 26, 27, 28, 29, 30, 31,
1828 32, 33, 34, -1, 36, 37, 38, 39, 40, 41,
1829 42, 43, 44, 45, 46, 47, 48, 49, 50, 51,
1830 52, 53, 54, 55, 56, 57, 58, 59, 60, 61,
1831 62, 63, 64, 65, 66, 67, 68, 69, 70, 71,
1832 72, 73, 74, 75, -1, 77, 78, 79, 80, 81,
1833 82, 83, 84, -1, -1, 87, 88, -1, -1, -1,
1834 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1835 -1, -1, -1, -1, 106, 107, 108, 109, -1, -1,
1836 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1837 -1, -1, 124, -1, -1, -1, -1, -1, -1, -1,
1838 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1839 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1840 -1, -1, -1, -1, -1, -1, 158, -1, 160, -1,
1841 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1842 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1843 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1844 5, 6, 7, 8, -1, 197, -1, -1, -1, -1,
1845 -1, 203, 204, 205, 206, 20, 21, 22, 23, 24,
1846 25, 26, 27, 28, 29, 30, 31, -1, -1, -1,
1847 -1, -1, -1, -1, -1, -1, 41, 42, 43, 44,
1848 45, 46, 47, 48, 49, 50, 51, 52, 53, 54,
1849 55, 56, 57, 58, 59, 60, 61, 62, 63, 64,
1850 65, 66, 67, 68, 69, 70, 71, 72, 73, 74,
1851 75, -1, 77, 78, 79, 80, 81, 82, 83, 84,
1852 -1, -1, 87, 88, -1, -1, -1, -1, -1, -1,
1853 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1854 -1, -1, 107, 108, 109, -1, -1, -1, -1, -1,
1855 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1856 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1857 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1858 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1859 -1, -1, -1, 158, -1, 160, -1, -1, -1, -1,
1860 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1861 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1862 -1, -1, -1, -1, -1, -1, -1, 5, 6, 7,
1863 8, -1, 197, -1, -1, 200, -1, -1, 203, 204,
1864 205, 206, 20, 21, 22, 23, 24, 25, 26, 27,
1865 28, 29, 30, 31, -1, -1, -1, -1, -1, -1,
1866 -1, -1, -1, 41, 42, 43, 44, 45, 46, 47,
1867 48, 49, 50, 51, 52, 53, 54, 55, 56, 57,
1868 58, 59, 60, 61, 62, 63, 64, 65, 66, 67,
1869 68, 69, 70, 71, 72, 73, 74, 75, -1, 77,
1870 78, 79, 80, 81, 82, 83, 84, -1, -1, 87,
1871 88, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1872 -1, -1, -1, -1, -1, -1, -1, -1, -1, 107,
1873 108, 109, -1, -1, -1, -1, -1, -1, -1, -1,
1874 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1875 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1876 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1877 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1878 158, -1, 160, -1, -1, -1, -1, -1, -1, -1,
1879 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1880 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1881 -1, -1, -1, -1, 5, 6, 7, 8, -1, 197,
1882 -1, -1, 200, -1, -1, 203, 204, 205, 206, 20,
1883 21, 22, 23, 24, 25, 26, 27, 28, 29, 30,
1884 31, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1885 41, 42, 43, 44, 45, 46, 47, 48, 49, 50,
1886 51, 52, 53, 54, 55, 56, 57, 58, 59, 60,
1887 61, 62, 63, 64, 65, 66, 67, 68, 69, 70,
1888 71, 72, 73, 74, 75, -1, 77, 78, 79, 80,
1889 81, 82, 83, 84, -1, -1, 87, 88, -1, -1,
1890 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1891 -1, -1, -1, -1, -1, -1, 107, 108, 109, -1,
1892 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1893 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1894 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1895 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1896 -1, -1, -1, -1, -1, -1, -1, 158, -1, 160,
1897 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1898 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1899 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1900 -1, 5, 6, 7, 8, -1, 197, -1, -1, 200,
1901 -1, -1, 203, 204, 205, 206, 20, 21, 22, 23,
1902 24, 25, 26, 27, 28, 29, 30, 31, -1, -1,
1903 -1, -1, -1, -1, -1, -1, -1, 41, 42, 43,
1904 44, 45, 46, 47, 48, 49, 50, 51, 52, 53,
1905 54, 55, 56, 57, 58, 59, 60, 61, 62, 63,
1906 64, 65, 66, 67, 68, 69, 70, 71, 72, 73,
1907 74, 75, -1, 77, 78, 79, 80, 81, 82, 83,
1908 84, -1, -1, 87, 88, -1, -1, -1, -1, -1,
1909 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1910 -1, -1, -1, 107, 108, 109, -1, -1, -1, -1,
1911 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1912 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1913 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1914 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1915 -1, -1, -1, -1, 158, -1, 160, -1, -1, -1,
1916 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1917 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1918 -1, -1, -1, -1, -1, -1, -1, -1, 5, 6,
1919 7, 8, -1, 197, -1, -1, -1, -1, -1, 203,
1920 204, 205, 206, 20, 21, 22, 23, 24, 25, 26,
1921 27, 28, 29, 30, 31, -1, -1, -1, -1, -1,
1922 -1, -1, -1, -1, 41, 42, 43, 44, 45, 46,
1923 47, 48, 49, 50, 51, 52, 53, 54, 55, 56,
1924 57, 58, 59, 60, 61, 62, 63, 64, 65, 66,
1925 67, 68, 69, 70, 71, 72, 73, 74, 75, -1,
1926 77, 78, 79, 80, 81, 82, 83, 84, -1, -1,
1927 87, 88, -1, -1, -1, -1, -1, -1, -1, -1,
1928 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1929 107, 108, 109, -1, -1, -1, -1, -1, -1, -1,
1930 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1931 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1932 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1933 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1934 -1, 158, -1, 160, -1, -1, -1, -1, -1, -1,
1935 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1936 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1937 -1, -1, -1, -1, -1, 5, 6, 7, 8, -1,
1938 197, -1, -1, -1, -1, -1, 203, 204, 205, 206,
1939 20, 21, 22, 23, 24, 25, 26, 27, 28, 29,
1940 30, 31, -1, -1, -1, -1, -1, -1, -1, -1,
1941 -1, 41, 42, 43, 44, 45, 46, 47, 48, 49,
1942 50, 51, 52, 53, 54, 55, 56, 57, 58, 59,
1943 60, 61, 62, 63, 64, 65, 66, 67, 68, 69,
1944 70, 71, 72, 73, 74, 75, -1, 77, 78, 79,
1945 80, 81, 82, 83, 84, -1, -1, 87, 88, -1,
1946 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1947 -1, -1, -1, -1, -1, -1, -1, 107, 108, 109,
1948 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1949 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1950 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1951 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1952 -1, -1, -1, -1, -1, -1, -1, -1, 158, -1,
1953 160, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1954 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1955 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1956 3, 4, 5, 6, 7, 8, -1, 197, -1, -1,
1957 -1, -1, -1, 203, 204, 205, 206, 20, 21, 22,
1958 23, 24, 25, 26, 27, 28, 29, 30, 31, 32,
1959 33, 34, -1, 36, 37, 38, 39, 40, 41, 42,
1960 43, 44, 45, 46, 47, 48, 49, 50, 51, 52,
1961 53, 54, 55, 56, 57, 58, 59, 60, 61, 62,
1962 63, 64, 65, 66, 67, 68, 69, 70, 71, 72,
1963 73, 74, 75, -1, -1, 78, -1, -1, -1, -1,
1964 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1965 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1966 -1, -1, -1, 106, 107, 108, 109, -1, 111, -1,
1967 -1, -1, -1, -1, -1, -1, 119, 120, 121, 122,
1968 123, 124, 5, 6, 7, 8, -1, -1, -1, -1,
1969 -1, -1, -1, -1, -1, -1, -1, 20, 21, 22,
1970 23, 24, 25, 26, 27, 28, 29, 30, 31, -1,
1971 -1, -1, -1, -1, -1, 158, -1, 160, 41, 42,
1972 43, 44, 45, 46, 47, 48, 49, 50, 51, 52,
1973 53, 54, 55, 56, 57, 58, 59, 60, 61, 62,
1974 63, 64, 65, 66, 67, 68, 69, 70, 71, 72,
1975 73, 74, 75, -1, -1, 78, 5, 6, 7, 8,
1976 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1977 -1, 20, 21, 22, 23, 24, 25, 26, 27, 28,
1978 29, 30, 31, -1, 107, 108, 109, -1, -1, -1,
1979 -1, -1, 41, 42, 43, 44, 45, 46, 47, 48,
1980 49, 50, 51, 52, 53, 54, 55, 56, 57, 58,
1981 59, 60, 61, 62, 63, 64, 65, 66, 67, 68,
1982 69, 70, 71, 72, 73, 74, 75, -1, -1, 78,
1983 -1, -1, -1, -1, -1, 158, -1, 160, -1, -1,
1984 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1985 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1986 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1987 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1988 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1989 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1990 -1, -1, -1, -1, -1, -1, -1, -1, -1, 158,
1994 /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
1995 symbol of state STATE-NUM. */
1996 static const yytype_uint16 yystos
[] =
1998 0, 112, 222, 224, 81, 0, 226, 116, 113, 223,
1999 228, 77, 78, 79, 227, 3, 4, 5, 6, 7,
2000 8, 20, 21, 22, 23, 24, 25, 26, 27, 28,
2001 29, 30, 31, 32, 33, 34, 36, 37, 38, 39,
2002 40, 41, 42, 43, 44, 45, 46, 47, 48, 49,
2003 50, 51, 52, 53, 54, 55, 56, 57, 58, 59,
2004 60, 61, 62, 63, 64, 65, 66, 67, 68, 69,
2005 70, 71, 72, 73, 74, 75, 78, 106, 107, 108,
2006 109, 111, 119, 120, 121, 122, 123, 124, 158, 160,
2007 225, 229, 263, 264, 265, 266, 267, 272, 273, 274,
2008 275, 278, 280, 281, 282, 283, 284, 285, 286, 287,
2009 316, 317, 115, 33, 34, 37, 219, 227, 77, 79,
2010 230, 278, 281, 286, 116, 116, 116, 116, 116, 197,
2011 316, 218, 219, 299, 198, 202, 4, 33, 34, 35,
2012 269, 270, 279, 202, 218, 77, 79, 227, 230, 281,
2013 281, 282, 199, 283, 227, 282, 288, 289, 219, 281,
2014 283, 227, 276, 277, 9, 10, 11, 13, 14, 15,
2015 16, 17, 76, 80, 81, 82, 83, 84, 87, 88,
2016 197, 203, 204, 205, 206, 218, 219, 220, 230, 231,
2017 232, 234, 235, 236, 237, 238, 239, 240, 245, 246,
2018 247, 248, 249, 250, 251, 252, 253, 254, 255, 256,
2019 257, 258, 259, 261, 263, 264, 282, 293, 294, 295,
2020 296, 300, 301, 302, 305, 311, 315, 269, 268, 271,
2021 282, 270, 227, 199, 217, 197, 200, 245, 258, 262,
2022 282, 116, 227, 290, 291, 220, 289, 288, 218, 217,
2023 198, 202, 218, 218, 294, 197, 197, 218, 218, 261,
2024 197, 197, 245, 245, 261, 220, 297, 87, 88, 199,
2025 201, 198, 198, 202, 75, 259, 197, 96, 97, 98,
2026 99, 100, 101, 102, 103, 104, 105, 217, 260, 245,
2027 207, 208, 209, 203, 204, 85, 86, 89, 90, 210,
2028 211, 91, 92, 212, 213, 214, 93, 95, 94, 215,
2029 202, 218, 220, 294, 227, 268, 271, 199, 217, 200,
2030 262, 259, 292, 200, 199, 202, 218, 220, 81, 277,
2031 76, 293, 301, 312, 261, 218, 261, 106, 261, 274,
2032 304, 198, 300, 233, 261, 227, 230, 241, 242, 243,
2033 244, 259, 259, 245, 245, 245, 247, 247, 248, 248,
2034 249, 249, 249, 249, 250, 250, 251, 252, 253, 254,
2035 255, 256, 261, 259, 199, 200, 262, 292, 217, 200,
2036 262, 291, 197, 304, 313, 314, 198, 198, 227, 198,
2037 220, 200, 197, 198, 198, 202, 75, 259, 216, 262,
2038 217, 200, 292, 217, 200, 261, 218, 198, 294, 303,
2039 219, 306, 217, 295, 298, 299, 259, 259, 200, 292,
2040 217, 292, 198, 261, 298, 12, 18, 19, 220, 307,
2041 308, 309, 310, 292, 292, 218, 294, 261, 216, 294,
2042 307, 294, 220, 309, 216
2045 #define yyerrok (yyerrstatus = 0)
2046 #define yyclearin (yychar = YYEMPTY)
2047 #define YYEMPTY (-2)
2050 #define YYACCEPT goto yyacceptlab
2051 #define YYABORT goto yyabortlab
2052 #define YYERROR goto yyerrorlab
2055 /* Like YYERROR except do call yyerror. This remains here temporarily
2056 to ease the transition to the new meaning of YYERROR, for GCC.
2057 Once GCC version 2 has supplanted version 1, this can go. However,
2058 YYFAIL appears to be in use. Nevertheless, it is formally deprecated
2059 in Bison 2.4.2's NEWS entry, where a plan to phase it out is
2062 #define YYFAIL goto yyerrlab
2064 /* This is here to suppress warnings from the GCC cpp's
2065 -Wunused-macros. Normally we don't worry about that warning, but
2066 some users do, and we want to make it easy for users to remove
2067 YYFAIL uses, which will produce warnings from Bison 2.5. */
2070 #define YYRECOVERING() (!!yyerrstatus)
2072 #define YYBACKUP(Token, Value) \
2074 if (yychar == YYEMPTY && yylen == 1) \
2083 yyerror (&yylloc, state, YY_("syntax error: cannot back up")); \
2090 #define YYERRCODE 256
2093 /* YYLLOC_DEFAULT -- Set CURRENT to span from RHS[1] to RHS[N].
2094 If N is 0, then set CURRENT to the empty location which ends
2095 the previous symbol: RHS[0] (always defined). */
2097 #define YYRHSLOC(Rhs, K) ((Rhs)[K])
2098 #ifndef YYLLOC_DEFAULT
2099 # define YYLLOC_DEFAULT(Current, Rhs, N) \
2103 (Current).first_line = YYRHSLOC (Rhs, 1).first_line; \
2104 (Current).first_column = YYRHSLOC (Rhs, 1).first_column; \
2105 (Current).last_line = YYRHSLOC (Rhs, N).last_line; \
2106 (Current).last_column = YYRHSLOC (Rhs, N).last_column; \
2110 (Current).first_line = (Current).last_line = \
2111 YYRHSLOC (Rhs, 0).last_line; \
2112 (Current).first_column = (Current).last_column = \
2113 YYRHSLOC (Rhs, 0).last_column; \
2119 /* YY_LOCATION_PRINT -- Print the location on the stream.
2120 This macro was not mandated originally: define only if we know
2121 we won't break user code: when these are the locations we know. */
2123 #ifndef YY_LOCATION_PRINT
2124 # if defined YYLTYPE_IS_TRIVIAL && YYLTYPE_IS_TRIVIAL
2125 # define YY_LOCATION_PRINT(File, Loc) \
2126 fprintf (File, "%d.%d-%d.%d", \
2127 (Loc).first_line, (Loc).first_column, \
2128 (Loc).last_line, (Loc).last_column)
2130 # define YY_LOCATION_PRINT(File, Loc) ((void) 0)
2135 /* YYLEX -- calling `yylex' with the right arguments. */
2138 # define YYLEX yylex (&yylval, &yylloc, YYLEX_PARAM)
2140 # define YYLEX yylex (&yylval, &yylloc, scanner)
2143 /* Enable debugging if requested. */
2147 # include <stdio.h> /* INFRINGES ON USER NAME SPACE */
2148 # define YYFPRINTF fprintf
2151 # define YYDPRINTF(Args) \
2157 # define YY_SYMBOL_PRINT(Title, Type, Value, Location) \
2161 YYFPRINTF (stderr, "%s ", Title); \
2162 yy_symbol_print (stderr, \
2163 Type, Value, Location, state); \
2164 YYFPRINTF (stderr, "\n"); \
2169 /*--------------------------------.
2170 | Print this symbol on YYOUTPUT. |
2171 `--------------------------------*/
2174 #if (defined __STDC__ || defined __C99__FUNC__ \
2175 || defined __cplusplus || defined _MSC_VER)
2177 yy_symbol_value_print (FILE *yyoutput
, int yytype
, YYSTYPE
const * const yyvaluep
, YYLTYPE
const * const yylocationp
, struct _mesa_glsl_parse_state
*state
)
2180 yy_symbol_value_print (yyoutput
, yytype
, yyvaluep
, yylocationp
, state
)
2183 YYSTYPE
const * const yyvaluep
;
2184 YYLTYPE
const * const yylocationp
;
2185 struct _mesa_glsl_parse_state
*state
;
2190 YYUSE (yylocationp
);
2193 if (yytype
< YYNTOKENS
)
2194 YYPRINT (yyoutput
, yytoknum
[yytype
], *yyvaluep
);
2206 /*--------------------------------.
2207 | Print this symbol on YYOUTPUT. |
2208 `--------------------------------*/
2210 #if (defined __STDC__ || defined __C99__FUNC__ \
2211 || defined __cplusplus || defined _MSC_VER)
2213 yy_symbol_print (FILE *yyoutput
, int yytype
, YYSTYPE
const * const yyvaluep
, YYLTYPE
const * const yylocationp
, struct _mesa_glsl_parse_state
*state
)
2216 yy_symbol_print (yyoutput
, yytype
, yyvaluep
, yylocationp
, state
)
2219 YYSTYPE
const * const yyvaluep
;
2220 YYLTYPE
const * const yylocationp
;
2221 struct _mesa_glsl_parse_state
*state
;
2224 if (yytype
< YYNTOKENS
)
2225 YYFPRINTF (yyoutput
, "token %s (", yytname
[yytype
]);
2227 YYFPRINTF (yyoutput
, "nterm %s (", yytname
[yytype
]);
2229 YY_LOCATION_PRINT (yyoutput
, *yylocationp
);
2230 YYFPRINTF (yyoutput
, ": ");
2231 yy_symbol_value_print (yyoutput
, yytype
, yyvaluep
, yylocationp
, state
);
2232 YYFPRINTF (yyoutput
, ")");
2235 /*------------------------------------------------------------------.
2236 | yy_stack_print -- Print the state stack from its BOTTOM up to its |
2238 `------------------------------------------------------------------*/
2240 #if (defined __STDC__ || defined __C99__FUNC__ \
2241 || defined __cplusplus || defined _MSC_VER)
2243 yy_stack_print (yytype_int16
*yybottom
, yytype_int16
*yytop
)
2246 yy_stack_print (yybottom
, yytop
)
2247 yytype_int16
*yybottom
;
2248 yytype_int16
*yytop
;
2251 YYFPRINTF (stderr
, "Stack now");
2252 for (; yybottom
<= yytop
; yybottom
++)
2254 int yybot
= *yybottom
;
2255 YYFPRINTF (stderr
, " %d", yybot
);
2257 YYFPRINTF (stderr
, "\n");
2260 # define YY_STACK_PRINT(Bottom, Top) \
2263 yy_stack_print ((Bottom), (Top)); \
2267 /*------------------------------------------------.
2268 | Report that the YYRULE is going to be reduced. |
2269 `------------------------------------------------*/
2271 #if (defined __STDC__ || defined __C99__FUNC__ \
2272 || defined __cplusplus || defined _MSC_VER)
2274 yy_reduce_print (YYSTYPE
*yyvsp
, YYLTYPE
*yylsp
, int yyrule
, struct _mesa_glsl_parse_state
*state
)
2277 yy_reduce_print (yyvsp
, yylsp
, yyrule
, state
)
2281 struct _mesa_glsl_parse_state
*state
;
2284 int yynrhs
= yyr2
[yyrule
];
2286 unsigned long int yylno
= yyrline
[yyrule
];
2287 YYFPRINTF (stderr
, "Reducing stack by rule %d (line %lu):\n",
2289 /* The symbols being reduced. */
2290 for (yyi
= 0; yyi
< yynrhs
; yyi
++)
2292 YYFPRINTF (stderr
, " $%d = ", yyi
+ 1);
2293 yy_symbol_print (stderr
, yyrhs
[yyprhs
[yyrule
] + yyi
],
2294 &(yyvsp
[(yyi
+ 1) - (yynrhs
)])
2295 , &(yylsp
[(yyi
+ 1) - (yynrhs
)]) , state
);
2296 YYFPRINTF (stderr
, "\n");
2300 # define YY_REDUCE_PRINT(Rule) \
2303 yy_reduce_print (yyvsp, yylsp, Rule, state); \
2306 /* Nonzero means print parse trace. It is left uninitialized so that
2307 multiple parsers can coexist. */
2309 #else /* !YYDEBUG */
2310 # define YYDPRINTF(Args)
2311 # define YY_SYMBOL_PRINT(Title, Type, Value, Location)
2312 # define YY_STACK_PRINT(Bottom, Top)
2313 # define YY_REDUCE_PRINT(Rule)
2314 #endif /* !YYDEBUG */
2317 /* YYINITDEPTH -- initial size of the parser's stacks. */
2319 # define YYINITDEPTH 200
2322 /* YYMAXDEPTH -- maximum size the stacks can grow to (effective only
2323 if the built-in stack extension method is used).
2325 Do not make this value too large; the results are undefined if
2326 YYSTACK_ALLOC_MAXIMUM < YYSTACK_BYTES (YYMAXDEPTH)
2327 evaluated with infinite-precision integer arithmetic. */
2330 # define YYMAXDEPTH 10000
2337 # if defined __GLIBC__ && defined _STRING_H
2338 # define yystrlen strlen
2340 /* Return the length of YYSTR. */
2341 #if (defined __STDC__ || defined __C99__FUNC__ \
2342 || defined __cplusplus || defined _MSC_VER)
2344 yystrlen (const char *yystr
)
2352 for (yylen
= 0; yystr
[yylen
]; yylen
++)
2360 # if defined __GLIBC__ && defined _STRING_H && defined _GNU_SOURCE
2361 # define yystpcpy stpcpy
2363 /* Copy YYSRC to YYDEST, returning the address of the terminating '\0' in
2365 #if (defined __STDC__ || defined __C99__FUNC__ \
2366 || defined __cplusplus || defined _MSC_VER)
2368 yystpcpy (char *yydest
, const char *yysrc
)
2371 yystpcpy (yydest
, yysrc
)
2377 const char *yys
= yysrc
;
2379 while ((*yyd
++ = *yys
++) != '\0')
2388 /* Copy to YYRES the contents of YYSTR after stripping away unnecessary
2389 quotes and backslashes, so that it's suitable for yyerror. The
2390 heuristic is that double-quoting is unnecessary unless the string
2391 contains an apostrophe, a comma, or backslash (other than
2392 backslash-backslash). YYSTR is taken from yytname. If YYRES is
2393 null, do not copy; instead, return the length of what the result
2396 yytnamerr (char *yyres
, const char *yystr
)
2401 char const *yyp
= yystr
;
2408 goto do_not_strip_quotes
;
2412 goto do_not_strip_quotes
;
2425 do_not_strip_quotes
: ;
2429 return yystrlen (yystr
);
2431 return yystpcpy (yyres
, yystr
) - yyres
;
2435 /* Copy into *YYMSG, which is of size *YYMSG_ALLOC, an error message
2436 about the unexpected token YYTOKEN for the state stack whose top is
2439 Return 0 if *YYMSG was successfully written. Return 1 if *YYMSG is
2440 not large enough to hold the message. In that case, also set
2441 *YYMSG_ALLOC to the required number of bytes. Return 2 if the
2442 required number of bytes is too large to store. */
2444 yysyntax_error (YYSIZE_T
*yymsg_alloc
, char **yymsg
,
2445 yytype_int16
*yyssp
, int yytoken
)
2447 YYSIZE_T yysize0
= yytnamerr (0, yytname
[yytoken
]);
2448 YYSIZE_T yysize
= yysize0
;
2450 enum { YYERROR_VERBOSE_ARGS_MAXIMUM
= 5 };
2451 /* Internationalized format string. */
2452 const char *yyformat
= 0;
2453 /* Arguments of yyformat. */
2454 char const *yyarg
[YYERROR_VERBOSE_ARGS_MAXIMUM
];
2455 /* Number of reported tokens (one for the "unexpected", one per
2459 /* There are many possibilities here to consider:
2460 - Assume YYFAIL is not used. It's too flawed to consider. See
2461 <http://lists.gnu.org/archive/html/bison-patches/2009-12/msg00024.html>
2462 for details. YYERROR is fine as it does not invoke this
2464 - If this state is a consistent state with a default action, then
2465 the only way this function was invoked is if the default action
2466 is an error action. In that case, don't check for expected
2467 tokens because there are none.
2468 - The only way there can be no lookahead present (in yychar) is if
2469 this state is a consistent state with a default action. Thus,
2470 detecting the absence of a lookahead is sufficient to determine
2471 that there is no unexpected or expected token to report. In that
2472 case, just report a simple "syntax error".
2473 - Don't assume there isn't a lookahead just because this state is a
2474 consistent state with a default action. There might have been a
2475 previous inconsistent state, consistent state with a non-default
2476 action, or user semantic action that manipulated yychar.
2477 - Of course, the expected token list depends on states to have
2478 correct lookahead information, and it depends on the parser not
2479 to perform extra reductions after fetching a lookahead from the
2480 scanner and before detecting a syntax error. Thus, state merging
2481 (from LALR or IELR) and default reductions corrupt the expected
2482 token list. However, the list is correct for canonical LR with
2483 one exception: it will still contain any token that will not be
2484 accepted due to an error action in a later state.
2486 if (yytoken
!= YYEMPTY
)
2488 int yyn
= yypact
[*yyssp
];
2489 yyarg
[yycount
++] = yytname
[yytoken
];
2490 if (!yypact_value_is_default (yyn
))
2492 /* Start YYX at -YYN if negative to avoid negative indexes in
2493 YYCHECK. In other words, skip the first -YYN actions for
2494 this state because they are default actions. */
2495 int yyxbegin
= yyn
< 0 ? -yyn
: 0;
2496 /* Stay within bounds of both yycheck and yytname. */
2497 int yychecklim
= YYLAST
- yyn
+ 1;
2498 int yyxend
= yychecklim
< YYNTOKENS
? yychecklim
: YYNTOKENS
;
2501 for (yyx
= yyxbegin
; yyx
< yyxend
; ++yyx
)
2502 if (yycheck
[yyx
+ yyn
] == yyx
&& yyx
!= YYTERROR
2503 && !yytable_value_is_error (yytable
[yyx
+ yyn
]))
2505 if (yycount
== YYERROR_VERBOSE_ARGS_MAXIMUM
)
2511 yyarg
[yycount
++] = yytname
[yyx
];
2512 yysize1
= yysize
+ yytnamerr (0, yytname
[yyx
]);
2513 if (! (yysize
<= yysize1
2514 && yysize1
<= YYSTACK_ALLOC_MAXIMUM
))
2523 # define YYCASE_(N, S) \
2527 YYCASE_(0, YY_("syntax error"));
2528 YYCASE_(1, YY_("syntax error, unexpected %s"));
2529 YYCASE_(2, YY_("syntax error, unexpected %s, expecting %s"));
2530 YYCASE_(3, YY_("syntax error, unexpected %s, expecting %s or %s"));
2531 YYCASE_(4, YY_("syntax error, unexpected %s, expecting %s or %s or %s"));
2532 YYCASE_(5, YY_("syntax error, unexpected %s, expecting %s or %s or %s or %s"));
2536 yysize1
= yysize
+ yystrlen (yyformat
);
2537 if (! (yysize
<= yysize1
&& yysize1
<= YYSTACK_ALLOC_MAXIMUM
))
2541 if (*yymsg_alloc
< yysize
)
2543 *yymsg_alloc
= 2 * yysize
;
2544 if (! (yysize
<= *yymsg_alloc
2545 && *yymsg_alloc
<= YYSTACK_ALLOC_MAXIMUM
))
2546 *yymsg_alloc
= YYSTACK_ALLOC_MAXIMUM
;
2550 /* Avoid sprintf, as that infringes on the user's name space.
2551 Don't have undefined behavior even if the translation
2552 produced a string with the wrong number of "%s"s. */
2556 while ((*yyp
= *yyformat
) != '\0')
2557 if (*yyp
== '%' && yyformat
[1] == 's' && yyi
< yycount
)
2559 yyp
+= yytnamerr (yyp
, yyarg
[yyi
++]);
2570 #endif /* YYERROR_VERBOSE */
2572 /*-----------------------------------------------.
2573 | Release the memory associated to this symbol. |
2574 `-----------------------------------------------*/
2577 #if (defined __STDC__ || defined __C99__FUNC__ \
2578 || defined __cplusplus || defined _MSC_VER)
2580 yydestruct (const char *yymsg
, int yytype
, YYSTYPE
*yyvaluep
, YYLTYPE
*yylocationp
, struct _mesa_glsl_parse_state
*state
)
2583 yydestruct (yymsg
, yytype
, yyvaluep
, yylocationp
, state
)
2587 YYLTYPE
*yylocationp
;
2588 struct _mesa_glsl_parse_state
*state
;
2592 YYUSE (yylocationp
);
2597 YY_SYMBOL_PRINT (yymsg
, yytype
, yyvaluep
, yylocationp
);
2608 /* Prevent warnings from -Wmissing-prototypes. */
2609 #ifdef YYPARSE_PARAM
2610 #if defined __STDC__ || defined __cplusplus
2611 int yyparse (void *YYPARSE_PARAM
);
2615 #else /* ! YYPARSE_PARAM */
2616 #if defined __STDC__ || defined __cplusplus
2617 int yyparse (struct _mesa_glsl_parse_state
*state
);
2621 #endif /* ! YYPARSE_PARAM */
2628 #ifdef YYPARSE_PARAM
2629 #if (defined __STDC__ || defined __C99__FUNC__ \
2630 || defined __cplusplus || defined _MSC_VER)
2632 yyparse (void *YYPARSE_PARAM
)
2635 yyparse (YYPARSE_PARAM
)
2636 void *YYPARSE_PARAM
;
2638 #else /* ! YYPARSE_PARAM */
2639 #if (defined __STDC__ || defined __C99__FUNC__ \
2640 || defined __cplusplus || defined _MSC_VER)
2642 yyparse (struct _mesa_glsl_parse_state
*state
)
2646 struct _mesa_glsl_parse_state
*state
;
2650 /* The lookahead symbol. */
2653 /* The semantic value of the lookahead symbol. */
2656 /* Location data for the lookahead symbol. */
2659 /* Number of syntax errors so far. */
2663 /* Number of tokens to shift before error messages enabled. */
2666 /* The stacks and their tools:
2667 `yyss': related to states.
2668 `yyvs': related to semantic values.
2669 `yyls': related to locations.
2671 Refer to the stacks thru separate pointers, to allow yyoverflow
2672 to reallocate them elsewhere. */
2674 /* The state stack. */
2675 yytype_int16 yyssa
[YYINITDEPTH
];
2677 yytype_int16
*yyssp
;
2679 /* The semantic value stack. */
2680 YYSTYPE yyvsa
[YYINITDEPTH
];
2684 /* The location stack. */
2685 YYLTYPE yylsa
[YYINITDEPTH
];
2689 /* The locations where the error started and ended. */
2690 YYLTYPE yyerror_range
[3];
2692 YYSIZE_T yystacksize
;
2696 /* Lookahead token as an internal (translated) token number. */
2698 /* The variables used to return semantic value and location from the
2704 /* Buffer for error messages, and its allocated size. */
2706 char *yymsg
= yymsgbuf
;
2707 YYSIZE_T yymsg_alloc
= sizeof yymsgbuf
;
2710 #define YYPOPSTACK(N) (yyvsp -= (N), yyssp -= (N), yylsp -= (N))
2712 /* The number of symbols on the RHS of the reduced rule.
2713 Keep to zero when no symbol should be popped. */
2720 yystacksize
= YYINITDEPTH
;
2722 YYDPRINTF ((stderr
, "Starting parse\n"));
2727 yychar
= YYEMPTY
; /* Cause a token to be read. */
2729 /* Initialize stack pointers.
2730 Waste one element of value and location stack
2731 so that they stay on the same level as the state stack.
2732 The wasted elements are never initialized. */
2737 #if defined YYLTYPE_IS_TRIVIAL && YYLTYPE_IS_TRIVIAL
2738 /* Initialize the default location before parsing starts. */
2739 yylloc
.first_line
= yylloc
.last_line
= 1;
2740 yylloc
.first_column
= yylloc
.last_column
= 1;
2743 /* User initialization code. */
2745 /* Line 1590 of yacc.c */
2746 #line 47 "src/glsl/glsl_parser.yy"
2748 yylloc
.first_line
= 1;
2749 yylloc
.first_column
= 1;
2750 yylloc
.last_line
= 1;
2751 yylloc
.last_column
= 1;
2755 /* Line 1590 of yacc.c */
2756 #line 2757 "build/windows-x86/glsl/glsl_parser.cpp"
2761 /*------------------------------------------------------------.
2762 | yynewstate -- Push a new state, which is found in yystate. |
2763 `------------------------------------------------------------*/
2765 /* In all cases, when you get here, the value and location stacks
2766 have just been pushed. So pushing a state here evens the stacks. */
2772 if (yyss
+ yystacksize
- 1 <= yyssp
)
2774 /* Get the current used size of the three stacks, in elements. */
2775 YYSIZE_T yysize
= yyssp
- yyss
+ 1;
2779 /* Give user a chance to reallocate the stack. Use copies of
2780 these so that the &'s don't force the real ones into
2782 YYSTYPE
*yyvs1
= yyvs
;
2783 yytype_int16
*yyss1
= yyss
;
2784 YYLTYPE
*yyls1
= yyls
;
2786 /* Each stack pointer address is followed by the size of the
2787 data in use in that stack, in bytes. This used to be a
2788 conditional around just the two extra args, but that might
2789 be undefined if yyoverflow is a macro. */
2790 yyoverflow (YY_("memory exhausted"),
2791 &yyss1
, yysize
* sizeof (*yyssp
),
2792 &yyvs1
, yysize
* sizeof (*yyvsp
),
2793 &yyls1
, yysize
* sizeof (*yylsp
),
2800 #else /* no yyoverflow */
2801 # ifndef YYSTACK_RELOCATE
2802 goto yyexhaustedlab
;
2804 /* Extend the stack our own way. */
2805 if (YYMAXDEPTH
<= yystacksize
)
2806 goto yyexhaustedlab
;
2808 if (YYMAXDEPTH
< yystacksize
)
2809 yystacksize
= YYMAXDEPTH
;
2812 yytype_int16
*yyss1
= yyss
;
2813 union yyalloc
*yyptr
=
2814 (union yyalloc
*) YYSTACK_ALLOC (YYSTACK_BYTES (yystacksize
));
2816 goto yyexhaustedlab
;
2817 YYSTACK_RELOCATE (yyss_alloc
, yyss
);
2818 YYSTACK_RELOCATE (yyvs_alloc
, yyvs
);
2819 YYSTACK_RELOCATE (yyls_alloc
, yyls
);
2820 # undef YYSTACK_RELOCATE
2822 YYSTACK_FREE (yyss1
);
2825 #endif /* no yyoverflow */
2827 yyssp
= yyss
+ yysize
- 1;
2828 yyvsp
= yyvs
+ yysize
- 1;
2829 yylsp
= yyls
+ yysize
- 1;
2831 YYDPRINTF ((stderr
, "Stack size increased to %lu\n",
2832 (unsigned long int) yystacksize
));
2834 if (yyss
+ yystacksize
- 1 <= yyssp
)
2838 YYDPRINTF ((stderr
, "Entering state %d\n", yystate
));
2840 if (yystate
== YYFINAL
)
2850 /* Do appropriate processing given the current state. Read a
2851 lookahead token if we need one and don't already have one. */
2853 /* First try to decide what to do without reference to lookahead token. */
2854 yyn
= yypact
[yystate
];
2855 if (yypact_value_is_default (yyn
))
2858 /* Not known => get a lookahead token if don't already have one. */
2860 /* YYCHAR is either YYEMPTY or YYEOF or a valid lookahead symbol. */
2861 if (yychar
== YYEMPTY
)
2863 YYDPRINTF ((stderr
, "Reading a token: "));
2867 if (yychar
<= YYEOF
)
2869 yychar
= yytoken
= YYEOF
;
2870 YYDPRINTF ((stderr
, "Now at end of input.\n"));
2874 yytoken
= YYTRANSLATE (yychar
);
2875 YY_SYMBOL_PRINT ("Next token is", yytoken
, &yylval
, &yylloc
);
2878 /* If the proper action on seeing token YYTOKEN is to reduce or to
2879 detect an error, take that action. */
2881 if (yyn
< 0 || YYLAST
< yyn
|| yycheck
[yyn
] != yytoken
)
2886 if (yytable_value_is_error (yyn
))
2892 /* Count tokens shifted since error; after three, turn off error
2897 /* Shift the lookahead token. */
2898 YY_SYMBOL_PRINT ("Shifting", yytoken
, &yylval
, &yylloc
);
2900 /* Discard the shifted token. */
2909 /*-----------------------------------------------------------.
2910 | yydefault -- do the default action for the current state. |
2911 `-----------------------------------------------------------*/
2913 yyn
= yydefact
[yystate
];
2919 /*-----------------------------.
2920 | yyreduce -- Do a reduction. |
2921 `-----------------------------*/
2923 /* yyn is the number of a rule to reduce with. */
2926 /* If YYLEN is nonzero, implement the default value of the action:
2929 Otherwise, the following line sets YYVAL to garbage.
2930 This behavior is undocumented and Bison
2931 users should not rely upon it. Assigning to YYVAL
2932 unconditionally makes the parser a bit smaller, and it avoids a
2933 GCC warning that YYVAL may be used uninitialized. */
2934 yyval
= yyvsp
[1-yylen
];
2936 /* Default location. */
2937 YYLLOC_DEFAULT (yyloc
, (yylsp
- yylen
), yylen
);
2938 YY_REDUCE_PRINT (yyn
);
2943 /* Line 1806 of yacc.c */
2944 #line 236 "src/glsl/glsl_parser.yy"
2946 _mesa_glsl_initialize_types(state
);
2952 /* Line 1806 of yacc.c */
2953 #line 240 "src/glsl/glsl_parser.yy"
2955 delete state
->symbols
;
2956 state
->symbols
= new(ralloc_parent(state
)) glsl_symbol_table
;
2957 _mesa_glsl_initialize_types(state
);
2963 /* Line 1806 of yacc.c */
2964 #line 250 "src/glsl/glsl_parser.yy"
2966 bool supported
= false;
2968 switch ((yyvsp
[(2) - (3)].n
)) {
2970 state
->es_shader
= true;
2971 supported
= state
->Const
.GLSL_100ES
;
2974 supported
= state
->Const
.GLSL_110
;
2977 supported
= state
->Const
.GLSL_120
;
2980 supported
= state
->Const
.GLSL_130
;
2987 state
->language_version
= (yyvsp
[(2) - (3)].n
);
2988 state
->version_string
=
2989 ralloc_asprintf(state
, "GLSL%s %d.%02d",
2990 state
->es_shader
? " ES" : "",
2991 state
->language_version
/ 100,
2992 state
->language_version
% 100);
2995 _mesa_glsl_error(& (yylsp
[(2) - (3)]), state
, "%s is not supported. "
2996 "Supported versions are: %s\n",
2997 state
->version_string
,
2998 state
->supported_version_string
);
3005 /* Line 1806 of yacc.c */
3006 #line 294 "src/glsl/glsl_parser.yy"
3008 if (state
->language_version
< 120) {
3009 _mesa_glsl_warning(& (yylsp
[(1) - (2)]), state
,
3010 "pragma `invariant(all)' not supported in %s",
3011 state
->version_string
);
3013 state
->all_invariant
= true;
3020 /* Line 1806 of yacc.c */
3021 #line 318 "src/glsl/glsl_parser.yy"
3023 if (!_mesa_glsl_process_extension((yyvsp
[(2) - (5)].identifier
), & (yylsp
[(2) - (5)]), (yyvsp
[(4) - (5)].identifier
), & (yylsp
[(4) - (5)]), state
)) {
3031 /* Line 1806 of yacc.c */
3032 #line 327 "src/glsl/glsl_parser.yy"
3034 /* FINISHME: The NULL test is required because pragmas are set to
3035 * FINISHME: NULL. (See production rule for external_declaration.)
3037 if ((yyvsp
[(1) - (1)].node
) != NULL
)
3038 state
->translation_unit
.push_tail(& (yyvsp
[(1) - (1)].node
)->link
);
3044 /* Line 1806 of yacc.c */
3045 #line 335 "src/glsl/glsl_parser.yy"
3047 /* FINISHME: The NULL test is required because pragmas are set to
3048 * FINISHME: NULL. (See production rule for external_declaration.)
3050 if ((yyvsp
[(2) - (2)].node
) != NULL
)
3051 state
->translation_unit
.push_tail(& (yyvsp
[(2) - (2)].node
)->link
);
3057 /* Line 1806 of yacc.c */
3058 #line 351 "src/glsl/glsl_parser.yy"
3061 (yyval
.expression
) = new(ctx
) ast_expression(ast_identifier
, NULL
, NULL
, NULL
);
3062 (yyval
.expression
)->set_location(yylloc
);
3063 (yyval
.expression
)->primary_expression
.identifier
= (yyvsp
[(1) - (1)].identifier
);
3069 /* Line 1806 of yacc.c */
3070 #line 358 "src/glsl/glsl_parser.yy"
3073 (yyval
.expression
) = new(ctx
) ast_expression(ast_int_constant
, NULL
, NULL
, NULL
);
3074 (yyval
.expression
)->set_location(yylloc
);
3075 (yyval
.expression
)->primary_expression
.int_constant
= (yyvsp
[(1) - (1)].n
);
3081 /* Line 1806 of yacc.c */
3082 #line 365 "src/glsl/glsl_parser.yy"
3085 (yyval
.expression
) = new(ctx
) ast_expression(ast_uint_constant
, NULL
, NULL
, NULL
);
3086 (yyval
.expression
)->set_location(yylloc
);
3087 (yyval
.expression
)->primary_expression
.uint_constant
= (yyvsp
[(1) - (1)].n
);
3093 /* Line 1806 of yacc.c */
3094 #line 372 "src/glsl/glsl_parser.yy"
3097 (yyval
.expression
) = new(ctx
) ast_expression(ast_float_constant
, NULL
, NULL
, NULL
);
3098 (yyval
.expression
)->set_location(yylloc
);
3099 (yyval
.expression
)->primary_expression
.float_constant
= (yyvsp
[(1) - (1)].real
);
3105 /* Line 1806 of yacc.c */
3106 #line 379 "src/glsl/glsl_parser.yy"
3109 (yyval
.expression
) = new(ctx
) ast_expression(ast_bool_constant
, NULL
, NULL
, NULL
);
3110 (yyval
.expression
)->set_location(yylloc
);
3111 (yyval
.expression
)->primary_expression
.bool_constant
= (yyvsp
[(1) - (1)].n
);
3117 /* Line 1806 of yacc.c */
3118 #line 386 "src/glsl/glsl_parser.yy"
3120 (yyval
.expression
) = (yyvsp
[(2) - (3)].expression
);
3126 /* Line 1806 of yacc.c */
3127 #line 394 "src/glsl/glsl_parser.yy"
3130 (yyval
.expression
) = new(ctx
) ast_expression(ast_array_index
, (yyvsp
[(1) - (4)].expression
), (yyvsp
[(3) - (4)].expression
), NULL
);
3131 (yyval
.expression
)->set_location(yylloc
);
3137 /* Line 1806 of yacc.c */
3138 #line 400 "src/glsl/glsl_parser.yy"
3140 (yyval
.expression
) = (yyvsp
[(1) - (1)].expression
);
3146 /* Line 1806 of yacc.c */
3147 #line 404 "src/glsl/glsl_parser.yy"
3150 (yyval
.expression
) = new(ctx
) ast_expression(ast_field_selection
, (yyvsp
[(1) - (3)].expression
), NULL
, NULL
);
3151 (yyval
.expression
)->set_location(yylloc
);
3152 (yyval
.expression
)->primary_expression
.identifier
= (yyvsp
[(3) - (3)].identifier
);
3158 /* Line 1806 of yacc.c */
3159 #line 411 "src/glsl/glsl_parser.yy"
3162 (yyval
.expression
) = new(ctx
) ast_expression(ast_post_inc
, (yyvsp
[(1) - (2)].expression
), NULL
, NULL
);
3163 (yyval
.expression
)->set_location(yylloc
);
3169 /* Line 1806 of yacc.c */
3170 #line 417 "src/glsl/glsl_parser.yy"
3173 (yyval
.expression
) = new(ctx
) ast_expression(ast_post_dec
, (yyvsp
[(1) - (2)].expression
), NULL
, NULL
);
3174 (yyval
.expression
)->set_location(yylloc
);
3180 /* Line 1806 of yacc.c */
3181 #line 435 "src/glsl/glsl_parser.yy"
3184 (yyval
.expression
) = new(ctx
) ast_expression(ast_field_selection
, (yyvsp
[(1) - (3)].expression
), (yyvsp
[(3) - (3)].expression
), NULL
);
3185 (yyval
.expression
)->set_location(yylloc
);
3191 /* Line 1806 of yacc.c */
3192 #line 454 "src/glsl/glsl_parser.yy"
3194 (yyval
.expression
) = (yyvsp
[(1) - (2)].expression
);
3195 (yyval
.expression
)->set_location(yylloc
);
3196 (yyval
.expression
)->expressions
.push_tail(& (yyvsp
[(2) - (2)].expression
)->link
);
3202 /* Line 1806 of yacc.c */
3203 #line 460 "src/glsl/glsl_parser.yy"
3205 (yyval
.expression
) = (yyvsp
[(1) - (3)].expression
);
3206 (yyval
.expression
)->set_location(yylloc
);
3207 (yyval
.expression
)->expressions
.push_tail(& (yyvsp
[(3) - (3)].expression
)->link
);
3213 /* Line 1806 of yacc.c */
3214 #line 476 "src/glsl/glsl_parser.yy"
3217 (yyval
.expression
) = new(ctx
) ast_function_expression((yyvsp
[(1) - (1)].type_specifier
));
3218 (yyval
.expression
)->set_location(yylloc
);
3224 /* Line 1806 of yacc.c */
3225 #line 482 "src/glsl/glsl_parser.yy"
3228 ast_expression
*callee
= new(ctx
) ast_expression((yyvsp
[(1) - (1)].identifier
));
3229 (yyval
.expression
) = new(ctx
) ast_function_expression(callee
);
3230 (yyval
.expression
)->set_location(yylloc
);
3236 /* Line 1806 of yacc.c */
3237 #line 489 "src/glsl/glsl_parser.yy"
3240 ast_expression
*callee
= new(ctx
) ast_expression((yyvsp
[(1) - (1)].identifier
));
3241 (yyval
.expression
) = new(ctx
) ast_function_expression(callee
);
3242 (yyval
.expression
)->set_location(yylloc
);
3248 /* Line 1806 of yacc.c */
3249 #line 509 "src/glsl/glsl_parser.yy"
3251 (yyval
.expression
) = (yyvsp
[(1) - (2)].expression
);
3252 (yyval
.expression
)->set_location(yylloc
);
3253 (yyval
.expression
)->expressions
.push_tail(& (yyvsp
[(2) - (2)].expression
)->link
);
3259 /* Line 1806 of yacc.c */
3260 #line 515 "src/glsl/glsl_parser.yy"
3262 (yyval
.expression
) = (yyvsp
[(1) - (3)].expression
);
3263 (yyval
.expression
)->set_location(yylloc
);
3264 (yyval
.expression
)->expressions
.push_tail(& (yyvsp
[(3) - (3)].expression
)->link
);
3270 /* Line 1806 of yacc.c */
3271 #line 527 "src/glsl/glsl_parser.yy"
3274 ast_expression
*callee
= new(ctx
) ast_expression((yyvsp
[(1) - (2)].identifier
));
3275 (yyval
.expression
) = new(ctx
) ast_function_expression(callee
);
3276 (yyval
.expression
)->set_location(yylloc
);
3282 /* Line 1806 of yacc.c */
3283 #line 539 "src/glsl/glsl_parser.yy"
3286 (yyval
.expression
) = new(ctx
) ast_expression(ast_pre_inc
, (yyvsp
[(2) - (2)].expression
), NULL
, NULL
);
3287 (yyval
.expression
)->set_location(yylloc
);
3293 /* Line 1806 of yacc.c */
3294 #line 545 "src/glsl/glsl_parser.yy"
3297 (yyval
.expression
) = new(ctx
) ast_expression(ast_pre_dec
, (yyvsp
[(2) - (2)].expression
), NULL
, NULL
);
3298 (yyval
.expression
)->set_location(yylloc
);
3304 /* Line 1806 of yacc.c */
3305 #line 551 "src/glsl/glsl_parser.yy"
3308 (yyval
.expression
) = new(ctx
) ast_expression((yyvsp
[(1) - (2)].n
), (yyvsp
[(2) - (2)].expression
), NULL
, NULL
);
3309 (yyval
.expression
)->set_location(yylloc
);
3315 /* Line 1806 of yacc.c */
3316 #line 560 "src/glsl/glsl_parser.yy"
3317 { (yyval
.n
) = ast_plus
; }
3322 /* Line 1806 of yacc.c */
3323 #line 561 "src/glsl/glsl_parser.yy"
3324 { (yyval
.n
) = ast_neg
; }
3329 /* Line 1806 of yacc.c */
3330 #line 562 "src/glsl/glsl_parser.yy"
3331 { (yyval
.n
) = ast_logic_not
; }
3336 /* Line 1806 of yacc.c */
3337 #line 563 "src/glsl/glsl_parser.yy"
3338 { (yyval
.n
) = ast_bit_not
; }
3343 /* Line 1806 of yacc.c */
3344 #line 569 "src/glsl/glsl_parser.yy"
3347 (yyval
.expression
) = new(ctx
) ast_expression_bin(ast_mul
, (yyvsp
[(1) - (3)].expression
), (yyvsp
[(3) - (3)].expression
));
3348 (yyval
.expression
)->set_location(yylloc
);
3354 /* Line 1806 of yacc.c */
3355 #line 575 "src/glsl/glsl_parser.yy"
3358 (yyval
.expression
) = new(ctx
) ast_expression_bin(ast_div
, (yyvsp
[(1) - (3)].expression
), (yyvsp
[(3) - (3)].expression
));
3359 (yyval
.expression
)->set_location(yylloc
);
3365 /* Line 1806 of yacc.c */
3366 #line 581 "src/glsl/glsl_parser.yy"
3369 (yyval
.expression
) = new(ctx
) ast_expression_bin(ast_mod
, (yyvsp
[(1) - (3)].expression
), (yyvsp
[(3) - (3)].expression
));
3370 (yyval
.expression
)->set_location(yylloc
);
3376 /* Line 1806 of yacc.c */
3377 #line 591 "src/glsl/glsl_parser.yy"
3380 (yyval
.expression
) = new(ctx
) ast_expression_bin(ast_add
, (yyvsp
[(1) - (3)].expression
), (yyvsp
[(3) - (3)].expression
));
3381 (yyval
.expression
)->set_location(yylloc
);
3387 /* Line 1806 of yacc.c */
3388 #line 597 "src/glsl/glsl_parser.yy"
3391 (yyval
.expression
) = new(ctx
) ast_expression_bin(ast_sub
, (yyvsp
[(1) - (3)].expression
), (yyvsp
[(3) - (3)].expression
));
3392 (yyval
.expression
)->set_location(yylloc
);
3398 /* Line 1806 of yacc.c */
3399 #line 607 "src/glsl/glsl_parser.yy"
3402 (yyval
.expression
) = new(ctx
) ast_expression_bin(ast_lshift
, (yyvsp
[(1) - (3)].expression
), (yyvsp
[(3) - (3)].expression
));
3403 (yyval
.expression
)->set_location(yylloc
);
3409 /* Line 1806 of yacc.c */
3410 #line 613 "src/glsl/glsl_parser.yy"
3413 (yyval
.expression
) = new(ctx
) ast_expression_bin(ast_rshift
, (yyvsp
[(1) - (3)].expression
), (yyvsp
[(3) - (3)].expression
));
3414 (yyval
.expression
)->set_location(yylloc
);
3420 /* Line 1806 of yacc.c */
3421 #line 623 "src/glsl/glsl_parser.yy"
3424 (yyval
.expression
) = new(ctx
) ast_expression_bin(ast_less
, (yyvsp
[(1) - (3)].expression
), (yyvsp
[(3) - (3)].expression
));
3425 (yyval
.expression
)->set_location(yylloc
);
3431 /* Line 1806 of yacc.c */
3432 #line 629 "src/glsl/glsl_parser.yy"
3435 (yyval
.expression
) = new(ctx
) ast_expression_bin(ast_greater
, (yyvsp
[(1) - (3)].expression
), (yyvsp
[(3) - (3)].expression
));
3436 (yyval
.expression
)->set_location(yylloc
);
3442 /* Line 1806 of yacc.c */
3443 #line 635 "src/glsl/glsl_parser.yy"
3446 (yyval
.expression
) = new(ctx
) ast_expression_bin(ast_lequal
, (yyvsp
[(1) - (3)].expression
), (yyvsp
[(3) - (3)].expression
));
3447 (yyval
.expression
)->set_location(yylloc
);
3453 /* Line 1806 of yacc.c */
3454 #line 641 "src/glsl/glsl_parser.yy"
3457 (yyval
.expression
) = new(ctx
) ast_expression_bin(ast_gequal
, (yyvsp
[(1) - (3)].expression
), (yyvsp
[(3) - (3)].expression
));
3458 (yyval
.expression
)->set_location(yylloc
);
3464 /* Line 1806 of yacc.c */
3465 #line 651 "src/glsl/glsl_parser.yy"
3468 (yyval
.expression
) = new(ctx
) ast_expression_bin(ast_equal
, (yyvsp
[(1) - (3)].expression
), (yyvsp
[(3) - (3)].expression
));
3469 (yyval
.expression
)->set_location(yylloc
);
3475 /* Line 1806 of yacc.c */
3476 #line 657 "src/glsl/glsl_parser.yy"
3479 (yyval
.expression
) = new(ctx
) ast_expression_bin(ast_nequal
, (yyvsp
[(1) - (3)].expression
), (yyvsp
[(3) - (3)].expression
));
3480 (yyval
.expression
)->set_location(yylloc
);
3486 /* Line 1806 of yacc.c */
3487 #line 667 "src/glsl/glsl_parser.yy"
3490 (yyval
.expression
) = new(ctx
) ast_expression_bin(ast_bit_and
, (yyvsp
[(1) - (3)].expression
), (yyvsp
[(3) - (3)].expression
));
3491 (yyval
.expression
)->set_location(yylloc
);
3497 /* Line 1806 of yacc.c */
3498 #line 677 "src/glsl/glsl_parser.yy"
3501 (yyval
.expression
) = new(ctx
) ast_expression_bin(ast_bit_xor
, (yyvsp
[(1) - (3)].expression
), (yyvsp
[(3) - (3)].expression
));
3502 (yyval
.expression
)->set_location(yylloc
);
3508 /* Line 1806 of yacc.c */
3509 #line 687 "src/glsl/glsl_parser.yy"
3512 (yyval
.expression
) = new(ctx
) ast_expression_bin(ast_bit_or
, (yyvsp
[(1) - (3)].expression
), (yyvsp
[(3) - (3)].expression
));
3513 (yyval
.expression
)->set_location(yylloc
);
3519 /* Line 1806 of yacc.c */
3520 #line 697 "src/glsl/glsl_parser.yy"
3523 (yyval
.expression
) = new(ctx
) ast_expression_bin(ast_logic_and
, (yyvsp
[(1) - (3)].expression
), (yyvsp
[(3) - (3)].expression
));
3524 (yyval
.expression
)->set_location(yylloc
);
3530 /* Line 1806 of yacc.c */
3531 #line 707 "src/glsl/glsl_parser.yy"
3534 (yyval
.expression
) = new(ctx
) ast_expression_bin(ast_logic_xor
, (yyvsp
[(1) - (3)].expression
), (yyvsp
[(3) - (3)].expression
));
3535 (yyval
.expression
)->set_location(yylloc
);
3541 /* Line 1806 of yacc.c */
3542 #line 717 "src/glsl/glsl_parser.yy"
3545 (yyval
.expression
) = new(ctx
) ast_expression_bin(ast_logic_or
, (yyvsp
[(1) - (3)].expression
), (yyvsp
[(3) - (3)].expression
));
3546 (yyval
.expression
)->set_location(yylloc
);
3552 /* Line 1806 of yacc.c */
3553 #line 727 "src/glsl/glsl_parser.yy"
3556 (yyval
.expression
) = new(ctx
) ast_expression(ast_conditional
, (yyvsp
[(1) - (5)].expression
), (yyvsp
[(3) - (5)].expression
), (yyvsp
[(5) - (5)].expression
));
3557 (yyval
.expression
)->set_location(yylloc
);
3563 /* Line 1806 of yacc.c */
3564 #line 737 "src/glsl/glsl_parser.yy"
3567 (yyval
.expression
) = new(ctx
) ast_expression((yyvsp
[(2) - (3)].n
), (yyvsp
[(1) - (3)].expression
), (yyvsp
[(3) - (3)].expression
), NULL
);
3568 (yyval
.expression
)->set_location(yylloc
);
3574 /* Line 1806 of yacc.c */
3575 #line 745 "src/glsl/glsl_parser.yy"
3576 { (yyval
.n
) = ast_assign
; }
3581 /* Line 1806 of yacc.c */
3582 #line 746 "src/glsl/glsl_parser.yy"
3583 { (yyval
.n
) = ast_mul_assign
; }
3588 /* Line 1806 of yacc.c */
3589 #line 747 "src/glsl/glsl_parser.yy"
3590 { (yyval
.n
) = ast_div_assign
; }
3595 /* Line 1806 of yacc.c */
3596 #line 748 "src/glsl/glsl_parser.yy"
3597 { (yyval
.n
) = ast_mod_assign
; }
3602 /* Line 1806 of yacc.c */
3603 #line 749 "src/glsl/glsl_parser.yy"
3604 { (yyval
.n
) = ast_add_assign
; }
3609 /* Line 1806 of yacc.c */
3610 #line 750 "src/glsl/glsl_parser.yy"
3611 { (yyval
.n
) = ast_sub_assign
; }
3616 /* Line 1806 of yacc.c */
3617 #line 751 "src/glsl/glsl_parser.yy"
3618 { (yyval
.n
) = ast_ls_assign
; }
3623 /* Line 1806 of yacc.c */
3624 #line 752 "src/glsl/glsl_parser.yy"
3625 { (yyval
.n
) = ast_rs_assign
; }
3630 /* Line 1806 of yacc.c */
3631 #line 753 "src/glsl/glsl_parser.yy"
3632 { (yyval
.n
) = ast_and_assign
; }
3637 /* Line 1806 of yacc.c */
3638 #line 754 "src/glsl/glsl_parser.yy"
3639 { (yyval
.n
) = ast_xor_assign
; }
3644 /* Line 1806 of yacc.c */
3645 #line 755 "src/glsl/glsl_parser.yy"
3646 { (yyval
.n
) = ast_or_assign
; }
3651 /* Line 1806 of yacc.c */
3652 #line 760 "src/glsl/glsl_parser.yy"
3654 (yyval
.expression
) = (yyvsp
[(1) - (1)].expression
);
3660 /* Line 1806 of yacc.c */
3661 #line 764 "src/glsl/glsl_parser.yy"
3664 if ((yyvsp
[(1) - (3)].expression
)->oper
!= ast_sequence
) {
3665 (yyval
.expression
) = new(ctx
) ast_expression(ast_sequence
, NULL
, NULL
, NULL
);
3666 (yyval
.expression
)->set_location(yylloc
);
3667 (yyval
.expression
)->expressions
.push_tail(& (yyvsp
[(1) - (3)].expression
)->link
);
3669 (yyval
.expression
) = (yyvsp
[(1) - (3)].expression
);
3672 (yyval
.expression
)->expressions
.push_tail(& (yyvsp
[(3) - (3)].expression
)->link
);
3678 /* Line 1806 of yacc.c */
3679 #line 784 "src/glsl/glsl_parser.yy"
3681 state
->symbols
->pop_scope();
3682 (yyval
.node
) = (yyvsp
[(1) - (2)].function
);
3688 /* Line 1806 of yacc.c */
3689 #line 789 "src/glsl/glsl_parser.yy"
3691 (yyval
.node
) = (yyvsp
[(1) - (2)].declarator_list
);
3697 /* Line 1806 of yacc.c */
3698 #line 793 "src/glsl/glsl_parser.yy"
3700 (yyvsp
[(3) - (4)].type_specifier
)->precision
= (yyvsp
[(2) - (4)].n
);
3701 (yyvsp
[(3) - (4)].type_specifier
)->is_precision_statement
= true;
3702 (yyval
.node
) = (yyvsp
[(3) - (4)].type_specifier
);
3708 /* Line 1806 of yacc.c */
3709 #line 811 "src/glsl/glsl_parser.yy"
3711 (yyval
.function
) = (yyvsp
[(1) - (2)].function
);
3712 (yyval
.function
)->parameters
.push_tail(& (yyvsp
[(2) - (2)].parameter_declarator
)->link
);
3718 /* Line 1806 of yacc.c */
3719 #line 816 "src/glsl/glsl_parser.yy"
3721 (yyval
.function
) = (yyvsp
[(1) - (3)].function
);
3722 (yyval
.function
)->parameters
.push_tail(& (yyvsp
[(3) - (3)].parameter_declarator
)->link
);
3728 /* Line 1806 of yacc.c */
3729 #line 824 "src/glsl/glsl_parser.yy"
3732 (yyval
.function
) = new(ctx
) ast_function();
3733 (yyval
.function
)->set_location(yylloc
);
3734 (yyval
.function
)->return_type
= (yyvsp
[(1) - (3)].fully_specified_type
);
3735 (yyval
.function
)->identifier
= (yyvsp
[(2) - (3)].identifier
);
3737 state
->symbols
->add_function(new(state
) ir_function((yyvsp
[(2) - (3)].identifier
)));
3738 state
->symbols
->push_scope();
3744 /* Line 1806 of yacc.c */
3745 #line 838 "src/glsl/glsl_parser.yy"
3748 (yyval
.parameter_declarator
) = new(ctx
) ast_parameter_declarator();
3749 (yyval
.parameter_declarator
)->set_location(yylloc
);
3750 (yyval
.parameter_declarator
)->type
= new(ctx
) ast_fully_specified_type();
3751 (yyval
.parameter_declarator
)->type
->set_location(yylloc
);
3752 (yyval
.parameter_declarator
)->type
->specifier
= (yyvsp
[(1) - (2)].type_specifier
);
3753 (yyval
.parameter_declarator
)->identifier
= (yyvsp
[(2) - (2)].identifier
);
3759 /* Line 1806 of yacc.c */
3760 #line 848 "src/glsl/glsl_parser.yy"
3763 (yyval
.parameter_declarator
) = new(ctx
) ast_parameter_declarator();
3764 (yyval
.parameter_declarator
)->set_location(yylloc
);
3765 (yyval
.parameter_declarator
)->type
= new(ctx
) ast_fully_specified_type();
3766 (yyval
.parameter_declarator
)->type
->set_location(yylloc
);
3767 (yyval
.parameter_declarator
)->type
->specifier
= (yyvsp
[(1) - (5)].type_specifier
);
3768 (yyval
.parameter_declarator
)->identifier
= (yyvsp
[(2) - (5)].identifier
);
3769 (yyval
.parameter_declarator
)->is_array
= true;
3770 (yyval
.parameter_declarator
)->array_size
= (yyvsp
[(4) - (5)].expression
);
3776 /* Line 1806 of yacc.c */
3777 #line 863 "src/glsl/glsl_parser.yy"
3779 (yyvsp
[(1) - (3)].type_qualifier
).flags
.i
|= (yyvsp
[(2) - (3)].type_qualifier
).flags
.i
;
3781 (yyval
.parameter_declarator
) = (yyvsp
[(3) - (3)].parameter_declarator
);
3782 (yyval
.parameter_declarator
)->type
->qualifier
= (yyvsp
[(1) - (3)].type_qualifier
);
3788 /* Line 1806 of yacc.c */
3789 #line 870 "src/glsl/glsl_parser.yy"
3791 (yyval
.parameter_declarator
) = (yyvsp
[(2) - (2)].parameter_declarator
);
3792 (yyval
.parameter_declarator
)->type
->qualifier
= (yyvsp
[(1) - (2)].type_qualifier
);
3798 /* Line 1806 of yacc.c */
3799 #line 875 "src/glsl/glsl_parser.yy"
3802 (yyvsp
[(1) - (3)].type_qualifier
).flags
.i
|= (yyvsp
[(2) - (3)].type_qualifier
).flags
.i
;
3804 (yyval
.parameter_declarator
) = new(ctx
) ast_parameter_declarator();
3805 (yyval
.parameter_declarator
)->set_location(yylloc
);
3806 (yyval
.parameter_declarator
)->type
= new(ctx
) ast_fully_specified_type();
3807 (yyval
.parameter_declarator
)->type
->qualifier
= (yyvsp
[(1) - (3)].type_qualifier
);
3808 (yyval
.parameter_declarator
)->type
->specifier
= (yyvsp
[(3) - (3)].type_specifier
);
3814 /* Line 1806 of yacc.c */
3815 #line 886 "src/glsl/glsl_parser.yy"
3818 (yyval
.parameter_declarator
) = new(ctx
) ast_parameter_declarator();
3819 (yyval
.parameter_declarator
)->set_location(yylloc
);
3820 (yyval
.parameter_declarator
)->type
= new(ctx
) ast_fully_specified_type();
3821 (yyval
.parameter_declarator
)->type
->qualifier
= (yyvsp
[(1) - (2)].type_qualifier
);
3822 (yyval
.parameter_declarator
)->type
->specifier
= (yyvsp
[(2) - (2)].type_specifier
);
3828 /* Line 1806 of yacc.c */
3829 #line 898 "src/glsl/glsl_parser.yy"
3831 memset(& (yyval
.type_qualifier
), 0, sizeof((yyval
.type_qualifier
)));
3837 /* Line 1806 of yacc.c */
3838 #line 902 "src/glsl/glsl_parser.yy"
3840 memset(& (yyval
.type_qualifier
), 0, sizeof((yyval
.type_qualifier
)));
3841 (yyval
.type_qualifier
).flags
.q
.in
= 1;
3847 /* Line 1806 of yacc.c */
3848 #line 907 "src/glsl/glsl_parser.yy"
3850 memset(& (yyval
.type_qualifier
), 0, sizeof((yyval
.type_qualifier
)));
3851 (yyval
.type_qualifier
).flags
.q
.out
= 1;
3857 /* Line 1806 of yacc.c */
3858 #line 912 "src/glsl/glsl_parser.yy"
3860 memset(& (yyval
.type_qualifier
), 0, sizeof((yyval
.type_qualifier
)));
3861 (yyval
.type_qualifier
).flags
.q
.in
= 1;
3862 (yyval
.type_qualifier
).flags
.q
.out
= 1;
3868 /* Line 1806 of yacc.c */
3869 #line 926 "src/glsl/glsl_parser.yy"
3872 ast_declaration
*decl
= new(ctx
) ast_declaration((yyvsp
[(3) - (3)].identifier
), false, NULL
, NULL
);
3873 decl
->set_location(yylloc
);
3875 (yyval
.declarator_list
) = (yyvsp
[(1) - (3)].declarator_list
);
3876 (yyval
.declarator_list
)->declarations
.push_tail(&decl
->link
);
3877 state
->symbols
->add_variable(new(state
) ir_variable(NULL
, (yyvsp
[(3) - (3)].identifier
), ir_var_auto
));
3883 /* Line 1806 of yacc.c */
3884 #line 936 "src/glsl/glsl_parser.yy"
3887 ast_declaration
*decl
= new(ctx
) ast_declaration((yyvsp
[(3) - (5)].identifier
), true, NULL
, NULL
);
3888 decl
->set_location(yylloc
);
3890 (yyval
.declarator_list
) = (yyvsp
[(1) - (5)].declarator_list
);
3891 (yyval
.declarator_list
)->declarations
.push_tail(&decl
->link
);
3892 state
->symbols
->add_variable(new(state
) ir_variable(NULL
, (yyvsp
[(3) - (5)].identifier
), ir_var_auto
));
3898 /* Line 1806 of yacc.c */
3899 #line 946 "src/glsl/glsl_parser.yy"
3902 ast_declaration
*decl
= new(ctx
) ast_declaration((yyvsp
[(3) - (6)].identifier
), true, (yyvsp
[(5) - (6)].expression
), NULL
);
3903 decl
->set_location(yylloc
);
3905 (yyval
.declarator_list
) = (yyvsp
[(1) - (6)].declarator_list
);
3906 (yyval
.declarator_list
)->declarations
.push_tail(&decl
->link
);
3907 state
->symbols
->add_variable(new(state
) ir_variable(NULL
, (yyvsp
[(3) - (6)].identifier
), ir_var_auto
));
3913 /* Line 1806 of yacc.c */
3914 #line 956 "src/glsl/glsl_parser.yy"
3917 ast_declaration
*decl
= new(ctx
) ast_declaration((yyvsp
[(3) - (7)].identifier
), true, NULL
, (yyvsp
[(7) - (7)].expression
));
3918 decl
->set_location(yylloc
);
3920 (yyval
.declarator_list
) = (yyvsp
[(1) - (7)].declarator_list
);
3921 (yyval
.declarator_list
)->declarations
.push_tail(&decl
->link
);
3922 state
->symbols
->add_variable(new(state
) ir_variable(NULL
, (yyvsp
[(3) - (7)].identifier
), ir_var_auto
));
3928 /* Line 1806 of yacc.c */
3929 #line 966 "src/glsl/glsl_parser.yy"
3932 ast_declaration
*decl
= new(ctx
) ast_declaration((yyvsp
[(3) - (8)].identifier
), true, (yyvsp
[(5) - (8)].expression
), (yyvsp
[(8) - (8)].expression
));
3933 decl
->set_location(yylloc
);
3935 (yyval
.declarator_list
) = (yyvsp
[(1) - (8)].declarator_list
);
3936 (yyval
.declarator_list
)->declarations
.push_tail(&decl
->link
);
3937 state
->symbols
->add_variable(new(state
) ir_variable(NULL
, (yyvsp
[(3) - (8)].identifier
), ir_var_auto
));
3943 /* Line 1806 of yacc.c */
3944 #line 976 "src/glsl/glsl_parser.yy"
3947 ast_declaration
*decl
= new(ctx
) ast_declaration((yyvsp
[(3) - (5)].identifier
), false, NULL
, (yyvsp
[(5) - (5)].expression
));
3948 decl
->set_location(yylloc
);
3950 (yyval
.declarator_list
) = (yyvsp
[(1) - (5)].declarator_list
);
3951 (yyval
.declarator_list
)->declarations
.push_tail(&decl
->link
);
3952 state
->symbols
->add_variable(new(state
) ir_variable(NULL
, (yyvsp
[(3) - (5)].identifier
), ir_var_auto
));
3958 /* Line 1806 of yacc.c */
3959 #line 990 "src/glsl/glsl_parser.yy"
3962 /* Empty declaration list is valid. */
3963 (yyval
.declarator_list
) = new(ctx
) ast_declarator_list((yyvsp
[(1) - (1)].fully_specified_type
));
3964 (yyval
.declarator_list
)->set_location(yylloc
);
3970 /* Line 1806 of yacc.c */
3971 #line 997 "src/glsl/glsl_parser.yy"
3974 ast_declaration
*decl
= new(ctx
) ast_declaration((yyvsp
[(2) - (2)].identifier
), false, NULL
, NULL
);
3976 (yyval
.declarator_list
) = new(ctx
) ast_declarator_list((yyvsp
[(1) - (2)].fully_specified_type
));
3977 (yyval
.declarator_list
)->set_location(yylloc
);
3978 (yyval
.declarator_list
)->declarations
.push_tail(&decl
->link
);
3984 /* Line 1806 of yacc.c */
3985 #line 1006 "src/glsl/glsl_parser.yy"
3988 ast_declaration
*decl
= new(ctx
) ast_declaration((yyvsp
[(2) - (4)].identifier
), true, NULL
, NULL
);
3990 (yyval
.declarator_list
) = new(ctx
) ast_declarator_list((yyvsp
[(1) - (4)].fully_specified_type
));
3991 (yyval
.declarator_list
)->set_location(yylloc
);
3992 (yyval
.declarator_list
)->declarations
.push_tail(&decl
->link
);
3998 /* Line 1806 of yacc.c */
3999 #line 1015 "src/glsl/glsl_parser.yy"
4002 ast_declaration
*decl
= new(ctx
) ast_declaration((yyvsp
[(2) - (5)].identifier
), true, (yyvsp
[(4) - (5)].expression
), NULL
);
4004 (yyval
.declarator_list
) = new(ctx
) ast_declarator_list((yyvsp
[(1) - (5)].fully_specified_type
));
4005 (yyval
.declarator_list
)->set_location(yylloc
);
4006 (yyval
.declarator_list
)->declarations
.push_tail(&decl
->link
);
4012 /* Line 1806 of yacc.c */
4013 #line 1024 "src/glsl/glsl_parser.yy"
4016 ast_declaration
*decl
= new(ctx
) ast_declaration((yyvsp
[(2) - (6)].identifier
), true, NULL
, (yyvsp
[(6) - (6)].expression
));
4018 (yyval
.declarator_list
) = new(ctx
) ast_declarator_list((yyvsp
[(1) - (6)].fully_specified_type
));
4019 (yyval
.declarator_list
)->set_location(yylloc
);
4020 (yyval
.declarator_list
)->declarations
.push_tail(&decl
->link
);
4026 /* Line 1806 of yacc.c */
4027 #line 1033 "src/glsl/glsl_parser.yy"
4030 ast_declaration
*decl
= new(ctx
) ast_declaration((yyvsp
[(2) - (7)].identifier
), true, (yyvsp
[(4) - (7)].expression
), (yyvsp
[(7) - (7)].expression
));
4032 (yyval
.declarator_list
) = new(ctx
) ast_declarator_list((yyvsp
[(1) - (7)].fully_specified_type
));
4033 (yyval
.declarator_list
)->set_location(yylloc
);
4034 (yyval
.declarator_list
)->declarations
.push_tail(&decl
->link
);
4040 /* Line 1806 of yacc.c */
4041 #line 1042 "src/glsl/glsl_parser.yy"
4044 ast_declaration
*decl
= new(ctx
) ast_declaration((yyvsp
[(2) - (4)].identifier
), false, NULL
, (yyvsp
[(4) - (4)].expression
));
4046 (yyval
.declarator_list
) = new(ctx
) ast_declarator_list((yyvsp
[(1) - (4)].fully_specified_type
));
4047 (yyval
.declarator_list
)->set_location(yylloc
);
4048 (yyval
.declarator_list
)->declarations
.push_tail(&decl
->link
);
4054 /* Line 1806 of yacc.c */
4055 #line 1051 "src/glsl/glsl_parser.yy"
4058 ast_declaration
*decl
= new(ctx
) ast_declaration((yyvsp
[(2) - (2)].identifier
), false, NULL
, NULL
);
4060 (yyval
.declarator_list
) = new(ctx
) ast_declarator_list(NULL
);
4061 (yyval
.declarator_list
)->set_location(yylloc
);
4062 (yyval
.declarator_list
)->invariant
= true;
4064 (yyval
.declarator_list
)->declarations
.push_tail(&decl
->link
);
4070 /* Line 1806 of yacc.c */
4071 #line 1065 "src/glsl/glsl_parser.yy"
4074 (yyval
.fully_specified_type
) = new(ctx
) ast_fully_specified_type();
4075 (yyval
.fully_specified_type
)->set_location(yylloc
);
4076 (yyval
.fully_specified_type
)->specifier
= (yyvsp
[(1) - (1)].type_specifier
);
4082 /* Line 1806 of yacc.c */
4083 #line 1072 "src/glsl/glsl_parser.yy"
4086 (yyval
.fully_specified_type
) = new(ctx
) ast_fully_specified_type();
4087 (yyval
.fully_specified_type
)->set_location(yylloc
);
4088 (yyval
.fully_specified_type
)->qualifier
= (yyvsp
[(1) - (2)].type_qualifier
);
4089 (yyval
.fully_specified_type
)->specifier
= (yyvsp
[(2) - (2)].type_specifier
);
4095 /* Line 1806 of yacc.c */
4096 #line 1083 "src/glsl/glsl_parser.yy"
4098 (yyval
.type_qualifier
) = (yyvsp
[(3) - (4)].type_qualifier
);
4104 /* Line 1806 of yacc.c */
4105 #line 1091 "src/glsl/glsl_parser.yy"
4107 if (((yyvsp
[(1) - (3)].type_qualifier
).flags
.i
& (yyvsp
[(3) - (3)].type_qualifier
).flags
.i
) != 0) {
4108 _mesa_glsl_error(& (yylsp
[(3) - (3)]), state
,
4109 "duplicate layout qualifiers used\n");
4113 (yyval
.type_qualifier
).flags
.i
= (yyvsp
[(1) - (3)].type_qualifier
).flags
.i
| (yyvsp
[(3) - (3)].type_qualifier
).flags
.i
;
4115 if ((yyvsp
[(1) - (3)].type_qualifier
).flags
.q
.explicit_location
)
4116 (yyval
.type_qualifier
).location
= (yyvsp
[(1) - (3)].type_qualifier
).location
;
4118 if ((yyvsp
[(3) - (3)].type_qualifier
).flags
.q
.explicit_location
)
4119 (yyval
.type_qualifier
).location
= (yyvsp
[(3) - (3)].type_qualifier
).location
;
4125 /* Line 1806 of yacc.c */
4126 #line 1110 "src/glsl/glsl_parser.yy"
4128 bool got_one
= false;
4130 memset(& (yyval
.type_qualifier
), 0, sizeof((yyval
.type_qualifier
)));
4132 /* Layout qualifiers for ARB_fragment_coord_conventions. */
4133 if (!got_one
&& state
->ARB_fragment_coord_conventions_enable
) {
4134 if (strcmp((yyvsp
[(1) - (1)].identifier
), "origin_upper_left") == 0) {
4136 (yyval
.type_qualifier
).flags
.q
.origin_upper_left
= 1;
4137 } else if (strcmp((yyvsp
[(1) - (1)].identifier
), "pixel_center_integer") == 0) {
4139 (yyval
.type_qualifier
).flags
.q
.pixel_center_integer
= 1;
4142 if (got_one
&& state
->ARB_fragment_coord_conventions_warn
) {
4143 _mesa_glsl_warning(& (yylsp
[(1) - (1)]), state
,
4144 "GL_ARB_fragment_coord_conventions layout "
4145 "identifier `%s' used\n", (yyvsp
[(1) - (1)].identifier
));
4149 /* Layout qualifiers for AMD/ARB_conservative_depth. */
4151 (state
->AMD_conservative_depth_enable
||
4152 state
->ARB_conservative_depth_enable
)) {
4153 if (strcmp((yyvsp
[(1) - (1)].identifier
), "depth_any") == 0) {
4155 (yyval
.type_qualifier
).flags
.q
.depth_any
= 1;
4156 } else if (strcmp((yyvsp
[(1) - (1)].identifier
), "depth_greater") == 0) {
4158 (yyval
.type_qualifier
).flags
.q
.depth_greater
= 1;
4159 } else if (strcmp((yyvsp
[(1) - (1)].identifier
), "depth_less") == 0) {
4161 (yyval
.type_qualifier
).flags
.q
.depth_less
= 1;
4162 } else if (strcmp((yyvsp
[(1) - (1)].identifier
), "depth_unchanged") == 0) {
4164 (yyval
.type_qualifier
).flags
.q
.depth_unchanged
= 1;
4167 if (got_one
&& state
->AMD_conservative_depth_warn
) {
4168 _mesa_glsl_warning(& (yylsp
[(1) - (1)]), state
,
4169 "GL_AMD_conservative_depth "
4170 "layout qualifier `%s' is used\n", (yyvsp
[(1) - (1)].identifier
));
4172 if (got_one
&& state
->ARB_conservative_depth_warn
) {
4173 _mesa_glsl_warning(& (yylsp
[(1) - (1)]), state
,
4174 "GL_ARB_conservative_depth "
4175 "layout qualifier `%s' is used\n", (yyvsp
[(1) - (1)].identifier
));
4180 _mesa_glsl_error(& (yylsp
[(1) - (1)]), state
, "unrecognized layout identifier "
4181 "`%s'\n", (yyvsp
[(1) - (1)].identifier
));
4189 /* Line 1806 of yacc.c */
4190 #line 1169 "src/glsl/glsl_parser.yy"
4192 bool got_one
= false;
4194 memset(& (yyval
.type_qualifier
), 0, sizeof((yyval
.type_qualifier
)));
4196 if (state
->ARB_explicit_attrib_location_enable
) {
4197 /* FINISHME: Handle 'index' once GL_ARB_blend_func_exteneded and
4198 * FINISHME: GLSL 1.30 (or later) are supported.
4200 if (strcmp("location", (yyvsp
[(1) - (3)].identifier
)) == 0) {
4203 (yyval
.type_qualifier
).flags
.q
.explicit_location
= 1;
4205 if ((yyvsp
[(3) - (3)].n
) >= 0) {
4206 (yyval
.type_qualifier
).location
= (yyvsp
[(3) - (3)].n
);
4208 _mesa_glsl_error(& (yylsp
[(3) - (3)]), state
,
4209 "invalid location %d specified\n", (yyvsp
[(3) - (3)].n
));
4215 /* If the identifier didn't match any known layout identifiers,
4219 _mesa_glsl_error(& (yylsp
[(1) - (3)]), state
, "unrecognized layout identifier "
4220 "`%s'\n", (yyvsp
[(1) - (3)].identifier
));
4222 } else if (state
->ARB_explicit_attrib_location_warn
) {
4223 _mesa_glsl_warning(& (yylsp
[(1) - (3)]), state
,
4224 "GL_ARB_explicit_attrib_location layout "
4225 "identifier `%s' used\n", (yyvsp
[(1) - (3)].identifier
));
4232 /* Line 1806 of yacc.c */
4233 #line 1210 "src/glsl/glsl_parser.yy"
4235 memset(& (yyval
.type_qualifier
), 0, sizeof((yyval
.type_qualifier
)));
4236 (yyval
.type_qualifier
).flags
.q
.smooth
= 1;
4242 /* Line 1806 of yacc.c */
4243 #line 1215 "src/glsl/glsl_parser.yy"
4245 memset(& (yyval
.type_qualifier
), 0, sizeof((yyval
.type_qualifier
)));
4246 (yyval
.type_qualifier
).flags
.q
.flat
= 1;
4252 /* Line 1806 of yacc.c */
4253 #line 1220 "src/glsl/glsl_parser.yy"
4255 memset(& (yyval
.type_qualifier
), 0, sizeof((yyval
.type_qualifier
)));
4256 (yyval
.type_qualifier
).flags
.q
.noperspective
= 1;
4262 /* Line 1806 of yacc.c */
4263 #line 1228 "src/glsl/glsl_parser.yy"
4265 memset(& (yyval
.type_qualifier
), 0, sizeof((yyval
.type_qualifier
)));
4266 (yyval
.type_qualifier
).flags
.q
.constant
= 1;
4272 /* Line 1806 of yacc.c */
4273 #line 1238 "src/glsl/glsl_parser.yy"
4275 (yyval
.type_qualifier
) = (yyvsp
[(1) - (2)].type_qualifier
);
4276 (yyval
.type_qualifier
).flags
.i
|= (yyvsp
[(2) - (2)].type_qualifier
).flags
.i
;
4282 /* Line 1806 of yacc.c */
4283 #line 1244 "src/glsl/glsl_parser.yy"
4285 (yyval
.type_qualifier
) = (yyvsp
[(1) - (2)].type_qualifier
);
4286 (yyval
.type_qualifier
).flags
.i
|= (yyvsp
[(2) - (2)].type_qualifier
).flags
.i
;
4292 /* Line 1806 of yacc.c */
4293 #line 1249 "src/glsl/glsl_parser.yy"
4295 (yyval
.type_qualifier
) = (yyvsp
[(2) - (2)].type_qualifier
);
4296 (yyval
.type_qualifier
).flags
.q
.invariant
= 1;
4302 /* Line 1806 of yacc.c */
4303 #line 1254 "src/glsl/glsl_parser.yy"
4305 (yyval
.type_qualifier
) = (yyvsp
[(2) - (3)].type_qualifier
);
4306 (yyval
.type_qualifier
).flags
.i
|= (yyvsp
[(3) - (3)].type_qualifier
).flags
.i
;
4307 (yyval
.type_qualifier
).flags
.q
.invariant
= 1;
4313 /* Line 1806 of yacc.c */
4314 #line 1260 "src/glsl/glsl_parser.yy"
4316 memset(& (yyval
.type_qualifier
), 0, sizeof((yyval
.type_qualifier
)));
4317 (yyval
.type_qualifier
).flags
.q
.invariant
= 1;
4323 /* Line 1806 of yacc.c */
4324 #line 1268 "src/glsl/glsl_parser.yy"
4326 memset(& (yyval
.type_qualifier
), 0, sizeof((yyval
.type_qualifier
)));
4327 (yyval
.type_qualifier
).flags
.q
.constant
= 1;
4333 /* Line 1806 of yacc.c */
4334 #line 1273 "src/glsl/glsl_parser.yy"
4336 memset(& (yyval
.type_qualifier
), 0, sizeof((yyval
.type_qualifier
)));
4337 (yyval
.type_qualifier
).flags
.q
.attribute
= 1;
4343 /* Line 1806 of yacc.c */
4344 #line 1278 "src/glsl/glsl_parser.yy"
4346 memset(& (yyval
.type_qualifier
), 0, sizeof((yyval
.type_qualifier
)));
4347 (yyval
.type_qualifier
).flags
.q
.varying
= 1;
4353 /* Line 1806 of yacc.c */
4354 #line 1283 "src/glsl/glsl_parser.yy"
4356 memset(& (yyval
.type_qualifier
), 0, sizeof((yyval
.type_qualifier
)));
4357 (yyval
.type_qualifier
).flags
.q
.centroid
= 1;
4358 (yyval
.type_qualifier
).flags
.q
.varying
= 1;
4364 /* Line 1806 of yacc.c */
4365 #line 1289 "src/glsl/glsl_parser.yy"
4367 memset(& (yyval
.type_qualifier
), 0, sizeof((yyval
.type_qualifier
)));
4368 (yyval
.type_qualifier
).flags
.q
.in
= 1;
4374 /* Line 1806 of yacc.c */
4375 #line 1294 "src/glsl/glsl_parser.yy"
4377 memset(& (yyval
.type_qualifier
), 0, sizeof((yyval
.type_qualifier
)));
4378 (yyval
.type_qualifier
).flags
.q
.out
= 1;
4384 /* Line 1806 of yacc.c */
4385 #line 1299 "src/glsl/glsl_parser.yy"
4387 memset(& (yyval
.type_qualifier
), 0, sizeof((yyval
.type_qualifier
)));
4388 (yyval
.type_qualifier
).flags
.q
.centroid
= 1; (yyval
.type_qualifier
).flags
.q
.in
= 1;
4394 /* Line 1806 of yacc.c */
4395 #line 1304 "src/glsl/glsl_parser.yy"
4397 memset(& (yyval
.type_qualifier
), 0, sizeof((yyval
.type_qualifier
)));
4398 (yyval
.type_qualifier
).flags
.q
.centroid
= 1; (yyval
.type_qualifier
).flags
.q
.out
= 1;
4404 /* Line 1806 of yacc.c */
4405 #line 1309 "src/glsl/glsl_parser.yy"
4407 memset(& (yyval
.type_qualifier
), 0, sizeof((yyval
.type_qualifier
)));
4408 (yyval
.type_qualifier
).flags
.q
.uniform
= 1;
4414 /* Line 1806 of yacc.c */
4415 #line 1317 "src/glsl/glsl_parser.yy"
4417 (yyval
.type_specifier
) = (yyvsp
[(1) - (1)].type_specifier
);
4423 /* Line 1806 of yacc.c */
4424 #line 1321 "src/glsl/glsl_parser.yy"
4426 (yyval
.type_specifier
) = (yyvsp
[(2) - (2)].type_specifier
);
4427 (yyval
.type_specifier
)->precision
= (yyvsp
[(1) - (2)].n
);
4433 /* Line 1806 of yacc.c */
4434 #line 1330 "src/glsl/glsl_parser.yy"
4436 (yyval
.type_specifier
) = (yyvsp
[(1) - (3)].type_specifier
);
4437 (yyval
.type_specifier
)->is_array
= true;
4438 (yyval
.type_specifier
)->array_size
= NULL
;
4444 /* Line 1806 of yacc.c */
4445 #line 1336 "src/glsl/glsl_parser.yy"
4447 (yyval
.type_specifier
) = (yyvsp
[(1) - (4)].type_specifier
);
4448 (yyval
.type_specifier
)->is_array
= true;
4449 (yyval
.type_specifier
)->array_size
= (yyvsp
[(3) - (4)].expression
);
4455 /* Line 1806 of yacc.c */
4456 #line 1345 "src/glsl/glsl_parser.yy"
4459 (yyval
.type_specifier
) = new(ctx
) ast_type_specifier((yyvsp
[(1) - (1)].n
));
4460 (yyval
.type_specifier
)->set_location(yylloc
);
4466 /* Line 1806 of yacc.c */
4467 #line 1351 "src/glsl/glsl_parser.yy"
4470 (yyval
.type_specifier
) = new(ctx
) ast_type_specifier((yyvsp
[(1) - (1)].struct_specifier
));
4471 (yyval
.type_specifier
)->set_location(yylloc
);
4477 /* Line 1806 of yacc.c */
4478 #line 1357 "src/glsl/glsl_parser.yy"
4481 (yyval
.type_specifier
) = new(ctx
) ast_type_specifier((yyvsp
[(1) - (1)].identifier
));
4482 (yyval
.type_specifier
)->set_location(yylloc
);
4488 /* Line 1806 of yacc.c */
4489 #line 1365 "src/glsl/glsl_parser.yy"
4490 { (yyval
.n
) = ast_void
; }
4495 /* Line 1806 of yacc.c */
4496 #line 1366 "src/glsl/glsl_parser.yy"
4497 { (yyval
.n
) = ast_float
; }
4502 /* Line 1806 of yacc.c */
4503 #line 1367 "src/glsl/glsl_parser.yy"
4504 { (yyval
.n
) = ast_int
; }
4509 /* Line 1806 of yacc.c */
4510 #line 1368 "src/glsl/glsl_parser.yy"
4511 { (yyval
.n
) = ast_uint
; }
4516 /* Line 1806 of yacc.c */
4517 #line 1369 "src/glsl/glsl_parser.yy"
4518 { (yyval
.n
) = ast_bool
; }
4523 /* Line 1806 of yacc.c */
4524 #line 1370 "src/glsl/glsl_parser.yy"
4525 { (yyval
.n
) = ast_vec2
; }
4530 /* Line 1806 of yacc.c */
4531 #line 1371 "src/glsl/glsl_parser.yy"
4532 { (yyval
.n
) = ast_vec3
; }
4537 /* Line 1806 of yacc.c */
4538 #line 1372 "src/glsl/glsl_parser.yy"
4539 { (yyval
.n
) = ast_vec4
; }
4544 /* Line 1806 of yacc.c */
4545 #line 1373 "src/glsl/glsl_parser.yy"
4546 { (yyval
.n
) = ast_bvec2
; }
4551 /* Line 1806 of yacc.c */
4552 #line 1374 "src/glsl/glsl_parser.yy"
4553 { (yyval
.n
) = ast_bvec3
; }
4558 /* Line 1806 of yacc.c */
4559 #line 1375 "src/glsl/glsl_parser.yy"
4560 { (yyval
.n
) = ast_bvec4
; }
4565 /* Line 1806 of yacc.c */
4566 #line 1376 "src/glsl/glsl_parser.yy"
4567 { (yyval
.n
) = ast_ivec2
; }
4572 /* Line 1806 of yacc.c */
4573 #line 1377 "src/glsl/glsl_parser.yy"
4574 { (yyval
.n
) = ast_ivec3
; }
4579 /* Line 1806 of yacc.c */
4580 #line 1378 "src/glsl/glsl_parser.yy"
4581 { (yyval
.n
) = ast_ivec4
; }
4586 /* Line 1806 of yacc.c */
4587 #line 1379 "src/glsl/glsl_parser.yy"
4588 { (yyval
.n
) = ast_uvec2
; }
4593 /* Line 1806 of yacc.c */
4594 #line 1380 "src/glsl/glsl_parser.yy"
4595 { (yyval
.n
) = ast_uvec3
; }
4600 /* Line 1806 of yacc.c */
4601 #line 1381 "src/glsl/glsl_parser.yy"
4602 { (yyval
.n
) = ast_uvec4
; }
4607 /* Line 1806 of yacc.c */
4608 #line 1382 "src/glsl/glsl_parser.yy"
4609 { (yyval
.n
) = ast_mat2
; }
4614 /* Line 1806 of yacc.c */
4615 #line 1383 "src/glsl/glsl_parser.yy"
4616 { (yyval
.n
) = ast_mat2x3
; }
4621 /* Line 1806 of yacc.c */
4622 #line 1384 "src/glsl/glsl_parser.yy"
4623 { (yyval
.n
) = ast_mat2x4
; }
4628 /* Line 1806 of yacc.c */
4629 #line 1385 "src/glsl/glsl_parser.yy"
4630 { (yyval
.n
) = ast_mat3x2
; }
4635 /* Line 1806 of yacc.c */
4636 #line 1386 "src/glsl/glsl_parser.yy"
4637 { (yyval
.n
) = ast_mat3
; }
4642 /* Line 1806 of yacc.c */
4643 #line 1387 "src/glsl/glsl_parser.yy"
4644 { (yyval
.n
) = ast_mat3x4
; }
4649 /* Line 1806 of yacc.c */
4650 #line 1388 "src/glsl/glsl_parser.yy"
4651 { (yyval
.n
) = ast_mat4x2
; }
4656 /* Line 1806 of yacc.c */
4657 #line 1389 "src/glsl/glsl_parser.yy"
4658 { (yyval
.n
) = ast_mat4x3
; }
4663 /* Line 1806 of yacc.c */
4664 #line 1390 "src/glsl/glsl_parser.yy"
4665 { (yyval
.n
) = ast_mat4
; }
4670 /* Line 1806 of yacc.c */
4671 #line 1391 "src/glsl/glsl_parser.yy"
4672 { (yyval
.n
) = ast_sampler1d
; }
4677 /* Line 1806 of yacc.c */
4678 #line 1392 "src/glsl/glsl_parser.yy"
4679 { (yyval
.n
) = ast_sampler2d
; }
4684 /* Line 1806 of yacc.c */
4685 #line 1393 "src/glsl/glsl_parser.yy"
4686 { (yyval
.n
) = ast_sampler2drect
; }
4691 /* Line 1806 of yacc.c */
4692 #line 1394 "src/glsl/glsl_parser.yy"
4693 { (yyval
.n
) = ast_sampler3d
; }
4698 /* Line 1806 of yacc.c */
4699 #line 1395 "src/glsl/glsl_parser.yy"
4700 { (yyval
.n
) = ast_samplercube
; }
4705 /* Line 1806 of yacc.c */
4706 #line 1396 "src/glsl/glsl_parser.yy"
4707 { (yyval
.n
) = ast_samplerexternaloes
; }
4712 /* Line 1806 of yacc.c */
4713 #line 1397 "src/glsl/glsl_parser.yy"
4714 { (yyval
.n
) = ast_sampler1dshadow
; }
4719 /* Line 1806 of yacc.c */
4720 #line 1398 "src/glsl/glsl_parser.yy"
4721 { (yyval
.n
) = ast_sampler2dshadow
; }
4726 /* Line 1806 of yacc.c */
4727 #line 1399 "src/glsl/glsl_parser.yy"
4728 { (yyval
.n
) = ast_sampler2drectshadow
; }
4733 /* Line 1806 of yacc.c */
4734 #line 1400 "src/glsl/glsl_parser.yy"
4735 { (yyval
.n
) = ast_samplercubeshadow
; }
4740 /* Line 1806 of yacc.c */
4741 #line 1401 "src/glsl/glsl_parser.yy"
4742 { (yyval
.n
) = ast_sampler1darray
; }
4747 /* Line 1806 of yacc.c */
4748 #line 1402 "src/glsl/glsl_parser.yy"
4749 { (yyval
.n
) = ast_sampler2darray
; }
4754 /* Line 1806 of yacc.c */
4755 #line 1403 "src/glsl/glsl_parser.yy"
4756 { (yyval
.n
) = ast_sampler1darrayshadow
; }
4761 /* Line 1806 of yacc.c */
4762 #line 1404 "src/glsl/glsl_parser.yy"
4763 { (yyval
.n
) = ast_sampler2darrayshadow
; }
4768 /* Line 1806 of yacc.c */
4769 #line 1405 "src/glsl/glsl_parser.yy"
4770 { (yyval
.n
) = ast_isampler1d
; }
4775 /* Line 1806 of yacc.c */
4776 #line 1406 "src/glsl/glsl_parser.yy"
4777 { (yyval
.n
) = ast_isampler2d
; }
4782 /* Line 1806 of yacc.c */
4783 #line 1407 "src/glsl/glsl_parser.yy"
4784 { (yyval
.n
) = ast_isampler3d
; }
4789 /* Line 1806 of yacc.c */
4790 #line 1408 "src/glsl/glsl_parser.yy"
4791 { (yyval
.n
) = ast_isamplercube
; }
4796 /* Line 1806 of yacc.c */
4797 #line 1409 "src/glsl/glsl_parser.yy"
4798 { (yyval
.n
) = ast_isampler1darray
; }
4803 /* Line 1806 of yacc.c */
4804 #line 1410 "src/glsl/glsl_parser.yy"
4805 { (yyval
.n
) = ast_isampler2darray
; }
4810 /* Line 1806 of yacc.c */
4811 #line 1411 "src/glsl/glsl_parser.yy"
4812 { (yyval
.n
) = ast_usampler1d
; }
4817 /* Line 1806 of yacc.c */
4818 #line 1412 "src/glsl/glsl_parser.yy"
4819 { (yyval
.n
) = ast_usampler2d
; }
4824 /* Line 1806 of yacc.c */
4825 #line 1413 "src/glsl/glsl_parser.yy"
4826 { (yyval
.n
) = ast_usampler3d
; }
4831 /* Line 1806 of yacc.c */
4832 #line 1414 "src/glsl/glsl_parser.yy"
4833 { (yyval
.n
) = ast_usamplercube
; }
4838 /* Line 1806 of yacc.c */
4839 #line 1415 "src/glsl/glsl_parser.yy"
4840 { (yyval
.n
) = ast_usampler1darray
; }
4845 /* Line 1806 of yacc.c */
4846 #line 1416 "src/glsl/glsl_parser.yy"
4847 { (yyval
.n
) = ast_usampler2darray
; }
4852 /* Line 1806 of yacc.c */
4853 #line 1420 "src/glsl/glsl_parser.yy"
4855 if (!state
->es_shader
&& state
->language_version
< 130)
4856 _mesa_glsl_error(& (yylsp
[(1) - (1)]), state
,
4857 "precision qualifier forbidden "
4858 "in %s (1.30 or later "
4860 state
->version_string
);
4862 (yyval
.n
) = ast_precision_high
;
4868 /* Line 1806 of yacc.c */
4869 #line 1430 "src/glsl/glsl_parser.yy"
4871 if (!state
->es_shader
&& state
->language_version
< 130)
4872 _mesa_glsl_error(& (yylsp
[(1) - (1)]), state
,
4873 "precision qualifier forbidden "
4874 "in %s (1.30 or later "
4876 state
->version_string
);
4878 (yyval
.n
) = ast_precision_medium
;
4884 /* Line 1806 of yacc.c */
4885 #line 1440 "src/glsl/glsl_parser.yy"
4887 if (!state
->es_shader
&& state
->language_version
< 130)
4888 _mesa_glsl_error(& (yylsp
[(1) - (1)]), state
,
4889 "precision qualifier forbidden "
4890 "in %s (1.30 or later "
4892 state
->version_string
);
4894 (yyval
.n
) = ast_precision_low
;
4900 /* Line 1806 of yacc.c */
4901 #line 1454 "src/glsl/glsl_parser.yy"
4904 (yyval
.struct_specifier
) = new(ctx
) ast_struct_specifier((yyvsp
[(2) - (5)].identifier
), (yyvsp
[(4) - (5)].node
));
4905 (yyval
.struct_specifier
)->set_location(yylloc
);
4906 state
->symbols
->add_type((yyvsp
[(2) - (5)].identifier
), glsl_type::void_type
);
4912 /* Line 1806 of yacc.c */
4913 #line 1461 "src/glsl/glsl_parser.yy"
4916 (yyval
.struct_specifier
) = new(ctx
) ast_struct_specifier(NULL
, (yyvsp
[(3) - (4)].node
));
4917 (yyval
.struct_specifier
)->set_location(yylloc
);
4923 /* Line 1806 of yacc.c */
4924 #line 1470 "src/glsl/glsl_parser.yy"
4926 (yyval
.node
) = (ast_node
*) (yyvsp
[(1) - (1)].declarator_list
);
4927 (yyvsp
[(1) - (1)].declarator_list
)->link
.self_link();
4933 /* Line 1806 of yacc.c */
4934 #line 1475 "src/glsl/glsl_parser.yy"
4936 (yyval
.node
) = (ast_node
*) (yyvsp
[(1) - (2)].node
);
4937 (yyval
.node
)->link
.insert_before(& (yyvsp
[(2) - (2)].declarator_list
)->link
);
4943 /* Line 1806 of yacc.c */
4944 #line 1483 "src/glsl/glsl_parser.yy"
4947 ast_fully_specified_type
*type
= new(ctx
) ast_fully_specified_type();
4948 type
->set_location(yylloc
);
4950 type
->specifier
= (yyvsp
[(1) - (3)].type_specifier
);
4951 (yyval
.declarator_list
) = new(ctx
) ast_declarator_list(type
);
4952 (yyval
.declarator_list
)->set_location(yylloc
);
4954 (yyval
.declarator_list
)->declarations
.push_degenerate_list_at_head(& (yyvsp
[(2) - (3)].declaration
)->link
);
4960 /* Line 1806 of yacc.c */
4961 #line 1498 "src/glsl/glsl_parser.yy"
4963 (yyval
.declaration
) = (yyvsp
[(1) - (1)].declaration
);
4964 (yyvsp
[(1) - (1)].declaration
)->link
.self_link();
4970 /* Line 1806 of yacc.c */
4971 #line 1503 "src/glsl/glsl_parser.yy"
4973 (yyval
.declaration
) = (yyvsp
[(1) - (3)].declaration
);
4974 (yyval
.declaration
)->link
.insert_before(& (yyvsp
[(3) - (3)].declaration
)->link
);
4980 /* Line 1806 of yacc.c */
4981 #line 1511 "src/glsl/glsl_parser.yy"
4984 (yyval
.declaration
) = new(ctx
) ast_declaration((yyvsp
[(1) - (1)].identifier
), false, NULL
, NULL
);
4985 (yyval
.declaration
)->set_location(yylloc
);
4986 state
->symbols
->add_variable(new(state
) ir_variable(NULL
, (yyvsp
[(1) - (1)].identifier
), ir_var_auto
));
4992 /* Line 1806 of yacc.c */
4993 #line 1518 "src/glsl/glsl_parser.yy"
4996 (yyval
.declaration
) = new(ctx
) ast_declaration((yyvsp
[(1) - (4)].identifier
), true, (yyvsp
[(3) - (4)].expression
), NULL
);
4997 (yyval
.declaration
)->set_location(yylloc
);
5003 /* Line 1806 of yacc.c */
5004 #line 1536 "src/glsl/glsl_parser.yy"
5005 { (yyval
.node
) = (ast_node
*) (yyvsp
[(1) - (1)].compound_statement
); }
5010 /* Line 1806 of yacc.c */
5011 #line 1551 "src/glsl/glsl_parser.yy"
5014 (yyval
.compound_statement
) = new(ctx
) ast_compound_statement(true, NULL
);
5015 (yyval
.compound_statement
)->set_location(yylloc
);
5021 /* Line 1806 of yacc.c */
5022 #line 1557 "src/glsl/glsl_parser.yy"
5024 state
->symbols
->push_scope();
5030 /* Line 1806 of yacc.c */
5031 #line 1561 "src/glsl/glsl_parser.yy"
5034 (yyval
.compound_statement
) = new(ctx
) ast_compound_statement(true, (yyvsp
[(3) - (4)].node
));
5035 (yyval
.compound_statement
)->set_location(yylloc
);
5036 state
->symbols
->pop_scope();
5042 /* Line 1806 of yacc.c */
5043 #line 1570 "src/glsl/glsl_parser.yy"
5044 { (yyval
.node
) = (ast_node
*) (yyvsp
[(1) - (1)].compound_statement
); }
5049 /* Line 1806 of yacc.c */
5050 #line 1576 "src/glsl/glsl_parser.yy"
5053 (yyval
.compound_statement
) = new(ctx
) ast_compound_statement(false, NULL
);
5054 (yyval
.compound_statement
)->set_location(yylloc
);
5060 /* Line 1806 of yacc.c */
5061 #line 1582 "src/glsl/glsl_parser.yy"
5064 (yyval
.compound_statement
) = new(ctx
) ast_compound_statement(false, (yyvsp
[(2) - (3)].node
));
5065 (yyval
.compound_statement
)->set_location(yylloc
);
5071 /* Line 1806 of yacc.c */
5072 #line 1591 "src/glsl/glsl_parser.yy"
5074 if ((yyvsp
[(1) - (1)].node
) == NULL
) {
5075 _mesa_glsl_error(& (yylsp
[(1) - (1)]), state
, "<nil> statement\n");
5076 assert((yyvsp
[(1) - (1)].node
) != NULL
);
5079 (yyval
.node
) = (yyvsp
[(1) - (1)].node
);
5080 (yyval
.node
)->link
.self_link();
5086 /* Line 1806 of yacc.c */
5087 #line 1601 "src/glsl/glsl_parser.yy"
5089 if ((yyvsp
[(2) - (2)].node
) == NULL
) {
5090 _mesa_glsl_error(& (yylsp
[(2) - (2)]), state
, "<nil> statement\n");
5091 assert((yyvsp
[(2) - (2)].node
) != NULL
);
5093 (yyval
.node
) = (yyvsp
[(1) - (2)].node
);
5094 (yyval
.node
)->link
.insert_before(& (yyvsp
[(2) - (2)].node
)->link
);
5100 /* Line 1806 of yacc.c */
5101 #line 1613 "src/glsl/glsl_parser.yy"
5104 (yyval
.node
) = new(ctx
) ast_expression_statement(NULL
);
5105 (yyval
.node
)->set_location(yylloc
);
5111 /* Line 1806 of yacc.c */
5112 #line 1619 "src/glsl/glsl_parser.yy"
5115 (yyval
.node
) = new(ctx
) ast_expression_statement((yyvsp
[(1) - (2)].expression
));
5116 (yyval
.node
)->set_location(yylloc
);
5122 /* Line 1806 of yacc.c */
5123 #line 1628 "src/glsl/glsl_parser.yy"
5125 (yyval
.node
) = new(state
) ast_selection_statement((yyvsp
[(3) - (5)].expression
), (yyvsp
[(5) - (5)].selection_rest_statement
).then_statement
,
5126 (yyvsp
[(5) - (5)].selection_rest_statement
).else_statement
);
5127 (yyval
.node
)->set_location(yylloc
);
5133 /* Line 1806 of yacc.c */
5134 #line 1637 "src/glsl/glsl_parser.yy"
5136 (yyval
.selection_rest_statement
).then_statement
= (yyvsp
[(1) - (3)].node
);
5137 (yyval
.selection_rest_statement
).else_statement
= (yyvsp
[(3) - (3)].node
);
5143 /* Line 1806 of yacc.c */
5144 #line 1642 "src/glsl/glsl_parser.yy"
5146 (yyval
.selection_rest_statement
).then_statement
= (yyvsp
[(1) - (1)].node
);
5147 (yyval
.selection_rest_statement
).else_statement
= NULL
;
5153 /* Line 1806 of yacc.c */
5154 #line 1650 "src/glsl/glsl_parser.yy"
5156 (yyval
.node
) = (ast_node
*) (yyvsp
[(1) - (1)].expression
);
5162 /* Line 1806 of yacc.c */
5163 #line 1654 "src/glsl/glsl_parser.yy"
5166 ast_declaration
*decl
= new(ctx
) ast_declaration((yyvsp
[(2) - (4)].identifier
), false, NULL
, (yyvsp
[(4) - (4)].expression
));
5167 ast_declarator_list
*declarator
= new(ctx
) ast_declarator_list((yyvsp
[(1) - (4)].fully_specified_type
));
5168 decl
->set_location(yylloc
);
5169 declarator
->set_location(yylloc
);
5171 declarator
->declarations
.push_tail(&decl
->link
);
5172 (yyval
.node
) = declarator
;
5178 /* Line 1806 of yacc.c */
5179 #line 1672 "src/glsl/glsl_parser.yy"
5181 (yyval
.node
) = new(state
) ast_switch_statement((yyvsp
[(3) - (5)].expression
), (yyvsp
[(5) - (5)].switch_body
));
5182 (yyval
.node
)->set_location(yylloc
);
5188 /* Line 1806 of yacc.c */
5189 #line 1680 "src/glsl/glsl_parser.yy"
5191 (yyval
.switch_body
) = new(state
) ast_switch_body(NULL
);
5192 (yyval
.switch_body
)->set_location(yylloc
);
5198 /* Line 1806 of yacc.c */
5199 #line 1685 "src/glsl/glsl_parser.yy"
5201 (yyval
.switch_body
) = new(state
) ast_switch_body((yyvsp
[(2) - (3)].case_statement_list
));
5202 (yyval
.switch_body
)->set_location(yylloc
);
5208 /* Line 1806 of yacc.c */
5209 #line 1693 "src/glsl/glsl_parser.yy"
5211 (yyval
.case_label
) = new(state
) ast_case_label((yyvsp
[(2) - (3)].expression
));
5212 (yyval
.case_label
)->set_location(yylloc
);
5218 /* Line 1806 of yacc.c */
5219 #line 1698 "src/glsl/glsl_parser.yy"
5221 (yyval
.case_label
) = new(state
) ast_case_label(NULL
);
5222 (yyval
.case_label
)->set_location(yylloc
);
5228 /* Line 1806 of yacc.c */
5229 #line 1706 "src/glsl/glsl_parser.yy"
5231 ast_case_label_list
*labels
= new(state
) ast_case_label_list();
5233 labels
->labels
.push_tail(& (yyvsp
[(1) - (1)].case_label
)->link
);
5234 (yyval
.case_label_list
) = labels
;
5235 (yyval
.case_label_list
)->set_location(yylloc
);
5241 /* Line 1806 of yacc.c */
5242 #line 1714 "src/glsl/glsl_parser.yy"
5244 (yyval
.case_label_list
) = (yyvsp
[(1) - (2)].case_label_list
);
5245 (yyval
.case_label_list
)->labels
.push_tail(& (yyvsp
[(2) - (2)].case_label
)->link
);
5251 /* Line 1806 of yacc.c */
5252 #line 1722 "src/glsl/glsl_parser.yy"
5254 ast_case_statement
*stmts
= new(state
) ast_case_statement((yyvsp
[(1) - (2)].case_label_list
));
5255 stmts
->set_location(yylloc
);
5257 stmts
->stmts
.push_tail(& (yyvsp
[(2) - (2)].node
)->link
);
5258 (yyval
.case_statement
) = stmts
;
5264 /* Line 1806 of yacc.c */
5265 #line 1730 "src/glsl/glsl_parser.yy"
5267 (yyval
.case_statement
) = (yyvsp
[(1) - (2)].case_statement
);
5268 (yyval
.case_statement
)->stmts
.push_tail(& (yyvsp
[(2) - (2)].node
)->link
);
5274 /* Line 1806 of yacc.c */
5275 #line 1738 "src/glsl/glsl_parser.yy"
5277 ast_case_statement_list
*cases
= new(state
) ast_case_statement_list();
5278 cases
->set_location(yylloc
);
5280 cases
->cases
.push_tail(& (yyvsp
[(1) - (1)].case_statement
)->link
);
5281 (yyval
.case_statement_list
) = cases
;
5287 /* Line 1806 of yacc.c */
5288 #line 1746 "src/glsl/glsl_parser.yy"
5290 (yyval
.case_statement_list
) = (yyvsp
[(1) - (2)].case_statement_list
);
5291 (yyval
.case_statement_list
)->cases
.push_tail(& (yyvsp
[(2) - (2)].case_statement
)->link
);
5297 /* Line 1806 of yacc.c */
5298 #line 1754 "src/glsl/glsl_parser.yy"
5301 (yyval
.node
) = new(ctx
) ast_iteration_statement(ast_iteration_statement::ast_while
,
5302 NULL
, (yyvsp
[(3) - (5)].node
), NULL
, (yyvsp
[(5) - (5)].node
));
5303 (yyval
.node
)->set_location(yylloc
);
5309 /* Line 1806 of yacc.c */
5310 #line 1761 "src/glsl/glsl_parser.yy"
5313 (yyval
.node
) = new(ctx
) ast_iteration_statement(ast_iteration_statement::ast_do_while
,
5314 NULL
, (yyvsp
[(5) - (7)].expression
), NULL
, (yyvsp
[(2) - (7)].node
));
5315 (yyval
.node
)->set_location(yylloc
);
5321 /* Line 1806 of yacc.c */
5322 #line 1768 "src/glsl/glsl_parser.yy"
5325 (yyval
.node
) = new(ctx
) ast_iteration_statement(ast_iteration_statement::ast_for
,
5326 (yyvsp
[(3) - (6)].node
), (yyvsp
[(4) - (6)].for_rest_statement
).cond
, (yyvsp
[(4) - (6)].for_rest_statement
).rest
, (yyvsp
[(6) - (6)].node
));
5327 (yyval
.node
)->set_location(yylloc
);
5333 /* Line 1806 of yacc.c */
5334 #line 1784 "src/glsl/glsl_parser.yy"
5336 (yyval
.node
) = NULL
;
5342 /* Line 1806 of yacc.c */
5343 #line 1791 "src/glsl/glsl_parser.yy"
5345 (yyval
.for_rest_statement
).cond
= (yyvsp
[(1) - (2)].node
);
5346 (yyval
.for_rest_statement
).rest
= NULL
;
5352 /* Line 1806 of yacc.c */
5353 #line 1796 "src/glsl/glsl_parser.yy"
5355 (yyval
.for_rest_statement
).cond
= (yyvsp
[(1) - (3)].node
);
5356 (yyval
.for_rest_statement
).rest
= (yyvsp
[(3) - (3)].expression
);
5362 /* Line 1806 of yacc.c */
5363 #line 1805 "src/glsl/glsl_parser.yy"
5366 (yyval
.node
) = new(ctx
) ast_jump_statement(ast_jump_statement::ast_continue
, NULL
);
5367 (yyval
.node
)->set_location(yylloc
);
5373 /* Line 1806 of yacc.c */
5374 #line 1811 "src/glsl/glsl_parser.yy"
5377 (yyval
.node
) = new(ctx
) ast_jump_statement(ast_jump_statement::ast_break
, NULL
);
5378 (yyval
.node
)->set_location(yylloc
);
5384 /* Line 1806 of yacc.c */
5385 #line 1817 "src/glsl/glsl_parser.yy"
5388 (yyval
.node
) = new(ctx
) ast_jump_statement(ast_jump_statement::ast_return
, NULL
);
5389 (yyval
.node
)->set_location(yylloc
);
5395 /* Line 1806 of yacc.c */
5396 #line 1823 "src/glsl/glsl_parser.yy"
5399 (yyval
.node
) = new(ctx
) ast_jump_statement(ast_jump_statement::ast_return
, (yyvsp
[(2) - (3)].expression
));
5400 (yyval
.node
)->set_location(yylloc
);
5406 /* Line 1806 of yacc.c */
5407 #line 1829 "src/glsl/glsl_parser.yy"
5410 (yyval
.node
) = new(ctx
) ast_jump_statement(ast_jump_statement::ast_discard
, NULL
);
5411 (yyval
.node
)->set_location(yylloc
);
5417 /* Line 1806 of yacc.c */
5418 #line 1837 "src/glsl/glsl_parser.yy"
5419 { (yyval
.node
) = (yyvsp
[(1) - (1)].function_definition
); }
5424 /* Line 1806 of yacc.c */
5425 #line 1838 "src/glsl/glsl_parser.yy"
5426 { (yyval
.node
) = (yyvsp
[(1) - (1)].node
); }
5431 /* Line 1806 of yacc.c */
5432 #line 1839 "src/glsl/glsl_parser.yy"
5433 { (yyval
.node
) = NULL
; }
5438 /* Line 1806 of yacc.c */
5439 #line 1844 "src/glsl/glsl_parser.yy"
5442 (yyval
.function_definition
) = new(ctx
) ast_function_definition();
5443 (yyval
.function_definition
)->set_location(yylloc
);
5444 (yyval
.function_definition
)->prototype
= (yyvsp
[(1) - (2)].function
);
5445 (yyval
.function_definition
)->body
= (yyvsp
[(2) - (2)].compound_statement
);
5447 state
->symbols
->pop_scope();
5453 /* Line 1806 of yacc.c */
5454 #line 5455 "build/windows-x86/glsl/glsl_parser.cpp"
5457 /* User semantic actions sometimes alter yychar, and that requires
5458 that yytoken be updated with the new translation. We take the
5459 approach of translating immediately before every use of yytoken.
5460 One alternative is translating here after every semantic action,
5461 but that translation would be missed if the semantic action invokes
5462 YYABORT, YYACCEPT, or YYERROR immediately after altering yychar or
5463 if it invokes YYBACKUP. In the case of YYABORT or YYACCEPT, an
5464 incorrect destructor might then be invoked immediately. In the
5465 case of YYERROR or YYBACKUP, subsequent parser actions might lead
5466 to an incorrect destructor call or verbose syntax error message
5467 before the lookahead is translated. */
5468 YY_SYMBOL_PRINT ("-> $$ =", yyr1
[yyn
], &yyval
, &yyloc
);
5472 YY_STACK_PRINT (yyss
, yyssp
);
5477 /* Now `shift' the result of the reduction. Determine what state
5478 that goes to, based on the state we popped back to and the rule
5479 number reduced by. */
5483 yystate
= yypgoto
[yyn
- YYNTOKENS
] + *yyssp
;
5484 if (0 <= yystate
&& yystate
<= YYLAST
&& yycheck
[yystate
] == *yyssp
)
5485 yystate
= yytable
[yystate
];
5487 yystate
= yydefgoto
[yyn
- YYNTOKENS
];
5492 /*------------------------------------.
5493 | yyerrlab -- here on detecting error |
5494 `------------------------------------*/
5496 /* Make sure we have latest lookahead translation. See comments at
5497 user semantic actions for why this is necessary. */
5498 yytoken
= yychar
== YYEMPTY
? YYEMPTY
: YYTRANSLATE (yychar
);
5500 /* If not already recovering from an error, report this error. */
5504 #if ! YYERROR_VERBOSE
5505 yyerror (&yylloc
, state
, YY_("syntax error"));
5507 # define YYSYNTAX_ERROR yysyntax_error (&yymsg_alloc, &yymsg, \
5510 char const *yymsgp
= YY_("syntax error");
5511 int yysyntax_error_status
;
5512 yysyntax_error_status
= YYSYNTAX_ERROR
;
5513 if (yysyntax_error_status
== 0)
5515 else if (yysyntax_error_status
== 1)
5517 if (yymsg
!= yymsgbuf
)
5518 YYSTACK_FREE (yymsg
);
5519 yymsg
= (char *) YYSTACK_ALLOC (yymsg_alloc
);
5523 yymsg_alloc
= sizeof yymsgbuf
;
5524 yysyntax_error_status
= 2;
5528 yysyntax_error_status
= YYSYNTAX_ERROR
;
5532 yyerror (&yylloc
, state
, yymsgp
);
5533 if (yysyntax_error_status
== 2)
5534 goto yyexhaustedlab
;
5536 # undef YYSYNTAX_ERROR
5540 yyerror_range
[1] = yylloc
;
5542 if (yyerrstatus
== 3)
5544 /* If just tried and failed to reuse lookahead token after an
5545 error, discard it. */
5547 if (yychar
<= YYEOF
)
5549 /* Return failure if at end of input. */
5550 if (yychar
== YYEOF
)
5555 yydestruct ("Error: discarding",
5556 yytoken
, &yylval
, &yylloc
, state
);
5561 /* Else will try to reuse lookahead token after shifting the error
5566 /*---------------------------------------------------.
5567 | yyerrorlab -- error raised explicitly by YYERROR. |
5568 `---------------------------------------------------*/
5571 /* Pacify compilers like GCC when the user code never invokes
5572 YYERROR and the label yyerrorlab therefore never appears in user
5574 if (/*CONSTCOND*/ 0)
5577 yyerror_range
[1] = yylsp
[1-yylen
];
5578 /* Do not reclaim the symbols of the rule which action triggered
5582 YY_STACK_PRINT (yyss
, yyssp
);
5587 /*-------------------------------------------------------------.
5588 | yyerrlab1 -- common code for both syntax error and YYERROR. |
5589 `-------------------------------------------------------------*/
5591 yyerrstatus
= 3; /* Each real token shifted decrements this. */
5595 yyn
= yypact
[yystate
];
5596 if (!yypact_value_is_default (yyn
))
5599 if (0 <= yyn
&& yyn
<= YYLAST
&& yycheck
[yyn
] == YYTERROR
)
5607 /* Pop the current state because it cannot handle the error token. */
5611 yyerror_range
[1] = *yylsp
;
5612 yydestruct ("Error: popping",
5613 yystos
[yystate
], yyvsp
, yylsp
, state
);
5616 YY_STACK_PRINT (yyss
, yyssp
);
5621 yyerror_range
[2] = yylloc
;
5622 /* Using YYLLOC is tempting, but would change the location of
5623 the lookahead. YYLOC is available though. */
5624 YYLLOC_DEFAULT (yyloc
, yyerror_range
, 2);
5627 /* Shift the error token. */
5628 YY_SYMBOL_PRINT ("Shifting", yystos
[yyn
], yyvsp
, yylsp
);
5634 /*-------------------------------------.
5635 | yyacceptlab -- YYACCEPT comes here. |
5636 `-------------------------------------*/
5641 /*-----------------------------------.
5642 | yyabortlab -- YYABORT comes here. |
5643 `-----------------------------------*/
5648 #if !defined(yyoverflow) || YYERROR_VERBOSE
5649 /*-------------------------------------------------.
5650 | yyexhaustedlab -- memory exhaustion comes here. |
5651 `-------------------------------------------------*/
5653 yyerror (&yylloc
, state
, YY_("memory exhausted"));
5659 if (yychar
!= YYEMPTY
)
5661 /* Make sure we have latest lookahead translation. See comments at
5662 user semantic actions for why this is necessary. */
5663 yytoken
= YYTRANSLATE (yychar
);
5664 yydestruct ("Cleanup: discarding lookahead",
5665 yytoken
, &yylval
, &yylloc
, state
);
5667 /* Do not reclaim the symbols of the rule which action triggered
5668 this YYABORT or YYACCEPT. */
5670 YY_STACK_PRINT (yyss
, yyssp
);
5671 while (yyssp
!= yyss
)
5673 yydestruct ("Cleanup: popping",
5674 yystos
[*yyssp
], yyvsp
, yylsp
, state
);
5679 YYSTACK_FREE (yyss
);
5682 if (yymsg
!= yymsgbuf
)
5683 YYSTACK_FREE (yymsg
);
5685 /* Make sure YYID is used. */
5686 return YYID (yyresult
);