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