/* A Bison parser, made by GNU Bison 3.0.2. */ /* Bison interface for Yacc-like parsers in C Copyright (C) 1984, 1989-1990, 2000-2013 Free Software Foundation, Inc. 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 the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* As a special exception, you may create a larger work that contains part or all of the Bison parser skeleton and distribute that work under terms of your choice, so long as that work isn't itself a parser generator using the skeleton or a modified version thereof as a parser skeleton. Alternatively, if you modify or redistribute the parser skeleton itself, you may (at your option) remove this special exception, which will cause the skeleton and the resulting Bison output files to be licensed under the GNU General Public License without this special exception. This special exception was added by the Free Software Foundation in version 2.2 of Bison. */ #ifndef YY_YY_PARSER_PARSER_H_INCLUDED # define YY_YY_PARSER_PARSER_H_INCLUDED /* Debug traces. */ #ifndef YYDEBUG # define YYDEBUG 1 #endif #if YYDEBUG extern int yydebug; #endif /* Token type. */ #ifndef YYTOKENTYPE # define YYTOKENTYPE enum yytokentype { TYPEDEF = 258, AUTO = 259, EXTERN = 260, REGISTER = 261, STATIC = 262, INLINE = 263, FORTRAN = 264, CONST = 265, VOLATILE = 266, RESTRICT = 267, FORALL = 268, LVALUE = 269, VOID = 270, CHAR = 271, SHORT = 272, INT = 273, LONG = 274, FLOAT = 275, DOUBLE = 276, SIGNED = 277, UNSIGNED = 278, ZERO_T = 279, ONE_T = 280, VALIST = 281, BOOL = 282, COMPLEX = 283, IMAGINARY = 284, TYPEOF = 285, LABEL = 286, ENUM = 287, STRUCT = 288, UNION = 289, OTYPE = 290, FTYPE = 291, DTYPE = 292, TRAIT = 293, SIZEOF = 294, OFFSETOF = 295, ATTRIBUTE = 296, EXTENSION = 297, IF = 298, ELSE = 299, SWITCH = 300, CASE = 301, DEFAULT = 302, DO = 303, WHILE = 304, FOR = 305, BREAK = 306, CONTINUE = 307, GOTO = 308, RETURN = 309, CHOOSE = 310, DISABLE = 311, ENABLE = 312, FALLTHRU = 313, TRY = 314, CATCH = 315, CATCHRESUME = 316, FINALLY = 317, THROW = 318, THROWRESUME = 319, AT = 320, ASM = 321, ALIGNAS = 322, ALIGNOF = 323, ATOMIC = 324, GENERIC = 325, NORETURN = 326, STATICASSERT = 327, THREADLOCAL = 328, IDENTIFIER = 329, QUOTED_IDENTIFIER = 330, TYPEDEFname = 331, TYPEGENname = 332, ATTR_IDENTIFIER = 333, ATTR_TYPEDEFname = 334, ATTR_TYPEGENname = 335, INTEGERconstant = 336, CHARACTERconstant = 337, STRINGliteral = 338, REALDECIMALconstant = 339, REALFRACTIONconstant = 340, FLOATINGconstant = 341, ZERO = 342, ONE = 343, ARROW = 344, ICR = 345, DECR = 346, LS = 347, RS = 348, LE = 349, GE = 350, EQ = 351, NE = 352, ANDAND = 353, OROR = 354, ELLIPSIS = 355, MULTassign = 356, DIVassign = 357, MODassign = 358, PLUSassign = 359, MINUSassign = 360, LSassign = 361, RSassign = 362, ANDassign = 363, ERassign = 364, ORassign = 365, ATassign = 366, THEN = 367 }; #endif /* Tokens. */ #define TYPEDEF 258 #define AUTO 259 #define EXTERN 260 #define REGISTER 261 #define STATIC 262 #define INLINE 263 #define FORTRAN 264 #define CONST 265 #define VOLATILE 266 #define RESTRICT 267 #define FORALL 268 #define LVALUE 269 #define VOID 270 #define CHAR 271 #define SHORT 272 #define INT 273 #define LONG 274 #define FLOAT 275 #define DOUBLE 276 #define SIGNED 277 #define UNSIGNED 278 #define ZERO_T 279 #define ONE_T 280 #define VALIST 281 #define BOOL 282 #define COMPLEX 283 #define IMAGINARY 284 #define TYPEOF 285 #define LABEL 286 #define ENUM 287 #define STRUCT 288 #define UNION 289 #define OTYPE 290 #define FTYPE 291 #define DTYPE 292 #define TRAIT 293 #define SIZEOF 294 #define OFFSETOF 295 #define ATTRIBUTE 296 #define EXTENSION 297 #define IF 298 #define ELSE 299 #define SWITCH 300 #define CASE 301 #define DEFAULT 302 #define DO 303 #define WHILE 304 #define FOR 305 #define BREAK 306 #define CONTINUE 307 #define GOTO 308 #define RETURN 309 #define CHOOSE 310 #define DISABLE 311 #define ENABLE 312 #define FALLTHRU 313 #define TRY 314 #define CATCH 315 #define CATCHRESUME 316 #define FINALLY 317 #define THROW 318 #define THROWRESUME 319 #define AT 320 #define ASM 321 #define ALIGNAS 322 #define ALIGNOF 323 #define ATOMIC 324 #define GENERIC 325 #define NORETURN 326 #define STATICASSERT 327 #define THREADLOCAL 328 #define IDENTIFIER 329 #define QUOTED_IDENTIFIER 330 #define TYPEDEFname 331 #define TYPEGENname 332 #define ATTR_IDENTIFIER 333 #define ATTR_TYPEDEFname 334 #define ATTR_TYPEGENname 335 #define INTEGERconstant 336 #define CHARACTERconstant 337 #define STRINGliteral 338 #define REALDECIMALconstant 339 #define REALFRACTIONconstant 340 #define FLOATINGconstant 341 #define ZERO 342 #define ONE 343 #define ARROW 344 #define ICR 345 #define DECR 346 #define LS 347 #define RS 348 #define LE 349 #define GE 350 #define EQ 351 #define NE 352 #define ANDAND 353 #define OROR 354 #define ELLIPSIS 355 #define MULTassign 356 #define DIVassign 357 #define MODassign 358 #define PLUSassign 359 #define MINUSassign 360 #define LSassign 361 #define RSassign 362 #define ANDassign 363 #define ERassign 364 #define ORassign 365 #define ATassign 366 #define THEN 367 /* Value type. */ #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED typedef union YYSTYPE YYSTYPE; union YYSTYPE { #line 120 "parser.yy" /* yacc.c:1909 */ Token tok; ParseNode *pn; ExpressionNode *en; DeclarationNode *decl; DeclarationNode::Aggregate aggKey; DeclarationNode::TypeClass tclass; StatementNode *sn; ConstantExpr *constant; ForCtl *fctl; LabelNode *label; InitializerNode *in; OperKinds op; std::string *str; bool flag; #line 295 "Parser/parser.h" /* yacc.c:1909 */ }; # define YYSTYPE_IS_TRIVIAL 1 # define YYSTYPE_IS_DECLARED 1 #endif extern YYSTYPE yylval; int yyparse (void); #endif /* !YY_YY_PARSER_PARSER_H_INCLUDED */