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