diff options
author | Reid Spencer <rspencer@reidspencer.com> | 2006-11-30 06:36:44 +0000 |
---|---|---|
committer | Reid Spencer <rspencer@reidspencer.com> | 2006-11-30 06:36:44 +0000 |
commit | e7c3c60d8680b4733c15ca1265275bab939726bf (patch) | |
tree | 6364bb6e75737a59e128da662214da2a657cefb8 /tools/llvm-upgrade/UpgradeParser.cpp.cvs | |
parent | 20833e33fd1bad88f44d0d803b2e2b88f4861b27 (diff) |
Initial, non-functional, version of llvm-upgrade. This version just echos
its input. Committed for safekeeping purposes. Don't use this yet.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32030 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'tools/llvm-upgrade/UpgradeParser.cpp.cvs')
-rw-r--r-- | tools/llvm-upgrade/UpgradeParser.cpp.cvs | 3489 |
1 files changed, 3489 insertions, 0 deletions
diff --git a/tools/llvm-upgrade/UpgradeParser.cpp.cvs b/tools/llvm-upgrade/UpgradeParser.cpp.cvs new file mode 100644 index 0000000000..30393d7e74 --- /dev/null +++ b/tools/llvm-upgrade/UpgradeParser.cpp.cvs @@ -0,0 +1,3489 @@ +/* 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. + + 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. */ + +/* 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 Upgradeparse +#define yylex Upgradelex +#define yyerror Upgradeerror +#define yylval Upgradelval +#define yychar Upgradechar +#define yydebug Upgradedebug +#define yynerrs Upgradenerrs + + +/* 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, + SBYTE = 265, + UBYTE = 266, + SHORT = 267, + USHORT = 268, + INT = 269, + UINT = 270, + LONG = 271, + ULONG = 272, + FLOAT = 273, + DOUBLE = 274, + TYPE = 275, + LABEL = 276, + VAR_ID = 277, + LABELSTR = 278, + STRINGCONSTANT = 279, + IMPLEMENTATION = 280, + ZEROINITIALIZER = 281, + TRUETOK = 282, + FALSETOK = 283, + BEGINTOK = 284, + ENDTOK = 285, + DECLARE = 286, + GLOBAL = 287, + CONSTANT = 288, + SECTION = 289, + VOLATILE = 290, + TO = 291, + DOTDOTDOT = 292, + NULL_TOK = 293, + UNDEF = 294, + CONST = 295, + INTERNAL = 296, + LINKONCE = 297, + WEAK = 298, + APPENDING = 299, + DLLIMPORT = 300, + DLLEXPORT = 301, + EXTERN_WEAK = 302, + OPAQUE = 303, + NOT = 304, + EXTERNAL = 305, + TARGET = 306, + TRIPLE = 307, + ENDIAN = 308, + POINTERSIZE = 309, + LITTLE = 310, + BIG = 311, + ALIGN = 312, + DEPLIBS = 313, + CALL = 314, + TAIL = 315, + ASM_TOK = 316, + MODULE = 317, + SIDEEFFECT = 318, + CC_TOK = 319, + CCC_TOK = 320, + CSRETCC_TOK = 321, + FASTCC_TOK = 322, + COLDCC_TOK = 323, + X86_STDCALLCC_TOK = 324, + X86_FASTCALLCC_TOK = 325, + DATALAYOUT = 326, + RET = 327, + BR = 328, + SWITCH = 329, + INVOKE = 330, + UNWIND = 331, + UNREACHABLE = 332, + ADD = 333, + SUB = 334, + MUL = 335, + UDIV = 336, + SDIV = 337, + FDIV = 338, + UREM = 339, + SREM = 340, + FREM = 341, + AND = 342, + OR = 343, + XOR = 344, + SETLE = 345, + SETGE = 346, + SETLT = 347, + SETGT = 348, + SETEQ = 349, + SETNE = 350, + MALLOC = 351, + ALLOCA = 352, + FREE = 353, + LOAD = 354, + STORE = 355, + GETELEMENTPTR = 356, + TRUNC = 357, + ZEXT = 358, + SEXT = 359, + FPTRUNC = 360, + FPEXT = 361, + BITCAST = 362, + UITOFP = 363, + SITOFP = 364, + FPTOUI = 365, + FPTOSI = 366, + INTTOPTR = 367, + PTRTOINT = 368, + PHI_TOK = 369, + SELECT = 370, + SHL = 371, + LSHR = 372, + ASHR = 373, + VAARG = 374, + EXTRACTELEMENT = 375, + INSERTELEMENT = 376, + SHUFFLEVECTOR = 377, + CAST = 378 + }; +#endif +/* Tokens. */ +#define ESINT64VAL 258 +#define EUINT64VAL 259 +#define SINTVAL 260 +#define UINTVAL 261 +#define FPVAL 262 +#define VOID 263 +#define BOOL 264 +#define SBYTE 265 +#define UBYTE 266 +#define SHORT 267 +#define USHORT 268 +#define INT 269 +#define UINT 270 +#define LONG 271 +#define ULONG 272 +#define FLOAT 273 +#define DOUBLE 274 +#define TYPE 275 +#define LABEL 276 +#define VAR_ID 277 +#define LABELSTR 278 +#define STRINGCONSTANT 279 +#define IMPLEMENTATION 280 +#define ZEROINITIALIZER 281 +#define TRUETOK 282 +#define FALSETOK 283 +#define BEGINTOK 284 +#define ENDTOK 285 +#define DECLARE 286 +#define GLOBAL 287 +#define CONSTANT 288 +#define SECTION 289 +#define VOLATILE 290 +#define TO 291 +#define DOTDOTDOT 292 +#define NULL_TOK 293 +#define UNDEF 294 +#define CONST 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 NOT 304 +#define EXTERNAL 305 +#define TARGET 306 +#define TRIPLE 307 +#define ENDIAN 308 +#define POINTERSIZE 309 +#define LITTLE 310 +#define BIG 311 +#define ALIGN 312 +#define DEPLIBS 313 +#define CALL 314 +#define TAIL 315 +#define ASM_TOK 316 +#define MODULE 317 +#define SIDEEFFECT 318 +#define CC_TOK 319 +#define CCC_TOK 320 +#define CSRETCC_TOK 321 +#define FASTCC_TOK 322 +#define COLDCC_TOK 323 +#define X86_STDCALLCC_TOK 324 +#define X86_FASTCALLCC_TOK 325 +#define DATALAYOUT 326 +#define RET 327 +#define BR 328 +#define SWITCH 329 +#define INVOKE 330 +#define UNWIND 331 +#define UNREACHABLE 332 +#define ADD 333 +#define SUB 334 +#define MUL 335 +#define UDIV 336 +#define SDIV 337 +#define FDIV 338 +#define UREM 339 +#define SREM 340 +#define FREM 341 +#define AND 342 +#define OR 343 +#define XOR 344 +#define SETLE 345 +#define SETGE 346 +#define SETLT 347 +#define SETGT 348 +#define SETEQ 349 +#define SETNE 350 +#define MALLOC 351 +#define ALLOCA 352 +#define FREE 353 +#define LOAD 354 +#define STORE 355 +#define GETELEMENTPTR 356 +#define TRUNC 357 +#define ZEXT 358 +#define SEXT 359 +#define FPTRUNC 360 +#define FPEXT 361 +#define BITCAST 362 +#define UITOFP 363 +#define SITOFP 364 +#define FPTOUI 365 +#define FPTOSI 366 +#define INTTOPTR 367 +#define PTRTOINT 368 +#define PHI_TOK 369 +#define SELECT 370 +#define SHL 371 +#define LSHR 372 +#define ASHR 373 +#define VAARG 374 +#define EXTRACTELEMENT 375 +#define INSERTELEMENT 376 +#define SHUFFLEVECTOR 377 +#define CAST 378 + + + + +/* Copy the first part of user declarations. */ +#line 14 "/proj/llvm/llvm-4/tools/llvm-upgrade/UpgradeParser.y" + +#define YYERROR_VERBOSE 1 +#define YYSTYPE std::string* + +#include "ParserInternals.h" +#include <llvm/ADT/StringExtras.h> +#include <llvm/System/MappedFile.h> +#include <algorithm> +#include <list> +#include <utility> +#include <iostream> + + +int yylex(); // declaration" of xxx warnings. +int yyparse(); + +static std::string CurFilename; + +static std::ostream *O = 0; + +void UpgradeAssembly(const std::string &infile, std::ostream &out) +{ + Upgradelineno = 1; + CurFilename = infile; + llvm::sys::Path p(infile); + llvm::sys::MappedFile mf; + mf.open(p); + mf.map(); + const char* base = mf.charBase(); + size_t sz = mf.size(); + + set_scan_bytes(base, sz); + + O = &out; + + if (yyparse()) { + std::cerr << "Parse failed.\n"; + exit(1); + } +} + + + +/* 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 int 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. */ + + +/* Line 219 of yacc.c. */ +#line 393 "UpgradeParser.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 +#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))) + +/* A type that is properly aligned for any stack member. */ +union yyalloc +{ + short int 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 (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) + +#endif + +#if defined (__STDC__) || defined (__cplusplus) + typedef signed char yysigned_char; +#else + typedef short int yysigned_char; +#endif + +/* YYFINAL -- State number of the termination state. */ +#define YYFINAL 4 +/* YYLAST -- Last index in YYTABLE. */ +#define YYLAST 1246 + +/* YYNTOKENS -- Number of terminals. */ +#define YYNTOKENS 138 +/* YYNNTS -- Number of nonterminals. */ +#define YYNNTS 71 +/* YYNRULES -- Number of rules. */ +#define YYNRULES 251 +/* YYNRULES -- Number of states. */ +#define YYNSTATES 510 + +/* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX. */ +#define YYUNDEFTOK 2 +#define YYMAXUTOK 378 + +#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, + 127, 128, 136, 2, 125, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 132, 124, 133, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 129, 126, 131, 2, 2, 2, 2, 2, 137, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 130, 2, 2, 134, 2, 135, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 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 +}; + +#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, 82, 83, 85, 87, 89, 91, 93, 95, 97, + 98, 100, 102, 104, 106, 108, 110, 113, 114, 115, + 118, 119, 123, 126, 127, 129, 130, 134, 136, 139, + 141, 143, 145, 147, 149, 151, 153, 155, 157, 159, + 161, 163, 165, 167, 169, 171, 173, 175, 177, 179, + 181, 184, 189, 195, 201, 205, 208, 211, 213, 217, + 219, 223, 225, 226, 231, 235, 239, 244, 249, 253, + 256, 259, 262, 265, 268, 271, 274, 277, 280, 283, + 290, 296, 305, 312, 319, 326, 333, 340, 349, 358, + 362, 364, 366, 368, 370, 373, 376, 381, 384, 386, + 391, 394, 399, 406, 413, 420, 427, 431, 436, 437, + 439, 441, 443, 447, 451, 455, 459, 463, 467, 469, + 470, 472, 474, 476, 477, 480, 484, 486, 488, 492, + 494, 495, 504, 506, 508, 512, 514, 516, 520, 521, + 523, 525, 529, 530, 532, 534, 536, 538, 540, 542, + 544, 546, 548, 552, 554, 560, 562, 564, 566, 568, + 571, 574, 576, 580, 583, 584, 586, 589, 592, 596, + 606, 616, 625, 639, 641, 643, 650, 656, 659, 666, + 674, 676, 680, 682, 683, 686, 688, 694, 700, 706, + 709, 714, 719, 726, 731, 736, 743, 750, 753, 761, + 763, 766, 767, 769, 770, 774, 781, 785, 792, 795, + 800, 807 +}; + +/* YYRHS -- A `-1'-separated list of the rules' RHS. */ +static const short int yyrhs[] = +{ + 170, 0, -1, 5, -1, 6, -1, 3, -1, 4, + -1, 78, -1, 79, -1, 80, -1, 81, -1, 82, + -1, 83, -1, 84, -1, 85, -1, 86, -1, 87, + -1, 88, -1, 89, -1, 90, -1, 91, -1, 92, + -1, 93, -1, 94, -1, 95, -1, 123, -1, 116, + -1, 117, -1, 118, -1, 16, -1, 14, -1, 12, + -1, 10, -1, 17, -1, 15, -1, 13, -1, 11, + -1, 146, -1, 147, -1, 18, -1, 19, -1, 178, + 124, -1, -1, 41, -1, 42, -1, 43, -1, 44, + -1, 45, -1, 46, -1, 47, -1, -1, 65, -1, + 66, -1, 67, -1, 68, -1, 69, -1, 70, -1, + 64, 4, -1, -1, -1, 57, 4, -1, -1, 125, + 57, 4, -1, 34, 24, -1, -1, 155, -1, -1, + 125, 158, 157, -1, 155, -1, 57, 4, -1, 161, + -1, 8, -1, 163, -1, 8, -1, 163, -1, 9, + -1, 10, -1, 11, -1, 12, -1, 13, -1, 14, + -1, 15, -1, 16, -1, 17, -1, 18, -1, 19, + -1, 20, -1, 21, -1, 48, -1, 162, -1, 192, + -1, 126, 4, -1, 160, 127, 165, 128, -1, 129, + 4, 130, 163, 131, -1, 132, 4, 130, 163, 133, + -1, 134, 164, 135, -1, 134, 135, -1, 163, 136, + -1, 163, -1, 164, 125, 163, -1, 164, -1, 164, + 125, 37, -1, 37, -1, -1, 161, 129, 168, 131, + -1, 161, 129, 131, -1, 161, 137, 24, -1, 161, + 132, 168, 133, -1, 161, 134, 168, 135, -1, 161, + 134, 135, -1, 161, 38, -1, 161, 39, -1, 161, + 192, -1, 161, 167, -1, 161, 26, -1, 146, 140, + -1, 147, 4, -1, 9, 27, -1, 9, 28, -1, + 149, 7, -1, 144, 127, 166, 36, 161, 128, -1, + 101, 127, 166, 206, 128, -1, 115, 127, 166, 125, + 166, 125, 166, 128, -1, 141, 127, 166, 125, 166, + 128, -1, 142, 127, 166, 125, 166, 128, -1, 143, + 127, 166, 125, 166, 128, -1, 145, 127, 166, 125, + 166, 128, -1, 120, 127, 166, 125, 166, 128, -1, + 121, 127, 166, 125, 166, 125, 166, 128, -1, 122, + 127, 166, 125, 166, 125, 166, 128, -1, 168, 125, + 166, -1, 166, -1, 32, -1, 33, -1, 171, -1, + 171, 187, -1, 171, 189, -1, 171, 62, 61, 173, + -1, 171, 25, -1, 172, -1, 172, 150, 20, 159, + -1, 172, 189, -1, 172, 62, 61, 173, -1, 172, + 150, 151, 169, 166, 157, -1, 172, 150, 50, 169, + 161, 157, -1, 172, 150, 45, 169, 161, 157, -1, + 172, 150, 47, 169, 161, 157, -1, 172, 51, 175, + -1, 172, 58, 124, 176, -1, -1, 24, -1, 56, + -1, 55, -1, 53, 124, 174, -1, 54, 124, 4, + -1, 52, 124, 24, -1, 71, 124, 24, -1, 129, + 177, 131, -1, 177, 125, 24, -1, 24, -1, -1, + 22, -1, 24, -1, 178, -1, -1, 161, 179, -1, + 181, 125, 180, -1, 180, -1, 181, -1, 181, 125, + 37, -1, 37, -1, -1, 152, 159, 178, 127, 182, + 128, 156, 153, -1, 29, -1, 134, -1, 151, 183, + 184, -1, 30, -1, 135, -1, 185, 195, 186, -1, + -1, 45, -1, 47, -1, 31, 188, 183, -1, -1, + 63, -1, 3, -1, 4, -1, 7, -1, 27, -1, + 28, -1, 38, -1, 39, -1, 26, -1, 132, 168, + 133, -1, 167, -1, 61, 190, 24, 125, 24, -1, + 139, -1, 178, -1, 192, -1, 191, -1, 161, 193, + -1, 195, 196, -1, 196, -1, 197, 150, 198, -1, + 197, 200, -1, -1, 23, -1, 72, 194, -1, 72, + 8, -1, 73, 21, 193, -1, 73, 9, 193, 125, + 21, 193, 125, 21, 193, -1, 74, 148, 193, 125, + 21, 193, 129, 199, 131, -1, 74, 148, 193, 125, + 21, 193, 129, 131, -1, 75, 152, 159, 193, 127, + 203, 128, 36, 21, 193, 76, 21, 193, -1, 76, + -1, 77, -1, 199, 148, 191, 125, 21, 193, -1, + 148, 191, 125, 21, 193, -1, 150, 205, -1, 161, + 129, 193, 125, 193, 131, -1, 201, 125, 129, 193, + 125, 193, 131, -1, 194, -1, 202, 125, 194, -1, + 202, -1, -1, 60, 59, -1, 59, -1, 141, 161, + 193, 125, 193, -1, 142, 161, 193, 125, 193, -1, + 143, 161, 193, 125, 193, -1, 49, 194, -1, 145, + 194, 125, 194, -1, 144, 194, 36, 161, -1, 115, + 194, 125, 194, 125, 194, -1, 119, 194, 125, 161, + -1, 120, 194, 125, 194, -1, 121, 194, 125, 194, + 125, 194, -1, 122, 194, 125, 194, 125, 194, -1, + 114, 201, -1, 204, 152, 159, 193, 127, 203, 128, + -1, 208, -1, 125, 202, -1, -1, 35, -1, -1, + 96, 161, 154, -1, 96, 161, 125, 15, 193, 154, + -1, 97, 161, 154, -1, 97, 161, 125, 15, 193, + 154, -1, 98, 194, -1, 207, 99, 161, 193, -1, + 207, 100, 194, 125, 161, 193, -1, 101, 161, 193, + 206, -1 +}; + +/* YYRLINE[YYN] -- source line where rule number YYN was defined. */ +static const unsigned short int yyrline[] = +{ + 0, 89, 89, 89, 90, 90, 94, 94, 94, 94, + 94, 94, 94, 94, 94, 95, 95, 95, 96, 96, + 96, 96, 96, 96, 97, 98, 98, 98, 102, 102, + 102, 102, 103, 103, 103, 103, 104, 104, 105, 105, + 108, 112, 117, 117, 117, 117, 117, 117, 118, 119, + 122, 122, 122, 122, 122, 123, 123, 124, 129, 130, + 133, 134, 142, 148, 149, 152, 153, 162, 163, 176, + 176, 177, 177, 178, 182, 182, 182, 182, 182, 182, + 182, 183, 183, 183, 183, 183, 183, 184, 184, 184, + 188, 192, 197, 203, 209, 214, 217, 225, 225, 232, + 233, 238, 241, 251, 256, 259, 264, 269, 274, 277, + 282, 287, 292, 297, 303, 308, 313, 318, 323, 330, + 335, 337, 339, 341, 343, 345, 347, 349, 351, 356, + 358, 363, 363, 373, 378, 381, 386, 389, 392, 396, + 401, 406, 411, 416, 421, 426, 431, 436, 441, 446, + 448, 448, 451, 456, 461, 466, 473, 480, 485, 486, + 494, 494, 495, 495, 497, 503, 506, 510, 513, 517, + 520, 524, 539, 542, 546, 555, 556, 558, 564, 565, + 566, 570, 580, 582, 585, 585, 585, 585, 585, 586, + 586, 586, 587, 592, 593, 602, 602, 605, 605, 611, + 617, 619, 626, 630, 635, 638, 644, 649, 654, 659, + 665, 671, 677, 686, 691, 697, 702, 709, 716, 721, + 729, 730, 738, 739, 743, 748, 751, 756, 761, 766, + 771, 776, 781, 786, 791, 796, 801, 806, 811, 820, + 825, 829, 833, 834, 837, 844, 851, 858, 865, 870, + 877, 884 +}; +#endif + +#if YYDEBUG || YYERROR_VERBOSE || YYTOKEN_TABLE +/* YYTNAME[SYMBOL-NUM] -- String name of the symbol SYMBOL-NUM. + First, the terminals, then, starting at YYNTOKENS, nonterminals. */ +static const char *const yytname[] = +{ + "$end", "error", "$undefined", "ESINT64VAL", "EUINT64VAL", "SINTVAL", + "UINTVAL", "FPVAL", "VOID", "BOOL", "SBYTE", "UBYTE", "SHORT", "USHORT", + "INT", "UINT", "LONG", "ULONG", "FLOAT", "DOUBLE", "TYPE", "LABEL", + "VAR_ID", "LABELSTR", "STRINGCONSTANT", "IMPLEMENTATION", + "ZEROINITIALIZER", "TRUETOK", "FALSETOK", "BEGINTOK", "ENDTOK", + "DECLARE", "GLOBAL", "CONSTANT", "SECTION", "VOLATILE", "TO", + "DOTDOTDOT", "NULL_TOK", "UNDEF", "CONST", "INTERNAL", "LINKONCE", + "WEAK", "APPENDING", "DLLIMPORT", "DLLEXPORT", "EXTERN_WEAK", "OPAQUE", + "NOT", "EXTERNAL", "TARGET", "TRIPLE", "ENDIAN", "POINTERSIZE", "LITTLE", + "BIG", "ALIGN", "DEPLIBS", "CALL", "TAIL", "ASM_TOK", "MODULE", + "SIDEEFFECT", "CC_TOK", "CCC_TOK", "CSRETCC_TOK", "FASTCC_TOK", + "COLDCC_TOK", "X86_STDCALLCC_TOK", "X86_FASTCALLCC_TOK", "DATALAYOUT", + "RET", "BR", "SWITCH", "INVOKE", "UNWIND", "UNREACHABLE", "ADD", "SUB", + "MUL", "UDIV", "SDIV", "FDIV", "UREM", "SREM", "FREM", "AND", "OR", + "XOR", "SETLE", "SETGE", "SETLT", "SETGT", "SETEQ", "SETNE", "MALLOC", + "ALLOCA", "FREE", "LOAD", "STORE", "GETELEMENTPTR", "TRUNC", "ZEXT", + "SEXT", "FPTRUNC", "FPEXT", "BITCAST", "UITOFP", "SITOFP", "FPTOUI", + "FPTOSI", "INTTOPTR", "PTRTOINT", "PHI_TOK", "SELECT", "SHL", "LSHR", + "ASHR", "VAARG", "EXTRACTELEMENT", "INSERTELEMENT", "SHUFFLEVECTOR", + "CAST", "'='", "','", "'\\\\'", "'('", "')'", "'['", "'x'", "']'", "'<'", + "'>'", "'{'", "'}'", "'*'", "'c'", "$accept", "INTVAL", "EINT64VAL", + "ArithmeticOps", "LogicalOps", "SetCondOps", "CastOps", "ShiftOps", + "SIntType", "UIntType", "IntType", "FPType", "OptAssign", "OptLinkage", + "OptCallingConv", "OptAlign", "OptCAlign", "SectionString", "OptSection", + "GlobalVarAttributes", "GlobalVarAttribute", "TypesV", "UpRTypesV", + "Types", "PrimType", "UpRTypes", "TypeListI", "ArgTypeListI", "ConstVal", + "ConstExpr", "ConstVector", "GlobalType", "Module", "DefinitionList", + "ConstPool", "AsmBlock", "BigOrLittle", "TargetDefinition", + "LibrariesDefinition", "LibList", "Name", "OptName", "ArgVal", + "ArgListH", "ArgList", "FunctionHeaderH", "BEGIN", "FunctionHeader", + "END", "Function", "FnDeclareLinkage", "FunctionProto", "OptSideEffect", + "ConstValueRef", "SymbolicValueRef", "ValueRef", "ResolvedVal", + "BasicBlockList", "BasicBlock", "InstructionList", "BBTerminatorInst", + "JumpTable", "Inst", "PHIList", "ValueRefList", "ValueRefListE", + "OptTailCall", "InstVal", "IndexList", "OptVolatile", "MemoryInst", 0 +}; +#endif + +# ifdef YYPRINT +/* YYTOKNUM[YYLEX-NUM] -- Internal token number corresponding to + token YYLEX-NUM. */ +static const unsigned short int yytoknum[] = +{ + 0, 256, 257, 258, 259, 260, 261, 262, 263, 264, + 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, + 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, + 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, + 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, + 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, + 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, + 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, + 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, + 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, + 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, + 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, + 375, 376, 377, 378, 61, 44, 92, 40, 41, 91, + 120, 93, 60, 62, 123, 125, 42, 99 +}; +# endif + +/* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */ +static const unsigned char yyr1[] = +{ + 0, 138, 139, 139, 140, 140, 141, 141, 141, 141, + 141, 141, 141, 141, 141, 142, 142, 142, 143, 143, + 143, 143, 143, 143, 144, 145, 145, 145, 146, 146, + 146, 146, 147, 147, 147, 147, 148, 148, 149, 149, + 150, 150, 151, 151, 151, 151, 151, 151, 151, 151, + 152, 152, 152, 152, 152, 152, 152, 152, 153, 153, + 154, 154, 155, 156, 156, 157, 157, 158, 158, 159, + 159, 160, 160, 161, 162, 162, 162, 162, 162, 162, + 162, 162, 162, 162, 162, 162, 162, 163, 163, 163, + 163, 163, 163, 163, 163, 163, 163, 164, 164, 165, + 165, 165, 165, 166, 166, 166, 166, 166, 166, 166, + 166, 166, 166, 166, 166, 166, 166, 166, 166, 167, + 167, 167, 167, 167, 167, 167, 167, 167, 167, 168, + 168, 169, 169, 170, 171, 171, 171, 171, 171, 172, + 172, 172, 172, 172, 172, 172, 172, 172, 172, 173, + 174, 174, 175, 175, 175, 175, 176, 177, 177, 177, + 178, 178, 179, 179, 180, 181, 181, 182, 182, 182, + 182, 183, 184, 184, 185, 186, 186, 187, 188, 188, + 188, 189, 190, 190, 191, 191, 191, 191, 191, 191, + 191, 191, 191, 191, 191, 192, 192, 193, 193, 194, + 195, 195, 196, 197, 197, 197, 198, 198, 198, 198, + 198, 198, 198, 198, 198, 199, 199, 200, 201, 201, + 202, 202, 203, 203, 204, 204, 205, 205, 205, 205, + 205, 205, 205, 205, 205, 205, 205, 205, 205, 205, + 206, 206, 207, 207, 208, 208, 208, 208, 208, 208, + 208, 208 +}; + +/* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN. */ +static const unsigned char yyr2[] = +{ + 0, 2, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 2, 0, 1, 1, 1, 1, 1, 1, 1, 0, + 1, 1, 1, 1, 1, 1, 2, 0, 0, 2, + 0, 3, 2, 0, 1, 0, 3, 1, 2, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 2, 4, 5, 5, 3, 2, 2, 1, 3, 1, + 3, 1, 0, 4, 3, 3, 4, 4, 3, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 6, + 5, 8, 6, 6, 6, 6, 6, 8, 8, 3, + 1, 1, 1, 1, 2, 2, 4, 2, 1, 4, + 2, 4, 6, 6, 6, 6, 3, 4, 0, 1, + 1, 1, 3, 3, 3, 3, 3, 3, 1, 0, + 1, 1, 1, 0, 2, 3, 1, 1, 3, 1, + 0, 8, 1, 1, 3, 1, 1, 3, 0, 1, + 1, 3, 0, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 3, 1, 5, 1, 1, 1, 1, 2, + 2, 1, 3, 2, 0, 1, 2, 2, 3, 9, + 9, 8, 13, 1, 1, 6, 5, 2, 6, 7, + 1, 3, 1, 0, 2, 1, 5, 5, 5, 2, + 4, 4, 6, 4, 4, 6, 6, 2, 7, 1, + 2, 0, 1, 0, 3, 6, 3, 6, 2, 4, + 6, 4 +}; + +/* YYDEFACT[STATE-NAME] -- Default rule to reduce with in state + STATE-NUM when YYTABLE doesn't specify something else to do. Zero + means the default is an error. */ +static const unsigned char yydefact[] = +{ + 148, 0, 49, 138, 1, 137, 178, 42, 43, 44, + 45, 46, 47, 48, 0, 57, 204, 134, 135, 160, + 161, 0, 0, 0, 49, 0, 140, 179, 180, 57, + 0, 0, 50, 51, 52, 53, 54, 55, 0, 0, + 205, 204, 201, 41, 0, 0, 0, 0, 146, 0, + 0, 0, 0, 0, 0, 0, 40, 181, 149, 136, + 56, 2, 3, 70, 74, 75, 76, 77, 78, 79, + 80, 81, 82, 83, 84, 85, 86, 87, 0, 0, + 0, 0, 195, 0, 0, 69, 88, 73, 196, 89, + 172, 173, 174, 175, 176, 177, 200, 243, 203, 0, + 0, 0, 0, 159, 147, 141, 139, 131, 132, 0, + 0, 0, 0, 90, 0, 0, 72, 95, 97, 0, + 0, 102, 96, 242, 0, 225, 0, 0, 0, 0, + 57, 213, 214, 6, 7, 8, 9, 10, 11, 12, + 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, + 23, 0, 0, 0, 0, 0, 0, 25, 26, 27, + 0, |