/* A Bison parser, made by GNU Bison 2.1. */ /* Skeleton parser for Yacc-like parsing with Bison, Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003, 2004, 2005 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 2, 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, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ /* As a special exception, when this file is copied by Bison into a Bison output file, you may use that output file without restriction. This special exception was added by the Free Software Foundation in version 1.24 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 { ESINT64VAL = 258, EUINT64VAL = 259, SINTVAL = 260, UINTVAL = 261, FPVAL = 262, VOID = 263, BOOL = 264, INT8 = 265, INT16 = 266, INT32 = 267, INT64 = 268, FLOAT = 269, DOUBLE = 270, LABEL = 271, TYPE = 272, VAR_ID = 273, LABELSTR = 274, STRINGCONSTANT = 275, IMPLEMENTATION = 276, ZEROINITIALIZER = 277, TRUETOK = 278, FALSETOK = 279, BEGINTOK = 280, ENDTOK = 281, DECLARE = 282, DEFINE = 283, GLOBAL = 284, CONSTANT = 285, SECTION = 286, VOLATILE = 287, TO = 288, DOTDOTDOT = 289, NULL_TOK = 290, UNDEF = 291, INTERNAL = 292, LINKONCE = 293, WEAK = 294, APPENDING = 295, DLLIMPORT = 296, DLLEXPORT = 297, EXTERN_WEAK = 298, OPAQUE = 299, NOT = 300, EXTERNAL = 301, TARGET = 302, TRIPLE = 303, ENDIAN = 304, POINTERSIZE = 305, LITTLE = 306, BIG = 307, ALIGN = 308, DEPLIBS = 309, CALL = 310, TAIL = 311, ASM_TOK = 312, MODULE = 313, SIDEEFFECT = 314, CC_TOK = 315, CCC_TOK = 316, CSRETCC_TOK = 317, FASTCC_TOK = 318, COLDCC_TOK = 319, X86_STDCALLCC_TOK = 320, X86_FASTCALLCC_TOK = 321, DATALAYOUT = 322, RET = 323, BR = 324, SWITCH = 325, INVOKE = 326, UNWIND = 327, UNREACHABLE = 328, ADD = 329, SUB = 330, MUL = 331, UDIV = 332, SDIV = 333, FDIV = 334, UREM = 335, SREM = 336, FREM = 337, AND = 338, OR = 339, XOR = 340, ICMP = 341, FCMP = 342, EQ = 343, NE = 344, SLT = 345, SGT = 346, SLE = 347, SGE = 348, ULT = 349, UGT = 350, ULE = 351, UGE = 352, OEQ = 353, ONE = 354, OLT = 355, OGT = 356, OLE = 357, OGE = 358, ORD = 359, UNO = 360, UEQ = 361, UNE = 362, MALLOC = 363, ALLOCA = 364, FREE = 365, LOAD = 366, STORE = 367, GETELEMENTPTR = 368, TRUNC = 369, ZEXT = 370, SEXT = 371, FPTRUNC = 372, FPEXT = 373, BITCAST = 374, UITOFP = 375, SITOFP = 376, FPTOUI = 377, FPTOSI = 378, INTTOPTR = 379, PTRTOINT = 380, PHI_TOK = 381, SELECT = 382, SHL = 383, LSHR = 384, ASHR = 385, VAARG = 386, EXTRACTELEMENT = 387, INSERTELEMENT = 388, SHUFFLEVECTOR = 389, NORETURN = 390 }; #endif /* Tokens. */ #define ESINT64VAL 258 #define EUINT64VAL 259 #define SINTVAL 260 #define UINTVAL 261 #define FPVAL 262 #define VOID 263 #define BOOL 264 #define INT8 265 #define INT16 266 #define INT32 267 #define INT64 268 #define FLOAT 269 #define DOUBLE 270 #define LABEL 271 #define TYPE 272 #define VAR_ID 273 #define LABELSTR 274 #define STRINGCONSTANT 275 #define IMPLEMENTATION 276 #define ZEROINITIALIZER 277 #define TRUETOK 278 #define FALSETOK 279 #define BEGINTOK 280 #define ENDTOK 281 #define DECLARE 282 #define DEFINE 283 #define GLOBAL 284 #define CONSTANT 285 #define SECTION 286 #define VOLATILE 287 #define TO 288 #define DOTDOTDOT 289 #define NULL_TOK 290 #define UNDEF 291 #define INTERNAL 292 #define LINKONCE 293 #define WEAK 294 #define APPENDING 295 #define DLLIMPORT 296 #define DLLEXPORT 297 #define EXTERN_WEAK 298 #define OPAQUE 299 #define NOT 300 #define EXTERNAL 301 #define TARGET 302 #define TRIPLE 303 #define ENDIAN 304 #define POINTERSIZE 305 #define LITTLE 306 #define BIG 307 #define ALIGN 308 #define DEPLIBS 309 #define CALL 310 #define TAIL 311 #define ASM_TOK 312 #define MODULE 313 #define SIDEEFFECT 314 #define CC_TOK 315 #define CCC_TOK 316 #define CSRETCC_TOK 317 #define FASTCC_TOK 318 #define COLDCC_TOK 319 #define X86_STDCALLCC_TOK 320 #define X86_FASTCALLCC_TOK 321 #define DATALAYOUT 322 #define RET 323 #define BR 324 #define SWITCH 325 #define INVOKE 326 #define UNWIND 327 #define UNREACHABLE 328 #define ADD 329 #define SUB 330 #define MUL 331 #define UDIV 332 #define SDIV 333 #define FDIV 334 #define UREM 335 #define SREM 336 #define FREM 337 #define AND 338 #define OR 339 #define XOR 340 #define ICMP 341 #define FCMP 342 #define EQ 343 #define NE 344 #define SLT 345 #define SGT 346 #define SLE 347 #define SGE 348 #define ULT 349 #define UGT 350 #define ULE 351 #define UGE 352 #define OEQ 353 #define ONE 354 #define OLT 355 #define OGT 356 #define OLE 357 #define OGE 358 #define ORD 359 #define UNO 360 #define UEQ 361 #define UNE 362 #define MALLOC 363 #define ALLOCA 364 #define FREE 365 #define LOAD 366 #define STORE 367 #define GETELEMENTPTR 368 #define TRUNC 369 #define ZEXT 370 #define SEXT 371 #define FPTRUNC 372 #define FPEXT 373 #define BITCAST 374 #define UITOFP 375 #define SITOFP 376 #define FPTOUI 377 #define FPTOSI 378 #define INTTOPTR 379 #define PTRTOINT 380 #define PHI_TOK 381 #define SELECT 382 #define SHL 383 #define LSHR 384 #define ASHR 385 #define VAARG 386 #define EXTRACTELEMENT 387 #define INSERTELEMENT 388 #define SHUFFLEVECTOR 389 #define NORETURN 390 #if ! defined (YYSTYPE) && ! defined (YYSTYPE_IS_DECLARED) #line 876 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y" typedef union YYSTYPE { llvm::Module *ModuleVal; llvm::Function *FunctionVal; llvm::BasicBlock *BasicBlockVal; llvm::TerminatorInst *TermInstVal; llvm::Instruction *InstVal; llvm::Constant *ConstVal; const llvm::Type *PrimType; std::list *TypeList; llvm::PATypeHolder *TypeVal; llvm::Value *ValueVal; std::vector *ValueList; llvm::ArgListType *ArgList; llvm::TypeWithAttrs TypeWithAttrs; llvm::TypeWithAttrsList *TypeWithAttrsList; llvm::ValueRefList *ValueRefList; // Represent the RHS of PHI node std::list > *PHIList; std::vector > *JumpTable; std::vector *ConstVector; llvm::GlobalValue::LinkageTypes Linkage; llvm::FunctionType::ParameterAttributes ParamAttrs; int64_t SInt64Val; uint64_t UInt64Val; int SIntVal; unsigned UIntVal; double FPVal; bool BoolVal; char *StrVal; // This memory is strdup'd! llvm::ValID ValIDVal; // strdup'd memory maybe! llvm::Instruction::BinaryOps BinaryOpVal; llvm::Instruction::TermOps TermOpVal; llvm::Instruction::MemoryOps MemOpVal; llvm::Instruction::CastOps CastOpVal; llvm::Instruction::OtherOps OtherOpVal; llvm::Module::Endianness Endianness; llvm::ICmpInst::Predicate IPredicate; llvm::FCmpInst::Predicate FPredicate; } YYSTYPE; /* Line 1447 of yacc.c. */ #line 354 "llvmAsmParser.tab.h" # define yystype YYSTYPE /* obsolescent; will be withdrawn */ # define YYSTYPE_IS_DECLARED 1 # define YYSTYPE_IS_TRIVIAL 1 #endif extern YYSTYPE llvmAsmlval;