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