2 /* A Bison parser, made by GNU Bison 2.4.1. */
4 /* Skeleton implementation for Bison's Yacc-like parsers in C
6 Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003, 2004, 2005, 2006
7 Free Software Foundation, Inc.
9 This program is free software: you can redistribute it and/or modify
10 it under the terms of the GNU General Public License as published by
11 the Free Software Foundation, either version 3 of the License, or
12 (at your option) any later version.
14 This program is distributed in the hope that it will be useful,
15 but WITHOUT ANY WARRANTY; without even the implied warranty of
16 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17 GNU General Public License for more details.
19 You should have received a copy of the GNU General Public License
20 along with this program. If not, see <http://www.gnu.org/licenses/>. */
22 /* As a special exception, you may create a larger work that contains
23 part or all of the Bison parser skeleton and distribute that work
24 under terms of your choice, so long as that work isn't itself a
25 parser generator using the skeleton or a modified version thereof
26 as a parser skeleton. Alternatively, if you modify or redistribute
27 the parser skeleton itself, you may (at your option) remove this
28 special exception, which will cause the skeleton and the resulting
29 Bison output files to be licensed under the GNU General Public
30 License without this special exception.
32 This special exception was added by the Free Software Foundation in
33 version 2.2 of Bison. */
35 /* C LALR(1) parser skeleton written by Richard Stallman, by
36 simplifying the original so-called "semantic" parser. */
38 /* All symbols defined below should begin with yy or YY, to avoid
39 infringing on user name space. This should be done even for local
40 variables, as they might otherwise be expanded by user macros.
41 There are some unavoidable exceptions within include files to
42 define necessary library symbols; they are noted "INFRINGES ON
43 USER NAME SPACE" below. */
45 /* Identify Bison output. */
49 #define YYBISON_VERSION "2.4.1"
52 #define YYSKELETON_NAME "yacc.c"
63 /* Using locations. */
64 #define YYLSP_NEEDED 1
66 /* Substitute the variable and function names. */
67 #define yyparse _mesa_glsl_parse
68 #define yylex _mesa_glsl_lex
69 #define yyerror _mesa_glsl_error
70 #define yylval _mesa_glsl_lval
71 #define yychar _mesa_glsl_char
72 #define yydebug _mesa_glsl_debug
73 #define yynerrs _mesa_glsl_nerrs
74 #define yylloc _mesa_glsl_lloc
76 /* Copy the first part of user declarations. */
78 /* Line 189 of yacc.c */
79 #line 1 "glsl_parser.ypp"
82 * Copyright © 2008, 2009 Intel Corporation
84 * Permission is hereby granted, free of charge, to any person obtaining a
85 * copy of this software and associated documentation files (the "Software"),
86 * to deal in the Software without restriction, including without limitation
87 * the rights to use, copy, modify, merge, publish, distribute, sublicense,
88 * and/or sell copies of the Software, and to permit persons to whom the
89 * Software is furnished to do so, subject to the following conditions:
91 * The above copyright notice and this permission notice (including the next
92 * paragraph) shall be included in all copies or substantial portions of the
95 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
96 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
97 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
98 * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
99 * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
100 * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
101 * DEALINGS IN THE SOFTWARE.
109 #include "glsl_parser_extras.h"
110 #include "glsl_types.h"
112 #define YYLEX_PARAM state->scanner
116 /* Line 189 of yacc.c */
117 #line 118 "glsl_parser.cpp"
119 /* Enabling traces. */
124 /* Enabling verbose error messages. */
125 #ifdef YYERROR_VERBOSE
126 # undef YYERROR_VERBOSE
127 # define YYERROR_VERBOSE 1
129 # define YYERROR_VERBOSE 1
132 /* Enabling the token table. */
133 #ifndef YYTOKEN_TABLE
134 # define YYTOKEN_TABLE 0
141 /* Put the tokens into the symbol table, so that GDB and other debuggers
195 SAMPLER1DSHADOW
= 309,
196 SAMPLER2DSHADOW
= 310,
197 SAMPLERCUBESHADOW
= 311,
198 SAMPLER1DARRAY
= 312,
199 SAMPLER2DARRAY
= 313,
200 SAMPLER1DARRAYSHADOW
= 314,
201 SAMPLER2DARRAYSHADOW
= 315,
206 ISAMPLER1DARRAY
= 320,
207 ISAMPLER2DARRAY
= 321,
212 USAMPLER1DARRAY
= 326,
213 USAMPLER2DARRAY
= 327,
222 FIELD_SELECTION
= 336,
294 SAMPLER2DRECTSHADOW
= 408,
334 #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
335 typedef union YYSTYPE
338 /* Line 214 of yacc.c */
339 #line 52 "glsl_parser.ypp"
346 struct ast_type_qualifier q
;
350 struct ast_node
*node
;
351 struct ast_type_specifier
*type_specifier
;
352 struct ast_fully_specified_type
*fully_specified_type
;
353 struct ast_function
*function
;
354 struct ast_parameter_declarator
*parameter_declarator
;
355 struct ast_function_definition
*function_definition
;
356 struct ast_compound_statement
*compound_statement
;
357 struct ast_expression
*expression
;
358 struct ast_declarator_list
*declarator_list
;
359 struct ast_struct_specifier
*struct_specifier
;
360 struct ast_declaration
*declaration
;
363 struct ast_node
*cond
;
364 struct ast_expression
*rest
;
365 } for_rest_statement
;
369 /* Line 214 of yacc.c */
370 #line 371 "glsl_parser.cpp"
372 # define YYSTYPE_IS_TRIVIAL 1
373 # define yystype YYSTYPE /* obsolescent; will be withdrawn */
374 # define YYSTYPE_IS_DECLARED 1
377 #if ! defined YYLTYPE && ! defined YYLTYPE_IS_DECLARED
378 typedef struct YYLTYPE
385 # define yyltype YYLTYPE /* obsolescent; will be withdrawn */
386 # define YYLTYPE_IS_DECLARED 1
387 # define YYLTYPE_IS_TRIVIAL 1
391 /* Copy the second part of user declarations. */
394 /* Line 264 of yacc.c */
395 #line 396 "glsl_parser.cpp"
402 typedef YYTYPE_UINT8 yytype_uint8
;
404 typedef unsigned char yytype_uint8
;
408 typedef YYTYPE_INT8 yytype_int8
;
409 #elif (defined __STDC__ || defined __C99__FUNC__ \
410 || defined __cplusplus || defined _MSC_VER)
411 typedef signed char yytype_int8
;
413 typedef short int yytype_int8
;
417 typedef YYTYPE_UINT16 yytype_uint16
;
419 typedef unsigned short int yytype_uint16
;
423 typedef YYTYPE_INT16 yytype_int16
;
425 typedef short int yytype_int16
;
429 # ifdef __SIZE_TYPE__
430 # define YYSIZE_T __SIZE_TYPE__
431 # elif defined size_t
432 # define YYSIZE_T size_t
433 # elif ! defined YYSIZE_T && (defined __STDC__ || defined __C99__FUNC__ \
434 || defined __cplusplus || defined _MSC_VER)
435 # include <stddef.h> /* INFRINGES ON USER NAME SPACE */
436 # define YYSIZE_T size_t
438 # define YYSIZE_T unsigned int
442 #define YYSIZE_MAXIMUM ((YYSIZE_T) -1)
447 # include <libintl.h> /* INFRINGES ON USER NAME SPACE */
448 # define YY_(msgid) dgettext ("bison-runtime", msgid)
452 # define YY_(msgid) msgid
456 /* Suppress unused-variable warnings by "using" E. */
457 #if ! defined lint || defined __GNUC__
458 # define YYUSE(e) ((void) (e))
460 # define YYUSE(e) /* empty */
463 /* Identity function, used to suppress warnings about constant conditions. */
467 #if (defined __STDC__ || defined __C99__FUNC__ \
468 || defined __cplusplus || defined _MSC_VER)
481 #if ! defined yyoverflow || YYERROR_VERBOSE
483 /* The parser invokes alloca or malloc; define the necessary symbols. */
485 # ifdef YYSTACK_USE_ALLOCA
486 # if YYSTACK_USE_ALLOCA
488 # define YYSTACK_ALLOC __builtin_alloca
489 # elif defined __BUILTIN_VA_ARG_INCR
490 # include <alloca.h> /* INFRINGES ON USER NAME SPACE */
492 # define YYSTACK_ALLOC __alloca
493 # elif defined _MSC_VER
494 # include <malloc.h> /* INFRINGES ON USER NAME SPACE */
495 # define alloca _alloca
497 # define YYSTACK_ALLOC alloca
498 # if ! defined _ALLOCA_H && ! defined _STDLIB_H && (defined __STDC__ || defined __C99__FUNC__ \
499 || defined __cplusplus || defined _MSC_VER)
500 # include <stdlib.h> /* INFRINGES ON USER NAME SPACE */
509 # ifdef YYSTACK_ALLOC
510 /* Pacify GCC's `empty if-body' warning. */
511 # define YYSTACK_FREE(Ptr) do { /* empty */; } while (YYID (0))
512 # ifndef YYSTACK_ALLOC_MAXIMUM
513 /* The OS might guarantee only one guard page at the bottom of the stack,
514 and a page size can be as small as 4096 bytes. So we cannot safely
515 invoke alloca (N) if N exceeds 4096. Use a slightly smaller number
516 to allow for a few compiler-allocated temporary stack slots. */
517 # define YYSTACK_ALLOC_MAXIMUM 4032 /* reasonable circa 2006 */
520 # define YYSTACK_ALLOC YYMALLOC
521 # define YYSTACK_FREE YYFREE
522 # ifndef YYSTACK_ALLOC_MAXIMUM
523 # define YYSTACK_ALLOC_MAXIMUM YYSIZE_MAXIMUM
525 # if (defined __cplusplus && ! defined _STDLIB_H \
526 && ! ((defined YYMALLOC || defined malloc) \
527 && (defined YYFREE || defined free)))
528 # include <stdlib.h> /* INFRINGES ON USER NAME SPACE */
534 # define YYMALLOC malloc
535 # if ! defined malloc && ! defined _STDLIB_H && (defined __STDC__ || defined __C99__FUNC__ \
536 || defined __cplusplus || defined _MSC_VER)
537 void *malloc (YYSIZE_T
); /* INFRINGES ON USER NAME SPACE */
542 # if ! defined free && ! defined _STDLIB_H && (defined __STDC__ || defined __C99__FUNC__ \
543 || defined __cplusplus || defined _MSC_VER)
544 void free (void *); /* INFRINGES ON USER NAME SPACE */
548 #endif /* ! defined yyoverflow || YYERROR_VERBOSE */
551 #if (! defined yyoverflow \
552 && (! defined __cplusplus \
553 || (defined YYLTYPE_IS_TRIVIAL && YYLTYPE_IS_TRIVIAL \
554 && defined YYSTYPE_IS_TRIVIAL && YYSTYPE_IS_TRIVIAL)))
556 /* A type that is properly aligned for any stack member. */
559 yytype_int16 yyss_alloc
;
564 /* The size of the maximum gap between one aligned stack and the next. */
565 # define YYSTACK_GAP_MAXIMUM (sizeof (union yyalloc) - 1)
567 /* The size of an array large to enough to hold all stacks, each with
569 # define YYSTACK_BYTES(N) \
570 ((N) * (sizeof (yytype_int16) + sizeof (YYSTYPE) + sizeof (YYLTYPE)) \
571 + 2 * YYSTACK_GAP_MAXIMUM)
573 /* Copy COUNT objects from FROM to TO. The source and destination do
576 # if defined __GNUC__ && 1 < __GNUC__
577 # define YYCOPY(To, From, Count) \
578 __builtin_memcpy (To, From, (Count) * sizeof (*(From)))
580 # define YYCOPY(To, From, Count) \
584 for (yyi = 0; yyi < (Count); yyi++) \
585 (To)[yyi] = (From)[yyi]; \
591 /* Relocate STACK from its old location to the new one. The
592 local variables YYSIZE and YYSTACKSIZE give the old and new number of
593 elements in the stack, and YYPTR gives the new location of the
594 stack. Advance YYPTR to a properly aligned location for the next
596 # define YYSTACK_RELOCATE(Stack_alloc, Stack) \
599 YYSIZE_T yynewbytes; \
600 YYCOPY (&yyptr->Stack_alloc, Stack, yysize); \
601 Stack = &yyptr->Stack_alloc; \
602 yynewbytes = yystacksize * sizeof (*Stack) + YYSTACK_GAP_MAXIMUM; \
603 yyptr += yynewbytes / sizeof (*yyptr); \
609 /* YYFINAL -- State number of the termination state. */
611 /* YYLAST -- Last index in YYTABLE. */
614 /* YYNTOKENS -- Number of terminals. */
615 #define YYNTOKENS 212
616 /* YYNNTS -- Number of nonterminals. */
618 /* YYNRULES -- Number of rules. */
620 /* YYNRULES -- Number of states. */
621 #define YYNSTATES 410
623 /* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX. */
625 #define YYMAXUTOK 442
627 #define YYTRANSLATE(YYX) \
628 ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK)
630 /* YYTRANSLATE[YYLEX] -- Bison symbol number corresponding to YYLEX. */
631 static const yytype_uint8 yytranslate
[] =
633 0, 2, 2, 2, 2, 2, 2, 2, 2, 2,
634 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
635 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
636 2, 2, 2, 196, 2, 2, 2, 200, 203, 2,
637 188, 189, 198, 194, 193, 195, 192, 199, 2, 2,
638 2, 2, 2, 2, 2, 2, 2, 2, 207, 209,
639 201, 208, 202, 206, 2, 2, 2, 2, 2, 2,
640 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
641 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
642 2, 190, 2, 191, 204, 2, 2, 2, 2, 2,
643 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
644 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
645 2, 2, 2, 210, 205, 211, 197, 2, 2, 2,
646 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
647 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
648 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
649 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
650 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
651 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
652 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
653 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
654 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
655 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
656 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
657 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
658 2, 2, 2, 2, 2, 2, 1, 2, 3, 4,
659 5, 6, 7, 8, 9, 10, 11, 12, 13, 14,
660 15, 16, 17, 18, 19, 20, 21, 22, 23, 24,
661 25, 26, 27, 28, 29, 30, 31, 32, 33, 34,
662 35, 36, 37, 38, 39, 40, 41, 42, 43, 44,
663 45, 46, 47, 48, 49, 50, 51, 52, 53, 54,
664 55, 56, 57, 58, 59, 60, 61, 62, 63, 64,
665 65, 66, 67, 68, 69, 70, 71, 72, 73, 74,
666 75, 76, 77, 78, 79, 80, 81, 82, 83, 84,
667 85, 86, 87, 88, 89, 90, 91, 92, 93, 94,
668 95, 96, 97, 98, 99, 100, 101, 102, 103, 104,
669 105, 106, 107, 108, 109, 110, 111, 112, 113, 114,
670 115, 116, 117, 118, 119, 120, 121, 122, 123, 124,
671 125, 126, 127, 128, 129, 130, 131, 132, 133, 134,
672 135, 136, 137, 138, 139, 140, 141, 142, 143, 144,
673 145, 146, 147, 148, 149, 150, 151, 152, 153, 154,
674 155, 156, 157, 158, 159, 160, 161, 162, 163, 164,
675 165, 166, 167, 168, 169, 170, 171, 172, 173, 174,
676 175, 176, 177, 178, 179, 180, 181, 182, 183, 184,
681 /* YYPRHS[YYN] -- Index of the first RHS symbol of rule number YYN in
683 static const yytype_uint16 yyprhs
[] =
685 0, 0, 3, 4, 9, 10, 14, 15, 18, 24,
686 26, 29, 31, 33, 35, 37, 39, 41, 45, 47,
687 52, 54, 58, 61, 64, 66, 68, 70, 74, 77,
688 80, 83, 85, 88, 92, 95, 97, 99, 101, 103,
689 106, 109, 112, 114, 116, 118, 120, 122, 126, 130,
690 134, 136, 140, 144, 146, 150, 154, 156, 160, 164,
691 168, 172, 174, 178, 182, 184, 188, 190, 194, 196,
692 200, 202, 206, 208, 212, 214, 218, 220, 226, 228,
693 232, 234, 236, 238, 240, 242, 244, 246, 248, 250,
694 252, 254, 256, 260, 262, 265, 268, 273, 276, 278,
695 280, 283, 287, 291, 294, 300, 304, 307, 311, 314,
696 315, 317, 319, 321, 323, 325, 329, 335, 342, 350,
697 359, 365, 367, 370, 375, 381, 388, 396, 401, 404,
698 406, 409, 410, 412, 417, 419, 423, 425, 427, 429,
699 431, 433, 435, 438, 441, 443, 445, 448, 451, 454,
700 456, 459, 462, 464, 466, 469, 471, 475, 480, 482,
701 484, 486, 488, 490, 492, 494, 496, 498, 500, 502,
702 504, 506, 508, 510, 512, 514, 516, 518, 520, 522,
703 524, 526, 528, 530, 532, 534, 536, 538, 540, 542,
704 544, 546, 548, 550, 552, 554, 556, 558, 560, 562,
705 564, 566, 568, 570, 572, 574, 576, 578, 580, 582,
706 584, 586, 588, 590, 592, 594, 600, 605, 607, 610,
707 614, 616, 620, 622, 627, 629, 631, 633, 635, 637,
708 639, 641, 643, 645, 647, 649, 651, 653, 655, 658,
709 662, 664, 666, 669, 673, 675, 678, 680, 683, 691,
710 697, 703, 711, 713, 718, 724, 728, 731, 737, 745,
711 752, 754, 756, 758, 759, 762, 766, 769, 772, 775,
715 /* YYRHS -- A `-1'-separated list of the rules' RHS. */
716 static const yytype_int16 yyrhs
[] =
718 213, 0, -1, -1, 215, 216, 214, 218, -1, -1,
719 109, 78, 114, -1, -1, 216, 217, -1, 110, 76,
720 113, 76, 114, -1, 299, -1, 218, 299, -1, 76,
721 -1, 219, -1, 78, -1, 79, -1, 77, -1, 80,
722 -1, 188, 246, 189, -1, 220, -1, 221, 190, 222,
723 191, -1, 223, -1, 221, 192, 76, -1, 221, 84,
724 -1, 221, 85, -1, 246, -1, 224, -1, 225, -1,
725 221, 192, 225, -1, 227, 189, -1, 226, 189, -1,
726 228, 74, -1, 228, -1, 228, 244, -1, 227, 193,
727 244, -1, 229, 188, -1, 268, -1, 76, -1, 81,
728 -1, 221, -1, 84, 230, -1, 85, 230, -1, 231,
729 230, -1, 194, -1, 195, -1, 196, -1, 197, -1,
730 230, -1, 232, 198, 230, -1, 232, 199, 230, -1,
731 232, 200, 230, -1, 232, -1, 233, 194, 232, -1,
732 233, 195, 232, -1, 233, -1, 234, 82, 233, -1,
733 234, 83, 233, -1, 234, -1, 235, 201, 234, -1,
734 235, 202, 234, -1, 235, 86, 234, -1, 235, 87,
735 234, -1, 235, -1, 236, 88, 235, -1, 236, 89,
736 235, -1, 236, -1, 237, 203, 236, -1, 237, -1,
737 238, 204, 237, -1, 238, -1, 239, 205, 238, -1,
738 239, -1, 240, 90, 239, -1, 240, -1, 241, 92,
739 240, -1, 241, -1, 242, 91, 241, -1, 242, -1,
740 242, 206, 246, 207, 244, -1, 243, -1, 230, 245,
741 244, -1, 208, -1, 93, -1, 94, -1, 96, -1,
742 95, -1, 102, -1, 97, -1, 98, -1, 99, -1,
743 100, -1, 101, -1, 244, -1, 246, 193, 244, -1,
744 243, -1, 249, 209, -1, 257, 209, -1, 108, 272,
745 269, 209, -1, 250, 189, -1, 252, -1, 251, -1,
746 252, 254, -1, 251, 193, 254, -1, 259, 76, 188,
747 -1, 268, 76, -1, 268, 76, 190, 247, 191, -1,
748 265, 255, 253, -1, 255, 253, -1, 265, 255, 256,
749 -1, 255, 256, -1, -1, 33, -1, 34, -1, 35,
750 -1, 268, -1, 258, -1, 257, 193, 76, -1, 257,
751 193, 76, 190, 191, -1, 257, 193, 76, 190, 247,
752 191, -1, 257, 193, 76, 190, 191, 208, 278, -1,
753 257, 193, 76, 190, 247, 191, 208, 278, -1, 257,
754 193, 76, 208, 278, -1, 259, -1, 259, 76, -1,
755 259, 76, 190, 191, -1, 259, 76, 190, 247, 191,
756 -1, 259, 76, 190, 191, 208, 278, -1, 259, 76,
757 190, 247, 191, 208, 278, -1, 259, 76, 208, 278,
758 -1, 103, 76, -1, 268, -1, 266, 268, -1, -1,
759 261, -1, 117, 188, 262, 189, -1, 263, -1, 262,
760 193, 263, -1, 76, -1, 40, -1, 39, -1, 38,
761 -1, 4, -1, 267, -1, 264, 266, -1, 103, 266,
762 -1, 4, -1, 3, -1, 260, 37, -1, 32, 37,
763 -1, 260, 33, -1, 34, -1, 32, 33, -1, 32,
764 34, -1, 36, -1, 269, -1, 272, 269, -1, 270,
765 -1, 270, 190, 191, -1, 270, 190, 247, 191, -1,
766 271, -1, 273, -1, 76, -1, 74, -1, 6, -1,
767 7, -1, 8, -1, 5, -1, 29, -1, 30, -1,
768 31, -1, 20, -1, 21, -1, 22, -1, 23, -1,
769 24, -1, 25, -1, 26, -1, 27, -1, 28, -1,
770 41, -1, 42, -1, 43, -1, 44, -1, 45, -1,
771 46, -1, 47, -1, 48, -1, 49, -1, 50, -1,
772 51, -1, 151, -1, 52, -1, 53, -1, 54, -1,
773 55, -1, 153, -1, 56, -1, 57, -1, 58, -1,
774 59, -1, 60, -1, 61, -1, 62, -1, 63, -1,
775 64, -1, 65, -1, 66, -1, 67, -1, 68, -1,
776 69, -1, 70, -1, 71, -1, 72, -1, 106, -1,
777 105, -1, 104, -1, 73, 76, 210, 274, 211, -1,
778 73, 210, 274, 211, -1, 275, -1, 274, 275, -1,
779 268, 276, 209, -1, 277, -1, 276, 193, 277, -1,
780 76, -1, 76, 190, 247, 191, -1, 244, -1, 248,
781 -1, 281, -1, 282, -1, 284, -1, 283, -1, 290,
782 -1, 279, -1, 288, -1, 289, -1, 292, -1, 293,
783 -1, 294, -1, 298, -1, 210, 211, -1, 210, 287,
784 211, -1, 286, -1, 283, -1, 210, 211, -1, 210,
785 287, 211, -1, 280, -1, 287, 280, -1, 209, -1,
786 246, 209, -1, 14, 188, 246, 189, 281, 12, 281,
787 -1, 14, 188, 246, 189, 281, -1, 14, 188, 246,
788 189, 282, -1, 14, 188, 246, 189, 281, 12, 282,
789 -1, 246, -1, 259, 76, 208, 278, -1, 17, 188,
790 246, 189, 284, -1, 18, 246, 207, -1, 19, 207,
791 -1, 75, 188, 291, 189, 285, -1, 11, 280, 75,
792 188, 246, 189, 209, -1, 13, 188, 295, 297, 189,
793 285, -1, 288, -1, 279, -1, 291, -1, -1, 296,
794 209, -1, 296, 209, 246, -1, 10, 209, -1, 9,
795 209, -1, 16, 209, -1, 16, 246, 209, -1, 15,
796 209, -1, 300, -1, 248, -1, 249, 286, -1
799 /* YYRLINE[YYN] -- source line where rule number YYN was defined. */
800 static const yytype_uint16 yyrline
[] =
802 0, 209, 209, 208, 217, 220, 237, 239, 243, 252,
803 260, 271, 275, 282, 289, 296, 303, 310, 317, 318,
804 324, 328, 335, 341, 350, 354, 358, 359, 368, 369,
805 373, 374, 378, 384, 396, 400, 406, 413, 424, 425,
806 431, 437, 447, 448, 449, 450, 454, 455, 461, 467,
807 476, 477, 483, 492, 493, 499, 508, 509, 515, 521,
808 527, 536, 537, 543, 552, 553, 562, 563, 572, 573,
809 582, 583, 592, 593, 602, 603, 612, 613, 622, 623,
810 632, 633, 634, 635, 636, 637, 638, 639, 640, 641,
811 642, 646, 650, 666, 670, 674, 678, 692, 696, 697,
812 701, 706, 714, 725, 735, 750, 757, 762, 773, 785,
813 786, 787, 788, 792, 796, 797, 806, 815, 824, 833,
814 842, 855, 866, 875, 884, 893, 902, 911, 920, 934,
815 941, 952, 953, 957, 964, 965, 972, 1006, 1007, 1008,
816 1012, 1016, 1017, 1021, 1029, 1030, 1031, 1032, 1033, 1034,
817 1035, 1036, 1037, 1041, 1042, 1050, 1051, 1057, 1066, 1072,
818 1078, 1087, 1088, 1089, 1090, 1091, 1092, 1093, 1094, 1095,
819 1096, 1097, 1098, 1099, 1100, 1101, 1102, 1103, 1104, 1105,
820 1106, 1107, 1108, 1109, 1110, 1111, 1112, 1113, 1114, 1115,
821 1116, 1117, 1118, 1119, 1120, 1121, 1122, 1123, 1124, 1125,
822 1126, 1127, 1128, 1129, 1130, 1131, 1132, 1133, 1134, 1135,
823 1136, 1137, 1141, 1152, 1163, 1177, 1183, 1192, 1197, 1205,
824 1220, 1225, 1233, 1239, 1248, 1252, 1258, 1259, 1263, 1264,
825 1268, 1272, 1273, 1274, 1275, 1276, 1277, 1278, 1282, 1288,
826 1297, 1298, 1302, 1308, 1317, 1327, 1339, 1345, 1354, 1363,
827 1369, 1375, 1384, 1388, 1402, 1406, 1407, 1411, 1418, 1425,
828 1435, 1436, 1440, 1442, 1448, 1453, 1462, 1468, 1474, 1480,
829 1486, 1495, 1496, 1500
833 #if YYDEBUG || YYERROR_VERBOSE || YYTOKEN_TABLE
834 /* YYTNAME[SYMBOL-NUM] -- String name of the symbol SYMBOL-NUM.
835 First, the terminals, then, starting at YYNTOKENS, nonterminals. */
836 static const char *const yytname
[] =
838 "$end", "error", "$undefined", "ATTRIBUTE", "CONST_TOK", "BOOL_TOK",
839 "FLOAT_TOK", "INT_TOK", "UINT_TOK", "BREAK", "CONTINUE", "DO", "ELSE",
840 "FOR", "IF", "DISCARD", "RETURN", "SWITCH", "CASE", "DEFAULT", "BVEC2",
841 "BVEC3", "BVEC4", "IVEC2", "IVEC3", "IVEC4", "UVEC2", "UVEC3", "UVEC4",
842 "VEC2", "VEC3", "VEC4", "CENTROID", "IN_TOK", "OUT_TOK", "INOUT_TOK",
843 "UNIFORM", "VARYING", "NOPERSPECTIVE", "FLAT", "SMOOTH", "MAT2X2",
844 "MAT2X3", "MAT2X4", "MAT3X2", "MAT3X3", "MAT3X4", "MAT4X2", "MAT4X3",
845 "MAT4X4", "SAMPLER1D", "SAMPLER2D", "SAMPLER3D", "SAMPLERCUBE",
846 "SAMPLER1DSHADOW", "SAMPLER2DSHADOW", "SAMPLERCUBESHADOW",
847 "SAMPLER1DARRAY", "SAMPLER2DARRAY", "SAMPLER1DARRAYSHADOW",
848 "SAMPLER2DARRAYSHADOW", "ISAMPLER1D", "ISAMPLER2D", "ISAMPLER3D",
849 "ISAMPLERCUBE", "ISAMPLER1DARRAY", "ISAMPLER2DARRAY", "USAMPLER1D",
850 "USAMPLER2D", "USAMPLER3D", "USAMPLERCUBE", "USAMPLER1DARRAY",
851 "USAMPLER2DARRAY", "STRUCT", "VOID_TOK", "WHILE", "IDENTIFIER",
852 "FLOATCONSTANT", "INTCONSTANT", "UINTCONSTANT", "BOOLCONSTANT",
853 "FIELD_SELECTION", "LEFT_OP", "RIGHT_OP", "INC_OP", "DEC_OP", "LE_OP",
854 "GE_OP", "EQ_OP", "NE_OP", "AND_OP", "OR_OP", "XOR_OP", "MUL_ASSIGN",
855 "DIV_ASSIGN", "ADD_ASSIGN", "MOD_ASSIGN", "LEFT_ASSIGN", "RIGHT_ASSIGN",
856 "AND_ASSIGN", "XOR_ASSIGN", "OR_ASSIGN", "SUB_ASSIGN", "INVARIANT",
857 "LOWP", "MEDIUMP", "HIGHP", "SUPERP", "PRECISION", "VERSION",
858 "EXTENSION", "LINE", "PRAGMA", "COLON", "EOL", "INTERFACE", "OUTPUT",
859 "LAYOUT_TOK", "ASM", "CLASS", "UNION", "ENUM", "TYPEDEF", "TEMPLATE",
860 "THIS", "PACKED_TOK", "GOTO", "INLINE_TOK", "NOINLINE", "VOLATILE",
861 "PUBLIC_TOK", "STATIC", "EXTERN", "EXTERNAL", "LONG_TOK", "SHORT_TOK",
862 "DOUBLE_TOK", "HALF", "FIXED_TOK", "UNSIGNED", "INPUT_TOK", "OUPTUT",
863 "HVEC2", "HVEC3", "HVEC4", "DVEC2", "DVEC3", "DVEC4", "FVEC2", "FVEC3",
864 "FVEC4", "SAMPLER2DRECT", "SAMPLER3DRECT", "SAMPLER2DRECTSHADOW",
865 "SIZEOF", "CAST", "NAMESPACE", "USING", "ERROR_TOK", "COMMON",
866 "PARTITION", "ACTIVE", "SAMPLERBUFFER", "FILTER", "IMAGE1D", "IMAGE2D",
867 "IMAGE3D", "IMAGECUBE", "IMAGE1DARRAY", "IMAGE2DARRAY", "IIMAGE1D",
868 "IIMAGE2D", "IIMAGE3D", "IIMAGECUBE", "IIMAGE1DARRAY", "IIMAGE2DARRAY",
869 "UIMAGE1D", "UIMAGE2D", "UIMAGE3D", "UIMAGECUBE", "UIMAGE1DARRAY",
870 "UIMAGE2DARRAY", "IMAGE1DSHADOW", "IMAGE2DSHADOW", "IMAGEBUFFER",
871 "IIMAGEBUFFER", "UIMAGEBUFFER", "ROW_MAJOR", "'('", "')'", "'['", "']'",
872 "'.'", "','", "'+'", "'-'", "'!'", "'~'", "'*'", "'/'", "'%'", "'<'",
873 "'>'", "'&'", "'^'", "'|'", "'?'", "':'", "'='", "';'", "'{'", "'}'",
874 "$accept", "translation_unit", "$@1", "version_statement",
875 "extension_statement_list", "extension_statement",
876 "external_declaration_list", "variable_identifier", "primary_expression",
877 "postfix_expression", "integer_expression", "function_call",
878 "function_call_or_method", "function_call_generic",
879 "function_call_header_no_parameters",
880 "function_call_header_with_parameters", "function_call_header",
881 "function_identifier", "unary_expression", "unary_operator",
882 "multiplicative_expression", "additive_expression", "shift_expression",
883 "relational_expression", "equality_expression", "and_expression",
884 "exclusive_or_expression", "inclusive_or_expression",
885 "logical_and_expression", "logical_xor_expression",
886 "logical_or_expression", "conditional_expression",
887 "assignment_expression", "assignment_operator", "expression",
888 "constant_expression", "declaration", "function_prototype",
889 "function_declarator", "function_header_with_parameters",
890 "function_header", "parameter_declarator", "parameter_declaration",
891 "parameter_qualifier", "parameter_type_specifier",
892 "init_declarator_list", "single_declaration", "fully_specified_type",
893 "opt_layout_qualifier", "layout_qualifier", "layout_qualifier_id_list",
894 "layout_qualifier_id", "interpolation_qualifier",
895 "parameter_type_qualifier", "type_qualifier", "storage_qualifier",
896 "type_specifier", "type_specifier_no_prec", "type_specifier_nonarray",
897 "basic_type_specifier_nonarray", "precision_qualifier",
898 "struct_specifier", "struct_declaration_list", "struct_declaration",
899 "struct_declarator_list", "struct_declarator", "initializer",
900 "declaration_statement", "statement", "statement_matched",
901 "statement_unmatched", "simple_statement", "compound_statement",
902 "statement_no_new_scope", "compound_statement_no_new_scope",
903 "statement_list", "expression_statement", "selection_statement_matched",
904 "selection_statement_unmatched", "condition", "switch_statement",
905 "case_label", "iteration_statement", "for_init_statement",
906 "conditionopt", "for_rest_statement", "jump_statement",
907 "external_declaration", "function_definition", 0
912 /* YYTOKNUM[YYLEX-NUM] -- Internal token number corresponding to
914 static const yytype_uint16 yytoknum
[] =
916 0, 256, 257, 258, 259, 260, 261, 262, 263, 264,
917 265, 266, 267, 268, 269, 270, 271, 272, 273, 274,
918 275, 276, 277, 278, 279, 280, 281, 282, 283, 284,
919 285, 286, 287, 288, 289, 290, 291, 292, 293, 294,
920 295, 296, 297, 298, 299, 300, 301, 302, 303, 304,
921 305, 306, 307, 308, 309, 310, 311, 312, 313, 314,
922 315, 316, 317, 318, 319, 320, 321, 322, 323, 324,
923 325, 326, 327, 328, 329, 330, 331, 332, 333, 334,
924 335, 336, 337, 338, 339, 340, 341, 342, 343, 344,
925 345, 346, 347, 348, 349, 350, 351, 352, 353, 354,
926 355, 356, 357, 358, 359, 360, 361, 362, 363, 364,
927 365, 366, 367, 368, 369, 370, 371, 372, 373, 374,
928 375, 376, 377, 378, 379, 380, 381, 382, 383, 384,
929 385, 386, 387, 388, 389, 390, 391, 392, 393, 394,
930 395, 396, 397, 398, 399, 400, 401, 402, 403, 404,
931 405, 406, 407, 408, 409, 410, 411, 412, 413, 414,
932 415, 416, 417, 418, 419, 420, 421, 422, 423, 424,
933 425, 426, 427, 428, 429, 430, 431, 432, 433, 434,
934 435, 436, 437, 438, 439, 440, 441, 442, 40, 41,
935 91, 93, 46, 44, 43, 45, 33, 126, 42, 47,
936 37, 60, 62, 38, 94, 124, 63, 58, 61, 59,
941 /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */
942 static const yytype_uint16 yyr1
[] =
944 0, 212, 214, 213, 215, 215, 216, 216, 217, 218,
945 218, 219, 220, 220, 220, 220, 220, 220, 221, 221,
946 221, 221, 221, 221, 222, 223, 224, 224, 225, 225,
947 226, 226, 227, 227, 228, 229, 229, 229, 230, 230,
948 230, 230, 231, 231, 231, 231, 232, 232, 232, 232,
949 233, 233, 233, 234, 234, 234, 235, 235, 235, 235,
950 235, 236, 236, 236, 237, 237, 238, 238, 239, 239,
951 240, 240, 241, 241, 242, 242, 243, 243, 244, 244,
952 245, 245, 245, 245, 245, 245, 245, 245, 245, 245,
953 245, 246, 246, 247, 248, 248, 248, 249, 250, 250,
954 251, 251, 252, 253, 253, 254, 254, 254, 254, 255,
955 255, 255, 255, 256, 257, 257, 257, 257, 257, 257,
956 257, 258, 258, 258, 258, 258, 258, 258, 258, 259,
957 259, 260, 260, 261, 262, 262, 263, 264, 264, 264,
958 265, 266, 266, 266, 267, 267, 267, 267, 267, 267,
959 267, 267, 267, 268, 268, 269, 269, 269, 270, 270,
960 270, 271, 271, 271, 271, 271, 271, 271, 271, 271,
961 271, 271, 271, 271, 271, 271, 271, 271, 271, 271,
962 271, 271, 271, 271, 271, 271, 271, 271, 271, 271,
963 271, 271, 271, 271, 271, 271, 271, 271, 271, 271,
964 271, 271, 271, 271, 271, 271, 271, 271, 271, 271,
965 271, 271, 272, 272, 272, 273, 273, 274, 274, 275,
966 276, 276, 277, 277, 278, 279, 280, 280, 281, 281,
967 282, 283, 283, 283, 283, 283, 283, 283, 284, 284,
968 285, 285, 286, 286, 287, 287, 288, 288, 289, 290,
969 290, 290, 291, 291, 292, 293, 293, 294, 294, 294,
970 295, 295, 296, 296, 297, 297, 298, 298, 298, 298,
974 /* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN. */
975 static const yytype_uint8 yyr2
[] =
977 0, 2, 0, 4, 0, 3, 0, 2, 5, 1,
978 2, 1, 1, 1, 1, 1, 1, 3, 1, 4,
979 1, 3, 2, 2, 1, 1, 1, 3, 2, 2,
980 2, 1, 2, 3, 2, 1, 1, 1, 1, 2,
981 2, 2, 1, 1, 1, 1, 1, 3, 3, 3,
982 1, 3, 3, 1, 3, 3, 1, 3, 3, 3,
983 3, 1, 3, 3, 1, 3, 1, 3, 1, 3,
984 1, 3, 1, 3, 1, 3, 1, 5, 1, 3,
985 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
986 1, 1, 3, 1, 2, 2, 4, 2, 1, 1,
987 2, 3, 3, 2, 5, 3, 2, 3, 2, 0,
988 1, 1, 1, 1, 1, 3, 5, 6, 7, 8,
989 5, 1, 2, 4, 5, 6, 7, 4, 2, 1,
990 2, 0, 1, 4, 1, 3, 1, 1, 1, 1,
991 1, 1, 2, 2, 1, 1, 2, 2, 2, 1,
992 2, 2, 1, 1, 2, 1, 3, 4, 1, 1,
993 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
994 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
995 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
996 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
997 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
998 1, 1, 1, 1, 1, 5, 4, 1, 2, 3,
999 1, 3, 1, 4, 1, 1, 1, 1, 1, 1,
1000 1, 1, 1, 1, 1, 1, 1, 1, 2, 3,
1001 1, 1, 2, 3, 1, 2, 1, 2, 7, 5,
1002 5, 7, 1, 4, 5, 3, 2, 5, 7, 6,
1003 1, 1, 1, 0, 2, 3, 2, 2, 2, 3,
1007 /* YYDEFACT[STATE-NAME] -- Default rule to reduce with in state
1008 STATE-NUM when YYTABLE doesn't specify something else to do. Zero
1009 means the default is an error. */
1010 static const yytype_uint16 yydefact
[] =
1012 4, 0, 0, 6, 0, 1, 2, 5, 0, 131,
1013 7, 0, 145, 144, 165, 162, 163, 164, 169, 170,
1014 171, 172, 173, 174, 175, 176, 177, 166, 167, 168,
1015 0, 149, 152, 139, 138, 137, 178, 179, 180, 181,
1016 182, 183, 184, 185, 186, 187, 188, 190, 191, 192,
1017 193, 195, 196, 197, 198, 199, 200, 201, 202, 203,
1018 204, 205, 206, 207, 208, 209, 210, 211, 0, 161,
1019 160, 131, 214, 213, 212, 0, 0, 189, 194, 131,
1020 272, 0, 0, 99, 109, 0, 114, 121, 0, 132,
1021 131, 0, 141, 129, 153, 155, 158, 0, 159, 9,
1022 271, 0, 150, 151, 147, 0, 0, 128, 131, 143,
1023 0, 0, 10, 94, 131, 273, 97, 109, 140, 110,
1024 111, 112, 100, 0, 109, 0, 95, 122, 148, 146,
1025 142, 130, 0, 154, 0, 0, 0, 0, 217, 0,
1026 136, 0, 134, 0, 0, 131, 0, 0, 0, 0,
1027 0, 0, 0, 0, 11, 15, 13, 14, 16, 37,
1028 0, 0, 0, 42, 43, 44, 45, 246, 131, 242,
1029 12, 18, 38, 20, 25, 26, 0, 0, 31, 0,
1030 46, 0, 50, 53, 56, 61, 64, 66, 68, 70,
1031 72, 74, 76, 78, 91, 0, 225, 0, 129, 231,
1032 244, 226, 227, 229, 228, 131, 232, 233, 230, 234,
1033 235, 236, 237, 101, 106, 108, 113, 0, 115, 102,
1034 0, 0, 156, 46, 93, 0, 35, 8, 0, 222,
1035 0, 220, 216, 218, 96, 133, 0, 267, 266, 0,
1036 131, 0, 270, 268, 0, 0, 0, 256, 131, 39,
1037 40, 0, 238, 131, 22, 23, 0, 0, 29, 28,
1038 0, 161, 32, 34, 81, 82, 84, 83, 86, 87,
1039 88, 89, 90, 85, 80, 0, 41, 0, 0, 0,
1040 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1041 0, 0, 0, 0, 0, 0, 0, 0, 247, 243,
1042 245, 103, 105, 107, 0, 0, 123, 0, 224, 127,
1043 157, 215, 0, 0, 219, 135, 0, 261, 260, 131,
1044 0, 269, 0, 255, 252, 0, 0, 17, 239, 0,
1045 24, 21, 27, 33, 79, 47, 48, 49, 51, 52,
1046 54, 55, 59, 60, 57, 58, 62, 63, 65, 67,
1047 69, 71, 73, 75, 0, 92, 0, 116, 0, 120,
1048 0, 124, 0, 221, 0, 262, 0, 0, 131, 0,
1049 0, 131, 19, 0, 0, 0, 117, 125, 0, 223,
1050 0, 264, 131, 249, 250, 254, 0, 0, 241, 257,
1051 240, 77, 104, 118, 0, 126, 0, 265, 259, 131,
1052 253, 0, 119, 258, 248, 251, 0, 131, 0, 131
1055 /* YYDEFGOTO[NTERM-NUM]. */
1056 static const yytype_int16 yydefgoto
[] =
1058 -1, 2, 9, 3, 6, 10, 79, 170, 171, 172,
1059 329, 173, 174, 175, 176, 177, 178, 179, 180, 181,
1060 182, 183, 184, 185, 186, 187, 188, 189, 190, 191,
1061 192, 193, 194, 275, 195, 225, 196, 197, 82, 83,
1062 84, 214, 122, 123, 215, 85, 86, 87, 88, 89,
1063 141, 142, 90, 124, 91, 92, 226, 94, 95, 96,
1064 97, 98, 137, 138, 230, 231, 309, 199, 200, 201,
1065 202, 203, 204, 389, 390, 205, 206, 207, 208, 326,
1066 209, 210, 211, 319, 366, 367, 212, 99, 100
1069 /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
1071 #define YYPACT_NINF -345
1072 static const yytype_int16 yypact
[] =
1074 -30, 29, 120, -345, 15, -345, 22, -345, 59, 3758,
1075 -345, 25, -345, -345, -345, -345, -345, -345, -345, -345,
1076 -345, -345, -345, -345, -345, -345, -345, -345, -345, -345,
1077 79, -345, -345, -345, -345, -345, -345, -345, -345, -345,
1078 -345, -345, -345, -345, -345, -345, -345, -345, -345, -345,
1079 -345, -345, -345, -345, -345, -345, -345, -345, -345, -345,
1080 -345, -345, -345, -345, -345, -345, -345, -345, -71, -345,
1081 -345, 130, -345, -345, -345, -79, -42, -345, -345, 3642,
1082 -345, -5, -38, -32, 4, -181, -345, 87, 62, -345,
1083 27, 3871, -345, -345, -345, -25, -345, 3943, -345, -345,
1084 -345, 91, -345, -345, -345, -37, 3871, -345, 27, -345,
1085 3943, 95, -345, -345, 398, -345, -345, 19, -345, -345,
1086 -345, -345, -345, 3871, 0, 119, -345, -128, -345, -345,
1087 -345, -345, 2752, -345, 86, 3871, 131, 2153, -345, 11,
1088 -345, -87, -345, 21, 23, 1234, 40, 50, 36, 2379,
1089 63, 3286, 43, 64, -73, -345, -345, -345, -345, -345,
1090 3286, 3286, 3286, -345, -345, -345, -345, -345, 607, -345,
1091 -345, -345, -67, -345, -345, -345, 78, -62, 3464, 80,
1092 -53, 3286, -1, 20, 140, -80, 136, 66, 67, 65,
1093 182, 181, -82, -345, -345, -173, -345, 103, 125, -345,
1094 -345, -345, -345, -345, -345, 816, -345, -345, -345, -345,
1095 -345, -345, -345, -345, -345, -345, 198, 3871, -140, -345,
1096 2930, 3286, -345, -345, -345, 84, -345, -345, 2266, 124,
1097 -137, -345, -345, -345, -345, -345, 95, -345, -345, 240,
1098 1845, 3286, -345, -345, -118, 3286, -120, -345, 2574, -345,
1099 -345, -48, -345, 1025, -345, -345, 3286, 235, -345, -345,
1100 3286, 128, -345, -345, -345, -345, -345, -345, -345, -345,
1101 -345, -345, -345, -345, -345, 3286, -345, 3286, 3286, 3286,
1102 3286, 3286, 3286, 3286, 3286, 3286, 3286, 3286, 3286, 3286,
1103 3286, 3286, 3286, 3286, 3286, 3286, 3286, 3286, -345, -345,
1104 -345, 129, -345, -345, 3108, 3286, 110, 132, -345, -345,
1105 -345, -345, 3286, 131, -345, -345, 133, -345, -345, 2040,
1106 -46, -345, -36, -345, 127, 246, 135, -345, -345, 134,
1107 127, 138, -345, -345, -345, -345, -345, -345, -1, -1,
1108 20, 20, 140, 140, 140, 140, -80, -80, 136, 66,
1109 67, 65, 182, 181, -117, -345, 3286, 121, 137, -345,
1110 3286, 122, 141, -345, 3286, -345, 118, 142, 1234, 123,
1111 126, 1442, -345, 3286, 144, 3286, 139, -345, 3286, -345,
1112 -35, 3286, 1442, 324, -345, -345, 3286, 149, -345, -345,
1113 -345, -345, -345, -345, 3286, -345, 143, 127, -345, 1234,
1114 -345, 3286, -345, -345, -345, -345, -33, 1650, 326, 1650
1117 /* YYPGOTO[NTERM-NUM]. */
1118 static const yytype_int16 yypgoto
[] =
1120 -345, -345, -345, -345, -345, -345, -345, -345, -345, -345,
1121 -345, -345, -345, 85, -345, -345, -345, -345, -103, -345,
1122 -54, -47, -74, -40, 53, 54, 52, 55, 56, 51,
1123 -345, -110, -157, -345, -147, -219, 5, 7, -345, -345,
1124 -345, 146, 232, 227, 147, -345, -345, -238, -345, -345,
1125 -345, 117, -345, -345, -39, -345, -9, -14, -345, -345,
1126 279, -345, 220, -124, -345, 44, -286, 116, -134, -257,
1127 -344, -294, -11, -22, 280, 197, 145, -345, -345, 47,
1128 -345, -345, -345, -345, -345, -345, -345, 288, -345
1131 /* YYTABLE[YYPACT[STATE-NUM]]. What to do in state STATE-NUM. If
1132 positive, shift that token. If negative, reduce the rule which
1133 number is the opposite. If zero, do what YYDEFACT says.
1134 If YYTABLE_NINF, syntax error. */
1135 #define YYTABLE_NINF -264
1136 static const yytype_int16 yytable
[] =
1138 93, 307, 244, -160, 246, 105, 284, 285, 118, 295,
1139 325, 239, 125, 233, 80, 251, 81, 254, 255, 359,
1140 297, 262, 224, 118, 384, 72, 73, 74, 126, 223,
1141 12, 13, 109, 119, 120, 121, 298, 119, 120, 121,
1142 264, 265, 266, 267, 268, 269, 270, 271, 272, 273,
1143 304, 130, 119, 120, 121, 405, 313, 249, 250, 30,
1144 219, 31, 220, 32, 308, 33, 34, 35, 305, 109,
1145 93, 300, 314, 297, 377, 297, 297, 388, 276, 1,
1146 221, 325, 131, 133, 80, 358, 81, 323, 388, 393,
1147 373, 321, 395, 362, 320, 128, 139, 136, 322, 129,
1148 400, 324, 235, 333, 233, 198, 236, 4, 402, 330,
1149 224, 383, 102, 103, 216, -36, 104, 223, 334, 300,
1150 5, 286, 287, 256, 296, 257, 136, 259, 136, 7,
1151 108, 260, 8, 12, 13, 11, 198, 374, 101, 106,
1152 355, 327, 404, 368, 76, 297, 111, 297, 308, 354,
1153 408, 116, 404, 369, 396, 274, 407, 297, 297, 198,
1154 297, 117, 30, 127, 31, 132, 32, 134, 33, 34,
1155 35, 140, 324, 135, 335, 336, 337, 223, 223, 223,
1156 223, 223, 223, 223, 223, 223, 223, 223, 223, 223,
1157 223, 223, 223, -98, 224, 218, 198, 277, 278, 279,
1158 227, 223, 224, 308, 113, 114, 107, 229, 216, 223,
1159 342, 343, 344, 345, 280, 281, 391, 380, 308, 136,
1160 234, 308, 282, 283, 288, 289, 338, 339, 240, 308,
1161 237, 198, 238, 108, 397, 340, 341, 308, 241, 198,
1162 14, 15, 16, 17, 198, 242, 224, 76, 346, 347,
1163 247, 245, 248, 223, 406, 18, 19, 20, 21, 22,
1164 23, 24, 25, 26, 27, 28, 29, 258, 263, 290,
1165 292, 291, 293, 294, 301, 310, 36, 37, 38, 39,
1166 40, 41, 42, 43, 44, 45, 46, 47, 48, 49,
1167 50, 51, 52, 53, 54, 55, 56, 57, 58, 59,
1168 60, 61, 62, 63, 64, 65, 66, 67, 68, 69,
1169 198, 331, 113, -35, 312, 316, 159, -30, 360, 356,
1170 297, 364, 370, 361, 371, 372, -36, 381, 376, 375,
1171 378, 382, 379, 168, 386, 392, 399, 401, 409, 72,
1172 73, 74, 332, 348, 350, 349, 353, 394, 351, 213,
1173 352, 217, 403, 315, 110, 228, 317, 363, 385, 198,
1174 398, 115, 198, 302, 303, 253, 365, 112, 0, 0,
1175 0, 0, 0, 198, 0, 0, 0, 0, 0, 0,
1176 0, 0, 0, 0, 0, 318, 77, 0, 78, 0,
1177 198, 0, 0, 0, 0, 0, 0, 0, 198, 0,
1178 198, 12, 13, 14, 15, 16, 17, 143, 144, 145,
1179 0, 146, 147, 148, 149, 150, 151, 152, 18, 19,
1180 20, 21, 22, 23, 24, 25, 26, 27, 28, 29,
1181 30, 0, 31, 0, 32, 0, 33, 34, 35, 36,
1182 37, 38, 39, 40, 41, 42, 43, 44, 45, 46,
1183 47, 48, 49, 50, 51, 52, 53, 54, 55, 56,
1184 57, 58, 59, 60, 61, 62, 63, 64, 65, 66,
1185 67, 68, 69, 153, 154, 155, 156, 157, 158, 159,
1186 0, 0, 160, 161, 0, 0, 0, 0, 0, 0,
1187 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1188 0, 71, 72, 73, 74, 0, 75, 0, 0, 0,
1189 0, 0, 0, 0, 0, 76, 0, 0, 0, 0,
1190 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1191 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1192 0, 0, 0, 0, 0, 0, 0, 0, 0, 77,
1193 0, 78, 0, 0, 0, 0, 0, 0, 0, 0,
1194 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1195 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1196 0, 0, 0, 0, 0, 0, 162, 0, 0, 0,
1197 0, 0, 163, 164, 165, 166, 0, 0, 0, 0,
1198 0, 0, 0, 0, 0, 0, 0, 167, 168, 169,
1199 12, 13, 14, 15, 16, 17, 143, 144, 145, 0,
1200 146, 147, 148, 149, 150, 151, 152, 18, 19, 20,
1201 21, 22, 23, 24, 25, 26, 27, 28, 29, 30,
1202 0, 31, 0, 32, 0, 33, 34, 35, 36, 37,
1203 38, 39, 40, 41, 42, 43, 44, 45, 46, 47,
1204 48, 49, 50, 51, 52, 53, 54, 55, 56, 57,
1205 58, 59, 60, 61, 62, 63, 64, 65, 66, 67,
1206 68, 69, 153, 154, 155, 156, 157, 158, 159, 0,
1207 0, 160, 161, 0, 0, 0, 0, 0, 0, 0,
1208 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1209 71, 72, 73, 74, 0, 75, 0, 0, 0, 0,
1210 0, 0, 0, 0, 76, 0, 0, 0, 0, 0,
1211 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1212 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1213 0, 0, 0, 0, 0, 0, 0, 0, 77, 0,
1214 78, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1215 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1216 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1217 0, 0, 0, 0, 0, 162, 0, 0, 0, 0,
1218 0, 163, 164, 165, 166, 0, 0, 0, 0, 0,
1219 0, 0, 0, 0, 0, 0, 167, 168, 252, 12,
1220 13, 14, 15, 16, 17, 143, 144, 145, 0, 146,
1221 147, 148, 149, 150, 151, 152, 18, 19, 20, 21,
1222 22, 23, 24, 25, 26, 27, 28, 29, 30, 0,
1223 31, 0, 32, 0, 33, 34, 35, 36, 37, 38,
1224 39, 40, 41, 42, 43, 44, 45, 46, 47, 48,
1225 49, 50, 51, 52, 53, 54, 55, 56, 57, 58,
1226 59, 60, 61, 62, 63, 64, 65, 66, 67, 68,
1227 69, 153, 154, 155, 156, 157, 158, 159, 0, 0,
1228 160, 161, 0, 0, 0, 0, 0, 0, 0, 0,
1229 0, 0, 0, 0, 0, 0, 0, 0, 0, 71,
1230 72, 73, 74, 0, 75, 0, 0, 0, 0, 0,
1231 0, 0, 0, 76, 0, 0, 0, 0, 0, 0,
1232 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1233 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1234 0, 0, 0, 0, 0, 0, 0, 77, 0, 78,
1235 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1236 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1237 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1238 0, 0, 0, 0, 162, 0, 0, 0, 0, 0,
1239 163, 164, 165, 166, 0, 0, 0, 0, 0, 0,
1240 0, 0, 0, 0, 0, 167, 168, 299, 12, 13,
1241 14, 15, 16, 17, 143, 144, 145, 0, 146, 147,
1242 148, 149, 150, 151, 152, 18, 19, 20, 21, 22,
1243 23, 24, 25, 26, 27, 28, 29, 30, 0, 31,
1244 0, 32, 0, 33, 34, 35, 36, 37, 38, 39,
1245 40, 41, 42, 43, 44, 45, 46, 47, 48, 49,
1246 50, 51, 52, 53, 54, 55, 56, 57, 58, 59,
1247 60, 61, 62, 63, 64, 65, 66, 67, 68, 69,
1248 153, 154, 155, 156, 157, 158, 159, 0, 0, 160,
1249 161, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1250 0, 0, 0, 0, 0, 0, 0, 0, 71, 72,
1251 73, 74, 0, 75, 0, 0, 0, 0, 0, 0,
1252 0, 0, 76, 0, 0, 0, 0, 0, 0, 0,
1253 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1254 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1255 0, 0, 0, 0, 0, 0, 77, 0, 78, 0,
1256 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1257 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1258 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1259 0, 0, 0, 162, 0, 0, 0, 0, 0, 163,
1260 164, 165, 166, 0, 0, 0, 0, 0, 0, 0,
1261 0, 0, 0, 0, 167, 168, 328, 12, 13, 14,
1262 15, 16, 17, 143, 144, 145, 0, 146, 147, 148,
1263 149, 150, 151, 152, 18, 19, 20, 21, 22, 23,
1264 24, 25, 26, 27, 28, 29, 30, 0, 31, 0,
1265 32, 0, 33, 34, 35, 36, 37, 38, 39, 40,
1266 41, 42, 43, 44, 45, 46, 47, 48, 49, 50,
1267 51, 52, 53, 54, 55, 56, 57, 58, 59, 60,
1268 61, 62, 63, 64, 65, 66, 67, 68, 69, 153,
1269 154, 155, 156, 157, 158, 159, 0, 0, 160, 161,
1270 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1271 0, 0, 0, 0, 0, 0, 0, 71, 72, 73,
1272 74, 0, 75, 0, 0, 0, 0, 0, 0, 0,
1273 0, 76, 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, 0, 0, 0,
1276 0, 0, 0, 0, 0, 77, 0, 78, 0, 0,
1277 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1278 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1279 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1280 0, 0, 162, 0, 0, 0, 0, 0, 163, 164,
1281 165, 166, 0, 0, 0, 0, 0, 0, 0, 0,
1282 0, 0, 0, 167, 168, 12, 13, 14, 15, 16,
1283 17, 143, 144, 145, 0, 146, 387, 148, 149, 150,
1284 151, 152, 18, 19, 20, 21, 22, 23, 24, 25,
1285 26, 27, 28, 29, 30, 0, 31, 0, 32, 0,
1286 33, 34, 35, 36, 37, 38, 39, 40, 41, 42,
1287 43, 44, 45, 46, 47, 48, 49, 50, 51, 52,
1288 53, 54, 55, 56, 57, 58, 59, 60, 61, 62,
1289 63, 64, 65, 66, 67, 68, 69, 153, 154, 155,
1290 156, 157, 158, 159, 0, 0, 160, 161, 0, 0,
1291 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1292 0, 0, 0, 0, 0, 71, 72, 73, 74, 0,
1293 75, 0, 0, 0, 0, 0, 0, 0, 0, 76,
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, 77, 0, 78, 0, 0, 0, 0,
1298 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1299 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1300 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1301 162, 0, 0, 0, 0, 0, 163, 164, 165, 166,
1302 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1303 0, 167, 114, 12, 13, 14, 15, 16, 17, 143,
1304 144, 145, 0, 146, 387, 148, 149, 150, 151, 152,
1305 18, 19, 20, 21, 22, 23, 24, 25, 26, 27,
1306 28, 29, 30, 0, 31, 0, 32, 0, 33, 34,
1307 35, 36, 37, 38, 39, 40, 41, 42, 43, 44,
1308 45, 46, 47, 48, 49, 50, 51, 52, 53, 54,
1309 55, 56, 57, 58, 59, 60, 61, 62, 63, 64,
1310 65, 66, 67, 68, 69, 153, 154, 155, 156, 157,
1311 158, 159, 0, 0, 160, 161, 0, 0, 0, 0,
1312 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1313 0, 0, 0, 71, 72, 73, 74, 0, 75, 0,
1314 0, 0, 0, 0, 0, 0, 0, 76, 0, 0,
1315 0, 0, 0, 0, 0, 0, 0, 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, 77, 0, 78, 0, 0, 0, 0, 0, 0,
1319 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1320 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1321 0, 0, 0, 0, 0, 0, 0, 0, 162, 0,
1322 0, 0, 0, 0, 163, 164, 165, 166, 12, 13,
1323 14, 15, 16, 17, 0, 0, 0, 0, 0, 167,
1324 168, 0, 0, 0, 0, 18, 19, 20, 21, 22,
1325 23, 24, 25, 26, 27, 28, 29, 30, 0, 31,
1326 0, 32, 0, 33, 34, 35, 36, 37, 38, 39,
1327 40, 41, 42, 43, 44, 45, 46, 47, 48, 49,
1328 50, 51, 52, 53, 54, 55, 56, 57, 58, 59,
1329 60, 61, 62, 63, 64, 65, 66, 67, 68, 69,
1330 0, 154, 155, 156, 157, 158, 159, 0, 0, 160,
1331 161, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1332 0, 0, 0, 0, 0, 0, 0, 0, 71, 72,
1333 73, 74, 0, 75, 0, 0, 0, 0, 0, 0,
1334 0, 0, 76, 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, 0, 0, 0, 0, 0, 77, 0, 78, 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 0, 0, 0, 162, 0, 0, 0, 0, 0, 163,
1342 164, 165, 166, 12, 13, 14, 15, 16, 17, 0,
1343 0, 0, 0, 0, 167, 0, 0, 0, 0, 0,
1344 18, 19, 20, 21, 22, 23, 24, 25, 26, 27,
1345 28, 29, 30, 0, 31, 0, 32, 0, 33, 34,
1346 35, 36, 37, 38, 39, 40, 41, 42, 43, 44,
1347 45, 46, 47, 48, 49, 50, 51, 52, 53, 54,
1348 55, 56, 57, 58, 59, 60, 61, 62, 63, 64,
1349 65, 66, 67, 68, 69, 0, 154, 155, 156, 157,
1350 158, 159, 0, 0, 160, 161, 0, 0, 0, 0,
1351 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1352 0, 0, 0, 108, 72, 73, 74, 0, 0, 0,
1353 0, 0, 0, 0, 0, 0, 0, 76, 14, 15,
1354 16, 17, 0, 0, 0, 0, 0, 0, 0, 0,
1355 0, 0, 0, 18, 19, 20, 21, 22, 23, 24,
1356 25, 26, 27, 28, 29, 0, 0, 0, 0, 0,
1357 0, 77, 0, 78, 36, 37, 38, 39, 40, 41,
1358 42, 43, 44, 45, 46, 47, 48, 49, 50, 51,
1359 52, 53, 54, 55, 56, 57, 58, 59, 60, 61,
1360 62, 63, 64, 65, 66, 67, 68, 69, 162, 70,
1361 0, 0, 0, 0, 163, 164, 165, 166, 0, 0,
1362 0, 0, 0, 0, 0, 0, 0, 0, 0, -263,
1363 0, 0, 0, 0, 0, 0, 0, 72, 73, 74,
1364 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1365 0, 14, 15, 16, 17, 0, 0, 0, 0, 0,
1366 0, 0, 0, 0, 0, 0, 18, 19, 20, 21,
1367 22, 23, 24, 25, 26, 27, 28, 29, 0, 0,
1368 0, 0, 0, 0, 77, 0, 78, 36, 37, 38,
1369 39, 40, 41, 42, 43, 44, 45, 46, 47, 48,
1370 49, 50, 51, 52, 53, 54, 55, 56, 57, 58,
1371 59, 60, 61, 62, 63, 64, 65, 66, 67, 68,
1372 69, 0, 70, 0, 0, 0, 0, 0, 0, 0,
1373 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1374 0, 0, 0, 0, 232, 0, 0, 0, 0, 0,
1375 72, 73, 74, 0, 0, 0, 0, 0, 0, 0,
1376 0, 0, 0, 0, 14, 15, 16, 17, 0, 0,
1377 0, 0, 0, 0, 0, 0, 0, 0, 0, 18,
1378 19, 20, 21, 22, 23, 24, 25, 26, 27, 28,
1379 29, 0, 0, 0, 0, 0, 0, 77, 0, 78,
1380 36, 37, 38, 39, 40, 41, 42, 43, 44, 45,
1381 46, 47, 48, 49, 50, 51, 52, 53, 54, 55,
1382 56, 57, 58, 59, 60, 61, 62, 63, 64, 65,
1383 66, 67, 68, 69, 0, 154, 155, 156, 157, 158,
1384 159, 0, 0, 160, 161, 0, 0, 0, 0, 0,
1385 0, 0, 0, 0, 0, 0, 0, 311, 0, 0,
1386 0, 0, 0, 72, 73, 74, 0, 0, 0, 0,
1387 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1388 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1389 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1390 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1391 77, 0, 78, 0, 0, 0, 0, 0, 0, 0,
1392 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1393 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1394 0, 0, 0, 0, 0, 0, 0, 162, 0, 0,
1395 0, 0, 0, 163, 164, 165, 166, 12, 13, 14,
1396 15, 16, 17, 0, 0, 0, 0, 0, 243, 0,
1397 0, 0, 0, 0, 18, 19, 20, 21, 22, 23,
1398 24, 25, 26, 27, 28, 29, 30, 0, 31, 0,
1399 32, 0, 33, 34, 35, 36, 37, 38, 39, 40,
1400 41, 42, 43, 44, 45, 46, 47, 48, 49, 50,
1401 51, 52, 53, 54, 55, 56, 57, 58, 59, 60,
1402 61, 62, 63, 64, 65, 66, 67, 68, 69, 0,
1403 154, 155, 156, 157, 158, 159, 0, 0, 160, 161,
1404 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1405 0, 0, 0, 0, 0, 0, 0, 108, 72, 73,
1406 74, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1407 0, 76, 0, 0, 0, 0, 0, 0, 0, 0,
1408 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1409 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1410 0, 0, 0, 0, 0, 77, 0, 78, 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, 14, 15, 16,
1414 17, 0, 162, 0, 0, 0, 0, 0, 163, 164,
1415 165, 166, 18, 19, 20, 21, 22, 23, 24, 25,
1416 26, 27, 28, 29, 0, 0, 0, 0, 0, 0,
1417 0, 0, 0, 36, 37, 38, 39, 40, 41, 42,
1418 43, 44, 45, 46, 47, 48, 49, 50, 51, 52,
1419 53, 54, 55, 56, 57, 58, 59, 60, 61, 62,
1420 63, 64, 65, 66, 67, 68, 69, 0, 154, 155,
1421 156, 157, 158, 159, 0, 0, 160, 161, 0, 0,
1422 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1423 0, 0, 0, 0, 0, 0, 72, 73, 74, 0,
1424 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1425 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1426 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1427 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1428 0, 0, 0, 77, 0, 78, 0, 0, 0, 0,
1429 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1430 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1431 0, 0, 0, 0, 0, 14, 15, 16, 17, 0,
1432 162, 0, 0, 222, 0, 0, 163, 164, 165, 166,
1433 18, 19, 20, 21, 22, 23, 24, 25, 26, 27,
1434 28, 29, 0, 0, 0, 0, 0, 0, 0, 0,
1435 0, 36, 37, 38, 39, 40, 41, 42, 43, 44,
1436 45, 46, 47, 48, 49, 50, 51, 52, 53, 54,
1437 55, 56, 57, 58, 59, 60, 61, 62, 63, 64,
1438 65, 66, 67, 68, 69, 0, 154, 155, 156, 157,
1439 158, 159, 0, 0, 160, 161, 0, 0, 0, 0,
1440 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1441 0, 0, 0, 0, 72, 73, 74, 0, 0, 0,
1442 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1443 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1444 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1445 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1446 0, 77, 0, 78, 0, 0, 0, 0, 0, 0,
1447 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1448 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1449 0, 0, 0, 14, 15, 16, 17, 0, 162, 0,
1450 0, 306, 0, 0, 163, 164, 165, 166, 18, 19,
1451 20, 21, 22, 23, 24, 25, 26, 27, 28, 29,
1452 0, 0, 0, 0, 0, 0, 0, 0, 0, 36,
1453 37, 38, 39, 40, 41, 42, 43, 44, 45, 46,
1454 47, 48, 49, 50, 51, 52, 53, 54, 55, 56,
1455 57, 58, 59, 60, 61, 62, 63, 64, 65, 66,
1456 67, 68, 69, 0, 154, 155, 156, 157, 158, 159,
1457 0, 0, 160, 161, 0, 0, 0, 0, 0, 0,
1458 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1459 0, 0, 72, 73, 74, 0, 0, 0, 0, 0,
1460 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1461 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1462 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1463 0, 0, 0, 0, 0, 0, 0, 0, 0, 77,
1464 0, 78, 0, 0, 0, 0, 0, 0, 0, 0,
1465 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1466 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1467 0, 14, 15, 16, 17, 0, 162, 0, 0, 357,
1468 0, 0, 163, 164, 165, 166, 18, 19, 20, 21,
1469 22, 23, 24, 25, 26, 27, 28, 29, 0, 0,
1470 0, 0, 0, 0, 0, 0, 0, 36, 37, 38,
1471 39, 40, 41, 42, 43, 44, 45, 46, 47, 48,
1472 49, 50, 51, 52, 53, 54, 55, 56, 57, 58,
1473 59, 60, 61, 62, 63, 64, 65, 66, 67, 68,
1474 69, 0, 154, 155, 156, 157, 158, 159, 0, 0,
1475 160, 161, 0, 0, 0, 0, 0, 0, 0, 0,
1476 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1477 72, 73, 74, 0, 0, 0, 0, 0, 0, 0,
1478 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1479 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1480 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1481 0, 0, 0, 0, 0, 0, 0, 77, 0, 78,
1482 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1483 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1484 0, 0, 0, 0, 0, 0, 0, 0, 0, 14,
1485 15, 16, 17, 0, 162, 0, 0, 0, 0, 0,
1486 163, 164, 165, 166, 18, 19, 20, 21, 22, 23,
1487 24, 25, 26, 27, 28, 29, 0, 0, 0, 0,
1488 0, 0, 0, 0, 0, 36, 37, 38, 39, 40,
1489 41, 42, 43, 44, 45, 46, 47, 48, 49, 50,
1490 51, 52, 53, 54, 55, 56, 57, 58, 59, 60,
1491 61, 62, 63, 64, 65, 66, 67, 68, 261, 0,
1492 154, 155, 156, 157, 158, 159, 0, 0, 160, 161,
1493 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1494 0, 0, 0, 0, 0, 0, 0, 0, 72, 73,
1495 74, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1496 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1497 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1498 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1499 0, 0, 0, 0, 0, 77, 0, 78, 0, 0,
1500 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1501 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1502 0, 0, -3, 0, 0, 12, 13, 14, 15, 16,
1503 17, 0, 162, 0, 0, 0, 0, 0, 163, 164,
1504 165, 166, 18, 19, 20, 21, 22, 23, 24, 25,
1505 26, 27, 28, 29, 30, 0, 31, 0, 32, 0,
1506 33, 34, 35, 36, 37, 38, 39, 40, 41, 42,
1507 43, 44, 45, 46, 47, 48, 49, 50, 51, 52,
1508 53, 54, 55, 56, 57, 58, 59, 60, 61, 62,
1509 63, 64, 65, 66, 67, 68, 69, 0, 70, 0,
1510 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1511 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1512 0, 0, 0, 0, 0, 71, 72, 73, 74, 0,
1513 75, 0, 0, 0, 0, 0, 0, 0, 0, 76,
1514 0, 12, 13, 14, 15, 16, 17, 0, 0, 0,
1515 0, 0, 0, 0, 0, 0, 0, 0, 18, 19,
1516 20, 21, 22, 23, 24, 25, 26, 27, 28, 29,
1517 30, 0, 31, 77, 32, 78, 33, 34, 35, 36,
1518 37, 38, 39, 40, 41, 42, 43, 44, 45, 46,
1519 47, 48, 49, 50, 51, 52, 53, 54, 55, 56,
1520 57, 58, 59, 60, 61, 62, 63, 64, 65, 66,
1521 67, 68, 69, 0, 70, 0, 0, 0, 0, 0,
1522 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1523 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1524 0, 71, 72, 73, 74, 0, 75, 0, 0, 0,
1525 0, 0, 0, 0, 0, 76, 14, 15, 16, 17,
1526 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1527 0, 18, 19, 20, 21, 22, 23, 24, 25, 26,
1528 27, 28, 29, 0, 0, 0, 0, 0, 0, 77,
1529 0, 78, 36, 37, 38, 39, 40, 41, 42, 43,
1530 44, 45, 46, 47, 48, 49, 50, 51, 52, 53,
1531 54, 55, 56, 57, 58, 59, 60, 61, 62, 63,
1532 64, 65, 66, 67, 68, 69, 0, 70, 14, 15,
1533 16, 17, 0, 0, 0, 0, 0, 0, 0, 0,
1534 0, 0, 0, 18, 19, 20, 21, 22, 23, 24,
1535 25, 26, 27, 28, 29, 72, 73, 74, 0, 0,
1536 0, 0, 0, 0, 36, 37, 38, 39, 40, 41,
1537 42, 43, 44, 45, 46, 47, 48, 49, 50, 51,
1538 52, 53, 54, 55, 56, 57, 58, 59, 60, 61,
1539 62, 63, 64, 65, 66, 67, 68, 69, 0, 70,
1540 0, 0, 77, 0, 78, 0, 0, 0, 0, 0,
1541 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1542 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
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, 77, 0, 78
1550 static const yytype_int16 yycheck
[] =
1552 9, 220, 149, 76, 151, 76, 86, 87, 4, 91,
1553 248, 145, 193, 137, 9, 162, 9, 84, 85, 305,
1554 193, 178, 132, 4, 368, 104, 105, 106, 209, 132,
1555 3, 4, 71, 33, 34, 35, 209, 33, 34, 35,
1556 93, 94, 95, 96, 97, 98, 99, 100, 101, 102,
1557 190, 90, 33, 34, 35, 399, 193, 160, 161, 32,
1558 188, 34, 190, 36, 221, 38, 39, 40, 208, 108,
1559 79, 205, 209, 193, 360, 193, 193, 371, 181, 109,
1560 208, 319, 91, 97, 79, 304, 79, 207, 382, 375,
1561 207, 209, 378, 312, 241, 33, 110, 106, 245, 37,
1562 386, 248, 189, 260, 228, 114, 193, 78, 394, 256,
1563 220, 368, 33, 34, 123, 188, 37, 220, 275, 253,
1564 0, 201, 202, 190, 206, 192, 135, 189, 137, 114,
1565 103, 193, 110, 3, 4, 76, 145, 356, 113, 210,
1566 297, 189, 399, 189, 117, 193, 188, 193, 305, 296,
1567 407, 189, 409, 189, 189, 208, 189, 193, 193, 168,
1568 193, 193, 32, 76, 34, 190, 36, 76, 38, 39,
1569 40, 76, 319, 210, 277, 278, 279, 280, 281, 282,
1570 283, 284, 285, 286, 287, 288, 289, 290, 291, 292,
1571 293, 294, 295, 189, 304, 76, 205, 198, 199, 200,
1572 114, 304, 312, 360, 209, 210, 76, 76, 217, 312,
1573 284, 285, 286, 287, 194, 195, 373, 364, 375, 228,
1574 209, 378, 82, 83, 88, 89, 280, 281, 188, 386,
1575 209, 240, 209, 103, 381, 282, 283, 394, 188, 248,
1576 5, 6, 7, 8, 253, 209, 356, 117, 288, 289,
1577 207, 188, 188, 356, 401, 20, 21, 22, 23, 24,
1578 25, 26, 27, 28, 29, 30, 31, 189, 188, 203,
1579 205, 204, 90, 92, 76, 191, 41, 42, 43, 44,
1580 45, 46, 47, 48, 49, 50, 51, 52, 53, 54,
1581 55, 56, 57, 58, 59, 60, 61, 62, 63, 64,
1582 65, 66, 67, 68, 69, 70, 71, 72, 73, 74,
1583 319, 76, 209, 188, 190, 75, 81, 189, 208, 190,
1584 193, 188, 76, 191, 189, 191, 188, 209, 191, 208,
1585 208, 189, 191, 210, 208, 191, 12, 188, 12, 104,
1586 105, 106, 257, 290, 292, 291, 295, 208, 293, 117,
1587 294, 124, 209, 236, 75, 135, 240, 313, 369, 368,
1588 382, 81, 371, 217, 217, 168, 319, 79, -1, -1,
1589 -1, -1, -1, 382, -1, -1, -1, -1, -1, -1,
1590 -1, -1, -1, -1, -1, 240, 151, -1, 153, -1,
1591 399, -1, -1, -1, -1, -1, -1, -1, 407, -1,
1592 409, 3, 4, 5, 6, 7, 8, 9, 10, 11,
1593 -1, 13, 14, 15, 16, 17, 18, 19, 20, 21,
1594 22, 23, 24, 25, 26, 27, 28, 29, 30, 31,
1595 32, -1, 34, -1, 36, -1, 38, 39, 40, 41,
1596 42, 43, 44, 45, 46, 47, 48, 49, 50, 51,
1597 52, 53, 54, 55, 56, 57, 58, 59, 60, 61,
1598 62, 63, 64, 65, 66, 67, 68, 69, 70, 71,
1599 72, 73, 74, 75, 76, 77, 78, 79, 80, 81,
1600 -1, -1, 84, 85, -1, -1, -1, -1, -1, -1,
1601 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1602 -1, 103, 104, 105, 106, -1, 108, -1, -1, -1,
1603 -1, -1, -1, -1, -1, 117, -1, -1, -1, -1,
1604 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1605 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1606 -1, -1, -1, -1, -1, -1, -1, -1, -1, 151,
1607 -1, 153, -1, -1, -1, -1, -1, -1, -1, -1,
1608 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1609 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1610 -1, -1, -1, -1, -1, -1, 188, -1, -1, -1,
1611 -1, -1, 194, 195, 196, 197, -1, -1, -1, -1,
1612 -1, -1, -1, -1, -1, -1, -1, 209, 210, 211,
1613 3, 4, 5, 6, 7, 8, 9, 10, 11, -1,
1614 13, 14, 15, 16, 17, 18, 19, 20, 21, 22,
1615 23, 24, 25, 26, 27, 28, 29, 30, 31, 32,
1616 -1, 34, -1, 36, -1, 38, 39, 40, 41, 42,
1617 43, 44, 45, 46, 47, 48, 49, 50, 51, 52,
1618 53, 54, 55, 56, 57, 58, 59, 60, 61, 62,
1619 63, 64, 65, 66, 67, 68, 69, 70, 71, 72,
1620 73, 74, 75, 76, 77, 78, 79, 80, 81, -1,
1621 -1, 84, 85, -1, -1, -1, -1, -1, -1, -1,
1622 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1623 103, 104, 105, 106, -1, 108, -1, -1, -1, -1,
1624 -1, -1, -1, -1, 117, -1, -1, -1, -1, -1,
1625 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1626 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1627 -1, -1, -1, -1, -1, -1, -1, -1, 151, -1,
1628 153, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1629 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1630 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1631 -1, -1, -1, -1, -1, 188, -1, -1, -1, -1,
1632 -1, 194, 195, 196, 197, -1, -1, -1, -1, -1,
1633 -1, -1, -1, -1, -1, -1, 209, 210, 211, 3,
1634 4, 5, 6, 7, 8, 9, 10, 11, -1, 13,
1635 14, 15, 16, 17, 18, 19, 20, 21, 22, 23,
1636 24, 25, 26, 27, 28, 29, 30, 31, 32, -1,
1637 34, -1, 36, -1, 38, 39, 40, 41, 42, 43,
1638 44, 45, 46, 47, 48, 49, 50, 51, 52, 53,
1639 54, 55, 56, 57, 58, 59, 60, 61, 62, 63,
1640 64, 65, 66, 67, 68, 69, 70, 71, 72, 73,
1641 74, 75, 76, 77, 78, 79, 80, 81, -1, -1,
1642 84, 85, -1, -1, -1, -1, -1, -1, -1, -1,
1643 -1, -1, -1, -1, -1, -1, -1, -1, -1, 103,
1644 104, 105, 106, -1, 108, -1, -1, -1, -1, -1,
1645 -1, -1, -1, 117, -1, -1, -1, -1, -1, -1,
1646 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1647 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1648 -1, -1, -1, -1, -1, -1, -1, 151, -1, 153,
1649 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1650 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1651 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1652 -1, -1, -1, -1, 188, -1, -1, -1, -1, -1,
1653 194, 195, 196, 197, -1, -1, -1, -1, -1, -1,
1654 -1, -1, -1, -1, -1, 209, 210, 211, 3, 4,
1655 5, 6, 7, 8, 9, 10, 11, -1, 13, 14,
1656 15, 16, 17, 18, 19, 20, 21, 22, 23, 24,
1657 25, 26, 27, 28, 29, 30, 31, 32, -1, 34,
1658 -1, 36, -1, 38, 39, 40, 41, 42, 43, 44,
1659 45, 46, 47, 48, 49, 50, 51, 52, 53, 54,
1660 55, 56, 57, 58, 59, 60, 61, 62, 63, 64,
1661 65, 66, 67, 68, 69, 70, 71, 72, 73, 74,
1662 75, 76, 77, 78, 79, 80, 81, -1, -1, 84,
1663 85, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1664 -1, -1, -1, -1, -1, -1, -1, -1, 103, 104,
1665 105, 106, -1, 108, -1, -1, -1, -1, -1, -1,
1666 -1, -1, 117, -1, -1, -1, -1, -1, -1, -1,
1667 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1668 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1669 -1, -1, -1, -1, -1, -1, 151, -1, 153, -1,
1670 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1671 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1672 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1673 -1, -1, -1, 188, -1, -1, -1, -1, -1, 194,
1674 195, 196, 197, -1, -1, -1, -1, -1, -1, -1,
1675 -1, -1, -1, -1, 209, 210, 211, 3, 4, 5,
1676 6, 7, 8, 9, 10, 11, -1, 13, 14, 15,
1677 16, 17, 18, 19, 20, 21, 22, 23, 24, 25,
1678 26, 27, 28, 29, 30, 31, 32, -1, 34, -1,
1679 36, -1, 38, 39, 40, 41, 42, 43, 44, 45,
1680 46, 47, 48, 49, 50, 51, 52, 53, 54, 55,
1681 56, 57, 58, 59, 60, 61, 62, 63, 64, 65,
1682 66, 67, 68, 69, 70, 71, 72, 73, 74, 75,
1683 76, 77, 78, 79, 80, 81, -1, -1, 84, 85,
1684 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1685 -1, -1, -1, -1, -1, -1, -1, 103, 104, 105,
1686 106, -1, 108, -1, -1, -1, -1, -1, -1, -1,
1687 -1, 117, -1, -1, -1, -1, -1, -1, -1, -1,
1688 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1689 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1690 -1, -1, -1, -1, -1, 151, -1, 153, -1, -1,
1691 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1692 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1693 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1694 -1, -1, 188, -1, -1, -1, -1, -1, 194, 195,
1695 196, 197, -1, -1, -1, -1, -1, -1, -1, -1,
1696 -1, -1, -1, 209, 210, 3, 4, 5, 6, 7,
1697 8, 9, 10, 11, -1, 13, 14, 15, 16, 17,
1698 18, 19, 20, 21, 22, 23, 24, 25, 26, 27,
1699 28, 29, 30, 31, 32, -1, 34, -1, 36, -1,
1700 38, 39, 40, 41, 42, 43, 44, 45, 46, 47,
1701 48, 49, 50, 51, 52, 53, 54, 55, 56, 57,
1702 58, 59, 60, 61, 62, 63, 64, 65, 66, 67,
1703 68, 69, 70, 71, 72, 73, 74, 75, 76, 77,
1704 78, 79, 80, 81, -1, -1, 84, 85, -1, -1,
1705 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1706 -1, -1, -1, -1, -1, 103, 104, 105, 106, -1,
1707 108, -1, -1, -1, -1, -1, -1, -1, -1, 117,
1708 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1709 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1710 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1711 -1, -1, -1, 151, -1, 153, -1, -1, -1, -1,
1712 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1713 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1714 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1715 188, -1, -1, -1, -1, -1, 194, 195, 196, 197,
1716 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1717 -1, 209, 210, 3, 4, 5, 6, 7, 8, 9,
1718 10, 11, -1, 13, 14, 15, 16, 17, 18, 19,
1719 20, 21, 22, 23, 24, 25, 26, 27, 28, 29,
1720 30, 31, 32, -1, 34, -1, 36, -1, 38, 39,
1721 40, 41, 42, 43, 44, 45, 46, 47, 48, 49,
1722 50, 51, 52, 53, 54, 55, 56, 57, 58, 59,
1723 60, 61, 62, 63, 64, 65, 66, 67, 68, 69,
1724 70, 71, 72, 73, 74, 75, 76, 77, 78, 79,
1725 80, 81, -1, -1, 84, 85, -1, -1, -1, -1,
1726 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1727 -1, -1, -1, 103, 104, 105, 106, -1, 108, -1,
1728 -1, -1, -1, -1, -1, -1, -1, 117, -1, -1,
1729 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1730 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1731 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1732 -1, 151, -1, 153, -1, -1, -1, -1, -1, -1,
1733 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1734 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1735 -1, -1, -1, -1, -1, -1, -1, -1, 188, -1,
1736 -1, -1, -1, -1, 194, 195, 196, 197, 3, 4,
1737 5, 6, 7, 8, -1, -1, -1, -1, -1, 209,
1738 210, -1, -1, -1, -1, 20, 21, 22, 23, 24,
1739 25, 26, 27, 28, 29, 30, 31, 32, -1, 34,
1740 -1, 36, -1, 38, 39, 40, 41, 42, 43, 44,
1741 45, 46, 47, 48, 49, 50, 51, 52, 53, 54,
1742 55, 56, 57, 58, 59, 60, 61, 62, 63, 64,
1743 65, 66, 67, 68, 69, 70, 71, 72, 73, 74,
1744 -1, 76, 77, 78, 79, 80, 81, -1, -1, 84,
1745 85, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1746 -1, -1, -1, -1, -1, -1, -1, -1, 103, 104,
1747 105, 106, -1, 108, -1, -1, -1, -1, -1, -1,
1748 -1, -1, 117, -1, -1, -1, -1, -1, -1, -1,
1749 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1750 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1751 -1, -1, -1, -1, -1, -1, 151, -1, 153, -1,
1752 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1753 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1754 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1755 -1, -1, -1, 188, -1, -1, -1, -1, -1, 194,
1756 195, 196, 197, 3, 4, 5, 6, 7, 8, -1,
1757 -1, -1, -1, -1, 209, -1, -1, -1, -1, -1,
1758 20, 21, 22, 23, 24, 25, 26, 27, 28, 29,
1759 30, 31, 32, -1, 34, -1, 36, -1, 38, 39,
1760 40, 41, 42, 43, 44, 45, 46, 47, 48, 49,
1761 50, 51, 52, 53, 54, 55, 56, 57, 58, 59,
1762 60, 61, 62, 63, 64, 65, 66, 67, 68, 69,
1763 70, 71, 72, 73, 74, -1, 76, 77, 78, 79,
1764 80, 81, -1, -1, 84, 85, -1, -1, -1, -1,
1765 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1766 -1, -1, -1, 103, 104, 105, 106, -1, -1, -1,
1767 -1, -1, -1, -1, -1, -1, -1, 117, 5, 6,
1768 7, 8, -1, -1, -1, -1, -1, -1, -1, -1,
1769 -1, -1, -1, 20, 21, 22, 23, 24, 25, 26,
1770 27, 28, 29, 30, 31, -1, -1, -1, -1, -1,
1771 -1, 151, -1, 153, 41, 42, 43, 44, 45, 46,
1772 47, 48, 49, 50, 51, 52, 53, 54, 55, 56,
1773 57, 58, 59, 60, 61, 62, 63, 64, 65, 66,
1774 67, 68, 69, 70, 71, 72, 73, 74, 188, 76,
1775 -1, -1, -1, -1, 194, 195, 196, 197, -1, -1,
1776 -1, -1, -1, -1, -1, -1, -1, -1, -1, 209,
1777 -1, -1, -1, -1, -1, -1, -1, 104, 105, 106,
1778 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1779 -1, 5, 6, 7, 8, -1, -1, -1, -1, -1,
1780 -1, -1, -1, -1, -1, -1, 20, 21, 22, 23,
1781 24, 25, 26, 27, 28, 29, 30, 31, -1, -1,
1782 -1, -1, -1, -1, 151, -1, 153, 41, 42, 43,
1783 44, 45, 46, 47, 48, 49, 50, 51, 52, 53,
1784 54, 55, 56, 57, 58, 59, 60, 61, 62, 63,
1785 64, 65, 66, 67, 68, 69, 70, 71, 72, 73,
1786 74, -1, 76, -1, -1, -1, -1, -1, -1, -1,
1787 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1788 -1, -1, -1, -1, 211, -1, -1, -1, -1, -1,
1789 104, 105, 106, -1, -1, -1, -1, -1, -1, -1,
1790 -1, -1, -1, -1, 5, 6, 7, 8, -1, -1,
1791 -1, -1, -1, -1, -1, -1, -1, -1, -1, 20,
1792 21, 22, 23, 24, 25, 26, 27, 28, 29, 30,
1793 31, -1, -1, -1, -1, -1, -1, 151, -1, 153,
1794 41, 42, 43, 44, 45, 46, 47, 48, 49, 50,
1795 51, 52, 53, 54, 55, 56, 57, 58, 59, 60,
1796 61, 62, 63, 64, 65, 66, 67, 68, 69, 70,
1797 71, 72, 73, 74, -1, 76, 77, 78, 79, 80,
1798 81, -1, -1, 84, 85, -1, -1, -1, -1, -1,
1799 -1, -1, -1, -1, -1, -1, -1, 211, -1, -1,
1800 -1, -1, -1, 104, 105, 106, -1, -1, -1, -1,
1801 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1802 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1803 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1804 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1805 151, -1, 153, -1, -1, -1, -1, -1, -1, -1,
1806 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1807 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1808 -1, -1, -1, -1, -1, -1, -1, 188, -1, -1,
1809 -1, -1, -1, 194, 195, 196, 197, 3, 4, 5,
1810 6, 7, 8, -1, -1, -1, -1, -1, 209, -1,
1811 -1, -1, -1, -1, 20, 21, 22, 23, 24, 25,
1812 26, 27, 28, 29, 30, 31, 32, -1, 34, -1,
1813 36, -1, 38, 39, 40, 41, 42, 43, 44, 45,
1814 46, 47, 48, 49, 50, 51, 52, 53, 54, 55,
1815 56, 57, 58, 59, 60, 61, 62, 63, 64, 65,
1816 66, 67, 68, 69, 70, 71, 72, 73, 74, -1,
1817 76, 77, 78, 79, 80, 81, -1, -1, 84, 85,
1818 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1819 -1, -1, -1, -1, -1, -1, -1, 103, 104, 105,
1820 106, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1821 -1, 117, -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, -1, -1, -1, -1, 151, -1, 153, -1, -1,
1825 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1826 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1827 -1, -1, -1, -1, -1, -1, -1, 5, 6, 7,
1828 8, -1, 188, -1, -1, -1, -1, -1, 194, 195,
1829 196, 197, 20, 21, 22, 23, 24, 25, 26, 27,
1830 28, 29, 30, 31, -1, -1, -1, -1, -1, -1,
1831 -1, -1, -1, 41, 42, 43, 44, 45, 46, 47,
1832 48, 49, 50, 51, 52, 53, 54, 55, 56, 57,
1833 58, 59, 60, 61, 62, 63, 64, 65, 66, 67,
1834 68, 69, 70, 71, 72, 73, 74, -1, 76, 77,
1835 78, 79, 80, 81, -1, -1, 84, 85, -1, -1,
1836 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1837 -1, -1, -1, -1, -1, -1, 104, 105, 106, -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, -1, -1, -1, -1,
1841 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1842 -1, -1, -1, 151, -1, 153, -1, -1, -1, -1,
1843 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1844 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1845 -1, -1, -1, -1, -1, 5, 6, 7, 8, -1,
1846 188, -1, -1, 191, -1, -1, 194, 195, 196, 197,
1847 20, 21, 22, 23, 24, 25, 26, 27, 28, 29,
1848 30, 31, -1, -1, -1, -1, -1, -1, -1, -1,
1849 -1, 41, 42, 43, 44, 45, 46, 47, 48, 49,
1850 50, 51, 52, 53, 54, 55, 56, 57, 58, 59,
1851 60, 61, 62, 63, 64, 65, 66, 67, 68, 69,
1852 70, 71, 72, 73, 74, -1, 76, 77, 78, 79,
1853 80, 81, -1, -1, 84, 85, -1, -1, -1, -1,
1854 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1855 -1, -1, -1, -1, 104, 105, 106, -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, -1, -1, -1, -1, -1, -1, -1,
1860 -1, 151, -1, 153, -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, -1, -1, -1,
1863 -1, -1, -1, 5, 6, 7, 8, -1, 188, -1,
1864 -1, 191, -1, -1, 194, 195, 196, 197, 20, 21,
1865 22, 23, 24, 25, 26, 27, 28, 29, 30, 31,
1866 -1, -1, -1, -1, -1, -1, -1, -1, -1, 41,
1867 42, 43, 44, 45, 46, 47, 48, 49, 50, 51,
1868 52, 53, 54, 55, 56, 57, 58, 59, 60, 61,
1869 62, 63, 64, 65, 66, 67, 68, 69, 70, 71,
1870 72, 73, 74, -1, 76, 77, 78, 79, 80, 81,
1871 -1, -1, 84, 85, -1, -1, -1, -1, -1, -1,
1872 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1873 -1, -1, 104, 105, 106, -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, 151,
1878 -1, 153, -1, -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, 5, 6, 7, 8, -1, 188, -1, -1, 191,
1882 -1, -1, 194, 195, 196, 197, 20, 21, 22, 23,
1883 24, 25, 26, 27, 28, 29, 30, 31, -1, -1,
1884 -1, -1, -1, -1, -1, -1, -1, 41, 42, 43,
1885 44, 45, 46, 47, 48, 49, 50, 51, 52, 53,
1886 54, 55, 56, 57, 58, 59, 60, 61, 62, 63,
1887 64, 65, 66, 67, 68, 69, 70, 71, 72, 73,
1888 74, -1, 76, 77, 78, 79, 80, 81, -1, -1,
1889 84, 85, -1, -1, -1, -1, -1, -1, -1, -1,
1890 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1891 104, 105, 106, -1, -1, -1, -1, -1, -1, -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, 151, -1, 153,
1896 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1897 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1898 -1, -1, -1, -1, -1, -1, -1, -1, -1, 5,
1899 6, 7, 8, -1, 188, -1, -1, -1, -1, -1,
1900 194, 195, 196, 197, 20, 21, 22, 23, 24, 25,
1901 26, 27, 28, 29, 30, 31, -1, -1, -1, -1,
1902 -1, -1, -1, -1, -1, 41, 42, 43, 44, 45,
1903 46, 47, 48, 49, 50, 51, 52, 53, 54, 55,
1904 56, 57, 58, 59, 60, 61, 62, 63, 64, 65,
1905 66, 67, 68, 69, 70, 71, 72, 73, 74, -1,
1906 76, 77, 78, 79, 80, 81, -1, -1, 84, 85,
1907 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1908 -1, -1, -1, -1, -1, -1, -1, -1, 104, 105,
1909 106, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1910 -1, -1, -1, -1, -1, -1, -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, 151, -1, 153, -1, -1,
1914 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1915 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1916 -1, -1, 0, -1, -1, 3, 4, 5, 6, 7,
1917 8, -1, 188, -1, -1, -1, -1, -1, 194, 195,
1918 196, 197, 20, 21, 22, 23, 24, 25, 26, 27,
1919 28, 29, 30, 31, 32, -1, 34, -1, 36, -1,
1920 38, 39, 40, 41, 42, 43, 44, 45, 46, 47,
1921 48, 49, 50, 51, 52, 53, 54, 55, 56, 57,
1922 58, 59, 60, 61, 62, 63, 64, 65, 66, 67,
1923 68, 69, 70, 71, 72, 73, 74, -1, 76, -1,
1924 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1925 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1926 -1, -1, -1, -1, -1, 103, 104, 105, 106, -1,
1927 108, -1, -1, -1, -1, -1, -1, -1, -1, 117,
1928 -1, 3, 4, 5, 6, 7, 8, -1, -1, -1,
1929 -1, -1, -1, -1, -1, -1, -1, -1, 20, 21,
1930 22, 23, 24, 25, 26, 27, 28, 29, 30, 31,
1931 32, -1, 34, 151, 36, 153, 38, 39, 40, 41,
1932 42, 43, 44, 45, 46, 47, 48, 49, 50, 51,
1933 52, 53, 54, 55, 56, 57, 58, 59, 60, 61,
1934 62, 63, 64, 65, 66, 67, 68, 69, 70, 71,
1935 72, 73, 74, -1, 76, -1, -1, -1, -1, -1,
1936 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1937 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1938 -1, 103, 104, 105, 106, -1, 108, -1, -1, -1,
1939 -1, -1, -1, -1, -1, 117, 5, 6, 7, 8,
1940 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1941 -1, 20, 21, 22, 23, 24, 25, 26, 27, 28,
1942 29, 30, 31, -1, -1, -1, -1, -1, -1, 151,
1943 -1, 153, 41, 42, 43, 44, 45, 46, 47, 48,
1944 49, 50, 51, 52, 53, 54, 55, 56, 57, 58,
1945 59, 60, 61, 62, 63, 64, 65, 66, 67, 68,
1946 69, 70, 71, 72, 73, 74, -1, 76, 5, 6,
1947 7, 8, -1, -1, -1, -1, -1, -1, -1, -1,
1948 -1, -1, -1, 20, 21, 22, 23, 24, 25, 26,
1949 27, 28, 29, 30, 31, 104, 105, 106, -1, -1,
1950 -1, -1, -1, -1, 41, 42, 43, 44, 45, 46,
1951 47, 48, 49, 50, 51, 52, 53, 54, 55, 56,
1952 57, 58, 59, 60, 61, 62, 63, 64, 65, 66,
1953 67, 68, 69, 70, 71, 72, 73, 74, -1, 76,
1954 -1, -1, 151, -1, 153, -1, -1, -1, -1, -1,
1955 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1956 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1957 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1958 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1959 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1960 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1961 -1, -1, -1, -1, 151, -1, 153
1964 /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
1965 symbol of state STATE-NUM. */
1966 static const yytype_uint16 yystos
[] =
1968 0, 109, 213, 215, 78, 0, 216, 114, 110, 214,
1969 217, 76, 3, 4, 5, 6, 7, 8, 20, 21,
1970 22, 23, 24, 25, 26, 27, 28, 29, 30, 31,
1971 32, 34, 36, 38, 39, 40, 41, 42, 43, 44,
1972 45, 46, 47, 48, 49, 50, 51, 52, 53, 54,
1973 55, 56, 57, 58, 59, 60, 61, 62, 63, 64,
1974 65, 66, 67, 68, 69, 70, 71, 72, 73, 74,
1975 76, 103, 104, 105, 106, 108, 117, 151, 153, 218,
1976 248, 249, 250, 251, 252, 257, 258, 259, 260, 261,
1977 264, 266, 267, 268, 269, 270, 271, 272, 273, 299,
1978 300, 113, 33, 34, 37, 76, 210, 76, 103, 266,
1979 272, 188, 299, 209, 210, 286, 189, 193, 4, 33,
1980 34, 35, 254, 255, 265, 193, 209, 76, 33, 37,
1981 266, 268, 190, 269, 76, 210, 268, 274, 275, 269,
1982 76, 262, 263, 9, 10, 11, 13, 14, 15, 16,
1983 17, 18, 19, 75, 76, 77, 78, 79, 80, 81,
1984 84, 85, 188, 194, 195, 196, 197, 209, 210, 211,
1985 219, 220, 221, 223, 224, 225, 226, 227, 228, 229,
1986 230, 231, 232, 233, 234, 235, 236, 237, 238, 239,
1987 240, 241, 242, 243, 244, 246, 248, 249, 268, 279,
1988 280, 281, 282, 283, 284, 287, 288, 289, 290, 292,
1989 293, 294, 298, 254, 253, 256, 268, 255, 76, 188,
1990 190, 208, 191, 230, 243, 247, 268, 114, 274, 76,
1991 276, 277, 211, 275, 209, 189, 193, 209, 209, 280,
1992 188, 188, 209, 209, 246, 188, 246, 207, 188, 230,
1993 230, 246, 211, 287, 84, 85, 190, 192, 189, 189,
1994 193, 74, 244, 188, 93, 94, 95, 96, 97, 98,
1995 99, 100, 101, 102, 208, 245, 230, 198, 199, 200,
1996 194, 195, 82, 83, 86, 87, 201, 202, 88, 89,
1997 203, 204, 205, 90, 92, 91, 206, 193, 209, 211,
1998 280, 76, 253, 256, 190, 208, 191, 247, 244, 278,
1999 191, 211, 190, 193, 209, 263, 75, 279, 288, 295,
2000 246, 209, 246, 207, 246, 259, 291, 189, 211, 222,
2001 246, 76, 225, 244, 244, 230, 230, 230, 232, 232,
2002 233, 233, 234, 234, 234, 234, 235, 235, 236, 237,
2003 238, 239, 240, 241, 246, 244, 190, 191, 247, 278,
2004 208, 191, 247, 277, 188, 291, 296, 297, 189, 189,
2005 76, 189, 191, 207, 247, 208, 191, 278, 208, 191,
2006 246, 209, 189, 281, 282, 284, 208, 14, 283, 285,
2007 286, 244, 191, 278, 208, 278, 189, 246, 285, 12,
2008 278, 188, 278, 209, 281, 282, 246, 189, 281, 12
2011 #define yyerrok (yyerrstatus = 0)
2012 #define yyclearin (yychar = YYEMPTY)
2013 #define YYEMPTY (-2)
2016 #define YYACCEPT goto yyacceptlab
2017 #define YYABORT goto yyabortlab
2018 #define YYERROR goto yyerrorlab
2021 /* Like YYERROR except do call yyerror. This remains here temporarily
2022 to ease the transition to the new meaning of YYERROR, for GCC.
2023 Once GCC version 2 has supplanted version 1, this can go. */
2025 #define YYFAIL goto yyerrlab
2027 #define YYRECOVERING() (!!yyerrstatus)
2029 #define YYBACKUP(Token, Value) \
2031 if (yychar == YYEMPTY && yylen == 1) \
2035 yytoken = YYTRANSLATE (yychar); \
2041 yyerror (&yylloc, state, YY_("syntax error: cannot back up")); \
2048 #define YYERRCODE 256
2051 /* YYLLOC_DEFAULT -- Set CURRENT to span from RHS[1] to RHS[N].
2052 If N is 0, then set CURRENT to the empty location which ends
2053 the previous symbol: RHS[0] (always defined). */
2055 #define YYRHSLOC(Rhs, K) ((Rhs)[K])
2056 #ifndef YYLLOC_DEFAULT
2057 # define YYLLOC_DEFAULT(Current, Rhs, N) \
2061 (Current).first_line = YYRHSLOC (Rhs, 1).first_line; \
2062 (Current).first_column = YYRHSLOC (Rhs, 1).first_column; \
2063 (Current).last_line = YYRHSLOC (Rhs, N).last_line; \
2064 (Current).last_column = YYRHSLOC (Rhs, N).last_column; \
2068 (Current).first_line = (Current).last_line = \
2069 YYRHSLOC (Rhs, 0).last_line; \
2070 (Current).first_column = (Current).last_column = \
2071 YYRHSLOC (Rhs, 0).last_column; \
2077 /* YY_LOCATION_PRINT -- Print the location on the stream.
2078 This macro was not mandated originally: define only if we know
2079 we won't break user code: when these are the locations we know. */
2081 #ifndef YY_LOCATION_PRINT
2082 # if YYLTYPE_IS_TRIVIAL
2083 # define YY_LOCATION_PRINT(File, Loc) \
2084 fprintf (File, "%d.%d-%d.%d", \
2085 (Loc).first_line, (Loc).first_column, \
2086 (Loc).last_line, (Loc).last_column)
2088 # define YY_LOCATION_PRINT(File, Loc) ((void) 0)
2093 /* YYLEX -- calling `yylex' with the right arguments. */
2096 # define YYLEX yylex (&yylval, &yylloc, YYLEX_PARAM)
2098 # define YYLEX yylex (&yylval, &yylloc, scanner)
2101 /* Enable debugging if requested. */
2105 # include <stdio.h> /* INFRINGES ON USER NAME SPACE */
2106 # define YYFPRINTF fprintf
2109 # define YYDPRINTF(Args) \
2115 # define YY_SYMBOL_PRINT(Title, Type, Value, Location) \
2119 YYFPRINTF (stderr, "%s ", Title); \
2120 yy_symbol_print (stderr, \
2121 Type, Value, Location, state); \
2122 YYFPRINTF (stderr, "\n"); \
2127 /*--------------------------------.
2128 | Print this symbol on YYOUTPUT. |
2129 `--------------------------------*/
2132 #if (defined __STDC__ || defined __C99__FUNC__ \
2133 || defined __cplusplus || defined _MSC_VER)
2135 yy_symbol_value_print (FILE *yyoutput
, int yytype
, YYSTYPE
const * const yyvaluep
, YYLTYPE
const * const yylocationp
, struct _mesa_glsl_parse_state
*state
)
2138 yy_symbol_value_print (yyoutput
, yytype
, yyvaluep
, yylocationp
, state
)
2141 YYSTYPE
const * const yyvaluep
;
2142 YYLTYPE
const * const yylocationp
;
2143 struct _mesa_glsl_parse_state
*state
;
2148 YYUSE (yylocationp
);
2151 if (yytype
< YYNTOKENS
)
2152 YYPRINT (yyoutput
, yytoknum
[yytype
], *yyvaluep
);
2164 /*--------------------------------.
2165 | Print this symbol on YYOUTPUT. |
2166 `--------------------------------*/
2168 #if (defined __STDC__ || defined __C99__FUNC__ \
2169 || defined __cplusplus || defined _MSC_VER)
2171 yy_symbol_print (FILE *yyoutput
, int yytype
, YYSTYPE
const * const yyvaluep
, YYLTYPE
const * const yylocationp
, struct _mesa_glsl_parse_state
*state
)
2174 yy_symbol_print (yyoutput
, yytype
, yyvaluep
, yylocationp
, state
)
2177 YYSTYPE
const * const yyvaluep
;
2178 YYLTYPE
const * const yylocationp
;
2179 struct _mesa_glsl_parse_state
*state
;
2182 if (yytype
< YYNTOKENS
)
2183 YYFPRINTF (yyoutput
, "token %s (", yytname
[yytype
]);
2185 YYFPRINTF (yyoutput
, "nterm %s (", yytname
[yytype
]);
2187 YY_LOCATION_PRINT (yyoutput
, *yylocationp
);
2188 YYFPRINTF (yyoutput
, ": ");
2189 yy_symbol_value_print (yyoutput
, yytype
, yyvaluep
, yylocationp
, state
);
2190 YYFPRINTF (yyoutput
, ")");
2193 /*------------------------------------------------------------------.
2194 | yy_stack_print -- Print the state stack from its BOTTOM up to its |
2196 `------------------------------------------------------------------*/
2198 #if (defined __STDC__ || defined __C99__FUNC__ \
2199 || defined __cplusplus || defined _MSC_VER)
2201 yy_stack_print (yytype_int16
*yybottom
, yytype_int16
*yytop
)
2204 yy_stack_print (yybottom
, yytop
)
2205 yytype_int16
*yybottom
;
2206 yytype_int16
*yytop
;
2209 YYFPRINTF (stderr
, "Stack now");
2210 for (; yybottom
<= yytop
; yybottom
++)
2212 int yybot
= *yybottom
;
2213 YYFPRINTF (stderr
, " %d", yybot
);
2215 YYFPRINTF (stderr
, "\n");
2218 # define YY_STACK_PRINT(Bottom, Top) \
2221 yy_stack_print ((Bottom), (Top)); \
2225 /*------------------------------------------------.
2226 | Report that the YYRULE is going to be reduced. |
2227 `------------------------------------------------*/
2229 #if (defined __STDC__ || defined __C99__FUNC__ \
2230 || defined __cplusplus || defined _MSC_VER)
2232 yy_reduce_print (YYSTYPE
*yyvsp
, YYLTYPE
*yylsp
, int yyrule
, struct _mesa_glsl_parse_state
*state
)
2235 yy_reduce_print (yyvsp
, yylsp
, yyrule
, state
)
2239 struct _mesa_glsl_parse_state
*state
;
2242 int yynrhs
= yyr2
[yyrule
];
2244 unsigned long int yylno
= yyrline
[yyrule
];
2245 YYFPRINTF (stderr
, "Reducing stack by rule %d (line %lu):\n",
2247 /* The symbols being reduced. */
2248 for (yyi
= 0; yyi
< yynrhs
; yyi
++)
2250 YYFPRINTF (stderr
, " $%d = ", yyi
+ 1);
2251 yy_symbol_print (stderr
, yyrhs
[yyprhs
[yyrule
] + yyi
],
2252 &(yyvsp
[(yyi
+ 1) - (yynrhs
)])
2253 , &(yylsp
[(yyi
+ 1) - (yynrhs
)]) , state
);
2254 YYFPRINTF (stderr
, "\n");
2258 # define YY_REDUCE_PRINT(Rule) \
2261 yy_reduce_print (yyvsp, yylsp, Rule, state); \
2264 /* Nonzero means print parse trace. It is left uninitialized so that
2265 multiple parsers can coexist. */
2267 #else /* !YYDEBUG */
2268 # define YYDPRINTF(Args)
2269 # define YY_SYMBOL_PRINT(Title, Type, Value, Location)
2270 # define YY_STACK_PRINT(Bottom, Top)
2271 # define YY_REDUCE_PRINT(Rule)
2272 #endif /* !YYDEBUG */
2275 /* YYINITDEPTH -- initial size of the parser's stacks. */
2277 # define YYINITDEPTH 200
2280 /* YYMAXDEPTH -- maximum size the stacks can grow to (effective only
2281 if the built-in stack extension method is used).
2283 Do not make this value too large; the results are undefined if
2284 YYSTACK_ALLOC_MAXIMUM < YYSTACK_BYTES (YYMAXDEPTH)
2285 evaluated with infinite-precision integer arithmetic. */
2288 # define YYMAXDEPTH 10000
2296 # if defined __GLIBC__ && defined _STRING_H
2297 # define yystrlen strlen
2299 /* Return the length of YYSTR. */
2300 #if (defined __STDC__ || defined __C99__FUNC__ \
2301 || defined __cplusplus || defined _MSC_VER)
2303 yystrlen (const char *yystr
)
2311 for (yylen
= 0; yystr
[yylen
]; yylen
++)
2319 # if defined __GLIBC__ && defined _STRING_H && defined _GNU_SOURCE
2320 # define yystpcpy stpcpy
2322 /* Copy YYSRC to YYDEST, returning the address of the terminating '\0' in
2324 #if (defined __STDC__ || defined __C99__FUNC__ \
2325 || defined __cplusplus || defined _MSC_VER)
2327 yystpcpy (char *yydest
, const char *yysrc
)
2330 yystpcpy (yydest
, yysrc
)
2336 const char *yys
= yysrc
;
2338 while ((*yyd
++ = *yys
++) != '\0')
2347 /* Copy to YYRES the contents of YYSTR after stripping away unnecessary
2348 quotes and backslashes, so that it's suitable for yyerror. The
2349 heuristic is that double-quoting is unnecessary unless the string
2350 contains an apostrophe, a comma, or backslash (other than
2351 backslash-backslash). YYSTR is taken from yytname. If YYRES is
2352 null, do not copy; instead, return the length of what the result
2355 yytnamerr (char *yyres
, const char *yystr
)
2360 char const *yyp
= yystr
;
2367 goto do_not_strip_quotes
;
2371 goto do_not_strip_quotes
;
2384 do_not_strip_quotes
: ;
2388 return yystrlen (yystr
);
2390 return yystpcpy (yyres
, yystr
) - yyres
;
2394 /* Copy into YYRESULT an error message about the unexpected token
2395 YYCHAR while in state YYSTATE. Return the number of bytes copied,
2396 including the terminating null byte. If YYRESULT is null, do not
2397 copy anything; just return the number of bytes that would be
2398 copied. As a special case, return 0 if an ordinary "syntax error"
2399 message will do. Return YYSIZE_MAXIMUM if overflow occurs during
2400 size calculation. */
2402 yysyntax_error (char *yyresult
, int yystate
, int yychar
)
2404 int yyn
= yypact
[yystate
];
2406 if (! (YYPACT_NINF
< yyn
&& yyn
<= YYLAST
))
2410 int yytype
= YYTRANSLATE (yychar
);
2411 YYSIZE_T yysize0
= yytnamerr (0, yytname
[yytype
]);
2412 YYSIZE_T yysize
= yysize0
;
2414 int yysize_overflow
= 0;
2415 enum { YYERROR_VERBOSE_ARGS_MAXIMUM
= 5 };
2416 char const *yyarg
[YYERROR_VERBOSE_ARGS_MAXIMUM
];
2420 /* This is so xgettext sees the translatable formats that are
2421 constructed on the fly. */
2422 YY_("syntax error, unexpected %s");
2423 YY_("syntax error, unexpected %s, expecting %s");
2424 YY_("syntax error, unexpected %s, expecting %s or %s");
2425 YY_("syntax error, unexpected %s, expecting %s or %s or %s");
2426 YY_("syntax error, unexpected %s, expecting %s or %s or %s or %s");
2430 static char const yyunexpected
[] = "syntax error, unexpected %s";
2431 static char const yyexpecting
[] = ", expecting %s";
2432 static char const yyor
[] = " or %s";
2433 char yyformat
[sizeof yyunexpected
2434 + sizeof yyexpecting
- 1
2435 + ((YYERROR_VERBOSE_ARGS_MAXIMUM
- 2)
2436 * (sizeof yyor
- 1))];
2437 char const *yyprefix
= yyexpecting
;
2439 /* Start YYX at -YYN if negative to avoid negative indexes in
2441 int yyxbegin
= yyn
< 0 ? -yyn
: 0;
2443 /* Stay within bounds of both yycheck and yytname. */
2444 int yychecklim
= YYLAST
- yyn
+ 1;
2445 int yyxend
= yychecklim
< YYNTOKENS
? yychecklim
: YYNTOKENS
;
2448 yyarg
[0] = yytname
[yytype
];
2449 yyfmt
= yystpcpy (yyformat
, yyunexpected
);
2451 for (yyx
= yyxbegin
; yyx
< yyxend
; ++yyx
)
2452 if (yycheck
[yyx
+ yyn
] == yyx
&& yyx
!= YYTERROR
)
2454 if (yycount
== YYERROR_VERBOSE_ARGS_MAXIMUM
)
2458 yyformat
[sizeof yyunexpected
- 1] = '\0';
2461 yyarg
[yycount
++] = yytname
[yyx
];
2462 yysize1
= yysize
+ yytnamerr (0, yytname
[yyx
]);
2463 yysize_overflow
|= (yysize1
< yysize
);
2465 yyfmt
= yystpcpy (yyfmt
, yyprefix
);
2469 yyf
= YY_(yyformat
);
2470 yysize1
= yysize
+ yystrlen (yyf
);
2471 yysize_overflow
|= (yysize1
< yysize
);
2474 if (yysize_overflow
)
2475 return YYSIZE_MAXIMUM
;
2479 /* Avoid sprintf, as that infringes on the user's name space.
2480 Don't have undefined behavior even if the translation
2481 produced a string with the wrong number of "%s"s. */
2482 char *yyp
= yyresult
;
2484 while ((*yyp
= *yyf
) != '\0')
2486 if (*yyp
== '%' && yyf
[1] == 's' && yyi
< yycount
)
2488 yyp
+= yytnamerr (yyp
, yyarg
[yyi
++]);
2501 #endif /* YYERROR_VERBOSE */
2504 /*-----------------------------------------------.
2505 | Release the memory associated to this symbol. |
2506 `-----------------------------------------------*/
2509 #if (defined __STDC__ || defined __C99__FUNC__ \
2510 || defined __cplusplus || defined _MSC_VER)
2512 yydestruct (const char *yymsg
, int yytype
, YYSTYPE
*yyvaluep
, YYLTYPE
*yylocationp
, struct _mesa_glsl_parse_state
*state
)
2515 yydestruct (yymsg
, yytype
, yyvaluep
, yylocationp
, state
)
2519 YYLTYPE
*yylocationp
;
2520 struct _mesa_glsl_parse_state
*state
;
2524 YYUSE (yylocationp
);
2529 YY_SYMBOL_PRINT (yymsg
, yytype
, yyvaluep
, yylocationp
);
2539 /* Prevent warnings from -Wmissing-prototypes. */
2540 #ifdef YYPARSE_PARAM
2541 #if defined __STDC__ || defined __cplusplus
2542 int yyparse (void *YYPARSE_PARAM
);
2546 #else /* ! YYPARSE_PARAM */
2547 #if defined __STDC__ || defined __cplusplus
2548 int yyparse (struct _mesa_glsl_parse_state
*state
);
2552 #endif /* ! YYPARSE_PARAM */
2558 /*-------------------------.
2559 | yyparse or yypush_parse. |
2560 `-------------------------*/
2562 #ifdef YYPARSE_PARAM
2563 #if (defined __STDC__ || defined __C99__FUNC__ \
2564 || defined __cplusplus || defined _MSC_VER)
2566 yyparse (void *YYPARSE_PARAM
)
2569 yyparse (YYPARSE_PARAM
)
2570 void *YYPARSE_PARAM
;
2572 #else /* ! YYPARSE_PARAM */
2573 #if (defined __STDC__ || defined __C99__FUNC__ \
2574 || defined __cplusplus || defined _MSC_VER)
2576 yyparse (struct _mesa_glsl_parse_state
*state
)
2580 struct _mesa_glsl_parse_state
*state
;
2584 /* The lookahead symbol. */
2587 /* The semantic value of the lookahead symbol. */
2590 /* Location data for the lookahead symbol. */
2593 /* Number of syntax errors so far. */
2597 /* Number of tokens to shift before error messages enabled. */
2600 /* The stacks and their tools:
2601 `yyss': related to states.
2602 `yyvs': related to semantic values.
2603 `yyls': related to locations.
2605 Refer to the stacks thru separate pointers, to allow yyoverflow
2606 to reallocate them elsewhere. */
2608 /* The state stack. */
2609 yytype_int16 yyssa
[YYINITDEPTH
];
2611 yytype_int16
*yyssp
;
2613 /* The semantic value stack. */
2614 YYSTYPE yyvsa
[YYINITDEPTH
];
2618 /* The location stack. */
2619 YYLTYPE yylsa
[YYINITDEPTH
];
2623 /* The locations where the error started and ended. */
2624 YYLTYPE yyerror_range
[2];
2626 YYSIZE_T yystacksize
;
2630 /* Lookahead token as an internal (translated) token number. */
2632 /* The variables used to return semantic value and location from the
2638 /* Buffer for error messages, and its allocated size. */
2640 char *yymsg
= yymsgbuf
;
2641 YYSIZE_T yymsg_alloc
= sizeof yymsgbuf
;
2644 #define YYPOPSTACK(N) (yyvsp -= (N), yyssp -= (N), yylsp -= (N))
2646 /* The number of symbols on the RHS of the reduced rule.
2647 Keep to zero when no symbol should be popped. */
2654 yystacksize
= YYINITDEPTH
;
2656 YYDPRINTF ((stderr
, "Starting parse\n"));
2661 yychar
= YYEMPTY
; /* Cause a token to be read. */
2663 /* Initialize stack pointers.
2664 Waste one element of value and location stack
2665 so that they stay on the same level as the state stack.
2666 The wasted elements are never initialized. */
2671 #if YYLTYPE_IS_TRIVIAL
2672 /* Initialize the default location before parsing starts. */
2673 yylloc
.first_line
= yylloc
.last_line
= 1;
2674 yylloc
.first_column
= yylloc
.last_column
= 1;
2677 /* User initialization code. */
2679 /* Line 1242 of yacc.c */
2680 #line 41 "glsl_parser.ypp"
2682 yylloc
.first_line
= 1;
2683 yylloc
.first_column
= 1;
2684 yylloc
.last_line
= 1;
2685 yylloc
.last_column
= 1;
2689 /* Line 1242 of yacc.c */
2690 #line 2691 "glsl_parser.cpp"
2695 /*------------------------------------------------------------.
2696 | yynewstate -- Push a new state, which is found in yystate. |
2697 `------------------------------------------------------------*/
2699 /* In all cases, when you get here, the value and location stacks
2700 have just been pushed. So pushing a state here evens the stacks. */
2706 if (yyss
+ yystacksize
- 1 <= yyssp
)
2708 /* Get the current used size of the three stacks, in elements. */
2709 YYSIZE_T yysize
= yyssp
- yyss
+ 1;
2713 /* Give user a chance to reallocate the stack. Use copies of
2714 these so that the &'s don't force the real ones into
2716 YYSTYPE
*yyvs1
= yyvs
;
2717 yytype_int16
*yyss1
= yyss
;
2718 YYLTYPE
*yyls1
= yyls
;
2720 /* Each stack pointer address is followed by the size of the
2721 data in use in that stack, in bytes. This used to be a
2722 conditional around just the two extra args, but that might
2723 be undefined if yyoverflow is a macro. */
2724 yyoverflow (YY_("memory exhausted"),
2725 &yyss1
, yysize
* sizeof (*yyssp
),
2726 &yyvs1
, yysize
* sizeof (*yyvsp
),
2727 &yyls1
, yysize
* sizeof (*yylsp
),
2734 #else /* no yyoverflow */
2735 # ifndef YYSTACK_RELOCATE
2736 goto yyexhaustedlab
;
2738 /* Extend the stack our own way. */
2739 if (YYMAXDEPTH
<= yystacksize
)
2740 goto yyexhaustedlab
;
2742 if (YYMAXDEPTH
< yystacksize
)
2743 yystacksize
= YYMAXDEPTH
;
2746 yytype_int16
*yyss1
= yyss
;
2747 union yyalloc
*yyptr
=
2748 (union yyalloc
*) YYSTACK_ALLOC (YYSTACK_BYTES (yystacksize
));
2750 goto yyexhaustedlab
;
2751 YYSTACK_RELOCATE (yyss_alloc
, yyss
);
2752 YYSTACK_RELOCATE (yyvs_alloc
, yyvs
);
2753 YYSTACK_RELOCATE (yyls_alloc
, yyls
);
2754 # undef YYSTACK_RELOCATE
2756 YYSTACK_FREE (yyss1
);
2759 #endif /* no yyoverflow */
2761 yyssp
= yyss
+ yysize
- 1;
2762 yyvsp
= yyvs
+ yysize
- 1;
2763 yylsp
= yyls
+ yysize
- 1;
2765 YYDPRINTF ((stderr
, "Stack size increased to %lu\n",
2766 (unsigned long int) yystacksize
));
2768 if (yyss
+ yystacksize
- 1 <= yyssp
)
2772 YYDPRINTF ((stderr
, "Entering state %d\n", yystate
));
2774 if (yystate
== YYFINAL
)
2784 /* Do appropriate processing given the current state. Read a
2785 lookahead token if we need one and don't already have one. */
2787 /* First try to decide what to do without reference to lookahead token. */
2788 yyn
= yypact
[yystate
];
2789 if (yyn
== YYPACT_NINF
)
2792 /* Not known => get a lookahead token if don't already have one. */
2794 /* YYCHAR is either YYEMPTY or YYEOF or a valid lookahead symbol. */
2795 if (yychar
== YYEMPTY
)
2797 YYDPRINTF ((stderr
, "Reading a token: "));
2801 if (yychar
<= YYEOF
)
2803 yychar
= yytoken
= YYEOF
;
2804 YYDPRINTF ((stderr
, "Now at end of input.\n"));
2808 yytoken
= YYTRANSLATE (yychar
);
2809 YY_SYMBOL_PRINT ("Next token is", yytoken
, &yylval
, &yylloc
);
2812 /* If the proper action on seeing token YYTOKEN is to reduce or to
2813 detect an error, take that action. */
2815 if (yyn
< 0 || YYLAST
< yyn
|| yycheck
[yyn
] != yytoken
)
2820 if (yyn
== 0 || yyn
== YYTABLE_NINF
)
2826 /* Count tokens shifted since error; after three, turn off error
2831 /* Shift the lookahead token. */
2832 YY_SYMBOL_PRINT ("Shifting", yytoken
, &yylval
, &yylloc
);
2834 /* Discard the shifted token. */
2843 /*-----------------------------------------------------------.
2844 | yydefault -- do the default action for the current state. |
2845 `-----------------------------------------------------------*/
2847 yyn
= yydefact
[yystate
];
2853 /*-----------------------------.
2854 | yyreduce -- Do a reduction. |
2855 `-----------------------------*/
2857 /* yyn is the number of a rule to reduce with. */
2860 /* If YYLEN is nonzero, implement the default value of the action:
2863 Otherwise, the following line sets YYVAL to garbage.
2864 This behavior is undocumented and Bison
2865 users should not rely upon it. Assigning to YYVAL
2866 unconditionally makes the parser a bit smaller, and it avoids a
2867 GCC warning that YYVAL may be used uninitialized. */
2868 yyval
= yyvsp
[1-yylen
];
2870 /* Default location. */
2871 YYLLOC_DEFAULT (yyloc
, (yylsp
- yylen
), yylen
);
2872 YY_REDUCE_PRINT (yyn
);
2877 /* Line 1455 of yacc.c */
2878 #line 209 "glsl_parser.ypp"
2880 _mesa_glsl_initialize_types(state
);
2886 /* Line 1455 of yacc.c */
2887 #line 217 "glsl_parser.ypp"
2889 state
->language_version
= 110;
2895 /* Line 1455 of yacc.c */
2896 #line 221 "glsl_parser.ypp"
2898 switch ((yyvsp
[(2) - (3)].n
)) {
2902 /* FINISHME: Check against implementation support versions. */
2903 state
->language_version
= (yyvsp
[(2) - (3)].n
);
2906 _mesa_glsl_error(& (yylsp
[(2) - (3)]), state
, "Shading language version"
2907 "%u is not supported\n", (yyvsp
[(2) - (3)].n
));
2915 /* Line 1455 of yacc.c */
2916 #line 244 "glsl_parser.ypp"
2918 if (!_mesa_glsl_process_extension((yyvsp
[(2) - (5)].identifier
), & (yylsp
[(2) - (5)]), (yyvsp
[(4) - (5)].identifier
), & (yylsp
[(4) - (5)]), state
)) {
2926 /* Line 1455 of yacc.c */
2927 #line 253 "glsl_parser.ypp"
2929 /* FINISHME: The NULL test is only required because 'precision'
2930 * FINISHME: statements are not yet supported.
2932 if ((yyvsp
[(1) - (1)].node
) != NULL
)
2933 state
->translation_unit
.push_tail(& (yyvsp
[(1) - (1)].node
)->link
);
2939 /* Line 1455 of yacc.c */
2940 #line 261 "glsl_parser.ypp"
2942 /* FINISHME: The NULL test is only required because 'precision'
2943 * FINISHME: statements are not yet supported.
2945 if ((yyvsp
[(2) - (2)].node
) != NULL
)
2946 state
->translation_unit
.push_tail(& (yyvsp
[(2) - (2)].node
)->link
);
2952 /* Line 1455 of yacc.c */
2953 #line 276 "glsl_parser.ypp"
2956 (yyval
.expression
) = new(ctx
) ast_expression(ast_identifier
, NULL
, NULL
, NULL
);
2957 (yyval
.expression
)->set_location(yylloc
);
2958 (yyval
.expression
)->primary_expression
.identifier
= (yyvsp
[(1) - (1)].identifier
);
2964 /* Line 1455 of yacc.c */
2965 #line 283 "glsl_parser.ypp"
2968 (yyval
.expression
) = new(ctx
) ast_expression(ast_int_constant
, NULL
, NULL
, NULL
);
2969 (yyval
.expression
)->set_location(yylloc
);
2970 (yyval
.expression
)->primary_expression
.int_constant
= (yyvsp
[(1) - (1)].n
);
2976 /* Line 1455 of yacc.c */
2977 #line 290 "glsl_parser.ypp"
2980 (yyval
.expression
) = new(ctx
) ast_expression(ast_uint_constant
, NULL
, NULL
, NULL
);
2981 (yyval
.expression
)->set_location(yylloc
);
2982 (yyval
.expression
)->primary_expression
.uint_constant
= (yyvsp
[(1) - (1)].n
);
2988 /* Line 1455 of yacc.c */
2989 #line 297 "glsl_parser.ypp"
2992 (yyval
.expression
) = new(ctx
) ast_expression(ast_float_constant
, NULL
, NULL
, NULL
);
2993 (yyval
.expression
)->set_location(yylloc
);
2994 (yyval
.expression
)->primary_expression
.float_constant
= (yyvsp
[(1) - (1)].real
);
3000 /* Line 1455 of yacc.c */
3001 #line 304 "glsl_parser.ypp"
3004 (yyval
.expression
) = new(ctx
) ast_expression(ast_bool_constant
, NULL
, NULL
, NULL
);
3005 (yyval
.expression
)->set_location(yylloc
);
3006 (yyval
.expression
)->primary_expression
.bool_constant
= (yyvsp
[(1) - (1)].n
);
3012 /* Line 1455 of yacc.c */
3013 #line 311 "glsl_parser.ypp"
3015 (yyval
.expression
) = (yyvsp
[(2) - (3)].expression
);
3021 /* Line 1455 of yacc.c */
3022 #line 319 "glsl_parser.ypp"
3025 (yyval
.expression
) = new(ctx
) ast_expression(ast_array_index
, (yyvsp
[(1) - (4)].expression
), (yyvsp
[(3) - (4)].expression
), NULL
);
3026 (yyval
.expression
)->set_location(yylloc
);
3032 /* Line 1455 of yacc.c */
3033 #line 325 "glsl_parser.ypp"
3035 (yyval
.expression
) = (yyvsp
[(1) - (1)].expression
);
3041 /* Line 1455 of yacc.c */
3042 #line 329 "glsl_parser.ypp"
3045 (yyval
.expression
) = new(ctx
) ast_expression(ast_field_selection
, (yyvsp
[(1) - (3)].expression
), NULL
, NULL
);
3046 (yyval
.expression
)->set_location(yylloc
);
3047 (yyval
.expression
)->primary_expression
.identifier
= (yyvsp
[(3) - (3)].identifier
);
3053 /* Line 1455 of yacc.c */
3054 #line 336 "glsl_parser.ypp"
3057 (yyval
.expression
) = new(ctx
) ast_expression(ast_post_inc
, (yyvsp
[(1) - (2)].expression
), NULL
, NULL
);
3058 (yyval
.expression
)->set_location(yylloc
);
3064 /* Line 1455 of yacc.c */
3065 #line 342 "glsl_parser.ypp"
3068 (yyval
.expression
) = new(ctx
) ast_expression(ast_post_dec
, (yyvsp
[(1) - (2)].expression
), NULL
, NULL
);
3069 (yyval
.expression
)->set_location(yylloc
);
3075 /* Line 1455 of yacc.c */
3076 #line 360 "glsl_parser.ypp"
3079 (yyval
.expression
) = new(ctx
) ast_expression(ast_field_selection
, (yyvsp
[(1) - (3)].expression
), (yyvsp
[(3) - (3)].expression
), NULL
);
3080 (yyval
.expression
)->set_location(yylloc
);
3086 /* Line 1455 of yacc.c */
3087 #line 379 "glsl_parser.ypp"
3089 (yyval
.expression
) = (yyvsp
[(1) - (2)].expression
);
3090 (yyval
.expression
)->set_location(yylloc
);
3091 (yyval
.expression
)->expressions
.push_tail(& (yyvsp
[(2) - (2)].expression
)->link
);
3097 /* Line 1455 of yacc.c */
3098 #line 385 "glsl_parser.ypp"
3100 (yyval
.expression
) = (yyvsp
[(1) - (3)].expression
);
3101 (yyval
.expression
)->set_location(yylloc
);
3102 (yyval
.expression
)->expressions
.push_tail(& (yyvsp
[(3) - (3)].expression
)->link
);
3108 /* Line 1455 of yacc.c */
3109 #line 401 "glsl_parser.ypp"
3112 (yyval
.expression
) = new(ctx
) ast_function_expression((yyvsp
[(1) - (1)].type_specifier
));
3113 (yyval
.expression
)->set_location(yylloc
);
3119 /* Line 1455 of yacc.c */
3120 #line 407 "glsl_parser.ypp"
3123 ast_expression
*callee
= new(ctx
) ast_expression((yyvsp
[(1) - (1)].identifier
));
3124 (yyval
.expression
) = new(ctx
) ast_function_expression(callee
);
3125 (yyval
.expression
)->set_location(yylloc
);
3131 /* Line 1455 of yacc.c */
3132 #line 414 "glsl_parser.ypp"
3135 ast_expression
*callee
= new(ctx
) ast_expression((yyvsp
[(1) - (1)].identifier
));
3136 (yyval
.expression
) = new(ctx
) ast_function_expression(callee
);
3137 (yyval
.expression
)->set_location(yylloc
);
3143 /* Line 1455 of yacc.c */
3144 #line 426 "glsl_parser.ypp"
3147 (yyval
.expression
) = new(ctx
) ast_expression(ast_pre_inc
, (yyvsp
[(2) - (2)].expression
), NULL
, NULL
);
3148 (yyval
.expression
)->set_location(yylloc
);
3154 /* Line 1455 of yacc.c */
3155 #line 432 "glsl_parser.ypp"
3158 (yyval
.expression
) = new(ctx
) ast_expression(ast_pre_dec
, (yyvsp
[(2) - (2)].expression
), NULL
, NULL
);
3159 (yyval
.expression
)->set_location(yylloc
);
3165 /* Line 1455 of yacc.c */
3166 #line 438 "glsl_parser.ypp"
3169 (yyval
.expression
) = new(ctx
) ast_expression((yyvsp
[(1) - (2)].n
), (yyvsp
[(2) - (2)].expression
), NULL
, NULL
);
3170 (yyval
.expression
)->set_location(yylloc
);
3176 /* Line 1455 of yacc.c */
3177 #line 447 "glsl_parser.ypp"
3178 { (yyval
.n
) = ast_plus
; ;}
3183 /* Line 1455 of yacc.c */
3184 #line 448 "glsl_parser.ypp"
3185 { (yyval
.n
) = ast_neg
; ;}
3190 /* Line 1455 of yacc.c */
3191 #line 449 "glsl_parser.ypp"
3192 { (yyval
.n
) = ast_logic_not
; ;}
3197 /* Line 1455 of yacc.c */
3198 #line 450 "glsl_parser.ypp"
3199 { (yyval
.n
) = ast_bit_not
; ;}
3204 /* Line 1455 of yacc.c */
3205 #line 456 "glsl_parser.ypp"
3208 (yyval
.expression
) = new(ctx
) ast_expression_bin(ast_mul
, (yyvsp
[(1) - (3)].expression
), (yyvsp
[(3) - (3)].expression
));
3209 (yyval
.expression
)->set_location(yylloc
);
3215 /* Line 1455 of yacc.c */
3216 #line 462 "glsl_parser.ypp"
3219 (yyval
.expression
) = new(ctx
) ast_expression_bin(ast_div
, (yyvsp
[(1) - (3)].expression
), (yyvsp
[(3) - (3)].expression
));
3220 (yyval
.expression
)->set_location(yylloc
);
3226 /* Line 1455 of yacc.c */
3227 #line 468 "glsl_parser.ypp"
3230 (yyval
.expression
) = new(ctx
) ast_expression_bin(ast_mod
, (yyvsp
[(1) - (3)].expression
), (yyvsp
[(3) - (3)].expression
));
3231 (yyval
.expression
)->set_location(yylloc
);
3237 /* Line 1455 of yacc.c */
3238 #line 478 "glsl_parser.ypp"
3241 (yyval
.expression
) = new(ctx
) ast_expression_bin(ast_add
, (yyvsp
[(1) - (3)].expression
), (yyvsp
[(3) - (3)].expression
));
3242 (yyval
.expression
)->set_location(yylloc
);
3248 /* Line 1455 of yacc.c */
3249 #line 484 "glsl_parser.ypp"
3252 (yyval
.expression
) = new(ctx
) ast_expression_bin(ast_sub
, (yyvsp
[(1) - (3)].expression
), (yyvsp
[(3) - (3)].expression
));
3253 (yyval
.expression
)->set_location(yylloc
);
3259 /* Line 1455 of yacc.c */
3260 #line 494 "glsl_parser.ypp"
3263 (yyval
.expression
) = new(ctx
) ast_expression_bin(ast_lshift
, (yyvsp
[(1) - (3)].expression
), (yyvsp
[(3) - (3)].expression
));
3264 (yyval
.expression
)->set_location(yylloc
);
3270 /* Line 1455 of yacc.c */
3271 #line 500 "glsl_parser.ypp"
3274 (yyval
.expression
) = new(ctx
) ast_expression_bin(ast_rshift
, (yyvsp
[(1) - (3)].expression
), (yyvsp
[(3) - (3)].expression
));
3275 (yyval
.expression
)->set_location(yylloc
);
3281 /* Line 1455 of yacc.c */
3282 #line 510 "glsl_parser.ypp"
3285 (yyval
.expression
) = new(ctx
) ast_expression_bin(ast_less
, (yyvsp
[(1) - (3)].expression
), (yyvsp
[(3) - (3)].expression
));
3286 (yyval
.expression
)->set_location(yylloc
);
3292 /* Line 1455 of yacc.c */
3293 #line 516 "glsl_parser.ypp"
3296 (yyval
.expression
) = new(ctx
) ast_expression_bin(ast_greater
, (yyvsp
[(1) - (3)].expression
), (yyvsp
[(3) - (3)].expression
));
3297 (yyval
.expression
)->set_location(yylloc
);
3303 /* Line 1455 of yacc.c */
3304 #line 522 "glsl_parser.ypp"
3307 (yyval
.expression
) = new(ctx
) ast_expression_bin(ast_lequal
, (yyvsp
[(1) - (3)].expression
), (yyvsp
[(3) - (3)].expression
));
3308 (yyval
.expression
)->set_location(yylloc
);
3314 /* Line 1455 of yacc.c */
3315 #line 528 "glsl_parser.ypp"
3318 (yyval
.expression
) = new(ctx
) ast_expression_bin(ast_gequal
, (yyvsp
[(1) - (3)].expression
), (yyvsp
[(3) - (3)].expression
));
3319 (yyval
.expression
)->set_location(yylloc
);
3325 /* Line 1455 of yacc.c */
3326 #line 538 "glsl_parser.ypp"
3329 (yyval
.expression
) = new(ctx
) ast_expression_bin(ast_equal
, (yyvsp
[(1) - (3)].expression
), (yyvsp
[(3) - (3)].expression
));
3330 (yyval
.expression
)->set_location(yylloc
);
3336 /* Line 1455 of yacc.c */
3337 #line 544 "glsl_parser.ypp"
3340 (yyval
.expression
) = new(ctx
) ast_expression_bin(ast_nequal
, (yyvsp
[(1) - (3)].expression
), (yyvsp
[(3) - (3)].expression
));
3341 (yyval
.expression
)->set_location(yylloc
);
3347 /* Line 1455 of yacc.c */
3348 #line 554 "glsl_parser.ypp"
3351 (yyval
.expression
) = new(ctx
) ast_expression_bin(ast_bit_or
, (yyvsp
[(1) - (3)].expression
), (yyvsp
[(3) - (3)].expression
));
3352 (yyval
.expression
)->set_location(yylloc
);
3358 /* Line 1455 of yacc.c */
3359 #line 564 "glsl_parser.ypp"
3362 (yyval
.expression
) = new(ctx
) ast_expression_bin(ast_bit_xor
, (yyvsp
[(1) - (3)].expression
), (yyvsp
[(3) - (3)].expression
));
3363 (yyval
.expression
)->set_location(yylloc
);
3369 /* Line 1455 of yacc.c */
3370 #line 574 "glsl_parser.ypp"
3373 (yyval
.expression
) = new(ctx
) ast_expression_bin(ast_bit_or
, (yyvsp
[(1) - (3)].expression
), (yyvsp
[(3) - (3)].expression
));
3374 (yyval
.expression
)->set_location(yylloc
);
3380 /* Line 1455 of yacc.c */
3381 #line 584 "glsl_parser.ypp"
3384 (yyval
.expression
) = new(ctx
) ast_expression_bin(ast_logic_and
, (yyvsp
[(1) - (3)].expression
), (yyvsp
[(3) - (3)].expression
));
3385 (yyval
.expression
)->set_location(yylloc
);
3391 /* Line 1455 of yacc.c */
3392 #line 594 "glsl_parser.ypp"
3395 (yyval
.expression
) = new(ctx
) ast_expression_bin(ast_logic_xor
, (yyvsp
[(1) - (3)].expression
), (yyvsp
[(3) - (3)].expression
));
3396 (yyval
.expression
)->set_location(yylloc
);
3402 /* Line 1455 of yacc.c */
3403 #line 604 "glsl_parser.ypp"
3406 (yyval
.expression
) = new(ctx
) ast_expression_bin(ast_logic_or
, (yyvsp
[(1) - (3)].expression
), (yyvsp
[(3) - (3)].expression
));
3407 (yyval
.expression
)->set_location(yylloc
);
3413 /* Line 1455 of yacc.c */
3414 #line 614 "glsl_parser.ypp"
3417 (yyval
.expression
) = new(ctx
) ast_expression(ast_conditional
, (yyvsp
[(1) - (5)].expression
), (yyvsp
[(3) - (5)].expression
), (yyvsp
[(5) - (5)].expression
));
3418 (yyval
.expression
)->set_location(yylloc
);
3424 /* Line 1455 of yacc.c */
3425 #line 624 "glsl_parser.ypp"
3428 (yyval
.expression
) = new(ctx
) ast_expression((yyvsp
[(2) - (3)].n
), (yyvsp
[(1) - (3)].expression
), (yyvsp
[(3) - (3)].expression
), NULL
);
3429 (yyval
.expression
)->set_location(yylloc
);
3435 /* Line 1455 of yacc.c */
3436 #line 632 "glsl_parser.ypp"
3437 { (yyval
.n
) = ast_assign
; ;}
3442 /* Line 1455 of yacc.c */
3443 #line 633 "glsl_parser.ypp"
3444 { (yyval
.n
) = ast_mul_assign
; ;}
3449 /* Line 1455 of yacc.c */
3450 #line 634 "glsl_parser.ypp"
3451 { (yyval
.n
) = ast_div_assign
; ;}
3456 /* Line 1455 of yacc.c */
3457 #line 635 "glsl_parser.ypp"
3458 { (yyval
.n
) = ast_mod_assign
; ;}
3463 /* Line 1455 of yacc.c */
3464 #line 636 "glsl_parser.ypp"
3465 { (yyval
.n
) = ast_add_assign
; ;}
3470 /* Line 1455 of yacc.c */
3471 #line 637 "glsl_parser.ypp"
3472 { (yyval
.n
) = ast_sub_assign
; ;}
3477 /* Line 1455 of yacc.c */
3478 #line 638 "glsl_parser.ypp"
3479 { (yyval
.n
) = ast_ls_assign
; ;}
3484 /* Line 1455 of yacc.c */
3485 #line 639 "glsl_parser.ypp"
3486 { (yyval
.n
) = ast_rs_assign
; ;}
3491 /* Line 1455 of yacc.c */
3492 #line 640 "glsl_parser.ypp"
3493 { (yyval
.n
) = ast_and_assign
; ;}
3498 /* Line 1455 of yacc.c */
3499 #line 641 "glsl_parser.ypp"
3500 { (yyval
.n
) = ast_xor_assign
; ;}
3505 /* Line 1455 of yacc.c */
3506 #line 642 "glsl_parser.ypp"
3507 { (yyval
.n
) = ast_or_assign
; ;}
3512 /* Line 1455 of yacc.c */
3513 #line 647 "glsl_parser.ypp"
3515 (yyval
.expression
) = (yyvsp
[(1) - (1)].expression
);
3521 /* Line 1455 of yacc.c */
3522 #line 651 "glsl_parser.ypp"
3525 if ((yyvsp
[(1) - (3)].expression
)->oper
!= ast_sequence
) {
3526 (yyval
.expression
) = new(ctx
) ast_expression(ast_sequence
, NULL
, NULL
, NULL
);
3527 (yyval
.expression
)->set_location(yylloc
);
3528 (yyval
.expression
)->expressions
.push_tail(& (yyvsp
[(1) - (3)].expression
)->link
);
3530 (yyval
.expression
) = (yyvsp
[(1) - (3)].expression
);
3533 (yyval
.expression
)->expressions
.push_tail(& (yyvsp
[(3) - (3)].expression
)->link
);
3539 /* Line 1455 of yacc.c */
3540 #line 671 "glsl_parser.ypp"
3542 (yyval
.node
) = (yyvsp
[(1) - (2)].function
);
3548 /* Line 1455 of yacc.c */
3549 #line 675 "glsl_parser.ypp"
3551 (yyval
.node
) = (yyvsp
[(1) - (2)].declarator_list
);
3557 /* Line 1455 of yacc.c */
3558 #line 679 "glsl_parser.ypp"
3560 if (((yyvsp
[(3) - (4)].type_specifier
)->type_specifier
!= ast_float
)
3561 && ((yyvsp
[(3) - (4)].type_specifier
)->type_specifier
!= ast_int
)) {
3562 _mesa_glsl_error(& (yylsp
[(3) - (4)]), state
, "global precision qualifier can "
3563 "only be applied to `int' or `float'\n");
3567 (yyval
.node
) = NULL
; /* FINISHME */
3573 /* Line 1455 of yacc.c */
3574 #line 702 "glsl_parser.ypp"
3576 (yyval
.function
) = (yyvsp
[(1) - (2)].function
);
3577 (yyval
.function
)->parameters
.push_tail(& (yyvsp
[(2) - (2)].parameter_declarator
)->link
);
3583 /* Line 1455 of yacc.c */
3584 #line 707 "glsl_parser.ypp"
3586 (yyval
.function
) = (yyvsp
[(1) - (3)].function
);
3587 (yyval
.function
)->parameters
.push_tail(& (yyvsp
[(3) - (3)].parameter_declarator
)->link
);
3593 /* Line 1455 of yacc.c */
3594 #line 715 "glsl_parser.ypp"
3597 (yyval
.function
) = new(ctx
) ast_function();
3598 (yyval
.function
)->set_location(yylloc
);
3599 (yyval
.function
)->return_type
= (yyvsp
[(1) - (3)].fully_specified_type
);
3600 (yyval
.function
)->identifier
= (yyvsp
[(2) - (3)].identifier
);
3606 /* Line 1455 of yacc.c */
3607 #line 726 "glsl_parser.ypp"
3610 (yyval
.parameter_declarator
) = new(ctx
) ast_parameter_declarator();
3611 (yyval
.parameter_declarator
)->set_location(yylloc
);
3612 (yyval
.parameter_declarator
)->type
= new(ctx
) ast_fully_specified_type();
3613 (yyval
.parameter_declarator
)->type
->set_location(yylloc
);
3614 (yyval
.parameter_declarator
)->type
->specifier
= (yyvsp
[(1) - (2)].type_specifier
);
3615 (yyval
.parameter_declarator
)->identifier
= (yyvsp
[(2) - (2)].identifier
);
3621 /* Line 1455 of yacc.c */
3622 #line 736 "glsl_parser.ypp"
3625 (yyval
.parameter_declarator
) = new(ctx
) ast_parameter_declarator();
3626 (yyval
.parameter_declarator
)->set_location(yylloc
);
3627 (yyval
.parameter_declarator
)->type
= new(ctx
) ast_fully_specified_type();
3628 (yyval
.parameter_declarator
)->type
->set_location(yylloc
);
3629 (yyval
.parameter_declarator
)->type
->specifier
= (yyvsp
[(1) - (5)].type_specifier
);
3630 (yyval
.parameter_declarator
)->identifier
= (yyvsp
[(2) - (5)].identifier
);
3631 (yyval
.parameter_declarator
)->is_array
= true;
3632 (yyval
.parameter_declarator
)->array_size
= (yyvsp
[(4) - (5)].expression
);
3638 /* Line 1455 of yacc.c */
3639 #line 751 "glsl_parser.ypp"
3641 (yyvsp
[(1) - (3)].type_qualifier
).i
|= (yyvsp
[(2) - (3)].type_qualifier
).i
;
3643 (yyval
.parameter_declarator
) = (yyvsp
[(3) - (3)].parameter_declarator
);
3644 (yyval
.parameter_declarator
)->type
->qualifier
= (yyvsp
[(1) - (3)].type_qualifier
).q
;
3650 /* Line 1455 of yacc.c */
3651 #line 758 "glsl_parser.ypp"
3653 (yyval
.parameter_declarator
) = (yyvsp
[(2) - (2)].parameter_declarator
);
3654 (yyval
.parameter_declarator
)->type
->qualifier
= (yyvsp
[(1) - (2)].type_qualifier
).q
;
3660 /* Line 1455 of yacc.c */
3661 #line 763 "glsl_parser.ypp"
3664 (yyvsp
[(1) - (3)].type_qualifier
).i
|= (yyvsp
[(2) - (3)].type_qualifier
).i
;
3666 (yyval
.parameter_declarator
) = new(ctx
) ast_parameter_declarator();
3667 (yyval
.parameter_declarator
)->set_location(yylloc
);
3668 (yyval
.parameter_declarator
)->type
= new(ctx
) ast_fully_specified_type();
3669 (yyval
.parameter_declarator
)->type
->qualifier
= (yyvsp
[(1) - (3)].type_qualifier
).q
;
3670 (yyval
.parameter_declarator
)->type
->specifier
= (yyvsp
[(3) - (3)].type_specifier
);
3676 /* Line 1455 of yacc.c */
3677 #line 774 "glsl_parser.ypp"
3680 (yyval
.parameter_declarator
) = new(ctx
) ast_parameter_declarator();
3681 (yyval
.parameter_declarator
)->set_location(yylloc
);
3682 (yyval
.parameter_declarator
)->type
= new(ctx
) ast_fully_specified_type();
3683 (yyval
.parameter_declarator
)->type
->qualifier
= (yyvsp
[(1) - (2)].type_qualifier
).q
;
3684 (yyval
.parameter_declarator
)->type
->specifier
= (yyvsp
[(2) - (2)].type_specifier
);
3690 /* Line 1455 of yacc.c */
3691 #line 785 "glsl_parser.ypp"
3692 { (yyval
.type_qualifier
).i
= 0; ;}
3697 /* Line 1455 of yacc.c */
3698 #line 786 "glsl_parser.ypp"
3699 { (yyval
.type_qualifier
).i
= 0; (yyval
.type_qualifier
).q
.in
= 1; ;}
3704 /* Line 1455 of yacc.c */
3705 #line 787 "glsl_parser.ypp"
3706 { (yyval
.type_qualifier
).i
= 0; (yyval
.type_qualifier
).q
.out
= 1; ;}
3711 /* Line 1455 of yacc.c */
3712 #line 788 "glsl_parser.ypp"
3713 { (yyval
.type_qualifier
).i
= 0; (yyval
.type_qualifier
).q
.in
= 1; (yyval
.type_qualifier
).q
.out
= 1; ;}
3718 /* Line 1455 of yacc.c */
3719 #line 798 "glsl_parser.ypp"
3722 ast_declaration
*decl
= new(ctx
) ast_declaration((yyvsp
[(3) - (3)].identifier
), false, NULL
, NULL
);
3723 decl
->set_location(yylloc
);
3725 (yyval
.declarator_list
) = (yyvsp
[(1) - (3)].declarator_list
);
3726 (yyval
.declarator_list
)->declarations
.push_tail(&decl
->link
);
3732 /* Line 1455 of yacc.c */
3733 #line 807 "glsl_parser.ypp"
3736 ast_declaration
*decl
= new(ctx
) ast_declaration((yyvsp
[(3) - (5)].identifier
), true, NULL
, NULL
);
3737 decl
->set_location(yylloc
);
3739 (yyval
.declarator_list
) = (yyvsp
[(1) - (5)].declarator_list
);
3740 (yyval
.declarator_list
)->declarations
.push_tail(&decl
->link
);
3746 /* Line 1455 of yacc.c */
3747 #line 816 "glsl_parser.ypp"
3750 ast_declaration
*decl
= new(ctx
) ast_declaration((yyvsp
[(3) - (6)].identifier
), true, (yyvsp
[(5) - (6)].expression
), NULL
);
3751 decl
->set_location(yylloc
);
3753 (yyval
.declarator_list
) = (yyvsp
[(1) - (6)].declarator_list
);
3754 (yyval
.declarator_list
)->declarations
.push_tail(&decl
->link
);
3760 /* Line 1455 of yacc.c */
3761 #line 825 "glsl_parser.ypp"
3764 ast_declaration
*decl
= new(ctx
) ast_declaration((yyvsp
[(3) - (7)].identifier
), true, NULL
, (yyvsp
[(7) - (7)].expression
));
3765 decl
->set_location(yylloc
);
3767 (yyval
.declarator_list
) = (yyvsp
[(1) - (7)].declarator_list
);
3768 (yyval
.declarator_list
)->declarations
.push_tail(&decl
->link
);
3774 /* Line 1455 of yacc.c */
3775 #line 834 "glsl_parser.ypp"
3778 ast_declaration
*decl
= new(ctx
) ast_declaration((yyvsp
[(3) - (8)].identifier
), true, (yyvsp
[(5) - (8)].expression
), (yyvsp
[(8) - (8)].expression
));
3779 decl
->set_location(yylloc
);
3781 (yyval
.declarator_list
) = (yyvsp
[(1) - (8)].declarator_list
);
3782 (yyval
.declarator_list
)->declarations
.push_tail(&decl
->link
);
3788 /* Line 1455 of yacc.c */
3789 #line 843 "glsl_parser.ypp"
3792 ast_declaration
*decl
= new(ctx
) ast_declaration((yyvsp
[(3) - (5)].identifier
), false, NULL
, (yyvsp
[(5) - (5)].expression
));
3793 decl
->set_location(yylloc
);
3795 (yyval
.declarator_list
) = (yyvsp
[(1) - (5)].declarator_list
);
3796 (yyval
.declarator_list
)->declarations
.push_tail(&decl
->link
);
3802 /* Line 1455 of yacc.c */
3803 #line 856 "glsl_parser.ypp"
3806 if ((yyvsp
[(1) - (1)].fully_specified_type
)->specifier
->type_specifier
!= ast_struct
) {
3807 _mesa_glsl_error(& (yylsp
[(1) - (1)]), state
, "empty declaration list\n");
3810 (yyval
.declarator_list
) = new(ctx
) ast_declarator_list((yyvsp
[(1) - (1)].fully_specified_type
));
3811 (yyval
.declarator_list
)->set_location(yylloc
);
3818 /* Line 1455 of yacc.c */
3819 #line 867 "glsl_parser.ypp"
3822 ast_declaration
*decl
= new(ctx
) ast_declaration((yyvsp
[(2) - (2)].identifier
), false, NULL
, NULL
);
3824 (yyval
.declarator_list
) = new(ctx
) ast_declarator_list((yyvsp
[(1) - (2)].fully_specified_type
));
3825 (yyval
.declarator_list
)->set_location(yylloc
);
3826 (yyval
.declarator_list
)->declarations
.push_tail(&decl
->link
);
3832 /* Line 1455 of yacc.c */
3833 #line 876 "glsl_parser.ypp"
3836 ast_declaration
*decl
= new(ctx
) ast_declaration((yyvsp
[(2) - (4)].identifier
), true, NULL
, NULL
);
3838 (yyval
.declarator_list
) = new(ctx
) ast_declarator_list((yyvsp
[(1) - (4)].fully_specified_type
));
3839 (yyval
.declarator_list
)->set_location(yylloc
);
3840 (yyval
.declarator_list
)->declarations
.push_tail(&decl
->link
);
3846 /* Line 1455 of yacc.c */
3847 #line 885 "glsl_parser.ypp"
3850 ast_declaration
*decl
= new(ctx
) ast_declaration((yyvsp
[(2) - (5)].identifier
), true, (yyvsp
[(4) - (5)].expression
), NULL
);
3852 (yyval
.declarator_list
) = new(ctx
) ast_declarator_list((yyvsp
[(1) - (5)].fully_specified_type
));
3853 (yyval
.declarator_list
)->set_location(yylloc
);
3854 (yyval
.declarator_list
)->declarations
.push_tail(&decl
->link
);
3860 /* Line 1455 of yacc.c */
3861 #line 894 "glsl_parser.ypp"
3864 ast_declaration
*decl
= new(ctx
) ast_declaration((yyvsp
[(2) - (6)].identifier
), true, NULL
, (yyvsp
[(6) - (6)].expression
));
3866 (yyval
.declarator_list
) = new(ctx
) ast_declarator_list((yyvsp
[(1) - (6)].fully_specified_type
));
3867 (yyval
.declarator_list
)->set_location(yylloc
);
3868 (yyval
.declarator_list
)->declarations
.push_tail(&decl
->link
);
3874 /* Line 1455 of yacc.c */
3875 #line 903 "glsl_parser.ypp"
3878 ast_declaration
*decl
= new(ctx
) ast_declaration((yyvsp
[(2) - (7)].identifier
), true, (yyvsp
[(4) - (7)].expression
), (yyvsp
[(7) - (7)].expression
));
3880 (yyval
.declarator_list
) = new(ctx
) ast_declarator_list((yyvsp
[(1) - (7)].fully_specified_type
));
3881 (yyval
.declarator_list
)->set_location(yylloc
);
3882 (yyval
.declarator_list
)->declarations
.push_tail(&decl
->link
);
3888 /* Line 1455 of yacc.c */
3889 #line 912 "glsl_parser.ypp"
3892 ast_declaration
*decl
= new(ctx
) ast_declaration((yyvsp
[(2) - (4)].identifier
), false, NULL
, (yyvsp
[(4) - (4)].expression
));
3894 (yyval
.declarator_list
) = new(ctx
) ast_declarator_list((yyvsp
[(1) - (4)].fully_specified_type
));
3895 (yyval
.declarator_list
)->set_location(yylloc
);
3896 (yyval
.declarator_list
)->declarations
.push_tail(&decl
->link
);
3902 /* Line 1455 of yacc.c */
3903 #line 921 "glsl_parser.ypp"
3906 ast_declaration
*decl
= new(ctx
) ast_declaration((yyvsp
[(2) - (2)].identifier
), false, NULL
, NULL
);
3908 (yyval
.declarator_list
) = new(ctx
) ast_declarator_list(NULL
);
3909 (yyval
.declarator_list
)->set_location(yylloc
);
3910 (yyval
.declarator_list
)->invariant
= true;
3912 (yyval
.declarator_list
)->declarations
.push_tail(&decl
->link
);
3918 /* Line 1455 of yacc.c */
3919 #line 935 "glsl_parser.ypp"
3922 (yyval
.fully_specified_type
) = new(ctx
) ast_fully_specified_type();
3923 (yyval
.fully_specified_type
)->set_location(yylloc
);
3924 (yyval
.fully_specified_type
)->specifier
= (yyvsp
[(1) - (1)].type_specifier
);
3930 /* Line 1455 of yacc.c */
3931 #line 942 "glsl_parser.ypp"
3934 (yyval
.fully_specified_type
) = new(ctx
) ast_fully_specified_type();
3935 (yyval
.fully_specified_type
)->set_location(yylloc
);
3936 (yyval
.fully_specified_type
)->qualifier
= (yyvsp
[(1) - (2)].type_qualifier
).q
;
3937 (yyval
.fully_specified_type
)->specifier
= (yyvsp
[(2) - (2)].type_specifier
);
3943 /* Line 1455 of yacc.c */
3944 #line 952 "glsl_parser.ypp"
3945 { (yyval
.type_qualifier
).i
= 0; ;}
3950 /* Line 1455 of yacc.c */
3951 #line 958 "glsl_parser.ypp"
3953 (yyval
.type_qualifier
) = (yyvsp
[(3) - (4)].type_qualifier
);
3959 /* Line 1455 of yacc.c */
3960 #line 966 "glsl_parser.ypp"
3962 (yyval
.type_qualifier
).i
= (yyvsp
[(1) - (3)].type_qualifier
).i
| (yyvsp
[(3) - (3)].type_qualifier
).i
;
3968 /* Line 1455 of yacc.c */
3969 #line 973 "glsl_parser.ypp"
3971 (yyval
.type_qualifier
).i
= 0;
3973 if (state
->ARB_fragment_coord_conventions_enable
) {
3974 bool got_one
= false;
3976 if (strcmp((yyvsp
[(1) - (1)].identifier
), "origin_upper_left") == 0) {
3978 (yyval
.type_qualifier
).q
.origin_upper_left
= 1;
3979 } else if (strcmp((yyvsp
[(1) - (1)].identifier
), "pixel_center_integer") == 0) {
3981 (yyval
.type_qualifier
).q
.pixel_center_integer
= 1;
3984 if (state
->ARB_fragment_coord_conventions_warn
&& got_one
) {
3985 _mesa_glsl_warning(& (yylsp
[(1) - (1)]), state
,
3986 "GL_ARB_fragment_coord_conventions layout "
3987 "identifier `%s' used\n", (yyvsp
[(1) - (1)].identifier
));
3991 /* If the identifier didn't match any known layout identifiers,
3994 if ((yyval
.type_qualifier
).i
== 0) {
3995 _mesa_glsl_error(& (yylsp
[(1) - (1)]), state
, "unrecognized layout identifier "
3996 "`%s'\n", (yyvsp
[(1) - (1)].identifier
));
4004 /* Line 1455 of yacc.c */
4005 #line 1006 "glsl_parser.ypp"
4006 { (yyval
.type_qualifier
).i
= 0; (yyval
.type_qualifier
).q
.smooth
= 1; ;}
4011 /* Line 1455 of yacc.c */
4012 #line 1007 "glsl_parser.ypp"
4013 { (yyval
.type_qualifier
).i
= 0; (yyval
.type_qualifier
).q
.flat
= 1; ;}
4018 /* Line 1455 of yacc.c */
4019 #line 1008 "glsl_parser.ypp"
4020 { (yyval
.type_qualifier
).i
= 0; (yyval
.type_qualifier
).q
.noperspective
= 1; ;}
4025 /* Line 1455 of yacc.c */
4026 #line 1012 "glsl_parser.ypp"
4027 { (yyval
.type_qualifier
).i
= 0; (yyval
.type_qualifier
).q
.constant
= 1; ;}
4032 /* Line 1455 of yacc.c */
4033 #line 1018 "glsl_parser.ypp"
4035 (yyval
.type_qualifier
).i
= (yyvsp
[(1) - (2)].type_qualifier
).i
| (yyvsp
[(2) - (2)].type_qualifier
).i
;
4041 /* Line 1455 of yacc.c */
4042 #line 1022 "glsl_parser.ypp"
4044 (yyval
.type_qualifier
) = (yyvsp
[(2) - (2)].type_qualifier
);
4045 (yyval
.type_qualifier
).q
.invariant
= 1;
4051 /* Line 1455 of yacc.c */
4052 #line 1029 "glsl_parser.ypp"
4053 { (yyval
.type_qualifier
).i
= 0; (yyval
.type_qualifier
).q
.constant
= 1; ;}
4058 /* Line 1455 of yacc.c */
4059 #line 1030 "glsl_parser.ypp"
4060 { (yyval
.type_qualifier
).i
= 0; (yyval
.type_qualifier
).q
.attribute
= 1; ;}
4065 /* Line 1455 of yacc.c */
4066 #line 1031 "glsl_parser.ypp"
4067 { (yyval
.type_qualifier
).i
= (yyvsp
[(1) - (2)].type_qualifier
).i
; (yyval
.type_qualifier
).q
.varying
= 1; ;}
4072 /* Line 1455 of yacc.c */
4073 #line 1032 "glsl_parser.ypp"
4074 { (yyval
.type_qualifier
).i
= 0; (yyval
.type_qualifier
).q
.centroid
= 1; (yyval
.type_qualifier
).q
.varying
= 1; ;}
4079 /* Line 1455 of yacc.c */
4080 #line 1033 "glsl_parser.ypp"
4081 { (yyval
.type_qualifier
).i
= 0; (yyval
.type_qualifier
).q
.in
= 1; ;}
4086 /* Line 1455 of yacc.c */
4087 #line 1034 "glsl_parser.ypp"
4088 { (yyval
.type_qualifier
).i
= 0; (yyval
.type_qualifier
).q
.out
= 1; ;}
4093 /* Line 1455 of yacc.c */
4094 #line 1035 "glsl_parser.ypp"
4095 { (yyval
.type_qualifier
).i
= 0; (yyval
.type_qualifier
).q
.centroid
= 1; (yyval
.type_qualifier
).q
.in
= 1; ;}
4100 /* Line 1455 of yacc.c */
4101 #line 1036 "glsl_parser.ypp"
4102 { (yyval
.type_qualifier
).i
= 0; (yyval
.type_qualifier
).q
.centroid
= 1; (yyval
.type_qualifier
).q
.out
= 1; ;}
4107 /* Line 1455 of yacc.c */
4108 #line 1037 "glsl_parser.ypp"
4109 { (yyval
.type_qualifier
).i
= 0; (yyval
.type_qualifier
).q
.uniform
= 1; ;}
4114 /* Line 1455 of yacc.c */
4115 #line 1043 "glsl_parser.ypp"
4117 (yyval
.type_specifier
) = (yyvsp
[(2) - (2)].type_specifier
);
4118 (yyval
.type_specifier
)->precision
= (yyvsp
[(1) - (2)].n
);
4124 /* Line 1455 of yacc.c */
4125 #line 1052 "glsl_parser.ypp"
4127 (yyval
.type_specifier
) = (yyvsp
[(1) - (3)].type_specifier
);
4128 (yyval
.type_specifier
)->is_array
= true;
4129 (yyval
.type_specifier
)->array_size
= NULL
;
4135 /* Line 1455 of yacc.c */
4136 #line 1058 "glsl_parser.ypp"
4138 (yyval
.type_specifier
) = (yyvsp
[(1) - (4)].type_specifier
);
4139 (yyval
.type_specifier
)->is_array
= true;
4140 (yyval
.type_specifier
)->array_size
= (yyvsp
[(3) - (4)].expression
);
4146 /* Line 1455 of yacc.c */
4147 #line 1067 "glsl_parser.ypp"
4150 (yyval
.type_specifier
) = new(ctx
) ast_type_specifier((yyvsp
[(1) - (1)].n
));
4151 (yyval
.type_specifier
)->set_location(yylloc
);
4157 /* Line 1455 of yacc.c */
4158 #line 1073 "glsl_parser.ypp"
4161 (yyval
.type_specifier
) = new(ctx
) ast_type_specifier((yyvsp
[(1) - (1)].struct_specifier
));
4162 (yyval
.type_specifier
)->set_location(yylloc
);
4168 /* Line 1455 of yacc.c */
4169 #line 1079 "glsl_parser.ypp"
4172 (yyval
.type_specifier
) = new(ctx
) ast_type_specifier((yyvsp
[(1) - (1)].identifier
));
4173 (yyval
.type_specifier
)->set_location(yylloc
);
4179 /* Line 1455 of yacc.c */
4180 #line 1087 "glsl_parser.ypp"
4181 { (yyval
.n
) = ast_void
; ;}
4186 /* Line 1455 of yacc.c */
4187 #line 1088 "glsl_parser.ypp"
4188 { (yyval
.n
) = ast_float
; ;}
4193 /* Line 1455 of yacc.c */
4194 #line 1089 "glsl_parser.ypp"
4195 { (yyval
.n
) = ast_int
; ;}
4200 /* Line 1455 of yacc.c */
4201 #line 1090 "glsl_parser.ypp"
4202 { (yyval
.n
) = ast_uint
; ;}
4207 /* Line 1455 of yacc.c */
4208 #line 1091 "glsl_parser.ypp"
4209 { (yyval
.n
) = ast_bool
; ;}
4214 /* Line 1455 of yacc.c */
4215 #line 1092 "glsl_parser.ypp"
4216 { (yyval
.n
) = ast_vec2
; ;}
4221 /* Line 1455 of yacc.c */
4222 #line 1093 "glsl_parser.ypp"
4223 { (yyval
.n
) = ast_vec3
; ;}
4228 /* Line 1455 of yacc.c */
4229 #line 1094 "glsl_parser.ypp"
4230 { (yyval
.n
) = ast_vec4
; ;}
4235 /* Line 1455 of yacc.c */
4236 #line 1095 "glsl_parser.ypp"
4237 { (yyval
.n
) = ast_bvec2
; ;}
4242 /* Line 1455 of yacc.c */
4243 #line 1096 "glsl_parser.ypp"
4244 { (yyval
.n
) = ast_bvec3
; ;}
4249 /* Line 1455 of yacc.c */
4250 #line 1097 "glsl_parser.ypp"
4251 { (yyval
.n
) = ast_bvec4
; ;}
4256 /* Line 1455 of yacc.c */
4257 #line 1098 "glsl_parser.ypp"
4258 { (yyval
.n
) = ast_ivec2
; ;}
4263 /* Line 1455 of yacc.c */
4264 #line 1099 "glsl_parser.ypp"
4265 { (yyval
.n
) = ast_ivec3
; ;}
4270 /* Line 1455 of yacc.c */
4271 #line 1100 "glsl_parser.ypp"
4272 { (yyval
.n
) = ast_ivec4
; ;}
4277 /* Line 1455 of yacc.c */
4278 #line 1101 "glsl_parser.ypp"
4279 { (yyval
.n
) = ast_uvec2
; ;}
4284 /* Line 1455 of yacc.c */
4285 #line 1102 "glsl_parser.ypp"
4286 { (yyval
.n
) = ast_uvec3
; ;}
4291 /* Line 1455 of yacc.c */
4292 #line 1103 "glsl_parser.ypp"
4293 { (yyval
.n
) = ast_uvec4
; ;}
4298 /* Line 1455 of yacc.c */
4299 #line 1104 "glsl_parser.ypp"
4300 { (yyval
.n
) = ast_mat2
; ;}
4305 /* Line 1455 of yacc.c */
4306 #line 1105 "glsl_parser.ypp"
4307 { (yyval
.n
) = ast_mat2x3
; ;}
4312 /* Line 1455 of yacc.c */
4313 #line 1106 "glsl_parser.ypp"
4314 { (yyval
.n
) = ast_mat2x4
; ;}
4319 /* Line 1455 of yacc.c */
4320 #line 1107 "glsl_parser.ypp"
4321 { (yyval
.n
) = ast_mat3x2
; ;}
4326 /* Line 1455 of yacc.c */
4327 #line 1108 "glsl_parser.ypp"
4328 { (yyval
.n
) = ast_mat3
; ;}
4333 /* Line 1455 of yacc.c */
4334 #line 1109 "glsl_parser.ypp"
4335 { (yyval
.n
) = ast_mat3x4
; ;}
4340 /* Line 1455 of yacc.c */
4341 #line 1110 "glsl_parser.ypp"
4342 { (yyval
.n
) = ast_mat4x2
; ;}
4347 /* Line 1455 of yacc.c */
4348 #line 1111 "glsl_parser.ypp"
4349 { (yyval
.n
) = ast_mat4x3
; ;}
4354 /* Line 1455 of yacc.c */
4355 #line 1112 "glsl_parser.ypp"
4356 { (yyval
.n
) = ast_mat4
; ;}
4361 /* Line 1455 of yacc.c */
4362 #line 1113 "glsl_parser.ypp"
4363 { (yyval
.n
) = ast_sampler1d
; ;}
4368 /* Line 1455 of yacc.c */
4369 #line 1114 "glsl_parser.ypp"
4370 { (yyval
.n
) = ast_sampler2d
; ;}
4375 /* Line 1455 of yacc.c */
4376 #line 1115 "glsl_parser.ypp"
4377 { (yyval
.n
) = ast_sampler2drect
; ;}
4382 /* Line 1455 of yacc.c */
4383 #line 1116 "glsl_parser.ypp"
4384 { (yyval
.n
) = ast_sampler3d
; ;}
4389 /* Line 1455 of yacc.c */
4390 #line 1117 "glsl_parser.ypp"
4391 { (yyval
.n
) = ast_samplercube
; ;}
4396 /* Line 1455 of yacc.c */
4397 #line 1118 "glsl_parser.ypp"
4398 { (yyval
.n
) = ast_sampler1dshadow
; ;}
4403 /* Line 1455 of yacc.c */
4404 #line 1119 "glsl_parser.ypp"
4405 { (yyval
.n
) = ast_sampler2dshadow
; ;}
4410 /* Line 1455 of yacc.c */
4411 #line 1120 "glsl_parser.ypp"
4412 { (yyval
.n
) = ast_sampler2drectshadow
; ;}
4417 /* Line 1455 of yacc.c */
4418 #line 1121 "glsl_parser.ypp"
4419 { (yyval
.n
) = ast_samplercubeshadow
; ;}
4424 /* Line 1455 of yacc.c */
4425 #line 1122 "glsl_parser.ypp"
4426 { (yyval
.n
) = ast_sampler1darray
; ;}
4431 /* Line 1455 of yacc.c */
4432 #line 1123 "glsl_parser.ypp"
4433 { (yyval
.n
) = ast_sampler2darray
; ;}
4438 /* Line 1455 of yacc.c */
4439 #line 1124 "glsl_parser.ypp"
4440 { (yyval
.n
) = ast_sampler1darrayshadow
; ;}
4445 /* Line 1455 of yacc.c */
4446 #line 1125 "glsl_parser.ypp"
4447 { (yyval
.n
) = ast_sampler2darrayshadow
; ;}
4452 /* Line 1455 of yacc.c */
4453 #line 1126 "glsl_parser.ypp"
4454 { (yyval
.n
) = ast_isampler1d
; ;}
4459 /* Line 1455 of yacc.c */
4460 #line 1127 "glsl_parser.ypp"
4461 { (yyval
.n
) = ast_isampler2d
; ;}
4466 /* Line 1455 of yacc.c */
4467 #line 1128 "glsl_parser.ypp"
4468 { (yyval
.n
) = ast_isampler3d
; ;}
4473 /* Line 1455 of yacc.c */
4474 #line 1129 "glsl_parser.ypp"
4475 { (yyval
.n
) = ast_isamplercube
; ;}
4480 /* Line 1455 of yacc.c */
4481 #line 1130 "glsl_parser.ypp"
4482 { (yyval
.n
) = ast_isampler1darray
; ;}
4487 /* Line 1455 of yacc.c */
4488 #line 1131 "glsl_parser.ypp"
4489 { (yyval
.n
) = ast_isampler2darray
; ;}
4494 /* Line 1455 of yacc.c */
4495 #line 1132 "glsl_parser.ypp"
4496 { (yyval
.n
) = ast_usampler1d
; ;}
4501 /* Line 1455 of yacc.c */
4502 #line 1133 "glsl_parser.ypp"
4503 { (yyval
.n
) = ast_usampler2d
; ;}
4508 /* Line 1455 of yacc.c */
4509 #line 1134 "glsl_parser.ypp"
4510 { (yyval
.n
) = ast_usampler3d
; ;}
4515 /* Line 1455 of yacc.c */
4516 #line 1135 "glsl_parser.ypp"
4517 { (yyval
.n
) = ast_usamplercube
; ;}
4522 /* Line 1455 of yacc.c */
4523 #line 1136 "glsl_parser.ypp"
4524 { (yyval
.n
) = ast_usampler1darray
; ;}
4529 /* Line 1455 of yacc.c */
4530 #line 1137 "glsl_parser.ypp"
4531 { (yyval
.n
) = ast_usampler2darray
; ;}
4536 /* Line 1455 of yacc.c */
4537 #line 1141 "glsl_parser.ypp"
4539 if (state
->language_version
< 130)
4540 _mesa_glsl_error(& (yylsp
[(1) - (1)]), state
,
4541 "precision qualifier forbidden "
4542 "in GLSL %d.%d (1.30 or later "
4544 state
->language_version
/ 100,
4545 state
->language_version
% 100);
4547 (yyval
.n
) = ast_precision_high
;
4553 /* Line 1455 of yacc.c */
4554 #line 1152 "glsl_parser.ypp"
4556 if (state
->language_version
< 130)
4557 _mesa_glsl_error(& (yylsp
[(1) - (1)]), state
,
4558 "precision qualifier forbidden "
4559 "in GLSL %d.%d (1.30 or later "
4561 state
->language_version
/ 100,
4562 state
->language_version
% 100);
4564 (yyval
.n
) = ast_precision_medium
;
4570 /* Line 1455 of yacc.c */
4571 #line 1163 "glsl_parser.ypp"
4573 if (state
->language_version
< 130)
4574 _mesa_glsl_error(& (yylsp
[(1) - (1)]), state
,
4575 "precision qualifier forbidden "
4576 "in GLSL %d.%d (1.30 or later "
4578 state
->language_version
/ 100,
4579 state
->language_version
% 100);
4581 (yyval
.n
) = ast_precision_low
;
4587 /* Line 1455 of yacc.c */
4588 #line 1178 "glsl_parser.ypp"
4591 (yyval
.struct_specifier
) = new(ctx
) ast_struct_specifier((yyvsp
[(2) - (5)].identifier
), (yyvsp
[(4) - (5)].node
));
4592 (yyval
.struct_specifier
)->set_location(yylloc
);
4598 /* Line 1455 of yacc.c */
4599 #line 1184 "glsl_parser.ypp"
4602 (yyval
.struct_specifier
) = new(ctx
) ast_struct_specifier(NULL
, (yyvsp
[(3) - (4)].node
));
4603 (yyval
.struct_specifier
)->set_location(yylloc
);
4609 /* Line 1455 of yacc.c */
4610 #line 1193 "glsl_parser.ypp"
4612 (yyval
.node
) = (struct ast_node
*) (yyvsp
[(1) - (1)].declarator_list
);
4613 (yyvsp
[(1) - (1)].declarator_list
)->link
.self_link();
4619 /* Line 1455 of yacc.c */
4620 #line 1198 "glsl_parser.ypp"
4622 (yyval
.node
) = (struct ast_node
*) (yyvsp
[(1) - (2)].node
);
4623 (yyval
.node
)->link
.insert_before(& (yyvsp
[(2) - (2)].declarator_list
)->link
);
4629 /* Line 1455 of yacc.c */
4630 #line 1206 "glsl_parser.ypp"
4633 ast_fully_specified_type
*type
= new(ctx
) ast_fully_specified_type();
4634 type
->set_location(yylloc
);
4636 type
->specifier
= (yyvsp
[(1) - (3)].type_specifier
);
4637 (yyval
.declarator_list
) = new(ctx
) ast_declarator_list(type
);
4638 (yyval
.declarator_list
)->set_location(yylloc
);
4640 (yyval
.declarator_list
)->declarations
.push_degenerate_list_at_head(& (yyvsp
[(2) - (3)].declaration
)->link
);
4646 /* Line 1455 of yacc.c */
4647 #line 1221 "glsl_parser.ypp"
4649 (yyval
.declaration
) = (yyvsp
[(1) - (1)].declaration
);
4650 (yyvsp
[(1) - (1)].declaration
)->link
.self_link();
4656 /* Line 1455 of yacc.c */
4657 #line 1226 "glsl_parser.ypp"
4659 (yyval
.declaration
) = (yyvsp
[(1) - (3)].declaration
);
4660 (yyval
.declaration
)->link
.insert_before(& (yyvsp
[(3) - (3)].declaration
)->link
);
4666 /* Line 1455 of yacc.c */
4667 #line 1234 "glsl_parser.ypp"
4670 (yyval
.declaration
) = new(ctx
) ast_declaration((yyvsp
[(1) - (1)].identifier
), false, NULL
, NULL
);
4671 (yyval
.declaration
)->set_location(yylloc
);
4677 /* Line 1455 of yacc.c */
4678 #line 1240 "glsl_parser.ypp"
4681 (yyval
.declaration
) = new(ctx
) ast_declaration((yyvsp
[(1) - (4)].identifier
), true, (yyvsp
[(3) - (4)].expression
), NULL
);
4682 (yyval
.declaration
)->set_location(yylloc
);
4688 /* Line 1455 of yacc.c */
4689 #line 1263 "glsl_parser.ypp"
4690 { (yyval
.node
) = (struct ast_node
*) (yyvsp
[(1) - (1)].compound_statement
); ;}
4695 /* Line 1455 of yacc.c */
4696 #line 1275 "glsl_parser.ypp"
4697 { (yyval
.node
) = NULL
; ;}
4702 /* Line 1455 of yacc.c */
4703 #line 1276 "glsl_parser.ypp"
4704 { (yyval
.node
) = NULL
; ;}
4709 /* Line 1455 of yacc.c */
4710 #line 1283 "glsl_parser.ypp"
4713 (yyval
.compound_statement
) = new(ctx
) ast_compound_statement(true, NULL
);
4714 (yyval
.compound_statement
)->set_location(yylloc
);
4720 /* Line 1455 of yacc.c */
4721 #line 1289 "glsl_parser.ypp"
4724 (yyval
.compound_statement
) = new(ctx
) ast_compound_statement(true, (yyvsp
[(2) - (3)].node
));
4725 (yyval
.compound_statement
)->set_location(yylloc
);
4731 /* Line 1455 of yacc.c */
4732 #line 1297 "glsl_parser.ypp"
4733 { (yyval
.node
) = (struct ast_node
*) (yyvsp
[(1) - (1)].compound_statement
); ;}
4738 /* Line 1455 of yacc.c */
4739 #line 1303 "glsl_parser.ypp"
4742 (yyval
.compound_statement
) = new(ctx
) ast_compound_statement(false, NULL
);
4743 (yyval
.compound_statement
)->set_location(yylloc
);
4749 /* Line 1455 of yacc.c */
4750 #line 1309 "glsl_parser.ypp"
4753 (yyval
.compound_statement
) = new(ctx
) ast_compound_statement(false, (yyvsp
[(2) - (3)].node
));
4754 (yyval
.compound_statement
)->set_location(yylloc
);
4760 /* Line 1455 of yacc.c */
4761 #line 1318 "glsl_parser.ypp"
4763 if ((yyvsp
[(1) - (1)].node
) == NULL
) {
4764 _mesa_glsl_error(& (yylsp
[(1) - (1)]), state
, "<nil> statement\n");
4765 assert((yyvsp
[(1) - (1)].node
) != NULL
);
4768 (yyval
.node
) = (yyvsp
[(1) - (1)].node
);
4769 (yyval
.node
)->link
.self_link();
4775 /* Line 1455 of yacc.c */
4776 #line 1328 "glsl_parser.ypp"
4778 if ((yyvsp
[(2) - (2)].node
) == NULL
) {
4779 _mesa_glsl_error(& (yylsp
[(2) - (2)]), state
, "<nil> statement\n");
4780 assert((yyvsp
[(2) - (2)].node
) != NULL
);
4782 (yyval
.node
) = (yyvsp
[(1) - (2)].node
);
4783 (yyval
.node
)->link
.insert_before(& (yyvsp
[(2) - (2)].node
)->link
);
4789 /* Line 1455 of yacc.c */
4790 #line 1340 "glsl_parser.ypp"
4793 (yyval
.node
) = new(ctx
) ast_expression_statement(NULL
);
4794 (yyval
.node
)->set_location(yylloc
);
4800 /* Line 1455 of yacc.c */
4801 #line 1346 "glsl_parser.ypp"
4804 (yyval
.node
) = new(ctx
) ast_expression_statement((yyvsp
[(1) - (2)].expression
));
4805 (yyval
.node
)->set_location(yylloc
);
4811 /* Line 1455 of yacc.c */
4812 #line 1355 "glsl_parser.ypp"
4815 (yyval
.node
) = new(ctx
) ast_selection_statement((yyvsp
[(3) - (7)].expression
), (yyvsp
[(5) - (7)].node
), (yyvsp
[(7) - (7)].node
));
4816 (yyval
.node
)->set_location(yylloc
);
4822 /* Line 1455 of yacc.c */
4823 #line 1364 "glsl_parser.ypp"
4826 (yyval
.node
) = new(ctx
) ast_selection_statement((yyvsp
[(3) - (5)].expression
), (yyvsp
[(5) - (5)].node
), NULL
);
4827 (yyval
.node
)->set_location(yylloc
);
4833 /* Line 1455 of yacc.c */
4834 #line 1370 "glsl_parser.ypp"
4837 (yyval
.node
) = new(ctx
) ast_selection_statement((yyvsp
[(3) - (5)].expression
), (yyvsp
[(5) - (5)].node
), NULL
);
4838 (yyval
.node
)->set_location(yylloc
);
4844 /* Line 1455 of yacc.c */
4845 #line 1376 "glsl_parser.ypp"
4848 (yyval
.node
) = new(ctx
) ast_selection_statement((yyvsp
[(3) - (7)].expression
), (yyvsp
[(5) - (7)].node
), (yyvsp
[(7) - (7)].node
));
4849 (yyval
.node
)->set_location(yylloc
);
4855 /* Line 1455 of yacc.c */
4856 #line 1385 "glsl_parser.ypp"
4858 (yyval
.node
) = (struct ast_node
*) (yyvsp
[(1) - (1)].expression
);
4864 /* Line 1455 of yacc.c */
4865 #line 1389 "glsl_parser.ypp"
4868 ast_declaration
*decl
= new(ctx
) ast_declaration((yyvsp
[(2) - (4)].identifier
), false, NULL
, (yyvsp
[(4) - (4)].expression
));
4869 ast_declarator_list
*declarator
= new(ctx
) ast_declarator_list((yyvsp
[(1) - (4)].fully_specified_type
));
4870 decl
->set_location(yylloc
);
4871 declarator
->set_location(yylloc
);
4873 declarator
->declarations
.push_tail(&decl
->link
);
4874 (yyval
.node
) = declarator
;
4880 /* Line 1455 of yacc.c */
4881 #line 1412 "glsl_parser.ypp"
4884 (yyval
.node
) = new(ctx
) ast_iteration_statement(ast_iteration_statement::ast_while
,
4885 NULL
, (yyvsp
[(3) - (5)].node
), NULL
, (yyvsp
[(5) - (5)].node
));
4886 (yyval
.node
)->set_location(yylloc
);
4892 /* Line 1455 of yacc.c */
4893 #line 1419 "glsl_parser.ypp"
4896 (yyval
.node
) = new(ctx
) ast_iteration_statement(ast_iteration_statement::ast_do_while
,
4897 NULL
, (yyvsp
[(5) - (7)].expression
), NULL
, (yyvsp
[(2) - (7)].node
));
4898 (yyval
.node
)->set_location(yylloc
);
4904 /* Line 1455 of yacc.c */
4905 #line 1426 "glsl_parser.ypp"
4908 (yyval
.node
) = new(ctx
) ast_iteration_statement(ast_iteration_statement::ast_for
,
4909 (yyvsp
[(3) - (6)].node
), (yyvsp
[(4) - (6)].for_rest_statement
).cond
, (yyvsp
[(4) - (6)].for_rest_statement
).rest
, (yyvsp
[(6) - (6)].node
));
4910 (yyval
.node
)->set_location(yylloc
);
4916 /* Line 1455 of yacc.c */
4917 #line 1442 "glsl_parser.ypp"
4919 (yyval
.node
) = NULL
;
4925 /* Line 1455 of yacc.c */
4926 #line 1449 "glsl_parser.ypp"
4928 (yyval
.for_rest_statement
).cond
= (yyvsp
[(1) - (2)].node
);
4929 (yyval
.for_rest_statement
).rest
= NULL
;
4935 /* Line 1455 of yacc.c */
4936 #line 1454 "glsl_parser.ypp"
4938 (yyval
.for_rest_statement
).cond
= (yyvsp
[(1) - (3)].node
);
4939 (yyval
.for_rest_statement
).rest
= (yyvsp
[(3) - (3)].expression
);
4945 /* Line 1455 of yacc.c */
4946 #line 1463 "glsl_parser.ypp"
4949 (yyval
.node
) = new(ctx
) ast_jump_statement(ast_jump_statement::ast_continue
, NULL
);
4950 (yyval
.node
)->set_location(yylloc
);
4956 /* Line 1455 of yacc.c */
4957 #line 1469 "glsl_parser.ypp"
4960 (yyval
.node
) = new(ctx
) ast_jump_statement(ast_jump_statement::ast_break
, NULL
);
4961 (yyval
.node
)->set_location(yylloc
);
4967 /* Line 1455 of yacc.c */
4968 #line 1475 "glsl_parser.ypp"
4971 (yyval
.node
) = new(ctx
) ast_jump_statement(ast_jump_statement::ast_return
, NULL
);
4972 (yyval
.node
)->set_location(yylloc
);
4978 /* Line 1455 of yacc.c */
4979 #line 1481 "glsl_parser.ypp"
4982 (yyval
.node
) = new(ctx
) ast_jump_statement(ast_jump_statement::ast_return
, (yyvsp
[(2) - (3)].expression
));
4983 (yyval
.node
)->set_location(yylloc
);
4989 /* Line 1455 of yacc.c */
4990 #line 1487 "glsl_parser.ypp"
4993 (yyval
.node
) = new(ctx
) ast_jump_statement(ast_jump_statement::ast_discard
, NULL
);
4994 (yyval
.node
)->set_location(yylloc
);
5000 /* Line 1455 of yacc.c */
5001 #line 1495 "glsl_parser.ypp"
5002 { (yyval
.node
) = (yyvsp
[(1) - (1)].function_definition
); ;}
5007 /* Line 1455 of yacc.c */
5008 #line 1496 "glsl_parser.ypp"
5009 { (yyval
.node
) = (yyvsp
[(1) - (1)].node
); ;}
5014 /* Line 1455 of yacc.c */
5015 #line 1501 "glsl_parser.ypp"
5018 (yyval
.function_definition
) = new(ctx
) ast_function_definition();
5019 (yyval
.function_definition
)->set_location(yylloc
);
5020 (yyval
.function_definition
)->prototype
= (yyvsp
[(1) - (2)].function
);
5021 (yyval
.function_definition
)->body
= (yyvsp
[(2) - (2)].compound_statement
);
5027 /* Line 1455 of yacc.c */
5028 #line 5029 "glsl_parser.cpp"
5031 YY_SYMBOL_PRINT ("-> $$ =", yyr1
[yyn
], &yyval
, &yyloc
);
5035 YY_STACK_PRINT (yyss
, yyssp
);
5040 /* Now `shift' the result of the reduction. Determine what state
5041 that goes to, based on the state we popped back to and the rule
5042 number reduced by. */
5046 yystate
= yypgoto
[yyn
- YYNTOKENS
] + *yyssp
;
5047 if (0 <= yystate
&& yystate
<= YYLAST
&& yycheck
[yystate
] == *yyssp
)
5048 yystate
= yytable
[yystate
];
5050 yystate
= yydefgoto
[yyn
- YYNTOKENS
];
5055 /*------------------------------------.
5056 | yyerrlab -- here on detecting error |
5057 `------------------------------------*/
5059 /* If not already recovering from an error, report this error. */
5063 #if ! YYERROR_VERBOSE
5064 yyerror (&yylloc
, state
, YY_("syntax error"));
5067 YYSIZE_T yysize
= yysyntax_error (0, yystate
, yychar
);
5068 if (yymsg_alloc
< yysize
&& yymsg_alloc
< YYSTACK_ALLOC_MAXIMUM
)
5070 YYSIZE_T yyalloc
= 2 * yysize
;
5071 if (! (yysize
<= yyalloc
&& yyalloc
<= YYSTACK_ALLOC_MAXIMUM
))
5072 yyalloc
= YYSTACK_ALLOC_MAXIMUM
;
5073 if (yymsg
!= yymsgbuf
)
5074 YYSTACK_FREE (yymsg
);
5075 yymsg
= (char *) YYSTACK_ALLOC (yyalloc
);
5077 yymsg_alloc
= yyalloc
;
5081 yymsg_alloc
= sizeof yymsgbuf
;
5085 if (0 < yysize
&& yysize
<= yymsg_alloc
)
5087 (void) yysyntax_error (yymsg
, yystate
, yychar
);
5088 yyerror (&yylloc
, state
, yymsg
);
5092 yyerror (&yylloc
, state
, YY_("syntax error"));
5094 goto yyexhaustedlab
;
5100 yyerror_range
[0] = yylloc
;
5102 if (yyerrstatus
== 3)
5104 /* If just tried and failed to reuse lookahead token after an
5105 error, discard it. */
5107 if (yychar
<= YYEOF
)
5109 /* Return failure if at end of input. */
5110 if (yychar
== YYEOF
)
5115 yydestruct ("Error: discarding",
5116 yytoken
, &yylval
, &yylloc
, state
);
5121 /* Else will try to reuse lookahead token after shifting the error
5126 /*---------------------------------------------------.
5127 | yyerrorlab -- error raised explicitly by YYERROR. |
5128 `---------------------------------------------------*/
5131 /* Pacify compilers like GCC when the user code never invokes
5132 YYERROR and the label yyerrorlab therefore never appears in user
5134 if (/*CONSTCOND*/ 0)
5137 yyerror_range
[0] = yylsp
[1-yylen
];
5138 /* Do not reclaim the symbols of the rule which action triggered
5142 YY_STACK_PRINT (yyss
, yyssp
);
5147 /*-------------------------------------------------------------.
5148 | yyerrlab1 -- common code for both syntax error and YYERROR. |
5149 `-------------------------------------------------------------*/
5151 yyerrstatus
= 3; /* Each real token shifted decrements this. */
5155 yyn
= yypact
[yystate
];
5156 if (yyn
!= YYPACT_NINF
)
5159 if (0 <= yyn
&& yyn
<= YYLAST
&& yycheck
[yyn
] == YYTERROR
)
5167 /* Pop the current state because it cannot handle the error token. */
5171 yyerror_range
[0] = *yylsp
;
5172 yydestruct ("Error: popping",
5173 yystos
[yystate
], yyvsp
, yylsp
, state
);
5176 YY_STACK_PRINT (yyss
, yyssp
);
5181 yyerror_range
[1] = yylloc
;
5182 /* Using YYLLOC is tempting, but would change the location of
5183 the lookahead. YYLOC is available though. */
5184 YYLLOC_DEFAULT (yyloc
, (yyerror_range
- 1), 2);
5187 /* Shift the error token. */
5188 YY_SYMBOL_PRINT ("Shifting", yystos
[yyn
], yyvsp
, yylsp
);
5194 /*-------------------------------------.
5195 | yyacceptlab -- YYACCEPT comes here. |
5196 `-------------------------------------*/
5201 /*-----------------------------------.
5202 | yyabortlab -- YYABORT comes here. |
5203 `-----------------------------------*/
5208 #if !defined(yyoverflow) || YYERROR_VERBOSE
5209 /*-------------------------------------------------.
5210 | yyexhaustedlab -- memory exhaustion comes here. |
5211 `-------------------------------------------------*/
5213 yyerror (&yylloc
, state
, YY_("memory exhausted"));
5219 if (yychar
!= YYEMPTY
)
5220 yydestruct ("Cleanup: discarding lookahead",
5221 yytoken
, &yylval
, &yylloc
, state
);
5222 /* Do not reclaim the symbols of the rule which action triggered
5223 this YYABORT or YYACCEPT. */
5225 YY_STACK_PRINT (yyss
, yyssp
);
5226 while (yyssp
!= yyss
)
5228 yydestruct ("Cleanup: popping",
5229 yystos
[*yyssp
], yyvsp
, yylsp
, state
);
5234 YYSTACK_FREE (yyss
);
5237 if (yymsg
!= yymsgbuf
)
5238 YYSTACK_FREE (yymsg
);
5240 /* Make sure YYID is used. */
5241 return YYID (yyresult
);