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
59 ATSTRINGCONSTANT = 275,
60 ZEROINITIALIZER = 276,
99 X86_STDCALLCC_TOK = 315,
100 X86_FASTCALLCC_TOK = 316,
166 EXTRACTELEMENT = 382,
178 #define ESINT64VAL 258
179 #define EUINT64VAL 259
180 #define ESAPINTVAL 260
181 #define EUAPINTVAL 261
182 #define LOCALVAL_ID 262
183 #define GLOBALVAL_ID 263
192 #define GLOBALVAR 272
194 #define STRINGCONSTANT 274
195 #define ATSTRINGCONSTANT 275
196 #define ZEROINITIALIZER 276
208 #define THREAD_LOCAL 288
210 #define DOTDOTDOT 290
216 #define APPENDING 296
217 #define DLLIMPORT 297
218 #define DLLEXPORT 298
219 #define EXTERN_WEAK 299
230 #define SIDEEFFECT 310
233 #define FASTCC_TOK 313
234 #define COLDCC_TOK 314
235 #define X86_STDCALLCC_TOK 315
236 #define X86_FASTCALLCC_TOK 316
237 #define DATALAYOUT 317
243 #define UNREACHABLE 323
286 #define GETELEMENTPTR 366
302 #define EXTRACTELEMENT 382
303 #define INSERTELEMENT 383
304 #define SHUFFLEVECTOR 384
315 #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
316 typedef union YYSTYPE
317 #line 938 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
319 llvm::Module *ModuleVal;
320 llvm::Function *FunctionVal;
321 llvm::BasicBlock *BasicBlockVal;
322 llvm::TerminatorInst *TermInstVal;
323 llvm::Instruction *InstVal;
324 llvm::Constant *ConstVal;
326 const llvm::Type *PrimType;
327 std::list<llvm::PATypeHolder> *TypeList;
328 llvm::PATypeHolder *TypeVal;
329 llvm::Value *ValueVal;
330 std::vector<llvm::Value*> *ValueList;
331 llvm::ArgListType *ArgList;
332 llvm::TypeWithAttrs TypeWithAttrs;
333 llvm::TypeWithAttrsList *TypeWithAttrsList;
334 llvm::ValueRefList *ValueRefList;
336 // Represent the RHS of PHI node
337 std::list<std::pair<llvm::Value*,
338 llvm::BasicBlock*> > *PHIList;
339 std::vector<std::pair<llvm::Constant*, llvm::BasicBlock*> > *JumpTable;
340 std::vector<llvm::Constant*> *ConstVector;
342 llvm::GlobalValue::LinkageTypes Linkage;
343 llvm::GlobalValue::VisibilityTypes Visibility;
345 llvm::APInt *APIntVal;
353 char *StrVal; // This memory is strdup'd!
354 llvm::ValID ValIDVal; // strdup'd memory maybe!
356 llvm::Instruction::BinaryOps BinaryOpVal;
357 llvm::Instruction::TermOps TermOpVal;
358 llvm::Instruction::MemoryOps MemOpVal;
359 llvm::Instruction::CastOps CastOpVal;
360 llvm::Instruction::OtherOps OtherOpVal;
361 llvm::ICmpInst::Predicate IPredicate;
362 llvm::FCmpInst::Predicate FPredicate;
364 /* Line 1489 of yacc.c. */
365 #line 366 "llvmAsmParser.tab.h"
367 # define yystype YYSTYPE /* obsolescent; will be withdrawn */
368 # define YYSTYPE_IS_DECLARED 1
369 # define YYSTYPE_IS_TRIVIAL 1
372 extern YYSTYPE llvmAsmlval;