1b8e80941Smrg/* A Bison parser, made by GNU Bison 3.2.4.  */
2848b8605Smrg
3848b8605Smrg/* Bison interface for Yacc-like parsers in C
4b8e80941Smrg
5b8e80941Smrg   Copyright (C) 1984, 1989-1990, 2000-2015, 2018 Free Software Foundation, Inc.
6b8e80941Smrg
7848b8605Smrg   This program is free software: you can redistribute it and/or modify
8848b8605Smrg   it under the terms of the GNU General Public License as published by
9848b8605Smrg   the Free Software Foundation, either version 3 of the License, or
10848b8605Smrg   (at your option) any later version.
11b8e80941Smrg
12848b8605Smrg   This program is distributed in the hope that it will be useful,
13848b8605Smrg   but WITHOUT ANY WARRANTY; without even the implied warranty of
14848b8605Smrg   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
15848b8605Smrg   GNU General Public License for more details.
16b8e80941Smrg
17848b8605Smrg   You should have received a copy of the GNU General Public License
18848b8605Smrg   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
19848b8605Smrg
20848b8605Smrg/* As a special exception, you may create a larger work that contains
21848b8605Smrg   part or all of the Bison parser skeleton and distribute that work
22848b8605Smrg   under terms of your choice, so long as that work isn't itself a
23848b8605Smrg   parser generator using the skeleton or a modified version thereof
24848b8605Smrg   as a parser skeleton.  Alternatively, if you modify or redistribute
25848b8605Smrg   the parser skeleton itself, you may (at your option) remove this
26848b8605Smrg   special exception, which will cause the skeleton and the resulting
27848b8605Smrg   Bison output files to be licensed under the GNU General Public
28848b8605Smrg   License without this special exception.
29b8e80941Smrg
30848b8605Smrg   This special exception was added by the Free Software Foundation in
31848b8605Smrg   version 2.2 of Bison.  */
32848b8605Smrg
33b8e80941Smrg/* Undocumented macros, especially those whose name start with YY_,
34b8e80941Smrg   are private implementation details.  Do not rely on them.  */
35b8e80941Smrg
36848b8605Smrg#ifndef YY__MESA_PROGRAM_PROGRAM_PARSE_TAB_H_INCLUDED
37848b8605Smrg# define YY__MESA_PROGRAM_PROGRAM_PARSE_TAB_H_INCLUDED
38b8e80941Smrg/* Debug traces.  */
39848b8605Smrg#ifndef YYDEBUG
40848b8605Smrg# define YYDEBUG 0
41848b8605Smrg#endif
42848b8605Smrg#if YYDEBUG
43848b8605Smrgextern int _mesa_program_debug;
44848b8605Smrg#endif
45848b8605Smrg
46b8e80941Smrg/* Token type.  */
47848b8605Smrg#ifndef YYTOKENTYPE
48848b8605Smrg# define YYTOKENTYPE
49b8e80941Smrg  enum yytokentype
50b8e80941Smrg  {
51b8e80941Smrg    ARBvp_10 = 258,
52b8e80941Smrg    ARBfp_10 = 259,
53b8e80941Smrg    ADDRESS = 260,
54b8e80941Smrg    ALIAS = 261,
55b8e80941Smrg    ATTRIB = 262,
56b8e80941Smrg    OPTION = 263,
57b8e80941Smrg    OUTPUT = 264,
58b8e80941Smrg    PARAM = 265,
59b8e80941Smrg    TEMP = 266,
60b8e80941Smrg    END = 267,
61b8e80941Smrg    BIN_OP = 268,
62b8e80941Smrg    BINSC_OP = 269,
63b8e80941Smrg    SAMPLE_OP = 270,
64b8e80941Smrg    SCALAR_OP = 271,
65b8e80941Smrg    TRI_OP = 272,
66b8e80941Smrg    VECTOR_OP = 273,
67b8e80941Smrg    ARL = 274,
68b8e80941Smrg    KIL = 275,
69b8e80941Smrg    SWZ = 276,
70b8e80941Smrg    TXD_OP = 277,
71b8e80941Smrg    INTEGER = 278,
72b8e80941Smrg    REAL = 279,
73b8e80941Smrg    AMBIENT = 280,
74b8e80941Smrg    ATTENUATION = 281,
75b8e80941Smrg    BACK = 282,
76b8e80941Smrg    CLIP = 283,
77b8e80941Smrg    COLOR = 284,
78b8e80941Smrg    DEPTH = 285,
79b8e80941Smrg    DIFFUSE = 286,
80b8e80941Smrg    DIRECTION = 287,
81b8e80941Smrg    EMISSION = 288,
82b8e80941Smrg    ENV = 289,
83b8e80941Smrg    EYE = 290,
84b8e80941Smrg    FOG = 291,
85b8e80941Smrg    FOGCOORD = 292,
86b8e80941Smrg    FRAGMENT = 293,
87b8e80941Smrg    FRONT = 294,
88b8e80941Smrg    HALF = 295,
89b8e80941Smrg    INVERSE = 296,
90b8e80941Smrg    INVTRANS = 297,
91b8e80941Smrg    LIGHT = 298,
92b8e80941Smrg    LIGHTMODEL = 299,
93b8e80941Smrg    LIGHTPROD = 300,
94b8e80941Smrg    LOCAL = 301,
95b8e80941Smrg    MATERIAL = 302,
96b8e80941Smrg    MAT_PROGRAM = 303,
97b8e80941Smrg    MATRIX = 304,
98b8e80941Smrg    MATRIXINDEX = 305,
99b8e80941Smrg    MODELVIEW = 306,
100b8e80941Smrg    MVP = 307,
101b8e80941Smrg    NORMAL = 308,
102b8e80941Smrg    OBJECT = 309,
103b8e80941Smrg    PALETTE = 310,
104b8e80941Smrg    PARAMS = 311,
105b8e80941Smrg    PLANE = 312,
106b8e80941Smrg    POINT_TOK = 313,
107b8e80941Smrg    POINTSIZE = 314,
108b8e80941Smrg    POSITION = 315,
109b8e80941Smrg    PRIMARY = 316,
110b8e80941Smrg    PROGRAM = 317,
111b8e80941Smrg    PROJECTION = 318,
112b8e80941Smrg    RANGE = 319,
113b8e80941Smrg    RESULT = 320,
114b8e80941Smrg    ROW = 321,
115b8e80941Smrg    SCENECOLOR = 322,
116b8e80941Smrg    SECONDARY = 323,
117b8e80941Smrg    SHININESS = 324,
118b8e80941Smrg    SIZE_TOK = 325,
119b8e80941Smrg    SPECULAR = 326,
120b8e80941Smrg    SPOT = 327,
121b8e80941Smrg    STATE = 328,
122b8e80941Smrg    TEXCOORD = 329,
123b8e80941Smrg    TEXENV = 330,
124b8e80941Smrg    TEXGEN = 331,
125b8e80941Smrg    TEXGEN_Q = 332,
126b8e80941Smrg    TEXGEN_R = 333,
127b8e80941Smrg    TEXGEN_S = 334,
128b8e80941Smrg    TEXGEN_T = 335,
129b8e80941Smrg    TEXTURE = 336,
130b8e80941Smrg    TRANSPOSE = 337,
131b8e80941Smrg    TEXTURE_UNIT = 338,
132b8e80941Smrg    TEX_1D = 339,
133b8e80941Smrg    TEX_2D = 340,
134b8e80941Smrg    TEX_3D = 341,
135b8e80941Smrg    TEX_CUBE = 342,
136b8e80941Smrg    TEX_RECT = 343,
137b8e80941Smrg    TEX_SHADOW1D = 344,
138b8e80941Smrg    TEX_SHADOW2D = 345,
139b8e80941Smrg    TEX_SHADOWRECT = 346,
140b8e80941Smrg    TEX_ARRAY1D = 347,
141b8e80941Smrg    TEX_ARRAY2D = 348,
142b8e80941Smrg    TEX_ARRAYSHADOW1D = 349,
143b8e80941Smrg    TEX_ARRAYSHADOW2D = 350,
144b8e80941Smrg    VERTEX = 351,
145b8e80941Smrg    VTXATTRIB = 352,
146b8e80941Smrg    IDENTIFIER = 353,
147b8e80941Smrg    USED_IDENTIFIER = 354,
148b8e80941Smrg    MASK4 = 355,
149b8e80941Smrg    MASK3 = 356,
150b8e80941Smrg    MASK2 = 357,
151b8e80941Smrg    MASK1 = 358,
152b8e80941Smrg    SWIZZLE = 359,
153b8e80941Smrg    DOT_DOT = 360,
154b8e80941Smrg    DOT = 361
155b8e80941Smrg  };
156848b8605Smrg#endif
157848b8605Smrg
158b8e80941Smrg/* Value type.  */
159848b8605Smrg#if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
160b8e80941Smrg
161b8e80941Smrgunion YYSTYPE
162848b8605Smrg{
163b8e80941Smrg#line 129 "/cvs/xsrc/external/mit/MesaLib/dist/src/mesa/program/program_parse.y" /* yacc.c:1906  */
164848b8605Smrg
165848b8605Smrg   struct asm_instruction *inst;
166848b8605Smrg   struct asm_symbol *sym;
167848b8605Smrg   struct asm_symbol temp_sym;
168848b8605Smrg   struct asm_swizzle_mask swiz_mask;
169848b8605Smrg   struct asm_src_register src_reg;
170848b8605Smrg   struct prog_dst_register dst_reg;
171848b8605Smrg   struct prog_instruction temp_inst;
172848b8605Smrg   char *string;
173848b8605Smrg   unsigned result;
174848b8605Smrg   unsigned attrib;
175848b8605Smrg   int integer;
176848b8605Smrg   float real;
177b8e80941Smrg   gl_state_index16 state[STATE_LENGTH];
178848b8605Smrg   int negate;
179848b8605Smrg   struct asm_vector vector;
180b8e80941Smrg   enum prog_opcode opcode;
181848b8605Smrg
182848b8605Smrg   struct {
183848b8605Smrg      unsigned swz;
184848b8605Smrg      unsigned rgba_valid:1;
185848b8605Smrg      unsigned xyzw_valid:1;
186848b8605Smrg      unsigned negate:1;
187848b8605Smrg   } ext_swizzle;
188848b8605Smrg
189b8e80941Smrg#line 190 "program_parse.tab.h" /* yacc.c:1906  */
190b8e80941Smrg};
191848b8605Smrg
192b8e80941Smrgtypedef union YYSTYPE YYSTYPE;
193848b8605Smrg# define YYSTYPE_IS_TRIVIAL 1
194848b8605Smrg# define YYSTYPE_IS_DECLARED 1
195848b8605Smrg#endif
196848b8605Smrg
197b8e80941Smrg/* Location type.  */
198848b8605Smrg#if ! defined YYLTYPE && ! defined YYLTYPE_IS_DECLARED
199b8e80941Smrgtypedef struct YYLTYPE YYLTYPE;
200b8e80941Smrgstruct YYLTYPE
201848b8605Smrg{
202848b8605Smrg  int first_line;
203848b8605Smrg  int first_column;
204848b8605Smrg  int last_line;
205848b8605Smrg  int last_column;
206b8e80941Smrg};
207848b8605Smrg# define YYLTYPE_IS_DECLARED 1
208848b8605Smrg# define YYLTYPE_IS_TRIVIAL 1
209848b8605Smrg#endif
210848b8605Smrg
211848b8605Smrg
212b8e80941Smrg
213848b8605Smrgint _mesa_program_parse (struct asm_parser_state *state);
214848b8605Smrg
215848b8605Smrg#endif /* !YY__MESA_PROGRAM_PROGRAM_PARSE_TAB_H_INCLUDED  */
216