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