/* 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, FALLTHRU = 307, TRY = 308, CATCH = 309, FINALLY = 310, THROW = 311, ASM = 312, ALIGNAS = 313, ALIGNOF = 314, ATOMIC = 315, GENERIC = 316, NORETURN = 317, STATICASSERT = 318, THREADLOCAL = 319, IDENTIFIER = 320, QUOTED_IDENTIFIER = 321, TYPEDEFname = 322, TYPEGENname = 323, ATTR_IDENTIFIER = 324, ATTR_TYPEDEFname = 325, ATTR_TYPEGENname = 326, INTEGERconstant = 327, FLOATINGconstant = 328, CHARACTERconstant = 329, STRINGliteral = 330, ZERO = 331, ONE = 332, ARROW = 333, ICR = 334, DECR = 335, LS = 336, RS = 337, LE = 338, GE = 339, EQ = 340, NE = 341, ANDAND = 342, OROR = 343, ELLIPSIS = 344, MULTassign = 345, DIVassign = 346, MODassign = 347, PLUSassign = 348, MINUSassign = 349, LSassign = 350, RSassign = 351, ANDassign = 352, ERassign = 353, ORassign = 354, THEN = 355 }; #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 FALLTHRU 307 #define TRY 308 #define CATCH 309 #define FINALLY 310 #define THROW 311 #define ASM 312 #define ALIGNAS 313 #define ALIGNOF 314 #define ATOMIC 315 #define GENERIC 316 #define NORETURN 317 #define STATICASSERT 318 #define THREADLOCAL 319 #define IDENTIFIER 320 #define QUOTED_IDENTIFIER 321 #define TYPEDEFname 322 #define TYPEGENname 323 #define ATTR_IDENTIFIER 324 #define ATTR_TYPEDEFname 325 #define ATTR_TYPEGENname 326 #define INTEGERconstant 327 #define FLOATINGconstant 328 #define CHARACTERconstant 329 #define STRINGliteral 330 #define ZERO 331 #define ONE 332 #define ARROW 333 #define ICR 334 #define DECR 335 #define LS 336 #define RS 337 #define LE 338 #define GE 339 #define EQ 340 #define NE 341 #define ANDAND 342 #define OROR 343 #define ELLIPSIS 344 #define MULTassign 345 #define DIVassign 346 #define MODassign 347 #define PLUSassign 348 #define MINUSassign 349 #define LSassign 350 #define RSassign 351 #define ANDassign 352 #define ERassign 353 #define ORassign 354 #define THEN 355 #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED typedef union YYSTYPE { /* Line 2068 of yacc.c */ #line 107 "parser.yy" Token tok; ParseNode *pn; ExpressionNode *en; DeclarationNode *decl; DeclarationNode::Aggregate aggKey; DeclarationNode::TypeClass tclass; StatementNode *sn; ConstantNode *constant; InitializerNode *in; /* Line 2068 of yacc.c */ #line 264 "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;