| /* A Bison parser, made by GNU Bison 2.7. */ |
| |
| /* Bison implementation for Yacc-like parsers in C |
| |
| Copyright (C) 1984, 1989-1990, 2000-2012 Free Software Foundation, Inc. |
| |
| This program is free software: you can redistribute it and/or modify |
| it under the terms of the GNU General Public License as published by |
| the Free Software Foundation, either version 3 of the License, or |
| (at your option) any later version. |
| |
| This program is distributed in the hope that it will be useful, |
| but WITHOUT ANY WARRANTY; without even the implied warranty of |
| MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
| GNU General Public License for more details. |
| |
| You should have received a copy of the GNU General Public License |
| along with this program. If not, see <http://www.gnu.org/licenses/>. */ |
| |
| /* As a special exception, you may create a larger work that contains |
| part or all of the Bison parser skeleton and distribute that work |
| under terms of your choice, so long as that work isn't itself a |
| parser generator using the skeleton or a modified version thereof |
| as a parser skeleton. Alternatively, if you modify or redistribute |
| the parser skeleton itself, you may (at your option) remove this |
| special exception, which will cause the skeleton and the resulting |
| Bison output files to be licensed under the GNU General Public |
| License without this special exception. |
| |
| This special exception was added by the Free Software Foundation in |
| version 2.2 of Bison. */ |
| |
| /* C LALR(1) parser skeleton written by Richard Stallman, by |
| simplifying the original so-called "semantic" parser. */ |
| |
| /* All symbols defined below should begin with yy or YY, to avoid |
| infringing on user name space. This should be done even for local |
| variables, as they might otherwise be expanded by user macros. |
| There are some unavoidable exceptions within include files to |
| define necessary library symbols; they are noted "INFRINGES ON |
| USER NAME SPACE" below. */ |
| |
| /* Identify Bison output. */ |
| #define YYBISON 1 |
| |
| /* Bison version. */ |
| #define YYBISON_VERSION "2.7" |
| |
| /* Skeleton name. */ |
| #define YYSKELETON_NAME "yacc.c" |
| |
| /* Pure parsers. */ |
| #define YYPURE 1 |
| |
| /* Push parsers. */ |
| #define YYPUSH 0 |
| |
| /* Pull parsers. */ |
| #define YYPULL 1 |
| |
| |
| |
| |
| /* Copy the first part of user declarations. */ |
| |
| |
| // |
| // Copyright (c) 2002-2010 The ANGLE Project Authors. All rights reserved. |
| // Use of this source code is governed by a BSD-style license that can be |
| // found in the LICENSE file. |
| // |
| |
| // This file is auto-generated by generate_parser.sh. DO NOT EDIT! |
| |
| // Ignore errors in auto-generated code. |
| #if defined(__GNUC__) |
| #pragma GCC diagnostic ignored "-Wunused-function" |
| #pragma GCC diagnostic ignored "-Wunused-variable" |
| #pragma GCC diagnostic ignored "-Wswitch-enum" |
| #elif defined(_MSC_VER) |
| #pragma warning(disable: 4065) |
| #pragma warning(disable: 4189) |
| #pragma warning(disable: 4505) |
| #pragma warning(disable: 4701) |
| #endif |
| |
| #include "compiler/SymbolTable.h" |
| #include "compiler/ParseHelper.h" |
| #include "GLSLANG/ShaderLang.h" |
| |
| #define YYENABLE_NLS 0 |
| |
| #define YYLEX_PARAM context->scanner |
| |
| |
| |
| # ifndef YY_NULL |
| # if defined __cplusplus && 201103L <= __cplusplus |
| # define YY_NULL nullptr |
| # else |
| # define YY_NULL 0 |
| # endif |
| # endif |
| |
| /* Enabling verbose error messages. */ |
| #ifdef YYERROR_VERBOSE |
| # undef YYERROR_VERBOSE |
| # define YYERROR_VERBOSE 1 |
| #else |
| # define YYERROR_VERBOSE 0 |
| #endif |
| |
| /* In a future release of Bison, this section will be replaced |
| by #include "glslang_tab.h". */ |
| #ifndef YY_YY_GLSLANG_TAB_H_INCLUDED |
| # define YY_YY_GLSLANG_TAB_H_INCLUDED |
| /* Enabling traces. */ |
| #ifndef YYDEBUG |
| # define YYDEBUG 0 |
| #endif |
| #if YYDEBUG |
| extern int yydebug; |
| #endif |
| /* "%code requires" blocks. */ |
| |
| |
| #define YYLTYPE TSourceLoc |
| #define YYLTYPE_IS_DECLARED 1 |
| |
| |
| |
| |
| /* Tokens. */ |
| #ifndef YYTOKENTYPE |
| # define YYTOKENTYPE |
| /* Put the tokens into the symbol table, so that GDB and other debuggers |
| know about them. */ |
| enum yytokentype { |
| INVARIANT = 258, |
| HIGH_PRECISION = 259, |
| MEDIUM_PRECISION = 260, |
| LOW_PRECISION = 261, |
| PRECISION = 262, |
| ATTRIBUTE = 263, |
| CONST_QUAL = 264, |
| BOOL_TYPE = 265, |
| FLOAT_TYPE = 266, |
| INT_TYPE = 267, |
| BREAK = 268, |
| CONTINUE = 269, |
| DO = 270, |
| ELSE = 271, |
| FOR = 272, |
| IF = 273, |
| DISCARD = 274, |
| RETURN = 275, |
| BVEC2 = 276, |
| BVEC3 = 277, |
| BVEC4 = 278, |
| IVEC2 = 279, |
| IVEC3 = 280, |
| IVEC4 = 281, |
| VEC2 = 282, |
| VEC3 = 283, |
| VEC4 = 284, |
| MATRIX2 = 285, |
| MATRIX3 = 286, |
| MATRIX4 = 287, |
| IN_QUAL = 288, |
| OUT_QUAL = 289, |
| INOUT_QUAL = 290, |
| UNIFORM = 291, |
| VARYING = 292, |
| STRUCT = 293, |
| VOID_TYPE = 294, |
| WHILE = 295, |
| SAMPLER2D = 296, |
| SAMPLERCUBE = 297, |
| SAMPLER_EXTERNAL_OES = 298, |
| SAMPLER2DRECT = 299, |
| IDENTIFIER = 300, |
| TYPE_NAME = 301, |
| FLOATCONSTANT = 302, |
| INTCONSTANT = 303, |
| BOOLCONSTANT = 304, |
| LEFT_OP = 305, |
| RIGHT_OP = 306, |
| INC_OP = 307, |
| DEC_OP = 308, |
| LE_OP = 309, |
| GE_OP = 310, |
| EQ_OP = 311, |
| NE_OP = 312, |
| AND_OP = 313, |
| OR_OP = 314, |
| XOR_OP = 315, |
| MUL_ASSIGN = 316, |
| DIV_ASSIGN = 317, |
| ADD_ASSIGN = 318, |
| MOD_ASSIGN = 319, |
| LEFT_ASSIGN = 320, |
| RIGHT_ASSIGN = 321, |
| AND_ASSIGN = 322, |
| XOR_ASSIGN = 323, |
| OR_ASSIGN = 324, |
| SUB_ASSIGN = 325, |
| LEFT_PAREN = 326, |
| RIGHT_PAREN = 327, |
| LEFT_BRACKET = 328, |
| RIGHT_BRACKET = 329, |
| LEFT_BRACE = 330, |
| RIGHT_BRACE = 331, |
| DOT = 332, |
| COMMA = 333, |
| COLON = 334, |
| EQUAL = 335, |
| SEMICOLON = 336, |
| BANG = 337, |
| DASH = 338, |
| TILDE = 339, |
| PLUS = 340, |
| STAR = 341, |
| SLASH = 342, |
| PERCENT = 343, |
| LEFT_ANGLE = 344, |
| RIGHT_ANGLE = 345, |
| VERTICAL_BAR = 346, |
| CARET = 347, |
| AMPERSAND = 348, |
| QUESTION = 349 |
| }; |
| #endif |
| |
| |
| #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED |
| typedef union YYSTYPE |
| { |
| |
| |
| struct { |
| union { |
| TString *string; |
| float f; |
| int i; |
| bool b; |
| }; |
| TSymbol* symbol; |
| } lex; |
| struct { |
| TOperator op; |
| union { |
| TIntermNode* intermNode; |
| TIntermNodePair nodePair; |
| TIntermTyped* intermTypedNode; |
| TIntermAggregate* intermAggregate; |
| }; |
| union { |
| TPublicType type; |
| TPrecision precision; |
| TQualifier qualifier; |
| TFunction* function; |
| TParameter param; |
| TField* field; |
| TFieldList* fieldList; |
| }; |
| } interm; |
| |
| |
| |
| } YYSTYPE; |
| # define YYSTYPE_IS_TRIVIAL 1 |
| # define yystype YYSTYPE /* obsolescent; will be withdrawn */ |
| # define YYSTYPE_IS_DECLARED 1 |
| #endif |
| |
| #if ! defined YYLTYPE && ! defined YYLTYPE_IS_DECLARED |
| typedef struct YYLTYPE |
| { |
| int first_line; |
| int first_column; |
| int last_line; |
| int last_column; |
| } YYLTYPE; |
| # define yyltype YYLTYPE /* obsolescent; will be withdrawn */ |
| # define YYLTYPE_IS_DECLARED 1 |
| # define YYLTYPE_IS_TRIVIAL 1 |
| #endif |
| |
| |
| #ifdef YYPARSE_PARAM |
| #if defined __STDC__ || defined __cplusplus |
| int yyparse (void *YYPARSE_PARAM); |
| #else |
| int yyparse (); |
| #endif |
| #else /* ! YYPARSE_PARAM */ |
| #if defined __STDC__ || defined __cplusplus |
| int yyparse (TParseContext* context); |
| #else |
| int yyparse (); |
| #endif |
| #endif /* ! YYPARSE_PARAM */ |
| |
| #endif /* !YY_YY_GLSLANG_TAB_H_INCLUDED */ |
| |
| /* Copy the second part of user declarations. */ |
| |
| |
| extern int yylex(YYSTYPE* yylval, YYLTYPE* yylloc, void* yyscanner); |
| static void yyerror(YYLTYPE* yylloc, TParseContext* context, const char* reason); |
| |
| #define YYLLOC_DEFAULT(Current, Rhs, N) \ |
| do { \ |
| if (YYID(N)) { \ |
| (Current).first_file = YYRHSLOC(Rhs, 1).first_file; \ |
| (Current).first_line = YYRHSLOC(Rhs, 1).first_line; \ |
| (Current).last_file = YYRHSLOC(Rhs, N).last_file; \ |
| (Current).last_line = YYRHSLOC(Rhs, N).last_line; \ |
| } \ |
| else { \ |
| (Current).first_file = YYRHSLOC(Rhs, 0).last_file; \ |
| (Current).first_line = YYRHSLOC(Rhs, 0).last_line; \ |
| (Current).last_file = YYRHSLOC(Rhs, 0).last_file; \ |
| (Current).last_line = YYRHSLOC(Rhs, 0).last_line; \ |
| } \ |
| } while (0) |
| |
| #define VERTEX_ONLY(S, L) { \ |
| if (context->shaderType != SH_VERTEX_SHADER) { \ |
| context->error(L, " supported in vertex shaders only ", S); \ |
| context->recover(); \ |
| } \ |
| } |
| |
| #define FRAG_ONLY(S, L) { \ |
| if (context->shaderType != SH_FRAGMENT_SHADER) { \ |
| context->error(L, " supported in fragment shaders only ", S); \ |
| context->recover(); \ |
| } \ |
| } |
| |
| |
| |
| #ifdef short |
| # undef short |
| #endif |
| |
| #ifdef YYTYPE_UINT8 |
| typedef YYTYPE_UINT8 yytype_uint8; |
| #else |
| typedef unsigned char yytype_uint8; |
| #endif |
| |
| #ifdef YYTYPE_INT8 |
| typedef YYTYPE_INT8 yytype_int8; |
| #elif (defined __STDC__ || defined __C99__FUNC__ \ |
| || defined __cplusplus || defined _MSC_VER) |
| typedef signed char yytype_int8; |
| #else |
| typedef short int yytype_int8; |
| #endif |
| |
| #ifdef YYTYPE_UINT16 |
| typedef YYTYPE_UINT16 yytype_uint16; |
| #else |
| typedef unsigned short int yytype_uint16; |
| #endif |
| |
| #ifdef YYTYPE_INT16 |
| typedef YYTYPE_INT16 yytype_int16; |
| #else |
| typedef short int yytype_int16; |
| #endif |
| |
| #ifndef YYSIZE_T |
| # ifdef __SIZE_TYPE__ |
| # define YYSIZE_T __SIZE_TYPE__ |
| # elif defined size_t |
| # define YYSIZE_T size_t |
| # elif ! defined YYSIZE_T && (defined __STDC__ || defined __C99__FUNC__ \ |
| || defined __cplusplus || defined _MSC_VER) |
| # include <stddef.h> /* INFRINGES ON USER NAME SPACE */ |
| # define YYSIZE_T size_t |
| # else |
| # define YYSIZE_T unsigned int |
| # endif |
| #endif |
| |
| #define YYSIZE_MAXIMUM ((YYSIZE_T) -1) |
| |
| #ifndef YY_ |
| # if defined YYENABLE_NLS && YYENABLE_NLS |
| # if ENABLE_NLS |
| # include <libintl.h> /* INFRINGES ON USER NAME SPACE */ |
| # define YY_(Msgid) dgettext ("bison-runtime", Msgid) |
| # endif |
| # endif |
| # ifndef YY_ |
| # define YY_(Msgid) Msgid |
| # endif |
| #endif |
| |
| /* Suppress unused-variable warnings by "using" E. */ |
| #if ! defined lint || defined __GNUC__ |
| # define YYUSE(E) ((void) (E)) |
| #else |
| # define YYUSE(E) /* empty */ |
| #endif |
| |
| /* Identity function, used to suppress warnings about constant conditions. */ |
| #ifndef lint |
| # define YYID(N) (N) |
| #else |
| #if (defined __STDC__ || defined __C99__FUNC__ \ |
| || defined __cplusplus || defined _MSC_VER) |
| static int |
| YYID (int yyi) |
| #else |
| static int |
| YYID (yyi) |
| int yyi; |
| #endif |
| { |
| return yyi; |
| } |
| #endif |
| |
| #if ! defined yyoverflow || YYERROR_VERBOSE |
| |
| /* The parser invokes alloca or malloc; define the necessary symbols. */ |
| |
| # ifdef YYSTACK_USE_ALLOCA |
| # if YYSTACK_USE_ALLOCA |
| # ifdef __GNUC__ |
| # define YYSTACK_ALLOC __builtin_alloca |
| # elif defined __BUILTIN_VA_ARG_INCR |
| # include <alloca.h> /* INFRINGES ON USER NAME SPACE */ |
| # elif defined _AIX |
| # define YYSTACK_ALLOC __alloca |
| # elif defined _MSC_VER |
| # include <malloc.h> /* INFRINGES ON USER NAME SPACE */ |
| # define alloca _alloca |
| # else |
| # define YYSTACK_ALLOC alloca |
| # if ! defined _ALLOCA_H && ! defined EXIT_SUCCESS && (defined __STDC__ || defined __C99__FUNC__ \ |
| || defined __cplusplus || defined _MSC_VER) |
| # include <stdlib.h> /* INFRINGES ON USER NAME SPACE */ |
| /* Use EXIT_SUCCESS as a witness for stdlib.h. */ |
| # ifndef EXIT_SUCCESS |
| # define EXIT_SUCCESS 0 |
| # endif |
| # endif |
| # endif |
| # endif |
| # endif |
| |
| # ifdef YYSTACK_ALLOC |
| /* Pacify GCC's `empty if-body' warning. */ |
| # define YYSTACK_FREE(Ptr) do { /* empty */; } while (YYID (0)) |
| # ifndef YYSTACK_ALLOC_MAXIMUM |
| /* The OS might guarantee only one guard page at the bottom of the stack, |
| and a page size can be as small as 4096 bytes. So we cannot safely |
| invoke alloca (N) if N exceeds 4096. Use a slightly smaller number |
| to allow for a few compiler-allocated temporary stack slots. */ |
| # define YYSTACK_ALLOC_MAXIMUM 4032 /* reasonable circa 2006 */ |
| # endif |
| # else |
| # define YYSTACK_ALLOC YYMALLOC |
| # define YYSTACK_FREE YYFREE |
| # ifndef YYSTACK_ALLOC_MAXIMUM |
| # define YYSTACK_ALLOC_MAXIMUM YYSIZE_MAXIMUM |
| # endif |
| # if (defined __cplusplus && ! defined EXIT_SUCCESS \ |
| && ! ((defined YYMALLOC || defined malloc) \ |
| && (defined YYFREE || defined free))) |
| # include <stdlib.h> /* INFRINGES ON USER NAME SPACE */ |
| # ifndef EXIT_SUCCESS |
| # define EXIT_SUCCESS 0 |
| # endif |
| # endif |
| # ifndef YYMALLOC |
| # define YYMALLOC malloc |
| # if ! defined malloc && ! defined EXIT_SUCCESS && (defined __STDC__ || defined __C99__FUNC__ \ |
| || defined __cplusplus || defined _MSC_VER) |
| void *malloc (YYSIZE_T); /* INFRINGES ON USER NAME SPACE */ |
| # endif |
| # endif |
| # ifndef YYFREE |
| # define YYFREE free |
| # if ! defined free && ! defined EXIT_SUCCESS && (defined __STDC__ || defined __C99__FUNC__ \ |
| || defined __cplusplus || defined _MSC_VER) |
| void free (void *); /* INFRINGES ON USER NAME SPACE */ |
| # endif |
| # endif |
| # endif |
| #endif /* ! defined yyoverflow || YYERROR_VERBOSE */ |
| |
| |
| #if (! defined yyoverflow \ |
| && (! defined __cplusplus \ |
| || (defined YYLTYPE_IS_TRIVIAL && YYLTYPE_IS_TRIVIAL \ |
| && defined YYSTYPE_IS_TRIVIAL && YYSTYPE_IS_TRIVIAL))) |
| |
| /* A type that is properly aligned for any stack member. */ |
| union yyalloc |
| { |
| yytype_int16 yyss_alloc; |
| YYSTYPE yyvs_alloc; |
| YYLTYPE yyls_alloc; |
| }; |
| |
| /* The size of the maximum gap between one aligned stack and the next. */ |
| # define YYSTACK_GAP_MAXIMUM (sizeof (union yyalloc) - 1) |
| |
| /* The size of an array large to enough to hold all stacks, each with |
| N elements. */ |
| # define YYSTACK_BYTES(N) \ |
| ((N) * (sizeof (yytype_int16) + sizeof (YYSTYPE) + sizeof (YYLTYPE)) \ |
| + 2 * YYSTACK_GAP_MAXIMUM) |
| |
| # define YYCOPY_NEEDED 1 |
| |
| /* Relocate STACK from its old location to the new one. The |
| local variables YYSIZE and YYSTACKSIZE give the old and new number of |
| elements in the stack, and YYPTR gives the new location of the |
| stack. Advance YYPTR to a properly aligned location for the next |
| stack. */ |
| # define YYSTACK_RELOCATE(Stack_alloc, Stack) \ |
| do \ |
| { \ |
| YYSIZE_T yynewbytes; \ |
| YYCOPY (&yyptr->Stack_alloc, Stack, yysize); \ |
| Stack = &yyptr->Stack_alloc; \ |
| yynewbytes = yystacksize * sizeof (*Stack) + YYSTACK_GAP_MAXIMUM; \ |
| yyptr += yynewbytes / sizeof (*yyptr); \ |
| } \ |
| while (YYID (0)) |
| |
| #endif |
| |
| #if defined YYCOPY_NEEDED && YYCOPY_NEEDED |
| /* Copy COUNT objects from SRC to DST. The source and destination do |
| not overlap. */ |
| # ifndef YYCOPY |
| # if defined __GNUC__ && 1 < __GNUC__ |
| # define YYCOPY(Dst, Src, Count) \ |
| __builtin_memcpy (Dst, Src, (Count) * sizeof (*(Src))) |
| # else |
| # define YYCOPY(Dst, Src, Count) \ |
| do \ |
| { \ |
| YYSIZE_T yyi; \ |
| for (yyi = 0; yyi < (Count); yyi++) \ |
| (Dst)[yyi] = (Src)[yyi]; \ |
| } \ |
| while (YYID (0)) |
| # endif |
| # endif |
| #endif /* !YYCOPY_NEEDED */ |
| |
| /* YYFINAL -- State number of the termination state. */ |
| #define YYFINAL 74 |
| /* YYLAST -- Last index in YYTABLE. */ |
| #define YYLAST 1490 |
| |
| /* YYNTOKENS -- Number of terminals. */ |
| #define YYNTOKENS 95 |
| /* YYNNTS -- Number of nonterminals. */ |
| #define YYNNTS 84 |
| /* YYNRULES -- Number of rules. */ |
| #define YYNRULES 202 |
| /* YYNRULES -- Number of states. */ |
| #define YYNSTATES 307 |
| |
| /* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX. */ |
| #define YYUNDEFTOK 2 |
| #define YYMAXUTOK 349 |
| |
| #define YYTRANSLATE(YYX) \ |
| ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK) |
| |
| /* YYTRANSLATE[YYLEX] -- Bison symbol number corresponding to YYLEX. */ |
| static const yytype_uint8 yytranslate[] = |
| { |
| 0, 2, 2, 2, 2, 2, 2, 2, 2, 2, |
| 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, |
| 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, |
| 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, |
| 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, |
| 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, |
| 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, |
| 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, |
| 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, |
| 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, |
| 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, |
| 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, |
| 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, |
| 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, |
| 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, |
| 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, |
| 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, |
| 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, |
| 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, |
| 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, |
| 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, |
| 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, |
| 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, |
| 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, |
| 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, |
| 2, 2, 2, 2, 2, 2, 1, 2, 3, 4, |
| 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, |
| 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, |
| 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, |
| 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, |
| 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, |
| 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, |
| 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, |
| 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, |
| 85, 86, 87, 88, 89, 90, 91, 92, 93, 94 |
| }; |
| |
| #if YYDEBUG |
| /* YYPRHS[YYN] -- Index of the first RHS symbol of rule number YYN in |
| YYRHS. */ |
| static const yytype_uint16 yyprhs[] = |
| { |
| 0, 0, 3, 5, 7, 9, 11, 13, 15, 17, |
| 21, 23, 28, 30, 34, 37, 40, 42, 44, 46, |
| 50, 53, 56, 59, 61, 64, 68, 71, 73, 75, |
| 77, 80, 83, 86, 88, 90, 92, 94, 98, 102, |
| 104, 108, 112, 114, 116, 120, 124, 128, 132, 134, |
| 138, 142, 144, 146, 148, 150, 154, 156, 160, 162, |
| 166, 168, 174, 176, 180, 182, 184, 186, 188, 190, |
| 192, 196, 198, 201, 204, 209, 212, 214, 216, 219, |
| 223, 227, 230, 236, 240, 243, 247, 250, 251, 253, |
| 255, 257, 259, 261, 265, 271, 278, 284, 286, 289, |
| 294, 300, 305, 308, 310, 313, 315, 317, 319, 322, |
| 324, 326, 329, 331, 333, 335, 337, 342, 344, 346, |
| 348, 350, 352, 354, 356, 358, 360, 362, 364, 366, |
| 368, 370, 372, 374, 376, 378, 380, 382, 384, 386, |
| 387, 394, 395, 401, 403, 406, 410, 412, 416, 418, |
| 423, 425, 427, 429, 431, 433, 435, 437, 439, 441, |
| 444, 445, 446, 452, 454, 456, 457, 460, 461, 464, |
| 467, 471, 473, 476, 478, 481, 487, 491, 493, 495, |
| 500, 501, 508, 509, 518, 519, 527, 529, 531, 533, |
| 534, 537, 541, 544, 547, 550, 554, 557, 559, 562, |
| 564, 566, 567 |
| }; |
| |
| /* YYRHS -- A `-1'-separated list of the rules' RHS. */ |
| static const yytype_int16 yyrhs[] = |
| { |
| 175, 0, -1, 45, -1, 46, -1, 45, -1, 97, |
| -1, 48, -1, 47, -1, 49, -1, 71, 124, 72, |
| -1, 98, -1, 99, 73, 100, 74, -1, 101, -1, |
| 99, 77, 96, -1, 99, 52, -1, 99, 53, -1, |
| 124, -1, 102, -1, 103, -1, 99, 77, 103, -1, |
| 105, 72, -1, 104, 72, -1, 106, 39, -1, 106, |
| -1, 106, 122, -1, 105, 78, 122, -1, 107, 71, |
| -1, 142, -1, 45, -1, 99, -1, 52, 108, -1, |
| 53, 108, -1, 109, 108, -1, 85, -1, 83, -1, |
| 82, -1, 108, -1, 110, 86, 108, -1, 110, 87, |
| 108, -1, 110, -1, 111, 85, 110, -1, 111, 83, |
| 110, -1, 111, -1, 112, -1, 113, 89, 112, -1, |
| 113, 90, 112, -1, 113, 54, 112, -1, 113, 55, |
| 112, -1, 113, -1, 114, 56, 113, -1, 114, 57, |
| 113, -1, 114, -1, 115, -1, 116, -1, 117, -1, |
| 118, 58, 117, -1, 118, -1, 119, 60, 118, -1, |
| 119, -1, 120, 59, 119, -1, 120, -1, 120, 94, |
| 124, 79, 122, -1, 121, -1, 108, 123, 122, -1, |
| 80, -1, 61, -1, 62, -1, 63, -1, 70, -1, |
| 122, -1, 124, 78, 122, -1, 121, -1, 127, 81, |
| -1, 135, 81, -1, 7, 140, 141, 81, -1, 128, |
| 72, -1, 130, -1, 129, -1, 130, 132, -1, 129, |
| 78, 132, -1, 137, 45, 71, -1, 139, 96, -1, |
| 139, 96, 73, 125, 74, -1, 138, 133, 131, -1, |
| 133, 131, -1, 138, 133, 134, -1, 133, 134, -1, |
| -1, 33, -1, 34, -1, 35, -1, 139, -1, 136, |
| -1, 135, 78, 96, -1, 135, 78, 96, 73, 74, |
| -1, 135, 78, 96, 73, 125, 74, -1, 135, 78, |
| 96, 80, 150, -1, 137, -1, 137, 96, -1, 137, |
| 96, 73, 74, -1, 137, 96, 73, 125, 74, -1, |
| 137, 96, 80, 150, -1, 3, 45, -1, 139, -1, |
| 138, 139, -1, 9, -1, 8, -1, 37, -1, 3, |
| 37, -1, 36, -1, 141, -1, 140, 141, -1, 4, |
| -1, 5, -1, 6, -1, 142, -1, 142, 73, 125, |
| 74, -1, 39, -1, 11, -1, 12, -1, 10, -1, |
| 27, -1, 28, -1, 29, -1, 21, -1, 22, -1, |
| 23, -1, 24, -1, 25, -1, 26, -1, 30, -1, |
| 31, -1, 32, -1, 41, -1, 42, -1, 43, -1, |
| 44, -1, 143, -1, 46, -1, -1, 38, 96, 75, |
| 144, 146, 76, -1, -1, 38, 75, 145, 146, 76, |
| -1, 147, -1, 146, 147, -1, 139, 148, 81, -1, |
| 149, -1, 148, 78, 149, -1, 96, -1, 96, 73, |
| 125, 74, -1, 122, -1, 126, -1, 154, -1, 153, |
| -1, 151, -1, 163, -1, 164, -1, 167, -1, 174, |
| -1, 75, 76, -1, -1, -1, 75, 155, 162, 156, |
| 76, -1, 161, -1, 153, -1, -1, 159, 161, -1, |
| -1, 160, 153, -1, 75, 76, -1, 75, 162, 76, |
| -1, 152, -1, 162, 152, -1, 81, -1, 124, 81, |
| -1, 18, 71, 124, 72, 165, -1, 158, 16, 158, |
| -1, 158, -1, 124, -1, 137, 96, 80, 150, -1, |
| -1, 40, 71, 168, 166, 72, 157, -1, -1, 15, |
| 169, 158, 40, 71, 124, 72, 81, -1, -1, 17, |
| 71, 170, 171, 173, 72, 157, -1, 163, -1, 151, |
| -1, 166, -1, -1, 172, 81, -1, 172, 81, 124, |
| -1, 14, 81, -1, 13, 81, -1, 20, 81, -1, |
| 20, 124, 81, -1, 19, 81, -1, 176, -1, 175, |
| 176, -1, 177, -1, 126, -1, -1, 127, 178, 161, |
| -1 |
| }; |
| |
| /* YYRLINE[YYN] -- source line where rule number YYN was defined. */ |
| static const yytype_uint16 yyrline[] = |
| { |
| 0, 179, 179, 180, 183, 226, 229, 242, 247, 252, |
| 258, 261, 264, 267, 362, 372, 385, 393, 493, 496, |
| 504, 507, 513, 517, 524, 530, 539, 547, 602, 612, |
| 615, 625, 635, 656, 657, 658, 663, 664, 672, 683, |
| 684, 692, 703, 707, 708, 718, 728, 738, 751, 752, |
| 762, 775, 779, 783, 787, 788, 801, 802, 815, 816, |
| 829, 830, 847, 848, 861, 862, 863, 864, 865, 869, |
| 872, 883, 891, 918, 923, 937, 992, 995, 1002, 1010, |
| 1031, 1052, 1062, 1090, 1095, 1105, 1110, 1120, 1123, 1126, |
| 1129, 1135, 1142, 1145, 1167, 1185, 1209, 1232, 1236, 1254, |
| 1262, 1294, 1314, 1335, 1344, 1367, 1370, 1376, 1384, 1392, |
| 1400, 1410, 1417, 1420, 1423, 1429, 1432, 1447, 1451, 1455, |
| 1459, 1463, 1468, 1473, 1478, 1483, 1488, 1493, 1498, 1503, |
| 1508, 1513, 1518, 1523, 1527, 1531, 1539, 1547, 1551, 1564, |
| 1564, 1578, 1578, 1587, 1590, 1606, 1639, 1643, 1649, 1656, |
| 1671, 1675, 1679, 1680, 1686, 1687, 1688, 1689, 1690, 1694, |
| 1695, 1695, 1695, 1705, 1706, 1710, 1710, 1711, 1711, 1716, |
| 1719, 1729, 1732, 1738, 1739, 1743, 1751, 1755, 1765, 1770, |
| 1787, 1787, 1792, 1792, 1799, 1799, 1807, 1810, 1816, 1819, |
| 1825, 1829, 1836, 1843, 1850, 1857, 1868, 1877, 1881, 1888, |
| 1891, 1897, 1897 |
| }; |
| #endif |
| |
| #if YYDEBUG || YYERROR_VERBOSE || 0 |
| /* YYTNAME[SYMBOL-NUM] -- String name of the symbol SYMBOL-NUM. |
| First, the terminals, then, starting at YYNTOKENS, nonterminals. */ |
| static const char *const yytname[] = |
| { |
| "$end", "error", "$undefined", "INVARIANT", "HIGH_PRECISION", |
| "MEDIUM_PRECISION", "LOW_PRECISION", "PRECISION", "ATTRIBUTE", |
| "CONST_QUAL", "BOOL_TYPE", "FLOAT_TYPE", "INT_TYPE", "BREAK", "CONTINUE", |
| "DO", "ELSE", "FOR", "IF", "DISCARD", "RETURN", "BVEC2", "BVEC3", |
| "BVEC4", "IVEC2", "IVEC3", "IVEC4", "VEC2", "VEC3", "VEC4", "MATRIX2", |
| "MATRIX3", "MATRIX4", "IN_QUAL", "OUT_QUAL", "INOUT_QUAL", "UNIFORM", |
| "VARYING", "STRUCT", "VOID_TYPE", "WHILE", "SAMPLER2D", "SAMPLERCUBE", |
| "SAMPLER_EXTERNAL_OES", "SAMPLER2DRECT", "IDENTIFIER", "TYPE_NAME", |
| "FLOATCONSTANT", "INTCONSTANT", "BOOLCONSTANT", "LEFT_OP", "RIGHT_OP", |
| "INC_OP", "DEC_OP", "LE_OP", "GE_OP", "EQ_OP", "NE_OP", "AND_OP", |
| "OR_OP", "XOR_OP", "MUL_ASSIGN", "DIV_ASSIGN", "ADD_ASSIGN", |
| "MOD_ASSIGN", "LEFT_ASSIGN", "RIGHT_ASSIGN", "AND_ASSIGN", "XOR_ASSIGN", |
| "OR_ASSIGN", "SUB_ASSIGN", "LEFT_PAREN", "RIGHT_PAREN", "LEFT_BRACKET", |
| "RIGHT_BRACKET", "LEFT_BRACE", "RIGHT_BRACE", "DOT", "COMMA", "COLON", |
| "EQUAL", "SEMICOLON", "BANG", "DASH", "TILDE", "PLUS", "STAR", "SLASH", |
| "PERCENT", "LEFT_ANGLE", "RIGHT_ANGLE", "VERTICAL_BAR", "CARET", |
| "AMPERSAND", "QUESTION", "$accept", "identifier", "variable_identifier", |
| "primary_expression", "postfix_expression", "integer_expression", |
| "function_call", "function_call_or_method", "function_call_generic", |
| "function_call_header_no_parameters", |
| "function_call_header_with_parameters", "function_call_header", |
| "function_identifier", "unary_expression", "unary_operator", |
| "multiplicative_expression", "additive_expression", "shift_expression", |
| "relational_expression", "equality_expression", "and_expression", |
| "exclusive_or_expression", "inclusive_or_expression", |
| "logical_and_expression", "logical_xor_expression", |
| "logical_or_expression", "conditional_expression", |
| "assignment_expression", "assignment_operator", "expression", |
| "constant_expression", "declaration", "function_prototype", |
| "function_declarator", "function_header_with_parameters", |
| "function_header", "parameter_declarator", "parameter_declaration", |
| "parameter_qualifier", "parameter_type_specifier", |
| "init_declarator_list", "single_declaration", "fully_specified_type", |
| "type_qualifier", "type_specifier", "precision_qualifier", |
| "type_specifier_no_prec", "type_specifier_nonarray", "struct_specifier", |
| "$@1", "$@2", "struct_declaration_list", "struct_declaration", |
| "struct_declarator_list", "struct_declarator", "initializer", |
| "declaration_statement", "statement", "simple_statement", |
| "compound_statement", "$@3", "$@4", "statement_no_new_scope", |
| "statement_with_scope", "$@5", "$@6", "compound_statement_no_new_scope", |
| "statement_list", "expression_statement", "selection_statement", |
| "selection_rest_statement", "condition", "iteration_statement", "$@7", |
| "$@8", "$@9", "for_init_statement", "conditionopt", "for_rest_statement", |
| "jump_statement", "translation_unit", "external_declaration", |
| "function_definition", "$@10", YY_NULL |
| }; |
| #endif |
| |
| # ifdef YYPRINT |
| /* YYTOKNUM[YYLEX-NUM] -- Internal token number corresponding to |
| token YYLEX-NUM. */ |
| static const yytype_uint16 yytoknum[] = |
| { |
| 0, 256, 257, 258, 259, 260, 261, 262, 263, 264, |
| 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, |
| 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, |
| 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, |
| 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, |
| 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, |
| 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, |
| 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, |
| 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, |
| 345, 346, 347, 348, 349 |
| }; |
| # endif |
| |
| /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */ |
| static const yytype_uint8 yyr1[] = |
| { |
| 0, 95, 96, 96, 97, 98, 98, 98, 98, 98, |
| 99, 99, 99, 99, 99, 99, 100, 101, 102, 102, |
| 103, 103, 104, 104, 105, 105, 106, 107, 107, 108, |
| 108, 108, 108, 109, 109, 109, 110, 110, 110, 111, |
| 111, 111, 112, 113, 113, 113, 113, 113, 114, 114, |
| 114, 115, 116, 117, 118, 118, 119, 119, 120, 120, |
| 121, 121, 122, 122, 123, 123, 123, 123, 123, 124, |
| 124, 125, 126, 126, 126, 127, 128, 128, 129, 129, |
| 130, 131, 131, 132, 132, 132, 132, 133, 133, 133, |
| 133, 134, 135, 135, 135, 135, 135, 136, 136, 136, |
| 136, 136, 136, 137, 137, 138, 138, 138, 138, 138, |
| 139, 139, 140, 140, 140, 141, 141, 142, 142, 142, |
| 142, 142, 142, 142, 142, 142, 142, 142, 142, 142, |
| 142, 142, 142, 142, 142, 142, 142, 142, 142, 144, |
| 143, 145, 143, 146, 146, 147, 148, 148, 149, 149, |
| 150, 151, 152, 152, 153, 153, 153, 153, 153, 154, |
| 155, 156, 154, 157, 157, 159, 158, 160, 158, 161, |
| 161, 162, 162, 163, 163, 164, 165, 165, 166, 166, |
| 168, 167, 169, 167, 170, 167, 171, 171, 172, 172, |
| 173, 173, 174, 174, 174, 174, 174, 175, 175, 176, |
| 176, 178, 177 |
| }; |
| |
| /* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN. */ |
| static const yytype_uint8 yyr2[] = |
| { |
| 0, 2, 1, 1, 1, 1, 1, 1, 1, 3, |
| 1, 4, 1, 3, 2, 2, 1, 1, 1, 3, |
| 2, 2, 2, 1, 2, 3, 2, 1, 1, 1, |
| 2, 2, 2, 1, 1, 1, 1, 3, 3, 1, |
| 3, 3, 1, 1, 3, 3, 3, 3, 1, 3, |
| 3, 1, 1, 1, 1, 3, 1, 3, 1, 3, |
| 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, |
| 3, 1, 2, 2, 4, 2, 1, 1, 2, 3, |
| 3, 2, 5, 3, 2, 3, 2, 0, 1, 1, |
| 1, 1, 1, 3, 5, 6, 5, 1, 2, 4, |
| 5, 4, 2, 1, 2, 1, 1, 1, 2, 1, |
| 1, 2, 1, 1, 1, 1, 4, 1, 1, 1, |
| 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, |
| 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, |
| 6, 0, 5, 1, 2, 3, 1, 3, 1, 4, |
| 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, |
| 0, 0, 5, 1, 1, 0, 2, 0, 2, 2, |
| 3, 1, 2, 1, 2, 5, 3, 1, 1, 4, |
| 0, 6, 0, 8, 0, 7, 1, 1, 1, 0, |
| 2, 3, 2, 2, 2, 3, 2, 1, 2, 1, |
| 1, 0, 3 |
| }; |
| |
| /* YYDEFACT[STATE-NAME] -- Default reduction number in state STATE-NUM. |
| Performed when YYTABLE doesn't specify something else to do. Zero |
| means the default is an error. */ |
| static const yytype_uint8 yydefact[] = |
| { |
| 0, 0, 112, 113, 114, 0, 106, 105, 120, 118, |
| 119, 124, 125, 126, 127, 128, 129, 121, 122, 123, |
| 130, 131, 132, 109, 107, 0, 117, 133, 134, 135, |
| 136, 138, 200, 201, 0, 77, 87, 0, 92, 97, |
| 0, 103, 0, 110, 115, 137, 0, 197, 199, 108, |
| 102, 0, 2, 3, 141, 0, 72, 0, 75, 87, |
| 0, 88, 89, 90, 78, 0, 87, 0, 73, 2, |
| 98, 104, 111, 0, 1, 198, 0, 0, 139, 0, |
| 202, 79, 84, 86, 91, 0, 93, 80, 0, 0, |
| 4, 7, 6, 8, 0, 0, 0, 35, 34, 33, |
| 5, 10, 29, 12, 17, 18, 0, 0, 23, 0, |
| 36, 0, 39, 42, 43, 48, 51, 52, 53, 54, |
| 56, 58, 60, 71, 0, 27, 74, 0, 0, 143, |
| 0, 0, 0, 182, 0, 0, 0, 0, 0, 160, |
| 169, 173, 36, 62, 69, 0, 151, 0, 115, 154, |
| 171, 153, 152, 0, 155, 156, 157, 158, 81, 83, |
| 85, 0, 0, 99, 0, 150, 101, 30, 31, 0, |
| 14, 15, 0, 0, 21, 20, 0, 22, 24, 26, |
| 32, 0, 0, 0, 0, 0, 0, 0, 0, 0, |
| 0, 0, 0, 0, 0, 116, 148, 0, 146, 142, |
| 144, 0, 193, 192, 167, 184, 0, 196, 194, 0, |
| 180, 159, 0, 65, 66, 67, 68, 64, 0, 0, |
| 174, 170, 172, 0, 94, 0, 96, 100, 9, 0, |
| 16, 2, 3, 13, 19, 25, 37, 38, 41, 40, |
| 46, 47, 44, 45, 49, 50, 55, 57, 59, 0, |
| 0, 0, 145, 140, 0, 0, 0, 0, 0, 195, |
| 0, 161, 63, 70, 0, 95, 11, 0, 0, 147, |
| 0, 166, 168, 187, 186, 189, 167, 178, 0, 0, |
| 0, 82, 61, 149, 0, 188, 0, 0, 177, 175, |
| 0, 0, 162, 0, 190, 0, 167, 0, 164, 181, |
| 163, 0, 191, 185, 176, 179, 183 |
| }; |
| |
| /* YYDEFGOTO[NTERM-NUM]. */ |
| static const yytype_int16 yydefgoto[] = |
| { |
| -1, 196, 100, 101, 102, 229, 103, 104, 105, 106, |
| 107, 108, 109, 142, 111, 112, 113, 114, 115, 116, |
| 117, 118, 119, 120, 121, 122, 143, 144, 218, 145, |
| 124, 146, 147, 34, 35, 36, 82, 64, 65, 83, |
| 37, 38, 39, 40, 41, 42, 43, 125, 45, 130, |
| 77, 128, 129, 197, 198, 166, 149, 150, 151, 152, |
| 212, 280, 299, 254, 255, 256, 300, 153, 154, 155, |
| 289, 279, 156, 260, 204, 257, 275, 286, 287, 157, |
| 46, 47, 48, 57 |
| }; |
| |
| /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing |
| STATE-NUM. */ |
| #define YYPACT_NINF -261 |
| static const yytype_int16 yypact[] = |
| { |
| 1327, -20, -261, -261, -261, 113, -261, -261, -261, -261, |
| -261, -261, -261, -261, -261, -261, -261, -261, -261, -261, |
| -261, -261, -261, -261, -261, -19, -261, -261, -261, -261, |
| -261, -261, -261, -61, -40, -28, 75, -7, -261, 24, |
| 1370, -261, 1444, -261, -11, -261, 1283, -261, -261, -261, |
| -261, 1444, -261, -261, -261, 6, -261, 54, -261, 88, |
| 62, -261, -261, -261, -261, 1370, 59, 91, -261, 36, |
| -50, -261, -261, 1051, -261, -261, 63, 1370, -261, 293, |
| -261, -261, -261, -261, 91, 1370, -12, -261, 856, 1051, |
| 77, -261, -261, -261, 1051, 1051, 1051, -261, -261, -261, |
| -261, -261, -14, -261, -261, -261, 84, -44, 1116, 95, |
| -261, 1051, 53, 3, -261, -36, 89, -261, -261, -261, |
| 104, 107, -45, -261, 96, -261, -261, 91, 1184, -261, |
| 1370, 92, 93, -261, 98, 101, 94, 921, 105, 102, |
| -261, -261, 72, -261, -261, 9, -261, -61, 42, -261, |
| -261, -261, -261, 376, -261, -261, -261, -261, 106, -261, |
| -261, 986, 1051, -261, 103, -261, -261, -261, -261, -41, |
| -261, -261, 1051, 1407, -261, -261, 1051, 110, -261, -261, |
| -261, 1051, 1051, 1051, 1051, 1051, 1051, 1051, 1051, 1051, |
| 1051, 1051, 1051, 1051, 1051, -261, 109, 23, -261, -261, |
| -261, 1227, -261, -261, 111, -261, 1051, -261, -261, 25, |
| -261, -261, 459, -261, -261, -261, -261, -261, 1051, 1051, |
| -261, -261, -261, 1051, -261, 114, -261, -261, -261, 115, |
| 112, 77, 116, -261, -261, -261, -261, -261, 53, 53, |
| -261, -261, -261, -261, -36, -36, -261, 104, 107, 76, |
| 1051, 91, -261, -261, 145, 54, 625, 708, -6, -261, |
| 791, 459, -261, -261, 117, -261, -261, 1051, 120, -261, |
| 124, -261, -261, -261, -261, 791, 111, 112, 91, 125, |
| 122, -261, -261, -261, 1051, -261, 118, 128, 180, -261, |
| 126, 542, -261, -5, 1051, 542, 111, 1051, -261, -261, |
| -261, 123, 112, -261, -261, -261, -261 |
| }; |
| |
| /* YYPGOTO[NTERM-NUM]. */ |
| static const yytype_int16 yypgoto[] = |
| { |
| -261, -24, -261, -261, -261, -261, -261, -261, 34, -261, |
| -261, -261, -261, 32, -261, -33, -261, -27, -26, -261, |
| -261, -261, 14, 16, 18, -261, -66, -87, -261, -92, |
| -85, 11, 12, -261, -261, -261, 141, 150, 161, 143, |
| -261, -261, -231, 5, -30, 224, -18, 0, -261, -261, |
| -261, 100, -119, -261, -17, -156, -25, -145, -243, -261, |
| -261, -261, -64, -260, -261, -261, -52, 21, -22, -261, |
| -261, -39, -261, -261, -261, -261, -261, -261, -261, -261, |
| -261, 191, -261, -261 |
| }; |
| |
| /* YYTABLE[YYPACT[STATE-NUM]]. What to do in state STATE-NUM. If |
| positive, shift that token. If negative, reduce the rule which |
| number is the opposite. If YYTABLE_NINF, syntax error. */ |
| #define YYTABLE_NINF -166 |
| static const yytype_int16 yytable[] = |
| { |
| 44, 55, 165, 164, 169, 80, 226, 123, 222, 200, |
| 71, 32, 33, 272, 193, 70, 288, 49, 185, 186, |
| 56, 178, 123, 88, 72, 50, 52, 53, 175, 278, |
| 89, 228, 58, 76, 176, 84, 304, 219, 170, 171, |
| 44, 66, 44, 86, 278, 209, 44, 127, 298, 194, |
| 59, 44, 298, 187, 188, 84, 54, 32, 33, 172, |
| 158, 161, 73, 173, 66, 44, 276, 301, 162, 69, |
| 53, 67, 219, 219, 68, 165, 225, 44, 60, 148, |
| 230, 78, 200, 6, 7, 44, 183, 219, 184, 235, |
| 220, 60, 61, 62, 63, 123, 6, 7, 127, 49, |
| 127, 251, 249, 219, 252, 110, 259, 87, 61, 62, |
| 63, 23, 24, -27, 258, 73, 222, 2, 3, 4, |
| 110, 61, 62, 63, 23, 24, 167, 168, 44, 79, |
| 44, 262, 263, 213, 214, 215, 52, 53, 264, 181, |
| 182, 305, 216, 180, 126, 189, 190, -76, -28, 233, |
| 238, 239, 217, 148, 219, 267, 174, 123, 240, 241, |
| 242, 243, 191, 244, 245, 268, 179, 192, 277, 205, |
| 195, 127, 206, 202, 203, 207, 210, 227, 211, 223, |
| 282, -117, 250, 277, 123, 270, -165, -138, 265, 266, |
| 219, 281, 293, 110, 283, 284, 296, 291, 292, 294, |
| 295, 44, 302, 271, 306, 246, 297, 234, 247, 81, |
| 165, 248, 148, 236, 237, 110, 110, 110, 110, 110, |
| 110, 110, 110, 110, 110, 110, 159, 85, 160, 51, |
| 201, 303, 273, 261, 269, 274, 285, 75, 0, 0, |
| 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, |
| 0, 0, 0, 0, 290, 110, 148, 148, 0, 0, |
| 148, 148, 0, 0, 0, 0, 0, 0, 0, 0, |
| 0, 0, 0, 0, 0, 148, 0, 0, 0, 0, |
| 0, 0, 110, 0, 0, 0, 0, 0, 0, 0, |
| 0, 148, 0, 0, 0, 148, 1, 2, 3, 4, |
| 5, 6, 7, 8, 9, 10, 131, 132, 133, 0, |
| 134, 135, 136, 137, 11, 12, 13, 14, 15, 16, |
| 17, 18, 19, 20, 21, 22, 0, 0, 0, 23, |
| 24, 25, 26, 138, 27, 28, 29, 30, 90, 31, |
| 91, 92, 93, 0, 0, 94, 95, 0, 0, 0, |
| 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, |
| 0, 0, 0, 0, 96, 0, 0, 0, 139, 140, |
| 0, 0, 0, 0, 141, 97, 98, 0, 99, 1, |
| 2, 3, 4, 5, 6, 7, 8, 9, 10, 131, |
| 132, 133, 0, 134, 135, 136, 137, 11, 12, 13, |
| 14, 15, 16, 17, 18, 19, 20, 21, 22, 0, |
| 0, 0, 23, 24, 25, 26, 138, 27, 28, 29, |
| 30, 90, 31, 91, 92, 93, 0, 0, 94, 95, |
| 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, |
| 0, 0, 0, 0, 0, 0, 0, 96, 0, 0, |
| 0, 139, 221, 0, 0, 0, 0, 141, 97, 98, |
| 0, 99, 1, 2, 3, 4, 5, 6, 7, 8, |
| 9, 10, 131, 132, 133, 0, 134, 135, 136, 137, |
| 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, |
| 21, 22, 0, 0, 0, 23, 24, 25, 26, 138, |
| 27, 28, 29, 30, 90, 31, 91, 92, 93, 0, |
| 0, 94, 95, 0, 0, 0, 0, 0, 0, 0, |
| 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, |
| 96, 0, 0, 0, 139, 0, 0, 0, 0, 0, |
| 141, 97, 98, 0, 99, 1, 2, 3, 4, 5, |
| 6, 7, 8, 9, 10, 131, 132, 133, 0, 134, |
| 135, 136, 137, 11, 12, 13, 14, 15, 16, 17, |
| 18, 19, 20, 21, 22, 0, 0, 0, 23, 24, |
| 25, 26, 138, 27, 28, 29, 30, 90, 31, 91, |
| 92, 93, 0, 0, 94, 95, 0, 0, 0, 0, |
| 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, |
| 0, 0, 0, 96, 0, 0, 0, 79, 0, 0, |
| 0, 0, 0, 141, 97, 98, 0, 99, 1, 2, |
| 3, 4, 5, 6, 7, 8, 9, 10, 131, 132, |
| 133, 0, 134, 135, 136, 137, 11, 12, 13, 14, |
| 15, 16, 17, 18, 19, 20, 21, 22, 0, 0, |
| 0, 23, 24, 25, 26, 138, 27, 28, 29, 30, |
| 90, 31, 91, 92, 93, 0, 0, 94, 95, 0, |
| 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, |
| 0, 0, 0, 0, 0, 0, 96, 0, 0, 0, |
| 0, 0, 0, 0, 0, 0, 141, 97, 98, 0, |
| 99, 1, 2, 3, 4, 5, 6, 7, 8, 9, |
| 10, 0, 0, 0, 0, 0, 0, 0, 0, 11, |
| 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, |
| 22, 0, 0, 0, 23, 24, 25, 26, 0, 27, |
| 28, 29, 30, 90, 31, 91, 92, 93, 0, 0, |
| 94, 95, 0, 0, 0, 0, 0, 0, 0, 0, |
| 0, 0, 0, 0, 0, 0, 0, 0, 0, 96, |
| 0, 0, 0, 0, 0, 0, 0, 0, 0, 141, |
| 97, 98, 0, 99, 60, 2, 3, 4, 0, 6, |
| 7, 8, 9, 10, 0, 0, 0, 0, 0, 0, |
| 0, 0, 11, 12, 13, 14, 15, 16, 17, 18, |
| 19, 20, 21, 22, 0, 0, 0, 23, 24, 25, |
| 26, 0, 27, 28, 29, 30, 90, 31, 91, 92, |
| 93, 0, 0, 94, 95, 0, 0, 0, 0, 0, |
| 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, |
| 0, 0, 96, 0, 0, 0, 8, 9, 10, 0, |
| 0, 0, 0, 97, 98, 0, 99, 11, 12, 13, |
| 14, 15, 16, 17, 18, 19, 20, 21, 22, 0, |
| 0, 0, 0, 0, 25, 26, 0, 27, 28, 29, |
| 30, 90, 31, 91, 92, 93, 0, 0, 94, 95, |
| 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, |
| 0, 0, 0, 0, 0, 0, 0, 96, 0, 0, |
| 163, 8, 9, 10, 0, 0, 0, 0, 97, 98, |
| 0, 99, 11, 12, 13, 14, 15, 16, 17, 18, |
| 19, 20, 21, 22, 0, 0, 0, 0, 0, 25, |
| 26, 0, 27, 28, 29, 30, 90, 31, 91, 92, |
| 93, 0, 0, 94, 95, 0, 0, 0, 0, 0, |
| 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, |
| 0, 0, 96, 0, 0, 0, 8, 9, 10, 0, |
| 0, 0, 208, 97, 98, 0, 99, 11, 12, 13, |
| 14, 15, 16, 17, 18, 19, 20, 21, 22, 0, |
| 0, 0, 0, 0, 25, 26, 0, 27, 28, 29, |
| 30, 90, 31, 91, 92, 93, 0, 0, 94, 95, |
| 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, |
| 0, 0, 0, 0, 0, 0, 0, 96, 0, 0, |
| 224, 8, 9, 10, 0, 0, 0, 0, 97, 98, |
| 0, 99, 11, 12, 13, 14, 15, 16, 17, 18, |
| 19, 20, 21, 22, 0, 0, 0, 0, 0, 25, |
| 26, 0, 27, 28, 29, 30, 90, 31, 91, 92, |
| 93, 0, 0, 94, 95, 0, 0, 0, 0, 0, |
| 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, |
| 0, 0, 96, 0, 0, 0, 8, 9, 10, 0, |
| 0, 0, 0, 97, 98, 0, 99, 11, 12, 13, |
| 14, 15, 16, 17, 18, 19, 20, 21, 22, 0, |
| 0, 0, 0, 0, 25, 177, 0, 27, 28, 29, |
| 30, 90, 31, 91, 92, 93, 0, 0, 94, 95, |
| 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, |
| 0, 0, 0, 0, 0, 0, 0, 96, 2, 3, |
| 4, 0, 0, 0, 8, 9, 10, 0, 97, 98, |
| 0, 99, 0, 0, 0, 11, 12, 13, 14, 15, |
| 16, 17, 18, 19, 20, 21, 22, 0, 0, 0, |
| 0, 0, 25, 26, 0, 27, 28, 29, 30, 0, |
| 31, 2, 3, 4, 0, 0, 0, 8, 9, 10, |
| 0, 0, 0, 0, 0, 0, 0, 0, 11, 12, |
| 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, |
| 199, 0, 0, 0, 0, 25, 26, 0, 27, 28, |
| 29, 30, 0, 31, 0, 0, 0, 0, 0, 0, |
| 0, 0, 0, 74, 0, 0, 1, 2, 3, 4, |
| 5, 6, 7, 8, 9, 10, 0, 0, 0, 0, |
| 0, 0, 0, 253, 11, 12, 13, 14, 15, 16, |
| 17, 18, 19, 20, 21, 22, 0, 0, 0, 23, |
| 24, 25, 26, 0, 27, 28, 29, 30, 0, 31, |
| 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, |
| 0, 0, 0, 0, 0, 0, 0, 0, 11, 12, |
| 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, |
| 0, 0, 0, 23, 24, 25, 26, 0, 27, 28, |
| 29, 30, 0, 31, 2, 3, 4, 0, 0, 0, |
| 8, 9, 10, 0, 0, 0, 0, 0, 0, 0, |
| 0, 11, 12, 13, 14, 15, 16, 17, 18, 19, |
| 20, 21, 22, 0, 0, 0, 0, 0, 25, 26, |
| 0, 27, 28, 29, 30, 0, 31, 8, 9, 10, |
| 0, 0, 0, 0, 0, 0, 0, 0, 11, 12, |
| 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, |
| 0, 0, 0, 0, 0, 25, 26, 0, 27, 28, |
| 29, 30, 231, 232, 8, 9, 10, 0, 0, 0, |
| 0, 0, 0, 0, 0, 11, 12, 13, 14, 15, |
| 16, 17, 18, 19, 20, 21, 22, 0, 0, 0, |
| 0, 0, 25, 26, 0, 27, 28, 29, 30, 0, |
| 31 |
| }; |
| |
| #define yypact_value_is_default(Yystate) \ |
| (!!((Yystate) == (-261))) |
| |
| #define yytable_value_is_error(Yytable_value) \ |
| YYID (0) |
| |
| static const yytype_int16 yycheck[] = |
| { |
| 0, 25, 89, 88, 96, 57, 162, 73, 153, 128, |
| 40, 0, 0, 256, 59, 39, 276, 37, 54, 55, |
| 81, 108, 88, 73, 42, 45, 45, 46, 72, 260, |
| 80, 72, 72, 51, 78, 65, 296, 78, 52, 53, |
| 40, 36, 42, 67, 275, 137, 46, 77, 291, 94, |
| 78, 51, 295, 89, 90, 85, 75, 46, 46, 73, |
| 84, 73, 73, 77, 59, 65, 72, 72, 80, 45, |
| 46, 78, 78, 78, 81, 162, 161, 77, 3, 79, |
| 172, 75, 201, 8, 9, 85, 83, 78, 85, 176, |
| 81, 3, 33, 34, 35, 161, 8, 9, 128, 37, |
| 130, 78, 194, 78, 81, 73, 81, 71, 33, 34, |
| 35, 36, 37, 71, 206, 73, 261, 4, 5, 6, |
| 88, 33, 34, 35, 36, 37, 94, 95, 128, 75, |
| 130, 218, 219, 61, 62, 63, 45, 46, 223, 86, |
| 87, 297, 70, 111, 81, 56, 57, 72, 71, 173, |
| 183, 184, 80, 153, 78, 79, 72, 223, 185, 186, |
| 187, 188, 58, 189, 190, 250, 71, 60, 260, 71, |
| 74, 201, 71, 81, 81, 81, 71, 74, 76, 73, |
| 267, 71, 73, 275, 250, 40, 75, 71, 74, 74, |
| 78, 74, 284, 161, 74, 71, 16, 72, 76, 81, |
| 72, 201, 294, 255, 81, 191, 80, 173, 192, 59, |
| 297, 193, 212, 181, 182, 183, 184, 185, 186, 187, |
| 188, 189, 190, 191, 192, 193, 85, 66, 85, 5, |
| 130, 295, 257, 212, 251, 257, 275, 46, -1, -1, |
| -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, |
| -1, -1, -1, -1, 278, 223, 256, 257, -1, -1, |
| 260, 261, -1, -1, -1, -1, -1, -1, -1, -1, |
| -1, -1, -1, -1, -1, 275, -1, -1, -1, -1, |
| -1, -1, 250, -1, -1, -1, -1, -1, -1, -1, |
| -1, 291, -1, -1, -1, 295, 3, 4, 5, 6, |
| 7, 8, 9, 10, 11, 12, 13, 14, 15, -1, |
| 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, |
| 27, 28, 29, 30, 31, 32, -1, -1, -1, 36, |
| 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, |
| 47, 48, 49, -1, -1, 52, 53, -1, -1, -1, |
| -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, |
| -1, -1, -1, -1, 71, -1, -1, -1, 75, 76, |
| -1, -1, -1, -1, 81, 82, 83, -1, 85, 3, |
| 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, |
| 14, 15, -1, 17, 18, 19, 20, 21, 22, 23, |
| 24, 25, 26, 27, 28, 29, 30, 31, 32, -1, |
| -1, -1, 36, 37, 38, 39, 40, 41, 42, 43, |
| 44, 45, 46, 47, 48, 49, -1, -1, 52, 53, |
| -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, |
| -1, -1, -1, -1, -1, -1, -1, 71, -1, -1, |
| -1, 75, 76, -1, -1, -1, -1, 81, 82, 83, |
| -1, 85, 3, 4, 5, 6, 7, 8, 9, 10, |
| 11, 12, 13, 14, 15, -1, 17, 18, 19, 20, |
| 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, |
| 31, 32, -1, -1, -1, 36, 37, 38, 39, 40, |
| 41, 42, 43, 44, 45, 46, 47, 48, 49, -1, |
| -1, 52, 53, -1, -1, -1, -1, -1, -1, -1, |
| -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, |
| 71, -1, -1, -1, 75, -1, -1, -1, -1, -1, |
| 81, 82, 83, -1, 85, 3, 4, 5, 6, 7, |
| 8, 9, 10, 11, 12, 13, 14, 15, -1, 17, |
| 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, |
| 28, 29, 30, 31, 32, -1, -1, -1, 36, 37, |
| 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, |
| 48, 49, -1, -1, 52, 53, -1, -1, -1, -1, |
| -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, |
| -1, -1, -1, 71, -1, -1, -1, 75, -1, -1, |
| -1, -1, -1, 81, 82, 83, -1, 85, 3, 4, |
| 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, |
| 15, -1, 17, 18, 19, 20, 21, 22, 23, 24, |
| 25, 26, 27, 28, 29, 30, 31, 32, -1, -1, |
| -1, 36, 37, 38, 39, 40, 41, 42, 43, 44, |
| 45, 46, 47, 48, 49, -1, -1, 52, 53, -1, |
| -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, |
| -1, -1, -1, -1, -1, -1, 71, -1, -1, -1, |
| -1, -1, -1, -1, -1, -1, 81, 82, 83, -1, |
| 85, 3, 4, 5, 6, 7, 8, 9, 10, 11, |
| 12, -1, -1, -1, -1, -1, -1, -1, -1, 21, |
| 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, |
| 32, -1, -1, -1, 36, 37, 38, 39, -1, 41, |
| 42, 43, 44, 45, 46, 47, 48, 49, -1, -1, |
| 52, 53, -1, -1, -1, -1, -1, -1, -1, -1, |
| -1, -1, -1, -1, -1, -1, -1, -1, -1, 71, |
| -1, -1, -1, -1, -1, -1, -1, -1, -1, 81, |
| 82, 83, -1, 85, 3, 4, 5, 6, -1, 8, |
| 9, 10, 11, 12, -1, -1, -1, -1, -1, -1, |
| -1, -1, 21, 22, 23, 24, 25, 26, 27, 28, |
| 29, 30, 31, 32, -1, -1, -1, 36, 37, 38, |
| 39, -1, 41, 42, 43, 44, 45, 46, 47, 48, |
| 49, -1, -1, 52, 53, -1, -1, -1, -1, -1, |
| -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, |
| -1, -1, 71, -1, -1, -1, 10, 11, 12, -1, |
| -1, -1, -1, 82, 83, -1, 85, 21, 22, 23, |
| 24, 25, 26, 27, 28, 29, 30, 31, 32, -1, |
| -1, -1, -1, -1, 38, 39, -1, 41, 42, 43, |
| 44, 45, 46, 47, 48, 49, -1, -1, 52, 53, |
| -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, |
| -1, -1, -1, -1, -1, -1, -1, 71, -1, -1, |
| 74, 10, 11, 12, -1, -1, -1, -1, 82, 83, |
| -1, 85, 21, 22, 23, 24, 25, 26, 27, 28, |
| 29, 30, 31, 32, -1, -1, -1, -1, -1, 38, |
| 39, -1, 41, 42, 43, 44, 45, 46, 47, 48, |
| 49, -1, -1, 52, 53, -1, -1, -1, -1, -1, |
| -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, |
| -1, -1, 71, -1, -1, -1, 10, 11, 12, -1, |
| -1, -1, 81, 82, 83, -1, 85, 21, 22, 23, |
| 24, 25, 26, 27, 28, 29, 30, 31, 32, -1, |
| -1, -1, -1, -1, 38, 39, -1, 41, 42, 43, |
| 44, 45, 46, 47, 48, 49, -1, -1, 52, 53, |
| -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, |
| -1, -1, -1, -1, -1, -1, -1, 71, -1, -1, |
| 74, 10, 11, 12, -1, -1, -1, -1, 82, 83, |
| -1, 85, 21, 22, 23, 24, 25, 26, 27, 28, |
| 29, 30, 31, 32, -1, -1, -1, -1, -1, 38, |
| 39, -1, 41, 42, 43, 44, 45, 46, 47, 48, |
| 49, -1, -1, 52, 53, -1, -1, -1, -1, -1, |
| -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, |
| -1, -1, 71, -1, -1, -1, 10, 11, 12, -1, |
| -1, -1, -1, 82, 83, -1, 85, 21, 22, 23, |
| 24, 25, 26, 27, 28, 29, 30, 31, 32, -1, |
| -1, -1, -1, -1, 38, 39, -1, 41, 42, 43, |
| 44, 45, 46, 47, 48, 49, -1, -1, 52, 53, |
| -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, |
| -1, -1, -1, -1, -1, -1, -1, 71, 4, 5, |
| 6, -1, -1, -1, 10, 11, 12, -1, 82, 83, |
| -1, 85, -1, -1, -1, 21, 22, 23, 24, 25, |
| 26, 27, 28, 29, 30, 31, 32, -1, -1, -1, |
| -1, -1, 38, 39, -1, 41, 42, 43, 44, -1, |
| 46, 4, 5, 6, -1, -1, -1, 10, 11, 12, |
| -1, -1, -1, -1, -1, -1, -1, -1, 21, 22, |
| 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, |
| 76, -1, -1, -1, -1, 38, 39, -1, 41, 42, |
| 43, 44, -1, 46, -1, -1, -1, -1, -1, -1, |
| -1, -1, -1, 0, -1, -1, 3, 4, 5, 6, |
| 7, 8, 9, 10, 11, 12, -1, -1, -1, -1, |
| -1, -1, -1, 76, 21, 22, 23, 24, 25, 26, |
| 27, 28, 29, 30, 31, 32, -1, -1, -1, 36, |
| 37, 38, 39, -1, 41, 42, 43, 44, -1, 46, |
| 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, |
| -1, -1, -1, -1, -1, -1, -1, -1, 21, 22, |
| 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, |
| -1, -1, -1, 36, 37, 38, 39, -1, 41, 42, |
| 43, 44, -1, 46, 4, 5, 6, -1, -1, -1, |
| 10, 11, 12, -1, -1, -1, -1, -1, -1, -1, |
| -1, 21, 22, 23, 24, 25, 26, 27, 28, 29, |
| 30, 31, 32, -1, -1, -1, -1, -1, 38, 39, |
| -1, 41, 42, 43, 44, -1, 46, 10, 11, 12, |
| -1, -1, -1, -1, -1, -1, -1, -1, 21, 22, |
| 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, |
| -1, -1, -1, -1, -1, 38, 39, -1, 41, 42, |
| 43, 44, 45, 46, 10, 11, 12, -1, -1, -1, |
| -1, -1, -1, -1, -1, 21, 22, 23, 24, 25, |
| 26, 27, 28, 29, 30, 31, 32, -1, -1, -1, |
| -1, -1, 38, 39, -1, 41, 42, 43, 44, -1, |
| 46 |
| }; |
| |
| /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing |
| symbol of state STATE-NUM. */ |
| static const yytype_uint8 yystos[] = |
| { |
| 0, 3, 4, 5, 6, 7, 8, 9, 10, 11, |
| 12, 21, 22, 23, 24, 25, 26, 27, 28, 29, |
| 30, 31, 32, 36, 37, 38, 39, 41, 42, 43, |
| 44, 46, 126, 127, 128, 129, 130, 135, 136, 137, |
| 138, 139, 140, 141, 142, 143, 175, 176, 177, 37, |
| 45, 140, 45, 46, 75, 96, 81, 178, 72, 78, |
| 3, 33, 34, 35, 132, 133, 138, 78, 81, 45, |
| 96, 139, 141, 73, 0, 176, 141, 145, 75, 75, |
| 161, 132, 131, 134, 139, 133, 96, 71, 73, 80, |
| 45, 47, 48, 49, 52, 53, 71, 82, 83, 85, |
| 97, 98, 99, 101, 102, 103, 104, 105, 106, 107, |
| 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, |
| 118, 119, 120, 121, 125, 142, 81, 139, 146, 147, |
| 144, 13, 14, 15, 17, 18, 19, 20, 40, 75, |
| 76, 81, 108, 121, 122, 124, 126, 127, 142, 151, |
| 152, 153, 154, 162, 163, 164, 167, 174, 96, 131, |
| 134, 73, 80, 74, 125, 122, 150, 108, 108, 124, |
| 52, 53, 73, 77, 72, 72, 78, 39, 122, 71, |
| 108, 86, 87, 83, 85, 54, 55, 89, 90, 56, |
| 57, 58, 60, 59, 94, 74, 96, 148, 149, 76, |
| 147, 146, 81, 81, 169, 71, 71, 81, 81, 124, |
| 71, 76, 155, 61, 62, 63, 70, 80, 123, 78, |
| 81, 76, 152, 73, 74, 125, 150, 74, 72, 100, |
| 124, 45, 46, 96, 103, 122, 108, 108, 110, 110, |
| 112, 112, 112, 112, 113, 113, 117, 118, 119, 124, |
| 73, 78, 81, 76, 158, 159, 160, 170, 124, 81, |
| 168, 162, 122, 122, 125, 74, 74, 79, 125, 149, |
| 40, 161, 153, 151, 163, 171, 72, 124, 137, 166, |
| 156, 74, 122, 74, 71, 166, 172, 173, 158, 165, |
| 96, 72, 76, 124, 81, 72, 16, 80, 153, 157, |
| 161, 72, 124, 157, 158, 150, 81 |
| }; |
| |
| #define yyerrok (yyerrstatus = 0) |
| #define yyclearin (yychar = YYEMPTY) |
| #define YYEMPTY (-2) |
| #define YYEOF 0 |
| |
| #define YYACCEPT goto yyacceptlab |
| #define YYABORT goto yyabortlab |
| #define YYERROR goto yyerrorlab |
| |
| |
| /* Like YYERROR except do call yyerror. This remains here temporarily |
| to ease the transition to the new meaning of YYERROR, for GCC. |
| Once GCC version 2 has supplanted version 1, this can go. However, |
| YYFAIL appears to be in use. Nevertheless, it is formally deprecated |
| in Bison 2.4.2's NEWS entry, where a plan to phase it out is |
| discussed. */ |
| |
| #define YYFAIL goto yyerrlab |
| #if defined YYFAIL |
| /* This is here to suppress warnings from the GCC cpp's |
| -Wunused-macros. Normally we don't worry about that warning, but |
| some users do, and we want to make it easy for users to remove |
| YYFAIL uses, which will produce warnings from Bison 2.5. */ |
| #endif |
| |
| #define YYRECOVERING() (!!yyerrstatus) |
| |
| #define YYBACKUP(Token, Value) \ |
| do \ |
| if (yychar == YYEMPTY) \ |
| { \ |
| yychar = (Token); \ |
| yylval = (Value); \ |
| YYPOPSTACK (yylen); \ |
| yystate = *yyssp; \ |
| goto yybackup; \ |
| } \ |
| else \ |
| { \ |
| yyerror (&yylloc, context, YY_("syntax error: cannot back up")); \ |
| YYERROR; \ |
| } \ |
| while (YYID (0)) |
| |
| /* Error token number */ |
| #define YYTERROR 1 |
| #define YYERRCODE 256 |
| |
| |
| /* YYLLOC_DEFAULT -- Set CURRENT to span from RHS[1] to RHS[N]. |
| If N is 0, then set CURRENT to the empty location which ends |
| the previous symbol: RHS[0] (always defined). */ |
| |
| #ifndef YYLLOC_DEFAULT |
| # define YYLLOC_DEFAULT(Current, Rhs, N) \ |
| do \ |
| if (YYID (N)) \ |
| { \ |
| (Current).first_line = YYRHSLOC (Rhs, 1).first_line; \ |
| (Current).first_column = YYRHSLOC (Rhs, 1).first_column; \ |
| (Current).last_line = YYRHSLOC (Rhs, N).last_line; \ |
| (Current).last_column = YYRHSLOC (Rhs, N).last_column; \ |
| } \ |
| else \ |
| { \ |
| (Current).first_line = (Current).last_line = \ |
| YYRHSLOC (Rhs, 0).last_line; \ |
| (Current).first_column = (Current).last_column = \ |
| YYRHSLOC (Rhs, 0).last_column; \ |
| } \ |
| while (YYID (0)) |
| #endif |
| |
| #define YYRHSLOC(Rhs, K) ((Rhs)[K]) |
| |
| |
| /* YY_LOCATION_PRINT -- Print the location on the stream. |
| This macro was not mandated originally: define only if we know |
| we won't break user code: when these are the locations we know. */ |
| |
| #ifndef YY_LOCATION_PRINT |
| # if defined YYLTYPE_IS_TRIVIAL && YYLTYPE_IS_TRIVIAL |
| |
| /* Print *YYLOCP on YYO. Private, do not rely on its existence. */ |
| |
| __attribute__((__unused__)) |
| #if (defined __STDC__ || defined __C99__FUNC__ \ |
| || defined __cplusplus || defined _MSC_VER) |
| static unsigned |
| yy_location_print_ (FILE *yyo, YYLTYPE const * const yylocp) |
| #else |
| static unsigned |
| yy_location_print_ (yyo, yylocp) |
| FILE *yyo; |
| YYLTYPE const * const yylocp; |
| #endif |
| { |
| unsigned res = 0; |
| int end_col = 0 != yylocp->last_column ? yylocp->last_column - 1 : 0; |
| if (0 <= yylocp->first_line) |
| { |
| res += fprintf (yyo, "%d", yylocp->first_line); |
| if (0 <= yylocp->first_column) |
| res += fprintf (yyo, ".%d", yylocp->first_column); |
| } |
| if (0 <= yylocp->last_line) |
| { |
| if (yylocp->first_line < yylocp->last_line) |
| { |
| res += fprintf (yyo, "-%d", yylocp->last_line); |
| if (0 <= end_col) |
| res += fprintf (yyo, ".%d", end_col); |
| } |
| else if (0 <= end_col && yylocp->first_column < end_col) |
| res += fprintf (yyo, "-%d", end_col); |
| } |
| return res; |
| } |
| |
| # define YY_LOCATION_PRINT(File, Loc) \ |
| yy_location_print_ (File, &(Loc)) |
| |
| # else |
| # define YY_LOCATION_PRINT(File, Loc) ((void) 0) |
| # endif |
| #endif |
| |
| |
| /* YYLEX -- calling `yylex' with the right arguments. */ |
| #ifdef YYLEX_PARAM |
| # define YYLEX yylex (&yylval, &yylloc, YYLEX_PARAM) |
| #else |
| # define YYLEX yylex (&yylval, &yylloc) |
| #endif |
| |
| /* Enable debugging if requested. */ |
| #if YYDEBUG |
| |
| # ifndef YYFPRINTF |
| # include <stdio.h> /* INFRINGES ON USER NAME SPACE */ |
| # define YYFPRINTF fprintf |
| # endif |
| |
| # define YYDPRINTF(Args) \ |
| do { \ |
| if (yydebug) \ |
| YYFPRINTF Args; \ |
| } while (YYID (0)) |
| |
| # define YY_SYMBOL_PRINT(Title, Type, Value, Location) \ |
| do { \ |
| if (yydebug) \ |
| { \ |
| YYFPRINTF (stderr, "%s ", Title); \ |
| yy_symbol_print (stderr, \ |
| Type, Value, Location, context); \ |
| YYFPRINTF (stderr, "\n"); \ |
| } \ |
| } while (YYID (0)) |
| |
| |
| /*--------------------------------. |
| | Print this symbol on YYOUTPUT. | |
| `--------------------------------*/ |
| |
| /*ARGSUSED*/ |
| #if (defined __STDC__ || defined __C99__FUNC__ \ |
| || defined __cplusplus || defined _MSC_VER) |
| static void |
| yy_symbol_value_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvaluep, YYLTYPE const * const yylocationp, TParseContext* context) |
| #else |
| static void |
| yy_symbol_value_print (yyoutput, yytype, yyvaluep, yylocationp, context) |
| FILE *yyoutput; |
| int yytype; |
| YYSTYPE const * const yyvaluep; |
| YYLTYPE const * const yylocationp; |
| TParseContext* context; |
| #endif |
| { |
| FILE *yyo = yyoutput; |
| YYUSE (yyo); |
| if (!yyvaluep) |
| return; |
| YYUSE (yylocationp); |
| YYUSE (context); |
| # ifdef YYPRINT |
| if (yytype < YYNTOKENS) |
| YYPRINT (yyoutput, yytoknum[yytype], *yyvaluep); |
| # else |
| YYUSE (yyoutput); |
| # endif |
| switch (yytype) |
| { |
| default: |
| break; |
| } |
| } |
| |
| |
| /*--------------------------------. |
| | Print this symbol on YYOUTPUT. | |
| `--------------------------------*/ |
| |
| #if (defined __STDC__ || defined __C99__FUNC__ \ |
| || defined __cplusplus || defined _MSC_VER) |
| static void |
| yy_symbol_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvaluep, YYLTYPE const * const yylocationp, TParseContext* context) |
| #else |
| static void |
| yy_symbol_print (yyoutput, yytype, yyvaluep, yylocationp, context) |
| FILE *yyoutput; |
| int yytype; |
| YYSTYPE const * const yyvaluep; |
| YYLTYPE const * const yylocationp; |
| TParseContext* context; |
| #endif |
| { |
| if (yytype < YYNTOKENS) |
| YYFPRINTF (yyoutput, "token %s (", yytname[yytype]); |
| else |
| YYFPRINTF (yyoutput, "nterm %s (", yytname[yytype]); |
| |
| YY_LOCATION_PRINT (yyoutput, *yylocationp); |
| YYFPRINTF (yyoutput, ": "); |
| yy_symbol_value_print (yyoutput, yytype, yyvaluep, yylocationp, context); |
| YYFPRINTF (yyoutput, ")"); |
| } |
| |
| /*------------------------------------------------------------------. |
| | yy_stack_print -- Print the state stack from its BOTTOM up to its | |
| | TOP (included). | |
| `------------------------------------------------------------------*/ |
| |
| #if (defined __STDC__ || defined __C99__FUNC__ \ |
| || defined __cplusplus || defined _MSC_VER) |
| static void |
| yy_stack_print (yytype_int16 *yybottom, yytype_int16 *yytop) |
| #else |
| static void |
| yy_stack_print (yybottom, yytop) |
| yytype_int16 *yybottom; |
| yytype_int16 *yytop; |
| #endif |
| { |
| YYFPRINTF (stderr, "Stack now"); |
| for (; yybottom <= yytop; yybottom++) |
| { |
| int yybot = *yybottom; |
| YYFPRINTF (stderr, " %d", yybot); |
| } |
| YYFPRINTF (stderr, "\n"); |
| } |
| |
| # define YY_STACK_PRINT(Bottom, Top) \ |
| do { \ |
| if (yydebug) \ |
| yy_stack_print ((Bottom), (Top)); \ |
| } while (YYID (0)) |
| |
| |
| /*------------------------------------------------. |
| | Report that the YYRULE is going to be reduced. | |
| `------------------------------------------------*/ |
| |
| #if (defined __STDC__ || defined __C99__FUNC__ \ |
| || defined __cplusplus || defined _MSC_VER) |
| static void |
| yy_reduce_print (YYSTYPE *yyvsp, YYLTYPE *yylsp, int yyrule, TParseContext* context) |
| #else |
| static void |
| yy_reduce_print (yyvsp, yylsp, yyrule, context) |
| YYSTYPE *yyvsp; |
| YYLTYPE *yylsp; |
| int yyrule; |
| TParseContext* context; |
| #endif |
| { |
| int yynrhs = yyr2[yyrule]; |
| int yyi; |
| unsigned long int yylno = yyrline[yyrule]; |
| YYFPRINTF (stderr, "Reducing stack by rule %d (line %lu):\n", |
| yyrule - 1, yylno); |
| /* The symbols being reduced. */ |
| for (yyi = 0; yyi < yynrhs; yyi++) |
| { |
| YYFPRINTF (stderr, " $%d = ", yyi + 1); |
| yy_symbol_print (stderr, yyrhs[yyprhs[yyrule] + yyi], |
| &(yyvsp[(yyi + 1) - (yynrhs)]) |
| , &(yylsp[(yyi + 1) - (yynrhs)]) , context); |
| YYFPRINTF (stderr, "\n"); |
| } |
| } |
| |
| # define YY_REDUCE_PRINT(Rule) \ |
| do { \ |
| if (yydebug) \ |
| yy_reduce_print (yyvsp, yylsp, Rule, context); \ |
| } while (YYID (0)) |
| |
| /* Nonzero means print parse trace. It is left uninitialized so that |
| multiple parsers can coexist. */ |
| int yydebug; |
| #else /* !YYDEBUG */ |
| # define YYDPRINTF(Args) |
| # define YY_SYMBOL_PRINT(Title, Type, Value, Location) |
| # define YY_STACK_PRINT(Bottom, Top) |
| # define YY_REDUCE_PRINT(Rule) |
| #endif /* !YYDEBUG */ |
| |
| |
| /* YYINITDEPTH -- initial size of the parser's stacks. */ |
| #ifndef YYINITDEPTH |
| # define YYINITDEPTH 200 |
| #endif |
| |
| /* YYMAXDEPTH -- maximum size the stacks can grow to (effective only |
| if the built-in stack extension method is used). |
| |
| Do not make this value too large; the results are undefined if |
| YYSTACK_ALLOC_MAXIMUM < YYSTACK_BYTES (YYMAXDEPTH) |
| evaluated with infinite-precision integer arithmetic. */ |
| |
| #ifndef YYMAXDEPTH |
| # define YYMAXDEPTH 10000 |
| #endif |
| |
| |
| #if YYERROR_VERBOSE |
| |
| # ifndef yystrlen |
| # if defined __GLIBC__ && defined _STRING_H |
| # define yystrlen strlen |
| # else |
| /* Return the length of YYSTR. */ |
| #if (defined __STDC__ || defined __C99__FUNC__ \ |
| || defined __cplusplus || defined _MSC_VER) |
| static YYSIZE_T |
| yystrlen (const char *yystr) |
| #else |
| static YYSIZE_T |
| yystrlen (yystr) |
| const char *yystr; |
| #endif |
| { |
| YYSIZE_T yylen; |
| for (yylen = 0; yystr[yylen]; yylen++) |
| continue; |
| return yylen; |
| } |
| # endif |
| # endif |
| |
| # ifndef yystpcpy |
| # if defined __GLIBC__ && defined _STRING_H && defined _GNU_SOURCE |
| # define yystpcpy stpcpy |
| # else |
| /* Copy YYSRC to YYDEST, returning the address of the terminating '\0' in |
| YYDEST. */ |
| #if (defined __STDC__ || defined __C99__FUNC__ \ |
| || defined __cplusplus || defined _MSC_VER) |
| static char * |
| yystpcpy (char *yydest, const char *yysrc) |
| #else |
| static char * |
| yystpcpy (yydest, yysrc) |
| char *yydest; |
| const char *yysrc; |
| #endif |
| { |
| char *yyd = yydest; |
| const char *yys = yysrc; |
| |
| while ((*yyd++ = *yys++) != '\0') |
| continue; |
| |
| return yyd - 1; |
| } |
| # endif |
| # endif |
| |
| # ifndef yytnamerr |
| /* Copy to YYRES the contents of YYSTR after stripping away unnecessary |
| quotes and backslashes, so that it's suitable for yyerror. The |
| heuristic is that double-quoting is unnecessary unless the string |
| contains an apostrophe, a comma, or backslash (other than |
| backslash-backslash). YYSTR is taken from yytname. If YYRES is |
| null, do not copy; instead, return the length of what the result |
| would have been. */ |
| static YYSIZE_T |
| yytnamerr (char *yyres, const char *yystr) |
| { |
| if (*yystr == '"') |
| { |
| YYSIZE_T yyn = 0; |
| char const *yyp = yystr; |
| |
| for (;;) |
| switch (*++yyp) |
| { |
| case '\'': |
| case ',': |
| goto do_not_strip_quotes; |
| |
| case '\\': |
| if (*++yyp != '\\') |
| goto do_not_strip_quotes; |
| /* Fall through. */ |
| default: |
| if (yyres) |
| yyres[yyn] = *yyp; |
| yyn++; |
| break; |
| |
| case '"': |
| if (yyres) |
| yyres[yyn] = '\0'; |
| return yyn; |
| } |
| do_not_strip_quotes: ; |
| } |
| |
| if (! yyres) |
| return yystrlen (yystr); |
| |
| return yystpcpy (yyres, yystr) - yyres; |
| } |
| # endif |
| |
| /* Copy into *YYMSG, which is of size *YYMSG_ALLOC, an error message |
| about the unexpected token YYTOKEN for the state stack whose top is |
| YYSSP. |
| |
| Return 0 if *YYMSG was successfully written. Return 1 if *YYMSG is |
| not large enough to hold the message. In that case, also set |
| *YYMSG_ALLOC to the required number of bytes. Return 2 if the |
| required number of bytes is too large to store. */ |
| static int |
| yysyntax_error (YYSIZE_T *yymsg_alloc, char **yymsg, |
| yytype_int16 *yyssp, int yytoken) |
| { |
| YYSIZE_T yysize0 = yytnamerr (YY_NULL, yytname[yytoken]); |
| YYSIZE_T yysize = yysize0; |
| enum { YYERROR_VERBOSE_ARGS_MAXIMUM = 5 }; |
| /* Internationalized format string. */ |
| const char *yyformat = YY_NULL; |
| /* Arguments of yyformat. */ |
| char const *yyarg[YYERROR_VERBOSE_ARGS_MAXIMUM]; |
| /* Number of reported tokens (one for the "unexpected", one per |
| "expected"). */ |
| int yycount = 0; |
| |
| /* There are many possibilities here to consider: |
| - Assume YYFAIL is not used. It's too flawed to consider. See |
| <http://lists.gnu.org/archive/html/bison-patches/2009-12/msg00024.html> |
| for details. YYERROR is fine as it does not invoke this |
| function. |
| - If this state is a consistent state with a default action, then |
| the only way this function was invoked is if the default action |
| is an error action. In that case, don't check for expected |
| tokens because there are none. |
| - The only way there can be no lookahead present (in yychar) is if |
| this state is a consistent state with a default action. Thus, |
| detecting the absence of a lookahead is sufficient to determine |
| that there is no unexpected or expected token to report. In that |
| case, just report a simple "syntax error". |
| - Don't assume there isn't a lookahead just because this state is a |
| consistent state with a default action. There might have been a |
| previous inconsistent state, consistent state with a non-default |
| action, or user semantic action that manipulated yychar. |
| - Of course, the expected token list depends on states to have |
| correct lookahead information, and it depends on the parser not |
| to perform extra reductions after fetching a lookahead from the |
| scanner and before detecting a syntax error. Thus, state merging |
| (from LALR or IELR) and default reductions corrupt the expected |
| token list. However, the list is correct for canonical LR with |
| one exception: it will still contain any token that will not be |
| accepted due to an error action in a later state. |
| */ |
| if (yytoken != YYEMPTY) |
| { |
| int yyn = yypact[*yyssp]; |
| yyarg[yycount++] = yytname[yytoken]; |
| if (!yypact_value_is_default (yyn)) |
| { |
| /* Start YYX at -YYN if negative to avoid negative indexes in |
| YYCHECK. In other words, skip the first -YYN actions for |
| this state because they are default actions. */ |
| int yyxbegin = yyn < 0 ? -yyn : 0; |
| /* Stay within bounds of both yycheck and yytname. */ |
| int yychecklim = YYLAST - yyn + 1; |
| int yyxend = yychecklim < YYNTOKENS ? yychecklim : YYNTOKENS; |
| int yyx; |
| |
| for (yyx = yyxbegin; yyx < yyxend; ++yyx) |
| if (yycheck[yyx + yyn] == yyx && yyx != YYTERROR |
| && !yytable_value_is_error (yytable[yyx + yyn])) |
| { |
| if (yycount == YYERROR_VERBOSE_ARGS_MAXIMUM) |
| { |
| yycount = 1; |
| yysize = yysize0; |
| break; |
| } |
| yyarg[yycount++] = yytname[yyx]; |
| { |
| YYSIZE_T yysize1 = yysize + yytnamerr (YY_NULL, yytname[yyx]); |
| if (! (yysize <= yysize1 |
| && yysize1 <= YYSTACK_ALLOC_MAXIMUM)) |
| return 2; |
| yysize = yysize1; |
| } |
| } |
| } |
| } |
| |
| switch (yycount) |
| { |
| # define YYCASE_(N, S) \ |
| case N: \ |
| yyformat = S; \ |
| break |
| YYCASE_(0, YY_("syntax error")); |
| YYCASE_(1, YY_("syntax error, unexpected %s")); |
| YYCASE_(2, YY_("syntax error, unexpected %s, expecting %s")); |
| YYCASE_(3, YY_("syntax error, unexpected %s, expecting %s or %s")); |
| YYCASE_(4, YY_("syntax error, unexpected %s, expecting %s or %s or %s")); |
| YYCASE_(5, YY_("syntax error, unexpected %s, expecting %s or %s or %s or %s")); |
| # undef YYCASE_ |
| } |
| |
| { |
| YYSIZE_T yysize1 = yysize + yystrlen (yyformat); |
| if (! (yysize <= yysize1 && yysize1 <= YYSTACK_ALLOC_MAXIMUM)) |
| return 2; |
| yysize = yysize1; |
| } |
| |
| if (*yymsg_alloc < yysize) |
| { |
| *yymsg_alloc = 2 * yysize; |
| if (! (yysize <= *yymsg_alloc |
| && *yymsg_alloc <= YYSTACK_ALLOC_MAXIMUM)) |
| *yymsg_alloc = YYSTACK_ALLOC_MAXIMUM; |
| return 1; |
| } |
| |
| /* Avoid sprintf, as that infringes on the user's name space. |
| Don't have undefined behavior even if the translation |
| produced a string with the wrong number of "%s"s. */ |
| { |
| char *yyp = *yymsg; |
| int yyi = 0; |
| while ((*yyp = *yyformat) != '\0') |
| if (*yyp == '%' && yyformat[1] == 's' && yyi < yycount) |
| { |
| yyp += yytnamerr (yyp, yyarg[yyi++]); |
| yyformat += 2; |
| } |
| else |
| { |
| yyp++; |
| yyformat++; |
| } |
| } |
| return 0; |
| } |
| #endif /* YYERROR_VERBOSE */ |
| |
| /*-----------------------------------------------. |
| | Release the memory associated to this symbol. | |
| `-----------------------------------------------*/ |
| |
| /*ARGSUSED*/ |
| #if (defined __STDC__ || defined __C99__FUNC__ \ |
| || defined __cplusplus || defined _MSC_VER) |
| static void |
| yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep, YYLTYPE *yylocationp, TParseContext* context) |
| #else |
| static void |
| yydestruct (yymsg, yytype, yyvaluep, yylocationp, context) |
| const char *yymsg; |
| int yytype; |
| YYSTYPE *yyvaluep; |
| YYLTYPE *yylocationp; |
| TParseContext* context; |
| #endif |
| { |
| YYUSE (yyvaluep); |
| YYUSE (yylocationp); |
| YYUSE (context); |
| |
| if (!yymsg) |
| yymsg = "Deleting"; |
| YY_SYMBOL_PRINT (yymsg, yytype, yyvaluep, yylocationp); |
| |
| switch (yytype) |
| { |
| |
| default: |
| break; |
| } |
| } |
| |
| |
| |
| |
| /*----------. |
| | yyparse. | |
| `----------*/ |
| |
| #ifdef YYPARSE_PARAM |
| #if (defined __STDC__ || defined __C99__FUNC__ \ |
| || defined __cplusplus || defined _MSC_VER) |
| int |
| yyparse (void *YYPARSE_PARAM) |
| #else |
| int |
| yyparse (YYPARSE_PARAM) |
| void *YYPARSE_PARAM; |
| #endif |
| #else /* ! YYPARSE_PARAM */ |
| #if (defined __STDC__ || defined __C99__FUNC__ \ |
| || defined __cplusplus || defined _MSC_VER) |
| int |
| yyparse (TParseContext* context) |
| #else |
| int |
| yyparse (context) |
| TParseContext* context; |
| #endif |
| #endif |
| { |
| /* The lookahead symbol. */ |
| int yychar; |
| |
| |
| #if defined __GNUC__ && 407 <= __GNUC__ * 100 + __GNUC_MINOR__ |
| /* Suppress an incorrect diagnostic about yylval being uninitialized. */ |
| # define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN \ |
| _Pragma ("GCC diagnostic push") \ |
| _Prag
|