|
1 /* A Bison parser, made by GNU Bison 2.7. */ |
|
2 |
|
3 /* Bison interface for Yacc-like parsers in C |
|
4 |
|
5 Copyright (C) 1984, 1989-1990, 2000-2012 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 |
|
40 extern 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 BREAK = 268, |
|
68 CONTINUE = 269, |
|
69 DO = 270, |
|
70 ELSE = 271, |
|
71 FOR = 272, |
|
72 IF = 273, |
|
73 DISCARD = 274, |
|
74 RETURN = 275, |
|
75 BVEC2 = 276, |
|
76 BVEC3 = 277, |
|
77 BVEC4 = 278, |
|
78 IVEC2 = 279, |
|
79 IVEC3 = 280, |
|
80 IVEC4 = 281, |
|
81 VEC2 = 282, |
|
82 VEC3 = 283, |
|
83 VEC4 = 284, |
|
84 MATRIX2 = 285, |
|
85 MATRIX3 = 286, |
|
86 MATRIX4 = 287, |
|
87 IN_QUAL = 288, |
|
88 OUT_QUAL = 289, |
|
89 INOUT_QUAL = 290, |
|
90 UNIFORM = 291, |
|
91 VARYING = 292, |
|
92 STRUCT = 293, |
|
93 VOID_TYPE = 294, |
|
94 WHILE = 295, |
|
95 SAMPLER2D = 296, |
|
96 SAMPLERCUBE = 297, |
|
97 SAMPLER_EXTERNAL_OES = 298, |
|
98 SAMPLER2DRECT = 299, |
|
99 IDENTIFIER = 300, |
|
100 TYPE_NAME = 301, |
|
101 FLOATCONSTANT = 302, |
|
102 INTCONSTANT = 303, |
|
103 BOOLCONSTANT = 304, |
|
104 LEFT_OP = 305, |
|
105 RIGHT_OP = 306, |
|
106 INC_OP = 307, |
|
107 DEC_OP = 308, |
|
108 LE_OP = 309, |
|
109 GE_OP = 310, |
|
110 EQ_OP = 311, |
|
111 NE_OP = 312, |
|
112 AND_OP = 313, |
|
113 OR_OP = 314, |
|
114 XOR_OP = 315, |
|
115 MUL_ASSIGN = 316, |
|
116 DIV_ASSIGN = 317, |
|
117 ADD_ASSIGN = 318, |
|
118 MOD_ASSIGN = 319, |
|
119 LEFT_ASSIGN = 320, |
|
120 RIGHT_ASSIGN = 321, |
|
121 AND_ASSIGN = 322, |
|
122 XOR_ASSIGN = 323, |
|
123 OR_ASSIGN = 324, |
|
124 SUB_ASSIGN = 325, |
|
125 LEFT_PAREN = 326, |
|
126 RIGHT_PAREN = 327, |
|
127 LEFT_BRACKET = 328, |
|
128 RIGHT_BRACKET = 329, |
|
129 LEFT_BRACE = 330, |
|
130 RIGHT_BRACE = 331, |
|
131 DOT = 332, |
|
132 COMMA = 333, |
|
133 COLON = 334, |
|
134 EQUAL = 335, |
|
135 SEMICOLON = 336, |
|
136 BANG = 337, |
|
137 DASH = 338, |
|
138 TILDE = 339, |
|
139 PLUS = 340, |
|
140 STAR = 341, |
|
141 SLASH = 342, |
|
142 PERCENT = 343, |
|
143 LEFT_ANGLE = 344, |
|
144 RIGHT_ANGLE = 345, |
|
145 VERTICAL_BAR = 346, |
|
146 CARET = 347, |
|
147 AMPERSAND = 348, |
|
148 QUESTION = 349 |
|
149 }; |
|
150 #endif |
|
151 |
|
152 |
|
153 #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED |
|
154 typedef union YYSTYPE |
|
155 { |
|
156 |
|
157 |
|
158 struct { |
|
159 union { |
|
160 TString *string; |
|
161 float f; |
|
162 int i; |
|
163 bool b; |
|
164 }; |
|
165 TSymbol* symbol; |
|
166 } lex; |
|
167 struct { |
|
168 TOperator op; |
|
169 union { |
|
170 TIntermNode* intermNode; |
|
171 TIntermNodePair nodePair; |
|
172 TIntermTyped* intermTypedNode; |
|
173 TIntermAggregate* intermAggregate; |
|
174 }; |
|
175 union { |
|
176 TPublicType type; |
|
177 TPrecision precision; |
|
178 TQualifier qualifier; |
|
179 TFunction* function; |
|
180 TParameter param; |
|
181 TField* field; |
|
182 TFieldList* fieldList; |
|
183 }; |
|
184 } interm; |
|
185 |
|
186 |
|
187 |
|
188 } YYSTYPE; |
|
189 # define YYSTYPE_IS_TRIVIAL 1 |
|
190 # define yystype YYSTYPE /* obsolescent; will be withdrawn */ |
|
191 # define YYSTYPE_IS_DECLARED 1 |
|
192 #endif |
|
193 |
|
194 #if ! defined YYLTYPE && ! defined YYLTYPE_IS_DECLARED |
|
195 typedef struct YYLTYPE |
|
196 { |
|
197 int first_line; |
|
198 int first_column; |
|
199 int last_line; |
|
200 int last_column; |
|
201 } YYLTYPE; |
|
202 # define yyltype YYLTYPE /* obsolescent; will be withdrawn */ |
|
203 # define YYLTYPE_IS_DECLARED 1 |
|
204 # define YYLTYPE_IS_TRIVIAL 1 |
|
205 #endif |
|
206 |
|
207 |
|
208 #ifdef YYPARSE_PARAM |
|
209 #if defined __STDC__ || defined __cplusplus |
|
210 int yyparse (void *YYPARSE_PARAM); |
|
211 #else |
|
212 int yyparse (); |
|
213 #endif |
|
214 #else /* ! YYPARSE_PARAM */ |
|
215 #if defined __STDC__ || defined __cplusplus |
|
216 int yyparse (TParseContext* context); |
|
217 #else |
|
218 int yyparse (); |
|
219 #endif |
|
220 #endif /* ! YYPARSE_PARAM */ |
|
221 |
|
222 #endif /* !YY_YY_GLSLANG_TAB_H_INCLUDED */ |