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