1/* A Bison parser, made by GNU Bison 2.7.1. */ 2 3/* Bison interface for Yacc-like parsers in C 4 5 Copyright (C) 1984, 1989-1990, 2000-2013 Free Software Foundation, Inc. 6 7 This program is free software: you can redistribute it and/or modify 8 it under the terms of the GNU General Public License as published by 9 the Free Software Foundation, either version 3 of the License, or 10 (at your option) any later version. 11 12 This program is distributed in the hope that it will be useful, 13 but WITHOUT ANY WARRANTY; without even the implied warranty of 14 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 15 GNU General Public License for more details. 16 17 You should have received a copy of the GNU General Public License 18 along with this program. If not, see <http://www.gnu.org/licenses/>. */ 19 20/* As a special exception, you may create a larger work that contains 21 part or all of the Bison parser skeleton and distribute that work 22 under terms of your choice, so long as that work isn't itself a 23 parser generator using the skeleton or a modified version thereof 24 as a parser skeleton. Alternatively, if you modify or redistribute 25 the parser skeleton itself, you may (at your option) remove this 26 special exception, which will cause the skeleton and the resulting 27 Bison output files to be licensed under the GNU General Public 28 License without this special exception. 29 30 This special exception was added by the Free Software Foundation in 31 version 2.2 of Bison. */ 32 33#ifndef YY_YY_GLSLANG_TAB_H_INCLUDED 34# define YY_YY_GLSLANG_TAB_H_INCLUDED 35/* Enabling traces. */ 36#ifndef YYDEBUG 37# define YYDEBUG 0 38#endif 39#if YYDEBUG 40extern int yydebug; 41#endif 42/* "%code requires" blocks. */ 43 44 45#define YYLTYPE TSourceLoc 46#define YYLTYPE_IS_DECLARED 1 47 48 49 50 51/* Tokens. */ 52#ifndef YYTOKENTYPE 53# define YYTOKENTYPE 54 /* Put the tokens into the symbol table, so that GDB and other debuggers 55 know about them. */ 56 enum yytokentype { 57 INVARIANT = 258, 58 HIGH_PRECISION = 259, 59 MEDIUM_PRECISION = 260, 60 LOW_PRECISION = 261, 61 PRECISION = 262, 62 ATTRIBUTE = 263, 63 CONST_QUAL = 264, 64 BOOL_TYPE = 265, 65 FLOAT_TYPE = 266, 66 INT_TYPE = 267, 67 UINT_TYPE = 268, 68 BREAK = 269, 69 CONTINUE = 270, 70 DO = 271, 71 ELSE = 272, 72 FOR = 273, 73 IF = 274, 74 DISCARD = 275, 75 RETURN = 276, 76 SWITCH = 277, 77 CASE = 278, 78 DEFAULT = 279, 79 BVEC2 = 280, 80 BVEC3 = 281, 81 BVEC4 = 282, 82 IVEC2 = 283, 83 IVEC3 = 284, 84 IVEC4 = 285, 85 VEC2 = 286, 86 VEC3 = 287, 87 VEC4 = 288, 88 UVEC2 = 289, 89 UVEC3 = 290, 90 UVEC4 = 291, 91 MATRIX2 = 292, 92 MATRIX3 = 293, 93 MATRIX4 = 294, 94 IN_QUAL = 295, 95 OUT_QUAL = 296, 96 INOUT_QUAL = 297, 97 UNIFORM = 298, 98 VARYING = 299, 99 MATRIX2x3 = 300, 100 MATRIX3x2 = 301, 101 MATRIX2x4 = 302, 102 MATRIX4x2 = 303, 103 MATRIX3x4 = 304, 104 MATRIX4x3 = 305, 105 CENTROID = 306, 106 FLAT = 307, 107 SMOOTH = 308, 108 STRUCT = 309, 109 VOID_TYPE = 310, 110 WHILE = 311, 111 SAMPLER2D = 312, 112 SAMPLERCUBE = 313, 113 SAMPLER_EXTERNAL_OES = 314, 114 SAMPLER2DRECT = 315, 115 SAMPLER2DARRAY = 316, 116 ISAMPLER2D = 317, 117 ISAMPLER3D = 318, 118 ISAMPLERCUBE = 319, 119 ISAMPLER2DARRAY = 320, 120 USAMPLER2D = 321, 121 USAMPLER3D = 322, 122 USAMPLERCUBE = 323, 123 USAMPLER2DARRAY = 324, 124 SAMPLER3D = 325, 125 SAMPLER3DRECT = 326, 126 SAMPLER2DSHADOW = 327, 127 SAMPLERCUBESHADOW = 328, 128 SAMPLER2DARRAYSHADOW = 329, 129 LAYOUT = 330, 130 IDENTIFIER = 331, 131 TYPE_NAME = 332, 132 FLOATCONSTANT = 333, 133 INTCONSTANT = 334, 134 UINTCONSTANT = 335, 135 BOOLCONSTANT = 336, 136 FIELD_SELECTION = 337, 137 LEFT_OP = 338, 138 RIGHT_OP = 339, 139 INC_OP = 340, 140 DEC_OP = 341, 141 LE_OP = 342, 142 GE_OP = 343, 143 EQ_OP = 344, 144 NE_OP = 345, 145 AND_OP = 346, 146 OR_OP = 347, 147 XOR_OP = 348, 148 MUL_ASSIGN = 349, 149 DIV_ASSIGN = 350, 150 ADD_ASSIGN = 351, 151 MOD_ASSIGN = 352, 152 LEFT_ASSIGN = 353, 153 RIGHT_ASSIGN = 354, 154 AND_ASSIGN = 355, 155 XOR_ASSIGN = 356, 156 OR_ASSIGN = 357, 157 SUB_ASSIGN = 358, 158 LEFT_PAREN = 359, 159 RIGHT_PAREN = 360, 160 LEFT_BRACKET = 361, 161 RIGHT_BRACKET = 362, 162 LEFT_BRACE = 363, 163 RIGHT_BRACE = 364, 164 DOT = 365, 165 COMMA = 366, 166 COLON = 367, 167 EQUAL = 368, 168 SEMICOLON = 369, 169 BANG = 370, 170 DASH = 371, 171 TILDE = 372, 172 PLUS = 373, 173 STAR = 374, 174 SLASH = 375, 175 PERCENT = 376, 176 LEFT_ANGLE = 377, 177 RIGHT_ANGLE = 378, 178 VERTICAL_BAR = 379, 179 CARET = 380, 180 AMPERSAND = 381, 181 QUESTION = 382 182 }; 183#endif 184 185 186#if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED 187typedef union YYSTYPE 188{ 189 190 191 struct { 192 union { 193 TString *string; 194 float f; 195 int i; 196 unsigned int u; 197 bool b; 198 }; 199 TSymbol* symbol; 200 } lex; 201 struct { 202 TOperator op; 203 union { 204 TIntermNode* intermNode; 205 TIntermNodePair nodePair; 206 TIntermTyped* intermTypedNode; 207 TIntermAggregate* intermAggregate; 208 }; 209 union { 210 TPublicType type; 211 TPrecision precision; 212 TLayoutQualifier layoutQualifier; 213 TQualifier qualifier; 214 TFunction* function; 215 TParameter param; 216 TField* field; 217 TFieldList* fieldList; 218 }; 219 } interm; 220 221 222 223} YYSTYPE; 224# define YYSTYPE_IS_TRIVIAL 1 225# define yystype YYSTYPE /* obsolescent; will be withdrawn */ 226# define YYSTYPE_IS_DECLARED 1 227#endif 228 229#if ! defined YYLTYPE && ! defined YYLTYPE_IS_DECLARED 230typedef struct YYLTYPE 231{ 232 int first_line; 233 int first_column; 234 int last_line; 235 int last_column; 236} YYLTYPE; 237# define yyltype YYLTYPE /* obsolescent; will be withdrawn */ 238# define YYLTYPE_IS_DECLARED 1 239# define YYLTYPE_IS_TRIVIAL 1 240#endif 241 242 243#ifdef YYPARSE_PARAM 244#if defined __STDC__ || defined __cplusplus 245int yyparse (void *YYPARSE_PARAM); 246#else 247int yyparse (); 248#endif 249#else /* ! YYPARSE_PARAM */ 250#if defined __STDC__ || defined __cplusplus 251int yyparse (TParseContext* context); 252#else 253int yyparse (); 254#endif 255#endif /* ! YYPARSE_PARAM */ 256 257#endif /* !YY_YY_GLSLANG_TAB_H_INCLUDED */ 258