Home | History | Annotate | Download | only in translator
      1 /* A Bison parser, made by GNU Bison 2.7.1.  */
      2 
      3 /* Bison interface for Yacc-like parsers in C
      4 
      5       Copyright (C) 1984, 1989-1990, 2000-2013 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 #ifndef YY_YY_GLSLANG_TAB_H_INCLUDED
     34 # define YY_YY_GLSLANG_TAB_H_INCLUDED
     35 /* Enabling traces.  */
     36 #ifndef YYDEBUG
     37 # define YYDEBUG 0
     38 #endif
     39 #if YYDEBUG
     40 extern int yydebug;
     41 #endif
     42 /* "%code requires" blocks.  */
     43 
     44 
     45 #define YYLTYPE TSourceLoc
     46 #define YYLTYPE_IS_DECLARED 1
     47 
     48 
     49 
     50 
     51 /* Tokens.  */
     52 #ifndef YYTOKENTYPE
     53 # define YYTOKENTYPE
     54    /* Put the tokens into the symbol table, so that GDB and other debuggers
     55       know about them.  */
     56    enum yytokentype {
     57      INVARIANT = 258,
     58      HIGH_PRECISION = 259,
     59      MEDIUM_PRECISION = 260,
     60      LOW_PRECISION = 261,
     61      PRECISION = 262,
     62      ATTRIBUTE = 263,
     63      CONST_QUAL = 264,
     64      BOOL_TYPE = 265,
     65      FLOAT_TYPE = 266,
     66      INT_TYPE = 267,
     67      UINT_TYPE = 268,
     68      BREAK = 269,
     69      CONTINUE = 270,
     70      DO = 271,
     71      ELSE = 272,
     72      FOR = 273,
     73      IF = 274,
     74      DISCARD = 275,
     75      RETURN = 276,
     76      SWITCH = 277,
     77      CASE = 278,
     78      DEFAULT = 279,
     79      BVEC2 = 280,
     80      BVEC3 = 281,
     81      BVEC4 = 282,
     82      IVEC2 = 283,
     83      IVEC3 = 284,
     84      IVEC4 = 285,
     85      VEC2 = 286,
     86      VEC3 = 287,
     87      VEC4 = 288,
     88      UVEC2 = 289,
     89      UVEC3 = 290,
     90      UVEC4 = 291,
     91      MATRIX2 = 292,
     92      MATRIX3 = 293,
     93      MATRIX4 = 294,
     94      IN_QUAL = 295,
     95      OUT_QUAL = 296,
     96      INOUT_QUAL = 297,
     97      UNIFORM = 298,
     98      VARYING = 299,
     99      MATRIX2x3 = 300,
    100      MATRIX3x2 = 301,
    101      MATRIX2x4 = 302,
    102      MATRIX4x2 = 303,
    103      MATRIX3x4 = 304,
    104      MATRIX4x3 = 305,
    105      CENTROID = 306,
    106      FLAT = 307,
    107      SMOOTH = 308,
    108      STRUCT = 309,
    109      VOID_TYPE = 310,
    110      WHILE = 311,
    111      SAMPLER2D = 312,
    112      SAMPLERCUBE = 313,
    113      SAMPLER_EXTERNAL_OES = 314,
    114      SAMPLER2DRECT = 315,
    115      SAMPLER2DARRAY = 316,
    116      ISAMPLER2D = 317,
    117      ISAMPLER3D = 318,
    118      ISAMPLERCUBE = 319,
    119      ISAMPLER2DARRAY = 320,
    120      USAMPLER2D = 321,
    121      USAMPLER3D = 322,
    122      USAMPLERCUBE = 323,
    123      USAMPLER2DARRAY = 324,
    124      SAMPLER3D = 325,
    125      SAMPLER3DRECT = 326,
    126      SAMPLER2DSHADOW = 327,
    127      SAMPLERCUBESHADOW = 328,
    128      SAMPLER2DARRAYSHADOW = 329,
    129      LAYOUT = 330,
    130      IDENTIFIER = 331,
    131      TYPE_NAME = 332,
    132      FLOATCONSTANT = 333,
    133      INTCONSTANT = 334,
    134      UINTCONSTANT = 335,
    135      BOOLCONSTANT = 336,
    136      FIELD_SELECTION = 337,
    137      LEFT_OP = 338,
    138      RIGHT_OP = 339,
    139      INC_OP = 340,
    140      DEC_OP = 341,
    141      LE_OP = 342,
    142      GE_OP = 343,
    143      EQ_OP = 344,
    144      NE_OP = 345,
    145      AND_OP = 346,
    146      OR_OP = 347,
    147      XOR_OP = 348,
    148      MUL_ASSIGN = 349,
    149      DIV_ASSIGN = 350,
    150      ADD_ASSIGN = 351,
    151      MOD_ASSIGN = 352,
    152      LEFT_ASSIGN = 353,
    153      RIGHT_ASSIGN = 354,
    154      AND_ASSIGN = 355,
    155      XOR_ASSIGN = 356,
    156      OR_ASSIGN = 357,
    157      SUB_ASSIGN = 358,
    158      LEFT_PAREN = 359,
    159      RIGHT_PAREN = 360,
    160      LEFT_BRACKET = 361,
    161      RIGHT_BRACKET = 362,
    162      LEFT_BRACE = 363,
    163      RIGHT_BRACE = 364,
    164      DOT = 365,
    165      COMMA = 366,
    166      COLON = 367,
    167      EQUAL = 368,
    168      SEMICOLON = 369,
    169      BANG = 370,
    170      DASH = 371,
    171      TILDE = 372,
    172      PLUS = 373,
    173      STAR = 374,
    174      SLASH = 375,
    175      PERCENT = 376,
    176      LEFT_ANGLE = 377,
    177      RIGHT_ANGLE = 378,
    178      VERTICAL_BAR = 379,
    179      CARET = 380,
    180      AMPERSAND = 381,
    181      QUESTION = 382
    182    };
    183 #endif
    184 
    185 
    186 #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
    187 typedef union YYSTYPE
    188 {
    189 
    190 
    191     struct {
    192         union {
    193             TString *string;
    194             float f;
    195             int i;
    196             unsigned int u;
    197             bool b;
    198         };
    199         TSymbol* symbol;
    200     } lex;
    201     struct {
    202         TOperator op;
    203         union {
    204             TIntermNode* intermNode;
    205             TIntermNodePair nodePair;
    206             TIntermTyped* intermTypedNode;
    207             TIntermAggregate* intermAggregate;
    208         };
    209         union {
    210             TPublicType type;
    211             TPrecision precision;
    212             TLayoutQualifier layoutQualifier;
    213             TQualifier qualifier;
    214             TFunction* function;
    215             TParameter param;
    216             TField* field;
    217             TFieldList* fieldList;
    218         };
    219     } interm;
    220 
    221 
    222 
    223 } YYSTYPE;
    224 # define YYSTYPE_IS_TRIVIAL 1
    225 # define yystype YYSTYPE /* obsolescent; will be withdrawn */
    226 # define YYSTYPE_IS_DECLARED 1
    227 #endif
    228 
    229 #if ! defined YYLTYPE && ! defined YYLTYPE_IS_DECLARED
    230 typedef struct YYLTYPE
    231 {
    232   int first_line;
    233   int first_column;
    234   int last_line;
    235   int last_column;
    236 } YYLTYPE;
    237 # define yyltype YYLTYPE /* obsolescent; will be withdrawn */
    238 # define YYLTYPE_IS_DECLARED 1
    239 # define YYLTYPE_IS_TRIVIAL 1
    240 #endif
    241 
    242 
    243 #ifdef YYPARSE_PARAM
    244 #if defined __STDC__ || defined __cplusplus
    245 int yyparse (void *YYPARSE_PARAM);
    246 #else
    247 int yyparse ();
    248 #endif
    249 #else /* ! YYPARSE_PARAM */
    250 #if defined __STDC__ || defined __cplusplus
    251 int yyparse (TParseContext* context);
    252 #else
    253 int yyparse ();
    254 #endif
    255 #endif /* ! YYPARSE_PARAM */
    256 
    257 #endif /* !YY_YY_GLSLANG_TAB_H_INCLUDED  */
    258