Merge branch 'mesa_7_7_branch'
[mesa.git] / src / mesa / shader / program_parse.tab.h
1
2 /* A Bison parser, made by GNU Bison 2.4.1. */
3
4 /* Skeleton interface for Bison's Yacc-like parsers in C
5
6 Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003, 2004, 2005, 2006
7 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
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
150
151
152 #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
153 typedef union YYSTYPE
154 {
155
156 /* Line 1676 of yacc.c */
157 #line 125 "program_parse.y"
158
159 struct asm_instruction *inst;
160 struct asm_symbol *sym;
161 struct asm_symbol temp_sym;
162 struct asm_swizzle_mask swiz_mask;
163 struct asm_src_register src_reg;
164 struct prog_dst_register dst_reg;
165 struct prog_instruction temp_inst;
166 char *string;
167 unsigned result;
168 unsigned attrib;
169 int integer;
170 float real;
171 gl_state_index state[STATE_LENGTH];
172 int negate;
173 struct asm_vector vector;
174 gl_inst_opcode opcode;
175
176 struct {
177 unsigned swz;
178 unsigned rgba_valid:1;
179 unsigned xyzw_valid:1;
180 unsigned negate:1;
181 } ext_swizzle;
182
183
184
185 /* Line 1676 of yacc.c */
186 #line 187 "program_parse.tab.h"
187 } YYSTYPE;
188 # define YYSTYPE_IS_TRIVIAL 1
189 # define yystype YYSTYPE /* obsolescent; will be withdrawn */
190 # define YYSTYPE_IS_DECLARED 1
191 #endif
192
193
194
195 #if ! defined YYLTYPE && ! defined YYLTYPE_IS_DECLARED
196 typedef struct YYLTYPE
197 {
198 int first_line;
199 int first_column;
200 int last_line;
201 int last_column;
202 } YYLTYPE;
203 # define yyltype YYLTYPE /* obsolescent; will be withdrawn */
204 # define YYLTYPE_IS_DECLARED 1
205 # define YYLTYPE_IS_TRIVIAL 1
206 #endif
207
208
209