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