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,
103 X86_STDCALLCC_TOK = 319,
104 X86_FASTCALLCC_TOK = 320,
170 EXTRACTELEMENT = 386,
191 #define ESINT64VAL 258
192 #define EUINT64VAL 259
193 #define ESAPINTVAL 260
194 #define EUAPINTVAL 261
195 #define LOCALVAL_ID 262
196 #define GLOBALVAL_ID 263
204 #define PPC_FP128 271
208 #define GLOBALVAR 275
210 #define STRINGCONSTANT 277
211 #define ATSTRINGCONSTANT 278
212 #define PCTSTRINGCONSTANT 279
213 #define ZEROINITIALIZER 280
225 #define THREAD_LOCAL 292
227 #define DOTDOTDOT 294
233 #define APPENDING 300
234 #define DLLIMPORT 301
235 #define DLLEXPORT 302
236 #define EXTERN_WEAK 303
247 #define SIDEEFFECT 314
250 #define FASTCC_TOK 317
251 #define COLDCC_TOK 318
252 #define X86_STDCALLCC_TOK 319
253 #define X86_FASTCALLCC_TOK 320
254 #define DATALAYOUT 321
260 #define UNREACHABLE 327
303 #define GETELEMENTPTR 370
319 #define EXTRACTELEMENT 386
320 #define INSERTELEMENT 387
321 #define SHUFFLEVECTOR 388
336 #define PROTECTED 403
341 #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
342 typedef union YYSTYPE
343 #line 945 "/Users/malichus/Source/llvm/src/llvm/lib/AsmParser/llvmAsmParser.y"
345 llvm::Module *ModuleVal;
346 llvm::Function *FunctionVal;
347 llvm::BasicBlock *BasicBlockVal;
348 llvm::TerminatorInst *TermInstVal;
349 llvm::Instruction *InstVal;
350 llvm::Constant *ConstVal;
352 const llvm::Type *PrimType;
353 std::list<llvm::PATypeHolder> *TypeList;
354 llvm::PATypeHolder *TypeVal;
355 llvm::Value *ValueVal;
356 std::vector<llvm::Value*> *ValueList;
357 llvm::ArgListType *ArgList;
358 llvm::TypeWithAttrs TypeWithAttrs;
359 llvm::TypeWithAttrsList *TypeWithAttrsList;
360 llvm::ParamList *ParamList;
362 // Represent the RHS of PHI node
363 std::list<std::pair<llvm::Value*,
364 llvm::BasicBlock*> > *PHIList;
365 std::vector<std::pair<llvm::Constant*, llvm::BasicBlock*> > *JumpTable;
366 std::vector<llvm::Constant*> *ConstVector;
368 llvm::GlobalValue::LinkageTypes Linkage;
369 llvm::GlobalValue::VisibilityTypes Visibility;
371 llvm::APInt *APIntVal;
376 llvm::APFloat *FPVal;
379 std::string *StrVal; // This memory must be deleted
380 llvm::ValID ValIDVal;
382 llvm::Instruction::BinaryOps BinaryOpVal;
383 llvm::Instruction::TermOps TermOpVal;
384 llvm::Instruction::MemoryOps MemOpVal;
385 llvm::Instruction::CastOps CastOpVal;
386 llvm::Instruction::OtherOps OtherOpVal;
387 llvm::ICmpInst::Predicate IPredicate;
388 llvm::FCmpInst::Predicate FPredicate;
390 /* Line 1529 of yacc.c. */
391 #line 392 "llvmAsmParser.tab.h"
393 # define yystype YYSTYPE /* obsolescent; will be withdrawn */
394 # define YYSTYPE_IS_DECLARED 1
395 # define YYSTYPE_IS_TRIVIAL 1
398 extern YYSTYPE llvmAsmlval;