/* 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, BOOL = 279, COMPLEX = 280, IMAGINARY = 281, TYPEOF = 282, LABEL = 283, ENUM = 284, STRUCT = 285, UNION = 286, TYPE = 287, FTYPE = 288, DTYPE = 289, CONTEXT = 290, SIZEOF = 291, ATTRIBUTE = 292, EXTENSION = 293, IF = 294, ELSE = 295, SWITCH = 296, CASE = 297, DEFAULT = 298, DO = 299, WHILE = 300, FOR = 301, BREAK = 302, CONTINUE = 303, GOTO = 304, RETURN = 305, CHOOSE = 306, DISABLE = 307, ENABLE = 308, FALLTHRU = 309, TRY = 310, CATCH = 311, CATCHRESUME = 312, FINALLY = 313, THROW = 314, THROWRESUME = 315, AT = 316, ASM = 317, ALIGNAS = 318, ALIGNOF = 319, ATOMIC = 320, GENERIC = 321, NORETURN = 322, STATICASSERT = 323, THREADLOCAL = 324, IDENTIFIER = 325, QUOTED_IDENTIFIER = 326, TYPEDEFname = 327, TYPEGENname = 328, ATTR_IDENTIFIER = 329, ATTR_TYPEDEFname = 330, ATTR_TYPEGENname = 331, INTEGERconstant = 332, FLOATINGconstant = 333, CHARACTERconstant = 334, STRINGliteral = 335, ZERO = 336, ONE = 337, ARROW = 338, ICR = 339, DECR = 340, LS = 341, RS = 342, LE = 343, GE = 344, EQ = 345, NE = 346, ANDAND = 347, OROR = 348, ELLIPSIS = 349, MULTassign = 350, DIVassign = 351, MODassign = 352, PLUSassign = 353, MINUSassign = 354, LSassign = 355, RSassign = 356, ANDassign = 357, ERassign = 358, ORassign = 359, ATassign = 360, THEN = 361 }; #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 BOOL 279 #define COMPLEX 280 #define IMAGINARY 281 #define TYPEOF 282 #define LABEL 283 #define ENUM 284 #define STRUCT 285 #define UNION 286 #define TYPE 287 #define FTYPE 288 #define DTYPE 289 #define CONTEXT 290 #define SIZEOF 291 #define ATTRIBUTE 292 #define EXTENSION 293 #define IF 294 #define ELSE 295 #define SWITCH 296 #define CASE 297 #define DEFAULT 298 #define DO 299 #define WHILE 300 #define FOR 301 #define BREAK 302 #define CONTINUE 303 #define GOTO 304 #define RETURN 305 #define CHOOSE 306 #define DISABLE 307 #define ENABLE 308 #define FALLTHRU 309 #define TRY 310 #define CATCH 311 #define CATCHRESUME 312 #define FINALLY 313 #define THROW 314 #define THROWRESUME 315 #define AT 316 #define ASM 317 #define ALIGNAS 318 #define ALIGNOF 319 #define ATOMIC 320 #define GENERIC 321 #define NORETURN 322 #define STATICASSERT 323 #define THREADLOCAL 324 #define IDENTIFIER 325 #define QUOTED_IDENTIFIER 326 #define TYPEDEFname 327 #define TYPEGENname 328 #define ATTR_IDENTIFIER 329 #define ATTR_TYPEDEFname 330 #define ATTR_TYPEGENname 331 #define INTEGERconstant 332 #define FLOATINGconstant 333 #define CHARACTERconstant 334 #define STRINGliteral 335 #define ZERO 336 #define ONE 337 #define ARROW 338 #define ICR 339 #define DECR 340 #define LS 341 #define RS 342 #define LE 343 #define GE 344 #define EQ 345 #define NE 346 #define ANDAND 347 #define OROR 348 #define ELLIPSIS 349 #define MULTassign 350 #define DIVassign 351 #define MODassign 352 #define PLUSassign 353 #define MINUSassign 354 #define LSassign 355 #define RSassign 356 #define ANDassign 357 #define ERassign 358 #define ORassign 359 #define ATassign 360 #define THEN 361 #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED typedef union YYSTYPE { /* Line 2068 of yacc.c */ #line 110 "parser.yy" Token tok; ParseNode *pn; ExpressionNode *en; DeclarationNode *decl; DeclarationNode::Aggregate aggKey; DeclarationNode::TypeClass tclass; StatementNode *sn; ConstantNode *constant; LabelNode *label; InitializerNode *in; bool flag; /* Line 2068 of yacc.c */ #line 278 "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;