diff options
author | Anton Korobeynikov <asl@math.spbu.ru> | 2007-01-12 19:22:51 +0000 |
---|---|---|
committer | Anton Korobeynikov <asl@math.spbu.ru> | 2007-01-12 19:22:51 +0000 |
commit | 178a352079b891690f1065a99c8d9a30c19d14a2 (patch) | |
tree | 188d3d329fc0eb280ea1623c18248b8c3089b2fd /lib/AsmParser/llvmAsmParser.cpp.cvs | |
parent | 7f70559bc47877bafc6dfa92b7df6b64650445fb (diff) |
Regenerate
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33137 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/AsmParser/llvmAsmParser.cpp.cvs')
-rw-r--r-- | lib/AsmParser/llvmAsmParser.cpp.cvs | 7248 |
1 files changed, 4164 insertions, 3084 deletions
diff --git a/lib/AsmParser/llvmAsmParser.cpp.cvs b/lib/AsmParser/llvmAsmParser.cpp.cvs index 98d2177ccb..390592025e 100644 --- a/lib/AsmParser/llvmAsmParser.cpp.cvs +++ b/lib/AsmParser/llvmAsmParser.cpp.cvs @@ -1,147 +1,350 @@ +/* A Bison parser, made by GNU Bison 2.3. */ -/* A Bison parser, made from /Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y - by GNU Bison version 1.28 */ +/* Skeleton implementation for Bison's Yacc-like parsers in C -#define YYBISON 1 /* Identify Bison output. */ + Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003, 2004, 2005, 2006 + 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, 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. */ + +/* C LALR(1) parser skeleton written by Richard Stallman, by + simplifying the original so-called "semantic" parser. */ + +/* All symbols defined below should begin with yy or YY, to avoid + infringing on user name space. This should be done even for local + variables, as they might otherwise be expanded by user macros. + There are some unavoidable exceptions within include files to + define necessary library symbols; they are noted "INFRINGES ON + USER NAME SPACE" below. */ + +/* Identify Bison output. */ +#define YYBISON 1 + +/* Bison version. */ +#define YYBISON_VERSION "2.3" + +/* Skeleton name. */ +#define YYSKELETON_NAME "yacc.c" + +/* Pure parsers. */ +#define YYPURE 0 + +/* Using locations. */ +#define YYLSP_NEEDED 0 + +/* Substitute the variable and function names. */ #define yyparse llvmAsmparse -#define yylex llvmAsmlex +#define yylex llvmAsmlex #define yyerror llvmAsmerror -#define yylval llvmAsmlval -#define yychar llvmAsmchar +#define yylval llvmAsmlval +#define yychar llvmAsmchar #define yydebug llvmAsmdebug #define yynerrs llvmAsmnerrs -#define ESINT64VAL 257 -#define EUINT64VAL 258 -#define SINTVAL 259 -#define UINTVAL 260 -#define FPVAL 261 -#define VOID 262 -#define BOOL 263 -#define INTTYPE 264 -#define FLOAT 265 -#define DOUBLE 266 -#define LABEL 267 -#define TYPE 268 -#define VAR_ID 269 -#define LABELSTR 270 -#define STRINGCONSTANT 271 -#define IMPLEMENTATION 272 -#define ZEROINITIALIZER 273 -#define TRUETOK 274 -#define FALSETOK 275 -#define BEGINTOK 276 -#define ENDTOK 277 -#define DECLARE 278 -#define DEFINE 279 -#define GLOBAL 280 -#define CONSTANT 281 -#define SECTION 282 -#define VOLATILE 283 -#define TO 284 -#define DOTDOTDOT 285 -#define NULL_TOK 286 -#define UNDEF 287 -#define INTERNAL 288 -#define LINKONCE 289 -#define WEAK 290 -#define APPENDING 291 -#define DLLIMPORT 292 -#define DLLEXPORT 293 -#define EXTERN_WEAK 294 -#define OPAQUE 295 -#define EXTERNAL 296 -#define TARGET 297 -#define TRIPLE 298 -#define ENDIAN 299 -#define POINTERSIZE 300 -#define LITTLE 301 -#define BIG 302 -#define ALIGN 303 -#define DEPLIBS 304 -#define CALL 305 -#define TAIL 306 -#define ASM_TOK 307 -#define MODULE 308 -#define SIDEEFFECT 309 -#define CC_TOK 310 -#define CCC_TOK 311 -#define CSRETCC_TOK 312 -#define FASTCC_TOK 313 -#define COLDCC_TOK 314 -#define X86_STDCALLCC_TOK 315 -#define X86_FASTCALLCC_TOK 316 -#define DATALAYOUT 317 -#define RET 318 -#define BR 319 -#define SWITCH 320 -#define INVOKE 321 -#define UNWIND 322 -#define UNREACHABLE 323 -#define ADD 324 -#define SUB 325 -#define MUL 326 -#define UDIV 327 -#define SDIV 328 -#define FDIV 329 -#define UREM 330 -#define SREM 331 -#define FREM 332 -#define AND 333 -#define OR 334 -#define XOR 335 -#define ICMP 336 -#define FCMP 337 -#define EQ 338 -#define NE 339 -#define SLT 340 -#define SGT 341 -#define SLE 342 -#define SGE 343 -#define ULT 344 -#define UGT 345 -#define ULE 346 -#define UGE 347 -#define OEQ 348 -#define ONE 349 -#define OLT 350 -#define OGT 351 -#define OLE 352 -#define OGE 353 -#define ORD 354 -#define UNO 355 -#define UEQ 356 -#define UNE 357 -#define MALLOC 358 -#define ALLOCA 359 -#define FREE 360 -#define LOAD 361 -#define STORE 362 -#define GETELEMENTPTR 363 -#define TRUNC 364 -#define ZEXT 365 -#define SEXT 366 -#define FPTRUNC 367 -#define FPEXT 368 -#define BITCAST 369 -#define UITOFP 370 -#define SITOFP 371 -#define FPTOUI 372 -#define FPTOSI 373 -#define INTTOPTR 374 -#define PTRTOINT 375 -#define PHI_TOK 376 -#define SELECT 377 -#define SHL 378 -#define LSHR 379 -#define ASHR 380 -#define VAARG 381 -#define EXTRACTELEMENT 382 -#define INSERTELEMENT 383 -#define SHUFFLEVECTOR 384 -#define NORETURN 385 - -#line 14 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y" + + +/* 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, + INTTYPE = 265, + FLOAT = 266, + DOUBLE = 267, + LABEL = 268, + TYPE = 269, + VAR_ID = 270, + LABELSTR = 271, + STRINGCONSTANT = 272, + IMPLEMENTATION = 273, + ZEROINITIALIZER = 274, + TRUETOK = 275, + FALSETOK = 276, + BEGINTOK = 277, + ENDTOK = 278, + DECLARE = 279, + DEFINE = 280, + GLOBAL = 281, + CONSTANT = 282, + SECTION = 283, + VOLATILE = 284, + TO = 285, + DOTDOTDOT = 286, + NULL_TOK = 287, + UNDEF = 288, + INTERNAL = 289, + LINKONCE = 290, + WEAK = 291, + APPENDING = 292, + DLLIMPORT = 293, + DLLEXPORT = 294, + EXTERN_WEAK = 295, + OPAQUE = 296, + EXTERNAL = 297, + TARGET = 298, + TRIPLE = 299, + ENDIAN = 300, + POINTERSIZE = 301, + LITTLE = 302, + BIG = 303, + ALIGN = 304, + DEPLIBS = 305, + CALL = 306, + TAIL = 307, + ASM_TOK = 308, + MODULE = 309, + SIDEEFFECT = 310, + CC_TOK = 311, + CCC_TOK = 312, + CSRETCC_TOK = 313, + FASTCC_TOK = 314, + COLDCC_TOK = 315, + X86_STDCALLCC_TOK = 316, + X86_FASTCALLCC_TOK = 317, + DATALAYOUT = 318, + RET = 319, + BR = 320, + SWITCH = 321, + INVOKE = 322, + UNWIND = 323, + UNREACHABLE = 324, + ADD = 325, + SUB = 326, + MUL = 327, + UDIV = 328, + SDIV = 329, + FDIV = 330, + UREM = 331, + SREM = 332, + FREM = 333, + AND = 334, + OR = 335, + XOR = 336, + ICMP = 337, + FCMP = 338, + EQ = 339, + NE = 340, + SLT = 341, + SGT = 342, + SLE = 343, + SGE = 344, + ULT = 345, + UGT = 346, + ULE = 347, + UGE = 348, + OEQ = 349, + ONE = 350, + OLT = 351, + OGT = 352, + OLE = 353, + OGE = 354, + ORD = 355, + UNO = 356, + UEQ = 357, + UNE = 358, + MALLOC = 359, + ALLOCA = 360, + FREE = 361, + LOAD = 362, + STORE = 363, + GETELEMENTPTR = 364, + TRUNC = 365, + ZEXT = 366, + SEXT = 367, + FPTRUNC = 368, + FPEXT = 369, + BITCAST = 370, + UITOFP = 371, + SITOFP = 372, + FPTOUI = 373, + FPTOSI = 374, + INTTOPTR = 375, + PTRTOINT = 376, + PHI_TOK = 377, + SELECT = 378, + SHL = 379, + LSHR = 380, + ASHR = 381, + VAARG = 382, + EXTRACTELEMENT = 383, + INSERTELEMENT = 384, + SHUFFLEVECTOR = 385, + NORETURN = 386, + DEFAULT = 387, + HIDDEN = 388 + }; +#endif +/* Tokens. */ +#define ESINT64VAL 258 +#define EUINT64VAL 259 +#define SINTVAL 260 +#define UINTVAL 261 +#define FPVAL 262 +#define VOID 263 +#define BOOL 264 +#define INTTYPE 265 +#define FLOAT 266 +#define DOUBLE 267 +#define LABEL 268 +#define TYPE 269 +#define VAR_ID 270 +#define LABELSTR 271 +#define STRINGCONSTANT 272 +#define IMPLEMENTATION 273 +#define ZEROINITIALIZER 274 +#define TRUETOK 275 +#define FALSETOK 276 +#define BEGINTOK 277 +#define ENDTOK 278 +#define DECLARE 279 +#define DEFINE 280 +#define GLOBAL 281 +#define CONSTANT 282 +#define SECTION 283 +#define VOLATILE 284 +#define TO 285 +#define DOTDOTDOT 286 +#define NULL_TOK 287 +#define UNDEF 288 +#define INTERNAL 289 +#define LINKONCE 290 +#define WEAK 291 +#define APPENDING 292 +#define DLLIMPORT 293 +#define DLLEXPORT 294 +#define EXTERN_WEAK 295 +#define OPAQUE 296 +#define EXTERNAL 297 +#define TARGET 298 +#define TRIPLE 299 +#define ENDIAN 300 +#define POINTERSIZE 301 +#define LITTLE 302 +#define BIG 303 +#define ALIGN 304 +#define DEPLIBS 305 +#define CALL 306 +#define TAIL 307 +#define ASM_TOK 308 +#define MODULE 309 +#define SIDEEFFECT 310 +#define CC_TOK 311 +#define CCC_TOK 312 +#define CSRETCC_TOK 313 +#define FASTCC_TOK 314 +#define COLDCC_TOK 315 +#define X86_STDCALLCC_TOK 316 +#define X86_FASTCALLCC_TOK 317 +#define DATALAYOUT 318 +#define RET 319 +#define BR 320 +#define SWITCH 321 +#define INVOKE 322 +#define UNWIND 323 +#define UNREACHABLE 324 +#define ADD 325 +#define SUB 326 +#define MUL 327 +#define UDIV 328 +#define SDIV 329 +#define FDIV 330 +#define UREM 331 +#define SREM 332 +#define FREM 333 +#define AND 334 +#define OR 335 +#define XOR 336 +#define ICMP 337 +#define FCMP 338 +#define EQ 339 +#define NE 340 +#define SLT 341 +#define SGT 342 +#define SLE 343 +#define SGE 344 +#define ULT 345 +#define UGT 346 +#define ULE 347 +#define UGE 348 +#define OEQ 349 +#define ONE 350 +#define OLT 351 +#define OGT 352 +#define OLE 353 +#define OGE 354 +#define ORD 355 +#define UNO 356 +#define UEQ 357 +#define UNE 358 +#define MALLOC 359 +#define ALLOCA 360 +#define FREE 361 +#define LOAD 362 +#define STORE 363 +#define GETELEMENTPTR 364 +#define TRUNC 365 +#define ZEXT 366 +#define SEXT 367 +#define FPTRUNC 368 +#define FPEXT 369 +#define BITCAST 370 +#define UITOFP 371 +#define SITOFP 372 +#define FPTOUI 373 +#define FPTOSI 374 +#define INTTOPTR 375 +#define PTRTOINT 376 +#define PHI_TOK 377 +#define SELECT 378 +#define SHL 379 +#define LSHR 380 +#define ASHR 381 +#define VAARG 382 +#define EXTRACTELEMENT 383 +#define INSERTELEMENT 384 +#define SHUFFLEVECTOR 385 +#define NORETURN 386 +#define DEFAULT 387 +#define HIDDEN 388 + + + + +/* Copy the first part of user declarations. */ +#line 14 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y" #include "ParserInternals.h" #include "llvm/CallingConv.h" @@ -341,6 +544,7 @@ static struct PerFunctionInfo { std::map<const Type*, ValueList> LateResolveValues; bool isDeclare; // Is this function a forward declararation? GlobalValue::LinkageTypes Linkage; // Linkage for forward declaration. + GlobalValue::VisibilityTypes Visibility; /// BBForwardRefs - When we see forward references to basic blocks, keep /// track of them here. @@ -351,7 +555,8 @@ static struct PerFunctionInfo { inline PerFunctionInfo() { CurrentFunction = 0; isDeclare = false; - Linkage = GlobalValue::ExternalLinkage; + Linkage = GlobalValue::ExternalLinkage; + Visibility = GlobalValue::DefaultVisibility; } inline void FunctionStart(Function *M) { @@ -376,6 +581,7 @@ static struct PerFunctionInfo { CurrentFunction = 0; isDeclare = false; Linkage = GlobalValue::ExternalLinkage; + Visibility = GlobalValue::DefaultVisibility; } } CurFun; // Info for the current function... @@ -779,7 +985,9 @@ static void setValueName(Value *V, char *NameStr) { /// ParseGlobalVariable - Handle parsing of a global. If Initializer is null, /// this is a declaration, otherwise it is a definition. static GlobalVariable * -ParseGlobalVariable(char *NameStr,GlobalValue::LinkageTypes Linkage, +ParseGlobalVariable(char *NameStr, + GlobalValue::LinkageTypes Linkage, + GlobalValue::VisibilityTypes Visibility, bool isConstantGlobal, const Type *Ty, Constant *Initializer) { if (isa<FunctionType>(Ty)) { @@ -812,6 +1020,7 @@ ParseGlobalVariable(char *NameStr,GlobalValue::LinkageTypes Linkage, CurModule.CurrentModule->getGlobalList().push_back(GV); GV->setInitializer(Initializer); GV->setLinkage(Linkage); + GV->setVisibility(Visibility); GV->setConstant(isConstantGlobal); InsertValue(GV, CurModule.Values); return GV; @@ -833,6 +1042,7 @@ ParseGlobalVariable(char *NameStr,GlobalValue::LinkageTypes Linkage, GlobalVariable *GV = new GlobalVariable(Ty, isConstantGlobal, Linkage, Initializer, Name, CurModule.CurrentModule); + GV->setVisibility(Visibility); InsertValue(GV, CurModule.Values); return GV; } @@ -1003,8 +1213,29 @@ Module *llvm::RunVMAsmParser(const char * AsmString, Module * M) { } -#line 876 "/Volumes/ProjectsDisk/cvs/llvm/lib/AsmParser/llvmAsmParser.y" -typedef union { + +/* Enabling traces. */ +#ifndef YYDEBUG +# define YYDEBUG 0 +#endif + +/* Enabling verbose error messages. */ +#ifdef YYERROR_VERBOSE +# undef YYERROR_VERBOSE +# define YYERROR_VERBOSE 1 +#else +# define YYERROR_VERBOSE 0 +#endif + +/* Enabling the token table. */ +#ifndef YYTOKEN_TABLE +# define YYTOKEN_TABLE 0 +#endif + +#if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED +typedef union YYSTYPE +#line 883 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y" +{ llvm::Module *ModuleVal; llvm::Function *FunctionVal; llvm::BasicBlock *BasicBlockVal; @@ -1029,6 +1260,7 @@ typedef union { std::vector<llvm::Constant*> *ConstVector; llvm::GlobalValue::LinkageTypes Linkage; + llvm::GlobalValue::VisibilityTypes Visibility; llvm::FunctionType::ParameterAttributes ParamAttrs; int64_t SInt64Val; uint64_t UInt64Val; @@ -1048,1065 +1280,1726 @@ typedef union { llvm::Module::Endianness Endianness; llvm::ICmpInst::Predicate IPredicate; llvm::FCmpInst::Predicate FPredicate; -} YYSTYPE; -#include <stdio.h> +} +/* Line 187 of yacc.c. */ +#line 1286 "llvmAsmParser.tab.c" + YYSTYPE; +# define yystype YYSTYPE /* obsolescent; will be withdrawn */ +# define YYSTYPE_IS_DECLARED 1 +# define YYSTYPE_IS_TRIVIAL 1 +#endif + + + +/* Copy the second part of user declarations. */ -#ifndef __cplusplus -#ifndef __STDC__ -#define const + +/* Line 216 of yacc.c. */ +#line 1299 "llvmAsmParser.tab.c" + +#ifdef short +# undef short #endif + +#ifdef YYTYPE_UINT8 +typedef YYTYPE_UINT8 yytype_uint8; +#else +typedef unsigned char yytype_uint8; #endif +#ifdef YYTYPE_INT8 +typedef YYTYPE_INT8 yytype_int8; +#elif (defined __STDC__ || defined __C99__FUNC__ \ + || defined __cplusplus || defined _MSC_VER) +typedef signed char yytype_int8; +#else +typedef short int yytype_int8; +#endif +#ifdef YYTYPE_UINT16 +typedef YYTYPE_UINT16 yytype_uint16; +#else +typedef unsigned short int yytype_uint16; +#endif -#define YYFINAL 565 -#define YYFLAG -32768 -#define YYNTBASE 146 - -#define YYTRANSLATE(x) ((unsigned)(x) <= 385 ? yytranslate[x] : 223) - -static const short yytranslate[] = { 0, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 136, - 137, 134, 2, 133, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 141, - 132, 142, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 138, 135, 140, 2, 2, 2, 2, 2, 145, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 139, - 2, 2, 143, 2, 144, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 1, 3, 4, 5, 6, - 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, - 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, - 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, - 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, - 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, - 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, - 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, - 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, - 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, - 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, - 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, - 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, - 127, 128, 129, 130, 131 -}; +#ifdef YYTYPE_INT16 +typedef YYTYPE_INT16 yytype_int16; +#else +typedef short int yytype_int16; +#endif -#if YYDEBUG != 0 -static const short yyprhs[] = { 0, - 0, 2, 4, 6, 8, 10, 12, 14, 16, 18, - 20, 22, 24, 26, 28, 30, 32, 34, 36, 38, - 40, 42, 44, 46, 48, 50, 52, 54, 56, 58, - 60, 62, 64, 66, 68, 70, 72, 74, 76, 78, - 80, 82, 84, 86, 88, 90, 92, 94, 96, 98, - 100, 102, 104, 106, 108, 110, 112, 114, 116, 119, - 120, 122, 124, 126, 128, 130, 132, 134, 136, 137, - 139, 141, 142, 144, 146, 148, 150, 151, 153, 155, - 157, 159, 161, 163, 166, 168, 170, 171, 174, 176, - 178, 179, 182, 183, 186, 187, 191, 194, 195, 197, - 198, 202, 204, 207, 209, 211, 213, 215, 217, 219, - 221, 224, 226, 229, 235, 241, 247, 253, 257, 260, - 266, 271, 274, 276, 278, 280, 284, 286, 290, 292, - 293, 295, 299, 304, 308, 312, 317, 322, 326, 333, - 339, 342, 345, 348, 351, 354, 357, 360, 363, 366, - 369, 376, 382, 391, 398, 405, 413, 421, 428, 435, - 444, 453, 457, 459, 461, 463, 465, 466, 468, 471, - 472, 476, 477, 481, 485, 487, 491, 495, 496, 502, - 503, 510, 511, 518, 521, 525, 527, 529, 531, 535, - 539, 543, 547, 551, 555, 557, 558, 560, 562, 564, - 565, 571, 575, 577, 581, 583, 584, 594, 596, 598, - 602, 604, 606, 609, 612, 613, 615, 617, 619, 621, - 623, 625, 627, 629, 631, 635, 637, 643, 645, 647, - 649, 651, 654, 657, 660, 664, 667, 668, 670, 673, - 676, 680, 690, 700, 709, 724, 726, 728, 735, 741, - 744, 751, 759, 763, 769, 770, 771, 775, 778, 780, - 786, 792, 799, 806, 811, 816, 823, 828, 833, 840, - 847, 850, 859, 861, 863, 864, 868, 875, 879, 886, - 889, 894, 901 -}; +#ifndef YYSIZE_T +# ifdef __SIZE_TYPE__ +# define YYSIZE_T __SIZE_TYPE__ +# elif defined size_t +# define YYSIZE_T size_t +# elif ! defined YYSIZE_T && (defined __STDC__ || defined __C99__FUNC__ \ + || defined __cplusplus || defined _MSC_VER) +# include <stddef.h> /* INFRINGES ON USER NAME SPACE */ +# define YYSIZE_T size_t +# else +# define YYSIZE_T unsigned int +# endif +#endif -static const short yyrhs[] = { 5, - 0, 6, 0, 70, 0, 71, 0, 72, 0, 73, - 0, 74, 0, 75, 0, 76, 0, 77, 0, 78, - 0, 79, 0, 80, 0, 81, 0, 110, 0, 111, - 0, 112, 0, 113, 0, 114, 0, 115, 0, 116, - 0, 117, 0, 118, 0, 119, 0, 120, 0, 121, - 0, 124, 0, 125, 0, 126, 0, 84, 0, 85, - 0, 86, 0, 87, 0, 88, 0, 89, 0, 90, - 0, 91, 0, 92, 0, 93, 0, 94, 0, 95, - 0, 96, 0, 97, 0, 98, 0, 99, 0, 100, - 0, 101, 0, 102, 0, 103, 0, 90, 0, 91, - 0, 92, 0, 93, 0, 20, 0, 21, 0, 10, - 0, 11, 0, 12, 0, 195, 132, 0, 0, 34, - 0, 36, 0, 35, 0, 37, 0, 39, 0, 38, - 0, 40, 0, 42, 0, 0, 38, 0, 40, 0, - 0, 34, 0, 35, 0, 36, 0, 39, 0, 0, - 57, 0, 58, 0, 59, 0, 60, 0, 61, 0, - 62, 0, 56, 4, 0, 111, 0, 112, 0, 0, - 162, 161, 0, 131, 0, 161, 0, 0, 164, 163, - 0, 0, 49, 4, 0, 0, 133, 49, 4, 0, - 28, 17, 0, 0, 167, 0, 0, 133, 170, 169, - 0, 167, 0, 49, 4, 0, 9, 0, 10, 0, - 11, 0, 12, 0, 13, 0, 41, 0, 171, 0, - 172, 134, 0, 207, 0, 135, 4, 0, 172, 136, - 176, 137, 164, 0, 8, 136, 176, 137, 164, 0, - 138, 4, 139, 172, 140, 0, 141, 4, 139, 172, - 142, 0, 143, 177, 144, 0, 143, 144, 0, 141, - 143, 177, 144, 142, 0, 141, 143, 144, 142, 0, - 172, 162, 0, 172, 0, 8, 0, 173, 0, 175, - 133, 173, 0, 175, 0, 175, 133, 31, 0, 31, - 0, 0, 172, 0, 177, 133, 172, 0, 172, 138, - 180, 140, 0, 172, 138, 140, 0, 172, 145, 17, - 0, 172, 141, 180, 142, 0, 172, 143, 180, 144, - 0, 172, 143, 144, 0, 172, 141, 143, 180, 144, - 142, 0, 172, 141, 143, 144, 142, 0, 172, 32, - 0, 172, 33, 0, 172, 207, 0, 172, 179, 0, - 172, 19, 0, 153, 3, 0, 153, 4, 0, 9, - 20, 0, 9, 21, 0, 154, 7, 0, 149, 136, - 178, 30, 172, 137, 0, 109, 136, 178, 218, 137, - 0, 123, 136, 178, 133, 178, 133, 178, 137, 0, - 147, 136, 178, 133, 178, 137, 0, 148, 136, 178, - 133, 178, 137, 0, 82, 151, 136, 178, 133, 178, - 137, 0, 83, 152, 136, 178, 133, 178, 137, 0, - 150, 136, 178, 133, 178, 137, 0, 128, 136, 178, - 133, 178, 137, 0, 129, 136, 178, 133, 178, 133, - 178, 137, 0, 130, 136, 178, 133, 178, 133, 178, - 137, 0, 180, 133, 178, 0, 178, 0, 26, 0, - 27, 0, 183, 0, 0, 184, 0, 183, 184, 0, - 0, 25, 185, 203, 0, 0, 24, 186, 204, 0, - 54, 53, 190, 0, 18, 0, 155, 14, 172, 0, - 155, 14, 8, 0, 0, 155, 181, 178, 187, 169, - 0, 0, 155, 156, 181, 178, 188, 169, 0, 0, - 155, 157, 181, 172, 189, 169, 0, 43, 192, 0, - 50, 132, 193, 0, 17, 0, 48, 0, 47, 0, - 45, 132, 191, 0, 46, 132, 4, 0, 44, 132, - 17, 0, 63, 132, 17, 0, 138, 194, 140, 0, - 194, 133, 17, 0, 17, 0, 0, 15, 0, 17, - 0, 195, 0, 0, 197, 133, 172, 162, 196, 0, - 172, 162, 196, 0, 197, 0, 197, 133, 31, 0, - 31, 0, 0, 160, 174, 195, 136, 198, 137, 164, - 168, 165, 0, 22, 0, 143, 0, 159, 199, 200, - 0, 23, 0, 144, 0, 210, 202, 0, 158, 199, - 0, 0, 55, 0, 3, 0, 4, 0, 7, 0, - 20, 0, 21, 0, 32, 0, 33, 0, 19, 0, - 141, 180, 142, 0, 179, 0, 53, 205, 17, 133, - 17, 0, 146, 0, 195, 0, 207, 0, 206, 0, - 172, 208, 0, 210, 211, 0, 201, 211, 0, 212, - 155, 213, 0, 212, 215, 0, 0, 16, 0, 64, - 209, 0, 64, 8, 0, 65, 13, 208, 0, 65, - 9, 208, 133, 13, 208, 133, 13, 208, 0, 66, - 153, 208, 133, 13, 208, 138, 214, 140, 0, 66, - 153, 208, 133, 13, 208, 138, 140, 0, 67, 160, - 174, 208, 136, 217, 137, 164, 30, 13, 208, 68, - 13, 208, 0, 68, 0, 69, 0, 214, 153, 206, - 133, 13, 208, 0, 153, 206, 133, 13, 208, 0, - 155, 220, 0, 172, 138, 208, 133, 208, 140, 0, - 216, 133, 138, 208, 133, 208, 140, 0, 172, 208, - 162, 0, 217, 133, 172, 208, 162, 0, 0, 0, - 218, 133, 209, 0, 52, 51, 0, 51, 0, 147, - 172, 208, 133, 208, 0, 148, 172, 208, 133, 208, - 0, 82, 151, 172, 208, 133, 208, 0, 83, 152, - 172, 208, 133, 208, 0, 150, 209, 133, 209, 0, - 149, 209, 30, 172, 0, 123, 209, 133, 209, 133, - 209, 0, 127, 209, 133, 172, 0, 128, 209, 133, - 209, 0, 129, 209, 133, 209, 133, 209, 0, 130, - 209, 133, 209, 133, 209, 0, 122, 216, 0, 219, - 160, 174, 208, 136, 217, 137, 164, 0, 222, 0, - 29, 0, 0, 104, 172, 166, 0, 104, 172, 133, - 10, 208, 166, 0, 105, 172, 166, 0, 105, 172, - 133, 10, 208, 166, 0, 106, 209, 0, 221, 107, - 172, 208, 0, 221, 108, 209, 133, 172, 208, 0, - 109, 172, 208, 218, 0 -}; +#define YYSIZE_MAXIMUM ((YYSIZE_T) -1) + +#ifndef YY_ +# if YYENABLE_NLS +# if ENABLE_NLS +# include <libintl.h> /* INFRINGES ON USER NAME SPACE */ +# define YY_(msgid) dgettext ("bison-runtime", msgid) +# endif +# endif +# ifndef YY_ +# define YY_(msgid) msgid +# endif +#endif +/* Suppress unused-variable warnings by "using" E. */ +#if ! defined lint || defined __GNUC__ +# define YYUSE(e) ((void) (e)) +#else +# define YYUSE(e) /* empty */ #endif -#if YYDEBUG != 0 -static const short yyrline[] = { 0, - 1019, 1020, 1030, 1030, 1030, 1030, 1030, 1030, 1030, 1030, - 1030, 1031, 1031, 1031, 1032, 1032, 1032, 1032, 1032, 1032, - 1032, 1033, 1033, 1033, 1033, 1033, 1034, 1034, 1034, 1036, - 1036, 1037, 1037, 1038, 1038, 1039, 1039, 1040, 1040, 1044, - 1044, 1045, 1045, 1046, 1046, 1047, 1047, 1048, 1048, 1049, - 1049, 1050, 1050, 1051, 1052, 1057, 1058, 1058, 1061, 1065, - 1071, 1072, 1073, 1074, 1075, 1079, 1080, 1081, 1085, 1086, - 1087, 1091, 1092, 1093, 1094, 1095, 1098, 1098, 1099, 1100, - 1101, 1102, 1103, 1104, 1112, 1113, 1116, 1117, 1122, 1123, - 1126, 1127, 1134, 1134, 1141, 1141, 1150, 1158, 1158, 1164, - 1164, 1166, 1171, 1184, 1184, 1184, 1184, 1184, 1187, 1191, - 1195, 1202, 1207, 1215, 1233, 1251, 1256, 1268, 1278, 1282, - 1292, 1299, 1306, 1313, 1318, 1323, 1330, 1331, 1338, 1345, - 1353, 1358, 1369, 1397, 1413, 1442, 1470, 1495, 1514, 1539, - 1558, 1570, 1577, 1640, 1650, 1660, 1666, 1672, 1676, 1680, - 1688, 1702, 1723, 1731, 1737, 1748, 1753, 1758, 1767, 1773, - 1779, 1788, 1792, 1800, 1800, 1811, 1816, 1824, 1825, 1829, - 1829, 1833, 1833, 1836, 1839, 1851, 1875, 1886, 1892, 1895, - 1900, 1903, 1909, 1913, 1916, 1922, 1935, 1936, 1938, 1942, - 1951, 1955, 1960, 1962, 1967, 1972, 1981, 1981, 1982, 1982, - 1984, 1994, 2005, 2009, 2018, 2027, 2032, 2137, 2137, 2139, - 2147, 2147, 2149, 2154, 2165, 2169, 2174, 2178, 2182, 2186, - 2190, 2194, 2198, 2202, 2206, 2231, 2235, 2249, 2253, 2259, - 2259, 2265, 2274, 2278, 2287, 2298, 2307, 2319, 2332, 2336, - 2340, 2345, 2354, 2373, 2382, 2449, 2453, 2460, 2471, 2484, - 2493, 2504, 2514, 2522, 2530, 2533, 2534, 2541, 2545, 2550, - 2571, 2588, 2601, 2614, 2623, 2636, 2644, 2651, 2657, 2663, - 2669, 2684, 2747, 2752, 2756, 2763, 2770, 2778, 2785, 2793, - 2801, 2815, 2832 -}; +/* Identity function, used to suppress warnings about constant conditions. */ +#ifndef lint +# define YYID(n) (n) +#else +#if (defined __STDC__ || defined __C99__FUNC__ \ + || defined __cplusplus || defined _MSC_VER) +static int +YYID (int i) +#else +static int +YYID (i) + int i; +#endif +{ + return i; +} #endif +#if ! defined yyoverflow || YYERROR_VERBOSE + +/* The parser invokes alloca or malloc; define the necessary symbols. */ + +# ifdef YYSTACK_USE_ALLOCA +# if YYSTACK_USE_ALLOCA +# ifdef __GNUC__ +# define YYSTACK_ALLOC __builtin_alloca +# elif defined __BUILTIN_VA_ARG_INCR +# include <alloca.h> /* INFRINGES ON USER NAME SPACE */ +# elif defined _AIX +# define YYSTACK_ALLOC __alloca +# elif defined _MSC_VER +# include <malloc.h> /* INFRINGES ON USER NAME SPACE */ +# define alloca _alloca +# else +# define YYSTACK_ALLOC alloca +# if ! defined _ALLOCA_H && ! defined _STDLIB_H && (defined __STDC__ || defined __C99__FUNC__ \ + || defined __cplusplus || defined _MSC_VER) +# include <stdlib.h> /* INFRINGES ON USER NAME SPACE */ +# ifndef _STDLIB_H +# define _STDLIB_H 1 +# endif +# endif +# endif +# endif +# endif + +# ifdef YYSTACK_ALLOC + /* Pacify GCC's `empty if-body' warning. */ +# define YYSTACK_FREE(Ptr) do { /* empty */; } while (YYID (0)) +# ifndef YYSTACK_ALLOC_MAXIMUM + /* The OS might guarantee only one guard page at the bottom of the stack, + and a page size can be as small as 4096 bytes. So we cannot safely + invoke alloca (N) if N exceeds 4096. Use a slightly smaller number + to allow for a few compiler-allocated temporary stack slots. */ +# define YYSTACK_ALLOC_MAXIMUM 4032 /* reasonable circa 2006 */ +# endif +# else +# define YYSTACK_ALLOC YYMALLOC +# define YYSTACK_FREE YYFREE +# ifndef YYSTACK_ALLOC_MAXIMUM +# define YYSTACK_ALLOC_MAXIMUM YYSIZE_MAXIMUM +# endif +# if (defined __cplusplus && ! defined _STDLIB_H \ + && ! ((defined YYMALLOC || defined malloc) \ + && (defined YYFREE || defined free))) +# include <stdlib.h> /* INFRINGES ON USER NAME SPACE */ +# ifndef _STDLIB_H +# define _STDLIB_H 1 +# endif +# endif +# ifndef YYMALLOC +# define YYMALLOC malloc +# if ! defined malloc && ! defined _STDLIB_H && (defined __STDC__ || defined __C99__FUNC__ \ + || defined __cplusplus || defined _MSC_VER) +void *malloc (YYSIZE_T); /* INFRINGES ON USER NAME SPACE */ +# endif +# endif +# ifndef YYFREE +# define YYFREE free +# if ! defined free && ! defined _STDLIB_H && (defined __STDC__ || defined __C99__FUNC__ \ + || defined __cplusplus || defined _MSC_VER) +void free (void *); /* INFRINGES ON USER NAME SPACE */ +# endif +# endif +# endif +#endif /* ! defined yyoverflow || YYERROR_VERBOSE */ + + +#if (! defined yyoverflow \ + && (! defined __cplusplus \ + || (defined YYSTYPE_IS_TRIVIAL && YYSTYPE_IS_TRIVIAL))) + +/* A type that is properly aligned for any stack member. */ +union yyalloc +{ + yytype_int16 yyss; + YYSTYPE yyvs; + }; + +/* The size of the maximum gap between one aligned stack and the next. */ +# define YYSTACK_GAP_MAXIMUM (sizeof (union yyalloc) - 1) + +/* The size of an array large to enough to hold all stacks, each with + N elements. */ +# define YYSTACK_BYTES(N) \ + ((N) * (sizeof (yytype_int16) + sizeof (YYSTYPE)) \ + + YYSTACK_GAP_MAXIMUM) + +/* Copy COUNT objects from FROM to TO. The source and destination do + not overlap. */ +# ifndef YYCOPY +# if defined __GNUC__ && 1 < __GNUC__ +# define YYCOPY(To, From, Count) \ + __builtin_memcpy (To, From, (Count) * sizeof (*(From))) +# else +# define YYCOPY(To, From, Count) \ + do \ + { \ + YYSIZE_T yyi; \ + for (yyi = 0; yyi < (Count); yyi++) \ + (To)[yyi] = (From)[yyi]; \ + } \ + while (YYID (0)) +# endif +# endif + +/* Relocate STACK from its old location to the new one. The + local variables YYSIZE and YYSTACKSIZE give the old and new number of + elements in the stack, and YYPTR gives the new location of the + stack. Advance YYPTR to a properly aligned location for the next + stack. */ +# define YYSTACK_RELOCATE(Stack) \ + do \ + { \ + YYSIZE_T yynewbytes; \ + YYCOPY (&yyptr->Stack, Stack, yysize); \ + Stack = &yyptr->Stack; \ + yynewbytes = yystacksize * sizeof (*Stack) + YYSTACK_GAP_MAXIMUM; \ + yyptr += yynewbytes / sizeof (*yyptr); \ + } \ + while (YYID (0)) -#if YYDEBUG != 0 || defined (YYERROR_VERBOSE) - -static const char * const yytname[] = { "$","error","$undefined.","ESINT64VAL", -"EUINT64VAL","SINTVAL","UINTVAL","FPVAL","VOID","BOOL","INTTYPE","FLOAT","DOUBLE", -"LABEL","TYPE","VAR_ID","LABELSTR","STRINGCONSTANT","IMPLEMENTATION","ZEROINITIALIZER", -"TRUETOK","FALSETOK"," |