Merge branch 'mesa_7_6_branch'
[mesa.git] / src / mesa / shader / program_parse.tab.h
1 /* A Bison parser, made by GNU Bison 2.3. */
2
3 /* Skeleton interface for Bison's Yacc-like parsers in C
4
5 Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003, 2004, 2005, 2006
6 Free Software Foundation, 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 2, or (at your option)
11 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, write to the Free Software
20 Foundation, Inc., 51 Franklin Street, Fifth Floor,
21 Boston, MA 02110-1301, USA. */
22
23 /* As a special exception, you may create a larger work that contains
24 part or all of the Bison parser skeleton and distribute that work
25 under terms of your choice, so long as that work isn't itself a
26 parser generator using the skeleton or a modified version thereof
27 as a parser skeleton. Alternatively, if you modify or redistribute
28 the parser skeleton itself, you may (at your option) remove this
29 special exception, which will cause the skeleton and the resulting
30 Bison output files to be licensed under the GNU General Public
31 License without this special exception.
32
33 This special exception was added by the Free Software Foundation in
34 version 2.2 of Bison. */
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 ARBvp_10 = 258,
43 ARBfp_10 = 259,
44 ADDRESS = 260,
45 ALIAS = 261,
46 ATTRIB = 262,
47 OPTION = 263,
48 OUTPUT = 264,
49 PARAM = 265,
50 TEMP = 266,
51 END = 267,
52 BIN_OP = 268,
53 BINSC_OP = 269,
54 SAMPLE_OP = 270,
55 SCALAR_OP = 271,
56 TRI_OP = 272,
57 VECTOR_OP = 273,
58 ARL = 274,
59 KIL = 275,
60 SWZ = 276,
61 TXD_OP = 277,
62 INTEGER = 278,
63 REAL = 279,
64 AMBIENT = 280,
65 ATTENUATION = 281,
66 BACK = 282,
67 CLIP = 283,
68 COLOR = 284,
69 DEPTH = 285,
70 DIFFUSE = 286,
71 DIRECTION = 287,
72 EMISSION = 288,
73 ENV = 289,
74 EYE = 290,
75 FOG = 291,
76 FOGCOORD = 292,
77 FRAGMENT = 293,
78 FRONT = 294,
79 HALF = 295,
80 INVERSE = 296,
81 INVTRANS = 297,
82 LIGHT = 298,
83 LIGHTMODEL = 299,
84 LIGHTPROD = 300,
85 LOCAL = 301,
86 MATERIAL = 302,
87 MAT_PROGRAM = 303,
88 MATRIX = 304,
89 MATRIXINDEX = 305,
90 MODELVIEW = 306,
91 MVP = 307,
92 NORMAL = 308,
93 OBJECT = 309,
94 PALETTE = 310,
95 PARAMS = 311,
96 PLANE = 312,
97 POINT_TOK = 313,
98 POINTSIZE = 314,
99 POSITION = 315,
100 PRIMARY = 316,
101 PROGRAM = 317,
102 PROJECTION = 318,
103 RANGE = 319,
104 RESULT = 320,
105 ROW = 321,
106 SCENECOLOR = 322,
107 SECONDARY = 323,
108 SHININESS = 324,
109 SIZE_TOK = 325,
110 SPECULAR = 326,
111 SPOT = 327,
112 STATE = 328,
113 TEXCOORD = 329,
114 TEXENV = 330,
115 TEXGEN = 331,
116 TEXGEN_Q = 332,
117 TEXGEN_R = 333,
118 TEXGEN_S = 334,
119 TEXGEN_T = 335,
120 TEXTURE = 336,
121 TRANSPOSE = 337,
122 TEXTURE_UNIT = 338,
123 TEX_1D = 339,
124 TEX_2D = 340,
125 TEX_3D = 341,
126 TEX_CUBE = 342,
127 TEX_RECT = 343,
128 TEX_SHADOW1D = 344,
129 TEX_SHADOW2D = 345,
130 TEX_SHADOWRECT = 346,
131 TEX_ARRAY1D = 347,
132 TEX_ARRAY2D = 348,
133 TEX_ARRAYSHADOW1D = 349,
134 TEX_ARRAYSHADOW2D = 350,
135 VERTEX = 351,
136 VTXATTRIB = 352,
137 WEIGHT = 353,
138 IDENTIFIER = 354,
139 USED_IDENTIFIER = 355,
140 MASK4 = 356,
141 MASK3 = 357,
142 MASK2 = 358,
143 MASK1 = 359,
144 SWIZZLE = 360,
145 DOT_DOT = 361,
146 DOT = 362
147 };
148 #endif
149 /* Tokens. */
150 #define ARBvp_10 258
151 #define ARBfp_10 259
152 #define ADDRESS 260
153 #define ALIAS 261
154 #define ATTRIB 262
155 #define OPTION 263
156 #define OUTPUT 264
157 #define PARAM 265
158 #define TEMP 266
159 #define END 267
160 #define BIN_OP 268
161 #define BINSC_OP 269
162 #define SAMPLE_OP 270
163 #define SCALAR_OP 271
164 #define TRI_OP 272
165 #define VECTOR_OP 273
166 #define ARL 274
167 #define KIL 275
168 #define SWZ 276
169 #define TXD_OP 277
170 #define INTEGER 278
171 #define REAL 279
172 #define AMBIENT 280
173 #define ATTENUATION 281
174 #define BACK 282
175 #define CLIP 283
176 #define COLOR 284
177 #define DEPTH 285
178 #define DIFFUSE 286
179 #define DIRECTION 287
180 #define EMISSION 288
181 #define ENV 289
182 #define EYE 290
183 #define FOG 291
184 #define FOGCOORD 292
185 #define FRAGMENT 293
186 #define FRONT 294
187 #define HALF 295
188 #define INVERSE 296
189 #define INVTRANS 297
190 #define LIGHT 298
191 #define LIGHTMODEL 299
192 #define LIGHTPROD 300
193 #define LOCAL 301
194 #define MATERIAL 302
195 #define MAT_PROGRAM 303
196 #define MATRIX 304
197 #define MATRIXINDEX 305
198 #define MODELVIEW 306
199 #define MVP 307
200 #define NORMAL 308
201 #define OBJECT 309
202 #define PALETTE 310
203 #define PARAMS 311
204 #define PLANE 312
205 #define POINT_TOK 313
206 #define POINTSIZE 314
207 #define POSITION 315
208 #define PRIMARY 316
209 #define PROGRAM 317
210 #define PROJECTION 318
211 #define RANGE 319
212 #define RESULT 320
213 #define ROW 321
214 #define SCENECOLOR 322
215 #define SECONDARY 323
216 #define SHININESS 324
217 #define SIZE_TOK 325
218 #define SPECULAR 326
219 #define SPOT 327
220 #define STATE 328
221 #define TEXCOORD 329
222 #define TEXENV 330
223 #define TEXGEN 331
224 #define TEXGEN_Q 332
225 #define TEXGEN_R 333
226 #define TEXGEN_S 334
227 #define TEXGEN_T 335
228 #define TEXTURE 336
229 #define TRANSPOSE 337
230 #define TEXTURE_UNIT 338
231 #define TEX_1D 339
232 #define TEX_2D 340
233 #define TEX_3D 341
234 #define TEX_CUBE 342
235 #define TEX_RECT 343
236 #define TEX_SHADOW1D 344
237 #define TEX_SHADOW2D 345
238 #define TEX_SHADOWRECT 346
239 #define TEX_ARRAY1D 347
240 #define TEX_ARRAY2D 348
241 #define TEX_ARRAYSHADOW1D 349
242 #define TEX_ARRAYSHADOW2D 350
243 #define VERTEX 351
244 #define VTXATTRIB 352
245 #define WEIGHT 353
246 #define IDENTIFIER 354
247 #define USED_IDENTIFIER 355
248 #define MASK4 356
249 #define MASK3 357
250 #define MASK2 358
251 #define MASK1 359
252 #define SWIZZLE 360
253 #define DOT_DOT 361
254 #define DOT 362
255
256
257
258
259 #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
260 typedef union YYSTYPE
261 #line 116 "program_parse.y"
262 {
263 struct asm_instruction *inst;
264 struct asm_symbol *sym;
265 struct asm_symbol temp_sym;
266 struct asm_swizzle_mask swiz_mask;
267 struct asm_src_register src_reg;
268 struct prog_dst_register dst_reg;
269 struct prog_instruction temp_inst;
270 char *string;
271 unsigned result;
272 unsigned attrib;
273 int integer;
274 float real;
275 gl_state_index state[STATE_LENGTH];
276 int negate;
277 struct asm_vector vector;
278 gl_inst_opcode opcode;
279
280 struct {
281 unsigned swz;
282 unsigned rgba_valid:1;
283 unsigned xyzw_valid:1;
284 unsigned negate:1;
285 } ext_swizzle;
286 }
287 /* Line 1489 of yacc.c. */
288 #line 289 "program_parse.tab.h"
289 YYSTYPE;
290 # define yystype YYSTYPE /* obsolescent; will be withdrawn */
291 # define YYSTYPE_IS_DECLARED 1
292 # define YYSTYPE_IS_TRIVIAL 1
293 #endif
294
295
296
297 #if ! defined YYLTYPE && ! defined YYLTYPE_IS_DECLARED
298 typedef struct YYLTYPE
299 {
300 int first_line;
301 int first_column;
302 int last_line;
303 int last_column;
304 } YYLTYPE;
305 # define yyltype YYLTYPE /* obsolescent; will be withdrawn */
306 # define YYLTYPE_IS_DECLARED 1
307 # define YYLTYPE_IS_TRIVIAL 1
308 #endif
309
310