glslang_tab.h revision 2c1239f554f88546f0f8abf30dc829bb621dd94b
1 2/* A Bison parser, made by GNU Bison 2.4.1. */ 3 4/* Skeleton interface for Bison's Yacc-like parsers in C 5 6 Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003, 2004, 2005, 2006 7 Free Software Foundation, Inc. 8 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. 13 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. 18 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/>. */ 21 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. 31 32 This special exception was added by the Free Software Foundation in 33 version 2.2 of Bison. */ 34 35 36/* Tokens. */ 37#ifndef YYTOKENTYPE 38# define YYTOKENTYPE 39 /* Put the tokens into the symbol table, so that GDB and other debuggers 40 know about them. */ 41 enum yytokentype { 42 INVARIANT = 258, 43 HIGH_PRECISION = 259, 44 MEDIUM_PRECISION = 260, 45 LOW_PRECISION = 261, 46 PRECISION = 262, 47 ATTRIBUTE = 263, 48 CONST_QUAL = 264, 49 BOOL_TYPE = 265, 50 FLOAT_TYPE = 266, 51 INT_TYPE = 267, 52 UINT_TYPE = 268, 53 BREAK = 269, 54 CONTINUE = 270, 55 DO = 271, 56 ELSE = 272, 57 FOR = 273, 58 IF = 274, 59 DISCARD = 275, 60 RETURN = 276, 61 SWITCH = 277, 62 CASE = 278, 63 DEFAULT = 279, 64 BVEC2 = 280, 65 BVEC3 = 281, 66 BVEC4 = 282, 67 IVEC2 = 283, 68 IVEC3 = 284, 69 IVEC4 = 285, 70 VEC2 = 286, 71 VEC3 = 287, 72 VEC4 = 288, 73 UVEC2 = 289, 74 UVEC3 = 290, 75 UVEC4 = 291, 76 MATRIX2 = 292, 77 MATRIX3 = 293, 78 MATRIX4 = 294, 79 IN_QUAL = 295, 80 OUT_QUAL = 296, 81 INOUT_QUAL = 297, 82 UNIFORM = 298, 83 VARYING = 299, 84 CENTROID = 300, 85 FLAT = 301, 86 SMOOTH = 302, 87 STRUCT = 303, 88 VOID_TYPE = 304, 89 WHILE = 305, 90 SAMPLER2D = 306, 91 SAMPLERCUBE = 307, 92 SAMPLER_EXTERNAL_OES = 308, 93 SAMPLER2DRECT = 309, 94 SAMPLER3D = 310, 95 SAMPLER3DRECT = 311, 96 SAMPLER2DSHADOW = 312, 97 IDENTIFIER = 313, 98 TYPE_NAME = 314, 99 FLOATCONSTANT = 315, 100 INTCONSTANT = 316, 101 UINTCONSTANT = 317, 102 BOOLCONSTANT = 318, 103 FIELD_SELECTION = 319, 104 LEFT_OP = 320, 105 RIGHT_OP = 321, 106 INC_OP = 322, 107 DEC_OP = 323, 108 LE_OP = 324, 109 GE_OP = 325, 110 EQ_OP = 326, 111 NE_OP = 327, 112 AND_OP = 328, 113 OR_OP = 329, 114 XOR_OP = 330, 115 MUL_ASSIGN = 331, 116 DIV_ASSIGN = 332, 117 ADD_ASSIGN = 333, 118 MOD_ASSIGN = 334, 119 LEFT_ASSIGN = 335, 120 RIGHT_ASSIGN = 336, 121 AND_ASSIGN = 337, 122 XOR_ASSIGN = 338, 123 OR_ASSIGN = 339, 124 SUB_ASSIGN = 340, 125 LEFT_PAREN = 341, 126 RIGHT_PAREN = 342, 127 LEFT_BRACKET = 343, 128 RIGHT_BRACKET = 344, 129 LEFT_BRACE = 345, 130 RIGHT_BRACE = 346, 131 DOT = 347, 132 COMMA = 348, 133 COLON = 349, 134 EQUAL = 350, 135 SEMICOLON = 351, 136 BANG = 352, 137 DASH = 353, 138 TILDE = 354, 139 PLUS = 355, 140 STAR = 356, 141 SLASH = 357, 142 PERCENT = 358, 143 LEFT_ANGLE = 359, 144 RIGHT_ANGLE = 360, 145 VERTICAL_BAR = 361, 146 CARET = 362, 147 AMPERSAND = 363, 148 QUESTION = 364 149 }; 150#endif 151 152 153 154#if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED 155typedef union YYSTYPE 156{ 157 158 159 struct { 160 TSourceLoc line; 161 union { 162 TString *string; 163 float f; 164 int i; 165 unsigned int u; 166 bool b; 167 }; 168 TSymbol* symbol; 169 } lex; 170 struct { 171 TSourceLoc line; 172 TOperator op; 173 union { 174 TIntermNode* intermNode; 175 TIntermNodePair nodePair; 176 TIntermTyped* intermTypedNode; 177 TIntermAggregate* intermAggregate; 178 }; 179 union { 180 TPublicType type; 181 TPrecision precision; 182 TQualifier qualifier; 183 TFunction* function; 184 TParameter param; 185 TTypeLine typeLine; 186 TTypeList* typeList; 187 }; 188 } interm; 189 190 191 192} YYSTYPE; 193# define YYSTYPE_IS_TRIVIAL 1 194# define yystype YYSTYPE /* obsolescent; will be withdrawn */ 195# define YYSTYPE_IS_DECLARED 1 196#endif 197 198 199 200 201