1 /* A Bison parser, made by GNU Bison 3.0.4. */ 2 3 /* Bison interface for Yacc-like parsers in C 4 5 Copyright (C) 1984, 1989-1990, 2000-2015 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_MACHINEINDEPENDENT_GLSLANG_TAB_CPP_H_INCLUDED 34 # define YY_YY_MACHINEINDEPENDENT_GLSLANG_TAB_CPP_H_INCLUDED 35 /* Debug traces. */ 36 #ifndef YYDEBUG 37 # define YYDEBUG 1 38 #endif 39 #if YYDEBUG 40 extern int yydebug; 41 #endif 42 43 /* Token type. */ 44 #ifndef YYTOKENTYPE 45 # define YYTOKENTYPE 46 enum yytokentype 47 { 48 ATTRIBUTE = 258, 49 VARYING = 259, 50 CONST = 260, 51 BOOL = 261, 52 FLOAT = 262, 53 DOUBLE = 263, 54 INT = 264, 55 UINT = 265, 56 INT64_T = 266, 57 UINT64_T = 267, 58 INT16_T = 268, 59 UINT16_T = 269, 60 FLOAT16_T = 270, 61 BREAK = 271, 62 CONTINUE = 272, 63 DO = 273, 64 ELSE = 274, 65 FOR = 275, 66 IF = 276, 67 DISCARD = 277, 68 RETURN = 278, 69 SWITCH = 279, 70 CASE = 280, 71 DEFAULT = 281, 72 SUBROUTINE = 282, 73 BVEC2 = 283, 74 BVEC3 = 284, 75 BVEC4 = 285, 76 IVEC2 = 286, 77 IVEC3 = 287, 78 IVEC4 = 288, 79 I64VEC2 = 289, 80 I64VEC3 = 290, 81 I64VEC4 = 291, 82 UVEC2 = 292, 83 UVEC3 = 293, 84 UVEC4 = 294, 85 U64VEC2 = 295, 86 U64VEC3 = 296, 87 U64VEC4 = 297, 88 VEC2 = 298, 89 VEC3 = 299, 90 VEC4 = 300, 91 MAT2 = 301, 92 MAT3 = 302, 93 MAT4 = 303, 94 CENTROID = 304, 95 IN = 305, 96 OUT = 306, 97 INOUT = 307, 98 UNIFORM = 308, 99 PATCH = 309, 100 SAMPLE = 310, 101 BUFFER = 311, 102 SHARED = 312, 103 COHERENT = 313, 104 VOLATILE = 314, 105 RESTRICT = 315, 106 READONLY = 316, 107 WRITEONLY = 317, 108 DVEC2 = 318, 109 DVEC3 = 319, 110 DVEC4 = 320, 111 DMAT2 = 321, 112 DMAT3 = 322, 113 DMAT4 = 323, 114 F16VEC2 = 324, 115 F16VEC3 = 325, 116 F16VEC4 = 326, 117 F16MAT2 = 327, 118 F16MAT3 = 328, 119 F16MAT4 = 329, 120 I16VEC2 = 330, 121 I16VEC3 = 331, 122 I16VEC4 = 332, 123 U16VEC2 = 333, 124 U16VEC3 = 334, 125 U16VEC4 = 335, 126 NOPERSPECTIVE = 336, 127 FLAT = 337, 128 SMOOTH = 338, 129 LAYOUT = 339, 130 __EXPLICITINTERPAMD = 340, 131 MAT2X2 = 341, 132 MAT2X3 = 342, 133 MAT2X4 = 343, 134 MAT3X2 = 344, 135 MAT3X3 = 345, 136 MAT3X4 = 346, 137 MAT4X2 = 347, 138 MAT4X3 = 348, 139 MAT4X4 = 349, 140 DMAT2X2 = 350, 141 DMAT2X3 = 351, 142 DMAT2X4 = 352, 143 DMAT3X2 = 353, 144 DMAT3X3 = 354, 145 DMAT3X4 = 355, 146 DMAT4X2 = 356, 147 DMAT4X3 = 357, 148 DMAT4X4 = 358, 149 F16MAT2X2 = 359, 150 F16MAT2X3 = 360, 151 F16MAT2X4 = 361, 152 F16MAT3X2 = 362, 153 F16MAT3X3 = 363, 154 F16MAT3X4 = 364, 155 F16MAT4X2 = 365, 156 F16MAT4X3 = 366, 157 F16MAT4X4 = 367, 158 ATOMIC_UINT = 368, 159 SAMPLER1D = 369, 160 SAMPLER2D = 370, 161 SAMPLER3D = 371, 162 SAMPLERCUBE = 372, 163 SAMPLER1DSHADOW = 373, 164 SAMPLER2DSHADOW = 374, 165 SAMPLERCUBESHADOW = 375, 166 SAMPLER1DARRAY = 376, 167 SAMPLER2DARRAY = 377, 168 SAMPLER1DARRAYSHADOW = 378, 169 SAMPLER2DARRAYSHADOW = 379, 170 ISAMPLER1D = 380, 171 ISAMPLER2D = 381, 172 ISAMPLER3D = 382, 173 ISAMPLERCUBE = 383, 174 ISAMPLER1DARRAY = 384, 175 ISAMPLER2DARRAY = 385, 176 USAMPLER1D = 386, 177 USAMPLER2D = 387, 178 USAMPLER3D = 388, 179 USAMPLERCUBE = 389, 180 USAMPLER1DARRAY = 390, 181 USAMPLER2DARRAY = 391, 182 SAMPLER2DRECT = 392, 183 SAMPLER2DRECTSHADOW = 393, 184 ISAMPLER2DRECT = 394, 185 USAMPLER2DRECT = 395, 186 SAMPLERBUFFER = 396, 187 ISAMPLERBUFFER = 397, 188 USAMPLERBUFFER = 398, 189 SAMPLERCUBEARRAY = 399, 190 SAMPLERCUBEARRAYSHADOW = 400, 191 ISAMPLERCUBEARRAY = 401, 192 USAMPLERCUBEARRAY = 402, 193 SAMPLER2DMS = 403, 194 ISAMPLER2DMS = 404, 195 USAMPLER2DMS = 405, 196 SAMPLER2DMSARRAY = 406, 197 ISAMPLER2DMSARRAY = 407, 198 USAMPLER2DMSARRAY = 408, 199 SAMPLEREXTERNALOES = 409, 200 SAMPLER = 410, 201 SAMPLERSHADOW = 411, 202 TEXTURE1D = 412, 203 TEXTURE2D = 413, 204 TEXTURE3D = 414, 205 TEXTURECUBE = 415, 206 TEXTURE1DARRAY = 416, 207 TEXTURE2DARRAY = 417, 208 ITEXTURE1D = 418, 209 ITEXTURE2D = 419, 210 ITEXTURE3D = 420, 211 ITEXTURECUBE = 421, 212 ITEXTURE1DARRAY = 422, 213 ITEXTURE2DARRAY = 423, 214 UTEXTURE1D = 424, 215 UTEXTURE2D = 425, 216 UTEXTURE3D = 426, 217 UTEXTURECUBE = 427, 218 UTEXTURE1DARRAY = 428, 219 UTEXTURE2DARRAY = 429, 220 TEXTURE2DRECT = 430, 221 ITEXTURE2DRECT = 431, 222 UTEXTURE2DRECT = 432, 223 TEXTUREBUFFER = 433, 224 ITEXTUREBUFFER = 434, 225 UTEXTUREBUFFER = 435, 226 TEXTURECUBEARRAY = 436, 227 ITEXTURECUBEARRAY = 437, 228 UTEXTURECUBEARRAY = 438, 229 TEXTURE2DMS = 439, 230 ITEXTURE2DMS = 440, 231 UTEXTURE2DMS = 441, 232 TEXTURE2DMSARRAY = 442, 233 ITEXTURE2DMSARRAY = 443, 234 UTEXTURE2DMSARRAY = 444, 235 SUBPASSINPUT = 445, 236 SUBPASSINPUTMS = 446, 237 ISUBPASSINPUT = 447, 238 ISUBPASSINPUTMS = 448, 239 USUBPASSINPUT = 449, 240 USUBPASSINPUTMS = 450, 241 IMAGE1D = 451, 242 IIMAGE1D = 452, 243 UIMAGE1D = 453, 244 IMAGE2D = 454, 245 IIMAGE2D = 455, 246 UIMAGE2D = 456, 247 IMAGE3D = 457, 248 IIMAGE3D = 458, 249 UIMAGE3D = 459, 250 IMAGE2DRECT = 460, 251 IIMAGE2DRECT = 461, 252 UIMAGE2DRECT = 462, 253 IMAGECUBE = 463, 254 IIMAGECUBE = 464, 255 UIMAGECUBE = 465, 256 IMAGEBUFFER = 466, 257 IIMAGEBUFFER = 467, 258 UIMAGEBUFFER = 468, 259 IMAGE1DARRAY = 469, 260 IIMAGE1DARRAY = 470, 261 UIMAGE1DARRAY = 471, 262 IMAGE2DARRAY = 472, 263 IIMAGE2DARRAY = 473, 264 UIMAGE2DARRAY = 474, 265 IMAGECUBEARRAY = 475, 266 IIMAGECUBEARRAY = 476, 267 UIMAGECUBEARRAY = 477, 268 IMAGE2DMS = 478, 269 IIMAGE2DMS = 479, 270 UIMAGE2DMS = 480, 271 IMAGE2DMSARRAY = 481, 272 IIMAGE2DMSARRAY = 482, 273 UIMAGE2DMSARRAY = 483, 274 STRUCT = 484, 275 VOID = 485, 276 WHILE = 486, 277 IDENTIFIER = 487, 278 TYPE_NAME = 488, 279 FLOATCONSTANT = 489, 280 DOUBLECONSTANT = 490, 281 INTCONSTANT = 491, 282 UINTCONSTANT = 492, 283 INT64CONSTANT = 493, 284 UINT64CONSTANT = 494, 285 INT16CONSTANT = 495, 286 UINT16CONSTANT = 496, 287 BOOLCONSTANT = 497, 288 FLOAT16CONSTANT = 498, 289 LEFT_OP = 499, 290 RIGHT_OP = 500, 291 INC_OP = 501, 292 DEC_OP = 502, 293 LE_OP = 503, 294 GE_OP = 504, 295 EQ_OP = 505, 296 NE_OP = 506, 297 AND_OP = 507, 298 OR_OP = 508, 299 XOR_OP = 509, 300 MUL_ASSIGN = 510, 301 DIV_ASSIGN = 511, 302 ADD_ASSIGN = 512, 303 MOD_ASSIGN = 513, 304 LEFT_ASSIGN = 514, 305 RIGHT_ASSIGN = 515, 306 AND_ASSIGN = 516, 307 XOR_ASSIGN = 517, 308 OR_ASSIGN = 518, 309 SUB_ASSIGN = 519, 310 LEFT_PAREN = 520, 311 RIGHT_PAREN = 521, 312 LEFT_BRACKET = 522, 313 RIGHT_BRACKET = 523, 314 LEFT_BRACE = 524, 315 RIGHT_BRACE = 525, 316 DOT = 526, 317 COMMA = 527, 318 COLON = 528, 319 EQUAL = 529, 320 SEMICOLON = 530, 321 BANG = 531, 322 DASH = 532, 323 TILDE = 533, 324 PLUS = 534, 325 STAR = 535, 326 SLASH = 536, 327 PERCENT = 537, 328 LEFT_ANGLE = 538, 329 RIGHT_ANGLE = 539, 330 VERTICAL_BAR = 540, 331 CARET = 541, 332 AMPERSAND = 542, 333 QUESTION = 543, 334 INVARIANT = 544, 335 PRECISE = 545, 336 HIGH_PRECISION = 546, 337 MEDIUM_PRECISION = 547, 338 LOW_PRECISION = 548, 339 PRECISION = 549, 340 PACKED = 550, 341 RESOURCE = 551, 342 SUPERP = 552 343 }; 344 #endif 345 346 /* Value type. */ 347 #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED 348 349 union YYSTYPE 350 { 351 #line 68 "MachineIndependent/glslang.y" /* yacc.c:1909 */ 352 353 struct { 354 glslang::TSourceLoc loc; 355 union { 356 glslang::TString *string; 357 int i; 358 unsigned int u; 359 long long i64; 360 unsigned long long u64; 361 bool b; 362 double d; 363 }; 364 glslang::TSymbol* symbol; 365 } lex; 366 struct { 367 glslang::TSourceLoc loc; 368 glslang::TOperator op; 369 union { 370 TIntermNode* intermNode; 371 glslang::TIntermNodePair nodePair; 372 glslang::TIntermTyped* intermTypedNode; 373 }; 374 union { 375 glslang::TPublicType type; 376 glslang::TFunction* function; 377 glslang::TParameter param; 378 glslang::TTypeLoc typeLine; 379 glslang::TTypeList* typeList; 380 glslang::TArraySizes* arraySizes; 381 glslang::TIdentifierList* identifierList; 382 }; 383 } interm; 384 385 #line 386 "MachineIndependent/glslang_tab.cpp.h" /* yacc.c:1909 */ 386 }; 387 388 typedef union YYSTYPE YYSTYPE; 389 # define YYSTYPE_IS_TRIVIAL 1 390 # define YYSTYPE_IS_DECLARED 1 391 #endif 392 393 394 395 int yyparse (glslang::TParseContext* pParseContext); 396 397 #endif /* !YY_YY_MACHINEINDEPENDENT_GLSLANG_TAB_CPP_H_INCLUDED */ 398