Regenerated GLSL parser.

This commit is contained in:
Branimir Karadzic 2014-08-17 19:31:19 -07:00
parent 66890595b9
commit ed0e98654a
4 changed files with 2669 additions and 3205 deletions

File diff suppressed because it is too large Load diff

View file

@ -1,8 +1,8 @@
/* A Bison parser, made by GNU Bison 2.7.12-4996. */ /* A Bison parser, made by GNU Bison 3.0.2. */
/* Bison interface for Yacc-like parsers in C /* Bison interface for Yacc-like parsers in C
Copyright (C) 1984, 1989-1990, 2000-2013 Free Software Foundation, Inc. Copyright (C) 1984, 1989-1990, 2000-2013 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify 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 it under the terms of the GNU General Public License as published by
@ -32,7 +32,7 @@
#ifndef YY_GLCPP_PARSER_SRC_GLSL_GLCPP_GLCPP_PARSE_H_INCLUDED #ifndef YY_GLCPP_PARSER_SRC_GLSL_GLCPP_GLCPP_PARSE_H_INCLUDED
# define YY_GLCPP_PARSER_SRC_GLSL_GLCPP_GLCPP_PARSE_H_INCLUDED # define YY_GLCPP_PARSER_SRC_GLSL_GLCPP_GLCPP_PARSE_H_INCLUDED
/* Enabling traces. */ /* Debug traces. */
#ifndef YYDEBUG #ifndef YYDEBUG
# define YYDEBUG 0 # define YYDEBUG 0
#endif #endif
@ -40,83 +40,67 @@
extern int glcpp_parser_debug; extern int glcpp_parser_debug;
#endif #endif
/* Tokens. */ /* Token type. */
#ifndef YYTOKENTYPE #ifndef YYTOKENTYPE
# define YYTOKENTYPE # define YYTOKENTYPE
/* Put the tokens into the symbol table, so that GDB and other debuggers enum yytokentype
know about them. */ {
enum yytokentype { COMMA_FINAL = 258,
COMMA_FINAL = 258, DEFINED = 259,
DEFINED = 259, ELIF_EXPANDED = 260,
ELIF_EXPANDED = 260, HASH = 261,
HASH = 261, HASH_DEFINE = 262,
HASH_DEFINE = 262, FUNC_IDENTIFIER = 263,
FUNC_IDENTIFIER = 263, OBJ_IDENTIFIER = 264,
OBJ_IDENTIFIER = 264, HASH_ELIF = 265,
HASH_ELIF = 265, HASH_ELSE = 266,
HASH_ELSE = 266, HASH_ENDIF = 267,
HASH_ENDIF = 267, HASH_IF = 268,
HASH_IF = 268, HASH_IFDEF = 269,
HASH_IFDEF = 269, HASH_IFNDEF = 270,
HASH_IFNDEF = 270, HASH_LINE = 271,
HASH_LINE = 271, HASH_UNDEF = 272,
HASH_UNDEF = 272, HASH_VERSION = 273,
HASH_VERSION = 273, IDENTIFIER = 274,
IDENTIFIER = 274, IF_EXPANDED = 275,
IF_EXPANDED = 275, INTEGER = 276,
INTEGER = 276, INTEGER_STRING = 277,
INTEGER_STRING = 277, LINE_EXPANDED = 278,
LINE_EXPANDED = 278, NEWLINE = 279,
NEWLINE = 279, OTHER = 280,
OTHER = 280, PLACEHOLDER = 281,
PLACEHOLDER = 281, SPACE = 282,
SPACE = 282, PASTE = 283,
PASTE = 283, OR = 284,
OR = 284, AND = 285,
AND = 285, EQUAL = 286,
NOT_EQUAL = 286, NOT_EQUAL = 287,
EQUAL = 287, LESS_OR_EQUAL = 288,
GREATER_OR_EQUAL = 288, GREATER_OR_EQUAL = 289,
LESS_OR_EQUAL = 289, LEFT_SHIFT = 290,
RIGHT_SHIFT = 290, RIGHT_SHIFT = 291,
LEFT_SHIFT = 291, UNARY = 292
UNARY = 292 };
};
#endif #endif
/* Value type. */
#if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED /* Location type. */
# define yystype YYSTYPE /* obsolescent; will be withdrawn */
# define YYSTYPE_IS_DECLARED 1
#endif
#if ! defined YYLTYPE && ! defined YYLTYPE_IS_DECLARED #if ! defined YYLTYPE && ! defined YYLTYPE_IS_DECLARED
typedef struct YYLTYPE typedef struct YYLTYPE YYLTYPE;
struct YYLTYPE
{ {
int first_line; int first_line;
int first_column; int first_column;
int last_line; int last_line;
int last_column; int last_column;
} YYLTYPE; };
# define yyltype YYLTYPE /* obsolescent; will be withdrawn */
# define YYLTYPE_IS_DECLARED 1 # define YYLTYPE_IS_DECLARED 1
# define YYLTYPE_IS_TRIVIAL 1 # define YYLTYPE_IS_TRIVIAL 1
#endif #endif
#ifdef YYPARSE_PARAM
#if defined __STDC__ || defined __cplusplus
int glcpp_parser_parse (void *YYPARSE_PARAM);
#else
int glcpp_parser_parse ();
#endif
#else /* ! YYPARSE_PARAM */
#if defined __STDC__ || defined __cplusplus
int glcpp_parser_parse (glcpp_parser_t *parser); int glcpp_parser_parse (glcpp_parser_t *parser);
#else
int glcpp_parser_parse ();
#endif
#endif /* ! YYPARSE_PARAM */
#endif /* !YY_GLCPP_PARSER_SRC_GLSL_GLCPP_GLCPP_PARSE_H_INCLUDED */ #endif /* !YY_GLCPP_PARSER_SRC_GLSL_GLCPP_GLCPP_PARSE_H_INCLUDED */

File diff suppressed because it is too large Load diff

View file

@ -1,8 +1,8 @@
/* A Bison parser, made by GNU Bison 2.7.12-4996. */ /* A Bison parser, made by GNU Bison 3.0.2. */
/* Bison interface for Yacc-like parsers in C /* Bison interface for Yacc-like parsers in C
Copyright (C) 1984, 1989-1990, 2000-2013 Free Software Foundation, Inc. Copyright (C) 1984, 1989-1990, 2000-2013 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify 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 it under the terms of the GNU General Public License as published by
@ -32,7 +32,7 @@
#ifndef YY__MESA_GLSL_SRC_GLSL_GLSL_PARSER_H_INCLUDED #ifndef YY__MESA_GLSL_SRC_GLSL_GLSL_PARSER_H_INCLUDED
# define YY__MESA_GLSL_SRC_GLSL_GLSL_PARSER_H_INCLUDED # define YY__MESA_GLSL_SRC_GLSL_GLSL_PARSER_H_INCLUDED
/* Enabling traces. */ /* Debug traces. */
#ifndef YYDEBUG #ifndef YYDEBUG
# define YYDEBUG 0 # define YYDEBUG 0
#endif #endif
@ -40,251 +40,250 @@
extern int _mesa_glsl_debug; extern int _mesa_glsl_debug;
#endif #endif
/* Tokens. */ /* Token type. */
#ifndef YYTOKENTYPE #ifndef YYTOKENTYPE
# define YYTOKENTYPE # define YYTOKENTYPE
/* Put the tokens into the symbol table, so that GDB and other debuggers enum yytokentype
know about them. */ {
enum yytokentype { ATTRIBUTE = 258,
ATTRIBUTE = 258, CONST_TOK = 259,
CONST_TOK = 259, BOOL_TOK = 260,
BOOL_TOK = 260, FLOAT_TOK = 261,
FLOAT_TOK = 261, INT_TOK = 262,
INT_TOK = 262, UINT_TOK = 263,
UINT_TOK = 263, BREAK = 264,
BREAK = 264, CONTINUE = 265,
CONTINUE = 265, DO = 266,
DO = 266, ELSE = 267,
ELSE = 267, FOR = 268,
FOR = 268, IF = 269,
IF = 269, DISCARD = 270,
DISCARD = 270, RETURN = 271,
RETURN = 271, SWITCH = 272,
SWITCH = 272, CASE = 273,
CASE = 273, DEFAULT = 274,
DEFAULT = 274, BVEC2 = 275,
BVEC2 = 275, BVEC3 = 276,
BVEC3 = 276, BVEC4 = 277,
BVEC4 = 277, IVEC2 = 278,
IVEC2 = 278, IVEC3 = 279,
IVEC3 = 279, IVEC4 = 280,
IVEC4 = 280, UVEC2 = 281,
UVEC2 = 281, UVEC3 = 282,
UVEC3 = 282, UVEC4 = 283,
UVEC4 = 283, VEC2 = 284,
VEC2 = 284, VEC3 = 285,
VEC3 = 285, VEC4 = 286,
VEC4 = 286, CENTROID = 287,
CENTROID = 287, IN_TOK = 288,
IN_TOK = 288, OUT_TOK = 289,
OUT_TOK = 289, INOUT_TOK = 290,
INOUT_TOK = 290, UNIFORM = 291,
UNIFORM = 291, VARYING = 292,
VARYING = 292, NOPERSPECTIVE = 293,
NOPERSPECTIVE = 293, FLAT = 294,
FLAT = 294, SMOOTH = 295,
SMOOTH = 295, MAT2X2 = 296,
MAT2X2 = 296, MAT2X3 = 297,
MAT2X3 = 297, MAT2X4 = 298,
MAT2X4 = 298, MAT3X2 = 299,
MAT3X2 = 299, MAT3X3 = 300,
MAT3X3 = 300, MAT3X4 = 301,
MAT3X4 = 301, MAT4X2 = 302,
MAT4X2 = 302, MAT4X3 = 303,
MAT4X3 = 303, MAT4X4 = 304,
MAT4X4 = 304, SAMPLER1D = 305,
SAMPLER1D = 305, SAMPLER2D = 306,
SAMPLER2D = 306, SAMPLER3D = 307,
SAMPLER3D = 307, SAMPLERCUBE = 308,
SAMPLERCUBE = 308, SAMPLER1DSHADOW = 309,
SAMPLER1DSHADOW = 309, SAMPLER2DSHADOW = 310,
SAMPLER2DSHADOW = 310, SAMPLERCUBESHADOW = 311,
SAMPLERCUBESHADOW = 311, SAMPLER1DARRAY = 312,
SAMPLER1DARRAY = 312, SAMPLER2DARRAY = 313,
SAMPLER2DARRAY = 313, SAMPLER1DARRAYSHADOW = 314,
SAMPLER1DARRAYSHADOW = 314, SAMPLER2DARRAYSHADOW = 315,
SAMPLER2DARRAYSHADOW = 315, SAMPLERCUBEARRAY = 316,
SAMPLERCUBEARRAY = 316, SAMPLERCUBEARRAYSHADOW = 317,
SAMPLERCUBEARRAYSHADOW = 317, ISAMPLER1D = 318,
ISAMPLER1D = 318, ISAMPLER2D = 319,
ISAMPLER2D = 319, ISAMPLER3D = 320,
ISAMPLER3D = 320, ISAMPLERCUBE = 321,
ISAMPLERCUBE = 321, ISAMPLER1DARRAY = 322,
ISAMPLER1DARRAY = 322, ISAMPLER2DARRAY = 323,
ISAMPLER2DARRAY = 323, ISAMPLERCUBEARRAY = 324,
ISAMPLERCUBEARRAY = 324, USAMPLER1D = 325,
USAMPLER1D = 325, USAMPLER2D = 326,
USAMPLER2D = 326, USAMPLER3D = 327,
USAMPLER3D = 327, USAMPLERCUBE = 328,
USAMPLERCUBE = 328, USAMPLER1DARRAY = 329,
USAMPLER1DARRAY = 329, USAMPLER2DARRAY = 330,
USAMPLER2DARRAY = 330, USAMPLERCUBEARRAY = 331,
USAMPLERCUBEARRAY = 331, SAMPLER2DRECT = 332,
SAMPLER2DRECT = 332, ISAMPLER2DRECT = 333,
ISAMPLER2DRECT = 333, USAMPLER2DRECT = 334,
USAMPLER2DRECT = 334, SAMPLER2DRECTSHADOW = 335,
SAMPLER2DRECTSHADOW = 335, SAMPLERBUFFER = 336,
SAMPLERBUFFER = 336, ISAMPLERBUFFER = 337,
ISAMPLERBUFFER = 337, USAMPLERBUFFER = 338,
USAMPLERBUFFER = 338, SAMPLER2DMS = 339,
SAMPLER2DMS = 339, ISAMPLER2DMS = 340,
ISAMPLER2DMS = 340, USAMPLER2DMS = 341,
USAMPLER2DMS = 341, SAMPLER2DMSARRAY = 342,
SAMPLER2DMSARRAY = 342, ISAMPLER2DMSARRAY = 343,
ISAMPLER2DMSARRAY = 343, USAMPLER2DMSARRAY = 344,
USAMPLER2DMSARRAY = 344, SAMPLEREXTERNALOES = 345,
SAMPLEREXTERNALOES = 345, IMAGE1D = 346,
IMAGE1D = 346, IMAGE2D = 347,
IMAGE2D = 347, IMAGE3D = 348,
IMAGE3D = 348, IMAGE2DRECT = 349,
IMAGE2DRECT = 349, IMAGECUBE = 350,
IMAGECUBE = 350, IMAGEBUFFER = 351,
IMAGEBUFFER = 351, IMAGE1DARRAY = 352,
IMAGE1DARRAY = 352, IMAGE2DARRAY = 353,
IMAGE2DARRAY = 353, IMAGECUBEARRAY = 354,
IMAGECUBEARRAY = 354, IMAGE2DMS = 355,
IMAGE2DMS = 355, IMAGE2DMSARRAY = 356,
IMAGE2DMSARRAY = 356, IIMAGE1D = 357,
IIMAGE1D = 357, IIMAGE2D = 358,
IIMAGE2D = 358, IIMAGE3D = 359,
IIMAGE3D = 359, IIMAGE2DRECT = 360,
IIMAGE2DRECT = 360, IIMAGECUBE = 361,
IIMAGECUBE = 361, IIMAGEBUFFER = 362,
IIMAGEBUFFER = 362, IIMAGE1DARRAY = 363,
IIMAGE1DARRAY = 363, IIMAGE2DARRAY = 364,
IIMAGE2DARRAY = 364, IIMAGECUBEARRAY = 365,
IIMAGECUBEARRAY = 365, IIMAGE2DMS = 366,
IIMAGE2DMS = 366, IIMAGE2DMSARRAY = 367,
IIMAGE2DMSARRAY = 367, UIMAGE1D = 368,
UIMAGE1D = 368, UIMAGE2D = 369,
UIMAGE2D = 369, UIMAGE3D = 370,
UIMAGE3D = 370, UIMAGE2DRECT = 371,
UIMAGE2DRECT = 371, UIMAGECUBE = 372,
UIMAGECUBE = 372, UIMAGEBUFFER = 373,
UIMAGEBUFFER = 373, UIMAGE1DARRAY = 374,
UIMAGE1DARRAY = 374, UIMAGE2DARRAY = 375,
UIMAGE2DARRAY = 375, UIMAGECUBEARRAY = 376,
UIMAGECUBEARRAY = 376, UIMAGE2DMS = 377,
UIMAGE2DMS = 377, UIMAGE2DMSARRAY = 378,
UIMAGE2DMSARRAY = 378, IMAGE1DSHADOW = 379,
IMAGE1DSHADOW = 379, IMAGE2DSHADOW = 380,
IMAGE2DSHADOW = 380, IMAGE1DARRAYSHADOW = 381,
IMAGE1DARRAYSHADOW = 381, IMAGE2DARRAYSHADOW = 382,
IMAGE2DARRAYSHADOW = 382, COHERENT = 383,
COHERENT = 383, VOLATILE = 384,
VOLATILE = 384, RESTRICT = 385,
RESTRICT = 385, READONLY = 386,
READONLY = 386, WRITEONLY = 387,
WRITEONLY = 387, ATOMIC_UINT = 388,
ATOMIC_UINT = 388, STRUCT = 389,
STRUCT = 389, VOID_TOK = 390,
VOID_TOK = 390, WHILE = 391,
WHILE = 391, IDENTIFIER = 392,
IDENTIFIER = 392, TYPE_IDENTIFIER = 393,
TYPE_IDENTIFIER = 393, NEW_IDENTIFIER = 394,
NEW_IDENTIFIER = 394, FLOATCONSTANT = 395,
FLOATCONSTANT = 395, INTCONSTANT = 396,
INTCONSTANT = 396, UINTCONSTANT = 397,
UINTCONSTANT = 397, BOOLCONSTANT = 398,
BOOLCONSTANT = 398, FIELD_SELECTION = 399,
FIELD_SELECTION = 399, LEFT_OP = 400,
LEFT_OP = 400, RIGHT_OP = 401,
RIGHT_OP = 401, INC_OP = 402,
INC_OP = 402, DEC_OP = 403,
DEC_OP = 403, LE_OP = 404,
LE_OP = 404, GE_OP = 405,
GE_OP = 405, EQ_OP = 406,
EQ_OP = 406, NE_OP = 407,
NE_OP = 407, AND_OP = 408,
AND_OP = 408, OR_OP = 409,
OR_OP = 409, XOR_OP = 410,
XOR_OP = 410, MUL_ASSIGN = 411,
MUL_ASSIGN = 411, DIV_ASSIGN = 412,
DIV_ASSIGN = 412, ADD_ASSIGN = 413,
ADD_ASSIGN = 413, MOD_ASSIGN = 414,
MOD_ASSIGN = 414, LEFT_ASSIGN = 415,
LEFT_ASSIGN = 415, RIGHT_ASSIGN = 416,
RIGHT_ASSIGN = 416, AND_ASSIGN = 417,
AND_ASSIGN = 417, XOR_ASSIGN = 418,
XOR_ASSIGN = 418, OR_ASSIGN = 419,
OR_ASSIGN = 419, SUB_ASSIGN = 420,
SUB_ASSIGN = 420, INVARIANT = 421,
INVARIANT = 421, LOWP = 422,
LOWP = 422, MEDIUMP = 423,
MEDIUMP = 423, HIGHP = 424,
HIGHP = 424, SUPERP = 425,
SUPERP = 425, PRECISION = 426,
PRECISION = 426, VERSION_TOK = 427,
VERSION_TOK = 427, EXTENSION = 428,
EXTENSION = 428, LINE = 429,
LINE = 429, COLON = 430,
COLON = 430, EOL = 431,
EOL = 431, INTERFACE = 432,
INTERFACE = 432, OUTPUT = 433,
OUTPUT = 433, PRAGMA_DEBUG_ON = 434,
PRAGMA_DEBUG_ON = 434, PRAGMA_DEBUG_OFF = 435,
PRAGMA_DEBUG_OFF = 435, PRAGMA_OPTIMIZE_ON = 436,
PRAGMA_OPTIMIZE_ON = 436, PRAGMA_OPTIMIZE_OFF = 437,
PRAGMA_OPTIMIZE_OFF = 437, PRAGMA_INVARIANT_ALL = 438,
PRAGMA_INVARIANT_ALL = 438, LAYOUT_TOK = 439,
LAYOUT_TOK = 439, ASM = 440,
ASM = 440, CLASS = 441,
CLASS = 441, UNION = 442,
UNION = 442, ENUM = 443,
ENUM = 443, TYPEDEF = 444,
TYPEDEF = 444, TEMPLATE = 445,
TEMPLATE = 445, THIS = 446,
THIS = 446, PACKED_TOK = 447,
PACKED_TOK = 447, GOTO = 448,
GOTO = 448, INLINE_TOK = 449,
INLINE_TOK = 449, NOINLINE = 450,
NOINLINE = 450, PUBLIC_TOK = 451,
PUBLIC_TOK = 451, STATIC = 452,
STATIC = 452, EXTERN = 453,
EXTERN = 453, EXTERNAL = 454,
EXTERNAL = 454, LONG_TOK = 455,
LONG_TOK = 455, SHORT_TOK = 456,
SHORT_TOK = 456, DOUBLE_TOK = 457,
DOUBLE_TOK = 457, HALF = 458,
HALF = 458, FIXED_TOK = 459,
FIXED_TOK = 459, UNSIGNED = 460,
UNSIGNED = 460, INPUT_TOK = 461,
INPUT_TOK = 461, OUPTUT = 462,
OUPTUT = 462, HVEC2 = 463,
HVEC2 = 463, HVEC3 = 464,
HVEC3 = 464, HVEC4 = 465,
HVEC4 = 465, DVEC2 = 466,
DVEC2 = 466, DVEC3 = 467,
DVEC3 = 467, DVEC4 = 468,
DVEC4 = 468, FVEC2 = 469,
FVEC2 = 469, FVEC3 = 470,
FVEC3 = 470, FVEC4 = 471,
FVEC4 = 471, SAMPLER3DRECT = 472,
SAMPLER3DRECT = 472, SIZEOF = 473,
SIZEOF = 473, CAST = 474,
CAST = 474, NAMESPACE = 475,
NAMESPACE = 475, USING = 476,
USING = 476, RESOURCE = 477,
RESOURCE = 477, PATCH = 478,
PATCH = 478, SAMPLE = 479,
SAMPLE = 479, SUBROUTINE = 480,
SUBROUTINE = 480, ERROR_TOK = 481,
ERROR_TOK = 481, COMMON = 482,
COMMON = 482, PARTITION = 483,
PARTITION = 483, ACTIVE = 484,
ACTIVE = 484, FILTER = 485,
FILTER = 485, ROW_MAJOR = 486,
ROW_MAJOR = 486, THEN = 487
THEN = 487 };
};
#endif #endif
/* Value type. */
#if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
typedef union YYSTYPE typedef union YYSTYPE YYSTYPE;
union YYSTYPE
{ {
/* Line 2053 of yacc.c */ #line 96 "src/glsl/glsl_parser.yy" /* yacc.c:1909 */
#line 96 "src/glsl/glsl_parser.yy"
int n; int n;
float real; float real;
@ -321,41 +320,28 @@ typedef union YYSTYPE
ast_node *else_statement; ast_node *else_statement;
} selection_rest_statement; } selection_rest_statement;
#line 324 "src/glsl/glsl_parser.h" /* yacc.c:1909 */
/* Line 2053 of yacc.c */ };
#line 327 "src/glsl/glsl_parser.h"
} YYSTYPE;
# define YYSTYPE_IS_TRIVIAL 1 # define YYSTYPE_IS_TRIVIAL 1
# define yystype YYSTYPE /* obsolescent; will be withdrawn */
# define YYSTYPE_IS_DECLARED 1 # define YYSTYPE_IS_DECLARED 1
#endif #endif
/* Location type. */
#if ! defined YYLTYPE && ! defined YYLTYPE_IS_DECLARED #if ! defined YYLTYPE && ! defined YYLTYPE_IS_DECLARED
typedef struct YYLTYPE typedef struct YYLTYPE YYLTYPE;
struct YYLTYPE
{ {
int first_line; int first_line;
int first_column; int first_column;
int last_line; int last_line;
int last_column; int last_column;
} YYLTYPE; };
# define yyltype YYLTYPE /* obsolescent; will be withdrawn */
# define YYLTYPE_IS_DECLARED 1 # define YYLTYPE_IS_DECLARED 1
# define YYLTYPE_IS_TRIVIAL 1 # define YYLTYPE_IS_TRIVIAL 1
#endif #endif
#ifdef YYPARSE_PARAM
#if defined __STDC__ || defined __cplusplus
int _mesa_glsl_parse (void *YYPARSE_PARAM);
#else
int _mesa_glsl_parse ();
#endif
#else /* ! YYPARSE_PARAM */
#if defined __STDC__ || defined __cplusplus
int _mesa_glsl_parse (struct _mesa_glsl_parse_state *state); int _mesa_glsl_parse (struct _mesa_glsl_parse_state *state);
#else
int _mesa_glsl_parse ();
#endif
#endif /* ! YYPARSE_PARAM */
#endif /* !YY__MESA_GLSL_SRC_GLSL_GLSL_PARSER_H_INCLUDED */ #endif /* !YY__MESA_GLSL_SRC_GLSL_GLSL_PARSER_H_INCLUDED */