aboutsummaryrefslogtreecommitdiff
path: root/lib/AsmParser/llvmAsmParser.cpp.cvs
diff options
context:
space:
mode:
Diffstat (limited to 'lib/AsmParser/llvmAsmParser.cpp.cvs')
-rw-r--r--lib/AsmParser/llvmAsmParser.cpp.cvs7901
1 files changed, 3414 insertions, 4487 deletions
diff --git a/lib/AsmParser/llvmAsmParser.cpp.cvs b/lib/AsmParser/llvmAsmParser.cpp.cvs
index 3d09b362ff..84a4e6a249 100644
--- a/lib/AsmParser/llvmAsmParser.cpp.cvs
+++ b/lib/AsmParser/llvmAsmParser.cpp.cvs
@@ -1,380 +1,165 @@
-/* A Bison parser, made by GNU Bison 2.3. */
-/* Skeleton implementation for Bison's Yacc-like parsers in C
+/* A Bison parser, made from /Users/clamb/Documents/llvm/llvm/lib/AsmParser/llvmAsmParser.y
+ by GNU Bison version 1.28 */
- Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003, 2004, 2005, 2006
- Free Software Foundation, Inc.
+#define YYBISON 1 /* Identify Bison output. */
- 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
-
-
-/* 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,
- ESAPINTVAL = 260,
- EUAPINTVAL = 261,
- LOCALVAL_ID = 262,
- GLOBALVAL_ID = 263,
- FPVAL = 264,
- VOID = 265,
- INTTYPE = 266,
- FLOAT = 267,
- DOUBLE = 268,
- X86_FP80 = 269,
- FP128 = 270,
- PPC_FP128 = 271,
- LABEL = 272,
- TYPE = 273,
- LOCALVAR = 274,
- GLOBALVAR = 275,
- LABELSTR = 276,
- STRINGCONSTANT = 277,
- ATSTRINGCONSTANT = 278,
- PCTSTRINGCONSTANT = 279,
- ZEROINITIALIZER = 280,
- TRUETOK = 281,
- FALSETOK = 282,
- BEGINTOK = 283,
- ENDTOK = 284,
- DECLARE = 285,
- DEFINE = 286,
- GLOBAL = 287,
- CONSTANT = 288,
- SECTION = 289,
- ALIAS = 290,
- VOLATILE = 291,
- THREAD_LOCAL = 292,
- TO = 293,
- DOTDOTDOT = 294,
- NULL_TOK = 295,
- UNDEF = 296,
- INTERNAL = 297,
- LINKONCE = 298,
- WEAK = 299,
- APPENDING = 300,
- DLLIMPORT = 301,
- DLLEXPORT = 302,
- EXTERN_WEAK = 303,
- OPAQUE = 304,
- EXTERNAL = 305,
- TARGET = 306,
- TRIPLE = 307,
- ALIGN = 308,
- DEPLIBS = 309,
- CALL = 310,
- TAIL = 311,
- ASM_TOK = 312,
- MODULE = 313,
- SIDEEFFECT = 314,
- CC_TOK = 315,
- CCC_TOK = 316,
- FASTCC_TOK = 317,
- COLDCC_TOK = 318,
- X86_STDCALLCC_TOK = 319,
- X86_FASTCALLCC_TOK = 320,
- DATALAYOUT = 321,
- RET = 322,
- BR = 323,
- SWITCH = 324,
- INVOKE = 325,
- UNWIND = 326,
- UNREACHABLE = 327,
- ADD = 328,
- SUB = 329,
- MUL = 330,
- UDIV = 331,
- SDIV = 332,
- FDIV = 333,
- UREM = 334,
- SREM = 335,
- FREM = 336,
- AND = 337,
- OR = 338,
- XOR = 339,
- SHL = 340,
- LSHR = 341,
- ASHR = 342,
- ICMP = 343,
- FCMP = 344,
- EQ = 345,
- NE = 346,
- SLT = 347,
- SGT = 348,
- SLE = 349,
- SGE = 350,
- ULT = 351,
- UGT = 352,
- ULE = 353,
- UGE = 354,
- OEQ = 355,
- ONE = 356,
- OLT = 357,
- OGT = 358,
- OLE = 359,
- OGE = 360,
- ORD = 361,
- UNO = 362,
- UEQ = 363,
- UNE = 364,
- MALLOC = 365,
- ALLOCA = 366,
- FREE = 367,
- LOAD = 368,
- STORE = 369,
- GETELEMENTPTR = 370,
- TRUNC = 371,
- ZEXT = 372,
- SEXT = 373,
- FPTRUNC = 374,
- FPEXT = 375,
- BITCAST = 376,
- UITOFP = 377,
- SITOFP = 378,
- FPTOUI = 379,
- FPTOSI = 380,
- INTTOPTR = 381,
- PTRTOINT = 382,
- PHI_TOK = 383,
- SELECT = 384,
- VAARG = 385,
- EXTRACTELEMENT = 386,
- INSERTELEMENT = 387,
- SHUFFLEVECTOR = 388,
- SIGNEXT = 389,
- ZEROEXT = 390,
- NORETURN = 391,
- INREG = 392,
- SRET = 393,
- NOUNWIND = 394,
- NOALIAS = 395,
- BYVAL = 396,
- NEST = 397,
- READNONE = 398,
- READONLY = 399,
- GC = 400,
- DEFAULT = 401,
- HIDDEN = 402,
- PROTECTED = 403
- };
-#endif
-/* Tokens. */
-#define ESINT64VAL 258
-#define EUINT64VAL 259
-#define ESAPINTVAL 260
-#define EUAPINTVAL 261
-#define LOCALVAL_ID 262
-#define GLOBALVAL_ID 263
-#define FPVAL 264
-#define VOID 265
-#define INTTYPE 266
-#define FLOAT 267
-#define DOUBLE 268
-#define X86_FP80 269
-#define FP128 270
-#define PPC_FP128 271
-#define LABEL 272
-#define TYPE 273
-#define LOCALVAR 274
-#define GLOBALVAR 275
-#define LABELSTR 276
-#define STRINGCONSTANT 277
-#define ATSTRINGCONSTANT 278
-#define PCTSTRINGCONSTANT 279
-#define ZEROINITIALIZER 280
-#define TRUETOK 281
-#define FALSETOK 282
-#define BEGINTOK 283
-#define ENDTOK 284
-#define DECLARE 285
-#define DEFINE 286
-#define GLOBAL 287
-#define CONSTANT 288
-#define SECTION 289
-#define ALIAS 290
-#define VOLATILE 291
-#define THREAD_LOCAL 292
-#define TO 293
-#define DOTDOTDOT 294
-#define NULL_TOK 295
-#define UNDEF 296
-#define INTERNAL 297
-#define LINKONCE 298
-#define WEAK 299
-#define APPENDING 300
-#define DLLIMPORT 301
-#define DLLEXPORT 302
-#define EXTERN_WEAK 303
-#define OPAQUE 304
-#define EXTERNAL 305
-#define TARGET 306
-#define TRIPLE 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 FASTCC_TOK 317
-#define COLDCC_TOK 318
-#define X86_STDCALLCC_TOK 319
-#define X86_FASTCALLCC_TOK 320
-#define DATALAYOUT 321
-#define RET 322
-#define BR 323
-#define SWITCH 324
-#define INVOKE 325
-#define UNWIND 326
-#define UNREACHABLE 327
-#define ADD 328
-#define SUB 329
-#define MUL 330
-#define UDIV 331
-#define SDIV 332
-#define FDIV 333
-#define UREM 334
-#define SREM 335
-#define FREM 336
-#define AND 337
-#define OR 338
-#define XOR 339
-#define SHL 340
-#define LSHR 341
-#define ASHR 342
-#define ICMP 343
-#define FCMP 344
-#define EQ 345
-#define NE 346
-#define SLT 347
-#define SGT 348
-#define SLE 349
-#define SGE 350
-#define ULT 351
-#define UGT 352
-#define ULE 353
-#define UGE 354
-#define OEQ 355
-#define ONE 356
-#define OLT 357
-#define OGT 358
-#define OLE 359
-#define OGE 360
-#define ORD 361
-#define UNO 362
-#define UEQ 363
-#define UNE 364
-#define MALLOC 365
-#define ALLOCA 366
-#define FREE 367
-#define LOAD 368
-#define STORE 369
-#define GETELEMENTPTR 370
-#define TRUNC 371
-#define ZEXT 372
-#define SEXT 373
-#define FPTRUNC 374
-#define FPEXT 375
-#define BITCAST 376
-#define UITOFP 377
-#define SITOFP 378
-#define FPTOUI 379
-#define FPTOSI 380
-#define INTTOPTR 381
-#define PTRTOINT 382
-#define PHI_TOK 383
-#define SELECT 384
-#define VAARG 385
-#define EXTRACTELEMENT 386
-#define INSERTELEMENT 387
-#define SHUFFLEVECTOR 388
-#define SIGNEXT 389
-#define ZEROEXT 390
-#define NORETURN 391
-#define INREG 392
-#define SRET 393
-#define NOUNWIND 394
-#define NOALIAS 395
-#define BYVAL 396
-#define NEST 397
-#define READNONE 398
-#define READONLY 399
-#define GC 400
-#define DEFAULT 401
-#define HIDDEN 402
-#define PROTECTED 403
-
-
-
-
-/* Copy the first part of user declarations. */
-#line 14 "/Users/malichus/Source/llvm/src/llvm/lib/AsmParser/llvmAsmParser.y"
+#define ESINT64VAL 257
+#define EUINT64VAL 258
+#define ESAPINTVAL 259
+#define EUAPINTVAL 260
+#define LOCALVAL_ID 261
+#define GLOBALVAL_ID 262
+#define FPVAL 263
+#define VOID 264
+#define INTTYPE 265
+#define FLOAT 266
+#define DOUBLE 267
+#define X86_FP80 268
+#define FP128 269
+#define PPC_FP128 270
+#define LABEL 271
+#define TYPE 272
+#define LOCALVAR 273
+#define GLOBALVAR 274
+#define LABELSTR 275
+#define STRINGCONSTANT 276
+#define ATSTRINGCONSTANT 277
+#define PCTSTRINGCONSTANT 278
+#define ZEROINITIALIZER 279
+#define TRUETOK 280
+#define FALSETOK 281
+#define BEGINTOK 282
+#define ENDTOK 283
+#define DECLARE 284
+#define DEFINE 285
+#define GLOBAL 286
+#define CONSTANT 287
+#define SECTION 288
+#define ALIAS 289
+#define VOLATILE 290
+#define THREAD_LOCAL 291
+#define TO 292
+#define DOTDOTDOT 293
+#define NULL_TOK 294
+#define UNDEF 295
+#define INTERNAL 296
+#define LINKONCE 297
+#define WEAK 298
+#define APPENDING 299
+#define DLLIMPORT 300
+#define DLLEXPORT 301
+#define EXTERN_WEAK 302
+#define OPAQUE 303
+#define EXTERNAL 304
+#define TARGET 305
+#define TRIPLE 306
+#define ALIGN 307
+#define ADDRSPACE 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 FASTCC_TOK 317
+#define COLDCC_TOK 318
+#define X86_STDCALLCC_TOK 319
+#define X86_FASTCALLCC_TOK 320
+#define DATALAYOUT 321
+#define RET 322
+#define BR 323
+#define SWITCH 324
+#define INVOKE 325
+#define UNWIND 326
+#define UNREACHABLE 327
+#define ADD 328
+#define SUB 329
+#define MUL 330
+#define UDIV 331
+#define SDIV 332
+#define FDIV 333
+#define UREM 334
+#define SREM 335
+#define FREM 336
+#define AND 337
+#define OR 338
+#define XOR 339
+#define SHL 340
+#define LSHR 341
+#define ASHR 342
+#define ICMP 343
+#define FCMP 344
+#define EQ 345
+#define NE 346
+#define SLT 347
+#define SGT 348
+#define SLE 349
+#define SGE 350
+#define ULT 351
+#define UGT 352
+#define ULE 353
+#define UGE 354
+#define OEQ 355
+#define ONE 356
+#define OLT 357
+#define OGT 358
+#define OLE 359
+#define OGE 360
+#define ORD 361
+#define UNO 362
+#define UEQ 363
+#define UNE 364
+#define MALLOC 365
+#define ALLOCA 366
+#define FREE 367
+#define LOAD 368
+#define STORE 369
+#define GETELEMENTPTR 370
+#define TRUNC 371
+#define ZEXT 372
+#define SEXT 373
+#define FPTRUNC 374
+#define FPEXT 375
+#define BITCAST 376
+#define UITOFP 377
+#define SITOFP 378
+#define FPTOUI 379
+#define FPTOSI 380
+#define INTTOPTR 381
+#define PTRTOINT 382
+#define PHI_TOK 383
+#define SELECT 384
+#define VAARG 385
+#define EXTRACTELEMENT 386
+#define INSERTELEMENT 387
+#define SHUFFLEVECTOR 388
+#define SIGNEXT 389
+#define ZEROEXT 390
+#define NORETURN 391
+#define INREG 392
+#define SRET 393
+#define NOUNWIND 394
+#define NOALIAS 395
+#define BYVAL 396
+#define NEST 397
+#define READNONE 398
+#define READONLY 399
+#define GC 400
+#define DEFAULT 401
+#define HIDDEN 402
+#define PROTECTED 403
+
+#line 14 "/Users/clamb/Documents/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
#include "ParserInternals.h"
#include "llvm/CallingConv.h"
@@ -855,7 +640,8 @@ static Value *getVal(const Type *Ty, const ValID &ID) {
if (const FunctionType *FTy = dyn_cast<FunctionType>(ElTy))
V = new Function(FTy, GlobalValue::ExternalLinkage);
else
- V = new GlobalVariable(ElTy, false, GlobalValue::ExternalLinkage);
+ V = new GlobalVariable(ElTy, false, GlobalValue::ExternalLinkage, 0, "",
+ (Module*)0, false, PTy->getAddressSpace());
break;
}
default:
@@ -1086,13 +872,14 @@ ParseGlobalVariable(std::string *NameStr,
GlobalValue::LinkageTypes Linkage,
GlobalValue::VisibilityTypes Visibility,
bool isConstantGlobal, const Type *Ty,
- Constant *Initializer, bool IsThreadLocal) {
+ Constant *Initializer, bool IsThreadLocal,
+ unsigned AddressSpace = 0) {
if (isa<FunctionType>(Ty)) {
GenerateError("Cannot declare global vars of function type");
return 0;
}
- const PointerType *PTy = PointerType::get(Ty);
+ const PointerType *PTy = PointerType::get(Ty, AddressSpace);
std::string Name;
if (NameStr) {
@@ -1144,7 +931,7 @@ ParseGlobalVariable(std::string *NameStr,
// Otherwise there is no existing GV to use, create one now.
GlobalVariable *GV =
new GlobalVariable(Ty, isConstantGlobal, Linkage, Initializer, Name,
- CurModule.CurrentModule, IsThreadLocal);
+ CurModule.CurrentModule, IsThreadLocal, AddressSpace);
GV->setVisibility(Visibility);
InsertValue(GV, CurModule.Values);
return GV;
@@ -1305,29 +1092,8 @@ Module *llvm::RunVMAsmParser(llvm::MemoryBuffer *MB) {
}
-
-/* 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 945 "/Users/malichus/Source/llvm/src/llvm/lib/AsmParser/llvmAsmParser.y"
-{
+#line 947 "/Users/clamb/Documents/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
+typedef union {
llvm::Module *ModuleVal;
llvm::Function *FunctionVal;
llvm::BasicBlock *BasicBlockVal;
@@ -1372,1861 +1138,1194 @@ typedef union YYSTYPE
llvm::Instruction::OtherOps OtherOpVal;
llvm::ICmpInst::Predicate IPredicate;
llvm::FCmpInst::Predicate FPredicate;
-}
-/* Line 193 of yacc.c. */
-#line 1378 "llvmAsmParser.tab.c"
- YYSTYPE;
-# define yystype YYSTYPE /* obsolescent; will be withdrawn */
-# define YYSTYPE_IS_DECLARED 1
-# define YYSTYPE_IS_TRIVIAL 1
-#endif
+} YYSTYPE;
+#include <stdio.h>
-
-
-/* Copy the second part of user declarations. */
-
-
-/* Line 216 of yacc.c. */
-#line 1391 "llvmAsmParser.tab.c"
-
-#ifdef short
-# undef short
+#ifndef __cplusplus
+#ifndef __STDC__
+#define const
#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
-#ifdef YYTYPE_INT16
-typedef YYTYPE_INT16 yytype_int16;
-#else
-typedef short int yytype_int16;
-#endif
+#define YYFINAL 622
+#define YYFLAG -32768
+#define YYNTBASE 164
+
+#define YYTRANSLATE(x) ((unsigned)(x) <= 403 ? yytranslate[x] : 247)
+
+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, 153,
+ 154, 152, 2, 151, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 159,
+ 150, 160, 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,
+ 156, 155, 158, 2, 2, 2, 2, 2, 163, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 157,
+ 2, 2, 161, 2, 162, 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, 132, 133, 134, 135, 136,
+ 137, 138, 139, 140, 141, 142, 143, 144, 145, 146,
+ 147, 148, 149
+};
-#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
+#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, 118,
+ 120, 122, 124, 126, 127, 130, 131, 133, 135, 137,
+ 138, 141, 143, 145, 147, 149, 151, 153, 155, 157,
+ 158, 160, 162, 164, 165, 167, 169, 170, 172, 174,
+ 176, 178, 179, 181, 183, 184, 186, 188, 190, 192,
+ 194, 197, 199, 201, 203, 205, 207, 209, 211, 213,
+ 215, 216, 219, 221, 223, 225, 227, 229, 231, 232,
+ 235, 236, 239, 240, 243, 244, 248, 251, 252, 254,
+ 255, 259, 261, 264, 266, 268, 270, 272, 274, 276,
+ 278, 280, 282, 285, 292, 294, 297, 303, 309, 315,
+ 321, 325, 328, 334, 339, 342, 344, 346, 348, 352,
+ 354, 358, 360, 361, 363, 367, 372, 376, 380, 385,
+ 390, 394, 401, 407, 410, 413, 416, 419, 422, 425,
+ 428, 431, 434, 437, 440, 443, 450, 456, 465, 472,
+ 479, 487, 495, 502, 511, 520, 524, 526, 528, 530,
+ 532, 533, 536, 543, 545, 546, 548, 551, 552, 556,
+ 557, 561, 565, 569, 573, 574, 582, 583, 595, 596,
+ 605, 606, 615, 621, 624, 628, 630, 634, 638, 642,
+ 646, 648, 649, 655, 659, 661, 665, 667, 668, 679,
+ 681, 683, 688, 690, 692, 695, 699, 700, 702, 704,
+ 706, 708, 710, 712, 714, 716, 718, 722, 724, 730,
+ 732, 734, 736, 738, 740, 742, 745, 748, 751, 755,
+ 758, 759, 761, 764, 767, 771, 781, 791, 800, 815,
+ 817, 819, 826, 832, 835, 842, 850, 855, 860, 867,
+ 874, 875, 876, 880, 883, 885, 891, 897, 904, 911,
+ 916, 923, 928, 933, 940, 947, 950, 959, 961, 963,
+ 964, 968, 975, 979, 986, 989, 995, 1003
+};
-#define YYSIZE_MAXIMUM ((YYSIZE_T) -1)
-
-#ifndef YY_
-# if defined YYENABLE_NLS && 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
+static const short yyrhs[] = { 74,
+ 0, 75, 0, 76, 0, 77, 0, 78, 0, 79,
+ 0, 80, 0, 81, 0, 82, 0, 86, 0, 87,
+ 0, 88, 0, 83, 0, 84, 0, 85, 0, 117,
+ 0, 118, 0, 119, 0, 120, 0, 121, 0, 122,
+ 0, 123, 0, 124, 0, 125, 0, 126, 0, 127,
+ 0, 128, 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, 104,
+ 0, 105, 0, 106, 0, 107, 0, 108, 0, 109,
+ 0, 110, 0, 97, 0, 98, 0, 99, 0, 100,
+ 0, 26, 0, 27, 0, 11, 0, 12, 0, 13,
+ 0, 16, 0, 15, 0, 14, 0, 19, 0, 22,
+ 0, 24, 0, 171, 0, 0, 171, 150, 0, 0,
+ 20, 0, 23, 0, 176, 0, 0, 174, 150, 0,
+ 42, 0, 44, 0, 43, 0, 45, 0, 47, 0,
+ 46, 0, 48, 0, 50, 0, 0, 147, 0, 148,
+ 0, 149, 0, 0, 46, 0, 48, 0, 0, 42,
+ 0, 43, 0, 44, 0, 47, 0, 0, 44, 0,
+ 42, 0, 0, 62, 0, 63, 0, 64, 0, 65,
+ 0, 66, 0, 61, 4, 0, 136, 0, 118, 0,
+ 135, 0, 119, 0, 138, 0, 139, 0, 141, 0,
+ 142, 0, 143, 0, 0, 185, 184, 0, 137, 0,
+ 140, 0, 136, 0, 135, 0, 144, 0, 145, 0,
+ 0, 187, 186, 0, 0, 146, 22, 0, 0, 53,
+ 4, 0, 0, 151, 53, 4, 0, 34, 22, 0,
+ 0, 191, 0, 0, 151, 194, 193, 0, 191, 0,
+ 53, 4, 0, 11, 0, 12, 0, 13, 0, 16,
+ 0, 15, 0, 14, 0, 17, 0, 49, 0, 195,
+ 0, 196, 152, 0, 196, 54, 153, 4, 154, 152,
+ 0, 231, 0, 155, 4, 0, 196, 153, 200, 154,
+ 187, 0, 10, 153, 200, 154, 187, 0, 156, 4,
+ 157, 196, 158, 0, 159, 4, 157, 196, 160, 0,
+ 161, 201, 162, 0, 161, 162, 0, 159, 161, 201,
+ 162, 160, 0, 159, 161, 162, 160, 0, 196, 185,
+ 0, 196, 0, 10, 0, 197, 0, 199, 151, 197,
+ 0, 199, 0, 199, 151, 39, 0, 39, 0, 0,
+ 196, 0, 201, 151, 196, 0, 196, 156, 204, 158,
+ 0, 196, 156, 158, 0, 196, 163, 22, 0, 196,
+ 159, 204, 160, 0, 196, 161, 204, 162, 0, 196,
+ 161, 162, 0, 196, 159, 161, 204, 162, 160, 0,
+ 196, 159, 161, 162, 160, 0, 196, 40, 0, 196,
+ 41, 0, 196, 231, 0, 196, 203, 0, 196, 25,
+ 0, 169, 3, 0, 169, 5, 0, 169, 4, 0,
+ 169, 6, 0, 11, 26, 0, 11, 27, 0, 170,
+ 9, 0, 166, 153, 202, 38, 196, 154, 0, 116,
+ 153, 202, 242, 154, 0, 130, 153, 202, 151, 202,
+ 151, 202, 154, 0, 164, 153, 202, 151, 202, 154,
+ 0, 165, 153, 202, 151, 202, 154, 0, 89, 167,
+ 153, 202, 151, 202, 154, 0, 90, 168, 153, 202,
+ 151, 202, 154, 0, 132, 153, 202, 151, 202, 154,
+ 0, 133, 153, 202, 151, 202, 151, 202, 154, 0,
+ 134, 153, 202, 151, 202, 151, 202, 154, 0, 204,
+ 151, 202, 0, 202, 0, 32, 0, 33, 0, 37,
+ 0, 0, 198, 231, 0, 122, 153, 207, 38, 196,
+ 154, 0, 209, 0, 0, 210, 0, 209, 210, 0,
+ 0, 31, 211, 227, 0, 0, 30, 212, 228, 0,
+ 59, 58, 217, 0, 173, 18, 196, 0, 173, 18,
+ 10, 0, 0, 175, 179, 206, 205, 202, 213, 193,
+ 0, 0, 175, 179, 206, 205, 202, 54, 153, 4,
+ 154, 214, 193, 0, 0, 175, 177, 179, 206, 205,
+ 202, 215, 193, 0, 0, 175, 178, 179, 206, 205,
+ 196, 216, 193, 0, 175, 179, 35, 182, 207, 0,
+ 51, 218, 0, 55, 150, 219, 0, 22, 0, 52,
+ 150, 22, 0, 67, 150, 22, 0, 156, 220, 158,
+ 0, 220, 151, 22, 0, 22, 0, 0, 221, 151,
+ 196, 185, 172, 0, 196, 185, 172, 0, 221, 0,
+ 221, 151, 39, 0, 39, 0, 0, 183, 198, 174,
+ 153, 222, 154, 187, 192, 189, 188, 0, 28, 0,
+ 161, 0, 181, 179, 223, 224, 0, 29, 0, 162,
+ 0, 234, 226, 0, 180, 179, 223, 0, 0, 60,
+ 0, 3, 0, 4, 0, 9, 0, 26, 0, 27,
+ 0, 40, 0, 41, 0, 25, 0, 159, 204, 160,
+ 0, 203, 0, 58, 229, 22, 151, 22, 0, 7,
+ 0, 8, 0, 171, 0, 174, 0, 231, 0, 230,
+ 0, 196, 232, 0, 234, 235, 0, 225, 235, 0,
+ 236, 173, 237, 0, 236, 239, 0, 0, 21, 0,
+ 68, 233, 0, 68, 10, 0, 69, 17, 232, 0,
+ 69, 11, 232, 151, 17, 232, 151, 17, 232, 0,
+ 70, 169, 232, 151, 17, 232, 156, 238, 158, 0,
+ 70, 169, 232, 151, 17, 232, 156, 158, 0, 71,
+ 183, 198, 232, 153, 241, 154, 187, 38, 17, 232,
+ 72, 17, 232, 0, 72, 0, 73, 0, 238, 169,
+ 230, 151, 17, 232, 0, 169, 230, 151, 17, 232,
+ 0, 173, 244, 0, 196, 156, 232, 151, 232, 158,
+ 0, 240, 151, 156, 232, 151, 232, 158, 0, 196,
+ 185, 232, 185, 0, 17, 185, 232, 185, 0, 241,
+ 151, 196, 185, 232, 185, 0, 241, 151, 17, 185,
+ 232, 185, 0, 0, 0, 242, 151, 233, 0, 57,
+ 56, 0, 56, 0, 164, 196, 232, 151, 232, 0,
+ 165, 196, 232, 151, 232, 0, 89, 167, 196, 232,
+ 151, 232, 0, 90, 168, 196, 232, 151, 232, 0,
+ 166, 233, 38, 196, 0, 130, 233, 151, 233, 151,
+ 233, 0, 131, 233, 151, 196, 0, 132, 233, 151,
+ 233, 0, 133, 233, 151, 233, 151, 233, 0, 134,
+ 233, 151, 233, 151, 233, 0, 129, 240, 0, 243,
+ 183, 198, 232, 153, 241, 154, 187, 0, 246, 0,
+ 36, 0, 0, 111, 196, 190, 0, 111, 196, 151,
+ 11, 232, 190, 0, 112, 196, 190, 0, 112, 196,
+ 151, 11, 232, 190, 0, 113, 233, 0, 245, 114,
+ 196, 232, 190, 0, 245, 115, 233, 151, 196, 232,
+ 190, 0, 116, 196, 232, 242, 0
+};
-/* Suppress unused-variable warnings by "using" E. */
-#if ! defined lint || defined __GNUC__
-# define YYUSE(e) ((void) (e))
-#else
-# define YYUSE(e) /* empty */
#endif
-/* 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;
-}
+#if YYDEBUG != 0
+static const short yyrline[] = { 0,
+ 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1108,
+ 1108, 1108, 1108, 1108, 1108, 1109, 1109, 1109, 1109, 1109,
+ 1109, 1109, 1110, 1110, 1110, 1110, 1110, 1113, 1113, 1114,
+ 1114, 1115, 1115, 1116, 1116, 1117, 1117, 1121, 1121, 1122,
+ 1122, 1123, 1123, 1124, 1124, 1125, 1125, 1126, 1126, 1127,
+ 1127, 1128, 1129, 1134, 1135, 1135, 1135, 1135, 1135, 1137,
+ 1137, 1137, 1138, 1138, 1142, 1146, 1151, 1151, 1153, 1154,
+ 1159, 1165, 1166, 1167, 1168, 1169, 1173, 1174, 1175, 1179,
+ 1180, 1181, 1182, 1186, 1187, 1188, 1192, 1193, 1194, 1195,
+ 1196, 1200, 1201, 1202, 1205, 1205, 1206, 1207, 1208, 1209,
+ 1210, 1218, 1219, 1220, 1221, 1222, 1223, 1224, 1225, 1226,
+ 1229, 1230, 1235, 1236, 1237, 1238, 1239, 1240, 1243, 1244,
+ 1249, 1250, 1257, 1257, 1264, 1264, 1274, 1282, 1282, 1288,
+ 1288, 1290, 1295, 1308, 1308, 1308, 1308, 1308, 1308, 1308,
+ 1311, 1315, 1319, 1326, 1333, 1338, 1346, 1376, 1401, 1406,
+ 1416, 1426, 1430, 1440, 1447, 1456, 1463, 1468, 1473, 1480,
+ 1481, 1488, 1495, 1503, 1509, 1521, 1549, 1565, 1592, 1620,
+ 1646, 1666, 1692, 1712, 1724, 1731, 1797, 1807, 1817, 1823,
+ 1833, 1839, 1849, 1854, 1859, 1872, 1884, 1906, 1914, 1920,
+ 1931, 1936, 1941, 1947, 1953, 1962, 1966, 1974, 1974, 1977,
+ 1977, 1980, 1992, 2013, 2018, 2026, 2027, 2031, 2031, 2035,
+ 2035, 2038, 2041, 2065, 2076, 2083, 2086, 2094, 2097, 2103,
+ 2106, 2113, 2117, 2157, 2160, 2166, 2176, 2180, 2185, 2187,
+ 2192, 2197, 2206, 2216, 2227, 2231, 2240, 2249, 2254, 2388,
+ 2388, 2390, 2399, 2399, 2401, 2406, 2418, 2422, 2427, 2431,
+ 2435, 2439, 2443, 2447, 2451, 2455, 2459, 2484, 2488, 2498,
+ 2502, 2506, 2511, 2518, 2518, 2524, 2533, 2537, 2546, 2555,
+ 2564, 2568, 2575, 2579, 2583, 2588, 2598, 2617, 2626, 2710,
+ 2714, 2721, 2732, 2745, 2755, 2766, 2776, 2787, 2795, 2805,
+ 2812, 2815, 2816, 2823, 2827, 2832, 2848, 2865, 2879, 2893,
+ 2905, 2913, 2920, 2926, 2932, 2938, 2953, 3044, 3049, 3053,
+ 3060, 3067, 3075, 3082, 3090, 3098, 3112, 3129
+};
#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
-