diff options
author | Christopher Lamb <christopher.lamb@gmail.com> | 2007-04-21 08:16:25 +0000 |
---|---|---|
committer | Christopher Lamb <christopher.lamb@gmail.com> | 2007-04-21 08:16:25 +0000 |
commit | 2330e4d4c4f8008d17f5a38ac0d7b04e139d4131 (patch) | |
tree | 50e224364619b5ef673361d3c9535b97f75473a1 /lib/AsmParser/llvmAsmParser.cpp.cvs | |
parent | 1b7f584fd81b4c0df42e06be79af7d7401d3b01d (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.cvs | 7116 |
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, - |