Home | History | Annotate | Download | only in glsl
      1 /* A Bison parser, made by GNU Bison 2.4.3.  */
      2 
      3 /* Skeleton interface for Bison's Yacc-like parsers in C
      4 
      5       Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003, 2004, 2005, 2006,
      6    2009, 2010 Free Software Foundation, Inc.
      7 
      8    This program is free software: you can redistribute it and/or modify
      9    it under the terms of the GNU General Public License as published by
     10    the Free Software Foundation, either version 3 of the License, or
     11    (at your option) any later version.
     12 
     13    This program is distributed in the hope that it will be useful,
     14    but WITHOUT ANY WARRANTY; without even the implied warranty of
     15    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
     16    GNU General Public License for more details.
     17 
     18    You should have received a copy of the GNU General Public License
     19    along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
     20 
     21 /* As a special exception, you may create a larger work that contains
     22    part or all of the Bison parser skeleton and distribute that work
     23    under terms of your choice, so long as that work isn't itself a
     24    parser generator using the skeleton or a modified version thereof
     25    as a parser skeleton.  Alternatively, if you modify or redistribute
     26    the parser skeleton itself, you may (at your option) remove this
     27    special exception, which will cause the skeleton and the resulting
     28    Bison output files to be licensed under the GNU General Public
     29    License without this special exception.
     30 
     31    This special exception was added by the Free Software Foundation in
     32    version 2.2 of Bison.  */
     33 
     34 
     35 /* Tokens.  */
     36 #ifndef YYTOKENTYPE
     37 # define YYTOKENTYPE
     38    /* Put the tokens into the symbol table, so that GDB and other debuggers
     39       know about them.  */
     40    enum yytokentype {
     41      ATTRIBUTE = 258,
     42      CONST_TOK = 259,
     43      BOOL_TOK = 260,
     44      FLOAT_TOK = 261,
     45      INT_TOK = 262,
     46      UINT_TOK = 263,
     47      BREAK = 264,
     48      CONTINUE = 265,
     49      DO = 266,
     50      ELSE = 267,
     51      FOR = 268,
     52      IF = 269,
     53      DISCARD = 270,
     54      RETURN = 271,
     55      SWITCH = 272,
     56      CASE = 273,
     57      DEFAULT = 274,
     58      BVEC2 = 275,
     59      BVEC3 = 276,
     60      BVEC4 = 277,
     61      IVEC2 = 278,
     62      IVEC3 = 279,
     63      IVEC4 = 280,
     64      UVEC2 = 281,
     65      UVEC3 = 282,
     66      UVEC4 = 283,
     67      VEC2 = 284,
     68      VEC3 = 285,
     69      VEC4 = 286,
     70      CENTROID = 287,
     71      IN_TOK = 288,
     72      OUT_TOK = 289,
     73      INOUT_TOK = 290,
     74      UNIFORM = 291,
     75      VARYING = 292,
     76      NOPERSPECTIVE = 293,
     77      FLAT = 294,
     78      SMOOTH = 295,
     79      MAT2X2 = 296,
     80      MAT2X3 = 297,
     81      MAT2X4 = 298,
     82      MAT3X2 = 299,
     83      MAT3X3 = 300,
     84      MAT3X4 = 301,
     85      MAT4X2 = 302,
     86      MAT4X3 = 303,
     87      MAT4X4 = 304,
     88      SAMPLER1D = 305,
     89      SAMPLER2D = 306,
     90      SAMPLER3D = 307,
     91      SAMPLERCUBE = 308,
     92      SAMPLER1DSHADOW = 309,
     93      SAMPLER2DSHADOW = 310,
     94      SAMPLERCUBESHADOW = 311,
     95      SAMPLER1DARRAY = 312,
     96      SAMPLER2DARRAY = 313,
     97      SAMPLER1DARRAYSHADOW = 314,
     98      SAMPLER2DARRAYSHADOW = 315,
     99      ISAMPLER1D = 316,
    100      ISAMPLER2D = 317,
    101      ISAMPLER3D = 318,
    102      ISAMPLERCUBE = 319,
    103      ISAMPLER1DARRAY = 320,
    104      ISAMPLER2DARRAY = 321,
    105      USAMPLER1D = 322,
    106      USAMPLER2D = 323,
    107      USAMPLER3D = 324,
    108      USAMPLERCUBE = 325,
    109      USAMPLER1DARRAY = 326,
    110      USAMPLER2DARRAY = 327,
    111      STRUCT = 328,
    112      VOID_TOK = 329,
    113      WHILE = 330,
    114      IDENTIFIER = 331,
    115      FLOATCONSTANT = 332,
    116      INTCONSTANT = 333,
    117      UINTCONSTANT = 334,
    118      BOOLCONSTANT = 335,
    119      FIELD_SELECTION = 336,
    120      LEFT_OP = 337,
    121      RIGHT_OP = 338,
    122      INC_OP = 339,
    123      DEC_OP = 340,
    124      LE_OP = 341,
    125      GE_OP = 342,
    126      EQ_OP = 343,
    127      NE_OP = 344,
    128      AND_OP = 345,
    129      OR_OP = 346,
    130      XOR_OP = 347,
    131      MUL_ASSIGN = 348,
    132      DIV_ASSIGN = 349,
    133      ADD_ASSIGN = 350,
    134      MOD_ASSIGN = 351,
    135      LEFT_ASSIGN = 352,
    136      RIGHT_ASSIGN = 353,
    137      AND_ASSIGN = 354,
    138      XOR_ASSIGN = 355,
    139      OR_ASSIGN = 356,
    140      SUB_ASSIGN = 357,
    141      INVARIANT = 358,
    142      LOWP = 359,
    143      MEDIUMP = 360,
    144      HIGHP = 361,
    145      SUPERP = 362,
    146      PRECISION = 363,
    147      VERSION = 364,
    148      EXTENSION = 365,
    149      LINE = 366,
    150      COLON = 367,
    151      EOL = 368,
    152      INTERFACE = 369,
    153      OUTPUT = 370,
    154      PRAGMA_DEBUG_ON = 371,
    155      PRAGMA_DEBUG_OFF = 372,
    156      PRAGMA_OPTIMIZE_ON = 373,
    157      PRAGMA_OPTIMIZE_OFF = 374,
    158      LAYOUT_TOK = 375,
    159      ASM = 376,
    160      CLASS = 377,
    161      UNION = 378,
    162      ENUM = 379,
    163      TYPEDEF = 380,
    164      TEMPLATE = 381,
    165      THIS = 382,
    166      PACKED_TOK = 383,
    167      GOTO = 384,
    168      INLINE_TOK = 385,
    169      NOINLINE = 386,
    170      VOLATILE = 387,
    171      PUBLIC_TOK = 388,
    172      STATIC = 389,
    173      EXTERN = 390,
    174      EXTERNAL = 391,
    175      LONG_TOK = 392,
    176      SHORT_TOK = 393,
    177      DOUBLE_TOK = 394,
    178      HALF = 395,
    179      FIXED_TOK = 396,
    180      UNSIGNED = 397,
    181      INPUT_TOK = 398,
    182      OUPTUT = 399,
    183      HVEC2 = 400,
    184      HVEC3 = 401,
    185      HVEC4 = 402,
    186      DVEC2 = 403,
    187      DVEC3 = 404,
    188      DVEC4 = 405,
    189      FVEC2 = 406,
    190      FVEC3 = 407,
    191      FVEC4 = 408,
    192      SAMPLER2DRECT = 409,
    193      SAMPLER3DRECT = 410,
    194      SAMPLER2DRECTSHADOW = 411,
    195      SIZEOF = 412,
    196      CAST = 413,
    197      NAMESPACE = 414,
    198      USING = 415,
    199      ERROR_TOK = 416,
    200      COMMON = 417,
    201      PARTITION = 418,
    202      ACTIVE = 419,
    203      SAMPLERBUFFER = 420,
    204      FILTER = 421,
    205      IMAGE1D = 422,
    206      IMAGE2D = 423,
    207      IMAGE3D = 424,
    208      IMAGECUBE = 425,
    209      IMAGE1DARRAY = 426,
    210      IMAGE2DARRAY = 427,
    211      IIMAGE1D = 428,
    212      IIMAGE2D = 429,
    213      IIMAGE3D = 430,
    214      IIMAGECUBE = 431,
    215      IIMAGE1DARRAY = 432,
    216      IIMAGE2DARRAY = 433,
    217      UIMAGE1D = 434,
    218      UIMAGE2D = 435,
    219      UIMAGE3D = 436,
    220      UIMAGECUBE = 437,
    221      UIMAGE1DARRAY = 438,
    222      UIMAGE2DARRAY = 439,
    223      IMAGE1DSHADOW = 440,
    224      IMAGE2DSHADOW = 441,
    225      IMAGEBUFFER = 442,
    226      IIMAGEBUFFER = 443,
    227      UIMAGEBUFFER = 444,
    228      IMAGE1DARRAYSHADOW = 445,
    229      IMAGE2DARRAYSHADOW = 446,
    230      ROW_MAJOR = 447
    231    };
    232 #endif
    233 
    234 
    235 
    236 #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
    237 typedef union YYSTYPE
    238 {
    239 
    240 /* Line 1685 of yacc.c  */
    241 #line 52 "glsl_parser.ypp"
    242 
    243    int n;
    244    float real;
    245    char *identifier;
    246 
    247    struct ast_type_qualifier type_qualifier;
    248 
    249    ast_node *node;
    250    ast_type_specifier *type_specifier;
    251    ast_fully_specified_type *fully_specified_type;
    252    ast_function *function;
    253    ast_parameter_declarator *parameter_declarator;
    254    ast_function_definition *function_definition;
    255    ast_compound_statement *compound_statement;
    256    ast_expression *expression;
    257    ast_declarator_list *declarator_list;
    258    ast_struct_specifier *struct_specifier;
    259    ast_declaration *declaration;
    260 
    261    struct {
    262       ast_node *cond;
    263       ast_expression *rest;
    264    } for_rest_statement;
    265 
    266    struct {
    267       ast_node *then_statement;
    268       ast_node *else_statement;
    269    } selection_rest_statement;
    270 
    271 
    272 
    273 /* Line 1685 of yacc.c  */
    274 #line 275 "glsl_parser.h"
    275 } YYSTYPE;
    276 # define YYSTYPE_IS_TRIVIAL 1
    277 # define yystype YYSTYPE /* obsolescent; will be withdrawn */
    278 # define YYSTYPE_IS_DECLARED 1
    279 #endif
    280 
    281 
    282 
    283 #if ! defined YYLTYPE && ! defined YYLTYPE_IS_DECLARED
    284 typedef struct YYLTYPE
    285 {
    286   int first_line;
    287   int first_column;
    288   int last_line;
    289   int last_column;
    290 } YYLTYPE;
    291 # define yyltype YYLTYPE /* obsolescent; will be withdrawn */
    292 # define YYLTYPE_IS_DECLARED 1
    293 # define YYLTYPE_IS_TRIVIAL 1
    294 #endif
    295 
    296 
    297 
    298