aboutsummaryrefslogtreecommitdiff
path: root/lib/AsmParser/llvmAsmParser.cpp.cvs
diff options
context:
space:
mode:
authorChristopher Lamb <christopher.lamb@gmail.com>2007-04-21 08:16:25 +0000
committerChristopher Lamb <christopher.lamb@gmail.com>2007-04-21 08:16:25 +0000
commit2330e4d4c4f8008d17f5a38ac0d7b04e139d4131 (patch)
tree50e224364619b5ef673361d3c9535b97f75473a1 /lib/AsmParser/llvmAsmParser.cpp.cvs
parent1b7f584fd81b4c0df42e06be79af7d7401d3b01d (diff)
add support for alignment attributes on load/store instructions
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36301 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/AsmParser/llvmAsmParser.cpp.cvs')
-rw-r--r--lib/AsmParser/llvmAsmParser.cpp.cvs7116
1 files changed, 3117 insertions, 3999 deletions
diff --git a/lib/AsmParser/llvmAsmParser.cpp.cvs b/lib/AsmParser/llvmAsmParser.cpp.cvs
index 4108df2c14..410aec381d 100644
--- a/lib/AsmParser/llvmAsmParser.cpp.cvs
+++ b/lib/AsmParser/llvmAsmParser.cpp.cvs
@@ -1,342 +1,150 @@
-/* A Bison parser, made by GNU Bison 2.1. */
-/* Skeleton parser for Yacc-like parsing with Bison,
- Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003, 2004, 2005 Free Software Foundation, Inc.
+/* A Bison parser, made from /Users/clamb/Documents/ageia/cvs/llvm/lib/AsmParser/llvmAsmParser.y
+ by GNU Bison version 1.28 */
- 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, when this file is copied by Bison into a
- Bison output file, you may use that output file without restriction.
- This special exception was added by the Free Software Foundation
- in version 1.24 of Bison. */
+#define YYBISON 1 /* Identify Bison output. */
-/* 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.1"
-
-/* 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,
- LABEL = 269,
- TYPE = 270,
- LOCALVAR = 271,
- GLOBALVAR = 272,
- LABELSTR = 273,
- STRINGCONSTANT = 274,
- ATSTRINGCONSTANT = 275,
- ZEROINITIALIZER = 276,
- TRUETOK = 277,
- FALSETOK = 278,
- BEGINTOK = 279,
- ENDTOK = 280,
- DECLARE = 281,
- DEFINE = 282,
- GLOBAL = 283,
- CONSTANT = 284,
- SECTION = 285,
- VOLATILE = 286,
- THREAD_LOCAL = 287,
- TO = 288,
- DOTDOTDOT = 289,
- NULL_TOK = 290,
- UNDEF = 291,
- INTERNAL = 292,
- LINKONCE = 293,
- WEAK = 294,
- APPENDING = 295,
- DLLIMPORT = 296,
- DLLEXPORT = 297,
- EXTERN_WEAK = 298,
- OPAQUE = 299,
- EXTERNAL = 300,
- TARGET = 301,
- TRIPLE = 302,
- ALIGN = 303,
- DEPLIBS = 304,
- CALL = 305,
- TAIL = 306,
- ASM_TOK = 307,
- MODULE = 308,
- SIDEEFFECT = 309,
- CC_TOK = 310,
- CCC_TOK = 311,
- FASTCC_TOK = 312,
- COLDCC_TOK = 313,
- X86_STDCALLCC_TOK = 314,
- X86_FASTCALLCC_TOK = 315,
- DATALAYOUT = 316,
- RET = 317,
- BR = 318,
- SWITCH = 319,
- INVOKE = 320,
- UNWIND = 321,
- UNREACHABLE = 322,
- ADD = 323,
- SUB = 324,
- MUL = 325,
- UDIV = 326,
- SDIV = 327,
- FDIV = 328,
- UREM = 329,
- SREM = 330,
- FREM = 331,
- AND = 332,
- OR = 333,
- XOR = 334,
- SHL = 335,
- LSHR = 336,
- ASHR = 337,
- ICMP = 338,
- FCMP = 339,
- EQ = 340,
- NE = 341,
- SLT = 342,
- SGT = 343,
- SLE = 344,
- SGE = 345,
- ULT = 346,
- UGT = 347,
- ULE = 348,
- UGE = 349,
- OEQ = 350,
- ONE = 351,
- OLT = 352,
- OGT = 353,
- OLE = 354,
- OGE = 355,
- ORD = 356,
- UNO = 357,
- UEQ = 358,
- UNE = 359,
- MALLOC = 360,
- ALLOCA = 361,
- FREE = 362,
- LOAD = 363,
- STORE = 364,
- GETELEMENTPTR = 365,
- TRUNC = 366,
- ZEXT = 367,
- SEXT = 368,
- FPTRUNC = 369,
- FPEXT = 370,
- BITCAST = 371,
- UITOFP = 372,
- SITOFP = 373,
- FPTOUI = 374,
- FPTOSI = 375,
- INTTOPTR = 376,
- PTRTOINT = 377,
- PHI_TOK = 378,
- SELECT = 379,
- VAARG = 380,
- EXTRACTELEMENT = 381,
- INSERTELEMENT = 382,
- SHUFFLEVECTOR = 383,
- NORETURN = 384,
- INREG = 385,
- SRET = 386,
- NOUNWIND = 387,
- DEFAULT = 388,
- HIDDEN = 389
- };
-#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 LABEL 269
-#define TYPE 270
-#define LOCALVAR 271
-#define GLOBALVAR 272
-#define LABELSTR 273
-#define STRINGCONSTANT 274
-#define ATSTRINGCONSTANT 275
-#define ZEROINITIALIZER 276
-#define TRUETOK 277
-#define FALSETOK 278
-#define BEGINTOK 279
-#define ENDTOK 280
-#define DECLARE 281
-#define DEFINE 282
-#define GLOBAL 283
-#define CONSTANT 284
-#define SECTION 285
-#define VOLATILE 286
-#define THREAD_LOCAL 287
-#define TO 288
-#define DOTDOTDOT 289
-#define NULL_TOK 290
-#define UNDEF 291
-#define INTERNAL 292
-#define LINKONCE 293
-#define WEAK 294
-#define APPENDING 295
-#define DLLIMPORT 296
-#define DLLEXPORT 297
-#define EXTERN_WEAK 298
-#define OPAQUE 299
-#define EXTERNAL 300
-#define TARGET 301
-#define TRIPLE 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 FASTCC_TOK 312
-#define COLDCC_TOK 313
-#define X86_STDCALLCC_TOK 314
-#define X86_FASTCALLCC_TOK 315
-#define DATALAYOUT 316
-#define RET 317
-#define BR 318
-#define SWITCH 319
-#define INVOKE 320
-#define UNWIND 321
-#define UNREACHABLE 322
-#define ADD 323
-#define SUB 324
-#define MUL 325
-#define UDIV 326
-#define SDIV 327
-#define FDIV 328
-#define UREM 329
-#define SREM 330
-#define FREM 331
-#define AND 332
-#define OR 333
-#define XOR 334
-#define SHL 335
-#define LSHR 336
-#define ASHR 337
-#define ICMP 338
-#define FCMP 339
-#define EQ 340
-#define NE 341
-#define SLT 342
-#define SGT 343
-#define SLE 344
-#define SGE 345
-#define ULT 346
-#define UGT 347
-#define ULE 348
-#define UGE 349
-#define OEQ 350
-#define ONE 351
-#define OLT 352
-#define OGT 353
-#define OLE 354
-#define OGE 355
-#define ORD 356
-#define UNO 357
-#define UEQ 358
-#define UNE 359
-#define MALLOC 360
-#define ALLOCA 361
-#define FREE 362
-#define LOAD 363
-#define STORE 364
-#define GETELEMENTPTR 365
-#define TRUNC 366
-#define ZEXT 367
-#define SEXT 368
-#define FPTRUNC 369
-#define FPEXT 370
-#define BITCAST 371
-#define UITOFP 372
-#define SITOFP 373
-#define FPTOUI 374
-#define FPTOSI 375
-#define INTTOPTR 376
-#define PTRTOINT 377
-#define PHI_TOK 378
-#define SELECT 379
-#define VAARG 380
-#define EXTRACTELEMENT 381
-#define INSERTELEMENT 382
-#define SHUFFLEVECTOR 383
-#define NORETURN 384
-#define INREG 385
-#define SRET 386
-#define NOUNWIND 387
-#define DEFAULT 388
-#define HIDDEN 389
-
-
-
-
-/* Copy the first part of user declarations. */
-#line 14 "/proj/llvm/llvm-2/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 LABEL 268
+#define TYPE 269
+#define LOCALVAR 270
+#define GLOBALVAR 271
+#define LABELSTR 272
+#define STRINGCONSTANT 273
+#define ATSTRINGCONSTANT 274
+#define ZEROINITIALIZER 275
+#define TRUETOK 276
+#define FALSETOK 277
+#define BEGINTOK 278
+#define ENDTOK 279
+#define DECLARE 280
+#define DEFINE 281
+#define GLOBAL 282
+#define CONSTANT 283
+#define SECTION 284
+#define VOLATILE 285
+#define THREAD_LOCAL 286
+#define TO 287
+#define DOTDOTDOT 288
+#define NULL_TOK 289
+#define UNDEF 290
+#define INTERNAL 291
+#define LINKONCE 292
+#define WEAK 293
+#define APPENDING 294
+#define DLLIMPORT 295
+#define DLLEXPORT 296
+#define EXTERN_WEAK 297
+#define OPAQUE 298
+#define EXTERNAL 299
+#define TARGET 300
+#define TRIPLE 301
+#define ALIGN 302
+#define DEPLIBS 303
+#define CALL 304
+#define TAIL 305
+#define ASM_TOK 306
+#define MODULE 307
+#define SIDEEFFECT 308
+#define CC_TOK 309
+#define CCC_TOK 310
+#define FASTCC_TOK 311
+#define COLDCC_TOK 312
+#define X86_STDCALLCC_TOK 313
+#define X86_FASTCALLCC_TOK 314
+#define DATALAYOUT 315
+#define RET 316
+#define BR 317
+#define SWITCH 318
+#define INVOKE 319
+#define UNWIND 320
+#define UNREACHABLE 321
+#define ADD 322
+#define SUB 323
+#define MUL 324
+#define UDIV 325
+#define SDIV 326
+#define FDIV 327
+#define UREM 328
+#define SREM 329
+#define FREM 330
+#define AND 331
+#define OR 332
+#define XOR 333
+#define SHL 334
+#define LSHR 335
+#define ASHR 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 VAARG 379
+#define EXTRACTELEMENT 380
+#define INSERTELEMENT 381
+#define SHUFFLEVECTOR 382
+#define NORETURN 383
+#define INREG 384
+#define SRET 385
+#define NOUNWIND 386
+#define DEFAULT 387
+#define HIDDEN 388
+
+#line 14 "/Users/clamb/Documents/ageia/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
#include "ParserInternals.h"
#include "llvm/CallingConv.h"
@@ -1260,28 +1068,8 @@ Module *llvm::RunVMAsmParser(const char * AsmString, Module * M) {
}
-
-/* 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)
-#line 938 "/proj/llvm/llvm-2/lib/AsmParser/llvmAsmParser.y"
-typedef union YYSTYPE {
+#line 938 "/Users/clamb/Documents/ageia/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
+typedef union {
llvm::Module *ModuleVal;
llvm::Function *FunctionVal;
llvm::BasicBlock *BasicBlockVal;
@@ -1327,1499 +1115,1068 @@ typedef union YYSTYPE {
llvm::ICmpInst::Predicate IPredicate;
llvm::FCmpInst::Predicate FPredicate;
} YYSTYPE;
-/* Line 196 of yacc.c. */
-#line 1332 "llvmAsmParser.tab.c"
-# define yystype YYSTYPE /* obsolescent; will be withdrawn */
-# define YYSTYPE_IS_DECLARED 1
-# define YYSTYPE_IS_TRIVIAL 1
-#endif
-
-
+#include <stdio.h>
-/* Copy the second part of user declarations. */
-
-
-/* Line 219 of yacc.c. */
-#line 1344 "llvmAsmParser.tab.c"
-
-#if ! defined (YYSIZE_T) && defined (__SIZE_TYPE__)
-# define YYSIZE_T __SIZE_TYPE__
-#endif
-#if ! defined (YYSIZE_T) && defined (size_t)
-# define YYSIZE_T size_t
+#ifndef __cplusplus
+#ifndef __STDC__
+#define const
#endif
-#if ! defined (YYSIZE_T) && (defined (__STDC__) || defined (__cplusplus))
-# include <stddef.h> /* INFRINGES ON USER NAME SPACE */
-# define YYSIZE_T size_t
-#endif
-#if ! defined (YYSIZE_T)
-# define YYSIZE_T unsigned int
-#endif
-
-#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
-#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
-# else
-# define YYSTACK_ALLOC alloca
-# if defined (__STDC__) || defined (__cplusplus)
-# include <stdlib.h> /* INFRINGES ON USER NAME SPACE */
-# define YYINCLUDED_STDLIB_H
-# endif
-# endif
-# endif
-# endif
-
-# ifdef YYSTACK_ALLOC
- /* Pacify GCC's `empty if-body' warning. */
-# define YYSTACK_FREE(Ptr) do { /* empty */; } while (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 2005 */
-# endif
-# else
-# define YYSTACK_ALLOC YYMALLOC
-# define YYSTACK_FREE YYFREE
-# ifndef YYSTACK_ALLOC_MAXIMUM
-# define YYSTACK_ALLOC_MAXIMUM ((YYSIZE_T) -1)
-# endif
-# ifdef __cplusplus
-extern "C" {
-# endif
-# ifndef YYMALLOC
-# define YYMALLOC malloc
-# if (! defined (malloc) && ! defined (YYINCLUDED_STDLIB_H) \
- && (defined (__STDC__) || defined (__cplusplus)))
-void *malloc (YYSIZE_T); /* INFRINGES ON USER NAME SPACE */
-# endif
-# endif
-# ifndef YYFREE
-# define YYFREE free
-# if (! defined (free) && ! defined (YYINCLUDED_STDLIB_H) \
- && (defined (__STDC__) || defined (__cplusplus)))
-void free (void *); /* INFRINGES ON USER NAME SPACE */
-# endif
-# endif
-# ifdef __cplusplus
-}
-# endif
-# endif
-#endif /* ! defined (yyoverflow) || YYERROR_VERBOSE */
-#if (! defined (yyoverflow) \
- && (! defined (__cplusplus) \
- || (defined (YYSTYPE_IS_TRIVIAL) && YYSTYPE_IS_TRIVIAL)))
+#define YYFINAL 565
+#define YYFLAG -32768
+#define YYNTBASE 149
+
+#define YYTRANSLATE(x) ((unsigned)(x) <= 388 ? yytranslate[x] : 227)
+
+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, 139,
+ 140, 137, 2, 136, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 144,
+ 135, 145, 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,
+ 141, 138, 143, 2, 2, 2, 2, 2, 148, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 142,
+ 2, 2, 146, 2, 147, 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
+};
-/* A type that is properly aligned for any stack member. */
-union yyalloc
-{
- short int yyss;
- YYSTYPE yyvs;
- };
+#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,
+ 119, 122, 123, 125, 127, 130, 131, 133, 135, 137,
+ 139, 141, 143, 145, 147, 148, 150, 151, 153, 155,
+ 156, 158, 160, 162, 164, 165, 167, 169, 171, 173,
+ 175, 178, 180, 182, 184, 186, 187, 190, 192, 194,
+ 196, 197, 200, 201, 204, 205, 209, 212, 213, 215,
+ 216, 220, 222, 225, 227, 229, 231, 233, 235, 237,
+ 240, 242, 245, 251, 257, 263, 269, 273, 276, 282,
+ 287, 290, 292, 294, 296, 300, 302, 306, 308, 309,
+ 311, 315, 320, 324, 328, 333, 338, 342, 349, 355,
+ 358, 361, 364, 367, 370, 373, 376, 379, 382, 385,
+ 388, 391, 398, 404, 413, 420, 427, 435, 443, 450,
+ 459, 468, 472, 474, 476, 478, 480, 481, 483, 484,
+ 486, 489, 490, 494, 495, 499, 503, 507, 511, 512,
+ 520, 521, 530, 531, 540, 543, 547, 549, 553, 557,
+ 561, 565, 567, 568, 574, 578, 580, 584, 586, 587,
+ 597, 599, 601, 606, 608, 610, 613, 617, 618, 620,
+ 622, 624, 626, 628, 630, 632, 634, 636, 640, 642,
+ 648, 650, 652, 654, 656, 658, 660, 663, 666, 669,
+ 673, 676, 677, 679, 682, 685, 689, 699, 709, 718,
+ 733, 735, 737, 744, 750, 753, 760, 768, 772, 778,
+ 779, 780, 784, 787, 789, 795, 801, 808, 815, 820,
+ 827, 832, 837, 844, 851, 854, 863, 865, 867, 868,
+ 872, 879, 883, 890, 893, 899, 907
+};
-/* 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 (short int) + 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 (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 (0)
+static const short yyrhs[] = { 68,
+ 0, 69, 0, 70, 0, 71, 0, 72, 0, 73,
+ 0, 74, 0, 75, 0, 76, 0, 80, 0, 81,
+ 0, 82, 0, 77, 0, 78, 0, 79, 0, 111,
+ 0, 112, 0, 113, 0, 114, 0, 115, 0, 116,
+ 0, 117, 0, 118, 0, 119, 0, 120, 0, 121,
+ 0, 122, 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, 104, 0, 91, 0, 92, 0, 93, 0, 94,
+ 0, 22, 0, 23, 0, 11, 0, 12, 0, 13,
+ 0, 16, 0, 19, 0, 156, 0, 0, 156, 135,
+ 0, 0, 17, 0, 20, 0, 159, 135, 0, 0,
+ 37, 0, 39, 0, 38, 0, 40, 0, 42, 0,
+ 41, 0, 43, 0, 45, 0, 0, 134, 0, 0,
+ 41, 0, 43, 0, 0, 37, 0, 38, 0, 39,
+ 0, 42, 0, 0, 56, 0, 57, 0, 58, 0,
+ 59, 0, 60, 0, 55, 4, 0, 112, 0, 113,
+ 0, 130, 0, 131, 0, 0, 168, 167, 0, 129,
+ 0, 132, 0, 167, 0, 0, 170, 169, 0, 0,
+ 48, 4, 0, 0, 136, 48, 4, 0, 30, 19,
+ 0, 0, 173, 0, 0, 136, 176, 175, 0, 173,
+ 0, 48, 4, 0, 11, 0, 12, 0, 13, 0,
+ 14, 0, 44, 0, 177, 0, 178, 137, 0, 211,
+ 0, 138, 4, 0, 178, 139, 182, 140, 170, 0,
+ 10, 139, 182, 140, 170, 0, 141, 4, 142, 178,
+ 143, 0, 144, 4, 142, 178, 145, 0, 146, 183,
+ 147, 0, 146, 147, 0, 144, 146, 183, 147, 145,
+ 0, 144, 146, 147, 145, 0, 178, 168, 0, 178,
+ 0, 10, 0, 179, 0, 181, 136, 179, 0, 181,
+ 0, 181, 136, 34, 0, 34, 0, 0, 178, 0,
+ 183, 136, 178, 0, 178, 141, 186, 143, 0, 178,
+ 141, 143, 0, 178, 148, 19, 0, 178, 144, 186,
+ 145, 0, 178, 146, 186, 147, 0, 178, 146, 147,
+ 0, 178, 144, 146, 186, 147, 145, 0, 178, 144,
+ 146, 147, 145, 0, 178, 35, 0, 178, 36, 0,
+ 178, 211, 0, 178, 185, 0, 178, 21, 0, 154,
+ 3, 0, 154, 5, 0, 154, 4, 0, 154, 6,
+ 0, 11, 22, 0, 11, 23, 0, 155, 9, 0,
+ 151, 139, 184, 33, 178, 140, 0, 110, 139, 184,
+ 222, 140, 0, 124, 139, 184, 136, 184, 136, 184,
+ 140, 0, 149, 139, 184, 136, 184, 140, 0, 150,
+ 139, 184, 136, 184, 140, 0, 83, 152, 139, 184,
+ 136, 184, 140, 0, 84, 153, 139, 184, 136, 184,
+ 140, 0, 126, 139, 184, 136, 184, 140, 0, 127,
+ 139, 184, 136, 184, 136, 184, 140, 0, 128, 139,
+ 184, 136, 184, 136, 184, 140, 0, 186, 136, 184,
+ 0, 184, 0, 28, 0, 29, 0, 32, 0, 0,
+ 190, 0, 0, 191, 0, 190, 191, 0, 0, 27,
+ 192, 207, 0, 0, 26, 193, 208, 0, 53, 52,
+ 197, 0, 158, 15, 178, 0, 158, 15, 10, 0,
+ 0, 160, 163, 188, 187, 184, 194, 175, 0, 0,
+ 160, 161, 163, 188, 187, 184, 195, 175, 0, 0,
+ 160, 162, 163, 188, 187, 178, 196, 175, 0, 46,
+ 198, 0, 49, 135, 199, 0, 19, 0, 47, 135,
+ 19, 0, 61, 135, 19, 0, 141, 200, 143, 0,
+ 200, 136, 19, 0, 19, 0, 0, 201, 136, 178,
+ 168, 157, 0, 178, 168, 157, 0, 201, 0, 201,
+ 136, 34, 0, 34, 0, 0, 166, 180, 159, 139,
+ 202, 140, 170, 174, 171, 0, 24, 0, 146, 0,
+ 165, 163, 203, 204, 0, 25, 0, 147, 0, 214,
+ 206, 0, 164, 163, 203, 0, 0, 54, 0, 3,
+ 0, 4, 0, 9, 0, 22, 0, 23, 0, 35,
+ 0, 36, 0, 21, 0, 144, 186, 145, 0, 185,
+ 0, 52, 209, 19, 136, 19, 0, 7, 0, 8,
+ 0, 156, 0, 159, 0, 211, 0, 210, 0, 178,
+ 212, 0, 214, 215, 0, 205, 215, 0, 216, 158,
+ 217, 0, 216, 219, 0, 0, 18, 0, 62, 213,
+ 0, 62, 10, 0, 63, 14, 212, 0, 63, 11,
+ 212, 136, 14, 212, 136, 14, 212, 0, 64, 154,
+ 212, 136, 14, 212, 141, 218, 143, 0, 64, 154,
+ 212, 136, 14, 212, 141, 143, 0, 65, 166, 180,
+ 212, 139, 221, 140, 170, 33, 14, 212, 66, 14,
+ 212, 0, 66, 0, 67, 0, 218, 154, 210, 136,
+ 14, 212, 0, 154, 210, 136, 14, 212, 0, 158,
+ 224, 0, 178, 141, 212, 136, 212, 143, 0, 220,
+ 136, 141, 212, 136, 212, 143, 0, 178, 212, 168,
+ 0, 221, 136, 178, 212, 168, 0, 0, 0, 222,
+ 136, 213, 0, 51, 50, 0, 50, 0, 149, 178,
+ 212, 136, 212, 0, 150, 178, 212, 136, 212, 0,
+ 83, 152, 178, 212, 136, 212, 0, 84, 153, 178,
+ 212, 136, 212, 0, 151, 213, 33, 178, 0, 124,
+ 213, 136, 213, 136, 213, 0, 125, 213, 136, 178,
+ 0, 126, 213, 136, 213, 0, 127, 213, 136, 213,
+ 136, 213, 0, 128, 213, 136, 213, 136, 213, 0,
+ 123, 220, 0, 223, 166, 180, 212, 139, 221, 140,
+ 170, 0, 226, 0, 31, 0, 0, 105, 178, 172,
+ 0, 105, 178, 136, 11, 212, 172, 0, 106, 178,
+ 172, 0, 106, 178, 136, 11, 212, 172, 0, 107,
+ 213, 0, 225, 108, 178, 212, 172, 0, 225, 109,
+ 213, 136, 178, 212, 172, 0, 110, 178, 212, 222,
+ 0
+};
#endif
-#if defined (__STDC__) || defined (__cplusplus)
- typedef signed char yysigned_char;
-#else
- typedef short int yysigned_char;
+#if YYDEBUG != 0
+static const short yyrline[] = { 0,
+ 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1094,
+ 1094, 1094, 1094, 1094, 1094, 1095, 1095, 1095, 1095, 1095,
+ 1095, 1095, 1096, 1096, 1096, 1096, 1096, 1099, 1099, 1100,
+ 1100, 1101, 1101, 1102, 1102, 1103, 1103, 1107, 1107, 1108,
+ 1108, 1109, 1109, 1110, 1110, 1111, 1111, 1112, 1112, 1113,
+ 1113, 1114, 1115, 1120, 1121, 1121, 1123, 1123, 1124, 1124,
+ 1128, 1132, 1137, 1137, 1139, 1143, 1149, 1150, 1151, 1152,
+ 1153, 1157, 1158, 1159, 1163, 1164, 1168, 1169, 1170, 1174,
+ 1175, 1176, 1177, 1178, 1181, 1181, 1182, 1183, 1184, 1185,
+ 1186, 1194, 1195, 1196, 1197, 1200, 1201, 1206, 1207, 1208,
+ 1211, 1212, 1219, 1219, 1226, 1226, 1235, 1243, 1243, 1249,
+ 1249, 1251, 1256, 1269, 1269, 1269, 1269, 1272, 1276, 1280,
+ 1287, 1292, 1300, 1326, 1353, 1358, 1370, 1380, 1384, 1394,
+ 1401, 1408, 1415, 1420, 1425, 1432, 1433, 1440, 1447, 1455,
+ 1461, 1473, 1501, 1517, 1546, 1574, 1599, 1618, 1644, 1664,
+ 1676, 1683, 1749, 1759, 1769, 1775, 1785, 1791, 1801, 1806,
+ 1811, 1819, 1831, 1853, 1861, 1867, 1878, 1883, 1888, 1894,
+ 1900, 1909, 1913, 1921, 1921, 1924, 1924, 1935, 1940, 1948,
+ 1949, 1953, 1953, 1957, 1957, 1960, 1963, 1987, 1998, 2005,
+ 2008, 2013, 2016, 2022, 2026, 2029, 2035, 2048, 2052, 2057,
+ 2059, 2064, 2069, 2078, 2088, 2099, 2103, 2112, 2121, 2126,
+ 2245, 2245, 2247, 2256, 2256, 2258, 2263, 2275, 2279, 2284,
+ 2288, 2292, 2296, 2300, 2304, 2308, 2312, 2316, 2341, 2345,
+ 2359, 2363, 2367, 2371, 2377, 2377, 2383, 2392, 2396, 2405,
+ 2414, 2423, 2427, 2432, 2436, 2440, 2445, 2455, 2474, 2483,
+ 2559, 2563, 2570, 2581, 2594, 2604, 2615, 2625, 2634, 2643,
+ 2646, 2647, 2654, 2658, 2663, 2684, 2701, 2715, 2729, 2741,
+ 2749, 2756, 2762, 2768, 2774, 2789, 2870, 2875, 2879, 2886,
+ 2893, 2901, 2908, 2916, 2924, 2938, 2955
+};
#endif
-/* YYFINAL -- State number of the termination state. */
-#define YYFINAL 39
-/* YYLAST -- Last index in YYTABLE. */
-#define YYLAST 1317
-
-/* YYNTOKENS -- Number of terminals. */
-#define YYNTOKENS 149
-/* YYNNTS -- Number of nonterminals. */
-#define YYNNTS 79
-/* YYNRULES -- Number of rules. */
-#define YYNRULES 288
-/* YYNRULES -- Number of states. */
-#define YYNSTATES 563
-
-/* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX. */
-#define YYUNDEFTOK 2
-#define YYMAXUTOK 389
-
-#define YYTRANSLATE(YYX) \
- ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK)
-
-/* YYTRANSLATE[YYLEX] -- Bison symbol number corresponding to YYLEX. */
-static const unsigned char 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,
- 139, 140, 137, 2, 136, 2, 2, 2, 2, 2,
- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 144, 135, 145, 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, 141, 138, 143, 2, 2, 2, 2, 2, 148,
- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 142, 2, 2, 146, 2, 147, 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, 2, 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
-};
-#if YYDEBUG
-/* YYPRHS[YYN] -- Index of the first RHS symbol of rule number YYN in
- YYRHS. */
-static const unsigned short int yyprhs[] =
-{
- 0, 0, 3, 5, 7, 9, 11, 13, 15, 17,
- 19, 21, 23, 25, 27, 29, 31, 33, 35, 37,
- 39, 41, 43, 45, 47, 49, 51, 53, 55, 57,
- 59, 61, 63, 65, 67, 69, 71, 73, 75, 77,
- 79, 81, 83, 85, 87, 89, 91, 93, 95, 97,
- 99, 101, 103, 105, 107, 109, 111, 113, 115, 117,
- 119, 121, 122, 125, 126, 128, 130, 133, 134, 136,
- 138, 140, 142, 144, 146, 148, 150, 151, 153, 154,
- 156, 158, 159, 161, 163, 165, 167, 168, 170, 172,
-