/* 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, EXTERN = 259, STATIC = 260, AUTO = 261, REGISTER = 262, THREADLOCAL = 263, INLINE = 264, FORTRAN = 265, NORETURN = 266, CONST = 267, VOLATILE = 268, RESTRICT = 269, ATOMIC = 270, FORALL = 271, LVALUE = 272, MUTEX = 273, VOID = 274, CHAR = 275, SHORT = 276, INT = 277, LONG = 278, FLOAT = 279, DOUBLE = 280, SIGNED = 281, UNSIGNED = 282, ZERO_T = 283, ONE_T = 284, VALIST = 285, BOOL = 286, COMPLEX = 287, IMAGINARY = 288, TYPEOF = 289, LABEL = 290, ENUM = 291, STRUCT = 292, UNION = 293, COROUTINE = 294, MONITOR = 295, THREAD = 296, OTYPE = 297, FTYPE = 298, DTYPE = 299, TTYPE = 300, TRAIT = 301, SIZEOF = 302, OFFSETOF = 303, ATTRIBUTE = 304, EXTENSION = 305, IF = 306, ELSE = 307, SWITCH = 308, CASE = 309, DEFAULT = 310, DO = 311, WHILE = 312, FOR = 313, BREAK = 314, CONTINUE = 315, GOTO = 316, RETURN = 317, CHOOSE = 318, DISABLE = 319, ENABLE = 320, FALLTHRU = 321, TRY = 322, CATCH = 323, CATCHRESUME = 324, FINALLY = 325, THROW = 326, THROWRESUME = 327, AT = 328, ASM = 329, ALIGNAS = 330, ALIGNOF = 331, GENERIC = 332, STATICASSERT = 333, IDENTIFIER = 334, QUOTED_IDENTIFIER = 335, TYPEDEFname = 336, TYPEGENname = 337, ATTR_IDENTIFIER = 338, ATTR_TYPEDEFname = 339, ATTR_TYPEGENname = 340, INTEGERconstant = 341, CHARACTERconstant = 342, STRINGliteral = 343, REALDECIMALconstant = 344, REALFRACTIONconstant = 345, FLOATINGconstant = 346, ZERO = 347, ONE = 348, ARROW = 349, ICR = 350, DECR = 351, LS = 352, RS = 353, LE = 354, GE = 355, EQ = 356, NE = 357, ANDAND = 358, OROR = 359, ELLIPSIS = 360, MULTassign = 361, DIVassign = 362, MODassign = 363, PLUSassign = 364, MINUSassign = 365, LSassign = 366, RSassign = 367, ANDassign = 368, ERassign = 369, ORassign = 370, ATassign = 371, THEN = 372 }; #endif /* Tokens. */ #define TYPEDEF 258 #define EXTERN 259 #define STATIC 260 #define AUTO 261 #define REGISTER 262 #define THREADLOCAL 263 #define INLINE 264 #define FORTRAN 265 #define NORETURN 266 #define CONST 267 #define VOLATILE 268 #define RESTRICT 269 #define ATOMIC 270 #define FORALL 271 #define LVALUE 272 #define MUTEX 273 #define VOID 274 #define CHAR 275 #define SHORT 276 #define INT 277 #define LONG 278 #define FLOAT 279 #define DOUBLE 280 #define SIGNED 281 #define UNSIGNED 282 #define ZERO_T 283 #define ONE_T 284 #define VALIST 285 #define BOOL 286 #define COMPLEX 287 #define IMAGINARY 288 #define TYPEOF 289 #define LABEL 290 #define ENUM 291 #define STRUCT 292 #define UNION 293 #define COROUTINE 294 #define MONITOR 295 #define THREAD 296 #define OTYPE 297 #define FTYPE 298 #define DTYPE 299 #define TTYPE 300 #define TRAIT 301 #define SIZEOF 302 #define OFFSETOF 303 #define ATTRIBUTE 304 #define EXTENSION 305 #define IF 306 #define ELSE 307 #define SWITCH 308 #define CASE 309 #define DEFAULT 310 #define DO 311 #define WHILE 312 #define FOR 313 #define BREAK 314 #define CONTINUE 315 #define GOTO 316 #define RETURN 317 #define CHOOSE 318 #define DISABLE 319 #define ENABLE 320 #define FALLTHRU 321 #define TRY 322 #define CATCH 323 #define CATCHRESUME 324 #define FINALLY 325 #define THROW 326 #define THROWRESUME 327 #define AT 328 #define ASM 329 #define ALIGNAS 330 #define ALIGNOF 331 #define GENERIC 332 #define STATICASSERT 333 #define IDENTIFIER 334 #define QUOTED_IDENTIFIER 335 #define TYPEDEFname 336 #define TYPEGENname 337 #define ATTR_IDENTIFIER 338 #define ATTR_TYPEDEFname 339 #define ATTR_TYPEGENname 340 #define INTEGERconstant 341 #define CHARACTERconstant 342 #define STRINGliteral 343 #define REALDECIMALconstant 344 #define REALFRACTIONconstant 345 #define FLOATINGconstant 346 #define ZERO 347 #define ONE 348 #define ARROW 349 #define ICR 350 #define DECR 351 #define LS 352 #define RS 353 #define LE 354 #define GE 355 #define EQ 356 #define NE 357 #define ANDAND 358 #define OROR 359 #define ELLIPSIS 360 #define MULTassign 361 #define DIVassign 362 #define MODassign 363 #define PLUSassign 364 #define MINUSassign 365 #define LSassign 366 #define RSassign 367 #define ANDassign 368 #define ERassign 369 #define ORassign 370 #define ATassign 371 #define THEN 372 #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED typedef union YYSTYPE { /* Line 2068 of yacc.c */ #line 142 "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 303 "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;