/* 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, OFFSETOF = 292, ATTRIBUTE = 293, EXTENSION = 294, IF = 295, ELSE = 296, SWITCH = 297, CASE = 298, DEFAULT = 299, DO = 300, WHILE = 301, FOR = 302, BREAK = 303, CONTINUE = 304, GOTO = 305, RETURN = 306, CHOOSE = 307, DISABLE = 308, ENABLE = 309, FALLTHRU = 310, TRY = 311, CATCH = 312, CATCHRESUME = 313, FINALLY = 314, THROW = 315, THROWRESUME = 316, AT = 317, ASM = 318, ALIGNAS = 319, ALIGNOF = 320, ATOMIC = 321, GENERIC = 322, NORETURN = 323, STATICASSERT = 324, THREADLOCAL = 325, IDENTIFIER = 326, QUOTED_IDENTIFIER = 327, TYPEDEFname = 328, TYPEGENname = 329, ATTR_IDENTIFIER = 330, ATTR_TYPEDEFname = 331, ATTR_TYPEGENname = 332, INTEGERconstant = 333, FLOATINGconstant = 334, CHARACTERconstant = 335, STRINGliteral = 336, ZERO = 337, ONE = 338, ARROW = 339, ICR = 340, DECR = 341, LS = 342, RS = 343, LE = 344, GE = 345, EQ = 346, NE = 347, ANDAND = 348, OROR = 349, ELLIPSIS = 350, MULTassign = 351, DIVassign = 352, MODassign = 353, PLUSassign = 354, MINUSassign = 355, LSassign = 356, RSassign = 357, ANDassign = 358, ERassign = 359, ORassign = 360, ATassign = 361, THEN = 362 }; #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 OFFSETOF 292 #define ATTRIBUTE 293 #define EXTENSION 294 #define IF 295 #define ELSE 296 #define SWITCH 297 #define CASE 298 #define DEFAULT 299 #define DO 300 #define WHILE 301 #define FOR 302 #define BREAK 303 #define CONTINUE 304 #define GOTO 305 #define RETURN 306 #define CHOOSE 307 #define DISABLE 308 #define ENABLE 309 #define FALLTHRU 310 #define TRY 311 #define CATCH 312 #define CATCHRESUME 313 #define FINALLY 314 #define THROW 315 #define THROWRESUME 316 #define AT 317 #define ASM 318 #define ALIGNAS 319 #define ALIGNOF 320 #define ATOMIC 321 #define GENERIC 322 #define NORETURN 323 #define STATICASSERT 324 #define THREADLOCAL 325 #define IDENTIFIER 326 #define QUOTED_IDENTIFIER 327 #define TYPEDEFname 328 #define TYPEGENname 329 #define ATTR_IDENTIFIER 330 #define ATTR_TYPEDEFname 331 #define ATTR_TYPEGENname 332 #define INTEGERconstant 333 #define FLOATINGconstant 334 #define CHARACTERconstant 335 #define STRINGliteral 336 #define ZERO 337 #define ONE 338 #define ARROW 339 #define ICR 340 #define DECR 341 #define LS 342 #define RS 343 #define LE 344 #define GE 345 #define EQ 346 #define NE 347 #define ANDAND 348 #define OROR 349 #define ELLIPSIS 350 #define MULTassign 351 #define DIVassign 352 #define MODassign 353 #define PLUSassign 354 #define MINUSassign 355 #define LSassign 356 #define RSassign 357 #define ANDassign 358 #define ERassign 359 #define ORassign 360 #define ATassign 361 #define THEN 362 #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 280 "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;