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