diff options
Diffstat (limited to 'llvm/lib/AsmParser/llvmAsmParser.cpp')
| -rw-r--r-- | llvm/lib/AsmParser/llvmAsmParser.cpp | 4592 | 
1 files changed, 2029 insertions, 2563 deletions
| diff --git a/llvm/lib/AsmParser/llvmAsmParser.cpp b/llvm/lib/AsmParser/llvmAsmParser.cpp index 92e0a394627..953fce8e8e1 100644 --- a/llvm/lib/AsmParser/llvmAsmParser.cpp +++ b/llvm/lib/AsmParser/llvmAsmParser.cpp @@ -1,257 +1,110 @@ -/* A Bison parser, made by GNU Bison 1.875d.  */ -/* Skeleton parser for Yacc-like parsing with Bison, -   Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003, 2004 Free Software Foundation, Inc. +/*  A Bison parser, made from /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., 59 Temple Place - Suite 330, -   Boston, MA 02111-1307, 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.  */ +#define YYBISON 1  /* Identify Bison output.  */ -/* 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 - -/* Skeleton name.  */ -#define YYSKELETON_NAME "yacc.c" - -/* Pure parsers.  */ -#define YYPURE 0 - -/* Using locations.  */ -#define YYLSP_NEEDED 0 - -/* If NAME_PREFIX is specified substitute the variables and functions -   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, -     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, -     VOLATILE = 289, -     TO = 290, -     DOTDOTDOT = 291, -     NULL_TOK = 292, -     UNDEF = 293, -     CONST = 294, -     INTERNAL = 295, -     LINKONCE = 296, -     WEAK = 297, -     APPENDING = 298, -     OPAQUE = 299, -     NOT = 300, -     EXTERNAL = 301, -     TARGET = 302, -     TRIPLE = 303, -     ENDIAN = 304, -     POINTERSIZE = 305, -     LITTLE = 306, -     BIG = 307, -     DEPLIBS = 308, -     CALL = 309, -     TAIL = 310, -     CC_TOK = 311, -     CCC_TOK = 312, -     FASTCC_TOK = 313, -     COLDCC_TOK = 314, -     RET = 315, -     BR = 316, -     SWITCH = 317, -     INVOKE = 318, -     UNWIND = 319, -     UNREACHABLE = 320, -     ADD = 321, -     SUB = 322, -     MUL = 323, -     DIV = 324, -     REM = 325, -     AND = 326, -     OR = 327, -     XOR = 328, -     SETLE = 329, -     SETGE = 330, -     SETLT = 331, -     SETGT = 332, -     SETEQ = 333, -     SETNE = 334, -     MALLOC = 335, -     ALLOCA = 336, -     FREE = 337, -     LOAD = 338, -     STORE = 339, -     GETELEMENTPTR = 340, -     PHI_TOK = 341, -     CAST = 342, -     SELECT = 343, -     SHL = 344, -     SHR = 345, -     VAARG = 346, -     VAARG_old = 347, -     VANEXT_old = 348 -   }; -#endif -#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 VOLATILE 289 -#define TO 290 -#define DOTDOTDOT 291 -#define NULL_TOK 292 -#define UNDEF 293 -#define CONST 294 -#define INTERNAL 295 -#define LINKONCE 296 -#define WEAK 297 -#define APPENDING 298 -#define OPAQUE 299 -#define NOT 300 -#define EXTERNAL 301 -#define TARGET 302 -#define TRIPLE 303 -#define ENDIAN 304 -#define POINTERSIZE 305 -#define LITTLE 306 -#define BIG 307 -#define DEPLIBS 308 -#define CALL 309 -#define TAIL 310 -#define CC_TOK 311 -#define CCC_TOK 312 -#define FASTCC_TOK 313 -#define COLDCC_TOK 314 -#define RET 315 -#define BR 316 -#define SWITCH 317 -#define INVOKE 318 -#define UNWIND 319 -#define UNREACHABLE 320 -#define ADD 321 -#define SUB 322 -#define MUL 323 -#define DIV 324 -#define REM 325 -#define AND 326 -#define OR 327 -#define XOR 328 -#define SETLE 329 -#define SETGE 330 -#define SETLT 331 -#define SETGT 332 -#define SETEQ 333 -#define SETNE 334 -#define MALLOC 335 -#define ALLOCA 336 -#define FREE 337 -#define LOAD 338 -#define STORE 339 -#define GETELEMENTPTR 340 -#define PHI_TOK 341 -#define CAST 342 -#define SELECT 343 -#define SHL 344 -#define SHR 345 -#define VAARG 346 -#define VAARG_old 347 -#define VANEXT_old 348 - - - - -/* Copy the first part of user declarations.  */ -#line 14 "/usr/home/llvm/obj/../lib/AsmParser/llvmAsmParser.y" +#define	ESINT64VAL	257 +#define	EUINT64VAL	258 +#define	SINTVAL	259 +#define	UINTVAL	260 +#define	FPVAL	261 +#define	VOID	262 +#define	BOOL	263 +#define	SBYTE	264 +#define	UBYTE	265 +#define	SHORT	266 +#define	USHORT	267 +#define	INT	268 +#define	UINT	269 +#define	LONG	270 +#define	ULONG	271 +#define	FLOAT	272 +#define	DOUBLE	273 +#define	TYPE	274 +#define	LABEL	275 +#define	VAR_ID	276 +#define	LABELSTR	277 +#define	STRINGCONSTANT	278 +#define	IMPLEMENTATION	279 +#define	ZEROINITIALIZER	280 +#define	TRUETOK	281 +#define	FALSETOK	282 +#define	BEGINTOK	283 +#define	ENDTOK	284 +#define	DECLARE	285 +#define	GLOBAL	286 +#define	CONSTANT	287 +#define	VOLATILE	288 +#define	TO	289 +#define	DOTDOTDOT	290 +#define	NULL_TOK	291 +#define	UNDEF	292 +#define	CONST	293 +#define	INTERNAL	294 +#define	LINKONCE	295 +#define	WEAK	296 +#define	APPENDING	297 +#define	OPAQUE	298 +#define	NOT	299 +#define	EXTERNAL	300 +#define	TARGET	301 +#define	TRIPLE	302 +#define	ENDIAN	303 +#define	POINTERSIZE	304 +#define	LITTLE	305 +#define	BIG	306 +#define	ALIGN	307 +#define	DEPLIBS	308 +#define	CALL	309 +#define	TAIL	310 +#define	CC_TOK	311 +#define	CCC_TOK	312 +#define	FASTCC_TOK	313 +#define	COLDCC_TOK	314 +#define	RET	315 +#define	BR	316 +#define	SWITCH	317 +#define	INVOKE	318 +#define	UNWIND	319 +#define	UNREACHABLE	320 +#define	ADD	321 +#define	SUB	322 +#define	MUL	323 +#define	DIV	324 +#define	REM	325 +#define	AND	326 +#define	OR	327 +#define	XOR	328 +#define	SETLE	329 +#define	SETGE	330 +#define	SETLT	331 +#define	SETGT	332 +#define	SETEQ	333 +#define	SETNE	334 +#define	MALLOC	335 +#define	ALLOCA	336 +#define	FREE	337 +#define	LOAD	338 +#define	STORE	339 +#define	GETELEMENTPTR	340 +#define	PHI_TOK	341 +#define	CAST	342 +#define	SELECT	343 +#define	SHL	344 +#define	SHR	345 +#define	VAARG	346 +#define	VAARG_old	347 +#define	VANEXT_old	348 + +#line 14 "/llvm/lib/AsmParser/llvmAsmParser.y"  #include "ParserInternals.h"  #include "llvm/CallingConv.h" @@ -1103,23 +956,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 - -#if ! defined (YYSTYPE) && ! defined (YYSTYPE_IS_DECLARED) -#line 866 "/usr/home/llvm/obj/../lib/AsmParser/llvmAsmParser.y" -typedef union YYSTYPE { +#line 866 "/llvm/lib/AsmParser/llvmAsmParser.y" +typedef union {    llvm::Module                           *ModuleVal;    llvm::Function                         *FunctionVal;    std::pair<llvm::PATypeHolder*, char*>  *ArgVal; @@ -1158,1235 +996,948 @@ typedef union YYSTYPE {    llvm::Instruction::OtherOps             OtherOpVal;    llvm::Module::Endianness                Endianness;  } YYSTYPE; -/* Line 191 of yacc.c.  */ -#line 1163 "llvmAsmParser.tab.c" -# 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.  */ +#include <stdio.h> +#ifndef __cplusplus +#ifndef __STDC__ +#define const +#endif +#endif -/* Line 214 of yacc.c.  */ -#line 1175 "llvmAsmParser.tab.c" - -#if ! defined (yyoverflow) || YYERROR_VERBOSE - -# ifndef YYFREE -#  define YYFREE free -# endif -# ifndef YYMALLOC -#  define YYMALLOC malloc -# endif - -/* The parser invokes alloca or malloc; define the necessary symbols.  */ - -# ifdef YYSTACK_USE_ALLOCA -#  if YYSTACK_USE_ALLOCA -#   define YYSTACK_ALLOC alloca -#  endif -# else -#  if defined (alloca) || defined (_ALLOCA_H) -#   define YYSTACK_ALLOC alloca -#  else -#   ifdef __GNUC__ -#    define YYSTACK_ALLOC __builtin_alloca -#   endif -#  endif -# endif - -# ifdef YYSTACK_ALLOC -   /* Pacify GCC's `empty if-body' warning. */ -#  define YYSTACK_FREE(Ptr) do { /* empty */; } while (0) -# else -#  if defined (__STDC__) || defined (__cplusplus) -#   include <stdlib.h> /* INFRINGES ON USER NAME SPACE */ -#   define YYSIZE_T size_t -#  endif -#  define YYSTACK_ALLOC YYMALLOC -#  define YYSTACK_FREE YYFREE -# endif -#endif /* ! defined (yyoverflow) || YYERROR_VERBOSE */ -#if (! defined (yyoverflow) \ -     && (! defined (__cplusplus) \ -	 || (defined (YYSTYPE_IS_TRIVIAL) && YYSTYPE_IS_TRIVIAL))) +#define	YYFINAL		429 +#define	YYFLAG		-32768 +#define	YYNTBASE	109 + +#define YYTRANSLATE(x) ((unsigned)(x) <= 348 ? yytranslate[x] : 170) + +static const 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,    97, +    98,   106,     2,   107,     2,     2,     2,     2,     2,     2, +     2,     2,     2,     2,     2,     2,     2,     2,     2,   102, +    95,   103,     2,     2,     2,     2,     2,     2,     2,     2, +     2,     2,     2,     2,     2,     2,     2,     2,     2,     2, +     2,     2,     2,     2,     2,     2,     2,     2,     2,     2, +    99,    96,   101,     2,     2,     2,     2,     2,   108,     2, +     2,     2,     2,     2,     2,     2,     2,     2,     2,     2, +     2,     2,     2,     2,     2,     2,     2,     2,     2,   100, +     2,     2,   104,     2,   105,     2,     2,     2,     2,     2, +     2,     2,     2,     2,     2,     2,     2,     2,     2,     2, +     2,     2,     2,     2,     2,     2,     2,     2,     2,     2, +     2,     2,     2,     2,     2,     2,     2,     2,     2,     2, +     2,     2,     2,     2,     2,     2,     2,     2,     2,     2, +     2,     2,     2,     2,     2,     2,     2,     2,     2,     2, +     2,     2,     2,     2,     2,     2,     2,     2,     2,     2, +     2,     2,     2,     2,     2,     2,     2,     2,     2,     2, +     2,     2,     2,     2,     2,     2,     2,     2,     2,     2, +     2,     2,     2,     2,     2,     2,     2,     2,     2,     2, +     2,     2,     2,     2,     2,     2,     2,     2,     2,     2, +     2,     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 +}; -/* 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,    67,    68,    70,    72,    74,    76,    77, +    78,    80,    82,    84,    87,    89,    91,    93,    95,    97, +    99,   101,   103,   105,   107,   109,   111,   113,   115,   117, +   119,   121,   123,   125,   127,   129,   132,   137,   143,   149, +   153,   156,   159,   161,   165,   167,   171,   173,   174,   179, +   183,   187,   192,   197,   201,   204,   207,   210,   213,   216, +   219,   222,   225,   228,   231,   238,   244,   253,   260,   267, +   274,   281,   285,   287,   289,   291,   293,   296,   299,   302, +   304,   309,   312,   318,   324,   328,   333,   334,   336,   338, +   342,   346,   350,   354,   358,   360,   361,   363,   365,   367, +   368,   371,   375,   377,   379,   383,   385,   386,   393,   395, +   397,   401,   403,   405,   408,   409,   413,   415,   417,   419, +   421,   423,   425,   427,   431,   433,   435,   437,   439,   441, +   444,   447,   450,   454,   457,   458,   460,   463,   466,   470, +   480,   490,   499,   513,   515,   517,   524,   530,   533,   540, +   548,   550,   554,   556,   557,   560,   562,   568,   574,   580, +   583,   588,   593,   600,   605,   610,   615,   618,   626,   628, +   631,   632,   634,   635,   638,   644,   650,   659,   662,   668, +   674,   683,   686,   691,   698 +}; -/* 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					\ -	{					\ -	  register 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[] = {     5, +     0,     6,     0,     3,     0,     4,     0,    67,     0,    68, +     0,    69,     0,    70,     0,    71,     0,    72,     0,    73, +     0,    74,     0,    75,     0,    76,     0,    77,     0,    78, +     0,    79,     0,    80,     0,    90,     0,    91,     0,    16, +     0,    14,     0,    12,     0,    10,     0,    17,     0,    15, +     0,    13,     0,    11,     0,   115,     0,   116,     0,    18, +     0,    19,     0,   140,    95,     0,     0,    40,     0,    41, +     0,    42,     0,    43,     0,     0,     0,    58,     0,    59, +     0,    60,     0,    57,     4,     0,   124,     0,     8,     0, +   126,     0,     8,     0,   126,     0,     9,     0,    10,     0, +    11,     0,    12,     0,    13,     0,    14,     0,    15,     0, +    16,     0,    17,     0,    18,     0,    19,     0,    20,     0, +    21,     0,    44,     0,   125,     0,   153,     0,    96,     4, +     0,   123,    97,   128,    98,     0,    99,     4,   100,   126, +   101,     0,   102,     4,   100,   126,   103,     0,   104,   127, +   105,     0,   104,   105,     0,   126,   106,     0,   126,     0, +   127,   107,   126,     0,   127,     0,   127,   107,    36,     0, +    36,     0,     0,   124,    99,   131,   101,     0,   124,    99, +   101,     0,   124,   108,    24,     0,   124,   102,   131,   103, +     0,   124,   104,   131,   105,     0,   124,   104,   105,     0, +   124,    37,     0,   124,    38,     0,   124,   153,     0,   124, +   130,     0,   124,    26,     0,   115,   110,     0,   116,     4, +     0,     9,    27,     0,     9,    28,     0,   118,     7,     0, +    88,    97,   129,    35,   124,    98,     0,    86,    97,   129, +   167,    98,     0,    89,    97,   129,   107,   129,   107,   129, +    98,     0,   111,    97,   129,   107,   129,    98,     0,   112, +    97,   129,   107,   129,    98,     0,   113,    97,   129,   107, +   129,    98,     0,   114,    97,   129,   107,   129,    98,     0, +   131,   107,   129,     0,   129,     0,    32,     0,    33,     0, +   134,     0,   134,   149,     0,   134,   150,     0,   134,    25, +     0,   135,     0,   135,   119,    20,   122,     0,   135,   150, +     0,   135,   119,   120,   132,   129,     0,   135,   119,    46, +   132,   124,     0,   135,    47,   137,     0,   135,    54,    95, +   138,     0,     0,    52,     0,    51,     0,    49,    95,   136, +     0,    50,    95,     4,     0,    48,    95,    24,     0,    99, +   139,   101,     0,   139,   107,    24,     0,    24,     0,     0, +    22,     0,    24,     0,   140,     0,     0,   124,   141,     0, +   143,   107,   142,     0,   142,     0,   143,     0,   143,   107, +    36,     0,    36,     0,     0,   121,   122,   140,    97,   144, +    98,     0,    29,     0,   104,     0,   120,   145,   146,     0, +    30,     0,   105,     0,   156,   148,     0,     0,    31,   151, +   145,     0,     3,     0,     4,     0,     7,     0,    27,     0, +    28,     0,    37,     0,    38,     0,   102,   131,   103,     0, +   130,     0,   109,     0,   140,     0,   153,     0,   152,     0, +   124,   154,     0,   156,   157,     0,   147,   157,     0,   158, +   119,   159,     0,   158,   161,     0,     0,    23,     0,    61, +   155,     0,    61,     8,     0,    62,    21,   154,     0,    62, +     9,   154,   107,    21,   154,   107,    21,   154,     0,    63, +   117,   154,   107,    21,   154,    99,   160,   101,     0,    63, +   117,   154,   107,    21,   154,    99,   101,     0,    64,   121, +   122,   154,    97,   164,    98,    35,    21,   154,    65,    21, +   154,     0,    65,     0,    66,     0,   160,   117,   152,   107, +    21,   154,     0,   117,   152,   107,    21,   154,     0,   119, +   166,     0,   124,    99,   154,   107,   154,   101,     0,   162, +   107,    99,   154,   107,   154,   101,     0,   155,     0,   163, +   107,   155,     0,   163,     0,     0,    56,    55,     0,    55, +     0,   111,   124,   154,   107,   154,     0,   112,   124,   154, +   107,   154,     0,   113,   124,   154,   107,   154,     0,    45, +   155,     0,   114,   155,   107,   155,     0,    88,   155,    35, +   124,     0,    89,   155,   107,   155,   107,   155,     0,    92, +   155,   107,   124,     0,    93,   155,   107,   124,     0,    94, +   155,   107,   124,     0,    87,   162,     0,   165,   121,   122, +   154,    97,   164,    98,     0,   169,     0,   107,   163,     0, +     0,    34,     0,     0,    81,   124,     0,    81,   124,   107, +    53,     4,     0,    81,   124,   107,    15,   154,     0,    81, +   124,   107,    15,   154,   107,    53,     4,     0,    82,   124, +     0,    82,   124,   107,    53,     4,     0,    82,   124,   107, +    15,   154,     0,    82,   124,   107,    15,   154,   107,    53, +     4,     0,    83,   155,     0,   168,    84,   124,   154,     0, +   168,    85,   155,   107,   124,   154,     0,    86,   124,   154, +   167,     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, +   983,   984,   991,   992,  1001,  1001,  1001,  1001,  1001,  1002, +  1002,  1002,  1003,  1003,  1003,  1003,  1003,  1003,  1005,  1005, +  1009,  1009,  1009,  1009,  1010,  1010,  1010,  1010,  1011,  1011, +  1012,  1012,  1015,  1018,  1022,  1022,  1023,  1024,  1025,  1028, +  1028,  1029,  1030,  1031,  1045,  1045,  1046,  1046,  1048,  1057, +  1057,  1057,  1057,  1057,  1057,  1057,  1058,  1058,  1058,  1058, +  1058,  1058,  1059,  1062,  1065,  1071,  1078,  1090,  1094,  1105, +  1114,  1117,  1125,  1129,  1134,  1135,  1138,  1141,  1151,  1176, +  1189,  1217,  1242,  1262,  1274,  1283,  1287,  1346,  1352,  1360, +  1365,  1370,  1373,  1376,  1383,  1393,  1424,  1431,  1452,  1459, +  1464,  1474,  1477,  1484,  1484,  1494,  1501,  1505,  1508,  1511, +  1524,  1544,  1546,  1550,  1554,  1556,  1558,  1563,  1564,  1566, +  1569,  1577,  1582,  1584,  1588,  1592,  1600,  1600,  1601,  1601, +  1603,  1609,  1614,  1620,  1623,  1628,  1632,  1636,  1716,  1716, +  1718,  1726,  1726,  1728,  1732,  1732,  1741,  1744,  1747,  1750, +  1753,  1756,  1759,  1762,  1786,  1793,  1796,  1801,  1801,  1807, +  1811,  1814,  1822,  1831,  1835,  1845,  1856,  1859,  1862,  1865, +  1868,  1882,  1886,  1939,  1942,  1948,  1956,  1966,  1973,  1978, +  1985,  1989,  1995,  1995,  1997,  2000,  2006,  2018,  2026,  2036, +  2048,  2055,  2062,  2069,  2074,  2093,  2115,  2129,  2186,  2192, +  2194,  2198,  2201,  2207,  2211,  2215,  2219,  2223,  2227,  2231, +  2235,  2239,  2246,  2256,  2269 +};  #endif -/* YYFINAL -- State number of the termination state. */ -#define YYFINAL  4 -/* YYLAST -- Last index in YYTABLE.  */ -#define YYLAST   1102 - -/* YYNTOKENS -- Number of terminals. */ -#define YYNTOKENS  108 -/* YYNNTS -- Number of nonterminals. */ -#define YYNNTS  62 -/* YYNRULES -- Number of rules. */ -#define YYNRULES  212 -/* YYNRULES -- Number of states. */ -#define YYNSTATES  419 - -/* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX.  */ -#define YYUNDEFTOK  2 -#define YYMAXUTOK   348 - -#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, -      96,    97,   105,     2,   106,     2,     2,     2,     2,     2, -       2,     2,     2,     2,     2,     2,     2,     2,     2,     2, -     101,    94,   102,     2,     2,     2,     2,     2,     2,     2, -       2,     2,     2,     2,     2,     2,     2,     2,     2,     2, -       2,     2,     2,     2,     2,     2,     2,     2,     2,     2, -       2,    98,    95,   100,     2,     2,     2,     2,     2,   107, -       2,     2,     2,     2,     2,     2,     2,     2,     2,     2, -       2,     2,     2,     2,     2,     2,     2,     2,     2,     2, -      99,     2,     2,   103,     2,   104,     2,     2,     2,     2, -       2,     2,     2,     2,     2,     2,     2,     2,     2,     2, -       2,     2,     2,     2,     2,     2,     2,     2,     2,     2, -       2,     2,     2,     2,     2,     2,     2,     2,     2,     2, -       2,     2,     2,     2,     2,     2,     2,     2,     2,     2, -       2,     2,     2,     2,     2,     2,     2,     2,     2,     2, -       2,     2,     2,     2,     2,     2,     2,     2,     2,     2, -       2,     2,     2,     2,     2,     2,     2,     2,     2,     2, -       2,     2,     2,     2,     2,     2,     2,     2,     2,     2, -       2,     2,     2,     2,     2,     2,     2,     2,     2,     2, -       2,     2,     2,     2,     2,     2,     2,     2,     2,     2, -       2,     2,     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 -}; -#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,    70,    71,    73,    75,    77, -      79,    80,    81,    83,    85,    87,    90,    92,    94,    96, -      98,   100,   102,   104,   106,   108,   110,   112,   114,   116, -     118,   120,   122,   124,   126,   128,   130,   132,   135,   140, -     146,   152,   156,   159,   162,   164,   168,   170,   174,   176, -     177,   182,   186,   190,   195,   200,   204,   207,   210,   213, -     216,   219,   222,   225,   228,   231,   234,   241,   247,   256, -     263,   270,   277,   284,   288,   290,   292,   294,   296,   299, -     302,   305,   307,   312,   315,   321,   327,   331,   336,   337, -     339,   341,   345,   349,   353,   357,   361,   363,   364,   366, -     368,   370,   371,   374,   378,   380,   382,   386,   388,   389, -     396,   398,   400,   404,   406,   408,   411,   412,   416,   418, -     420,   422,   424,   426,   428,   430,   434,   436,   438,   440, -     442,   444,   447,   450,   453,   457,   460,   461,   463,   466, -     469,   473,   483,   493,   502,   516,   518,   520,   527,   533, -     536,   543,   551,   553,   557,   559,   560,   563,   565,   571, -     577,   583,   586,   591,   596,   603,   608,   613,   618,   621, -     629,   631,   634,   635,   637,   638,   641,   647,   650,   656, -     659,   664,   671 +#if YYDEBUG != 0 || defined (YYERROR_VERBOSE) + +static const char * const yytname[] = {   "$","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","VOLATILE","TO","DOTDOTDOT", +"NULL_TOK","UNDEF","CONST","INTERNAL","LINKONCE","WEAK","APPENDING","OPAQUE", +"NOT","EXTERNAL","TARGET","TRIPLE","ENDIAN","POINTERSIZE","LITTLE","BIG","ALIGN", +"DEPLIBS","CALL","TAIL","CC_TOK","CCC_TOK","FASTCC_TOK","COLDCC_TOK","RET","BR", +"SWITCH","INVOKE","UNWIND","UNREACHABLE","ADD","SUB","MUL","DIV","REM","AND", +"OR","XOR","SETLE","SETGE","SETLT","SETGT","SETEQ","SETNE","MALLOC","ALLOCA", +"FREE","LOAD","STORE","GETELEMENTPTR","PHI_TOK","CAST","SELECT","SHL","SHR", +"VAARG","VAARG_old","VANEXT_old","'='","'\\\\'","'('","')'","'['","'x'","']'", +"'<'","'>'","'{'","'}'","'*'","','","'c'","INTVAL","EINT64VAL","ArithmeticOps", +"LogicalOps","SetCondOps","ShiftOps","SIntType","UIntType","IntType","FPType", +"OptAssign","OptLinkage","OptCallingConv","TypesV","UpRTypesV","Types","PrimType", +"UpRTypes","TypeListI","ArgTypeListI","ConstVal","ConstExpr","ConstVector","GlobalType", +"Module","FunctionList","ConstPool","BigOrLittle","TargetDefinition","LibrariesDefinition", +"LibList","Name","OptName","ArgVal","ArgListH","ArgList","FunctionHeaderH","BEGIN", +"FunctionHeader","END","Function","FunctionProto","@1","ConstValueRef","SymbolicValueRef", +"ValueRef","ResolvedVal","BasicBlockList","BasicBlock","InstructionList","BBTerminatorInst", +"JumpTable","Inst","PHIList","ValueRefList","ValueRefListE","OptTailCall","InstVal", +"IndexList","OptVolatile","MemoryInst", NULL  }; +#endif -/* YYRHS -- A `-1'-separated list of the rules' RHS. */ -static const short int yyrhs[] = -{ -     133,     0,    -1,     5,    -1,     6,    -1,     3,    -1,     4, -      -1,    66,    -1,    67,    -1,    68,    -1,    69,    -1,    70, -      -1,    71,    -1,    72,    -1,    73,    -1,    74,    -1,    75, -      -1,    76,    -1,    77,    -1,    78,    -1,    79,    -1,    89, -      -1,    90,    -1,    16,    -1,    14,    -1,    12,    -1,    10, -      -1,    17,    -1,    15,    -1,    13,    -1,    11,    -1,   115, -      -1,   116,    -1,    18,    -1,    19,    -1,   140,    94,    -1, -      -1,    40,    -1,    41,    -1,    42,    -1,    43,    -1,    -1, -      -1,    57,    -1,    58,    -1,    59,    -1,    56,     4,    -1, -     124,    -1,     8,    -1,   126,    -1,     8,    -1,   126,    -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,    44,    -1,   125,    -1, -     153,    -1,    95,     4,    -1,   123,    96,   128,    97,    -1, -      98,     4,    99,   126,   100,    -1,   101,     4,    99,   126, -     102,    -1,   103,   127,   104,    -1,   103,   104,    -1,   126, -     105,    -1,   126,    -1,   127,   106,   126,    -1,   127,    -1, -     127,   106,    36,    -1,    36,    -1,    -1,   124,    98,   131, -     100,    -1,   124,    98,   100,    -1,   124,   107,    24,    -1, -     124,   101,   131,   102,    -1,   124,   103,   131,   104,    -1, -     124,   103,   104,    -1,   124,    37,    -1,   124,    38,    -1, -     124,   153,    -1,   124,   130,    -1,   124,    26,    -1,   115, -     110,    -1,   116,     4,    -1,     9,    27,    -1,     9,    28, -      -1,   118,     7,    -1,    87,    96,   129,    35,   124,    97, -      -1,    85,    96,   129,   167,    97,    -1,    88,    96,   129, -     106,   129,   106,   129,    97,    -1,   111,    96,   129,   106, -     129,    97,    -1,   112,    96,   129,   106,   129,    97,    -1, -     113,    96,   129,   106,   129,    97,    -1,   114,    96,   129, -     106,   129,    97,    -1,   131,   106,   129,    -1,   129,    -1, -      32,    -1,    33,    -1,   134,    -1,   134,   149,    -1,   134, -     150,    -1,   134,    25,    -1,   135,    -1,   135,   119,    20, -     122,    -1,   135,   150,    -1,   135,   119,   120,   132,   129, -      -1,   135,   119,    46,   132,   124,    -1,   135,    47,   137, -      -1,   135,    53,    94,   138,    -1,    -1,    52,    -1,    51, -      -1,    49,    94,   136,    -1,    50,    94,     4,    -1,    48, -      94,    24,    -1,    98,   139,   100,    -1,   139,   106,    24, -      -1,    24,    -1,    -1,    22,    -1,    24,    -1,   140,    -1, -      -1,   124,   141,    -1,   143,   106,   142,    -1,   142,    -1, -     143,    -1,   143,   106,    36,    -1,    36,    -1,    -1,   121, -     122,   140,    96,   144,    97,    -1,    29,    -1,   103,    -1, -     120,   145,   146,    -1,    30,    -1,   104,    -1,   156,   148, -      -1,    -1,    31,   151,   145,    -1,     3,    -1,     4,    -1, -       7,    -1,    27,    -1,    28,    -1,    37,    -1,    38,    -1, -     101,   131,   102,    -1,   130,    -1,   109,    -1,   140,    -1, -     153,    -1,   152,    -1,   124,   154,    -1,   156,   157,    -1, -     147,   157,    -1,   158,   119,   159,    -1,   158,   161,    -1, -      -1,    23,    -1,    60,   155,    -1,    60,     8,    -1,    61, -      21,   154,    -1,    61,     9,   154,   106,    21,   154,   106, -      21,   154,    -1,    62,   117,   154,   106,    21,   154,    98, -     160,   100,    -1,    62,   117,   154,   106,    21,   154,    98, -     100,    -1,    63,   121,   122,   154,    96,   164,    97,    35, -      21,   154,    64,    21,   154,    -1,    64,    -1,    65,    -1, -     160,   117,   152,   106,    21,   154,    -1,   117,   152,   106, -      21,   154,    -1,   119,   166,    -1,   124,    98,   154,   106, -     154,   100,    -1,   162,   106,    98,   154,   106,   154,   100, -      -1,   155,    -1,   163,   106,   155,    -1,   163,    -1,    -1, -      55,    54,    -1,    54,    -1,   111,   124,   154,   106,   154, -      -1,   112,   124,   154,   106,   154,    -1,   113,   124,   154, -     106,   154,    -1,    45,   155,    -1,   114,   155,   106,   155, -      -1,    87,   155,    35,   124,    -1,    88,   155,   106,   155, -     106,   155,    -1,    91,   155,   106,   124,    -1,    92,   155, -     106,   124,    -1,    93,   155,   106,   124,    -1,    86,   162, -      -1,   165,   121,   122,   154,    96,   164,    97,    -1,   169, -      -1,   106,   163,    -1,    -1,    34,    -1,    -1,    80,   124, -      -1,    80,   124,   106,    15,   154,    -1,    81,   124,    -1, -      81,   124,   106,    15,   154,    -1,    82,   155,    -1,   168, -      83,   124,   154,    -1,   168,    84,   155,   106,   124,   154, -      -1,    85,   124,   154,   167,    -1 +static const short yyr1[] = {     0, +   109,   109,   110,   110,   111,   111,   111,   111,   111,   112, +   112,   112,   113,   113,   113,   113,   113,   113,   114,   114, +   115,   115,   115,   115,   116,   116,   116,   116,   117,   117, +   118,   118,   119,   119,   120,   120,   120,   120,   120,   121, +   121,   121,   121,   121,   122,   122,   123,   123,   124,   125, +   125,   125,   125,   125,   125,   125,   125,   125,   125,   125, +   125,   125,   126,   126,   126,   126,   126,   126,   126,   126, +   126,   126,   127,   127,   128,   128,   128,   128,   129,   129, +   129,   129,   129,   129,   129,   129,   129,   129,   129,   129, +   129,   129,   129,   129,   130,   130,   130,   130,   130,   130, +   130,   131,   131,   132,   132,   133,   134,   134,   134,   134, +   135,   135,   135,   135,   135,   135,   135,   136,   136,   137, +   137,   137,   138,   139,   139,   139,   140,   140,   141,   141, +   142,   143,   143,   144,   144,   144,   144,   145,   146,   146, +   147,   148,   148,   149,   151,   150,   152,   152,   152,   152, +   152,   152,   152,   152,   152,   153,   153,   154,   154,   155, +   156,   156,   157,   158,   158,   158,   159,   159,   159,   159, +   159,   159,   159,   159,   159,   160,   160,   161,   162,   162, +   163,   163,   164,   164,   165,   165,   166,   166,   166,   166, +   166,   166,   166,   166,   166,   166,   166,   166,   166,   167, +   167,   168,   168,   169,   169,   169,   169,   169,   169,   169, +   169,   169,   169,   169,   169  }; -/* YYRLINE[YYN] -- source line where rule number YYN was defined.  */ -static const unsigned short int yyrline[] = -{ -       0,   983,   983,   984,   991,   992,  1001,  1001,  1001,  1001, -    1001,  1002,  1002,  1002,  1003,  1003,  1003,  1003,  1003,  1003, -    1005,  1005,  1009,  1009,  1009,  1009,  1010,  1010,  1010,  1010, -    1011,  1011,  1012,  1012,  1015,  1018,  1022,  1023,  1024,  1025, -    1026,  1028,  1029,  1030,  1031,  1032,  1045,  1045,  1046,  1046, -    1048,  1057,  1057,  1057,  1057,  1057,  1057,  1057,  1058,  1058, -    1058,  1058,  1058,  1058,  1059,  1062,  1065,  1071,  1078,  1090, -    1094,  1105,  1114,  1117,  1125,  1129,  1134,  1135,  1138,  1141, -    1151,  1176,  1189,  1217,  1242,  1262,  1274,  1283,  1287,  1346, -    1352,  1360,  1365,  1370,  1373,  1376,  1383,  1393,  1424,  1431, -    1452,  1459,  1464,  1474,  1477,  1484,  1484,  1494,  1501,  1505, -    1508,  1511,  1524,  1544,  1546,  1550,  1554,  1556,  1558,  1563, -    1564,  1566,  1569,  1577,  1582,  1584,  1588,  1592,  1600,  1600, -    1601,  1601,  1603,  1609,  1614,  1620,  1623,  1628,  1632,  1636, -    1716,  1716,  1718,  1726,  1726,  1728,  1732,  1732,  1741,  1744, -    1747,  1750,  1753,  1756,  1759,  1762,  1786,  1793,  1796,  1801, -    1801,  1807,  1811,  1814,  1822,  1831,  1835,  1845,  1856,  1859, -    1862,  1865,  1868,  1882,  1886,  1939,  1942,  1948,  1956,  1966, -    1973,  1978,  1985,  1989,  1995,  1995,  1997,  2000,  2006,  2018, -    2026,  2036,  2048,  2055,  2062,  2069,  2074,  2093,  2115,  2129, -    2186,  2192,  2194,  2198,  2201,  2207,  2211,  2215,  2219,  2223, -    2230,  2240,  2253 +static const short yyr2[] = {     0, +     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,     0,     0, +     1,     1,     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,     3,     1,     1,     1,     1,     2,     2,     2,     1, +     4,     2,     5,     5,     3,     4,     0,     1,     1,     3, +     3,     3,     3,     3,     1,     0,     1,     1,     1,     0, +     2,     3,     1,     1,     3,     1,     0,     6,     1,     1, +     3,     1,     1,     2,     0,     3,     1,     1,     1,     1, +     1,     1,     1,     3,     1,     1,     1,     1,     1,     2, +     2,     2,     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,     4,     2,     7,     1,     2, +     0,     1,     0,     2,     5,     5,     8,     2,     5,     5, +     8,     2,     4,     6,     4  }; -#endif -#if YYDEBUG || YYERROR_VERBOSE -/* YYTNME[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", "VOLATILE", "TO", "DOTDOTDOT", -  "NULL_TOK", "UNDEF", "CONST", "INTERNAL", "LINKONCE", "WEAK", -  "APPENDING", "OPAQUE", "NOT", "EXTERNAL", "TARGET", "TRIPLE", "ENDIAN", -  "POINTERSIZE", "LITTLE", "BIG", "DEPLIBS", "CALL", "TAIL", "CC_TOK", -  "CCC_TOK", "FASTCC_TOK", "COLDCC_TOK", "RET", "BR", "SWITCH", "INVOKE", -  "UNWIND", "UNREACHABLE", "ADD", "SUB", "MUL", "DIV", "REM", "AND", "OR", -  "XOR", "SETLE", "SETGE", "SETLT", "SETGT", "SETEQ", "SETNE", "MALLOC", -  "ALLOCA", "FREE", "LOAD", "STORE", "GETELEMENTPTR", "PHI_TOK", "CAST", -  "SELECT", "SHL", "SHR", "VAARG", "VAARG_old", "VANEXT_old", "'='", -  "'\\\\'", "'('", "')'", "'['", "'x'", "']'", "'<'", "'>'", "'{'", "'}'", -  "'*'", "','", "'c'", "$accept", "INTVAL", "EINT64VAL", "ArithmeticOps", -  "LogicalOps", "SetCondOps", "ShiftOps", "SIntType", "UIntType", -  "IntType", "FPType", "OptAssign", "OptLinkage", "OptCallingConv", -  "TypesV", "UpRTypesV", "Types", "PrimType", "UpRTypes", "TypeListI", -  "ArgTypeListI", "ConstVal", "ConstExpr", "ConstVector", "GlobalType", -  "Module", "FunctionList", "ConstPool", "BigOrLittle", "TargetDefinition", -  "LibrariesDefinition", "LibList", "Name", "OptName", "ArgVal", -  "ArgListH", "ArgList", "FunctionHeaderH", "BEGIN", "FunctionHeader", -  "END", "Function", "FunctionProto", "@1", "ConstValueRef", -  "SymbolicValueRef", "ValueRef", "ResolvedVal", "BasicBlockList", -  "BasicBlock", "InstructionList", "BBTerminatorInst", "JumpTable", "Inst", -  "PHIList", "ValueRefList", "ValueRefListE", "OptTailCall", "InstVal", -  "IndexList", "OptVolatile", "MemoryInst", 0 +static const short yydefact[] = {   117, +    39,   110,   109,   145,    35,    36,    37,    38,    40,   165, +   107,   108,   165,   127,   128,     0,     0,    39,     0,   112, +    40,     0,    41,    42,    43,     0,     0,   166,   162,    34, +   142,   143,   144,   161,     0,     0,     0,   115,     0,     0, +     0,     0,    33,   146,    44,     1,     2,    46,    50,    51, +    52,    53,    54,    55,    56,    57,    58,    59,    60,    61, +    62,    63,     0,     0,     0,     0,   156,     0,     0,    45, +    64,    49,   157,    65,   139,   140,   141,   203,   164,     0, +     0,     0,   126,   116,   111,   104,   105,     0,     0,    66, +     0,     0,    48,    71,    73,     0,     0,    78,    72,   202, +     0,   186,     0,     0,     0,     0,    40,   174,   175,     5, +     6,     7,     8,     9,    10,    11,    12,    13,    14,    15, +    16,    17,    18,     0,     0,     0,     0,     0,     0,     0, +    19,    20,     0,     0,     0,     0,     0,     0,     0,   163, +    40,   178,     0,   199,   122,   119,   118,   120,   121,   125, +     0,   114,    50,    51,    52,    53,    54,    55,    56,    57, +    58,    59,    60,     0,     0,     0,     0,   113,     0,     0, +    70,     0,   137,    77,    75,     0,     0,   190,   185,   168, +   167,     0,     0,    24,    28,    23,    27,    22,    26,    21, +    25,    29,    30,     0,     0,   204,   208,   212,     0,     0, +   197,     0,     0,     0,     0,     0,     0,     0,     0,     0, +     0,     0,     0,   123,     0,    92,    93,     3,     4,    90, +    91,    94,    89,    85,    86,     0,     0,     0,     0,     0, +     0,     0,     0,     0,     0,     0,    88,    87,    47,    47, +    74,   136,   130,   133,   134,     0,     0,    67,   147,   148, +   149,   150,   151,   152,   153,     0,   155,   159,   158,   160, +     0,   169,     0,     0,     0,     0,   201,     0,     0,     0, +     0,     0,     0,     0,     0,     0,     0,     0,     0,     0, +     0,   124,     0,     0,     0,    80,   103,     0,     0,    84, +     0,    81,     0,     0,     0,     0,    68,    69,   129,   131, +     0,   138,    76,     0,     0,     0,     0,     0,     0,     0, +     0,     0,   215,     0,     0,   192,     0,   194,   195,   196, +     0,     0,     0,   191,     0,   213,     0,   201,     0,     0, +    79,     0,    82,    83,     0,     0,     0,     0,   135,   132, +   154,     0,     0,   184,   206,   205,   210,   209,   181,   200, +     0,     0,     0,   187,   188,   189,   184,     0,     0,     0, +     0,   102,     0,     0,     0,     0,     0,     0,   183,     0, +     0,     0,     0,     0,     0,   193,     0,   214,    96,     0, +     0,     0,     0,     0,     0,     0,     0,     0,     0,     0, +   182,   179,     0,   198,    95,     0,    98,    99,   100,   101, +     0,   172,     0,     0,     0,   207,   211,   180,     0,   170, +     0,   171,     0,     0,    97,     0,     0,     0,     0,     0, +     0,   177,     0,     0,   176,   173,     0,     0,     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,    61,    92,    40,    41,    91,   120, -      93,    60,    62,   123,   125,    42,    44,    99 +static const short yydefgoto[] = {    67, +   220,   233,   234,   235,   236,   164,   165,   194,   166,    18, +     9,    26,    68,    69,   167,    71,    72,    96,   176,   287, +   257,   288,    88,   427,     1,     2,   148,    38,    84,   151, +    73,   300,   244,   245,   246,    27,    77,    10,    33,    11, +    12,    21,   258,    74,   260,   349,    13,    29,    30,   140, +   404,    79,   201,   369,   370,   141,   142,   313,   143,   144  }; -# endif -/* YYR1[YYN] -- Symbol number of symbol that rule YYN derives.  */ -static const unsigned char yyr1[] = -{ -       0,   108,   109,   109,   110,   110,   111,   111,   111,   111, -     111,   112,   112,   112,   113,   113,   113,   113,   113,   113, -     114,   114,   115,   115,   115,   115,   116,   116,   116,   116, -     117,   117,   118,   118,   119,   119,   120,   120,   120,   120, -     120,   121,   121,   121,   121,   121,   122,   122,   123,   123, -     124,   125,   125,   125,   125,   125,   125,   125,   125,   125, -     125,   125,   125,   125,   126,   126,   126,   126,   126,   126, -     126,   126,   126,   126,   127,   127,   128,   128,   128,   128, -     129,   129,   129,   129,   129,   129,   129,   129,   129,   129, -     129,   129,   129,   129,   129,   129,   130,   130,   130,   130, -     130,   130,   130,   131,   131,   132,   132,   133,   134,   134, -     134,   134,   135,   135,   135,   135,   135,   135,   135,   136, -     136,   137,   137,   137,   138,   139,   139,   139,   140,   140, -     141,   141,   142,   143,   143,   144,   144,   144,   144,   145, -     146,   146,   147,   148,   148,   149,   151,   150,   152,   152, -     152,   152,   152,   152,   152,   152,   152,   153,   153,   154, -     154,   155,   156,   156,   157,   158,   158,   158,   159,   159, -     159,   159,   159,   159,   159,   159,   159,   160,   160,   161, -     162,   162,   163,   163,   164,   164,   165,   165,   166,   166, -     166,   166,   166,   166,   166,   166,   166,   166,   166,   166, -     166,   167,   167,   168,   168,   169,   169,   169,   169,   169, -     169,   169,   169 +static const short yypact[] = {-32768, +    40,   341,-32768,-32768,-32768,-32768,-32768,-32768,    62,    12, +-32768,-32768,   -20,-32768,-32768,   110,   -67,    48,   -50,-32768, +    62,    65,-32768,-32768,-32768,  1073,   -18,-32768,-32768,    71, +-32768,-32768,-32768,-32768,   -19,    -8,     2,-32768,   -15,  1073, +    31,    31,-32768,-32768,-32768,-32768,-32768,     8,-32768,-32768, +-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, +-32768,-32768,   123,   152,   163,   120,-32768,    71,    17,-32768, +-32768,   -36,-32768,-32768,-32768,-32768,-32768,  1228,-32768,   148, +    72,   170,   164,-32768,-32768,-32768,-32768,  1136,  1173,-32768, +    89,    90,-32768,-32768,   -36,    58,    94,   835,-32768,-32768, +  1136,-32768,   137,  1236,    27,   138,    62,-32768,-32768,-32768, +-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, +-32768,-32768,-32768,  1136,  1136,  1136,  1136,  1136,  1136,  1136, +-32768,-32768,  1136,  1136,  1136,  1136,  1136,  1136,  1136,-32768, +    62,-32768,    77,-32768,-32768,-32768,-32768,-32768,-32768,-32768, +   -35,-32768,   118,   167,   190,   173,   191,   175,   192,   177, +   193,   196,   197,   180,   194,   198,   519,-32768,  1136,  1136, +-32768,  1136,   872,-32768,    92,   108,   662,-32768,-32768,     8, +-32768,   662,   662,-32768,-32768,-32768,-32768,-32768,-32768,-32768, +-32768,-32768,-32768,   662,  1073,   100,   101,-32768,   662,   115, +   102,   182,   111,   113,   114,   119,   662,   662,   662,   121, +  1073,  1136,  1136,-32768,   203,-32768,-32768,-32768,-32768,-32768, +-32768,-32768,-32768,-32768,-32768,   132,   133,   134,   935,  1173, +   620,   208,   139,   140,   143,   144,-32768,-32768,   -74,   -29, +   -36,-32768,    71,-32768,   127,   117,   972,-32768,-32768,-32768, +-32768,-32768,-32768,-32768,-32768,  1173,-32768,-32768,-32768,-32768, +   128,-32768,   136,   662,    -6,    -2,   146,   662,   155,  1136, +  1136,  1136,  1136,  1136,   149,   151,   153,  1136,   662,   662, +   154,-32768,  1173,  1173,  1173,-32768,-32768,   -28,   -57,-32768, +    61,-32768,  1173,  1173,  1173,  1173,-32768,-32768,-32768,-32768, +  1036,-32768,-32768,   -11,   230,   238,   165,   662,   262,   662, +   263,  1136,-32768,   162,   662,-32768,   166,-32768,-32768,-32768, +   662,   662,   662,-32768,   171,-32768,  1136,   146,   235,   169, +-32768,  1173,-32768,-32768,   172,   183,   184,   185,-32768,-32768, +-32768,   662,   662,  1136,   186,-32768,   187,-32768,-32768,   188, +   662,   189,  1136,-32768,-32768,-32768,  1136,   662,   174,  1136, +  1173,-32768,  1173,  1173,  1173,  1173,   199,   200,   188,   176, +   218,   231,  1136,   202,   662,-32768,   206,-32768,-32768,   209, +   201,   211,   212,   213,   214,   266,     5,   254,   293,   294, +-32768,-32768,   215,-32768,-32768,  1173,-32768,-32768,-32768,-32768, +   662,-32768,   740,    42,   279,-32768,-32768,-32768,   216,-32768, +   210,-32768,   740,   662,-32768,   298,   219,   250,   662,   300, +   301,-32768,   662,   662,-32768,-32768,   323,   325,-32768  }; -/* 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,     2,     0,     1,     1,     1,     1, -       0,     0,     1,     1,     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,     3,     1,     1,     1,     1,     2,     2, -       2,     1,     4,     2,     5,     5,     3,     4,     0,     1, -       1,     3,     3,     3,     3,     3,     1,     0,     1,     1, -       1,     0,     2,     3,     1,     1,     3,     1,     0,     6, -       1,     1,     3,     1,     1,     2,     0,     3,     1,     1, -       1,     1,     1,     1,     1,     3,     1,     1,     1,     1, -       1,     2,     2,     2,     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,     4,     2,     7, -       1,     2,     0,     1,     0,     2,     5,     2,     5,     2, -       4,     6,     4 +static const short yypgoto[] = {-32768, +-32768,   251,   252,   255,   259,  -102,   -99,  -362,-32768,   302, +   310,   -81,   -38,-32768,   -26,-32768,   -54,   240,-32768,   -83, +   178,  -207,   297,-32768,-32768,-32768,-32768,-32768,-32768,-32768, +    -1,-32768,    39,-32768,-32768,   320,-32768,-32768,-32768,-32768, +   340,-32768,  -372,    56,   161,   -96,-32768,   333,-32768,-32768, +-32768,-32768,-32768,    36,    -7,-32768,-32768,    21,-32768,-32768  }; -/* 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[] = -{ -     118,     0,    40,   111,     1,   110,   146,    36,    37,    38, -      39,    41,   166,   108,   109,   166,   128,   129,     0,     0, -      40,     0,   113,    41,     0,    42,    43,    44,     0,     0, -     167,   163,    35,   143,   144,   145,   162,     0,     0,     0, -     116,     0,     0,     0,     0,    34,   147,    45,     2,     3, -      47,    51,    52,    53,    54,    55,    56,    57,    58,    59, -      60,    61,    62,    63,    64,     0,     0,     0,     0,   157, -       0,     0,    46,    65,    50,   158,    66,   140,   141,   142, -     204,   165,     0,     0,     0,   127,   117,   112,   105,   106, -       0,     0,    67,     0,     0,    49,    72,    74,     0,     0, -      79,    73,   203,     0,   187,     0,     0,     0,     0,    41, -     175,   176,     6,     7,     8,     9,    10,    11,    12,    13, -      14,    15,    16,    17,    18,    19,     0,     0,     0,     0, -       0,     0,     0,    20,    21,     0,     0,     0,     0,     0, -       0,     0,   164,    41,   179,     0,   200,   123,   120,   119, -     121,   122,   126,     0,   115,    51,    52,    53,    54,    55, -      56,    57,    58,    59,    60,    61,     0,     0,     0,     0, -     114,     0,     0,    71,     0,   138,    78,    76,     0,     0, -     191,   186,   169,   168,     0,     0,    25,    29,    24,    28, -      23,    27,    22,    26,    30,    31,     0,     0,   205,   207, -     209,     0,     0,   198,     0,     0,     0,     0,     0,     0, -       0,     0,     0,     0,     0,     0,   124,     0,    93,    94, -       4,     5,    91,    92,    95,    90,    86,    87,     0,     0, -       0,     0,     0,     0,     0,     0,     0,     0,     0,    89, -      88,    48,    48,    75,   137,   131,   134,   135,     0,     0, -      68,   148,   149,   150,   151,   152,   153,   154,     0,   156, -     160,   159,   161,     0,   170,     0,     0,     0,     0,   202, -       0,     0,     0,     0,     0,     0,     0,     0,     0,     0, -       0,     0,     0,     0,   125,     0,     0,     0,    81,   104, -       0,     0,    85,     0,    82,     0,     0,     0,     0,    69, -      70,   130,   132,     0,   139,    77,     0,     0,     0,     0, -       0,     0,     0,   212,     0,     0,   193,     0,   195,   196, -     197,     0,     0,     0,   192,     0,   210,     0,   202,     0, -       0,    80,     0,    83,    84,     0,     0,     0,     0,   136, -     133,   155,     0,     0,   185,   206,   208,   182,   201,     0, -       0,     0,   188,   189,   190,   185,     0,     0,     0,     0, -     103,     0,     0,     0,     0,     0,     0,   184,     0,     0, -       0,     0,   194,     0,   211,    97,     0,     0,     0,     0, -       0,     0,     0,     0,     0,   183,   180,     0,   199,    96, -       0,    99,   100,   101,   102,     0,   173,     0,     0,     0, -     181,     0,   171,     0,   172,     0,     0,    98,     0,     0, -       0,     0,     0,     0,   178,     0,     0,   177,   174 -}; -/* YYDEFGOTO[NTERM-NUM]. */ -static const short int yydefgoto[] = -{ -      -1,    69,   222,   235,   236,   237,   238,   166,   167,   196, -     168,    20,    11,    28,    70,    71,   169,    73,    74,    98, -     178,   289,   259,   290,    90,     1,     2,     3,   150,    40, -      86,   153,    75,   302,   246,   247,   248,    29,    79,    12, -      35,    13,    14,    23,   260,    76,   262,   347,    15,    31, -      32,   142,   398,    81,   203,   367,   368,   143,   144,   313, -     145,   146 +#define	YYLAST		1340 + + +static const short yytable[] = {    70, +    19,    85,    28,   192,   178,   168,   193,   181,   308,    31, +    75,    95,   310,    70,   184,   185,   186,   187,   188,   189, +   190,   191,   289,   291,   403,   195,   297,    39,    19,   198, +   411,    99,   202,   203,    28,   182,   204,   205,   206,  -106, +   417,   413,   210,    95,    43,   333,   309,   183,   304,   332, +   311,   184,   185,   186,   187,   188,   189,   190,   191,   211, +   -47,   152,    86,    87,     3,   214,    97,    40,    45,    99, +     4,   215,   331,   298,   177,    80,    99,   177,   332,     5, +     6,     7,     8,    83,    32,    76,    81,     5,     6,     7, +     8,   341,    14,    41,    15,   332,    82,   196,   197,   177, +   199,   200,   177,   177,   -48,   402,   177,   177,   177,   207, +   208,   209,   177,    98,   239,   240,   281,   241,    22,    23, +    24,    25,   146,   147,    46,    47,    90,    93,    49,    50, +    51,    52,    53,    54,    55,    56,    57,    58,    59,    60, +    61,    14,   412,    15,   216,   217,   243,   184,   185,   186, +   187,   188,   189,   190,   191,    91,   264,    35,    36,    37, +   212,   213,   171,    62,   172,   334,    92,   332,    70,   -24, +   -24,   145,   279,   149,   317,   -23,   -23,   -22,   -22,   -21, +   -21,   324,   218,   219,    70,   280,   177,   150,   169,   170, +   173,   179,   241,   -28,   -27,   -26,   -25,   221,   247,   328, +   329,   330,   -31,   -32,   222,   248,   265,   266,   269,   335, +   336,   337,   338,   268,   302,    63,   270,   271,    64,   272, +   273,    65,   238,    66,    94,   274,   282,   278,   283,   284, +   285,   292,   259,   301,   305,   293,   294,   259,   259,   295, +   296,   299,   306,   316,   177,   318,   319,   320,   362,   259, +   342,   177,   312,   315,   259,   321,   376,   322,   343,   323, +   327,   344,   259,   259,   259,   346,   348,   357,   351,   360, +   389,   379,   353,   388,   243,   361,   391,   381,   363,   382, +   383,   384,   385,   390,   192,   177,   401,   193,   405,   364, +   365,   366,   371,   372,   373,   375,   406,   407,   387,   414, +   358,   192,   392,   394,   193,   386,   395,   396,   397,   398, +   399,   400,   409,   415,   421,   408,   416,   177,   419,   259, +   423,   424,   428,   259,   429,   420,   177,    42,   136,   137, +   177,    78,   138,   380,   259,   259,   139,   175,    89,   340, +    44,    20,   261,   262,   237,    34,   177,   350,   359,   377, +     0,     0,     0,     0,   263,     0,     0,     0,     0,   267, +   -34,     0,    14,   259,    15,   259,     0,   275,   276,   277, +   259,     4,   -34,   -34,     0,     0,   259,   259,   259,     0, +   -34,   -34,   -34,   -34,     0,     0,   -34,    16,     0,     0, +     0,     0,     0,     0,    17,     0,     0,   259,   259,     0, +     0,     0,     0,     0,     0,     0,   259,     0,     0,     0, +     0,     0,     0,   259,     0,     0,     0,     0,     0,     0, +     0,     0,     0,     0,   307,     0,     0,     0,   314,     0, +   259,     0,     0,     0,     0,     0,     0,     0,     0,   325, +   326,     0,     0,     0,     0,     0,     0,     0,     0,     0, +     0,     0,     0,     0,     0,     0,   259,     0,     0,     0, +     0,     0,     0,     0,     0,     0,     0,     0,   345,   259, +   347,     0,     0,     0,   259,   352,     0,     0,   259,   259, +     0,   354,   355,   356,     0,     0,     0,     0,     0,     0, +     0,     0,     0,     0,     0,     0,     0,     0,     0,     0, +     0,     0,   367,   368,     0,     0,     0,     0,     0,     0, +     0,   374,     0,     0,     0,     0,     0,     0,   378,     0, +     0,     0,     0,    46,    47,     0,     0,     0,     0,     0, +     0,     0,     0,     0,     0,   393,     0,     0,     0,     0, +    14,     0,    15,     0,   223,     0,     0,     0,     0,     0, +     0,     0,     0,     0,     0,   224,   225,     0,     0,     0, +     0,   410,     0,     0,     0,     0,     0,     0,     0,     0, +     0,     0,     0,     0,   418,     0,     0,     0,     0,   422, +     0,     0,     0,   425,   426,   110,   111,   112,   113,   114, +   115,   116,   117,   118,   119,   120,   121,   122,   123,     0, +     0,     0,     0,     0,   226,     0,   227,   228,   131,   132, +     0,     0,     0,     0,     0,     0,     0,   229,     0,     0, +   230,     0,   231,     0,    46,    47,   232,    93,   153,   154, +   155,   156,   157,   158,   159,   160,   161,   162,   163,    60, +    61,    14,     0,    15,     0,     0,     0,     0,     0,     0, +     0,     0,     0,     0,     0,     0,     0,     0,     0,     0, +     0,     0,     0,    62,   249,   250,    46,    47,   251,     0, +     0,     0,     0,     0,     0,     0,     0,     0,     0,     0, +     0,     0,     0,    14,     0,    15,     0,     0,   252,   253, +     0,     0,     0,     0,     0,     0,     0,     0,   254,   255, +     0,     0,     0,     0,     0,     0,     0,     0,     0,     0, +     0,     0,     0,     0,     0,    63,     0,     0,    64,     0, +     0,    65,     0,    66,   290,     0,     0,     0,   110,   111, +   112,   113,   114,   115,   116,   117,   118,   119,   120,   121, +   122,   123,   249,   250,     0,     0,   251,   226,     0,   227, +   228,   131,   132,     0,     0,     0,     0,     0,     0,     0, +     0,     0,     0,   256,     0,     0,   252,   253,     0,     0, +     0,     0,     0,     0,     0,     0,   254,   255,     0,     0, +     0,     0,     0,     0,     0,     0,     0,     0,     0,     0, +     0,     0,     0,     0,     0,     0,     0,     0,     0,     0, +     0,     0,     0,     0,     0,     0,   110,   111,   112,   113, +   114,   115,   116,   117,   118,   119,   120,   121,   122,   123, +     0,     0,     0,     0,     0,   226,     0,   227,   228,   131, +   132,     0,     0,     0,     0,     0,     0,     0,     0,    46, +    47,   256,    93,    49,    50,    51,    52,    53,    54,    55, +    56,    57,    58,    59,    60,    61,    14,     0,    15,     0, +     0,     0,     0,     0,     0,     0,     0,     0,     0,     0, +   174,     0,     0,     0,     0,     0,    46,    47,    62,    93, +    49,    50,    51,    52,    53,    54,    55,    56,    57,    58, +    59,    60,    61,    14,     0,    15,     0,     0,     0,     0, +     0,     0,     0,     0,     0,     0,     0,   242,     0,     0, +     0,     0,     0,     0,     0,    62,     0,     0,     0,     0, +     0,     0,     0,     0,     0,     0,     0,     0,     0,     0, +    63,     0,     0,    64,     0,     0,    65,     0,    66,    46, +    47,     0,    93,   153,   154,   155,   156,   157,   158,   159, +   160,   161,   162,   163,    60,    61,    14,     0,    15,     0, +     0,     0,     0,     0,     0,     0,     0,    63,     0,     0, +    64,     0,     0,    65,     0,    66,    46,    47,    62,    93, +    49,    50,    51,    52,    53,    54,    55,    56,    57,    58, +    59,    60,    61,    14,     0,    15,     0,     0,     0,     0, +     0,     0,     0,     0,     0,     0,     0,   303,     0,     0, +     0,     0,     0,     0,     0,    62,     0,     0,     0,     0, +     0,     0,     0,     0,     0,     0,     0,     0,     0,     0, +    63,     0,     0,    64,     0,   286,    65,     0,    66,     0, +    46,    47,     0,    93,    49,    50,    51,    52,    53,    54, +    55,    56,    57,    58,    59,    60,    61,    14,     0,    15, +     0,     0,     0,     0,     0,     0,     0,    63,     0,     0, +    64,   339,     0,    65,     0,    66,     0,    46,    47,    62, +    48,    49,    50,    51,    52,    53,    54,    55,    56,    57, +    58,    59,    60,    61,    14,     0,    15,     0,     0,     0, +     0,     0,     0,     0,     0,     0,     0,     0,     0,     0, +     0,     0,     0,     0,     0,     0,    62,     0,     0,     0, +     0,     0,     0,     0,     0,     0,     0,     0,     0,     0, +     0,    63,     0,     0,    64,     0,     0,    65,     0,    66, +    46,    47,     0,    93,    49,    50,    51,    52,    53,    54, +    55,    56,    57,    58,    59,    60,    61,    14,     0,    15, +     0,     0,     0,     0,     0,     0,     0,     0,    63,     0, +     0,    64,     0,     0,    65,     0,    66,    46,    47,    62, +    93,   153,   154,   155,   156,   157,   158,   159,   160,   161, +   162,   163,    60,    61,    14,     0,    15,     0,     0,     0, +     0,     0,     0,     0,     0,     0,     0,     0,     0,     0, +     0,     0,     0,     0,     0,     0,    62,     0,     0,     0, +     0,     0,     0,     0,     0,     0,     0,     0,     0,     0, +     0,    63,     0,     0,    64,     0,     0,    65,     0,    66, +    46,    47,     0,   180,    49,    50,    51,    52,    53,    54, +    55,    56,    57,    58,    59,    60,    61,    14,     0,    15, +     0,   100,     0,     0,     0,     0,     0,     0,    63,     0, +     0,    64,   101,     0,    65,     0,    66,     0,     0,    62, +     0,     0,   102,   103,     0,     0,     0,     0,   104,   105, +   106,   107,   108,   109,   110,   111,   112,   113,   114,   115, +   116,   117,   118,   119,   120,   121,   122,   123,   124,   125, +   126,     0,     0,   127,   128,   129,   130,   131,   132,   133, +   134,   135,     0,     0,     0,     0,     0,     0,     0,     0, +     0,    63,     0,     0,    64,     0,     0,    65,     0,    66  }; -/* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing -   STATE-NUM.  */ -#define YYPACT_NINF -383 -static const short int yypact[] = -{ -    -383,    48,   136,   517,  -383,  -383,  -383,  -383,  -383,  -383, -    -383,    27,    36,  -383,  -383,   -17,  -383,  -383,    46,   -21, -      -3,     3,  -383,    27,    73,  -383,  -383,  -383,   879,   -24, -    -383,  -383,   113,  -383,  -383,  -383,  -383,    20,    51,    60, -    -383,    21,   879,   -13,   -13,  -383,  -383,  -383,  -383,  -383, -      62,  -383,  -383,  -383,  -383,  -383,  -383,  -383,  -383,  -383, -    -383,  -383,  -383,  -383,  -383,   156,   162,   164,   480,  -383, -     113,    76,  -383,  -383,   -25,  -383,  -383,  -383,  -383,  -383, -     992,  -383,   149,    37,   170,   157,  -383,  -383,  -383,  -383, -     900,   941,  -383,    81,    83,  -383,  -383,   -25,    34,    87, -     643,  -383,  -383,   900,  -383,   130,   999,    32,   243,    27, -    -383,  -383,  -383,  -383,  -383,  -383,  -383,  -383,  -383,  -383, -    -383,  -383,  -383,  -383,  -383,  -383,   900,   900,   900,   900, -     900,   900,   900,  -383,  -383,   900,   900,   900,   900,   900, -     900,   900,  -383,    27,  -383,    22,  -383,  -383,  -383,  -383, -    -383,  -383,  -383,   -82,  -383,   122,   148,   184,   153,   185, -     159,   186,   161,   187,   191,   193,   167,   197,   195,   380, -    -383,   900,   900,  -383,   900,   680,  -383,    97,   114,   549, -    -383,  -383,    62,  -383,   549,   549,  -383,  -383,  -383,  -383, -    -383,  -383,  -383,  -383,  -383,  -383,   549,   879,   108,   109, -    -383,   549,   118,   111,   183,   116,   117,   119,   121,   549, -     549,   549,   124,   879,   900,   900,  -383,   196,  -383,  -383, -    -383,  -383,  -383,  -383,  -383,  -383,  -383,  -383,   123,   132, -     135,   742,   941,   501,   208,   137,   144,   145,   147,  -383, -    -383,   -84,   -12,   -25,  -383,   113,  -383,   155,   154,   779, -    -383,  -383,  -383,  -383,  -383,  -383,  -383,  -383,   941,  -383, -    -383,  -383,  -383,   158,  -383,   160,   549,   235,   247,   173, -     549,   165,   900,   900,   900,   900,   900,   174,   175,   176, -     900,   549,   549,   177,  -383,   941,   941,   941,  -383,  -383, -     -54,   -57,  -383,    42,  -383,   941,   941,   941,   941,  -383, -    -383,  -383,  -383,   842,  -383,  -383,   -30,   244,   246,   172, -     549,   549,   900,  -383,   179,   549,  -383,   180,  -383,  -383, -    -383,   549,   549,   549,  -383,   194,  -383,   900,   173,   241, -     181,  -383,   941,  -383,  -383,   190,   198,   199,   202,  -383, -    -383,  -383,   549,   549,   900,  -383,  -383,  -383,   205,   549, -     206,   900,  -383,  -383,  -383,   900,   549,   192,   900,   941, -    -383,   941,   941,   941,   941,   207,   203,   205,   200,   900, -     214,   549,  -383,   218,  -383,  -383,   220,   212,   222,   223, -     224,   225,   281,    17,   268,  -383,  -383,   226,  -383,  -383, -     941,  -383,  -383,  -383,  -383,   549,  -383,    54,    53,   303, -    -383,   228,  -383,   227,  -383,    54,   549,  -383,   307,   231, -     265,   549,   310,   311,  -383,   549,   549,  -383,  -383 +static const short yycheck[] = {    26, +     2,    40,    23,   106,   101,    89,   106,   104,    15,    30, +    29,    66,    15,    40,    10,    11,    12,    13,    14,    15, +    16,    17,   230,   231,   387,   107,   101,    95,    30,   126, +   403,   106,   129,   130,    23,     9,   133,   134,   135,     0, +   413,   404,   139,    98,    95,   103,    53,    21,   256,   107, +    53,    10,    11,    12,    13,    14,    15,    16,    17,   141, +    97,    88,    32,    33,    25,   101,    68,    20,     4,   106, +    31,   107,   101,   103,   101,    95,   106,   104,   107,    40, +    41,    42,    43,    99,   105,   104,    95,    40,    41,    42, +    43,   103,    22,    46,    24,   107,    95,   124,   125,   126, +   127,   128,   129,   130,    97,   101,   133,   134,   135,   136, +   137,   138,   139,    97,   169,   170,   213,   172,    57,    58, +    59,    60,    51,    52,     5,     6,     4,     8,     9,    10, +    11,    12,    13,    14,    15,    16,    17,    18,    19,    20, +    21,    22,   101,    24,    27,    28,   173,    10,    11,    12, +    13,    14,    15,    16,    17,     4,   195,    48,    49,    50, +    84,    85,   105,    44,   107,   105,     4,   107,   195,     3, +     4,    24,   211,     4,   271,     3,     4,     3,     4,     3, +     4,   278,     3,     4,   211,   212,   213,    24,   100,   100, +    97,    55,   247,     4,     4,     4,     4,     4,   107,   283, +   284,   285,     7,     7,     7,    98,   107,   107,   107,   293, +   294,   295,   296,    99,    98,    96,    35,   107,    99,   107, +   107,   102,   167,   104,   105,   107,    24,   107,    97,    97, +    97,    24,   177,   107,   107,    97,    97,   182,   183,    97, +    97,   243,   107,   270,   271,   272,   273,   274,   332,   194, +    21,   278,   107,    99,   199,   107,   353,   107,    21,   107, +   107,    97,   207,   208,   209,     4,     4,    97,   107,    35, +    53,    98,   107,    98,   301,   107,   373,   361,   107,   363, +   364,   365,   366,    53,   387,   312,    21,   387,    35,   107, +   107,   107,   107,   107,   107,   107,     4,     4,    99,    21, +   327,   404,   101,    98,   404,   107,    98,   107,    98,    98, +    98,    98,   396,    98,    65,   101,   107,   344,    21,   264, +    21,    21,     0,   268,     0,   107,   353,    18,    78,    78, +   357,    30,    78,   360,   279,   280,    78,    98,    42,   301, +    21,     2,   182,   183,   167,    13,   373,   312,   328,   357, +    -1,    -1,    -1,    -1,   194,    -1,    -1,    -1,    -1,   199, +    20,    -1,    22,   308,    24,   310,    -1,   207,   208,   209, +   315,    31,    32,    33,    -1,    -1,   321,   322,   323,    -1, +    40,    41,    42,    43,    -1,    -1,    46,    47,    -1,    -1, +    -1,    -1,    -1,    -1,    54,    -1,    -1,   342,   343,    -1, +    -1,    -1,    -1,    -1,    -1,    -1,   351,    -1,    -1,    -1, +    -1,    -1,    -1,   358,    -1,    -1,    -1,    -1,    -1,    -1, +    -1,    -1,    -1,    -1,   264,    -1,    -1,    -1,   268,    -1, +   375,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   279, +   280,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1, +    -1,    -1,    -1,    -1,    -1,    -1,   401,    -1,    -1,    -1, +    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   308,   414, +   310,    -1,    -1,    -1,   419,   315,    -1,    -1,   423,   424, +    -1,   321,   322,   323,    -1,    -1,    -1,    -1,    -1,    -1, +    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1, +    -1,    -1,   342,   343,    -1,    -1,    -1,    -1,    -1,    -1, +    -1,   351,    -1,    -1,    -1,    -1,    -1,    -1,   358,    -1, +    -1,    -1,    -1,     5,     6,    -1,    -1,    -1,    -1,    -1, +    -1,    -1,    -1,    -1,    -1,   375,    -1,    -1,    -1,    -1, +    22,    -1,    24,    -1,    26,    -1,    -1,    -1,    -1,    -1, +    -1,    -1,    -1,    -1,    -1,    37,    38,    -1,    -1,    -1, +    -1,   401,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1, +    -1,    -1,    -1,    -1,   414,    -1,    -1,    -1,    -1,   419, +    -1,    -1,    -1,   423,   424,    67,    68,    69,    70,    71, +    72,    73,    74,    75,    76,    77,    78,    79,    80,    -1, +    -1,    -1,    -1,    -1,    86,    -1,    88,    89,    90,    91, +    -1,    -1,    -1,    -1,    -1,    -1,    -1,    99,    -1,    -1, +   102,    -1,   104,    -1,     5,     6,   108,     8,     9,    10, +    11,    12,    13,    14,    15,    16,    17,    18,    19,    20, +    21,    22,    -1,    24,    -1,    -1,    -1,    -1,    -1,    -1, +    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1, +    -1,    -1,    -1,    44,     3,     4,     5,     6,     7,    -1, +    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1, +    -1,    -1,    -1,    22,    -1,    24,    -1,    -1,    27,    28, +    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    37,    38, +    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1, +    -1,    -1,    -1,    -1,    -1,    96,    -1,    -1,    99,    -1, +    -1,   102,    -1,   104,   105,    -1,    -1,    -1,    67,    68, +    69,    70,    71,    72,    73,    74,    75,    76,    77,    78, +    79,    80,     3,     4,    -1,    -1,     7,    86,    -1,    88, +    89,    90,    91,    -1,    -1,    -1,    -1,    -1,    -1,    -1, +    -1,    -1,    -1,   102,    -1,    -1,    27,    28,    -1,    -1, +    -1,    -1,    -1,    -1,    -1,    -1,    37,    38,    -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,    67,    68,    69,    70, +    71,    72,    73,    74,    75,    76,    77,    78,    79,    80, +    -1,    -1,    -1,    -1,    -1,    86,    -1,    88,    89,    90, +    91,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,     5, +     6,   102,     8,     9,    10,    11,    12,    13,    14,    15, +    16,    17,    18,    19,    20,    21,    22,    -1,    24,    -1, +    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1, +    36,    -1,    -1,    -1,    -1,    -1,     5,     6,    44,     8, +     9,    10,    11,    12,    13,    14,    15,    16,    17,    18, +    19,    20,    21,    22,    -1,    24,    -1,    -1,    -1,    -1, +    -1,    -1,    -1,    -1,    -1,    -1,    -1,    36,    -1,    -1, +    -1,    -1,    -1,    -1,    -1,    44,    -1,    -1,    -1,    -1, +    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1, +    96,    -1,    -1,    99,    -1,    -1,   102,    -1,   104,     5, +     6,    -1,     8,     9,    10,    11,    12,    13,    14,    15, +    16,    17,    18,    19,    20,    21,    22,    -1,    24,    -1, +    -1,    -1,    -1,    -1,    -1,    -1,    -1,    96,    -1,    -1, +    99,    -1,    -1,   102,    -1,   104,     5,     6,    44,     8, +     9,    10,    11,    12,    13,    14,    15,    16,    17,    18, +    19,    20,    21,    22,    -1,    24,    -1,    -1,    -1,    -1, +    -1,    -1,    -1,    -1,    -1,    -1,    -1,    36,    -1,    -1, +    -1,    -1,    -1,    -1,    -1,    44,    -1,    -1,    -1,    -1, +    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1, +    96,    -1,    -1,    99,    -1,   101,   102,    -1,   104,    -1, +     5,     6,    -1,     8,     9,    10,    11,    12,    13,    14, +    15,    16,    17,    18,    19,    20,    21,    22,    -1,    24, +    -1,    -1,    -1,    -1,    -1,    -1,    -1,    96,    -1,    -1, +    99,    36,    -1,   102,    -1,   104,    -1,     5,     6,    44, +     8,     9,    10,    11,    12,    13,    14,    15,    16,    17, +    18,    19,    20,    21,    22,    -1,    24,    -1,    -1,    -1, +    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1, +    -1,    -1,    -1,    -1,    -1,    -1,    44,    -1,    -1,    -1, +    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1, +    -1,    96,    -1,    -1,    99,    -1,    -1,   102,    -1,   104, +     5,     6,    -1,     8,     9,    10,    11,    12,    13,    14, +    15,    16,    17,    18,    19,    20,    21,    22,    -1,    24, +    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    96,    -1, +    -1,    99,    -1,    -1,   102,    -1,   104,     5,     6,    44, +     8,     9,    10,    11,    12,    13,    14,    15,    16,    17, +    18,    19,    20,    21,    22,    -1,    24,    -1,    -1,    -1, +    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1, +    -1,    -1,    -1,    -1,    -1,    -1,    44,    -1,    -1,    -1, +    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1, +    -1,    96,    -1,    -1,    99,    -1,    -1,   102,    -1,   104, +     5,     6,    -1,     8,     9,    10,    11,    12,    13,    14, +    15,    16,    17,    18,    19,    20,    21,    22,    -1,    24, +    -1,    34,    -1,    -1,    -1,    -1,    -1,    -1,    96,    -1, +    -1,    99,    45,    -1,   102,    -1,   104,    -1,    -1,    44, +    -1,    -1,    55,    56,    -1,    -1,    -1,    -1,    61,    62, +    63,    64,    65,    66,    67,    68,    69,    70,    71,    72, +    73,    74,    75,    76,    77,    78,    79,    80,    81,    82, +    83,    -1,    -1,    86,    87,    88,    89,    90,    91,    92, +    93,    94,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1, +    -1,    96,    -1,    -1,    99,    -1,    -1,   102,    -1,   104  }; +/* -*-C-*-  Note some compilers choke on comments on `#line' lines.  */ +#line 3 "/usr/share/bison.simple" +/* This file comes from bison-1.28.  */ -/* YYPGOTO[NTERM-NUM].  */ -static const short int yypgoto[] = -{ -    -383,  -383,  -383,   254,   262,   264,   272,  -106,  -105,  -372, -    -383,   313,   333,  -101,   -38,  -383,   -28,  -383,   -56,   255, -    -383,   -90,   188,  -223,   312,  -383,  -383,  -383,  -383,  -383, -    -383,  -383,     4,  -383,    55,  -383,  -383,   331,  -383,  -383, -    -383,  -383,   356,  -383,  -382,    25,    28,   -81,  -383,   345, -    -383,  -383,  -383,  -383,  -383,    49,     7,  -383,  -383,    35, -    -383,  -383 -}; +/* Skeleton output parser for bison, +   Copyright (C) 1984, 1989, 1990 Free Software Foundation, Inc. -/* YYTABLE[YYPACT[STATE-NUM]].  What to do in state STATE-NUM.  If -   positive, shift that token.  If negative, reduce the rule which -   number is the opposite.  If zero, do what YYDEFACT says. -   If YYTABLE_NINF, syntax error.  */ -#define YYTABLE_NINF -108 -static const short int yytable[] = -{ -      72,   170,   194,   195,    87,    77,    30,    21,   197,   291, -     293,   397,    97,    33,    72,   403,   299,    42,   216,    88, -      89,   101,   180,   409,   217,   183,   405,   186,   187,   188, -     189,   190,   191,   192,   193,   306,    21,     7,     8,     9, -      10,   184,   213,    43,    97,   333,   331,   200,     4,   332, -     204,   205,   332,   185,   206,   207,   208,   251,   252,    30, -     212,   253,   154,   186,   187,   188,   189,   190,   191,   192, -     193,   -48,   341,    41,    99,   179,   332,    47,   179,    78, -     101,   254,   255,    24,    25,    26,    27,    34,   148,   149, -     300,   256,   257,   101,    37,    38,    39,    45,   198,   199, -     179,   201,   202,   179,   179,   214,   215,   179,   179,   179, -     209,   210,   211,   179,    82,   241,   242,   396,   243,    85, -     112,   113,   114,   115,   116,   117,   118,   119,   120,   121, -     122,   123,   124,   125,   283,    16,  -107,    17,   173,   228, -     174,   229,   230,   133,   134,    83,   334,   245,   332,   218, -     219,   -25,   -25,   404,    84,   258,   -24,   -24,   -49,   266, -      92,     5,   -23,   -23,   -22,   -22,    93,     6,    94,    72, -     220,   221,   100,   147,   151,   281,     7,     8,     9,    10, -     171,   152,   172,   175,   181,    72,   282,   179,   -29,   -28, -     -27,   -26,   317,   243,   240,   328,   329,   330,   -32,   324, -     -33,   223,   224,   249,   261,   335,   336,   337,   338,   261, -     261,   250,   263,   264,   267,   268,   270,   271,   272,   285, -     284,   261,   273,   274,   265,   275,   261,   276,   286,   269, -     280,   287,   294,   295,   261,   261,   261,   277,   278,   279, -     296,   297,   360,   298,   316,   179,   318,   319,   320,   301, -     310,   304,   179,   186,   187,   188,   189,   190,   191,   192, -     193,   303,   311,   315,   307,   342,   308,   343,   344,   377, -     372,   378,   379,   380,   381,   245,   358,   194,   195,   312, -     321,   322,   323,   327,   179,   349,   351,   359,   385,   375, -     355,   261,   194,   195,   309,   261,   361,   384,   314,   356, -     401,   383,   395,   399,   362,   363,   261,   261,   364,   325, -     326,   369,   371,   382,   386,   388,   179,   389,   390,   391, -     392,   393,   394,   179,   406,   407,   400,   179,   411,   413, -     376,   415,   416,   408,   138,   261,   261,   412,   345,   346, -     261,   179,   139,   350,   140,    80,   261,   261,   261,   352, -     353,   354,   141,    44,    46,   177,    91,   239,   340,    22, -      36,   348,   373,   357,     0,     0,     0,   261,   261,     0, -     365,   366,     0,     0,   261,     0,     0,   370,     0,     0, -       0,   261,     0,     0,   374,    48,    49,     0,     0,     0, -       0,     0,     0,     0,     0,     0,   261,     0,     0,   387, -       0,     0,    16,     0,    17,     0,   225,     0,     0,     0, -       0,     0,     0,     0,     0,     0,     0,   226,   227,     0, -     261,     0,     0,   402,     0,     0,     0,     0,     0,     0, -       0,   261,     0,     0,   410,     0,   261,     0,     0,   414, -     261,   261,     0,   417,   418,     0,   112,   113,   114,   115, -     116,   117,   118,   119,   120,   121,   122,   123,   124,   125, -       0,     0,     0,     0,     0,   228,     0,   229,   230,   133, -     134,     0,     0,     0,     0,     0,     0,     0,   231,     0, -       0,   232,     0,   233,     0,    48,    49,   234,    95,    51, -      52,    53,    54,    55,    56,    57,    58,    59,    60,    61, -      62,    63,    16,     0,    17,     0,    48,    49,     0,    95, -     155,   156,   157,   158,   159,   160,   161,   162,   163,   164, -     165,    62,    63,    16,    64,    17,     0,     0,     0,     0, -       0,     0,     0,     0,     0,     0,     0,   -35,     0,    16, -       0,    17,     0,     0,     0,    64,     0,     0,     6,   -35, -     -35,     0,   251,   252,    48,    49,   253,   -35,   -35,   -35, -     -35,     0,     0,   -35,    18,     0,     0,     0,     0,     0, -      19,    16,     0,    17,     0,    65,   254,   255,    66,     0, -       0,    67,     0,    68,    96,     0,   256,   257,     0,     0, -       0,     0,     0,     0,     0,     0,    65,     0,     0,    66, -       0,     0,    67,     0,    68,   292,     0,     0,     0,     0, -       0,     0,     0,     0,     0,   112,   113,   114,   115,   116, -     117,   118,   119,   120,   121,   122,   123,   124,   125,     0, -       0,     0,     0,     0,   228,     0,   229,   230,   133,   134, -       0,     0,     0,     0,     0,     0,     0,     0,    48,    49, -     258,    95,    51,    52,    53,    54,    55,    56,    57,    58, -      59,    60,    61,    62,    63,    16,     0,    17,     0,     0, -       0,     0,     0,     0,     0,     0,     0,     0,     0,   176, -       0,     0,     0,     0,     0,    48,    49,    64,    95,    51, -      52,    53,    54,    55,    56,    57,    58,    59,    60,    61, -      62,    63,    16,     0,    17,     0,     0,     0,     0,     0, -       0,     0,     0,     0,     0,     0,   244,     0,     0,     0, -       0,     0,     0,     0,    64,     0,     0,     0,     0,     0, -       0,     0,     0,     0,     0,     0,     0,     0,    65,     0, -       0,    66,     0,     0,    67,     0,    68,    48,    49,     0, -      95,   155,   156,   157,   158,   159,   160,   161,   162,   163, -     164,   165,    62,    63,    16,     0,    17,     0,     0,     0, -       0,     0,     0,     0,     0,    65,     0,     0,    66,     0, -       0,    67,     0,    68,    48,    49,    64,    95,    51,    52, -      53,    54,    55,    56,    57,    58,    59,    60,    61,    62, -      63,    16,     0,    17,     0,     0,     0,     0,     0,     0, -       0,     0,     0,     0,     0,   305,     0,     0,     0,     0, -       0,     0,     0,    64,     0,     0,     0,     0,     0,     0, -       0,     0,     0,     0,     0,     0,     0,    65,     0,     0, -      66,     0,   288,    67,     0,    68,     0,    48,    49,     0, -      95,    51,    52,    53,    54,    55,    56,    57,    58,    59, -      60,    61,    62,    63,    16,     0,    17,     0,     0,     0, -       0,     0,     0,     0,    65,     0,     0,    66,   339,     0, -      67,     0,    68,     0,    48,    49,    64,    50,    51,    52, -      53,    54,    55,    56,    57,    58,    59,    60,    61,    62, -      63,    16,     0,    17,     0,    48,    49,     0,    95,    51, -      52,    53,    54,    55,    56,    57,    58,    59,    60,    61, -      62,    63,    16,    64,    17,     0,     0,     0,     0,     0, -       0,     0,     0,     0,     0,     0,     0,    65,     0,     0, -      66,     0,     0,    67,    64,    68,    48,    49,     0,    95, -     155,   156,   157,   158,   159,   160,   161,   162,   163,   164, -     165,    62,    63,    16,     0,    17,     0,     0,     0,     0, -       0,     0,     0,     0,    65,     0,     0,    66,     0,     0, -      67,     0,    68,     0,     0,    64,     0,     0,     0,     0, -       0,     0,     0,     0,     0,    65,     0,     0,    66,     0, -       0,    67,     0,    68,    48,    49,     0,   182,    51,    52, -      53,    54,    55,    56,    57,    58,    59,    60,    61,    62, -      63,    16,     0,    17,     0,     0,   102,     0,     0,     0, -       0,     0,     0,     0,     0,     0,    65,   103,     0,    66, -       0,     0,    67,    64,    68,     0,   104,   105,     0,     0, -       0,     0,   106,   107,   108,   109,   110,   111,   112,   113, -     114,   115,   116,   117,   118,   119,   120,   121,   122,   123, -     124,   125,   126,   127,   128,     0,     0,   129,   130,   131, -     132,   133,   134,   135,   136,   137,     0,     0,     0,     0, -       0,     0,     0,     0,    65,     0,     0,    66,     0,     0, -      67,     0,    68 -}; +   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. -static const short int yycheck[] = -{ -      28,    91,   108,   108,    42,    29,    23,     3,   109,   232, -     233,   383,    68,    30,    42,   397,   100,    20,   100,    32, -      33,   105,   103,   405,   106,   106,   398,    10,    11,    12, -      13,    14,    15,    16,    17,   258,    32,    40,    41,    42, -      43,     9,   143,    46,   100,   102,   100,   128,     0,   106, -     131,   132,   106,    21,   135,   136,   137,     3,     4,    23, -     141,     7,    90,    10,    11,    12,    13,    14,    15,    16, -      17,    96,   102,    94,    70,   103,   106,     4,   106,   103, -     105,    27,    28,    56,    57,    58,    59,   104,    51,    52, -     102,    37,    38,   105,    48,    49,    50,    94,   126,   127, -     128,   129,   130,   131,   132,    83,    84,   135,   136,   137, -     138,   139,   140,   141,    94,   171,   172,   100,   174,    98, -      66,    67,    68,    69,    70,    71,    72,    73,    74,    75, -      76,    77,    78,    79,   215,    22,     0,    24,   104,    85, -     106,    87,    88,    89,    90,    94,   104,   175,   106,    27, -      28,     3,     4,   100,    94,   101,     3,     4,    96,   197, -       4,    25,     3,     4,     3,     4,     4,    31,     4,   197, -       3,     4,    96,    24,     4,   213,    40,    41,    42,    43, -      99,    24,    99,    96,    54,   213,   214,   215,     4,     4, -       4,     4,   273,   249,   169,   285,   286,   287,     7,   280, -       7,     4,     7,   106,   179,   295,   296,   297,   298,   184, -     185,    97,   184,   185,   106,   106,    98,   106,    35,    96, -      24,   196,   106,   106,   196,   106,   201,   106,    96,   201, -     106,    96,    24,    96,   209,   210,   211,   209,   210,   211, -      96,    96,   332,    96,   272,   273,   274,   275,   276,   245, -      15,    97,   280,    10,    11,    12,    13,    14,    15,    16, -      17,   106,    15,    98,   106,    21,   106,    21,    96,   359, -     351,   361,   362,   363,   364,   303,    35,   383,   383,   106, -     106,   106,   106,   106,   312,   106,   106,   106,   369,    97, -      96,   266,   398,   398,   266,   270,   106,    97,   270,   327, -     390,    98,    21,    35,   106,   106,   281,   282,   106,   281, -     282,   106,   106,   106,   100,    97,   344,    97,   106,    97, -      97,    97,    97,   351,    21,    97,   100,   355,    21,    64, -     358,    21,    21,   106,    80,   310,   311,   106,   310,   311, -     315,   369,    80,   315,    80,    32,   321,   322,   323,   321, -     322,   323,    80,    20,    23,   100,    44,   169,   303,     3, -      15,   312,   355,   328,    -1,    -1,    -1,   342,   343,    -1, -     342,   343,    -1,    -1,   349,    -1,    -1,   349,    -1,    -1, -      -1,   356,    -1,    -1,   356,     5,     6,    -1,    -1,    -1, -      -1,    -1,    -1,    -1,    -1,    -1,   371,    -1,    -1,   371, -      -1,    -1,    22,    -1,    24,    -1,    26,    -1,    -1,    -1, -      -1,    -1,    -1,    -1,    -1,    -1,    -1,    37,    38,    -1, -     395,    -1,    -1,   395,    -1,    -1,    -1,    -1,    -1,    -1, -      -1,   406,    -1,    -1,   406,    -1,   411,    -1,    -1,   411, -     415,   416,    -1,   415,   416,    -1,    66,    67,    68,    69, -      70,    71,    72,    73,    74,    75,    76,    77,    78,    79, -      -1,    -1,    -1,    -1,    -1,    85,    -1,    87,    88,    89, -      90,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    98,    -1, -      -1,   101,    -1,   103,    -1,     5,     6,   107,     8,     9, -      10,    11,    12,    13,    14,    15,    16,    17,    18,    19, -      20,    21,    22,    -1,    24,    -1,     5,     6,    -1,     8, -       9,    10,    11,    12,    13,    14,    15,    16,    17,    18, -      19,    20,    21,    22,    44,    24,    -1,    -1,    -1,    -1, -      -1,    -1,    -1,    -1,    -1,    -1,    -1,    20,    -1,    22, -      -1,    24,    -1,    -1,    -1,    44,    -1,    -1,    31,    32, -      33,    -1,     3,     4,     5,     6,     7,    40,    41,    42, -      43,    -1,    -1,    46,    47,    -1,    -1,    -1,    -1,    -1, -      53,    22,    -1,    24,    -1,    95,    27,    28,    98,    -1, -      -1,   101,    -1,   103,   104,    -1,    37,    38,    -1,    -1, -      -1,    -1,    -1,    -1,    -1,    -1,    95,    -1,    -1,    98, -      -1,    -1,   101,    -1,   103,   104,    -1,    -1,    -1,    -1, -      -1,    -1,    -1,    -1,    -1,    66,    67,    68,    69,    70, -      71,    72,    73,    74,    75,    76,    77,    78,    79,    -1, -      -1,    -1,    -1,    -1,    85,    -1,    87,    88,    89,    90, -      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,     5,     6, -     101,     8,     9,    10,    11,    12,    13,    14,    15,    16, -      17,    18,    19,    20,    21,    22,    -1,    24,    -1,    -1, -      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    36, -      -1,    -1,    -1,    -1,    -1,     5,     6,    44,     8,     9, -      10,    11,    12,    13,    14,    15,    16,    17,    18,    19, -      20,    21,    22,    -1,    24,    -1,    -1,    -1,    -1,    -1, -      -1,    -1,    -1,    -1,    -1,    -1,    36,    -1,    -1,    -1, -      -1,    -1,    -1,    -1,    44,    -1,    -1,    -1,    -1,    -1, -      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    95,    -1, -      -1,    98,    -1,    -1,   101,    -1,   103,     5,     6,    -1, -       8,     9,    10,    11,    12,    13,    14,    15,    16,    17, -      18,    19,    20,    21,    22,    -1,    24,    -1,    -1,    -1, -      -1,    -1,    -1,    -1,    -1,    95,    -1,    -1,    98,    -1, -      -1,   101,    -1,   103,     5,     6,    44,     8,     9,    10, -      11,    12,    13,    14,    15,    16,    17,    18,    19,    20, -      21,    22,    -1,    24,    -1,    -1,    -1,    -1,    -1,    -1, -      -1,    -1,    -1,    -1,    -1,    36,    -1,    -1,    -1,    -1, -      -1,    -1,    -1,    44,    -1,    -1,    -1,    -1,    -1,    -1, -      -1,    -1,    -1,    -1,    -1,    -1,    -1,    95,    -1,    -1, -      98,    -1,   100,   101,    -1,   103,    -1,     5,     6,    -1, -       8,     9,    10,    11,    12,    13,    14,    15,    16,    17, -      18,    19,    20,    21,    22,    -1,    24,    -1,    -1,    -1, -      -1,    -1,    -1,    -1,    95,    -1,    -1,    98,    36,    -1, -     101,    -1,   103,    -1,     5,     6,    44,     8,     9,    10, -      11,    12,    13,    14,    15,    16,    17,    18,    19,    20, -      21,    22,    -1,    24,    -1,     5,     6,    -1,     8,     9, -      10,    11,    12,    13,    14,    15,    16,    17,    18,    19, -      20,    21,    22,    44,    24,    -1,    -1,    -1,    -1,    -1, -      -1,    -1,    -1,    -1,    -1,    -1,    -1,    95,    -1,    -1, -      98,    -1,    -1,   101,    44,   103,     5,     6,    -1,     8, -       9,    10,    11,    12,    13,    14,    15,    16,    17,    18, -      19,    20,    21,    22,    -1,    24,    -1,    -1,    -1,    -1, -      -1,    -1,    -1,    -1,    95,    -1,    -1,    98,    -1,    -1, -     101,    -1,   103,    -1,    -1,    44,    -1,    -1,    -1,    -1, -      -1,    -1,    -1,    -1,    -1,    95,    -1,    -1,    98,    -1, -      -1,   101,    -1,   103,     5,     6,    -1,     8,     9,    10, -      11,    12,    13,    14,    15,    16,    17,    18,    19,    20, -      21,    22,    -1,    24,    -1,    -1,    34,    -1,    -1,    -1, -      -1,    -1,    -1,    -1,    -1,    -1,    95,    45,    -1,    98, -      -1,    -1,   101,    44,   103,    -1,    54,    55,    -1,    -1, -      -1,    -1,    60,    61,    62,    63,    64,    65,    66,    67, -      68,    69,    70,    71,    72,    73,    74,    75,    76,    77, -      78,    79,    80,    81,    82,    -1,    -1,    85,    86,    87, -      88,    89,    90,    91,    92,    93,    -1,    -1,    -1,    -1, -      -1,    -1,    -1,    -1,    95,    -1,    -1,    98,    -1,    -1, -     101,    -1,   103 -}; +   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. -/* YYSTOS[STATE-NUM] -- The (internal number of the) accessing -   symbol of state STATE-NUM.  */ -static const unsigned char yystos[] = -{ -       0,   133,   134,   135,     0,    25,    31,    40,    41,    42, -      43,   120,   147,   149,   150,   156,    22,    24,    47,    53, -     119,   140,   150,   151,    56,    57,    58,    59,   121,   145, -      23,   157,   158,    30,   104,   148,   157,    48,    49,    50, -     137,    94,    20,    46,   120,    94,   145,     4,     5,     6, -       8,     9,    10,    11,    12,    13,    14,    15,    16,    17, -      18,    19,    20,    21,    44,    95,    98,   101,   103,   109, -     122,   123,   124,   125,   126,   140,   153,    29,   103,   146, -     119,   161,    94,    94,    94,    98,   138,   122,    32,    33, -     132,   132,     4,     4,     4,     8,   104,   126,   127,   140, -      96,   105,    34,    45,    54,    55,    60,    61,    62,    63, -      64,    65,    66,    67,    68,    69,    70,    71,    72,    73, -      74,    75,    76,    77,    78,    79,    80,    81,    82,    85, -      86,    87,    88,    89,    90,    91,    92,    93,   111,   112, -     113,   114,   159,   165,   166,   168,   169,    24,    51,    52, -     136,     4,    24,   139,   124,     9,    10,    11,    12,    13, -      14,    15,    16,    17,    18,    19,   115,   116,   118,   124, -     129,    99,    99,   104,   106,    96,    36,   127,   128,   124, -     155,    54,     8,   155,     9,    21,    10,    11,    12,    13, -      14,    15,    16,    17,   115,   116,   117,   121,   124,   124, -     155,   124,   124,   162,   155,   155,   155,   155,   155,   124, -     124,   124,   155,   121,    83,    84,   100,   106,    27,    28, -       3,     4,   110,     4,     7,    26,    37,    38,    85,    87, -      88,    98,   101,   103,   107,   111,   112,   113,   114,   130, -     153,   126,   126,   126,    36,   124,   142,   143,   144,   106, -      97,     3,     4,     7,    27,    28,    37,    38,   101,   130, -     152,   153,   154,   154,   154,   154,   122,   106,   106,   154, -      98,   106,    35,   106,   106,   106,   106,   154,   154,   154, -     106,   122,   124,   155,    24,    96,    96,    96,   100,   129, -     131,   131,   104,   131,    24,    96,    96,    96,    96,   100, -     102,   140,   141,   106,    97,    36,   131,   106,   106,   154, -      15,    15,   106,   167,   154,    98,   124,   155,   124,   124, -     124,   106,   106,   106,   155,   154,   154,   106,   129,   129, -     129,   100,   106,   102,   104,   129,   129,   129,   129,    36, -     142,   102,    21,    21,    96,   154,   154,   155,   163,   106, -     154,   106,   154,   154,   154,    96,   124,   167,    35,   106, -     129,   106,   106,   106,   106,   154,   154,   163,   164,   106, -     154,   106,   155,   164,   154,    97,   124,   129,   129,   129, -     129,   129,   106,    98,    97,   155,   100,   154,    97,    97, -     106,    97,    97,    97,    97,    21,   100,   117,   160,    35, -     100,   129,   154,   152,   100,   117,    21,    97,   106,   152, -     154,    21,   106,    64,   154,    21,    21,   154,   154 -}; +   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., 59 Temple Place - Suite 330, +   Boston, MA 02111-1307, USA.  */ -#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 +/* 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.  */ + +/* This is the parser code that is written into each bison parser +  when the %semantic_parser declaration is not specified in the grammar. +  It was written by Richard Stallman by simplifying the hairy parser +  used when %semantic_parser is specified.  */ + +#ifndef YYSTACK_USE_ALLOCA +#ifdef alloca +#define YYSTACK_USE_ALLOCA +#else /* alloca not defined */ +#ifdef __GNUC__ +#define YYSTACK_USE_ALLOCA +#define alloca __builtin_alloca +#else /* not GNU C.  */ +#if (!defined (__STDC__) && defined (sparc)) || defined (__sparc__) || defined (__sparc) || defined (__sgi) || (defined (__sun) && defined (__i386)) +#define YYSTACK_USE_ALLOCA +#include <alloca.h> +#else /* not sparc */ +/* We think this test detects Watcom and Microsoft C.  */ +/* This used to test MSDOS, but that is a bad idea +   since that symbol is in the user namespace.  */ +#if (defined (_MSDOS) || defined (_MSDOS_)) && !defined (__TURBOC__) +#if 0 /* No need for malloc.h, which pollutes the namespace; +	 instead, just don't use alloca.  */ +#include <malloc.h>  #endif -#if ! defined (YYSIZE_T) -# if defined (__STDC__) || defined (__cplusplus) -#  include <stddef.h> /* INFRINGES ON USER NAME SPACE */ -#  define YYSIZE_T size_t -# endif +#else /* not MSDOS, or __TURBOC__ */ +#if defined(_AIX) +/* I don't know what this was needed for, but it pollutes the namespace. +   So I turned it off.   rms, 2 May 1997.  */ +/* #include <malloc.h>  */ + #pragma alloca +#define YYSTACK_USE_ALLOCA +#else /* not MSDOS, or __TURBOC__, or _AIX */ +#if 0 +#ifdef __hpux /* haible@ilog.fr says this works for HPUX 9.05 and up, +		 and on HPUX 10.  Eventually we can turn this on.  */ +#define YYSTACK_USE_ALLOCA +#define alloca __builtin_alloca +#endif /* __hpux */  #endif -#if ! defined (YYSIZE_T) -# define YYSIZE_T unsigned int +#endif /* not _AIX */ +#endif /* not MSDOS, or __TURBOC__ */ +#endif /* not sparc */ +#endif /* not GNU C */ +#endif /* alloca not defined */ +#endif /* YYSTACK_USE_ALLOCA not defined */ + +#ifdef YYSTACK_USE_ALLOCA +#define YYSTACK_ALLOC alloca +#else +#define YYSTACK_ALLOC malloc  #endif +/* Note: there must be only one dollar sign in this file. +   It is replaced by the list of actions, each action +   as one case of the switch.  */ +  #define yyerrok		(yyerrstatus = 0)  #define yyclearin	(yychar = YYEMPTY) -#define YYEMPTY		(-2) +#define YYEMPTY		-2  #define YYEOF		0 -  #define YYACCEPT	goto yyacceptlab -#define YYABORT		goto yyabortlab -#define YYERROR		goto yyerrorlab - - -/* Like YYERROR except do call yyerror.  This remains here temporarily -   to ease the transition to the new meaning of YYERROR, for GCC. +#define YYABORT 	goto yyabortlab +#define YYERROR		goto yyerrlab1 +/* Like YYERROR except do call yyerror. +   This remains here temporarily to ease the +   transition to the new meaning of YYERROR, for GCC.     Once GCC version 2 has supplanted version 1, this can go.  */ -  #define YYFAIL		goto yyerrlab -  #define YYRECOVERING()  (!!yyerrstatus) - -#define YYBACKUP(Token, Value)					\ +#define YYBACKUP(token, value) \  do								\    if (yychar == YYEMPTY && yylen == 1)				\ -    {								\ -      yychar = (Token);						\ -      yylval = (Value);						\ -      yytoken = YYTRANSLATE (yychar);				\ +    { yychar = (token), yylval = (value);			\ +      yychar1 = YYTRANSLATE (yychar);				\        YYPOPSTACK;						\        goto yybackup;						\      }								\    else								\ -    { 								\ -      yyerror ("syntax error: cannot back up");\ -      YYERROR;							\ -    }								\ +    { yyerror ("syntax error: cannot back up"); YYERROR; }	\  while (0)  #define YYTERROR	1  #define YYERRCODE	256 -/* YYLLOC_DEFAULT -- Compute the default location (before the actions -   are run).  */ - -#ifndef YYLLOC_DEFAULT -# define YYLLOC_DEFAULT(Current, Rhs, N)		\ -   ((Current).first_line   = (Rhs)[1].first_line,	\ -    (Current).first_column = (Rhs)[1].first_column,	\ -    (Current).last_line    = (Rhs)[N].last_line,	\ -    (Current).last_column  = (Rhs)[N].last_column) +#ifndef YYPURE +#define YYLEX		yylex()  #endif -/* YYLEX -- calling `yylex' with the right arguments.  */ - +#ifdef YYPURE +#ifdef YYLSP_NEEDED  #ifdef YYLEX_PARAM -# define YYLEX yylex (YYLEX_PARAM) +#define YYLEX		yylex(&yylval, &yylloc, YYLEX_PARAM)  #else -# define YYLEX yylex () +#define YYLEX		yylex(&yylval, &yylloc)  #endif - -/* Enable debugging if requested.  */ -#if YYDEBUG - -# ifndef YYFPRINTF -#  include <stdio.h> /* INFRINGES ON USER NAME SPACE */ -#  define YYFPRINTF fprintf -# endif - -# define YYDPRINTF(Args)			\ -do {						\ -  if (yydebug)					\ -    YYFPRINTF Args;				\ -} while (0) - -# define YYDSYMPRINT(Args)			\ -do {						\ -  if (yydebug)					\ -    yysymprint Args;				\ -} while (0) - -# define YYDSYMPRINTF(Title, Token, Value, Location)		\ -do {								\ -  if (yydebug)							\ -    {								\ -      YYFPRINTF (stderr, "%s ", Title);				\ -      yysymprint (stderr, 					\ -                  Token, Value);	\ -      YYFPRINTF (stderr, "\n");					\ -    }								\ -} while (0) - -/*------------------------------------------------------------------. -| yy_stack_print -- Print the state stack from its BOTTOM up to its | -| TOP (included).                                                   | -`------------------------------------------------------------------*/ - -#if defined (__STDC__) || defined (__cplusplus) -static void -yy_stack_print (short int *bottom, short int *top) +#else /* not YYLSP_NEEDED */ +#ifdef YYLEX_PARAM +#define YYLEX		yylex(&yylval, YYLEX_PARAM)  #else -static void -yy_stack_print (bottom, top) -    short int *bottom; -    short int *top; +#define YYLEX		yylex(&yylval) +#endif +#endif /* not YYLSP_NEEDED */  #endif -{ -  YYFPRINTF (stderr, "Stack now"); -  for (/* Nothing. */; bottom <= top; ++bottom) -    YYFPRINTF (stderr, " %d", *bottom); -  YYFPRINTF (stderr, "\n"); -} -# define YY_STACK_PRINT(Bottom, Top)				\ -do {								\ -  if (yydebug)							\ -    yy_stack_print ((Bottom), (Top));				\ -} while (0) +/* If nonreentrant, generate the variables here */ +#ifndef YYPURE -/*------------------------------------------------. -| Report that the YYRULE is going to be reduced.  | -`------------------------------------------------*/ +int	yychar;			/*  the lookahead symbol		*/ +YYSTYPE	yylval;			/*  the semantic value of the		*/ +				/*  lookahead symbol			*/ -#if defined (__STDC__) || defined (__cplusplus) -static void -yy_reduce_print (int yyrule) -#else -static void -yy_reduce_print (yyrule) -    int yyrule; +#ifdef YYLSP_NEEDED +YYLTYPE yylloc;			/*  location data for the lookahead	*/ +				/*  symbol				*/  #endif -{ -  int yyi; -  unsigned int yylno = yyrline[yyrule]; -  YYFPRINTF (stderr, "Reducing stack by rule %d (line %u), ", -             yyrule - 1, yylno); -  /* Print the symbols being reduced, and their result.  */ -  for (yyi = yyprhs[yyrule]; 0 <= yyrhs[yyi]; yyi++) -    YYFPRINTF (stderr, "%s ", yytname [yyrhs[yyi]]); -  YYFPRINTF (stderr, "-> %s\n", yytname [yyr1[yyrule]]); -} -# define YY_REDUCE_PRINT(Rule)		\ -do {					\ -  if (yydebug)				\ -    yy_reduce_print (Rule);		\ -} while (0) - -/* Nonzero means print parse trace.  It is left uninitialized so that -   multiple parsers can coexist.  */ -int yydebug; -#else /* !YYDEBUG */ -# define YYDPRINTF(Args) -# define YYDSYMPRINT(Args) -# define YYDSYMPRINTF(Title, Token, Value, Location) -# define YY_STACK_PRINT(Bottom, Top) -# define YY_REDUCE_PRINT(Rule) -#endif /* !YYDEBUG */ - - -/* YYINITDEPTH -- initial size of the parser's stacks.  */ -#ifndef	YYINITDEPTH -# define YYINITDEPTH 200 +int yynerrs;			/*  number of parse errors so far       */ +#endif  /* not YYPURE */ + +#if YYDEBUG != 0 +int yydebug;			/*  nonzero means print parse trace	*/ +/* Since this is uninitialized, it does not stop multiple parsers +   from coexisting.  */  #endif -/* YYMAXDEPTH -- maximum size the stacks can grow to (effective only -   if the built-in stack extension method is used). +/*  YYINITDEPTH indicates the initial size of the parser's stacks	*/ + +#ifndef	YYINITDEPTH +#define YYINITDEPTH 200 +#endif -   Do not make this value too large; the results are undefined if -   SIZE_MAX < YYSTACK_BYTES (YYMAXDEPTH) -   evaluated with infinite-precision integer arithmetic.  */ +/*  YYMAXDEPTH is the maximum size the stacks can grow to +    (effective only if the built-in stack extension method is used).  */ -#if defined (YYMAXDEPTH) && YYMAXDEPTH == 0 -# undef YYMAXDEPTH +#if YYMAXDEPTH == 0 +#undef YYMAXDEPTH  #endif  #ifndef YYMAXDEPTH -# define YYMAXDEPTH 10000 +#define YYMAXDEPTH 10000  #endif - - -#if YYERROR_VERBOSE - -# ifndef yystrlen -#  if defined (__GLIBC__) && defined (_STRING_H) -#   define yystrlen strlen -#  else -/* Return the length of YYSTR.  */ -static YYSIZE_T -#   if defined (__STDC__) || defined (__cplusplus) -yystrlen (const char *yystr) -#   else -yystrlen (yystr) -     const char *yystr; -#   endif -{ -  register const char *yys = yystr; - -  while (*yys++ != '\0') -    continue; - -  return yys - yystr - 1; -} -#  endif -# endif - -# ifndef yystpcpy -#  if defined (__GLIBC__) && defined (_STRING_H) && defined (_GNU_SOURCE) -#   define yystpcpy stpcpy -#  else -/* Copy YYSRC to YYDEST, returning the address of the terminating '\0' in -   YYDEST.  */ -static char * -#   if defined (__STDC__) || defined (__cplusplus) -yystpcpy (char *yydest, const char *yysrc) -#   else -yystpcpy (yydest, yysrc) -     char *yydest; -     const char *yysrc; -#   endif +/* Define __yy_memcpy.  Note that the size argument +   should be passed with type unsigned int, because that is what the non-GCC +   definitions require.  With GCC, __builtin_memcpy takes an arg +   of type size_t, but it can handle unsigned int.  */ + +#if __GNUC__ > 1		/* GNU C and GNU C++ define this.  */ +#define __yy_memcpy(TO,FROM,COUNT)	__builtin_memcpy(TO,FROM,COUNT) +#else				/* not GNU C or C++ */ +#ifndef __cplusplus + +/* This is the most reliable way to avoid incompatibilities +   in available built-in functions on various systems.  */ +static void +__yy_memcpy (to, from, count) +     char *to; +     char *from; +     unsigned int count;  { -  register char *yyd = yydest; -  register const char *yys = yysrc; - -  while ((*yyd++ = *yys++) != '\0') -    continue; +  register char *f = from; +  register char *t = to; +  register int i = count; -  return yyd - 1; +  while (i-- > 0) +    *t++ = *f++;  } -#  endif -# endif -#endif /* !YYERROR_VERBOSE */ +#else /* __cplusplus */ - - -#if YYDEBUG -/*--------------------------------. -| Print this symbol on YYOUTPUT.  | -`--------------------------------*/ - -#if defined (__STDC__) || defined (__cplusplus) +/* This is the most reliable way to avoid incompatibilities +   in available built-in functions on various systems.  */  static void -yysymprint (FILE *yyoutput, int yytype, YYSTYPE *yyvaluep) -#else -static void -yysymprint (yyoutput, yytype, yyvaluep) -    FILE *yyoutput; -    int yytype; -    YYSTYPE *yyvaluep; -#endif +__yy_memcpy (char *to, char *from, unsigned int count)  { -  /* Pacify ``unused variable'' warnings.  */ -  (void) yyvaluep; +  register char *t = to; +  register char *f = from; +  register int i = count; -  if (yytype < YYNTOKENS) -    { -      YYFPRINTF (yyoutput, "token %s (", yytname[yytype]); -# ifdef YYPRINT -      YYPRINT (yyoutput, yytoknum[yytype], *yyvaluep); -# endif -    } -  else -    YYFPRINTF (yyoutput, "nterm %s (", yytname[yytype]); - -  switch (yytype) -    { -      default: -        break; -    } -  YYFPRINTF (yyoutput, ")"); +  while (i-- > 0) +    *t++ = *f++;  } -#endif /* ! YYDEBUG */ -/*-----------------------------------------------. -| Release the memory associated to this symbol.  | -`-----------------------------------------------*/ - -#if defined (__STDC__) || defined (__cplusplus) -static void -yydestruct (int yytype, YYSTYPE *yyvaluep) -#else -static void -yydestruct (yytype, yyvaluep) -    int yytype; -    YYSTYPE *yyvaluep;  #endif -{ -  /* Pacify ``unused variable'' warnings.  */ -  (void) yyvaluep; - -  switch (yytype) -    { - -      default: -        break; -    } -} +#endif +#line 217 "/usr/share/bison.simple" -/* Prevent warnings from -Wmissing-prototypes.  */ +/* The user can define YYPARSE_PARAM as the name of an argument to be passed +   into yyparse.  The argument should have type void *. +   It should actually point to an object. +   Grammar actions can access the variable by casting it +   to the proper pointer type.  */  #ifdef YYPARSE_PARAM -# if defined (__STDC__) || defined (__cplusplus) -int yyparse (void *YYPARSE_PARAM); -# else -int yyparse (); -# endif -#else /* ! YYPARSE_PARAM */ -#if defined (__STDC__) || defined (__cplusplus) -int yyparse (void); -#else -int yyparse (); -#endif -#endif /* ! YYPARSE_PARAM */ - - - -/* The lookahead symbol.  */ -int yychar; - -/* The semantic value of the lookahead symbol.  */ -YYSTYPE yylval; - -/* Number of syntax errors so far.  */ -int yynerrs; - - - -/*----------. -| yyparse.  | -`----------*/ - +#ifdef __cplusplus +#define YYPARSE_PARAM_ARG void *YYPARSE_PARAM +#define YYPARSE_PARAM_DECL +#else /* not __cplusplus */ +#define YYPARSE_PARAM_ARG YYPARSE_PARAM +#define YYPARSE_PARAM_DECL void *YYPARSE_PARAM; +#endif /* not __cplusplus */ +#else /* not YYPARSE_PARAM */ +#define YYPARSE_PARAM_ARG +#define YYPARSE_PARAM_DECL +#endif /* not YYPARSE_PARAM */ + +/* Prevent warning if -Wstrict-prototypes.  */ +#ifdef __GNUC__  #ifdef YYPARSE_PARAM -# if defined (__STDC__) || defined (__cplusplus) -int yyparse (void *YYPARSE_PARAM) -# else -int yyparse (YYPARSE_PARAM) -  void *YYPARSE_PARAM; -# endif -#else /* ! YYPARSE_PARAM */ -#if defined (__STDC__) || defined (__cplusplus) -int -yyparse (void) +int yyparse (void *);  #else -int -yyparse () - +int yyparse (void);  #endif  #endif + +int +yyparse(YYPARSE_PARAM_ARG) +     YYPARSE_PARAM_DECL  { -      register int yystate;    register int yyn; -  int yyresult; -  /* Number of tokens to shift before error messages enabled.  */ -  int yyerrstatus; -  /* Lookahead token as an internal (translated) token number.  */ -  int yytoken = 0; - -  /* Three stacks and their tools: -     `yyss': related to states, -     `yyvs': related to semantic values, -     `yyls': related to locations. - -     Refer to the stacks thru separate pointers, to allow yyoverflow -     to reallocate them elsewhere.  */ - -  /* The state stack.  */ -  short int yyssa[YYINITDEPTH]; -  short int *yyss = yyssa; -  register short int *yyssp; - -  /* The semantic value stack.  */ -  YYSTYPE yyvsa[YYINITDEPTH]; -  YYSTYPE *yyvs = yyvsa; +  register short *yyssp;    register YYSTYPE *yyvsp; +  int yyerrstatus;	/*  number of tokens to shift before error messages enabled */ +  int yychar1 = 0;		/*  lookahead token as an internal (translated) token number */ + +  short	yyssa[YYINITDEPTH];	/*  the state stack			*/ +  YYSTYPE yyvsa[YYINITDEPTH];	/*  the semantic value stack		*/ +  short *yyss = yyssa;		/*  refer to the stacks thru separate pointers */ +  YYSTYPE *yyvs = yyvsa;	/*  to allow yyoverflow to reallocate them elsewhere */ +#ifdef YYLSP_NEEDED +  YYLTYPE yylsa[YYINITDEPTH];	/*  the location stack			*/ +  YYLTYPE *yyls = yylsa; +  YYLTYPE *yylsp; +#define YYPOPSTACK   (yyvsp--, yyssp--, yylsp--) +#else  #define YYPOPSTACK   (yyvsp--, yyssp--) +#endif -  YYSIZE_T yystacksize = YYINITDEPTH; +  int yystacksize = YYINITDEPTH; +  int yyfree_stacks = 0; -  /* The variables used to return semantic value and location from the -     action routines.  */ -  YYSTYPE yyval; +#ifdef YYPURE +  int yychar; +  YYSTYPE yylval; +  int yynerrs; +#ifdef YYLSP_NEEDED +  YYLTYPE yylloc; +#endif +#endif +  YYSTYPE yyval;		/*  the variable used to return		*/ +				/*  semantic values from the action	*/ +				/*  routines				*/ -  /* When reducing, the number of symbols on the RHS of the reduced -     rule.  */    int yylen; -  YYDPRINTF ((stderr, "Starting parse\n")); +#if YYDEBUG != 0 +  if (yydebug) +    fprintf(stderr, "Starting parse\n"); +#endif    yystate = 0;    yyerrstatus = 0; @@ -2398,97 +1949,110 @@ yyparse ()       so that they stay on the same level as the state stack.       The wasted elements are never initialized.  */ -  yyssp = yyss; +  yyssp = yyss - 1;    yyvsp = yyvs; +#ifdef YYLSP_NEEDED +  yylsp = yyls; +#endif +/* Push a new state, which is found in  yystate  .  */ +/* In all cases, when you get here, the value and location stacks +   have just been pushed. so pushing a state here evens the stacks.  */ +yynewstate: -  goto yysetstate; - -/*------------------------------------------------------------. -| yynewstate -- Push a new state, which is found in yystate.  | -`------------------------------------------------------------*/ - yynewstate: -  /* In all cases, when you get here, the value and location stacks -     have just been pushed. so pushing a state here evens the stacks. -     */ -  yyssp++; - - yysetstate: -  *yyssp = yystate; +  *++yyssp = yystate; -  if (yyss + yystacksize - 1 <= yyssp) +  if (yyssp >= yyss + yystacksize - 1)      { +      /* Give user a chance to reallocate the stack */ +      /* Use copies of these so that the &'s don't force the real ones into memory. */ +      YYSTYPE *yyvs1 = yyvs; +      short *yyss1 = yyss; +#ifdef YYLSP_NEEDED +      YYLTYPE *yyls1 = yyls; +#endif +        /* Get the current used size of the three stacks, in elements.  */ -      YYSIZE_T yysize = yyssp - yyss + 1; +      int size = yyssp - yyss + 1;  #ifdef yyoverflow -      { -	/* Give user a chance to reallocate the stack. Use copies of -	   these so that the &'s don't force the real ones into -	   memory.  */ -	YYSTYPE *yyvs1 = yyvs; -	short int *yyss1 = yyss; - - -	/* Each stack pointer address is followed by the size of the -	   data in use in that stack, in bytes.  This used to be a -	   conditional around just the two extra args, but that might -	   be undefined if yyoverflow is a macro.  */ -	yyoverflow ("parser stack overflow", -		    &yyss1, yysize * sizeof (*yyssp), -		    &yyvs1, yysize * sizeof (*yyvsp), - -		    &yystacksize); - -	yyss = yyss1; -	yyvs = yyvs1; -      } +      /* Each stack pointer address is followed by the size of +	 the data in use in that stack, in bytes.  */ +#ifdef YYLSP_NEEDED +      /* This used to be a conditional around just the two extra args, +	 but that might be undefined if yyoverflow is a macro.  */ +      yyoverflow("parser stack overflow", +		 &yyss1, size * sizeof (*yyssp), +		 &yyvs1, size * sizeof (*yyvsp), +		 &yyls1, size * sizeof (*yylsp), +		 &yystacksize); +#else +      yyoverflow("parser stack overflow", +		 &yyss1, size * sizeof (*yyssp), +		 &yyvs1, size * sizeof (*yyvsp), +		 &yystacksize); +#endif + +      yyss = yyss1; yyvs = yyvs1; +#ifdef YYLSP_NEEDED +      yyls = yyls1; +#endif  #else /* no yyoverflow */ -# ifndef YYSTACK_RELOCATE -      goto yyoverflowlab; -# else        /* Extend the stack our own way.  */ -      if (YYMAXDEPTH <= yystacksize) -	goto yyoverflowlab; +      if (yystacksize >= YYMAXDEPTH) +	{ +	  yyerror("parser stack overflow"); +	  if (yyfree_stacks) +	    { +	      free (yyss); +	      free (yyvs); +#ifdef YYLSP_NEEDED +	      free (yyls); +#endif +	    } +	  return 2; +	}        yystacksize *= 2; -      if (YYMAXDEPTH < yystacksize) +      if (yystacksize > YYMAXDEPTH)  	yystacksize = YYMAXDEPTH; - -      { -	short int *yyss1 = yyss; -	union yyalloc *yyptr = -	  (union yyalloc *) YYSTACK_ALLOC (YYSTACK_BYTES (yystacksize)); -	if (! yyptr) -	  goto yyoverflowlab; -	YYSTACK_RELOCATE (yyss); -	YYSTACK_RELOCATE (yyvs); - -#  undef YYSTACK_RELOCATE -	if (yyss1 != yyssa) -	  YYSTACK_FREE (yyss1); -      } -# endif +#ifndef YYSTACK_USE_ALLOCA +      yyfree_stacks = 1; +#endif +      yyss = (short *) YYSTACK_ALLOC (yystacksize * sizeof (*yyssp)); +      __yy_memcpy ((char *)yyss, (char *)yyss1, +		   size * (unsigned int) sizeof (*yyssp)); +      yyvs = (YYSTYPE *) YYSTACK_ALLOC (yystacksize * sizeof (*yyvsp)); +      __yy_memcpy ((char *)yyvs, (char *)yyvs1, +		   size * (unsigned int) sizeof (*yyvsp)); +#ifdef YYLSP_NEEDED +      yyls = (YYLTYPE *) YYSTACK_ALLOC (yystacksize * sizeof (*yylsp)); +      __yy_memcpy ((char *)yyls, (char *)yyls1, +		   size * (unsigned int) sizeof (*yylsp)); +#endif  #endif /* no yyoverflow */ -      yyssp = yyss + yysize - 1; -      yyvsp = yyvs + yysize - 1; - +      yyssp = yyss + size - 1; +      yyvsp = yyvs + size - 1; +#ifdef YYLSP_NEEDED +      yylsp = yyls + size - 1; +#endif -      YYDPRINTF ((stderr, "Stack size increased to %lu\n", -		  (unsigned long int) yystacksize)); +#if YYDEBUG != 0 +      if (yydebug) +	fprintf(stderr, "Stack size increased to %d\n", yystacksize); +#endif -      if (yyss + yystacksize - 1 <= yyssp) +      if (yyssp >= yyss + yystacksize - 1)  	YYABORT;      } -  YYDPRINTF ((stderr, "Entering state %d\n", yystate)); +#if YYDEBUG != 0 +  if (yydebug) +    fprintf(stderr, "Entering state %d\n", yystate); +#endif    goto yybackup; - -/*-----------. -| yybackup.  | -`-----------*/ -yybackup: + yybackup:  /* Do appropriate processing given the current state.  */  /* Read a lookahead token if we need one and don't already have one.  */ @@ -2497,236 +2061,251 @@ yybackup:    /* First try to decide what to do without reference to lookahead token.  */    yyn = yypact[yystate]; -  if (yyn == YYPACT_NINF) +  if (yyn == YYFLAG)      goto yydefault;    /* Not known => get a lookahead token if don't already have one.  */ -  /* YYCHAR is either YYEMPTY or YYEOF or a valid lookahead symbol.  */ +  /* yychar is either YYEMPTY or YYEOF +     or a valid token in external form.  */ +    if (yychar == YYEMPTY)      { -      YYDPRINTF ((stderr, "Reading a token: ")); +#if YYDEBUG != 0 +      if (yydebug) +	fprintf(stderr, "Reading a token: "); +#endif        yychar = YYLEX;      } -  if (yychar <= YYEOF) +  /* Convert token to internal form (in yychar1) for indexing tables with */ + +  if (yychar <= 0)		/* This means end of input. */      { -      yychar = yytoken = YYEOF; -      YYDPRINTF ((stderr, "Now at end of input.\n")); +      yychar1 = 0; +      yychar = YYEOF;		/* Don't call YYLEX any more */ + +#if YYDEBUG != 0 +      if (yydebug) +	fprintf(stderr, "Now at end of input.\n"); +#endif      }    else      { -      yytoken = YYTRANSLATE (yychar); -      YYDSYMPRINTF ("Next token is", yytoken, &yylval, &yylloc); +      yychar1 = YYTRANSLATE(yychar); + +#if YYDEBUG != 0 +      if (yydebug) +	{ +	  fprintf (stderr, "Next token is %d (%s", yychar, yytname[yychar1]); +	  /* Give the individual parser a way to print the precise meaning +	     of a token, for further debugging info.  */ +#ifdef YYPRINT +	  YYPRINT (stderr, yychar, yylval); +#endif +	  fprintf (stderr, ")\n"); +	} +#endif      } -  /* If the proper action on seeing token YYTOKEN is to reduce or to -     detect an error, take that action.  */ -  yyn += yytoken; -  if (yyn < 0 || YYLAST < yyn || yycheck[yyn] != yytoken) +  yyn += yychar1; +  if (yyn < 0 || yyn > YYLAST || yycheck[yyn] != yychar1)      goto yydefault; +    yyn = yytable[yyn]; -  if (yyn <= 0) + +  /* yyn is what to do for this token type in this state. +     Negative => reduce, -yyn is rule number. +     Positive => shift, yyn is new state. +       New state is final state => don't bother to shift, +       just return success. +     0, or most negative number => error.  */ + +  if (yyn < 0)      { -      if (yyn == 0 || yyn == YYTABLE_NINF) +      if (yyn == YYFLAG)  	goto yyerrlab;        yyn = -yyn;        goto yyreduce;      } +  else if (yyn == 0) +    goto yyerrlab;    if (yyn == YYFINAL)      YYACCEPT;    /* Shift the lookahead token.  */ -  YYDPRINTF ((stderr, "Shifting token %s, ", yytname[yytoken])); + +#if YYDEBUG != 0 +  if (yydebug) +    fprintf(stderr, "Shifting token %d (%s), ", yychar, yytname[yychar1]); +#endif    /* Discard the token being shifted unless it is eof.  */    if (yychar != YYEOF)      yychar = YYEMPTY;    *++yyvsp = yylval; +#ifdef YYLSP_NEEDED +  *++yylsp = yylloc; +#endif - -  /* Count tokens shifted since error; after three, turn off error -     status.  */ -  if (yyerrstatus) -    yyerrstatus--; +  /* count tokens shifted since error; after three, turn off error status.  */ +  if (yyerrstatus) yyerrstatus--;    yystate = yyn;    goto yynewstate; - -/*-----------------------------------------------------------. -| yydefault -- do the default action for the current state.  | -`-----------------------------------------------------------*/ +/* Do the default action for the current state.  */  yydefault: +    yyn = yydefact[yystate];    if (yyn == 0)      goto yyerrlab; -  goto yyreduce; - -/*-----------------------------. -| yyreduce -- Do a reduction.  | -`-----------------------------*/ +/* Do a reduction.  yyn is the number of a rule to reduce with.  */  yyreduce: -  /* yyn is the number of a rule to reduce with.  */    yylen = yyr2[yyn]; +  if (yylen > 0) +    yyval = yyvsp[1-yylen]; /* implement default value of the action */ + +#if YYDEBUG != 0 +  if (yydebug) +    { +      int i; -  /* If YYLEN is nonzero, implement the default value of the action: -     `$$ = $1'. +      fprintf (stderr, "Reducing via rule %d (line %d), ", +	       yyn, yyrline[yyn]); -     Otherwise, the following line sets YYVAL to garbage. -     This behavior is undocumented and Bison -     users should not rely upon it.  Assigning to YYVAL -     unconditionally makes the parser a bit smaller, and it avoids a -     GCC warning that YYVAL may be used uninitialized.  */ -  yyval = yyvsp[1-yylen]; +      /* Print the symbols being reduced, and their result.  */ +      for (i = yyprhs[yyn]; yyrhs[i] > 0; i++) +	fprintf (stderr, "%s ", yytname[yyrhs[i]]); +      fprintf (stderr, " -> %s\n", yytname[yyr1[yyn]]); +    } +#endif -  YY_REDUCE_PRINT (yyn); -  switch (yyn) -    { -        case 3: -#line 984 "/usr/home/llvm/obj/../lib/AsmParser/llvmAsmParser.y" -    { +  switch (yyn) { + +case 2: +#line 984 "/llvm/lib/AsmParser/llvmAsmParser.y" +{    if (yyvsp[0].UIntVal > (uint32_t)INT32_MAX)     // Outside of my range!      ThrowException("Value too large for type!");    yyval.SIntVal = (int32_t)yyvsp[0].UIntVal; -;} -    break; - -  case 5: -#line 992 "/usr/home/llvm/obj/../lib/AsmParser/llvmAsmParser.y" -    { +; +    break;} +case 4: +#line 992 "/llvm/lib/AsmParser/llvmAsmParser.y" +{    if (yyvsp[0].UInt64Val > (uint64_t)INT64_MAX)     // Outside of my range!      ThrowException("Value too large for type!");    yyval.SInt64Val = (int64_t)yyvsp[0].UInt64Val; -;} -    break; - -  case 34: -#line 1015 "/usr/home/llvm/obj/../lib/AsmParser/llvmAsmParser.y" -    { +; +    break;} +case 33: +#line 1015 "/llvm/lib/AsmParser/llvmAsmParser.y" +{      yyval.StrVal = yyvsp[-1].StrVal; -  ;} -    break; - -  case 35: -#line 1018 "/usr/home/llvm/obj/../lib/AsmParser/llvmAsmParser.y" -    { +  ; +    break;} +case 34: +#line 1018 "/llvm/lib/AsmParser/llvmAsmParser.y" +{      yyval.StrVal = 0; -  ;} -    break; - -  case 36: -#line 1022 "/usr/home/llvm/obj/../lib/AsmParser/llvmAsmParser.y" -    { yyval.Linkage = GlobalValue::InternalLinkage; ;} -    break; - -  case 37: -#line 1023 "/usr/home/llvm/obj/../lib/AsmParser/llvmAsmParser.y" -    { yyval.Linkage = GlobalValue::LinkOnceLinkage; ;} -    break; - -  case 38: -#line 1024 "/usr/home/llvm/obj/../lib/AsmParser/llvmAsmParser.y" -    { yyval.Linkage = GlobalValue::WeakLinkage; ;} -    break; - -  case 39: -#line 1025 "/usr/home/llvm/obj/../lib/AsmParser/llvmAsmParser.y" -    { yyval.Linkage = GlobalValue::AppendingLinkage; ;} -    break; - -  case 40: -#line 1026 "/usr/home/llvm/obj/../lib/AsmParser/llvmAsmParser.y" -    { yyval.Linkage = GlobalValue::ExternalLinkage; ;} -    break; - -  case 41: -#line 1028 "/usr/home/llvm/obj/../lib/AsmParser/llvmAsmParser.y" -    { yyval.UIntVal = CallingConv::C; ;} -    break; - -  case 42: -#line 1029 "/usr/home/llvm/obj/../lib/AsmParser/llvmAsmParser.y" -    { yyval.UIntVal = CallingConv::C; ;} -    break; - -  case 43: -#line 1030 "/usr/home/llvm/obj/../lib/AsmParser/llvmAsmParser.y" -    { yyval.UIntVal = CallingConv::Fast; ;} -    break; - -  case 44: -#line 1031 "/usr/home/llvm/obj/../lib/AsmParser/llvmAsmParser.y" -    { yyval.UIntVal = CallingConv::Cold; ;} -    break; - -  case 45: -#line 1032 "/usr/home/llvm/obj/../lib/AsmParser/llvmAsmParser.y" -    { +  ; +    break;} +case 35: +#line 1022 "/llvm/lib/AsmParser/llvmAsmParser.y" +{ yyval.Linkage = GlobalValue::InternalLinkage; ; +    break;} +case 36: +#line 1023 "/llvm/lib/AsmParser/llvmAsmParser.y" +{ yyval.Linkage = GlobalValue::LinkOnceLinkage; ; +    break;} +case 37: +#line 1024 "/llvm/lib/AsmParser/llvmAsmParser.y" +{ yyval.Linkage = GlobalValue::WeakLinkage; ; +    break;} +case 38: +#line 1025 "/llvm/lib/AsmParser/llvmAsmParser.y" +{ yyval.Linkage = GlobalValue::AppendingLinkage; ; +    break;} +case 39: +#line 1026 "/llvm/lib/AsmParser/llvmAsmParser.y" +{ yyval.Linkage = GlobalValue::ExternalLinkage; ; +    break;} +case 40: +#line 1028 "/llvm/lib/AsmParser/llvmAsmParser.y" +{ yyval.UIntVal = CallingConv::C; ; +    break;} +case 41: +#line 1029 "/llvm/lib/AsmParser/llvmAsmParser.y" +{ yyval.UIntVal = CallingConv::C; ; +    break;} +case 42: +#line 1030 "/llvm/lib/AsmParser/llvmAsmParser.y" +{ yyval.UIntVal = CallingConv::Fast; ; +    break;} +case 43: +#line 1031 "/llvm/lib/AsmParser/llvmAsmParser.y" +{ yyval.UIntVal = CallingConv::Cold; ; +    break;} +case 44: +#line 1032 "/llvm/lib/AsmParser/llvmAsmParser.y" +{                     if ((unsigned)yyvsp[0].UInt64Val != yyvsp[0].UInt64Val)                       ThrowException("Calling conv too large!");                     yyval.UIntVal = yyvsp[0].UInt64Val; -                 ;} -    break; - -  case 47: -#line 1045 "/usr/home/llvm/obj/../lib/AsmParser/llvmAsmParser.y" -    { yyval.TypeVal = new PATypeHolder(yyvsp[0].PrimType); ;} -    break; - -  case 49: -#line 1046 "/usr/home/llvm/obj/../lib/AsmParser/llvmAsmParser.y" -    { yyval.TypeVal = new PATypeHolder(yyvsp[0].PrimType); ;} -    break; - -  case 50: -#line 1048 "/usr/home/llvm/obj/../lib/AsmParser/llvmAsmParser.y" -    { +                 ; +    break;} +case 46: +#line 1045 "/llvm/lib/AsmParser/llvmAsmParser.y" +{ yyval.TypeVal = new PATypeHolder(yyvsp[0].PrimType); ; +    break;} +case 48: +#line 1046 "/llvm/lib/AsmParser/llvmAsmParser.y" +{ yyval.TypeVal = new PATypeHolder(yyvsp[0].PrimType); ; +    break;} +case 49: +#line 1048 "/llvm/lib/AsmParser/llvmAsmParser.y" +{      if (!UpRefs.empty())        ThrowException("Invalid upreference in type: " + (*yyvsp[0].TypeVal)->getDescription());      yyval.TypeVal = yyvsp[0].TypeVal; -  ;} -    break; - -  case 64: -#line 1059 "/usr/home/llvm/obj/../lib/AsmParser/llvmAsmParser.y" -    { +  ; +    break;} +case 63: +#line 1059 "/llvm/lib/AsmParser/llvmAsmParser.y" +{      yyval.TypeVal = new PATypeHolder(OpaqueType::get()); -  ;} -    break; - -  case 65: -#line 1062 "/usr/home/llvm/obj/../lib/AsmParser/llvmAsmParser.y" -    { +  ; +    break;} +case 64: +#line 1062 "/llvm/lib/AsmParser/llvmAsmParser.y" +{      yyval.TypeVal = new PATypeHolder(yyvsp[0].PrimType); -  ;} -    break; - -  case 66: -#line 1065 "/usr/home/llvm/obj/../lib/AsmParser/llvmAsmParser.y" -    {            // Named types are also simple types... +  ; +    break;} +case 65: +#line 1065 "/llvm/lib/AsmParser/llvmAsmParser.y" +{            // Named types are also simple types...    yyval.TypeVal = new PATypeHolder(getTypeVal(yyvsp[0].ValIDVal)); -;} -    break; - -  case 67: -#line 1071 "/usr/home/llvm/obj/../lib/AsmParser/llvmAsmParser.y" -    {                   // Type UpReference +; +    break;} +case 66: +#line 1071 "/llvm/lib/AsmParser/llvmAsmParser.y" +{                   // Type UpReference      if (yyvsp[0].UInt64Val > (uint64_t)~0U) ThrowException("Value out of range!");      OpaqueType *OT = OpaqueType::get();        // Use temporary placeholder      UpRefs.push_back(UpRefRecord((unsigned)yyvsp[0].UInt64Val, OT));  // Add to vector...      yyval.TypeVal = new PATypeHolder(OT);      UR_OUT("New Upreference!\n"); -  ;} -    break; - -  case 68: -#line 1078 "/usr/home/llvm/obj/../lib/AsmParser/llvmAsmParser.y" -    {           // Function derived type? +  ; +    break;} +case 67: +#line 1078 "/llvm/lib/AsmParser/llvmAsmParser.y" +{           // Function derived type?      std::vector<const Type*> Params;      for (std::list<llvm::PATypeHolder>::iterator I = yyvsp[-1].TypeList->begin(),             E = yyvsp[-1].TypeList->end(); I != E; ++I) @@ -2737,20 +2316,18 @@ yyreduce:      yyval.TypeVal = new PATypeHolder(HandleUpRefs(FunctionType::get(*yyvsp[-3].TypeVal,Params,isVarArg)));      delete yyvsp[-1].TypeList;      // Delete the argument list      delete yyvsp[-3].TypeVal;      // Delete the return type handle -  ;} -    break; - -  case 69: -#line 1090 "/usr/home/llvm/obj/../lib/AsmParser/llvmAsmParser.y" -    {          // Sized array type? +  ; +    break;} +case 68: +#line 1090 "/llvm/lib/AsmParser/llvmAsmParser.y" +{          // Sized array type?      yyval.TypeVal = new PATypeHolder(HandleUpRefs(ArrayType::get(*yyvsp[-1].TypeVal, (unsigned)yyvsp[-3].UInt64Val)));      delete yyvsp[-1].TypeVal; -  ;} -    break; - -  case 70: -#line 1094 "/usr/home/llvm/obj/../lib/AsmParser/llvmAsmParser.y" -    {          // Packed array type? +  ; +    break;} +case 69: +#line 1094 "/llvm/lib/AsmParser/llvmAsmParser.y" +{          // Packed array type?       const llvm::Type* ElemTy = yyvsp[-1].TypeVal->get();       if ((unsigned)yyvsp[-3].UInt64Val != yyvsp[-3].UInt64Val) {          ThrowException("Unsigned result not equal to signed result"); @@ -2760,12 +2337,11 @@ yyreduce:       }       yyval.TypeVal = new PATypeHolder(HandleUpRefs(PackedType::get(*yyvsp[-1].TypeVal, (unsigned)yyvsp[-3].UInt64Val)));       delete yyvsp[-1].TypeVal; -  ;} -    break; - -  case 71: -#line 1105 "/usr/home/llvm/obj/../lib/AsmParser/llvmAsmParser.y" -    {                        // Structure type? +  ; +    break;} +case 70: +#line 1105 "/llvm/lib/AsmParser/llvmAsmParser.y" +{                        // Structure type?      std::vector<const Type*> Elements;      for (std::list<llvm::PATypeHolder>::iterator I = yyvsp[-1].TypeList->begin(),             E = yyvsp[-1].TypeList->end(); I != E; ++I) @@ -2773,63 +2349,55 @@ yyreduce:      yyval.TypeVal = new PATypeHolder(HandleUpRefs(StructType::get(Elements)));      delete yyvsp[-1].TypeList; -  ;} -    break; - -  case 72: -#line 1114 "/usr/home/llvm/obj/../lib/AsmParser/llvmAsmParser.y" -    {                                  // Empty structure type? +  ; +    break;} +case 71: +#line 1114 "/llvm/lib/AsmParser/llvmAsmParser.y" +{                                  // Empty structure type?      yyval.TypeVal = new PATypeHolder(StructType::get(std::vector<const Type*>())); -  ;} -    break; - -  case 73: -#line 1117 "/usr/home/llvm/obj/../lib/AsmParser/llvmAsmParser.y" -    {                             // Pointer type? +  ; +    break;} +case 72: +#line 1117 "/llvm/lib/AsmParser/llvmAsmParser.y" +{                             // Pointer type?      yyval.TypeVal = new PATypeHolder(HandleUpRefs(PointerType::get(*yyvsp[-1].TypeVal)));      delete yyvsp[-1].TypeVal; -  ;} -    break; - -  case 74: -#line 1125 "/usr/home/llvm/obj/../lib/AsmParser/llvmAsmParser.y" -    { +  ; +    break;} +case 73: +#line 1125 "/llvm/lib/AsmParser/llvmAsmParser.y" +{      yyval.TypeList = new std::list<PATypeHolder>();      yyval.TypeList->push_back(*yyvsp[0].TypeVal); delete yyvsp[0].TypeVal; -  ;} -    break; - -  case 75: -#line 1129 "/usr/home/llvm/obj/../lib/AsmParser/llvmAsmParser.y" -    { +  ; +    break;} +case 74: +#line 1129 "/llvm/lib/AsmParser/llvmAsmParser.y" +{      (yyval.TypeList=yyvsp[-2].TypeList)->push_back(*yyvsp[0].TypeVal); delete yyvsp[0].TypeVal; -  ;} -    break; - -  case 77: -#line 1135 "/usr/home/llvm/obj/../lib/AsmParser/llvmAsmParser.y" -    { +  ; +    break;} +case 76: +#line 1135 "/llvm/lib/AsmParser/llvmAsmParser.y" +{      (yyval.TypeList=yyvsp[-2].TypeList)->push_back(Type::VoidTy); -  ;} -    break; - -  case 78: -#line 1138 "/usr/home/llvm/obj/../lib/AsmParser/llvmAsmParser.y" -    { +  ; +    break;} +case 77: +#line 1138 "/llvm/lib/AsmParser/llvmAsmParser.y" +{      (yyval.TypeList = new std::list<PATypeHolder>())->push_back(Type::VoidTy); -  ;} -    break; - -  case 79: -#line 1141 "/usr/home/llvm/obj/../lib/AsmParser/llvmAsmParser.y" -    { +  ; +    break;} +case 78: +#line 1141 "/llvm/lib/AsmParser/llvmAsmParser.y" +{      yyval.TypeList = new std::list<PATypeHolder>(); -  ;} -    break; - -  case 80: -#line 1151 "/usr/home/llvm/obj/../lib/AsmParser/llvmAsmParser.y" -    { // Nonempty unsized arr +  ; +    break;} +case 79: +#line 1151 "/llvm/lib/AsmParser/llvmAsmParser.y" +{ // Nonempty unsized arr      const ArrayType *ATy = dyn_cast<ArrayType>(yyvsp[-3].TypeVal->get());      if (ATy == 0)        ThrowException("Cannot make array constant with type: '" +  @@ -2853,12 +2421,11 @@ yyreduce:      yyval.ConstVal = ConstantArray::get(ATy, *yyvsp[-1].ConstVector);      delete yyvsp[-3].TypeVal; delete yyvsp[-1].ConstVector; -  ;} -    break; - -  case 81: -#line 1176 "/usr/home/llvm/obj/../lib/AsmParser/llvmAsmParser.y" -    { +  ; +    break;} +case 80: +#line 1176 "/llvm/lib/AsmParser/llvmAsmParser.y" +{      const ArrayType *ATy = dyn_cast<ArrayType>(yyvsp[-2].TypeVal->get());      if (ATy == 0)        ThrowException("Cannot make array constant with type: '" +  @@ -2870,12 +2437,11 @@ yyreduce:                       " arguments, but has size of " + itostr(NumElements) +"!");      yyval.ConstVal = ConstantArray::get(ATy, std::vector<Constant*>());      delete yyvsp[-2].TypeVal; -  ;} -    break; - -  case 82: -#line 1189 "/usr/home/llvm/obj/../lib/AsmParser/llvmAsmParser.y" -    { +  ; +    break;} +case 81: +#line 1189 "/llvm/lib/AsmParser/llvmAsmParser.y" +{      const ArrayType *ATy = dyn_cast<ArrayType>(yyvsp[-2].TypeVal->get());      if (ATy == 0)        ThrowException("Cannot make array constant with type: '" +  @@ -2902,12 +2468,11 @@ yyreduce:      free(yyvsp[0].StrVal);      yyval.ConstVal = ConstantArray::get(ATy, Vals);      delete yyvsp[-2].TypeVal; -  ;} -    break; - -  case 83: -#line 1217 "/usr/home/llvm/obj/../lib/AsmParser/llvmAsmParser.y" -    { // Nonempty unsized arr +  ; +    break;} +case 82: +#line 1217 "/llvm/lib/AsmParser/llvmAsmParser.y" +{ // Nonempty unsized arr      const PackedType *PTy = dyn_cast<PackedType>(yyvsp[-3].TypeVal->get());      if (PTy == 0)        ThrowException("Cannot make packed constant with type: '" +  @@ -2931,12 +2496,11 @@ yyreduce:      yyval.ConstVal = ConstantPacked::get(PTy, *yyvsp[-1].ConstVector);      delete yyvsp[-3].TypeVal; delete yyvsp[-1].ConstVector; -  ;} -    break; - -  case 84: -#line 1242 "/usr/home/llvm/obj/../lib/AsmParser/llvmAsmParser.y" -    { +  ; +    break;} +case 83: +#line 1242 "/llvm/lib/AsmParser/llvmAsmParser.y" +{      const StructType *STy = dyn_cast<StructType>(yyvsp[-3].TypeVal->get());      if (STy == 0)        ThrowException("Cannot make struct constant with type: '" +  @@ -2955,12 +2519,11 @@ yyreduce:      yyval.ConstVal = ConstantStruct::get(STy, *yyvsp[-1].ConstVector);      delete yyvsp[-3].TypeVal; delete yyvsp[-1].ConstVector; -  ;} -    break; - -  case 85: -#line 1262 "/usr/home/llvm/obj/../lib/AsmParser/llvmAsmParser.y" -    { +  ; +    break;} +case 84: +#line 1262 "/llvm/lib/AsmParser/llvmAsmParser.y" +{      const StructType *STy = dyn_cast<StructType>(yyvsp[-2].TypeVal->get());      if (STy == 0)        ThrowException("Cannot make struct constant with type: '" +  @@ -2971,12 +2534,11 @@ yyreduce:      yyval.ConstVal = ConstantStruct::get(STy, std::vector<Constant*>());      delete yyvsp[-2].TypeVal; -  ;} -    break; - -  case 86: -#line 1274 "/usr/home/llvm/obj/../lib/AsmParser/llvmAsmParser.y" -    { +  ; +    break;} +case 85: +#line 1274 "/llvm/lib/AsmParser/llvmAsmParser.y" +{      const PointerType *PTy = dyn_cast<PointerType>(yyvsp[-1].TypeVal->get());      if (PTy == 0)        ThrowException("Cannot make null pointer constant with type: '" +  @@ -2984,20 +2546,18 @@ yyreduce:      yyval.ConstVal = ConstantPointerNull::get(PTy);      delete yyvsp[-1].TypeVal; -  ;} -    break; - -  case 87: -#line 1283 "/usr/home/llvm/obj/../lib/AsmParser/llvmAsmParser.y" -    { +  ; +    break;} +case 86: +#line 1283 "/llvm/lib/AsmParser/llvmAsmParser.y" +{      yyval.ConstVal = UndefValue::get(yyvsp[-1].TypeVal->get());      delete yyvsp[-1].TypeVal; -  ;} -    break; - -  case 88: -#line 1287 "/usr/home/llvm/obj/../lib/AsmParser/llvmAsmParser.y" -    { +  ; +    break;} +case 87: +#line 1287 "/llvm/lib/AsmParser/llvmAsmParser.y" +{      const PointerType *Ty = dyn_cast<PointerType>(yyvsp[-1].TypeVal->get());      if (Ty == 0)        ThrowException("Global const reference must be a pointer type!"); @@ -3055,74 +2615,66 @@ yyreduce:      yyval.ConstVal = cast<GlobalValue>(V);      delete yyvsp[-1].TypeVal;            // Free the type handle -  ;} -    break; - -  case 89: -#line 1346 "/usr/home/llvm/obj/../lib/AsmParser/llvmAsmParser.y" -    { +  ; +    break;} +case 88: +#line 1346 "/llvm/lib/AsmParser/llvmAsmParser.y" +{      if (yyvsp[-1].TypeVal->get() != yyvsp[0].ConstVal->getType())        ThrowException("Mismatched types for constant expression!");      yyval.ConstVal = yyvsp[0].ConstVal;      delete yyvsp[-1].TypeVal; -  ;} -    break; - -  case 90: -#line 1352 "/usr/home/llvm/obj/../lib/AsmParser/llvmAsmParser.y" -    { +  ; +    break;} +case 89: +#line 1352 "/llvm/lib/AsmParser/llvmAsmParser.y" +{      const Type *Ty = yyvsp[-1].TypeVal->get();      if (isa<FunctionType>(Ty) || Ty == Type::LabelTy || isa<OpaqueType>(Ty))        ThrowException("Cannot create a null initialized value of this type!");      yyval.ConstVal = Constant::getNullValue(Ty);      delete yyvsp[-1].TypeVal; -  ;} -    break; - -  case 91: -#line 1360 "/usr/home/llvm/obj/../lib/AsmParser/llvmAsmParser.y" -    {      // integral constants +  ; +    break;} +case 90: +#line 1360 "/llvm/lib/AsmParser/llvmAsmParser.y" +{      // integral constants      if (!ConstantSInt::isValueValidForType(yyvsp[-1].PrimType, yyvsp[0].SInt64Val))        ThrowException("Constant value doesn't fit in type!");      yyval.ConstVal = ConstantSInt::get(yyvsp[-1].PrimType, yyvsp[0].SInt64Val); -  ;} -    break; - -  case 92: -#line 1365 "/usr/home/llvm/obj/../lib/AsmParser/llvmAsmParser.y" -    {            // integral constants +  ; +    break;} +case 91: +#line 1365 "/llvm/lib/AsmParser/llvmAsmParser.y" +{            // integral constants      if (!ConstantUInt::isValueValidForType(yyvsp[-1].PrimType, yyvsp[0].UInt64Val))        ThrowException("Constant value doesn't fit in type!");      yyval.ConstVal = ConstantUInt::get(yyvsp[-1].PrimType, yyvsp[0].UInt64Val); -  ;} -    break; - -  case 93: -#line 1370 "/usr/home/llvm/obj/../lib/AsmParser/llvmAsmParser.y" -    {                      // Boolean constants +  ; +    break;} +case 92: +#line 1370 "/llvm/lib/AsmParser/llvmAsmParser.y" +{                      // Boolean constants      yyval.ConstVal = ConstantBool::True; -  ;} -    break; - -  case 94: -#line 1373 "/usr/home/llvm/obj/../lib/AsmParser/llvmAsmParser.y" -    {                     // Boolean constants +  ; +    break;} +case 93: +#line 1373 "/llvm/lib/AsmParser/llvmAsmParser.y" +{                     // Boolean constants      yyval.ConstVal = ConstantBool::False; -  ;} -    break; - -  case 95: -#line 1376 "/usr/home/llvm/obj/../lib/AsmParser/llvmAsmParser.y" -    {                   // Float & Double constants +  ; +    break;} +case 94: +#line 1376 "/llvm/lib/AsmParser/llvmAsmParser.y" +{                   // Float & Double constants      if (!ConstantFP::isValueValidForType(yyvsp[-1].PrimType, yyvsp[0].FPVal))        ThrowException("Floating point constant invalid for type!!");      yyval.ConstVal = ConstantFP::get(yyvsp[-1].PrimType, yyvsp[0].FPVal); -  ;} -    break; - -  case 96: -#line 1383 "/usr/home/llvm/obj/../lib/AsmParser/llvmAsmParser.y" -    { +  ; +    break;} +case 95: +#line 1383 "/llvm/lib/AsmParser/llvmAsmParser.y" +{      if (!yyvsp[-3].ConstVal->getType()->isFirstClassType())        ThrowException("cast constant expression from a non-primitive type: '" +                       yyvsp[-3].ConstVal->getType()->getDescription() + "'!"); @@ -3131,12 +2683,11 @@ yyreduce:                       yyvsp[-1].TypeVal->get()->getDescription() + "'!");      yyval.ConstVal = ConstantExpr::getCast(yyvsp[-3].ConstVal, yyvsp[-1].TypeVal->get());      delete yyvsp[-1].TypeVal; -  ;} -    break; - -  case 97: -#line 1393 "/usr/home/llvm/obj/../lib/AsmParser/llvmAsmParser.y" -    { +  ; +    break;} +case 96: +#line 1393 "/llvm/lib/AsmParser/llvmAsmParser.y" +{      if (!isa<PointerType>(yyvsp[-2].ConstVal->getType()))        ThrowException("GetElementPtr requires a pointer operand!"); @@ -3166,23 +2717,21 @@ yyreduce:      delete yyvsp[-1].ValueList;      yyval.ConstVal = ConstantExpr::getGetElementPtr(yyvsp[-2].ConstVal, IdxVec); -  ;} -    break; - -  case 98: -#line 1424 "/usr/home/llvm/obj/../lib/AsmParser/llvmAsmParser.y" -    { +  ; +    break;} +case 97: +#line 1424 "/llvm/lib/AsmParser/llvmAsmParser.y" +{      if (yyvsp[-5].ConstVal->getType() != Type::BoolTy)        ThrowException("Select condition must be of boolean type!");      if (yyvsp[-3].ConstVal->getType() != yyvsp[-1].ConstVal->getType())        ThrowException("Select operand types must match!");      yyval.ConstVal = ConstantExpr::getSelect(yyvsp[-5].ConstVal, yyvsp[-3].ConstVal, yyvsp[-1].ConstVal); -  ;} -    break; - -  case 99: -#line 1431 "/usr/home/llvm/obj/../lib/AsmParser/llvmAsmParser.y" -    { +  ; +    break;} +case 98: +#line 1431 "/llvm/lib/AsmParser/llvmAsmParser.y" +{      if (yyvsp[-3].ConstVal->getType() != yyvsp[-1].ConstVal->getType())        ThrowException("Binary operator types must match!");      // HACK: llvm 1.3 and earlier used to emit invalid pointer constant exprs. @@ -3202,98 +2751,86 @@ yyreduce:                               ConstantExpr::getCast(yyvsp[-1].ConstVal, IntPtrTy));        yyval.ConstVal = ConstantExpr::getCast(yyval.ConstVal, yyvsp[-3].ConstVal->getType());      } -  ;} -    break; - -  case 100: -#line 1452 "/usr/home/llvm/obj/../lib/AsmParser/llvmAsmParser.y" -    { +  ; +    break;} +case 99: +#line 1452 "/llvm/lib/AsmParser/llvmAsmParser.y" +{      if (yyvsp[-3].ConstVal->getType() != yyvsp[-1].ConstVal->getType())        ThrowException("Logical operator types must match!");      if (!yyvsp[-3].ConstVal->getType()->isIntegral())        ThrowException("Logical operands must have integral types!");      yyval.ConstVal = ConstantExpr::get(yyvsp[-5].BinaryOpVal, yyvsp[-3].ConstVal, yyvsp[-1].ConstVal); -  ;} -    break; - -  case 101: -#line 1459 "/usr/home/llvm/obj/../lib/AsmParser/llvmAsmParser.y" -    { +  ; +    break;} +case 100: +#line 1459 "/llvm/lib/AsmParser/llvmAsmParser.y" +{      if (yyvsp[-3].ConstVal->getType() != yyvsp[-1].ConstVal->getType())        ThrowException("setcc operand types must match!");      yyval.ConstVal = ConstantExpr::get(yyvsp[-5].BinaryOpVal, yyvsp[-3].ConstVal, yyvsp[-1].ConstVal); -  ;} -    break; - -  case 102: -#line 1464 "/usr/home/llvm/obj/../lib/AsmParser/llvmAsmParser.y" -    { +  ; +    break;} +case 101: +#line 1464 "/llvm/lib/AsmParser/llvmAsmParser.y" +{      if (yyvsp[-1].ConstVal->getType() != Type::UByteTy)        ThrowException("Shift count for shift constant must be unsigned byte!");      if (!yyvsp[-3].ConstVal->getType()->isInteger())        ThrowException("Shift constant expression requires integer operand!");      yyval.ConstVal = ConstantExpr::get(yyvsp[-5].OtherOpVal, yyvsp[-3].ConstVal, yyvsp[-1].ConstVal); -  ;} -    break; - -  case 103: -#line 1474 "/usr/home/llvm/obj/../lib/AsmParser/llvmAsmParser.y" -    { +  ; +    break;} +case 102: +#line 1474 "/llvm/lib/AsmParser/llvmAsmParser.y" +{      (yyval.ConstVector = yyvsp[-2].ConstVector)->push_back(yyvsp[0].ConstVal); -  ;} -    break; - -  case 104: -#line 1477 "/usr/home/llvm/obj/../lib/AsmParser/llvmAsmParser.y" -    { +  ; +    break;} +case 103: +#line 1477 "/llvm/lib/AsmParser/llvmAsmParser.y" +{      yyval.ConstVector = new std::vector<Constant*>();      yyval.ConstVector->push_back(yyvsp[0].ConstVal); -  ;} -    break; - -  case 105: -#line 1484 "/usr/home/llvm/obj/../lib/AsmParser/llvmAsmParser.y" -    { yyval.BoolVal = false; ;} -    break; - -  case 106: -#line 1484 "/usr/home/llvm/obj/../lib/AsmParser/llvmAsmParser.y" -    { yyval.BoolVal = true; ;} -    break; - -  case 107: -#line 1494 "/usr/home/llvm/obj/../lib/AsmParser/llvmAsmParser.y" -    { +  ; +    break;} +case 104: +#line 1484 "/llvm/lib/AsmParser/llvmAsmParser.y" +{ yyval.BoolVal = false; ; +    break;} +case 105: +#line 1484 "/llvm/lib/AsmParser/llvmAsmParser.y" +{ yyval.BoolVal = true; ; +    break;} +case 106: +#line 1494 "/llvm/lib/AsmParser/llvmAsmParser.y" +{    yyval.ModuleVal = ParserResult = yyvsp[0].ModuleVal;    CurModule.ModuleDone(); -;} -    break; - -  case 108: -#line 1501 "/usr/home/llvm/obj/../lib/AsmParser/llvmAsmParser.y" -    { +; +    break;} +case 107: +#line 1501 "/llvm/lib/AsmParser/llvmAsmParser.y" +{      yyval.ModuleVal = yyvsp[-1].ModuleVal;      CurFun.FunctionDone(); -  ;} -    break; - -  case 109: -#line 1505 "/usr/home/llvm/obj/../lib/AsmParser/llvmAsmParser.y" -    { +  ; +    break;} +case 108: +#line 1505 "/llvm/lib/AsmParser/llvmAsmParser.y" +{      yyval.ModuleVal = yyvsp[-1].ModuleVal; -  ;} -    break; - -  case 110: -#line 1508 "/usr/home/llvm/obj/../lib/AsmParser/llvmAsmParser.y" -    { +  ; +    break;} +case 109: +#line 1508 "/llvm/lib/AsmParser/llvmAsmParser.y" +{      yyval.ModuleVal = yyvsp[-1].ModuleVal; -  ;} -    break; - -  case 111: -#line 1511 "/usr/home/llvm/obj/../lib/AsmParser/llvmAsmParser.y" -    { +  ; +    break;} +case 110: +#line 1511 "/llvm/lib/AsmParser/llvmAsmParser.y" +{      yyval.ModuleVal = CurModule.CurrentModule;      // Emit an error if there are any unresolved types left.      if (!CurModule.LateResolveTypes.empty()) { @@ -3303,12 +2840,11 @@ yyreduce:        else          ThrowException("Reference to an undefined type: #" + itostr(DID.Num));      } -  ;} -    break; - -  case 112: -#line 1524 "/usr/home/llvm/obj/../lib/AsmParser/llvmAsmParser.y" -    { +  ; +    break;} +case 111: +#line 1524 "/llvm/lib/AsmParser/llvmAsmParser.y" +{      // Eagerly resolve types.  This is not an optimization, this is a      // requirement that is due to the fact that we could have this:      // @@ -3327,174 +2863,151 @@ yyreduce:      }      delete yyvsp[0].TypeVal; -  ;} -    break; - -  case 113: -#line 1544 "/usr/home/llvm/obj/../lib/AsmParser/llvmAsmParser.y" -    {       // Function prototypes can be in const pool -  ;} -    break; - -  case 114: -#line 1546 "/usr/home/llvm/obj/../lib/AsmParser/llvmAsmParser.y" -    { +  ; +    break;} +case 112: +#line 1544 "/llvm/lib/AsmParser/llvmAsmParser.y" +{       // Function prototypes can be in const pool +  ; +    break;} +case 113: +#line 1546 "/llvm/lib/AsmParser/llvmAsmParser.y" +{      if (yyvsp[0].ConstVal == 0) ThrowException("Global value initializer is not a constant!");      ParseGlobalVariable(yyvsp[-3].StrVal, yyvsp[-2].Linkage, yyvsp[-1].BoolVal, yyvsp[0].ConstVal->getType(), yyvsp[0].ConstVal); -  ;} -    break; - -  case 115: -#line 1550 "/usr/home/llvm/obj/../lib/AsmParser/llvmAsmParser.y" -    { +  ; +    break;} +case 114: +#line 1550 "/llvm/lib/AsmParser/llvmAsmParser.y" +{      ParseGlobalVariable(yyvsp[-3].StrVal, GlobalValue::ExternalLinkage, yyvsp[-1].BoolVal, *yyvsp[0].TypeVal, 0);      delete yyvsp[0].TypeVal; -  ;} -    break; - -  case 116: -#line 1554 "/usr/home/llvm/obj/../lib/AsmParser/llvmAsmParser.y" -    {  -  ;} -    break; - -  case 117: -#line 1556 "/usr/home/llvm/obj/../lib/AsmParser/llvmAsmParser.y" -    { -  ;} -    break; - -  case 118: -#line 1558 "/usr/home/llvm/obj/../lib/AsmParser/llvmAsmParser.y" -    {  -  ;} -    break; - -  case 119: -#line 1563 "/usr/home/llvm/obj/../lib/AsmParser/llvmAsmParser.y" -    { yyval.Endianness = Module::BigEndian; ;} -    break; - -  case 120: -#line 1564 "/usr/home/llvm/obj/../lib/AsmParser/llvmAsmParser.y" -    { yyval.Endianness = Module::LittleEndian; ;} -    break; - -  case 121: -#line 1566 "/usr/home/llvm/obj/../lib/AsmParser/llvmAsmParser.y" -    { +  ; +    break;} +case 115: +#line 1554 "/llvm/lib/AsmParser/llvmAsmParser.y" +{  +  ; +    break;} +case 116: +#line 1556 "/llvm/lib/AsmParser/llvmAsmParser.y" +{ +  ; +    break;} +case 117: +#line 1558 "/llvm/lib/AsmParser/llvmAsmParser.y" +{  +  ; +    break;} +case 118: +#line 1563 "/llvm/lib/AsmParser/llvmAsmParser.y" +{ yyval.Endianness = Module::BigEndian; ; +    break;} +case 119: +#line 1564 "/llvm/lib/AsmParser/llvmAsmParser.y" +{ yyval.Endianness = Module::LittleEndian; ; +    break;} +case 120: +#line 1566 "/llvm/lib/AsmParser/llvmAsmParser.y" +{      CurModule.CurrentModule->setEndianness(yyvsp[0].Endianness); -  ;} -    break; - -  case 122: -#line 1569 "/usr/home/llvm/obj/../lib/AsmParser/llvmAsmParser.y" -    { +  ; +    break;} +case 121: +#line 1569 "/llvm/lib/AsmParser/llvmAsmParser.y" +{      if (yyvsp[0].UInt64Val == 32)        CurModule.CurrentModule->setPointerSize(Module::Pointer32);      else if (yyvsp[0].UInt64Val == 64)        CurModule.CurrentModule->setPointerSize(Module::Pointer64);      else        ThrowException("Invalid pointer size: '" + utostr(yyvsp[0].UInt64Val) + "'!"); -  ;} -    break; - -  case 123: -#line 1577 "/usr/home/llvm/obj/../lib/AsmParser/llvmAsmParser.y" -    { +  ; +    break;} +case 122: +#line 1577 "/llvm/lib/AsmParser/llvmAsmParser.y" +{      CurModule.CurrentModule->setTargetTriple(yyvsp[0].StrVal);      free(yyvsp[0].StrVal); -  ;} -    break; - -  case 125: -#line 1584 "/usr/home/llvm/obj/../lib/AsmParser/llvmAsmParser.y" -    { +  ; +    break;} +case 124: +#line 1584 "/llvm/lib/AsmParser/llvmAsmParser.y" +{            CurModule.CurrentModule->addLibrary(yyvsp[0].StrVal);            free(yyvsp[0].StrVal); -        ;} -    break; - -  case 126: -#line 1588 "/usr/home/llvm/obj/../lib/AsmParser/llvmAsmParser.y" -    { +        ; +    break;} +case 125: +#line 1588 "/llvm/lib/AsmParser/llvmAsmParser.y" +{            CurModule.CurrentModule->addLibrary(yyvsp[0].StrVal);            free(yyvsp[0].StrVal); -        ;} -    break; - -  case 127: -#line 1592 "/usr/home/llvm/obj/../lib/AsmParser/llvmAsmParser.y" -    { -        ;} -    break; - -  case 131: -#line 1601 "/usr/home/llvm/obj/../lib/AsmParser/llvmAsmParser.y" -    { yyval.StrVal = 0; ;} -    break; - -  case 132: -#line 1603 "/usr/home/llvm/obj/../lib/AsmParser/llvmAsmParser.y" -    { +        ; +    break;} +case 126: +#line 1592 "/llvm/lib/AsmParser/llvmAsmParser.y" +{ +        ; +    break;} +case 130: +#line 1601 "/llvm/lib/AsmParser/llvmAsmParser.y" +{ yyval.StrVal = 0; ; +    break;} +case 131: +#line 1603 "/llvm/lib/AsmParser/llvmAsmParser.y" +{    if (*yyvsp[-1].TypeVal == Type::VoidTy)      ThrowException("void typed arguments are invalid!");    yyval.ArgVal = new std::pair<PATypeHolder*, char*>(yyvsp[-1].TypeVal, yyvsp[0].StrVal); -;} -    break; - -  case 133: -#line 1609 "/usr/home/llvm/obj/../lib/AsmParser/llvmAsmParser.y" -    { +; +    break;} +case 132: +#line 1609 "/llvm/lib/AsmParser/llvmAsmParser.y" +{      yyval.ArgList = yyvsp[-2].ArgList;      yyvsp[-2].ArgList->push_back(*yyvsp[0].ArgVal);      delete yyvsp[0].ArgVal; -  ;} -    break; - -  case 134: -#line 1614 "/usr/home/llvm/obj/../lib/AsmParser/llvmAsmParser.y" -    { +  ; +    break;} +case 133: +#line 1614 "/llvm/lib/AsmParser/llvmAsmParser.y" +{      yyval.ArgList = new std::vector<std::pair<PATypeHolder*,char*> >();      yyval.ArgList->push_back(*yyvsp[0].ArgVal);      delete yyvsp[0].ArgVal; -  ;} -    break; - -  case 135: -#line 1620 "/usr/home/llvm/obj/../lib/AsmParser/llvmAsmParser.y" -    { +  ; +    break;} +case 134: +#line 1620 "/llvm/lib/AsmParser/llvmAsmParser.y" +{      yyval.ArgList = yyvsp[0].ArgList; -  ;} -    break; - -  case 136: -#line 1623 "/usr/home/llvm/obj/../lib/AsmParser/llvmAsmParser.y" -    { +  ; +    break;} +case 135: +#line 1623 "/llvm/lib/AsmParser/llvmAsmParser.y" +{      yyval.ArgList = yyvsp[-2].ArgList;      yyval.ArgList->push_back(std::pair<PATypeHolder*,                              char*>(new PATypeHolder(Type::VoidTy), 0)); -  ;} -    break; - -  case 137: -#line 1628 "/usr/home/llvm/obj/../lib/AsmParser/llvmAsmParser.y" -    { +  ; +    break;} +case 136: +#line 1628 "/llvm/lib/AsmParser/llvmAsmParser.y" +{      yyval.ArgList = new std::vector<std::pair<PATypeHolder*,char*> >();      yyval.ArgList->push_back(std::make_pair(new PATypeHolder(Type::VoidTy), (char*)0)); -  ;} -    break; - -  case 138: -#line 1632 "/usr/home/llvm/obj/../lib/AsmParser/llvmAsmParser.y" -    { +  ; +    break;} +case 137: +#line 1632 "/llvm/lib/AsmParser/llvmAsmParser.y" +{      yyval.ArgList = 0; -  ;} -    break; - -  case 139: -#line 1636 "/usr/home/llvm/obj/../lib/AsmParser/llvmAsmParser.y" -    { +  ; +    break;} +case 138: +#line 1636 "/llvm/lib/AsmParser/llvmAsmParser.y" +{    UnEscapeLexed(yyvsp[-3].StrVal);    std::string FunctionName(yyvsp[-3].StrVal);    free(yyvsp[-3].StrVal);  // Free strdup'd memory! @@ -3572,92 +3085,80 @@ yyreduce:      delete yyvsp[-1].ArgList;                     // We're now done with the argument list    } -;} -    break; - -  case 142: -#line 1718 "/usr/home/llvm/obj/../lib/AsmParser/llvmAsmParser.y" -    { +; +    break;} +case 141: +#line 1718 "/llvm/lib/AsmParser/llvmAsmParser.y" +{    yyval.FunctionVal = CurFun.CurrentFunction;    // Make sure that we keep track of the linkage type even if there was a    // previous "declare".    yyval.FunctionVal->setLinkage(yyvsp[-2].Linkage); -;} -    break; - -  case 145: -#line 1728 "/usr/home/llvm/obj/../lib/AsmParser/llvmAsmParser.y" -    { +; +    break;} +case 144: +#line 1728 "/llvm/lib/AsmParser/llvmAsmParser.y" +{    yyval.FunctionVal = yyvsp[-1].FunctionVal; -;} -    break; - -  case 146: -#line 1732 "/usr/home/llvm/obj/../lib/AsmParser/llvmAsmParser.y" -    { CurFun.isDeclare = true; ;} -    break; - -  case 147: -#line 1732 "/usr/home/llvm/obj/../lib/AsmParser/llvmAsmParser.y" -    { +; +    break;} +case 145: +#line 1732 "/llvm/lib/AsmParser/llvmAsmParser.y" +{ CurFun.isDeclare = true; ; +    break;} +case 146: +#line 1732 "/llvm/lib/AsmParser/llvmAsmParser.y" +{    yyval.FunctionVal = CurFun.CurrentFunction;    CurFun.FunctionDone(); -;} -    break; - -  case 148: -#line 1741 "/usr/home/llvm/obj/../lib/AsmParser/llvmAsmParser.y" -    {    // A reference to a direct constant +; +    break;} +case 147: +#line 1741 "/llvm/lib/AsmParser/llvmAsmParser.y" +{    // A reference to a direct constant      yyval.ValIDVal = ValID::create(yyvsp[0].SInt64Val); -  ;} -    break; - -  case 149: -#line 1744 "/usr/home/llvm/obj/../lib/AsmParser/llvmAsmParser.y" -    { +  ; +    break;} +case 148: +#line 1744 "/llvm/lib/AsmParser/llvmAsmParser.y" +{      yyval.ValIDVal = ValID::create(yyvsp[0].UInt64Val); -  ;} -    break; - -  case 150: -#line 1747 "/usr/home/llvm/obj/../lib/AsmParser/llvmAsmParser.y" -    {                     // Perhaps it's an FP constant? +  ; +    break;} +case 149: +#line 1747 "/llvm/lib/AsmParser/llvmAsmParser.y" +{                     // Perhaps it's an FP constant?      yyval.ValIDVal = ValID::create(yyvsp[0].FPVal); -  ;} -    break; - -  case 151: -#line 1750 "/usr/home/llvm/obj/../lib/AsmParser/llvmAsmParser.y" -    { +  ; +    break;} +case 150: +#line 1750 "/llvm/lib/AsmParser/llvmAsmParser.y" +{      yyval.ValIDVal = ValID::create(ConstantBool::True); -  ;} -    break; - -  case 152: -#line 1753 "/usr/home/llvm/obj/../lib/AsmParser/llvmAsmParser.y" -    { +  ; +    break;} +case 151: +#line 1753 "/llvm/lib/AsmParser/llvmAsmParser.y" +{      yyval.ValIDVal = ValID::create(ConstantBool::False); -  ;} -    break; - -  case 153: -#line 1756 "/usr/home/llvm/obj/../lib/AsmParser/llvmAsmParser.y" -    { +  ; +    break;} +case 152: +#line 1756 "/llvm/lib/AsmParser/llvmAsmParser.y" +{      yyval.ValIDVal = ValID::createNull(); -  ;} -    break; - -  case 154: -#line 1759 "/usr/home/llvm/obj/../lib/AsmParser/llvmAsmParser.y" -    { +  ; +    break;} +case 153: +#line 1759 "/llvm/lib/AsmParser/llvmAsmParser.y" +{      yyval.ValIDVal = ValID::createUndef(); -  ;} -    break; - -  case 155: -#line 1762 "/usr/home/llvm/obj/../lib/AsmParser/llvmAsmParser.y" -    { // Nonempty unsized packed vector +  ; +    break;} +case 154: +#line 1762 "/llvm/lib/AsmParser/llvmAsmParser.y" +{ // Nonempty unsized packed vector      const Type *ETy = (*yyvsp[-1].ConstVector)[0]->getType();      int NumElements = yyvsp[-1].ConstVector->size();  @@ -3680,74 +3181,65 @@ yyreduce:      yyval.ValIDVal = ValID::create(ConstantPacked::get(pt, *yyvsp[-1].ConstVector));      delete PTy; delete yyvsp[-1].ConstVector; -  ;} -    break; - -  case 156: -#line 1786 "/usr/home/llvm/obj/../lib/AsmParser/llvmAsmParser.y" -    { +  ; +    break;} +case 155: +#line 1786 "/llvm/lib/AsmParser/llvmAsmParser.y" +{      yyval.ValIDVal = ValID::create(yyvsp[0].ConstVal); -  ;} -    break; - -  case 157: -#line 1793 "/usr/home/llvm/obj/../lib/AsmParser/llvmAsmParser.y" -    {  // Is it an integer reference...? +  ; +    break;} +case 156: +#line 1793 "/llvm/lib/AsmParser/llvmAsmParser.y" +{  // Is it an integer reference...?      yyval.ValIDVal = ValID::create(yyvsp[0].SIntVal); -  ;} -    break; - -  case 158: -#line 1796 "/usr/home/llvm/obj/../lib/AsmParser/llvmAsmParser.y" -    {                   // Is it a named reference...? +  ; +    break;} +case 157: +#line 1796 "/llvm/lib/AsmParser/llvmAsmParser.y" +{                   // Is it a named reference...?      yyval.ValIDVal = ValID::create(yyvsp[0].StrVal); -  ;} -    break; - -  case 161: -#line 1807 "/usr/home/llvm/obj/../lib/AsmParser/llvmAsmParser.y" -    { +  ; +    break;} +case 160: +#line 1807 "/llvm/lib/AsmParser/llvmAsmParser.y" +{      yyval.ValueVal = getVal(*yyvsp[-1].TypeVal, yyvsp[0].ValIDVal); delete yyvsp[-1].TypeVal; -  ;} -    break; - -  case 162: -#line 1811 "/usr/home/llvm/obj/../lib/AsmParser/llvmAsmParser.y" -    { +  ; +    break;} +case 161: +#line 1811 "/llvm/lib/AsmParser/llvmAsmParser.y" +{      yyval.FunctionVal = yyvsp[-1].FunctionVal; -  ;} -    break; - -  case 163: -#line 1814 "/usr/home/llvm/obj/../lib/AsmParser/llvmAsmParser.y" -    { // Do not allow functions with 0 basic blocks    +  ; +    break;} +case 162: +#line 1814 "/llvm/lib/AsmParser/llvmAsmParser.y" +{ // Do not allow functions with 0 basic blocks         yyval.FunctionVal = yyvsp[-1].FunctionVal; -  ;} -    break; - -  case 164: -#line 1822 "/usr/home/llvm/obj/../lib/AsmParser/llvmAsmParser.y" -    { +  ; +    break;} +case 163: +#line 1822 "/llvm/lib/AsmParser/llvmAsmParser.y" +{      setValueName(yyvsp[0].TermInstVal, yyvsp[-1].StrVal);      InsertValue(yyvsp[0].TermInstVal);      yyvsp[-2].BasicBlockVal->getInstList().push_back(yyvsp[0].TermInstVal);      InsertValue(yyvsp[-2].BasicBlockVal);      yyval.BasicBlockVal = yyvsp[-2].BasicBlockVal; -  ;} -    break; - -  case 165: -#line 1831 "/usr/home/llvm/obj/../lib/AsmParser/llvmAsmParser.y" -    { +  ; +    break;} +case 164: +#line 1831 "/llvm/lib/AsmParser/llvmAsmParser.y" +{      yyvsp[-1].BasicBlockVal->getInstList().push_back(yyvsp[0].InstVal);      yyval.BasicBlockVal = yyvsp[-1].BasicBlockVal; -  ;} -    break; - -  case 166: -#line 1835 "/usr/home/llvm/obj/../lib/AsmParser/llvmAsmParser.y" -    { +  ; +    break;} +case 165: +#line 1835 "/llvm/lib/AsmParser/llvmAsmParser.y" +{      yyval.BasicBlockVal = CurBB = getBBVal(ValID::create((int)CurFun.NextBBNum++), true);      // Make sure to move the basic block to the correct location in the @@ -3756,12 +3248,11 @@ yyreduce:      Function::BasicBlockListType &BBL =         CurFun.CurrentFunction->getBasicBlockList();      BBL.splice(BBL.end(), BBL, yyval.BasicBlockVal); -  ;} -    break; - -  case 167: -#line 1845 "/usr/home/llvm/obj/../lib/AsmParser/llvmAsmParser.y" -    { +  ; +    break;} +case 166: +#line 1845 "/llvm/lib/AsmParser/llvmAsmParser.y" +{      yyval.BasicBlockVal = CurBB = getBBVal(ValID::create(yyvsp[0].StrVal), true);      // Make sure to move the basic block to the correct location in the @@ -3770,40 +3261,35 @@ yyreduce:      Function::BasicBlockListType &BBL =         CurFun.CurrentFunction->getBasicBlockList();      BBL.splice(BBL.end(), BBL, yyval.BasicBlockVal); -  ;} -    break; - -  case 168: -#line 1856 "/usr/home/llvm/obj/../lib/AsmParser/llvmAsmParser.y" -    {              // Return with a result... +  ; +    break;} +case 167: +#line 1856 "/llvm/lib/AsmParser/llvmAsmParser.y" +{              // Return with a result...      yyval.TermInstVal = new ReturnInst(yyvsp[0].ValueVal); -  ;} -    break; - -  case 169: -#line 1859 "/usr/home/llvm/obj/../lib/AsmParser/llvmAsmParser.y" -    {                                       // Return with no result... +  ; +    break;} +case 168: +#line 1859 "/llvm/lib/AsmParser/llvmAsmParser.y" +{                                       // Return with no result...      yyval.TermInstVal = new ReturnInst(); -  ;} -    break; - -  case 170: -#line 1862 "/usr/home/llvm/obj/../lib/AsmParser/llvmAsmParser.y" -    {                         // Unconditional Branch... +  ; +    break;} +case 169: +#line 1862 "/llvm/lib/AsmParser/llvmAsmParser.y" +{                         // Unconditional Branch...      yyval.TermInstVal = new BranchInst(getBBVal(yyvsp[0].ValIDVal)); -  ;} -    break; - -  case 171: -#line 1865 "/usr/home/llvm/obj/../lib/AsmParser/llvmAsmParser.y" -    {   +  ; +    break;} +case 170: +#line 1865 "/llvm/lib/AsmParser/llvmAsmParser.y" +{        yyval.TermInstVal = new BranchInst(getBBVal(yyvsp[-3].ValIDVal), getBBVal(yyvsp[0].ValIDVal), getVal(Type::BoolTy, yyvsp[-6].ValIDVal)); -  ;} -    break; - -  case 172: -#line 1868 "/usr/home/llvm/obj/../lib/AsmParser/llvmAsmParser.y" -    { +  ; +    break;} +case 171: +#line 1868 "/llvm/lib/AsmParser/llvmAsmParser.y" +{      SwitchInst *S = new SwitchInst(getVal(yyvsp[-7].PrimType, yyvsp[-6].ValIDVal), getBBVal(yyvsp[-3].ValIDVal), yyvsp[-1].JumpTable->size());      yyval.TermInstVal = S; @@ -3816,20 +3302,18 @@ yyreduce:          ThrowException("Switch case is constant, but not a simple integer!");      }      delete yyvsp[-1].JumpTable; -  ;} -    break; - -  case 173: -#line 1882 "/usr/home/llvm/obj/../lib/AsmParser/llvmAsmParser.y" -    { +  ; +    break;} +case 172: +#line 1882 "/llvm/lib/AsmParser/llvmAsmParser.y" +{      SwitchInst *S = new SwitchInst(getVal(yyvsp[-6].PrimType, yyvsp[-5].ValIDVal), getBBVal(yyvsp[-2].ValIDVal), 0);      yyval.TermInstVal = S; -  ;} -    break; - -  case 174: -#line 1887 "/usr/home/llvm/obj/../lib/AsmParser/llvmAsmParser.y" -    { +  ; +    break;} +case 173: +#line 1887 "/llvm/lib/AsmParser/llvmAsmParser.y" +{      const PointerType *PFTy;      const FunctionType *Ty; @@ -3880,38 +3364,34 @@ yyreduce:      delete yyvsp[-10].TypeVal;      delete yyvsp[-7].ValueList; -  ;} -    break; - -  case 175: -#line 1939 "/usr/home/llvm/obj/../lib/AsmParser/llvmAsmParser.y" -    { +  ; +    break;} +case 174: +#line 1939 "/llvm/lib/AsmParser/llvmAsmParser.y" +{      yyval.TermInstVal = new UnwindInst(); -  ;} -    break; - -  case 176: -#line 1942 "/usr/home/llvm/obj/../lib/AsmParser/llvmAsmParser.y" -    { +  ; +    break;} +case 175: +#line 1942 "/llvm/lib/AsmParser/llvmAsmParser.y" +{      yyval.TermInstVal = new UnreachableInst(); -  ;} -    break; - -  case 177: -#line 1948 "/usr/home/llvm/obj/../lib/AsmParser/llvmAsmParser.y" -    { +  ; +    break;} +case 176: +#line 1948 "/llvm/lib/AsmParser/llvmAsmParser.y" +{      yyval.JumpTable = yyvsp[-5].JumpTable;      Constant *V = cast<Constant>(getValNonImprovising(yyvsp[-4].PrimType, yyvsp[-3].ValIDVal));      if (V == 0)        ThrowException("May only switch on a constant pool value!");      yyval.JumpTable->push_back(std::make_pair(V, getBBVal(yyvsp[0].ValIDVal))); -  ;} -    break; - -  case 178: -#line 1956 "/usr/home/llvm/obj/../lib/AsmParser/llvmAsmParser.y" -    { +  ; +    break;} +case 177: +#line 1956 "/llvm/lib/AsmParser/llvmAsmParser.y" +{      yyval.JumpTable = new std::vector<std::pair<Constant*, BasicBlock*> >();      Constant *V = cast<Constant>(getValNonImprovising(yyvsp[-4].PrimType, yyvsp[-3].ValIDVal)); @@ -3919,75 +3399,66 @@ yyreduce:        ThrowException("May only switch on a constant pool value!");      yyval.JumpTable->push_back(std::make_pair(V, getBBVal(yyvsp[0].ValIDVal))); -  ;} -    break; - -  case 179: -#line 1966 "/usr/home/llvm/obj/../lib/AsmParser/llvmAsmParser.y" -    { +  ; +    break;} +case 178: +#line 1966 "/llvm/lib/AsmParser/llvmAsmParser.y" +{    // Is this definition named?? if so, assign the name...    setValueName(yyvsp[0].InstVal, yyvsp[-1].StrVal);    InsertValue(yyvsp[0].InstVal);    yyval.InstVal = yyvsp[0].InstVal; -;} -    break; - -  case 180: -#line 1973 "/usr/home/llvm/obj/../lib/AsmParser/llvmAsmParser.y" -    {    // Used for PHI nodes +; +    break;} +case 179: +#line 1973 "/llvm/lib/AsmParser/llvmAsmParser.y" +{    // Used for PHI nodes      yyval.PHIList = new std::list<std::pair<Value*, BasicBlock*> >();      yyval.PHIList->push_back(std::make_pair(getVal(*yyvsp[-5].TypeVal, yyvsp[-3].ValIDVal), getBBVal(yyvsp[-1].ValIDVal)));      delete yyvsp[-5].TypeVal; -  ;} -    break; - -  case 181: -#line 1978 "/usr/home/llvm/obj/../lib/AsmParser/llvmAsmParser.y" -    { +  ; +    break;} +case 180: +#line 1978 "/llvm/lib/AsmParser/llvmAsmParser.y" +{      yyval.PHIList = yyvsp[-6].PHIList;      yyvsp[-6].PHIList->push_back(std::make_pair(getVal(yyvsp[-6].PHIList->front().first->getType(), yyvsp[-3].ValIDVal),                                   getBBVal(yyvsp[-1].ValIDVal))); -  ;} -    break; - -  case 182: -#line 1985 "/usr/home/llvm/obj/../lib/AsmParser/llvmAsmParser.y" -    {    // Used for call statements, and memory insts... +  ; +    break;} +case 181: +#line 1985 "/llvm/lib/AsmParser/llvmAsmParser.y" +{    // Used for call statements, and memory insts...      yyval.ValueList = new std::vector<Value*>();      yyval.ValueList->push_back(yyvsp[0].ValueVal); -  ;} -    break; - -  case 183: -#line 1989 "/usr/home/llvm/obj/../lib/AsmParser/llvmAsmParser.y" -    { +  ; +    break;} +case 182: +#line 1989 "/llvm/lib/AsmParser/llvmAsmParser.y" +{      yyval.ValueList = yyvsp[-2].ValueList;      yyvsp[-2].ValueList->push_back(yyvsp[0].ValueVal); -  ;} -    break; - -  case 185: -#line 1995 "/usr/home/llvm/obj/../lib/AsmParser/llvmAsmParser.y" -    { yyval.ValueList = 0; ;} -    break; - -  case 186: -#line 1997 "/usr/home/llvm/obj/../lib/AsmParser/llvmAsmParser.y" -    { +  ; +    break;} +case 184: +#line 1995 "/llvm/lib/AsmParser/llvmAsmParser.y" +{ yyval.ValueList = 0; ; +    break;} +case 185: +#line 1997 "/llvm/lib/AsmParser/llvmAsmParser.y" +{      yyval.BoolVal = true; -  ;} -    break; - -  case 187: -#line 2000 "/usr/home/llvm/obj/../lib/AsmParser/llvmAsmParser.y" -    { +  ; +    break;} +case 186: +#line 2000 "/llvm/lib/AsmParser/llvmAsmParser.y" +{      yyval.BoolVal = false; -  ;} -    break; - -  case 188: -#line 2006 "/usr/home/llvm/obj/../lib/AsmParser/llvmAsmParser.y" -    { +  ; +    break;} +case 187: +#line 2006 "/llvm/lib/AsmParser/llvmAsmParser.y" +{      if (!(*yyvsp[-3].TypeVal)->isInteger() && !(*yyvsp[-3].TypeVal)->isFloatingPoint() &&           !isa<PackedType>((*yyvsp[-3].TypeVal).get()))        ThrowException( @@ -3998,24 +3469,22 @@ yyreduce:      if (yyval.InstVal == 0)        ThrowException("binary operator returned null!");      delete yyvsp[-3].TypeVal; -  ;} -    break; - -  case 189: -#line 2018 "/usr/home/llvm/obj/../lib/AsmParser/llvmAsmParser.y" -    { +  ; +    break;} +case 188: +#line 2018 "/llvm/lib/AsmParser/llvmAsmParser.y" +{      if (!(*yyvsp[-3].TypeVal)->isIntegral())        ThrowException("Logical operator requires integral operands!");      yyval.InstVal = BinaryOperator::create(yyvsp[-4].BinaryOpVal, getVal(*yyvsp[-3].TypeVal, yyvsp[-2].ValIDVal), getVal(*yyvsp[-3].TypeVal, yyvsp[0].ValIDVal));      if (yyval.InstVal == 0)        ThrowException("binary operator returned null!");      delete yyvsp[-3].TypeVal; -  ;} -    break; - -  case 190: -#line 2026 "/usr/home/llvm/obj/../lib/AsmParser/llvmAsmParser.y" -    { +  ; +    break;} +case 189: +#line 2026 "/llvm/lib/AsmParser/llvmAsmParser.y" +{      if(isa<PackedType>((*yyvsp[-3].TypeVal).get())) {        ThrowException(          "PackedTypes currently not supported in setcc instructions!"); @@ -4024,12 +3493,11 @@ yyreduce:      if (yyval.InstVal == 0)        ThrowException("binary operator returned null!");      delete yyvsp[-3].TypeVal; -  ;} -    break; - -  case 191: -#line 2036 "/usr/home/llvm/obj/../lib/AsmParser/llvmAsmParser.y" -    { +  ; +    break;} +case 190: +#line 2036 "/llvm/lib/AsmParser/llvmAsmParser.y" +{      std::cerr << "WARNING: Use of eliminated 'not' instruction:"                << " Replacing with 'xor'.\n"; @@ -4040,54 +3508,49 @@ yyreduce:      yyval.InstVal = BinaryOperator::create(Instruction::Xor, yyvsp[0].ValueVal, Ones);      if (yyval.InstVal == 0)        ThrowException("Could not create a xor instruction!"); -  ;} -    break; - -  case 192: -#line 2048 "/usr/home/llvm/obj/../lib/AsmParser/llvmAsmParser.y" -    { +  ; +    break;} +case 191: +#line 2048 "/llvm/lib/AsmParser/llvmAsmParser.y" +{      if (yyvsp[0].ValueVal->getType() != Type::UByteTy)        ThrowException("Shift amount must be ubyte!");      if (!yyvsp[-2].ValueVal->getType()->isInteger())        ThrowException("Shift constant expression requires integer operand!");      yyval.InstVal = new ShiftInst(yyvsp[-3].OtherOpVal, yyvsp[-2].ValueVal, yyvsp[0].ValueVal); -  ;} -    break; - -  case 193: -#line 2055 "/usr/home/llvm/obj/../lib/AsmParser/llvmAsmParser.y" -    { +  ; +    break;} +case 192: +#line 2055 "/llvm/lib/AsmParser/llvmAsmParser.y" +{      if (!yyvsp[0].TypeVal->get()->isFirstClassType())        ThrowException("cast instruction to a non-primitive type: '" +                       yyvsp[0].TypeVal->get()->getDescription() + "'!");      yyval.InstVal = new CastInst(yyvsp[-2].ValueVal, *yyvsp[0].TypeVal);      delete yyvsp[0].TypeVal; -  ;} -    break; - -  case 194: -#line 2062 "/usr/home/llvm/obj/../lib/AsmParser/llvmAsmParser.y" -    { +  ; +    break;} +case 193: +#line 2062 "/llvm/lib/AsmParser/llvmAsmParser.y" +{      if (yyvsp[-4].ValueVal->getType() != Type::BoolTy)        ThrowException("select condition must be boolean!");      if (yyvsp[-2].ValueVal->getType() != yyvsp[0].ValueVal->getType())        ThrowException("select value types should match!");      yyval.InstVal = new SelectInst(yyvsp[-4].ValueVal, yyvsp[-2].ValueVal, yyvsp[0].ValueVal); -  ;} -    break; - -  case 195: -#line 2069 "/usr/home/llvm/obj/../lib/AsmParser/llvmAsmParser.y" -    { +  ; +    break;} +case 194: +#line 2069 "/llvm/lib/AsmParser/llvmAsmParser.y" +{      NewVarArgs = true;      yyval.InstVal = new VAArgInst(yyvsp[-2].ValueVal, *yyvsp[0].TypeVal);      delete yyvsp[0].TypeVal; -  ;} -    break; - -  case 196: -#line 2074 "/usr/home/llvm/obj/../lib/AsmParser/llvmAsmParser.y" -    { +  ; +    break;} +case 195: +#line 2074 "/llvm/lib/AsmParser/llvmAsmParser.y" +{      ObsoleteVarArgs = true;      const Type* ArgTy = yyvsp[-2].ValueVal->getType();      Function* NF = CurModule.CurrentModule-> @@ -4105,12 +3568,11 @@ yyreduce:      CurBB->getInstList().push_back(new StoreInst(bar, foo));      yyval.InstVal = new VAArgInst(foo, *yyvsp[0].TypeVal);      delete yyvsp[0].TypeVal; -  ;} -    break; - -  case 197: -#line 2093 "/usr/home/llvm/obj/../lib/AsmParser/llvmAsmParser.y" -    { +  ; +    break;} +case 196: +#line 2093 "/llvm/lib/AsmParser/llvmAsmParser.y" +{      ObsoleteVarArgs = true;      const Type* ArgTy = yyvsp[-2].ValueVal->getType();      Function* NF = CurModule.CurrentModule-> @@ -4131,12 +3593,11 @@ yyreduce:      CurBB->getInstList().push_back(tmp);      yyval.InstVal = new LoadInst(foo);      delete yyvsp[0].TypeVal; -  ;} -    break; - -  case 198: -#line 2115 "/usr/home/llvm/obj/../lib/AsmParser/llvmAsmParser.y" -    { +  ; +    break;} +case 197: +#line 2115 "/llvm/lib/AsmParser/llvmAsmParser.y" +{      const Type *Ty = yyvsp[0].PHIList->front().first->getType();      if (!Ty->isFirstClassType())        ThrowException("PHI node operands must be of first class type!"); @@ -4149,12 +3610,11 @@ yyreduce:        yyvsp[0].PHIList->pop_front();      }      delete yyvsp[0].PHIList;  // Free the list... -  ;} -    break; - -  case 199: -#line 2129 "/usr/home/llvm/obj/../lib/AsmParser/llvmAsmParser.y" -    { +  ; +    break;} +case 198: +#line 2129 "/llvm/lib/AsmParser/llvmAsmParser.y" +{      const PointerType *PFTy;      const FunctionType *Ty; @@ -4210,89 +3670,106 @@ yyreduce:      cast<CallInst>(yyval.InstVal)->setCallingConv(yyvsp[-5].UIntVal);      delete yyvsp[-4].TypeVal;      delete yyvsp[-1].ValueList; -  ;} -    break; - -  case 200: -#line 2186 "/usr/home/llvm/obj/../lib/AsmParser/llvmAsmParser.y" -    { +  ; +    break;} +case 199: +#line 2186 "/llvm/lib/AsmParser/llvmAsmParser.y" +{      yyval.InstVal = yyvsp[0].InstVal; -  ;} -    break; - -  case 201: -#line 2192 "/usr/home/llvm/obj/../lib/AsmParser/llvmAsmParser.y" -    {  +  ; +    break;} +case 200: +#line 2192 "/llvm/lib/AsmParser/llvmAsmParser.y" +{       yyval.ValueList = yyvsp[0].ValueList;  -  ;} -    break; - -  case 202: -#line 2194 "/usr/home/llvm/obj/../lib/AsmParser/llvmAsmParser.y" -    {  +  ; +    break;} +case 201: +#line 2194 "/llvm/lib/AsmParser/llvmAsmParser.y" +{       yyval.ValueList = new std::vector<Value*>();  -  ;} -    break; - -  case 203: -#line 2198 "/usr/home/llvm/obj/../lib/AsmParser/llvmAsmParser.y" -    { +  ; +    break;} +case 202: +#line 2198 "/llvm/lib/AsmParser/llvmAsmParser.y" +{      yyval.BoolVal = true; -  ;} -    break; - -  case 204: -#line 2201 "/usr/home/llvm/obj/../lib/AsmParser/llvmAsmParser.y" -    { +  ; +    break;} +case 203: +#line 2201 "/llvm/lib/AsmParser/llvmAsmParser.y" +{      yyval.BoolVal = false; -  ;} -    break; - -  case 205: -#line 2207 "/usr/home/llvm/obj/../lib/AsmParser/llvmAsmParser.y" -    { +  ; +    break;} +case 204: +#line 2207 "/llvm/lib/AsmParser/llvmAsmParser.y" +{      yyval.InstVal = new MallocInst(*yyvsp[0].TypeVal);      delete yyvsp[0].TypeVal; -  ;} -    break; - -  case 206: -#line 2211 "/usr/home/llvm/obj/../lib/AsmParser/llvmAsmParser.y" -    { +  ; +    break;} +case 205: +#line 2211 "/llvm/lib/AsmParser/llvmAsmParser.y" +{ +    yyval.InstVal = new MallocInst(*yyvsp[-3].TypeVal, 0, yyvsp[0].UInt64Val); +    delete yyvsp[-3].TypeVal; +  ; +    break;} +case 206: +#line 2215 "/llvm/lib/AsmParser/llvmAsmParser.y" +{      yyval.InstVal = new MallocInst(*yyvsp[-3].TypeVal, getVal(yyvsp[-1].PrimType, yyvsp[0].ValIDVal));      delete yyvsp[-3].TypeVal; -  ;} -    break; - -  case 207: -#line 2215 "/usr/home/llvm/obj/../lib/AsmParser/llvmAsmParser.y" -    { +  ; +    break;} +case 207: +#line 2219 "/llvm/lib/AsmParser/llvmAsmParser.y" +{ +    yyval.InstVal = new MallocInst(*yyvsp[-6].TypeVal, getVal(yyvsp[-4].PrimType, yyvsp[-3].ValIDVal), yyvsp[0].UInt64Val); +    delete yyvsp[-6].TypeVal; +  ; +    break;} +case 208: +#line 2223 "/llvm/lib/AsmParser/llvmAsmParser.y" +{      yyval.InstVal = new AllocaInst(*yyvsp[0].TypeVal);      delete yyvsp[0].TypeVal; -  ;} -    break; - -  case 208: -#line 2219 "/usr/home/llvm/obj/../lib/AsmParser/llvmAsmParser.y" -    { +  ; +    break;} +case 209: +#line 2227 "/llvm/lib/AsmParser/llvmAsmParser.y" +{ +    yyval.InstVal = new AllocaInst(*yyvsp[-3].TypeVal, 0, yyvsp[0].UInt64Val); +    delete yyvsp[-3].TypeVal; +  ; +    break;} +case 210: +#line 2231 "/llvm/lib/AsmParser/llvmAsmParser.y" +{      yyval.InstVal = new AllocaInst(*yyvsp[-3].TypeVal, getVal(yyvsp[-1].PrimType, yyvsp[0].ValIDVal));      delete yyvsp[-3].TypeVal; -  ;} -    break; - -  case 209: -#line 2223 "/usr/home/llvm/obj/../lib/AsmParser/llvmAsmParser.y" -    { +  ; +    break;} +case 211: +#line 2235 "/llvm/lib/AsmParser/llvmAsmParser.y" +{ +    yyval.InstVal = new AllocaInst(*yyvsp[-6].TypeVal, getVal(yyvsp[-4].PrimType, yyvsp[-3].ValIDVal), yyvsp[0].UInt64Val); +    delete yyvsp[-6].TypeVal; +  ; +    break;} +case 212: +#line 2239 "/llvm/lib/AsmParser/llvmAsmParser.y" +{      if (!isa<PointerType>(yyvsp[0].ValueVal->getType()))        ThrowException("Trying to free nonpointer type " +                        yyvsp[0].ValueVal->getType()->getDescription() + "!");      yyval.InstVal = new FreeInst(yyvsp[0].ValueVal); -  ;} -    break; - -  case 210: -#line 2230 "/usr/home/llvm/obj/../lib/AsmParser/llvmAsmParser.y" -    { +  ; +    break;} +case 213: +#line 2246 "/llvm/lib/AsmParser/llvmAsmParser.y" +{      if (!isa<PointerType>(yyvsp[-1].TypeVal->get()))        ThrowException("Can't load from nonpointer type: " +                       (*yyvsp[-1].TypeVal)->getDescription()); @@ -4301,12 +3778,11 @@ yyreduce:                       (*yyvsp[-1].TypeVal)->getDescription());      yyval.InstVal = new LoadInst(getVal(*yyvsp[-1].TypeVal, yyvsp[0].ValIDVal), "", yyvsp[-3].BoolVal);      delete yyvsp[-1].TypeVal; -  ;} -    break; - -  case 211: -#line 2240 "/usr/home/llvm/obj/../lib/AsmParser/llvmAsmParser.y" -    { +  ; +    break;} +case 214: +#line 2256 "/llvm/lib/AsmParser/llvmAsmParser.y" +{      const PointerType *PT = dyn_cast<PointerType>(yyvsp[-1].TypeVal->get());      if (!PT)        ThrowException("Can't store to a nonpointer type: " + @@ -4318,12 +3794,11 @@ yyreduce:      yyval.InstVal = new StoreInst(yyvsp[-3].ValueVal, getVal(*yyvsp[-1].TypeVal, yyvsp[0].ValIDVal), yyvsp[-5].BoolVal);      delete yyvsp[-1].TypeVal; -  ;} -    break; - -  case 212: -#line 2253 "/usr/home/llvm/obj/../lib/AsmParser/llvmAsmParser.y" -    { +  ; +    break;} +case 215: +#line 2269 "/llvm/lib/AsmParser/llvmAsmParser.y" +{      if (!isa<PointerType>(yyvsp[-2].TypeVal->get()))        ThrowException("getelementptr insn requires pointer operand!"); @@ -4343,239 +3818,231 @@ yyreduce:                       (*yyvsp[-2].TypeVal)->getDescription()+ "'!");      yyval.InstVal = new GetElementPtrInst(getVal(*yyvsp[-2].TypeVal, yyvsp[-1].ValIDVal), *yyvsp[0].ValueList);      delete yyvsp[-2].TypeVal; delete yyvsp[0].ValueList; -  ;} -    break; - - -    } - -/* Line 1010 of yacc.c.  */ -#line 4354 "llvmAsmParser.tab.c" +  ; +    break;} +} +   /* the action file gets copied in in place of this dollarsign */ +#line 543 "/usr/share/bison.simple"    yyvsp -= yylen;    yyssp -= yylen; +#ifdef YYLSP_NEEDED +  yylsp -= yylen; +#endif - -  YY_STACK_PRINT (yyss, yyssp); +#if YYDEBUG != 0 +  if (yydebug) +    { +      short *ssp1 = yyss - 1; +      fprintf (stderr, "state stack now"); +      while (ssp1 != yyssp) +	fprintf (stderr, " %d", *++ssp1); +      fprintf (stderr, "\n"); +    } +#endif    *++yyvsp = yyval; +#ifdef YYLSP_NEEDED +  yylsp++; +  if (yylen == 0) +    { +      yylsp->first_line = yylloc.first_line; +      yylsp->first_column = yylloc.first_column; +      yylsp->last_line = (yylsp-1)->last_line; +      yylsp->last_column = (yylsp-1)->last_column; +      yylsp->text = 0; +    } +  else +    { +      yylsp->last_line = (yylsp+yylen-1)->last_line; +      yylsp->last_column = (yylsp+yylen-1)->last_column; +    } +#endif -  /* Now `shift' the result of the reduction.  Determine what state -     that goes to, based on the state we popped back to and the rule -     number reduced by.  */ +  /* Now "shift" the result of the reduction. +     Determine what state that goes to, +     based on the state we popped back to +     and the rule number reduced by.  */    yyn = yyr1[yyn]; -  yystate = yypgoto[yyn - YYNTOKENS] + *yyssp; -  if (0 <= yystate && yystate <= YYLAST && yycheck[yystate] == *yyssp) +  yystate = yypgoto[yyn - YYNTBASE] + *yyssp; +  if (yystate >= 0 && yystate <= YYLAST && yycheck[yystate] == *yyssp)      yystate = yytable[yystate];    else -    yystate = yydefgoto[yyn - YYNTOKENS]; +    yystate = yydefgoto[yyn - YYNTBASE];    goto yynewstate; +yyerrlab:   /* here on detecting error */ -/*------------------------------------. -| yyerrlab -- here on detecting error | -`------------------------------------*/ -yyerrlab: -  /* If not already recovering from an error, report this error.  */ -  if (!yyerrstatus) +  if (! yyerrstatus) +    /* If not already recovering from an error, report this error.  */      {        ++yynerrs; -#if YYERROR_VERBOSE + +#ifdef YYERROR_VERBOSE        yyn = yypact[yystate]; -      if (YYPACT_NINF < yyn && yyn < YYLAST) +      if (yyn > YYFLAG && yyn < YYLAST)  	{ -	  YYSIZE_T yysize = 0; -	  int yytype = YYTRANSLATE (yychar); -	  const char* yyprefix; -	  char *yymsg; -	  int yyx; - -	  /* Start YYX at -YYN if negative to avoid negative indexes in -	     YYCHECK.  */ -	  int yyxbegin = yyn < 0 ? -yyn : 0; - -	  /* Stay within bounds of both yycheck and yytname.  */ -	  int yychecklim = YYLAST - yyn; -	  int yyxend = yychecklim < YYNTOKENS ? yychecklim : YYNTOKENS; -	  int yycount = 0; - -	  yyprefix = ", expecting "; -	  for (yyx = yyxbegin; yyx < yyxend; ++yyx) -	    if (yycheck[yyx + yyn] == yyx && yyx != YYTERROR) -	      { -		yysize += yystrlen (yyprefix) + yystrlen (yytname [yyx]); -		yycount += 1; -		if (yycount == 5) -		  { -		    yysize = 0; -		    break; -		  } -	      } -	  yysize += (sizeof ("syntax error, unexpected ") -		     + yystrlen (yytname[yytype])); -	  yymsg = (char *) YYSTACK_ALLOC (yysize); -	  if (yymsg != 0) +	  int size = 0; +	  char *msg; +	  int x, count; + +	  count = 0; +	  /* Start X at -yyn if nec to avoid negative indexes in yycheck.  */ +	  for (x = (yyn < 0 ? -yyn : 0); +	       x < (sizeof(yytname) / sizeof(char *)); x++) +	    if (yycheck[x + yyn] == x) +	      size += strlen(yytname[x]) + 15, count++; +	  msg = (char *) malloc(size + 15); +	  if (msg != 0)  	    { -	      char *yyp = yystpcpy (yymsg, "syntax error, unexpected "); -	      yyp = yystpcpy (yyp, yytname[yytype]); +	      strcpy(msg, "parse error"); -	      if (yycount < 5) +	      if (count < 5)  		{ -		  yyprefix = ", expecting "; -		  for (yyx = yyxbegin; yyx < yyxend; ++yyx) -		    if (yycheck[yyx + yyn] == yyx && yyx != YYTERROR) +		  count = 0; +		  for (x = (yyn < 0 ? -yyn : 0); +		       x < (sizeof(yytname) / sizeof(char *)); x++) +		    if (yycheck[x + yyn] == x)  		      { -			yyp = yystpcpy (yyp, yyprefix); -			yyp = yystpcpy (yyp, yytname[yyx]); -			yyprefix = " or "; +			strcat(msg, count == 0 ? ", expecting `" : " or `"); +			strcat(msg, yytname[x]); +			strcat(msg, "'"); +			count++;  		      }  		} -	      yyerror (yymsg); -	      YYSTACK_FREE (yymsg); +	      yyerror(msg); +	      free(msg);  	    }  	  else -	    yyerror ("syntax error; also virtual memory exhausted"); +	    yyerror ("parse error; also virtual memory exceeded");  	}        else  #endif /* YYERROR_VERBOSE */ -	yyerror ("syntax error"); +	yyerror("parse error");      } - +  goto yyerrlab1; +yyerrlab1:   /* here on error raised explicitly by an action */    if (yyerrstatus == 3)      { -      /* If just tried and failed to reuse lookahead token after an -	 error, discard it.  */ - -      if (yychar <= YYEOF) -        { -          /* If at end of input, pop the error token, -	     then the rest of the stack, then return failure.  */ -	  if (yychar == YYEOF) -	     for (;;) -	       { -		 YYPOPSTACK; -		 if (yyssp == yyss) -		   YYABORT; -		 YYDSYMPRINTF ("Error: popping", yystos[*yyssp], yyvsp, yylsp); -		 yydestruct (yystos[*yyssp], yyvsp); -	       } -        } -      else -	{ -	  YYDSYMPRINTF ("Error: discarding", yytoken, &yylval, &yylloc); -	  yydestruct (yytoken, &yylval); -	  yychar = YYEMPTY; +      /* if just tried and failed to reuse lookahead token after an error, discard it.  */ -	} +      /* return failure if at end of input */ +      if (yychar == YYEOF) +	YYABORT; + +#if YYDEBUG != 0 +      if (yydebug) +	fprintf(stderr, "Discarding token %d (%s).\n", yychar, yytname[yychar1]); +#endif + +      yychar = YYEMPTY;      } -  /* Else will try to reuse lookahead token after shifting the error -     token.  */ -  goto yyerrlab1; +  /* Else will try to reuse lookahead token +     after shifting the error token.  */ +  yyerrstatus = 3;		/* Each real token shifted decrements this */ -/*---------------------------------------------------. -| yyerrorlab -- error raised explicitly by YYERROR.  | -`---------------------------------------------------*/ -yyerrorlab: +  goto yyerrhandle; -#ifdef __GNUC__ -  /* Pacify GCC when the user code never invokes YYERROR and the label -     yyerrorlab therefore never appears in user code.  */ -  if (0) -     goto yyerrorlab; -#endif +yyerrdefault:  /* current state does not do anything special for the error token. */ -  yyvsp -= yylen; -  yyssp -= yylen; -  yystate = *yyssp; -  goto yyerrlab1; +#if 0 +  /* This is wrong; only states that explicitly want error tokens +     should shift them.  */ +  yyn = yydefact[yystate];  /* If its default is to accept any token, ok.  Otherwise pop it.*/ +  if (yyn) goto yydefault; +#endif +yyerrpop:   /* pop the current state because it cannot handle the error token */ -/*-------------------------------------------------------------. -| yyerrlab1 -- common code for both syntax error and YYERROR.  | -`-------------------------------------------------------------*/ -yyerrlab1: -  yyerrstatus = 3;	/* Each real token shifted decrements this.  */ +  if (yyssp == yyss) YYABORT; +  yyvsp--; +  yystate = *--yyssp; +#ifdef YYLSP_NEEDED +  yylsp--; +#endif -  for (;;) +#if YYDEBUG != 0 +  if (yydebug)      { -      yyn = yypact[yystate]; -      if (yyn != YYPACT_NINF) -	{ -	  yyn += YYTERROR; -	  if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYTERROR) -	    { -	      yyn = yytable[yyn]; -	      if (0 < yyn) -		break; -	    } -	} +      short *ssp1 = yyss - 1; +      fprintf (stderr, "Error: state stack now"); +      while (ssp1 != yyssp) +	fprintf (stderr, " %d", *++ssp1); +      fprintf (stderr, "\n"); +    } +#endif -      /* Pop the current state because it cannot handle the error token.  */ -      if (yyssp == yyss) -	YYABORT; +yyerrhandle: -      YYDSYMPRINTF ("Error: popping", yystos[*yyssp], yyvsp, yylsp); -      yydestruct (yystos[yystate], yyvsp); -      YYPOPSTACK; -      yystate = *yyssp; -      YY_STACK_PRINT (yyss, yyssp); +  yyn = yypact[yystate]; +  if (yyn == YYFLAG) +    goto yyerrdefault; + +  yyn += YYTERROR; +  if (yyn < 0 || yyn > YYLAST || yycheck[yyn] != YYTERROR) +    goto yyerrdefault; + +  yyn = yytable[yyn]; +  if (yyn < 0) +    { +      if (yyn == YYFLAG) +	goto yyerrpop; +      yyn = -yyn; +      goto yyreduce;      } +  else if (yyn == 0) +    goto yyerrpop;    if (yyn == YYFINAL)      YYACCEPT; -  YYDPRINTF ((stderr, "Shifting error token, ")); +#if YYDEBUG != 0 +  if (yydebug) +    fprintf(stderr, "Shifting error token, "); +#endif    *++yyvsp = yylval; - +#ifdef YYLSP_NEEDED +  *++yylsp = yylloc; +#endif    yystate = yyn;    goto yynewstate; - -/*-------------------------------------. -| yyacceptlab -- YYACCEPT comes here.  | -`-------------------------------------*/ -yyacceptlab: -  yyresult = 0; -  goto yyreturn; - -/*-----------------------------------. -| yyabortlab -- YYABORT comes here.  | -`-----------------------------------*/ -yyabortlab: -  yyresult = 1; -  goto yyreturn; - -#ifndef yyoverflow -/*----------------------------------------------. -| yyoverflowlab -- parser overflow comes here.  | -`----------------------------------------------*/ -yyoverflowlab: -  yyerror ("parser stack overflow"); -  yyresult = 2; -  /* Fall through.  */ + yyacceptlab: +  /* YYACCEPT comes here.  */ +  if (yyfree_stacks) +    { +      free (yyss); +      free (yyvs); +#ifdef YYLSP_NEEDED +      free (yyls);  #endif +    } +  return 0; -yyreturn: -#ifndef yyoverflow -  if (yyss != yyssa) -    YYSTACK_FREE (yyss); + yyabortlab: +  /* YYABORT comes here.  */ +  if (yyfree_stacks) +    { +      free (yyss); +      free (yyvs); +#ifdef YYLSP_NEEDED +      free (yyls);  #endif -  return yyresult; +    } +  return 1;  } - - -#line 2276 "/usr/home/llvm/obj/../lib/AsmParser/llvmAsmParser.y" +#line 2292 "/llvm/lib/AsmParser/llvmAsmParser.y"  int yyerror(const char *ErrorMsg) {    std::string where  @@ -4589,4 +4056,3 @@ int yyerror(const char *ErrorMsg) {    ThrowException(errMsg);    return 0;  } - | 

