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