/* A Bison parser, made by GNU Bison 2.5. */ /* Bison interface for Yacc-like parsers in C Copyright (C) 1984, 1989-1990, 2000-2011 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. */ /* Tokens. */ #ifndef YYTOKENTYPE # define YYTOKENTYPE /* Put the tokens into the symbol table, so that GDB and other debuggers know about them. */ 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, TTYPE = 293, TRAIT = 294, SIZEOF = 295, OFFSETOF = 296, ATTRIBUTE = 297, EXTENSION = 298, IF = 299, ELSE = 300, SWITCH = 301, CASE = 302, DEFAULT = 303, DO = 304, WHILE = 305, FOR = 306, BREAK = 307, CONTINUE = 308, GOTO = 309, RETURN = 310, CHOOSE = 311, DISABLE = 312, ENABLE = 313, FALLTHRU = 314, TRY = 315, CATCH = 316, CATCHRESUME = 317, FINALLY = 318, THROW = 319, THROWRESUME = 320, AT = 321, ASM = 322, ALIGNAS = 323, ALIGNOF = 324, ATOMIC = 325, GENERIC = 326, NORETURN = 327, STATICASSERT = 328, THREADLOCAL = 329, IDENTIFIER = 330, QUOTED_IDENTIFIER = 331, TYPEDEFname = 332, TYPEGENname = 333, ATTR_IDENTIFIER = 334, ATTR_TYPEDEFname = 335, ATTR_TYPEGENname = 336, INTEGERconstant = 337, CHARACTERconstant = 338, STRINGliteral = 339, REALDECIMALconstant = 340, REALFRACTIONconstant = 341, FLOATINGconstant = 342, ZERO = 343, ONE = 344, ARROW = 345, ICR = 346, DECR = 347, LS = 348, RS = 349, LE = 350, GE = 351, EQ = 352, NE = 353, ANDAND = 354, OROR = 355, ELLIPSIS = 356, MULTassign = 357, DIVassign = 358, MODassign = 359, PLUSassign = 360, MINUSassign = 361, LSassign = 362, RSassign = 363, ANDassign = 364, ERassign = 365, ORassign = 366, ATassign = 367, THEN = 368 }; #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 TTYPE 293 #define TRAIT 294 #define SIZEOF 295 #define OFFSETOF 296 #define ATTRIBUTE 297 #define EXTENSION 298 #define IF 299 #define ELSE 300 #define SWITCH 301 #define CASE 302 #define DEFAULT 303 #define DO 304 #define WHILE 305 #define FOR 306 #define BREAK 307 #define CONTINUE 308 #define GOTO 309 #define RETURN 310 #define CHOOSE 311 #define DISABLE 312 #define ENABLE 313 #define FALLTHRU 314 #define TRY 315 #define CATCH 316 #define CATCHRESUME 317 #define FINALLY 318 #define THROW 319 #define THROWRESUME 320 #define AT 321 #define ASM 322 #define ALIGNAS 323 #define ALIGNOF 324 #define ATOMIC 325 #define GENERIC 326 #define NORETURN 327 #define STATICASSERT 328 #define THREADLOCAL 329 #define IDENTIFIER 330 #define QUOTED_IDENTIFIER 331 #define TYPEDEFname 332 #define TYPEGENname 333 #define ATTR_IDENTIFIER 334 #define ATTR_TYPEDEFname 335 #define ATTR_TYPEGENname 336 #define INTEGERconstant 337 #define CHARACTERconstant 338 #define STRINGliteral 339 #define REALDECIMALconstant 340 #define REALFRACTIONconstant 341 #define FLOATINGconstant 342 #define ZERO 343 #define ONE 344 #define ARROW 345 #define ICR 346 #define DECR 347 #define LS 348 #define RS 349 #define LE 350 #define GE 351 #define EQ 352 #define NE 353 #define ANDAND 354 #define OROR 355 #define ELLIPSIS 356 #define MULTassign 357 #define DIVassign 358 #define MODassign 359 #define PLUSassign 360 #define MINUSassign 361 #define LSassign 362 #define RSassign 363 #define ANDassign 364 #define ERassign 365 #define ORassign 366 #define ATassign 367 #define THEN 368 #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED typedef union YYSTYPE { /* Line 2068 of yacc.c */ #line 139 "parser.yy" 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 2068 of yacc.c */ #line 295 "Parser/parser.h" } YYSTYPE; # define YYSTYPE_IS_TRIVIAL 1 # define yystype YYSTYPE /* obsolescent; will be withdrawn */ # define YYSTYPE_IS_DECLARED 1 #endif extern YYSTYPE yylval;