1 /* A Bison parser, made by GNU Bison 2.3. */
3 /* Skeleton interface for Bison's Yacc-like parsers in C
5 Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003, 2004, 2005, 2006
6 Free Software Foundation, Inc.
8 This program is free software; you can redistribute it and/or modify
9 it under the terms of the GNU General Public License as published by
10 the Free Software Foundation; either version 2, or (at your option)
13 This program is distributed in the hope that it will be useful,
14 but WITHOUT ANY WARRANTY; without even the implied warranty of
15 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16 GNU General Public License for more details.
18 You should have received a copy of the GNU General Public License
19 along with this program; if not, write to the Free Software
20 Foundation, Inc., 51 Franklin Street, Fifth Floor,
21 Boston, MA 02110-1301, USA. */
23 /* As a special exception, you may create a larger work that contains
24 part or all of the Bison parser skeleton and distribute that work
25 under terms of your choice, so long as that work isn't itself a
26 parser generator using the skeleton or a modified version thereof
27 as a parser skeleton. Alternatively, if you modify or redistribute
28 the parser skeleton itself, you may (at your option) remove this
29 special exception, which will cause the skeleton and the resulting
30 Bison output files to be licensed under the GNU General Public
31 License without this special exception.
33 This special exception was added by the Free Software Foundation in
34 version 2.2 of Bison. */
39 /* Put the tokens into the symbol table, so that GDB and other debuggers
62 ATSTRINGCONSTANT = 278,
63 PCTSTRINGCONSTANT = 279,
64 ZEROINITIALIZER = 280,
104 X86_STDCALLCC_TOK = 320,
105 X86_FASTCALLCC_TOK = 321,
171 EXTRACTELEMENT = 387,
193 #define ESINT64VAL 258
194 #define EUINT64VAL 259
195 #define ESAPINTVAL 260
196 #define EUAPINTVAL 261
197 #define LOCALVAL_ID 262
198 #define GLOBALVAL_ID 263
206 #define PPC_FP128 271
210 #define GLOBALVAR 275
212 #define STRINGCONSTANT 277
213 #define ATSTRINGCONSTANT 278
214 #define PCTSTRINGCONSTANT 279
215 #define ZEROINITIALIZER 280
227 #define THREAD_LOCAL 292
229 #define DOTDOTDOT 294
235 #define APPENDING 300
236 #define DLLIMPORT 301
237 #define DLLEXPORT 302
238 #define EXTERN_WEAK 303
244 #define ADDRSPACE 309
250 #define SIDEEFFECT 315
253 #define FASTCC_TOK 318
254 #define COLDCC_TOK 319
255 #define X86_STDCALLCC_TOK 320
256 #define X86_FASTCALLCC_TOK 321
257 #define DATALAYOUT 322
263 #define UNREACHABLE 328
306 #define GETELEMENTPTR 371
322 #define EXTRACTELEMENT 387
323 #define INSERTELEMENT 388
324 #define SHUFFLEVECTOR 389
325 #define GETRESULT 390
340 #define PROTECTED 405
345 #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
346 typedef union YYSTYPE
347 #line 953 "/Volumes/Nanpura/mrv/llvm/lib/AsmParser/llvmAsmParser.y"
349 llvm::Module *ModuleVal;
350 llvm::Function *FunctionVal;
351 llvm::BasicBlock *BasicBlockVal;
352 llvm::TerminatorInst *TermInstVal;
353 llvm::Instruction *InstVal;
354 llvm::Constant *ConstVal;
356 const llvm::Type *PrimType;
357 std::list<llvm::PATypeHolder> *TypeList;
358 llvm::PATypeHolder *TypeVal;
359 llvm::Value *ValueVal;
360 std::vector<llvm::Value*> *ValueList;
361 llvm::ArgListType *ArgList;
362 llvm::TypeWithAttrs TypeWithAttrs;
363 llvm::TypeWithAttrsList *TypeWithAttrsList;
364 llvm::ParamList *ParamList;
366 // Represent the RHS of PHI node
367 std::list<std::pair<llvm::Value*,
368 llvm::BasicBlock*> > *PHIList;
369 std::vector<std::pair<llvm::Constant*, llvm::BasicBlock*> > *JumpTable;
370 std::vector<llvm::Constant*> *ConstVector;
372 llvm::GlobalValue::LinkageTypes Linkage;
373 llvm::GlobalValue::VisibilityTypes Visibility;
374 llvm::ParameterAttributes ParamAttrs;
375 llvm::APInt *APIntVal;
380 llvm::APFloat *FPVal;
383 std::string *StrVal; // This memory must be deleted
384 llvm::ValID ValIDVal;
386 llvm::Instruction::BinaryOps BinaryOpVal;
387 llvm::Instruction::TermOps TermOpVal;
388 llvm::Instruction::MemoryOps MemOpVal;
389 llvm::Instruction::CastOps CastOpVal;
390 llvm::Instruction::OtherOps OtherOpVal;
391 llvm::ICmpInst::Predicate IPredicate;
392 llvm::FCmpInst::Predicate FPredicate;
394 /* Line 1529 of yacc.c. */
395 #line 396 "llvmAsmParser.tab.h"
397 # define yystype YYSTYPE /* obsolescent; will be withdrawn */
398 # define YYSTYPE_IS_DECLARED 1
399 # define YYSTYPE_IS_TRIVIAL 1
402 extern YYSTYPE llvmAsmlval;