mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-05-17 20:28:05 +02:00
298 lines
7 KiB
C
298 lines
7 KiB
C
/* A Bison parser, made by GNU Bison 2.4.3. */
|
|
|
|
/* Skeleton interface for Bison's Yacc-like parsers in C
|
|
|
|
Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003, 2004, 2005, 2006,
|
|
2009, 2010 Free Software Foundation, Inc.
|
|
|
|
This program is free software: you can redistribute it and/or modify
|
|
it under the terms of the GNU General Public License as published by
|
|
the Free Software Foundation, either version 3 of the License, or
|
|
(at your option) any later version.
|
|
|
|
This program is distributed in the hope that it will be useful,
|
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
GNU General Public License for more details.
|
|
|
|
You should have received a copy of the GNU General Public License
|
|
along with this program. If not, see <http://www.gnu.org/licenses/>. */
|
|
|
|
/* As a special exception, you may create a larger work that contains
|
|
part or all of the Bison parser skeleton and distribute that work
|
|
under terms of your choice, so long as that work isn't itself a
|
|
parser generator using the skeleton or a modified version thereof
|
|
as a parser skeleton. Alternatively, if you modify or redistribute
|
|
the parser skeleton itself, you may (at your option) remove this
|
|
special exception, which will cause the skeleton and the resulting
|
|
Bison output files to be licensed under the GNU General Public
|
|
License without this special exception.
|
|
|
|
This special exception was added by the Free Software Foundation in
|
|
version 2.2 of Bison. */
|
|
|
|
|
|
/* Tokens. */
|
|
#ifndef YYTOKENTYPE
|
|
# define YYTOKENTYPE
|
|
/* Put the tokens into the symbol table, so that GDB and other debuggers
|
|
know about them. */
|
|
enum yytokentype {
|
|
ATTRIBUTE = 258,
|
|
CONST_TOK = 259,
|
|
BOOL_TOK = 260,
|
|
FLOAT_TOK = 261,
|
|
INT_TOK = 262,
|
|
UINT_TOK = 263,
|
|
BREAK = 264,
|
|
CONTINUE = 265,
|
|
DO = 266,
|
|
ELSE = 267,
|
|
FOR = 268,
|
|
IF = 269,
|
|
DISCARD = 270,
|
|
RETURN = 271,
|
|
SWITCH = 272,
|
|
CASE = 273,
|
|
DEFAULT = 274,
|
|
BVEC2 = 275,
|
|
BVEC3 = 276,
|
|
BVEC4 = 277,
|
|
IVEC2 = 278,
|
|
IVEC3 = 279,
|
|
IVEC4 = 280,
|
|
UVEC2 = 281,
|
|
UVEC3 = 282,
|
|
UVEC4 = 283,
|
|
VEC2 = 284,
|
|
VEC3 = 285,
|
|
VEC4 = 286,
|
|
CENTROID = 287,
|
|
IN_TOK = 288,
|
|
OUT_TOK = 289,
|
|
INOUT_TOK = 290,
|
|
UNIFORM = 291,
|
|
VARYING = 292,
|
|
NOPERSPECTIVE = 293,
|
|
FLAT = 294,
|
|
SMOOTH = 295,
|
|
MAT2X2 = 296,
|
|
MAT2X3 = 297,
|
|
MAT2X4 = 298,
|
|
MAT3X2 = 299,
|
|
MAT3X3 = 300,
|
|
MAT3X4 = 301,
|
|
MAT4X2 = 302,
|
|
MAT4X3 = 303,
|
|
MAT4X4 = 304,
|
|
SAMPLER1D = 305,
|
|
SAMPLER2D = 306,
|
|
SAMPLER3D = 307,
|
|
SAMPLERCUBE = 308,
|
|
SAMPLER1DSHADOW = 309,
|
|
SAMPLER2DSHADOW = 310,
|
|
SAMPLERCUBESHADOW = 311,
|
|
SAMPLER1DARRAY = 312,
|
|
SAMPLER2DARRAY = 313,
|
|
SAMPLER1DARRAYSHADOW = 314,
|
|
SAMPLER2DARRAYSHADOW = 315,
|
|
ISAMPLER1D = 316,
|
|
ISAMPLER2D = 317,
|
|
ISAMPLER3D = 318,
|
|
ISAMPLERCUBE = 319,
|
|
ISAMPLER1DARRAY = 320,
|
|
ISAMPLER2DARRAY = 321,
|
|
USAMPLER1D = 322,
|
|
USAMPLER2D = 323,
|
|
USAMPLER3D = 324,
|
|
USAMPLERCUBE = 325,
|
|
USAMPLER1DARRAY = 326,
|
|
USAMPLER2DARRAY = 327,
|
|
STRUCT = 328,
|
|
VOID_TOK = 329,
|
|
WHILE = 330,
|
|
IDENTIFIER = 331,
|
|
FLOATCONSTANT = 332,
|
|
INTCONSTANT = 333,
|
|
UINTCONSTANT = 334,
|
|
BOOLCONSTANT = 335,
|
|
FIELD_SELECTION = 336,
|
|
LEFT_OP = 337,
|
|
RIGHT_OP = 338,
|
|
INC_OP = 339,
|
|
DEC_OP = 340,
|
|
LE_OP = 341,
|
|
GE_OP = 342,
|
|
EQ_OP = 343,
|
|
NE_OP = 344,
|
|
AND_OP = 345,
|
|
OR_OP = 346,
|
|
XOR_OP = 347,
|
|
MUL_ASSIGN = 348,
|
|
DIV_ASSIGN = 349,
|
|
ADD_ASSIGN = 350,
|
|
MOD_ASSIGN = 351,
|
|
LEFT_ASSIGN = 352,
|
|
RIGHT_ASSIGN = 353,
|
|
AND_ASSIGN = 354,
|
|
XOR_ASSIGN = 355,
|
|
OR_ASSIGN = 356,
|
|
SUB_ASSIGN = 357,
|
|
INVARIANT = 358,
|
|
LOWP = 359,
|
|
MEDIUMP = 360,
|
|
HIGHP = 361,
|
|
SUPERP = 362,
|
|
PRECISION = 363,
|
|
VERSION = 364,
|
|
EXTENSION = 365,
|
|
LINE = 366,
|
|
COLON = 367,
|
|
EOL = 368,
|
|
INTERFACE = 369,
|
|
OUTPUT = 370,
|
|
PRAGMA_DEBUG_ON = 371,
|
|
PRAGMA_DEBUG_OFF = 372,
|
|
PRAGMA_OPTIMIZE_ON = 373,
|
|
PRAGMA_OPTIMIZE_OFF = 374,
|
|
LAYOUT_TOK = 375,
|
|
ASM = 376,
|
|
CLASS = 377,
|
|
UNION = 378,
|
|
ENUM = 379,
|
|
TYPEDEF = 380,
|
|
TEMPLATE = 381,
|
|
THIS = 382,
|
|
PACKED_TOK = 383,
|
|
GOTO = 384,
|
|
INLINE_TOK = 385,
|
|
NOINLINE = 386,
|
|
VOLATILE = 387,
|
|
PUBLIC_TOK = 388,
|
|
STATIC = 389,
|
|
EXTERN = 390,
|
|
EXTERNAL = 391,
|
|
LONG_TOK = 392,
|
|
SHORT_TOK = 393,
|
|
DOUBLE_TOK = 394,
|
|
HALF = 395,
|
|
FIXED_TOK = 396,
|
|
UNSIGNED = 397,
|
|
INPUT_TOK = 398,
|
|
OUPTUT = 399,
|
|
HVEC2 = 400,
|
|
HVEC3 = 401,
|
|
HVEC4 = 402,
|
|
DVEC2 = 403,
|
|
DVEC3 = 404,
|
|
DVEC4 = 405,
|
|
FVEC2 = 406,
|
|
FVEC3 = 407,
|
|
FVEC4 = 408,
|
|
SAMPLER2DRECT = 409,
|
|
SAMPLER3DRECT = 410,
|
|
SAMPLER2DRECTSHADOW = 411,
|
|
SIZEOF = 412,
|
|
CAST = 413,
|
|
NAMESPACE = 414,
|
|
USING = 415,
|
|
ERROR_TOK = 416,
|
|
COMMON = 417,
|
|
PARTITION = 418,
|
|
ACTIVE = 419,
|
|
SAMPLERBUFFER = 420,
|
|
FILTER = 421,
|
|
IMAGE1D = 422,
|
|
IMAGE2D = 423,
|
|
IMAGE3D = 424,
|
|
IMAGECUBE = 425,
|
|
IMAGE1DARRAY = 426,
|
|
IMAGE2DARRAY = 427,
|
|
IIMAGE1D = 428,
|
|
IIMAGE2D = 429,
|
|
IIMAGE3D = 430,
|
|
IIMAGECUBE = 431,
|
|
IIMAGE1DARRAY = 432,
|
|
IIMAGE2DARRAY = 433,
|
|
UIMAGE1D = 434,
|
|
UIMAGE2D = 435,
|
|
UIMAGE3D = 436,
|
|
UIMAGECUBE = 437,
|
|
UIMAGE1DARRAY = 438,
|
|
UIMAGE2DARRAY = 439,
|
|
IMAGE1DSHADOW = 440,
|
|
IMAGE2DSHADOW = 441,
|
|
IMAGEBUFFER = 442,
|
|
IIMAGEBUFFER = 443,
|
|
UIMAGEBUFFER = 444,
|
|
ROW_MAJOR = 445
|
|
};
|
|
#endif
|
|
|
|
|
|
|
|
#if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
|
|
typedef union YYSTYPE
|
|
{
|
|
|
|
/* Line 1685 of yacc.c */
|
|
#line 52 "glsl_parser.ypp"
|
|
|
|
int n;
|
|
float real;
|
|
char *identifier;
|
|
|
|
union {
|
|
struct ast_type_qualifier q;
|
|
unsigned i;
|
|
} type_qualifier;
|
|
|
|
ast_node *node;
|
|
ast_type_specifier *type_specifier;
|
|
ast_fully_specified_type *fully_specified_type;
|
|
ast_function *function;
|
|
ast_parameter_declarator *parameter_declarator;
|
|
ast_function_definition *function_definition;
|
|
ast_compound_statement *compound_statement;
|
|
ast_expression *expression;
|
|
ast_declarator_list *declarator_list;
|
|
ast_struct_specifier *struct_specifier;
|
|
ast_declaration *declaration;
|
|
|
|
struct {
|
|
ast_node *cond;
|
|
ast_expression *rest;
|
|
} for_rest_statement;
|
|
|
|
struct {
|
|
ast_node *then_statement;
|
|
ast_node *else_statement;
|
|
} selection_rest_statement;
|
|
|
|
|
|
|
|
/* Line 1685 of yacc.c */
|
|
#line 276 "glsl_parser.h"
|
|
} YYSTYPE;
|
|
# define YYSTYPE_IS_TRIVIAL 1
|
|
# define yystype YYSTYPE /* obsolescent; will be withdrawn */
|
|
# define YYSTYPE_IS_DECLARED 1
|
|
#endif
|
|
|
|
|
|
|
|
#if ! defined YYLTYPE && ! defined YYLTYPE_IS_DECLARED
|
|
typedef struct YYLTYPE
|
|
{
|
|
int first_line;
|
|
int first_column;
|
|
int last_line;
|
|
int last_column;
|
|
} YYLTYPE;
|
|
# define yyltype YYLTYPE /* obsolescent; will be withdrawn */
|
|
# define YYLTYPE_IS_DECLARED 1
|
|
# define YYLTYPE_IS_TRIVIAL 1
|
|
#endif
|
|
|
|
|
|
|