Home | History | Annotate | Download | only in compiler
      1 /* A Bison parser, made by GNU Bison 2.7.  */
      2 
      3 /* Bison interface for Yacc-like parsers in C
      4 
      5       Copyright (C) 1984, 1989-1990, 2000-2012 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      BREAK = 268,
     68      CONTINUE = 269,
     69      DO = 270,
     70      ELSE = 271,
     71      FOR = 272,
     72      IF = 273,
     73      DISCARD = 274,
     74      RETURN = 275,
     75      BVEC2 = 276,
     76      BVEC3 = 277,
     77      BVEC4 = 278,
     78      IVEC2 = 279,
     79      IVEC3 = 280,
     80      IVEC4 = 281,
     81      VEC2 = 282,
     82      VEC3 = 283,
     83      VEC4 = 284,
     84      MATRIX2 = 285,
     85      MATRIX3 = 286,
     86      MATRIX4 = 287,
     87      IN_QUAL = 288,
     88      OUT_QUAL = 289,
     89      INOUT_QUAL = 290,
     90      UNIFORM = 291,
     91      VARYING = 292,
     92      STRUCT = 293,
     93      VOID_TYPE = 294,
     94      WHILE = 295,
     95      SAMPLER2D = 296,
     96      SAMPLERCUBE = 297,
     97      SAMPLER_EXTERNAL_OES = 298,
     98      SAMPLER2DRECT = 299,
     99      IDENTIFIER = 300,
    100      TYPE_NAME = 301,
    101      FLOATCONSTANT = 302,
    102      INTCONSTANT = 303,
    103      BOOLCONSTANT = 304,
    104      LEFT_OP = 305,
    105      RIGHT_OP = 306,
    106      INC_OP = 307,
    107      DEC_OP = 308,
    108      LE_OP = 309,
    109      GE_OP = 310,
    110      EQ_OP = 311,
    111      NE_OP = 312,
    112      AND_OP = 313,
    113      OR_OP = 314,
    114      XOR_OP = 315,
    115      MUL_ASSIGN = 316,
    116      DIV_ASSIGN = 317,
    117      ADD_ASSIGN = 318,
    118      MOD_ASSIGN = 319,
    119      LEFT_ASSIGN = 320,
    120      RIGHT_ASSIGN = 321,
    121      AND_ASSIGN = 322,
    122      XOR_ASSIGN = 323,
    123      OR_ASSIGN = 324,
    124      SUB_ASSIGN = 325,
    125      LEFT_PAREN = 326,
    126      RIGHT_PAREN = 327,
    127      LEFT_BRACKET = 328,
    128      RIGHT_BRACKET = 329,
    129      LEFT_BRACE = 330,
    130      RIGHT_BRACE = 331,
    131      DOT = 332,
    132      COMMA = 333,
    133      COLON = 334,
    134      EQUAL = 335,
    135      SEMICOLON = 336,
    136      BANG = 337,
    137      DASH = 338,
    138      TILDE = 339,
    139      PLUS = 340,
    140      STAR = 341,
    141      SLASH = 342,
    142      PERCENT = 343,
    143      LEFT_ANGLE = 344,
    144      RIGHT_ANGLE = 345,
    145      VERTICAL_BAR = 346,
    146      CARET = 347,
    147      AMPERSAND = 348,
    148      QUESTION = 349
    149    };
    150 #endif
    151 
    152 
    153 #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
    154 typedef union YYSTYPE
    155 {
    156 
    157 
    158     struct {
    159         union {
    160             TString *string;
    161             float f;
    162             int i;
    163             bool b;
    164         };
    165         TSymbol* symbol;
    166     } lex;
    167     struct {
    168         TOperator op;
    169         union {
    170             TIntermNode* intermNode;
    171             TIntermNodePair nodePair;
    172             TIntermTyped* intermTypedNode;
    173             TIntermAggregate* intermAggregate;
    174         };
    175         union {
    176             TPublicType type;
    177             TPrecision precision;
    178             TQualifier qualifier;
    179             TFunction* function;
    180             TParameter param;
    181             TField* field;
    182             TFieldList* fieldList;
    183         };
    184     } interm;
    185 
    186 
    187 
    188 } YYSTYPE;
    189 # define YYSTYPE_IS_TRIVIAL 1
    190 # define yystype YYSTYPE /* obsolescent; will be withdrawn */
    191 # define YYSTYPE_IS_DECLARED 1
    192 #endif
    193 
    194 #if ! defined YYLTYPE && ! defined YYLTYPE_IS_DECLARED
    195 typedef struct YYLTYPE
    196 {
    197   int first_line;
    198   int first_column;
    199   int last_line;
    200   int last_column;
    201 } YYLTYPE;
    202 # define yyltype YYLTYPE /* obsolescent; will be withdrawn */
    203 # define YYLTYPE_IS_DECLARED 1
    204 # define YYLTYPE_IS_TRIVIAL 1
    205 #endif
    206 
    207 
    208 #ifdef YYPARSE_PARAM
    209 #if defined __STDC__ || defined __cplusplus
    210 int yyparse (void *YYPARSE_PARAM);
    211 #else
    212 int yyparse ();
    213 #endif
    214 #else /* ! YYPARSE_PARAM */
    215 #if defined __STDC__ || defined __cplusplus
    216 int yyparse (TParseContext* context);
    217 #else
    218 int yyparse ();
    219 #endif
    220 #endif /* ! YYPARSE_PARAM */
    221 
    222 #endif /* !YY_YY_GLSLANG_TAB_H_INCLUDED  */
    223