webkit  2cdf99a9e3038c7e01b3c37e8ad903ecbe5eecf1
https://github.com/WebKit/webkit
glslang_tab.h
Go to the documentation of this file.
1 /* A Bison parser, made by GNU Bison 3.0.4. */
2 
3 /* Apple Note: For the avoidance of doubt, Apple elects to distribute this file under the terms of the BSD license. */
4 
5 /* Bison interface for Yacc-like parsers in C
6 
7  Copyright (C) 1984, 1989-1990, 2000-2015 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 #ifndef YY_YY_GLSLANG_TAB_H_INCLUDED
36 # define YY_YY_GLSLANG_TAB_H_INCLUDED
37 /* Debug traces. */
38 #ifndef YYDEBUG
39 # define YYDEBUG 0
40 #endif
41 #if YYDEBUG
42 extern int yydebug;
43 #endif
44 /* "%code requires" blocks. */
45 
46 
47 #define YYLTYPE TSourceLoc
48 #define YYLTYPE_IS_DECLARED 1
49 
50 
51 
52 /* Token type. */
53 #ifndef YYTOKENTYPE
54 # define YYTOKENTYPE
56  {
57  INVARIANT = 258,
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,
116  ISAMPLER2D = 317,
117  ISAMPLER3D = 318,
120  USAMPLER2D = 321,
121  USAMPLER3D = 322,
124  SAMPLER3D = 325,
129  LAYOUT = 330,
130  IDENTIFIER = 331,
131  TYPE_NAME = 332,
133  INTCONSTANT = 334,
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,
154  AND_ASSIGN = 355,
155  XOR_ASSIGN = 356,
156  OR_ASSIGN = 357,
157  SUB_ASSIGN = 358,
158  LEFT_PAREN = 359,
159  RIGHT_PAREN = 360,
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,
179  CARET = 380,
180  AMPERSAND = 381,
181  QUESTION = 382
182  };
183 #endif
184 
185 /* Value type. */
186 #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
187 
188 union YYSTYPE
189 {
190 
191 
192  struct {
193  union {
194  TString *string;
195  float f;
196  int i;
197  unsigned int u;
198  bool b;
199  };
200  TSymbol* symbol;
201  } lex;
202  struct {
203  TOperator op;
204  union {
211  };
212  union {
218  TFunction* function;
220  TField* field;
224  };
225  } interm;
226 
227 
228 };
229 
230 typedef union YYSTYPE YYSTYPE;
231 # define YYSTYPE_IS_TRIVIAL 1
232 # define YYSTYPE_IS_DECLARED 1
233 #endif
234 
235 /* Location type. */
236 #if ! defined YYLTYPE && ! defined YYLTYPE_IS_DECLARED
237 typedef struct YYLTYPE YYLTYPE;
238 struct YYLTYPE
239 {
240  int first_line;
241  int first_column;
242  int last_line;
243  int last_column;
244 };
245 # define YYLTYPE_IS_DECLARED 1
246 # define YYLTYPE_IS_TRIVIAL 1
247 #endif
248 
249 
250 
251 int yyparse (TParseContext* context, void *scanner);
252 
253 #endif /* !YY_YY_GLSLANG_TAB_H_INCLUDED */
Definition: glslang_tab.h:72
Definition: glslang_tab.h:161
Definition: glslang_tab.h:82
Definition: glslang_tab.h:122
int yyparse(TParseContext *context, void *scanner)
Definition: glslang_tab.cpp:2082
Definition: glslang_tab.h:128
Definition: glslang_tab.h:98
Definition: glslang_tab.h:140
Definition: glslang_tab.h:155
TIntermTyped * intermTypedNode
Definition: glslang_tab.cpp:294
Definition: glslang_tab.h:83
Definition: glslang_tab.h:153
TQualifier
Definition: BaseTypes.h:295
Definition: glslang_tab.h:174
Definition: glslang_tab.h:164
Definition: glslang_tab.h:157
TTypeSpecifierNonArray typeSpecifierNonArray
Definition: glslang_tab.cpp:301
Definition: glslang_tab.h:60
Definition: Types.h:21
Definition: glslang_tab.h:92
Definition: glslang_tab.h:58
TField * field
Definition: glslang_tab.cpp:308
Definition: glslang_tab.h:124
Definition: Types.h:640
TPrecision precision
Definition: glslang_tab.cpp:303
Definition: glslang_tab.h:144
Definition: glslang_tab.h:85
Definition: glslang_tab.h:100
Definition: glslang_tab.h:149
Definition: glslang_tab.h:145
Definition: glslang_tab.h:110
Definition: glslang_tab.h:118
Definition: glslang_tab.h:119
TTypeQualifierBuilder * typeQualifierBuilder
Definition: glslang_tab.cpp:311
Definition: glslang_tab.h:76
Definition: glslang_tab.h:66
Definition: QualifierTypes.h:33
Definition: glslang_tab.h:115
Definition: glslang_tab.h:99
Definition: glslang_tab.h:150
float f
Definition: glslang_tab.cpp:282
Definition: glslang_tab.h:114
Definition: glslang_tab.h:141
Definition: glslang_tab.h:59
Definition: glslang_tab.h:78
Definition: glslang_tab.h:74
Definition: glslang_tab.h:165
Definition: IntermNode.h:134
Definition: glslang_tab.h:179
Definition: glslang_tab.h:116
Definition: glslang_tab.h:132
Definition: glslang_tab.h:57
Definition: glslang_tab.h:173
Definition: glslang_tab.cpp:275
Definition: glslang_tab.h:169
Definition: glslang_tab.h:178
Definition: glslang_tab.h:131
Definition: glslang_tab.h:148
Definition: IntermNode.h:623
Definition: glslang_tab.h:70
Definition: glslang_tab.h:71
Definition: SymbolTable.h:42
Definition: glslang_tab.h:123
Definition: glslang_tab.h:135
Definition: glslang_tab.h:146
TPublicType type
Definition: glslang_tab.cpp:302
Definition: glslang_tab.h:109
Definition: xmltok.h:118
Definition: glslang_tab.h:125
struct YYSTYPE::@633 lex
Definition: glslang_tab.h:133
Definition: glslang_tab.h:65
Definition: glslang_tab.h:95
Definition: glslang_tab.h:180
Definition: glslang_tab.h:87
Definition: glslang_tab.h:75
Definition: glslang_tab.h:143
Definition: glslang_tab.h:175
Definition: glslang_tab.h:166
#define yydebug
Definition: ExpressionParser.cpp:68
TLayoutQualifier layoutQualifier
Definition: glslang_tab.cpp:304
Definition: glslang_tab.h:93
Definition: glslang_tab.h:127
Definition: glslang_tab.h:129
Definition: glslang_tab.h:121
Definition: glslang_tab.h:86
Definition: glslang_tab.h:105
Definition: glslang_tab.h:96
TIntermNode * intermNode
Definition: glslang_tab.cpp:292
Definition: IntermNode.h:771
Definition: glslang_tab.h:152
Definition: glslang_tab.h:147
Definition: glslang_tab.h:63
Definition: glslang_tab.h:111
Definition: glslang_tab.h:117
Definition: glslang_tab.h:120
Definition: glslang_tab.h:151
Definition: glslang_tab.h:134
Definition: glslang_tab.h:89
Definition: glslang_tab.h:139
Definition: glslang_tab.h:91
Definition: glslang_tab.h:69
Definition: glslang_tab.h:67
std::basic_string< char, std::char_traits< char >, TStringAllocator > TString
Definition: Common.h:45
Definition: glslang_tab.h:126
Definition: glslang_tab.h:90
TQualifierWrapperBase * qualifierWrapper
Definition: glslang_tab.cpp:310
Definition: glslang_tab.h:171
Definition: glslang_tab.h:159
Definition: glslang_tab.h:101
TQualifier qualifier
Definition: glslang_tab.cpp:305
Definition: glslang_tab.h:172
TOperator op
Definition: glslang_tab.cpp:290
Definition: glslang_tab.h:102
Definition: glslang_tab.h:104
Definition: glslang_tab.h:162
Definition: glslang_tab.h:160
TIntermSwitch * intermSwitch
Definition: glslang_tab.cpp:297
Definition: glslang_tab.h:94
Definition: SymbolTable.h:191
Definition: glslang_tab.h:80
TIntermAggregate * intermAggregate
Definition: glslang_tab.cpp:295
TIntermCase * intermCase
Definition: glslang_tab.cpp:298
Definition: glslang_tab.h:81
Definition: glslang_tab.h:113
Definition: glslang_tab.h:68
Definition: ParseContext.h:29
Definition: glslang_tab.h:77
bool b
Definition: glslang_tab.cpp:285
Definition: glslang_tab.h:163
Definition: Common.h:64
Definition: glslang_tab.h:158
TPrecision
Definition: BaseTypes.h:19
Definition: SymbolTable.h:172
Definition: glslang_tab.h:106
Definition: IntermNode.h:79
Definition: glslang_tab.h:79
Definition: glslang_tab.h:97
Definition: IntermNode.h:797
Definition: glslang_tab.h:73
TFieldList * fieldList
Definition: glslang_tab.cpp:309
Definition: glslang_tab.h:176
Definition: BaseTypes.h:387
Definition: glslang_tab.h:88
Definition: glslang_tab.h:107
Definition: Types.h:593
Definition: glslang_tab.h:154
Definition: glslang_tab.h:138
Definition: glslang_tab.h:64
TParameter param
Definition: glslang_tab.cpp:307
Definition: glslang_tab.h:136
Definition: glslang_tab.h:108
Definition: glslang_tab.h:167
Definition: glslang_tab.h:142
Definition: IntermNode.h:125
struct YYSTYPE::@634 interm
Definition: glslang_tab.h:137
Definition: glslang_tab.h:170
Definition: glslang_tab.h:84
U_CDECL_BEGIN typedef void * context
Definition: ustring.h:1023
Definition: SourceLocation.h:13
Definition: QualifierTypes.h:145
yytokentype
Definition: ExpressionParser.cpp:174
Definition: glslang_tab.h:168
Definition: glslang_tab.h:112
TString * string
Definition: glslang_tab.cpp:281
int i
Definition: glslang_tab.cpp:283
TOperator
Definition: Operator.h:13
TIntermNodePair nodePair
Definition: glslang_tab.cpp:293
Definition: glslang_tab.h:177
TSymbol * symbol
Definition: glslang_tab.cpp:287
Definition: glslang_tab.h:181
Definition: glslang_tab.h:103
Definition: glslang_tab.h:61
Definition: glslang_tab.h:156
Definition: glslang_tab.h:130
unsigned int u
Definition: glslang_tab.cpp:284