michael@0: /* A Bison parser, made by GNU Bison 2.7. */ michael@0: michael@0: /* Bison interface for Yacc-like parsers in C michael@0: michael@0: Copyright (C) 1984, 1989-1990, 2000-2012 Free Software Foundation, Inc. michael@0: michael@0: This program is free software: you can redistribute it and/or modify michael@0: it under the terms of the GNU General Public License as published by michael@0: the Free Software Foundation, either version 3 of the License, or michael@0: (at your option) any later version. michael@0: michael@0: This program is distributed in the hope that it will be useful, michael@0: but WITHOUT ANY WARRANTY; without even the implied warranty of michael@0: MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the michael@0: GNU General Public License for more details. michael@0: michael@0: You should have received a copy of the GNU General Public License michael@0: along with this program. If not, see . */ michael@0: michael@0: /* As a special exception, you may create a larger work that contains michael@0: part or all of the Bison parser skeleton and distribute that work michael@0: under terms of your choice, so long as that work isn't itself a michael@0: parser generator using the skeleton or a modified version thereof michael@0: as a parser skeleton. Alternatively, if you modify or redistribute michael@0: the parser skeleton itself, you may (at your option) remove this michael@0: special exception, which will cause the skeleton and the resulting michael@0: Bison output files to be licensed under the GNU General Public michael@0: License without this special exception. michael@0: michael@0: This special exception was added by the Free Software Foundation in michael@0: version 2.2 of Bison. */ michael@0: michael@0: #ifndef YY_YY_GLSLANG_TAB_H_INCLUDED michael@0: # define YY_YY_GLSLANG_TAB_H_INCLUDED michael@0: /* Enabling traces. */ michael@0: #ifndef YYDEBUG michael@0: # define YYDEBUG 0 michael@0: #endif michael@0: #if YYDEBUG michael@0: extern int yydebug; michael@0: #endif michael@0: /* "%code requires" blocks. */ michael@0: michael@0: michael@0: #define YYLTYPE TSourceLoc michael@0: #define YYLTYPE_IS_DECLARED 1 michael@0: michael@0: michael@0: michael@0: michael@0: /* Tokens. */ michael@0: #ifndef YYTOKENTYPE michael@0: # define YYTOKENTYPE michael@0: /* Put the tokens into the symbol table, so that GDB and other debuggers michael@0: know about them. */ michael@0: enum yytokentype { michael@0: INVARIANT = 258, michael@0: HIGH_PRECISION = 259, michael@0: MEDIUM_PRECISION = 260, michael@0: LOW_PRECISION = 261, michael@0: PRECISION = 262, michael@0: ATTRIBUTE = 263, michael@0: CONST_QUAL = 264, michael@0: BOOL_TYPE = 265, michael@0: FLOAT_TYPE = 266, michael@0: INT_TYPE = 267, michael@0: BREAK = 268, michael@0: CONTINUE = 269, michael@0: DO = 270, michael@0: ELSE = 271, michael@0: FOR = 272, michael@0: IF = 273, michael@0: DISCARD = 274, michael@0: RETURN = 275, michael@0: BVEC2 = 276, michael@0: BVEC3 = 277, michael@0: BVEC4 = 278, michael@0: IVEC2 = 279, michael@0: IVEC3 = 280, michael@0: IVEC4 = 281, michael@0: VEC2 = 282, michael@0: VEC3 = 283, michael@0: VEC4 = 284, michael@0: MATRIX2 = 285, michael@0: MATRIX3 = 286, michael@0: MATRIX4 = 287, michael@0: IN_QUAL = 288, michael@0: OUT_QUAL = 289, michael@0: INOUT_QUAL = 290, michael@0: UNIFORM = 291, michael@0: VARYING = 292, michael@0: STRUCT = 293, michael@0: VOID_TYPE = 294, michael@0: WHILE = 295, michael@0: SAMPLER2D = 296, michael@0: SAMPLERCUBE = 297, michael@0: SAMPLER_EXTERNAL_OES = 298, michael@0: SAMPLER2DRECT = 299, michael@0: IDENTIFIER = 300, michael@0: TYPE_NAME = 301, michael@0: FLOATCONSTANT = 302, michael@0: INTCONSTANT = 303, michael@0: BOOLCONSTANT = 304, michael@0: LEFT_OP = 305, michael@0: RIGHT_OP = 306, michael@0: INC_OP = 307, michael@0: DEC_OP = 308, michael@0: LE_OP = 309, michael@0: GE_OP = 310, michael@0: EQ_OP = 311, michael@0: NE_OP = 312, michael@0: AND_OP = 313, michael@0: OR_OP = 314, michael@0: XOR_OP = 315, michael@0: MUL_ASSIGN = 316, michael@0: DIV_ASSIGN = 317, michael@0: ADD_ASSIGN = 318, michael@0: MOD_ASSIGN = 319, michael@0: LEFT_ASSIGN = 320, michael@0: RIGHT_ASSIGN = 321, michael@0: AND_ASSIGN = 322, michael@0: XOR_ASSIGN = 323, michael@0: OR_ASSIGN = 324, michael@0: SUB_ASSIGN = 325, michael@0: LEFT_PAREN = 326, michael@0: RIGHT_PAREN = 327, michael@0: LEFT_BRACKET = 328, michael@0: RIGHT_BRACKET = 329, michael@0: LEFT_BRACE = 330, michael@0: RIGHT_BRACE = 331, michael@0: DOT = 332, michael@0: COMMA = 333, michael@0: COLON = 334, michael@0: EQUAL = 335, michael@0: SEMICOLON = 336, michael@0: BANG = 337, michael@0: DASH = 338, michael@0: TILDE = 339, michael@0: PLUS = 340, michael@0: STAR = 341, michael@0: SLASH = 342, michael@0: PERCENT = 343, michael@0: LEFT_ANGLE = 344, michael@0: RIGHT_ANGLE = 345, michael@0: VERTICAL_BAR = 346, michael@0: CARET = 347, michael@0: AMPERSAND = 348, michael@0: QUESTION = 349 michael@0: }; michael@0: #endif michael@0: michael@0: michael@0: #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED michael@0: typedef union YYSTYPE michael@0: { michael@0: michael@0: michael@0: struct { michael@0: union { michael@0: TString *string; michael@0: float f; michael@0: int i; michael@0: bool b; michael@0: }; michael@0: TSymbol* symbol; michael@0: } lex; michael@0: struct { michael@0: TOperator op; michael@0: union { michael@0: TIntermNode* intermNode; michael@0: TIntermNodePair nodePair; michael@0: TIntermTyped* intermTypedNode; michael@0: TIntermAggregate* intermAggregate; michael@0: }; michael@0: union { michael@0: TPublicType type; michael@0: TPrecision precision; michael@0: TQualifier qualifier; michael@0: TFunction* function; michael@0: TParameter param; michael@0: TField* field; michael@0: TFieldList* fieldList; michael@0: }; michael@0: } interm; michael@0: michael@0: michael@0: michael@0: } YYSTYPE; michael@0: # define YYSTYPE_IS_TRIVIAL 1 michael@0: # define yystype YYSTYPE /* obsolescent; will be withdrawn */ michael@0: # define YYSTYPE_IS_DECLARED 1 michael@0: #endif michael@0: michael@0: #if ! defined YYLTYPE && ! defined YYLTYPE_IS_DECLARED michael@0: typedef struct YYLTYPE michael@0: { michael@0: int first_line; michael@0: int first_column; michael@0: int last_line; michael@0: int last_column; michael@0: } YYLTYPE; michael@0: # define yyltype YYLTYPE /* obsolescent; will be withdrawn */ michael@0: # define YYLTYPE_IS_DECLARED 1 michael@0: # define YYLTYPE_IS_TRIVIAL 1 michael@0: #endif michael@0: michael@0: michael@0: #ifdef YYPARSE_PARAM michael@0: #if defined __STDC__ || defined __cplusplus michael@0: int yyparse (void *YYPARSE_PARAM); michael@0: #else michael@0: int yyparse (); michael@0: #endif michael@0: #else /* ! YYPARSE_PARAM */ michael@0: #if defined __STDC__ || defined __cplusplus michael@0: int yyparse (TParseContext* context); michael@0: #else michael@0: int yyparse (); michael@0: #endif michael@0: #endif /* ! YYPARSE_PARAM */ michael@0: michael@0: #endif /* !YY_YY_GLSLANG_TAB_H_INCLUDED */