[OPENGL]
[reactos.git] / reactos / dll / opengl / mesa / generated / mesa / program / program_parse.tab.h
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
148
149
150 #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
151 typedef union YYSTYPE
152 {
153
154 /* Line 2068 of yacc.c */
155 #line 126 "src/mesa/program/program_parse.y"
156
157 struct asm_instruction *inst;
158 struct asm_symbol *sym;
159 struct asm_symbol temp_sym;
160 struct asm_swizzle_mask swiz_mask;
161 struct asm_src_register src_reg;
162 struct prog_dst_register dst_reg;
163 struct prog_instruction temp_inst;
164 char *string;
165 unsigned result;
166 unsigned attrib;
167 int integer;
168 float real;
169 gl_state_index state[STATE_LENGTH];
170 int negate;
171 struct asm_vector vector;
172 gl_inst_opcode opcode;
173
174 struct {
175 unsigned swz;
176 unsigned rgba_valid:1;
177 unsigned xyzw_valid:1;
178 unsigned negate:1;
179 } ext_swizzle;
180
181
182
183 /* Line 2068 of yacc.c */
184 #line 185 "build/windows-x86/mesa/program/program_parse.tab.h"
185 } YYSTYPE;
186 # define YYSTYPE_IS_TRIVIAL 1
187 # define yystype YYSTYPE /* obsolescent; will be withdrawn */
188 # define YYSTYPE_IS_DECLARED 1
189 #endif
190
191
192
193 #if ! defined YYLTYPE && ! defined YYLTYPE_IS_DECLARED
194 typedef struct YYLTYPE
195 {
196 int first_line;
197 int first_column;
198 int last_line;
199 int last_column;
200 } YYLTYPE;
201 # define yyltype YYLTYPE /* obsolescent; will be withdrawn */
202 # define YYLTYPE_IS_DECLARED 1
203 # define YYLTYPE_IS_TRIVIAL 1
204 #endif
205
206
207