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