llvm.org GIT mirror llvm / 3822ff5
For PR950: This patch converts the old SHR instruction into two instructions, AShr (Arithmetic) and LShr (Logical). The Shr instructions now are not dependent on the sign of their operands. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31542 91177308-0d34-0410-b5e6-96231b3b80d8 Reid Spencer 12 years ago
30 changed file(s) with 4686 addition(s) and 3514 deletion(s). Raw diff Collapse all Expand all
9191
  • 'or' Instruction
  • 9292
  • 'xor' Instruction
  • 9393
  • 'shl' Instruction
  • 94
  • 'shr' Instruction
  • 94
  • 'lshr' Instruction
  • 95
  • 'ashr' Instruction
  • 9596
    9697
    9798
  • Vector Operations
  • 20692070
    20702071
    20712072
    2072
    2073
    20732074 Instruction
    20742075
    20752076
    Syntax:
    2076
      <result> = shr <ty> <var1>, ubyte <var2>   ; yields {ty}:result
    
                      
                    
    2077
    2078
    Overview:
    2079

    The 'shr' instruction returns the first operand shifted to

    2080 the right a specified number of bits.

    2081
    Arguments:
    2082

    The first argument to the 'shr' instruction must be an

    2083 href="#t_integer">integer type. The second argument must be an 'ubyte'
    2084 type.

    2085
    Semantics:
    2086

    If the first argument is a signed type, the

    2087 most significant bit is duplicated in the newly free'd bit positions.
    2088 If the first argument is unsigned, zero bits shall fill the empty
    2089 positions.>
    2077
      <result> = lshr <ty> <var1>, ubyte <var2>   ; yields {ty}:result>
                      
                    
    2078
    2079
    2080
    Overview:
    2081

    The 'lshr' instruction (logical shift right) returns the first

    2082 operand shifted to the right a specified number of bits.

    2083
    2084
    Arguments:
    2085

    The first argument to the 'lshr' instruction must be an

    2086 href="#t_integer">integer type. The second argument must be an 'ubyte' type.

    2087
    2088
    Semantics:
    2089

    This instruction always performs a logical shift right operation, regardless

    2090 of whether the arguments are unsigned or not. The var2 most significant
    2091 bits will be filled with zero bits after the shift.

    2092
    20902093
    Example:
    2091
      <result> = shr int 4, ubyte %var   ; yields {int}:result = 4 >> %var
    
                      
                    
    2092 <result> = shr uint 4, ubyte 1 ; yields {uint}:result = 2
    2093 <result> = shr int 4, ubyte 2 ; yields {int}:result = 1
    2094 <result> = shr sbyte 4, ubyte 3 ; yields {sbyte}:result = 0
    2095 <result> = shr sbyte -2, ubyte 1 ; yields {sbyte}:result = -1>
    2094 >
    2095 <result> = lshr uint 4, ubyte 1 ; yields {uint}:result = 2
    2096 <result> = lshr int 4, ubyte 2 ; yields {uint}:result = 1
    2097 <result> = lshr sbyte 4, ubyte 3 ; yields {sbyte}:result = 0
    2098 <result> = lshr sbyte -2, ubyte 1 ; yields {sbyte}:result = 0x7FFFFFFF
    2099
    2100
    2101
    2102
    2103
    2104 Instruction
    2105
    2106
    2107
    Syntax:
    2108
      <result> = ashr <ty> <var1>, ubyte <var2>   ; yields {ty}:result
    
                      
                    
    2109
    2110
    2111
    Overview:
    2112

    The 'ashr' instruction (arithmetic shift right) returns the first

    2113 operand shifted to the right a specified number of bits.

    2114
    2115
    Arguments:
    2116

    The first argument to the 'ashr' instruction must be an

    2117 integer type. The second argument must be an
    2118 'ubyte' type.

    2119
    2120
    Semantics:
    2121

    This instruction always performs an arithmetic shift right operation,

    2122 regardless of whether the arguments are signed or not. The var2 most
    2123 significant bits will be filled with the sign bit of var1.

    2124
    2125
    Example:
    2126
    
                      
                    
    2127 <result> = ashr uint 4, ubyte 1 ; yields {uint}:result = 2
    2128 <result> = ashr int 4, ubyte 2 ; yields {int}:result = 1
    2129 <result> = ashr ubyte 4, ubyte 3 ; yields {ubyte}:result = 0
    2130 <result> = ashr sbyte -2, ubyte 1 ; yields {sbyte}:result = -1
    20962131
    20972132
    20982133
    563563 static Constant *getSetLE(Constant *C1, Constant *C2);
    564564 static Constant *getSetGE(Constant *C1, Constant *C2);
    565565 static Constant *getShl(Constant *C1, Constant *C2);
    566 static Constant *getShr(Constant *C1, Constant *C2);
    567
    568 static Constant *getUShr(Constant *C1, Constant *C2); // unsigned shr
    569 static Constant *getSShr(Constant *C1, Constant *C2); // signed shr
    566 static Constant *getLShr(Constant *C1, Constant *C2);
    567 static Constant *getAShr(Constant *C1, Constant *C2);
    570568
    571569 /// Getelementptr form. std::vector is only accepted for convenience:
    572570 /// all elements must be Constant's.
    1414
    1515 // NOTE: NO INCLUDE GUARD DESIRED!
    1616
    17 // Provide definitions of macros so that users of this file do not have to define
    18 // everything to use it...
    17 // Provide definitions of macros so that users of this file do not have to
    18 // define everything to use it...
    1919 //
    2020 #ifndef FIRST_TERM_INST
    2121 #define FIRST_TERM_INST(num)
    128128 HANDLE_OTHER_INST(31, PHI , PHINode ) // PHI node instruction
    129129 HANDLE_OTHER_INST(32, Cast , CastInst ) // Type cast
    130130 HANDLE_OTHER_INST(33, Call , CallInst ) // Call a function
    131 HANDLE_OTHER_INST(34, Shl , ShiftInst ) // Shift operations
    132 HANDLE_OTHER_INST(35, Shr , ShiftInst )
    133 HANDLE_OTHER_INST(36, Select , SelectInst ) // select instruction
    134 HANDLE_OTHER_INST(37, UserOp1, Instruction) // May be used internally in a pass
    135 HANDLE_OTHER_INST(38, UserOp2, Instruction)
    136 HANDLE_OTHER_INST(39, VAArg , VAArgInst ) // vaarg instruction
    137 HANDLE_OTHER_INST(40, ExtractElement, ExtractElementInst)// extract from vector.
    138 HANDLE_OTHER_INST(41, InsertElement, InsertElementInst) // insert into vector
    139 HANDLE_OTHER_INST(42, ShuffleVector, ShuffleVectorInst) // shuffle two vectors.
    140 LAST_OTHER_INST(42)
    131 HANDLE_OTHER_INST(34, Shl , ShiftInst ) // Shift Left operations (logical)
    132 HANDLE_OTHER_INST(35, LShr , ShiftInst ) // Logical Shift right (unsigned)
    133 HANDLE_OTHER_INST(36, AShr , ShiftInst ) // Arithmetic shift right (signed)
    134 HANDLE_OTHER_INST(37, Select , SelectInst ) // select instruction
    135 HANDLE_OTHER_INST(38, UserOp1, Instruction) // May be used internally in a pass
    136 HANDLE_OTHER_INST(39, UserOp2, Instruction) // Internal to passes only
    137 HANDLE_OTHER_INST(40, VAArg , VAArgInst ) // vaarg instruction
    138 HANDLE_OTHER_INST(41, ExtractElement, ExtractElementInst)// extract from vector.
    139 HANDLE_OTHER_INST(42, InsertElement, InsertElementInst) // insert into vector
    140 HANDLE_OTHER_INST(43, ShuffleVector, ShuffleVectorInst) // shuffle two vectors.
    141 LAST_OTHER_INST(43)
    141142
    142143 #undef FIRST_TERM_INST
    143144 #undef HANDLE_TERM_INST
    603603 Ops[1].init(SI.Ops[1], this);
    604604 }
    605605 void init(OtherOps Opcode, Value *S, Value *SA) {
    606 assert((Opcode == Shl || Opcode == Shr) && "ShiftInst Opcode invalid!");
    606 assert((Opcode == Shl || Opcode == LShr || Opcode == AShr) &&
    607 "ShiftInst Opcode invalid!");
    607608 Ops[0].init(S, this);
    608609 Ops[1].init(SA, this);
    609610 }
    637638
    638639 /// isLogicalShift - Return true if this is a logical shift left or a logical
    639640 /// shift right.
    640 bool isLogicalShift() const;
    641 bool isLogicalShift() const {
    642 unsigned opcode = getOpcode();
    643 return opcode == Instruction::Shl || opcode == Instruction::LShr;
    644 }
    645
    641646
    642647 /// isArithmeticShift - Return true if this is a sign-extending shift right
    643648 /// operation.
    651656 // Methods for support type inquiry through isa, cast, and dyn_cast:
    652657 static inline bool classof(const ShiftInst *) { return true; }
    653658 static inline bool classof(const Instruction *I) {
    654 return (I->getOpcode() == Instruction::Shr) |
    659 return (I->getOpcode() == Instruction::LShr) |
    660 (I->getOpcode() == Instruction::AShr) |
    655661 (I->getOpcode() == Instruction::Shl);
    656662 }
    657663 static inline bool classof(const Value *V) {
    171171 }
    172172
    173173 template
    174 inline BinaryOp_match
    175 ShiftInst> m_Shr(const LHS &L, const RHS &R) {
    176 return BinaryOp_match(L, R);
    174 inline BinaryOp_match
    175 ShiftInst> m_LShr(const LHS &L, const RHS &R) {
    176 return BinaryOp_match(L, R);
    177 }
    178
    179 template
    180 inline BinaryOp_match
    181 ShiftInst> m_AShr(const LHS &L, const RHS &R) {
    182 return BinaryOp_match(L, R);
    183 }
    184
    185 //===----------------------------------------------------------------------===//
    186 // Matchers for either AShr or LShr .. for convenience
    187 //
    188 template
    189 struct Shr_match {
    190 LHS_t L;
    191 RHS_t R;
    192
    193 Shr_match(const LHS_t &LHS, const RHS_t &RHS) : L(LHS), R(RHS) {}
    194
    195 template
    196 bool match(OpTy *V) {
    197 if (V->getValueType() == Value::InstructionVal + Instruction::LShr ||
    198 V->getValueType() == Value::InstructionVal + Instruction::AShr) {
    199 ConcreteTy *I = cast(V);
    200 return (I->getOpcode() == Instruction::AShr ||
    201 I->getOpcode() == Instruction::LShr) &&
    202 L.match(I->getOperand(0)) &&
    203 R.match(I->getOperand(1));
    204 }
    205 if (ConstantExpr *CE = dyn_cast(V))
    206 return (CE->getOpcode() == Instruction::LShr ||
    207 CE->getOpcode() == Instruction::AShr) &&
    208 L.match(CE->getOperand(0)) &&
    209 R.match(CE->getOperand(1));
    210 return false;
    211 }
    212 };
    213
    214 template
    215 inline Shr_match m_Shr(const LHS &L, const RHS &R) {
    216 return Shr_match(L, R);
    177217 }
    178218
    179219 //===----------------------------------------------------------------------===//
    783783 case Instruction::Unreachable:
    784784 case Instruction::Free:
    785785 case Instruction::Shl:
    786 case Instruction::Shr:
    786 case Instruction::LShr:
    787 case Instruction::AShr:
    787788 return;
    788789 default:
    789790 // Is this something we aren't handling yet?
    279279 cast { RET_TOK(OtherOpVal, Cast, CAST); }
    280280 select { RET_TOK(OtherOpVal, Select, SELECT); }
    281281 shl { RET_TOK(OtherOpVal, Shl, SHL); }
    282 shr { RET_TOK(OtherOpVal, Shr, SHR); }
    282 shr { RET_TOK_OBSOLETE(OtherOpVal, LShr, LSHR); }
    283 lshr { RET_TOK(OtherOpVal, LShr, LSHR); }
    284 ashr { RET_TOK(OtherOpVal, AShr, ASHR); }
    283285 vanext { return VANEXT_old; }
    284286 vaarg { return VAARG_old; }
    285287 va_arg { RET_TOK(OtherOpVal, VAArg , VAARG); }
    None
    1 /* A Bison parser, made from /Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y
    2 by GNU Bison version 1.28 */
    3
    4 #define YYBISON 1 /* Identify Bison output. */
    5
    0 /* A Bison parser, made by GNU Bison 2.1. */
    1
    2 /* Skeleton parser for Yacc-like parsing with Bison,
    3 Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003, 2004, 2005 Free Software Foundation, Inc.
    4
    5 This program is free software; you can redistribute it and/or modify
    6 it under the terms of the GNU General Public License as published by
    7 the Free Software Foundation; either version 2, or (at your option)
    8 any later version.
    9
    10 This program is distributed in the hope that it will be useful,
    11 but WITHOUT ANY WARRANTY; without even the implied warranty of
    12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
    13 GNU General Public License for more details.
    14
    15 You should have received a copy of the GNU General Public License
    16 along with this program; if not, write to the Free Software
    17 Foundation, Inc., 51 Franklin Street, Fifth Floor,
    18 Boston, MA 02110-1301, USA. */
    19
    20 /* As a special exception, when this file is copied by Bison into a
    21 Bison output file, you may use that output file without restriction.
    22 This special exception was added by the Free Software Foundation
    23 in version 1.24 of Bison. */
    24
    25 /* Written by Richard Stallman by simplifying the original so called
    26 ``semantic'' parser. */
    27
    28 /* All symbols defined below should begin with yy or YY, to avoid
    29 infringing on user name space. This should be done even for local
    30 variables, as they might otherwise be expanded by user macros.
    31 There are some unavoidable exceptions within include files to
    32 define necessary library symbols; they are noted "INFRINGES ON
    33 USER NAME SPACE" below. */
    34
    35 /* Identify Bison output. */
    36 #define YYBISON 1
    37
    38 /* Bison version. */
    39 #define YYBISON_VERSION "2.1"
    40
    41 /* Skeleton name. */
    42 #define YYSKELETON_NAME "yacc.c"
    43
    44 /* Pure parsers. */
    45 #define YYPURE 0
    46
    47 /* Using locations. */
    48 #define YYLSP_NEEDED 0
    49
    50 /* Substitute the variable and function names. */
    651 #define yyparse llvmAsmparse
    7 #define yylex llvmAsmlex
    52 #define yylex llvmAsmlex
    853 #define yyerror llvmAsmerror
    9 #define yylval llvmAsmlval
    10 #define yychar llvmAsmchar
    54 #define yylval llvmAsmlval
    55 #define yychar llvmAsmchar
    1156 #define yydebug llvmAsmdebug
    1257 #define yynerrs llvmAsmnerrs
    13 #define ESINT64VAL 257
    14 #define EUINT64VAL 258
    15 #define SINTVAL 259
    16 #define UINTVAL 260
    17 #define FPVAL 261
    18 #define VOID 262
    19 #define BOOL 263
    20 #define SBYTE 264
    21 #define UBYTE 265
    22 #define SHORT 266
    23 #define USHORT 267
    24 #define INT 268
    25 #define UINT 269
    26 #define LONG 270
    27 #define ULONG 271
    28 #define FLOAT 272
    29 #define DOUBLE 273
    30 #define TYPE 274
    31 #define LABEL 275
    32 #define VAR_ID 276
    33 #define LABELSTR 277
    34 #define STRINGCONSTANT 278
    35 #define IMPLEMENTATION 279
    36 #define ZEROINITIALIZER 280
    37 #define TRUETOK 281
    38 #define FALSETOK 282
    39 #define BEGINTOK 283
    40 #define ENDTOK 284
    41 #define DECLARE 285
    42 #define GLOBAL 286
    43 #define CONSTANT 287
    44 #define SECTION 288
    45 #define VOLATILE 289
    46 #define TO 290
    47 #define DOTDOTDOT 291
    48 #define NULL_TOK 292
    49 #define UNDEF 293
    50 #define CONST 294
    51 #define INTERNAL 295
    52 #define LINKONCE 296
    53 #define WEAK 297
    54 #define APPENDING 298
    55 #define DLLIMPORT 299
    56 #define DLLEXPORT 300
    57 #define EXTERN_WEAK 301
    58 #define OPAQUE 302
    59 #define NOT 303
    60 #define EXTERNAL 304
    61 #define TARGET 305
    62 #define TRIPLE 306
    63 #define ENDIAN 307
    64 #define POINTERSIZE 308
    65 #define LITTLE 309
    66 #define BIG 310
    67 #define ALIGN 311
    68 #define DEPLIBS 312
    69 #define CALL 313
    70 #define TAIL 314
    71 #define ASM_TOK 315
    72 #define MODULE 316
    73 #define SIDEEFFECT 317
    74 #define CC_TOK 318
    75 #define CCC_TOK 319
    76 #define CSRETCC_TOK 320
    77 #define FASTCC_TOK 321
    78 #define COLDCC_TOK 322
    79 #define X86_STDCALLCC_TOK 323
    80 #define X86_FASTCALLCC_TOK 324
    81 #define DATALAYOUT 325
    82 #define RET 326
    83 #define BR 327
    84 #define SWITCH 328
    85 #define INVOKE 329
    86 #define UNWIND 330
    87 #define UNREACHABLE 331
    88 #define ADD 332
    89 #define SUB 333
    90 #define MUL 334
    91 #define UDIV 335
    92 #define SDIV 336
    93 #define FDIV 337
    94 #define UREM 338
    95 #define SREM 339
    96 #define FREM 340
    97 #define AND 341
    98 #define OR 342
    99 #define XOR 343
    100 #define SETLE 344
    101 #define SETGE 345
    102 #define SETLT 346
    103 #define SETGT 347
    104 #define SETEQ 348
    105 #define SETNE 349
    106 #define MALLOC 350
    107 #define ALLOCA 351
    108 #define FREE 352
    109 #define LOAD 353
    110 #define STORE 354
    111 #define GETELEMENTPTR 355
    112 #define PHI_TOK 356
    113 #define CAST 357
    114 #define SELECT 358
    115 #define SHL 359
    116 #define SHR 360
    117 #define VAARG 361
    118 #define EXTRACTELEMENT 362
    119 #define INSERTELEMENT 363
    120 #define SHUFFLEVECTOR 364
    121 #define VAARG_old 365
    122 #define VANEXT_old 366
    123
    124 #line 14 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
    58
    59
    60 /* Tokens. */
    61 #ifndef YYTOKENTYPE
    62 # define YYTOKENTYPE
    63 /* Put the tokens into the symbol table, so that GDB and other debuggers
    64 know about them. */
    65 enum yytokentype {
    66 ESINT64VAL = 258,
    67 EUINT64VAL = 259,
    68 SINTVAL = 260,
    69 UINTVAL = 261,
    70 FPVAL = 262,
    71 VOID = 263,
    72 BOOL = 264,
    73 SBYTE = 265,
    74 UBYTE = 266,
    75 SHORT = 267,
    76 USHORT = 268,
    77 INT = 269,
    78 UINT = 270,
    79 LONG = 271,
    80 ULONG = 272,
    81 FLOAT = 273,
    82 DOUBLE = 274,
    83 TYPE = 275,
    84 LABEL = 276,
    85 VAR_ID = 277,
    86 LABELSTR = 278,
    87 STRINGCONSTANT = 279,
    88 IMPLEMENTATION = 280,
    89 ZEROINITIALIZER = 281,
    90 TRUETOK = 282,
    91 FALSETOK = 283,
    92 BEGINTOK = 284,
    93 ENDTOK = 285,
    94 DECLARE = 286,
    95 GLOBAL = 287,
    96 CONSTANT = 288,
    97 SECTION = 289,
    98 VOLATILE = 290,
    99 TO = 291,
    100 DOTDOTDOT = 292,
    101 NULL_TOK = 293,
    102 UNDEF = 294,
    103 CONST = 295,
    104 INTERNAL = 296,
    105 LINKONCE = 297,
    106 WEAK = 298,
    107 APPENDING = 299,
    108 DLLIMPORT = 300,
    109 DLLEXPORT = 301,
    110 EXTERN_WEAK = 302,
    111 OPAQUE = 303,
    112 NOT = 304,
    113 EXTERNAL = 305,
    114 TARGET = 306,
    115 TRIPLE = 307,
    116 ENDIAN = 308,
    117 POINTERSIZE = 309,
    118 LITTLE = 310,
    119 BIG = 311,
    120 ALIGN = 312,
    121 DEPLIBS = 313,
    122 CALL = 314,
    123 TAIL = 315,
    124 ASM_TOK = 316,
    125 MODULE = 317,
    126 SIDEEFFECT = 318,
    127 CC_TOK = 319,
    128 CCC_TOK = 320,
    129 CSRETCC_TOK = 321,
    130 FASTCC_TOK = 322,
    131 COLDCC_TOK = 323,
    132 X86_STDCALLCC_TOK = 324,
    133 X86_FASTCALLCC_TOK = 325,
    134 DATALAYOUT = 326,
    135 RET = 327,
    136 BR = 328,
    137 SWITCH = 329,
    138 INVOKE = 330,
    139 UNWIND = 331,
    140 UNREACHABLE = 332,
    141 ADD = 333,
    142 SUB = 334,
    143 MUL = 335,
    144 UDIV = 336,
    145 SDIV = 337,
    146 FDIV = 338,
    147 UREM = 339,
    148 SREM = 340,
    149 FREM = 341,
    150 AND = 342,
    151 OR = 343,
    152 XOR = 344,
    153 SETLE = 345,
    154 SETGE = 346,
    155 SETLT = 347,
    156 SETGT = 348,
    157 SETEQ = 349,
    158 SETNE = 350,
    159 MALLOC = 351,
    160 ALLOCA = 352,
    161 FREE = 353,
    162 LOAD = 354,
    163 STORE = 355,
    164 GETELEMENTPTR = 356,
    165 PHI_TOK = 357,
    166 CAST = 358,
    167 SELECT = 359,
    168 SHL = 360,
    169 LSHR = 361,
    170 ASHR = 362,
    171 VAARG = 363,
    172 EXTRACTELEMENT = 364,
    173 INSERTELEMENT = 365,
    174 SHUFFLEVECTOR = 366,
    175 VAARG_old = 367,
    176 VANEXT_old = 368
    177 };
    178 #endif
    179 /* Tokens. */
    180 #define ESINT64VAL 258
    181 #define EUINT64VAL 259
    182 #define SINTVAL 260
    183 #define UINTVAL 261
    184 #define FPVAL 262
    185 #define VOID 263
    186 #define BOOL 264
    187 #define SBYTE 265
    188 #define UBYTE 266
    189 #define SHORT 267
    190 #define USHORT 268
    191 #define INT 269
    192 #define UINT 270
    193 #define LONG 271
    194 #define ULONG 272
    195 #define FLOAT 273
    196 #define DOUBLE 274
    197 #define TYPE 275
    198 #define LABEL 276
    199 #define VAR_ID 277
    200 #define LABELSTR 278
    201 #define STRINGCONSTANT 279
    202 #define IMPLEMENTATION 280
    203 #define ZEROINITIALIZER 281
    204 #define TRUETOK 282
    205 #define FALSETOK 283
    206 #define BEGINTOK 284
    207 #define ENDTOK 285
    208 #define DECLARE 286
    209 #define GLOBAL 287
    210 #define CONSTANT 288
    211 #define SECTION 289
    212 #define VOLATILE 290
    213 #define TO 291
    214 #define DOTDOTDOT 292
    215 #define NULL_TOK 293
    216 #define UNDEF 294
    217 #define CONST 295
    218 #define INTERNAL 296
    219 #define LINKONCE 297
    220 #define WEAK 298
    221 #define APPENDING 299
    222 #define DLLIMPORT 300
    223 #define DLLEXPORT 301
    224 #define EXTERN_WEAK 302
    225 #define OPAQUE 303
    226 #define NOT 304
    227 #define EXTERNAL 305
    228 #define TARGET 306
    229 #define TRIPLE 307
    230 #define ENDIAN 308
    231 #define POINTERSIZE 309
    232 #define LITTLE 310
    233 #define BIG 311
    234 #define ALIGN 312
    235 #define DEPLIBS 313
    236 #define CALL 314
    237 #define TAIL 315
    238 #define ASM_TOK 316
    239 #define MODULE 317
    240 #define SIDEEFFECT 318
    241 #define CC_TOK 319
    242 #define CCC_TOK 320
    243 #define CSRETCC_TOK 321
    244 #define FASTCC_TOK 322
    245 #define COLDCC_TOK 323
    246 #define X86_STDCALLCC_TOK 324
    247 #define X86_FASTCALLCC_TOK 325
    248 #define DATALAYOUT 326
    249 #define RET 327
    250 #define BR 328
    251 #define SWITCH 329
    252 #define INVOKE 330
    253 #define UNWIND 331
    254 #define UNREACHABLE 332
    255 #define ADD 333
    256 #define SUB 334
    257 #define MUL 335
    258 #define UDIV 336
    259 #define SDIV 337
    260 #define FDIV 338
    261 #define UREM 339
    262 #define SREM 340
    263 #define FREM 341
    264 #define AND 342
    265 #define OR 343
    266 #define XOR 344
    267 #define SETLE 345
    268 #define SETGE 346
    269 #define SETLT 347
    270 #define SETGT 348
    271 #define SETEQ 349
    272 #define SETNE 350
    273 #define MALLOC 351
    274 #define ALLOCA 352
    275 #define FREE 353
    276 #define LOAD 354
    277 #define STORE 355
    278 #define GETELEMENTPTR 356
    279 #define PHI_TOK 357
    280 #define CAST 358
    281 #define SELECT 359
    282 #define SHL 360
    283 #define LSHR 361
    284 #define ASHR 362
    285 #define VAARG 363
    286 #define EXTRACTELEMENT 364
    287 #define INSERTELEMENT 365
    288 #define SHUFFLEVECTOR 366
    289 #define VAARG_old 367
    290 #define VANEXT_old 368
    291
    292
    293
    294
    295 /* Copy the first part of user declarations. */
    296 #line 14 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y"
    125297
    126298 #include "ParserInternals.h"
    127299 #include "llvm/CallingConv.h"
    9311103 /// an obsolete opcode. For example, "div" was replaced by [usf]div but we need
    9321104 /// to maintain backwards compatibility for asm files that still have the "div"
    9331105 /// instruction. This function handles converting div -> [usf]div appropriately.
    934 /// @brief Convert obsolete opcodes to new values
    1106 /// @brief Convert obsolete BinaryOps opcodes to new values
    9351107 static void
    9361108 sanitizeOpCode(OpcodeInfo &OI, const PATypeHolder& PATy)
    9371109 {
    9661138 // Its not obsolete any more, we fixed it.
    9671139 OI.obsolete = false;
    9681140 }
    969
    1141
    1142 /// This function is similar to the previous overload of sanitizeOpCode but
    1143 /// operates on Instruction::OtherOps instead of Instruction::BinaryOps.
    1144 /// @brief Convert obsolete OtherOps opcodes to new values
    1145 static void
    1146 sanitizeOpCode(OpcodeInfo &OI, const PATypeHolder& PATy)
    1147 {
    1148 // If its not obsolete, don't do anything
    1149 if (!OI.obsolete)
    1150 return;
    1151
    1152 const Type* Ty = PATy; // type conversion
    1153 switch (OI.opcode) {
    1154 default:
    1155 GenerateError("Invalid obsolete opcode (check Lexer.l)");
    1156 break;
    1157 case Instruction::LShr:
    1158 if (Ty->isSigned())
    1159 OI.opcode = Instruction::AShr;
    1160 break;
    1161 }
    1162 // Its not obsolete any more, we fixed it.
    1163 OI.obsolete = false;
    1164 }
    1165
    9701166 // common code from the two 'RunVMAsmParser' functions
    9711167 static Module* RunParser(Module * M) {
    9721168
    11231319 }
    11241320
    11251321
    1126 #line 1016 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
    1127 typedef union {
    1322
    1323 /* Enabling traces. */
    1324 #ifndef YYDEBUG
    1325 # define YYDEBUG 0
    1326 #endif
    1327
    1328 /* Enabling verbose error messages. */
    1329 #ifdef YYERROR_VERBOSE
    1330 # undef YYERROR_VERBOSE
    1331 # define YYERROR_VERBOSE 1
    1332 #else
    1333 # define YYERROR_VERBOSE 0
    1334 #endif
    1335
    1336 /* Enabling the token table. */
    1337 #ifndef YYTOKEN_TABLE
    1338 # define YYTOKEN_TABLE 0
    1339 #endif
    1340
    1341 #if ! defined (YYSTYPE) && ! defined (YYSTYPE_IS_DECLARED)
    1342 #line 1040 "/proj/llvm/llvm-3/lib/AsmParser/llvmAsmParser.y"
    1343 typedef union YYSTYPE {
    11281344 llvm::Module *ModuleVal;
    11291345 llvm::Function *FunctionVal;
    11301346 std::pair *ArgVal;
    11631379 OtherOpInfo OtherOpVal;
    11641380 llvm::Module::Endianness Endianness;
    11651381 } YYSTYPE;
    1166 #include
    1167
    1168 #ifndef __cplusplus
    1169 #ifndef __STDC__
    1170 #define const
    1382 /* Line 196 of yacc.c. */
    1383 #line 1385 "llvmAsmParser.tab.c"
    1384 # define yystype YYSTYPE /* obsolescent; will be withdrawn */
    1385 # define YYSTYPE_IS_DECLARED 1
    1386 # define YYSTYPE_IS_TRIVIAL 1
    11711387 #endif
    1388
    1389
    1390
    1391 /* Copy the second part of user declarations. */
    1392
    1393
    1394 /* Line 219 of yacc.c. */
    1395 #line 1397 "llvmAsmParser.tab.c"
    1396
    1397 #if ! defined (YYSIZE_T) && defined (__SIZE_TYPE__)
    1398 # define YYSIZE_T __SIZE_TYPE__
    11721399 #endif
    1173
    1174
    1175
    1176 #define YYFINAL 521
    1177 #define YYFLAG -32768
    1178 #define YYNTBASE 127
    1179
    1180 #define YYTRANSLATE(x) ((unsigned)(x) <= 366 ? yytranslate[x] : 201)
    1181
    1182 static const short yytranslate[] = { 0,
    1183 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
    1184 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
    1185 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
    1186 2, 2, 2, 2, 2, 2, 2, 2, 2, 116,
    1187 117, 125, 2, 114, 2, 2, 2, 2, 2, 2,
    1188 2, 2, 2, 2, 2, 2, 2, 2, 2, 121,
    1189 113, 122, 2, 2, 2, 2, 2, 2, 2, 2,
    1190 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
    1191 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
    1192 118, 115, 120, 2, 2, 2, 2, 2, 126, 2,
    1193 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
    1194 2, 2, 2, 2, 2, 2, 2, 2, 2, 119,
    1195 2, 2, 123, 2, 124, 2, 2, 2, 2, 2,
    1196 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
    1197 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
    1198 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
    1199 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
    1200 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
    1201 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
    1202 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
    1203 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
    1204 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
    1205 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
    1206 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
    1207 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
    1208 2, 2, 2, 2, 2, 1, 3, 4, 5, 6,
    1209 7, 8, 9, 10, 11, 12, 13, 14, 15, 16,
    1210 17, 18, 19, 20, 21, 22, 23, 24, 25, 26,
    1211 27, 28, 29, 30, 31, 32, 33, 34, 35, 36,
    1212 37, 38, 39, 40, 41, 42, 43, 44, 45, 46,
    1213 47, 48, 49, 50, 51, 52, 53, 54, 55, 56,
    1214 57, 58, 59, 60, 61, 62, 63, 64, 65, 66,
    1215 67, 68, 69, 70, 71, 72, 73, 74, 75, 76,
    1216 77, 78, 79, 80, 81, 82, 83, 84, 85, 86,
    1217 87, 88, 89, 90, 91, 92, 93, 94, 95, 96,
    1218 97, 98, 99, 100, 101, 102, 103, 104, 105, 106,
    1219 107, 108, 109, 110, 111, 112
    1400 #if ! defined (YYSIZE_T) && defined (size_t)
    1401 # define YYSIZE_T size_t
    1402 #endif
    1403 #if ! defined (YYSIZE_T) && (defined (__STDC__) || defined (__cplusplus))
    1404 # include /* INFRINGES ON USER NAME SPACE */
    1405 # define YYSIZE_T size_t
    1406 #endif
    1407 #if ! defined (YYSIZE_T)
    1408 # define YYSIZE_T unsigned int
    1409 #endif
    1410
    1411 #ifndef YY_
    1412 # if YYENABLE_NLS
    1413 # if ENABLE_NLS
    1414 # include /* INFRINGES ON USER NAME SPACE */
    1415 # define YY_(msgid) dgettext ("bison-runtime", msgid)
    1416 # endif
    1417 # endif
    1418 # ifndef YY_
    1419 # define YY_(msgid) msgid
    1420 # endif
    1421 #endif
    1422
    1423 #if ! defined (yyoverflow) || YYERROR_VERBOSE
    1424
    1425 /* The parser invokes alloca or malloc; define the necessary symbols. */
    1426
    1427 # ifdef YYSTACK_USE_ALLOCA
    1428 # if YYSTACK_USE_ALLOCA
    1429 # ifdef __GNUC__
    1430 # define YYSTACK_ALLOC __builtin_alloca
    1431 # else
    1432 # define YYSTACK_ALLOC alloca
    1433 # if defined (__STDC__) || defined (__cplusplus)
    1434 # include /* INFRINGES ON USER NAME SPACE */
    1435 # define YYINCLUDED_STDLIB_H
    1436 # endif
    1437 # endif
    1438 # endif
    1439 # endif
    1440
    1441 # ifdef YYSTACK_ALLOC
    1442 /* Pacify GCC's `empty if-body' warning. */
    1443 # define YYSTACK_FREE(Ptr) do { /* empty */; } while (0)
    1444 # ifndef YYSTACK_ALLOC_MAXIMUM
    1445 /* The OS might guarantee only one guard page at the bottom of the stack,
    1446 and a page size can be as small as 4096 bytes. So we cannot safely
    1447 invoke alloca (N) if N exceeds 4096. Use a slightly smaller number
    1448 to allow for a few compiler-allocated temporary stack slots. */
    1449 # define YYSTACK_ALLOC_MAXIMUM 4032 /* reasonable circa 2005 */
    1450 # endif
    1451 # else
    1452 # define YYSTACK_ALLOC YYMALLOC
    1453 # define YYSTACK_FREE YYFREE
    1454 # ifndef YYSTACK_ALLOC_MAXIMUM
    1455 # define YYSTACK_ALLOC_MAXIMUM ((YYSIZE_T) -1)
    1456 # endif
    1457 # ifdef __cplusplus
    1458 extern "C" {
    1459 # endif
    1460 # ifndef YYMALLOC
    1461 # define YYMALLOC malloc
    1462 # if (! defined (malloc) && ! defined (YYINCLUDED_STDLIB_H) \
    1463 && (defined (__STDC__) || defined (__cplusplus)))
    1464 void *malloc (YYSIZE_T); /* INFRINGES ON USER NAME SPACE */
    1465 # endif
    1466 # endif
    1467 # ifndef YYFREE
    1468 # define YYFREE free
    1469 # if (! defined (free) && ! defined (YYINCLUDED_STDLIB_H) \
    1470 && (defined (__STDC__) || defined (__cplusplus)))
    1471 void free (void *); /* INFRINGES ON USER NAME SPACE */
    1472 # endif
    1473 # endif
    1474 # ifdef __cplusplus
    1475 }
    1476 # endif
    1477 # endif
    1478 #endif /* ! defined (yyoverflow) || YYERROR_VERBOSE */
    1479
    1480
    1481 #if (! defined (yyoverflow) \
    1482 && (! defined (__cplusplus) \
    1483 || (defined (YYSTYPE_IS_TRIVIAL) && YYSTYPE_IS_TRIVIAL)))
    1484
    1485 /* A type that is properly aligned for any stack member. */
    1486 union yyalloc
    1487 {
    1488 short int yyss;
    1489 YYSTYPE yyvs;
    1490 };
    1491
    1492 /* The size of the maximum gap between one aligned stack and the next. */
    1493 # define YYSTACK_GAP_MAXIMUM (sizeof (union yyalloc) - 1)
    1494
    1495 /* The size of an array large to enough to hold all stacks, each with
    1496 N elements. */
    1497 # define YYSTACK_BYTES(N) \
    1498 ((N) * (sizeof (short int) + sizeof (YYSTYPE)) \
    1499 + YYSTACK_GAP_MAXIMUM)
    1500
    1501 /* Copy COUNT objects from FROM to TO. The source and destination do
    1502 not overlap. */
    1503 # ifndef YYCOPY
    1504 # if defined (__GNUC__) && 1 < __GNUC__
    1505 # define YYCOPY(To, From, Count) \
    1506 __builtin_memcpy (To, From, (Count) * sizeof (*(From)))
    1507 # else
    1508 # define YYCOPY(To, From, Count) \
    1509 do \
    1510 { \
    1511 YYSIZE_T yyi; \
    1512 for (yyi = 0; yyi < (Count); yyi++) \
    1513 (To)[yyi] = (From)[yyi]; \
    1514 } \
    1515 while (0)
    1516 # endif
    1517 # endif
    1518
    1519 /* Relocate STACK from its old location to the new one. The
    1520 local variables YYSIZE and YYSTACKSIZE give the old and new number of
    1521 elements in the stack, and YYPTR gives the new location of the
    1522 stack. Advance YYPTR to a properly aligned location for the next
    1523 stack. */
    1524 # define YYSTACK_RELOCATE(Stack) \
    1525 do \
    1526 { \
    1527 YYSIZE_T yynewbytes; \
    1528 YYCOPY (&yyptr->Stack, Stack, yysize); \
    1529 Stack = &yyptr->Stack; \
    1530 yynewbytes = yystacksize * sizeof (*Stack) + YYSTACK_GAP_MAXIMUM; \
    1531 yyptr += yynewbytes / sizeof (*yyptr); \
    1532 } \
    1533 while (0)
    1534
    1535 #endif
    1536
    1537 #if defined (__STDC__) || defined (__cplusplus)
    1538 typedef signed char yysigned_char;
    1539 #else
    1540 typedef short int yysigned_char;
    1541 #endif
    1542
    1543 /* YYFINAL -- State number of the termination state. */
    1544 #define YYFINAL 4
    1545 /* YYLAST -- Last index in YYTABLE. */
    1546 #define YYLAST 1310
    1547
    1548 /* YYNTOKENS -- Number of terminals. */
    1549 #define YYNTOKENS 128
    1550 /* YYNNTS -- Number of nonterminals. */
    1551 #define YYNNTS 75
    1552 /* YYNRULES -- Number of rules. */
    1553 #define YYNRULES 257
    1554 /* YYNRULES -- Number of states. */
    1555 #define YYNSTATES 522
    1556
    1557 /* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX. */
    1558 #define YYUNDEFTOK 2
    1559 #define YYMAXUTOK 368
    1560
    1561 #define YYTRANSLATE(YYX) \
    1562 ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK)
    1563
    1564 /* YYTRANSLATE[YYLEX] -- Bison symbol number corresponding to YYLEX. */
    1565 static const unsigned char yytranslate[] =
    1566 {
    1567 0, 2, 2, 2, 2, 2, 2, 2, 2, 2,
    1568 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
    1569 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
    1570 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
    1571 117, 118, 126, 2, 115, 2, 2, 2, 2, 2,
    1572 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
    1573 122, 114, 123, 2, 2, 2, 2, 2, 2, 2,
    1574 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
    1575 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
    1576 2, 119, 116, 121, 2, 2, 2, 2, 2, 127,
    1577 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
    1578 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
    1579 120, 2, 2, 124, 2, 125, 2, 2, 2, 2,
    1580 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
    1581 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
    1582 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
    1583 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
    1584 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
    1585 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
    1586 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
    1587 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
    1588 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
    1589 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
    1590 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
    1591 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
    1592 2, 2, 2, 2, 2, 2, 1, 2, 3, 4,
    1593 5, 6, 7, 8, 9, 10, 11, 12, 13, 14,
    1594 15, 16, 17, 18, 19, 20, 21, 22, 23, 24,
    1595 25, 26, 27, 28, 29, 30, 31, 32, 33, 34,
    1596 35, 36, 37, 38, 39, 40, 41, 42, 43, 44,
    1597 45, 46, 47, 48, 49, 50, 51, 52, 53, 54,
    1598 55, 56, 57, 58, 59, 60, 61, 62, 63, 64,
    1599 65, 66, 67, 68, 69, 70, 71, 72, 73, 74,
    1600 75, 76, 77, 78, 79, 80, 81, 82, 83, 84,
    1601 85, 86, 87, 88, 89, 90, 91, 92, 93, 94,
    1602 95, 96, 97, 98, 99, 100, 101, 102, 103, 104,
    1603 105, 106, 107, 108, 109, 110, 111, 112, 113
    12201604 };
    12211605
    1222 #if YYDEBUG != 0
    1223 static const short yyprhs[] = { 0,
    1224 0, 2, 4, 6, 8, 10, 12, 14, 16, 18,
    1225 20, 22, 24, 26, 28, 30, 32, 34, 36, 38,
    1226 40, 42, 44, 46, 48, 50, 52, 54, 56, 58,
    1227 60, 62, 64, 66, 68, 70, 72, 75, 76, 78,
    1228 80, 82, 84, 86, 88, 90, 91, 92, 94, 96,
    1229 98, 100, 102, 104, 107, 108, 111, 112, 116, 119,
    1230 120, 122, 123, 127, 129, 132, 134, 136, 138, 140,
    1231 142, 144, 146, 148, 150, 152, 154, 156, 158, 160,
    1232 162, 164, 166, 168, 170, 172, 174, 177, 182, 188,
    1233 194, 198, 201, 204, 206, 210, 212, 216, 218, 219,
    1234 224, 228, 232, 237, 242, 246, 249, 252, 255, 258,
    1235 261, 264, 267, 270, 273, 276, 283, 289, 298, 305,
    1236 312, 319, 326, 333, 342, 351, 355, 357, 359, 361,
    1237 363, 366, 369, 374, 377, 379, 384, 387, 392, 393,
    1238 401, 402, 410, 411, 419, 420, 428, 432, 437, 438,
    1239 440, 442, 444, 448, 452, 456, 460, 464, 468, 470,
    1240 471, 473, 475, 477, 478, 481, 485, 487, 489, 493,
    1241 495, 496, 505, 507, 509, 513, 515, 517, 520, 521,
    1242 523, 525, 526, 531, 532, 534, 536, 538, 540, 542,
    1243 544, 546, 548, 550, 554, 556, 562, 564, 566, 568,
    1244 570, 573, 576, 579, 583, 586, 587, 589, 592, 595,
    1245 599, 609, 619, 628, 642, 644, 646, 653, 659, 662,
    1246 669, 677, 679, 683, 685, 686, 689, 691, 697, 703,
    1247 709, 712, 717, 722, 729, 734, 739, 744, 749, 756,
    1248 763, 766, 774, 776, 779, 780, 782, 783, 787, 794,
    1249 798, 805, 808, 813, 820
    1606 #if YYDEBUG
    1607 /* YYPRHS[YYN] -- Index of the first RHS symbol of rule number YYN in
    1608 YYRHS. */
    1609 static const unsigned short int yyprhs[] =
    1610 {
    1611 0, 0, 3, 5, 7, 9, 11, 13, 15, 17,
    1612 19, 21, 23, 25, 27, 29, 31, 33, 35, 37,
    1613 39, 41, 43, 45, 47, 49, 51, 53, 55, 57,
    1614 59, 61, 63, 65, 67, 69, 71, 73, 75, 77,
    1615 80, 81, 83, 85, 87, 89, 91, 93, 95, 96,
    1616 97, 99, 101, 103, 105, 107, 109, 112, 113, 116,
    1617 117, 121, 124, 125, 127, 128, 132, 134, 137, 139,
    1618 141, 143, 145, 147, 149, 151, 153, 155, 157, 159,
    1619 161, 163, 165, 167, 169, 171, 173, 175, 177, 179,
    1620 182, 187, 193, 199, 203, 206, 209, 211, 215, 217,
    1621 221, 223, 224, 229, 233, 237, 242, 247, 251, 254,
    1622 257, 260, 263, 266, 269, 272, 275, 278, 281, 288,
    1623 294, 303, 310, 317, 324, 331, 338, 347, 356, 360,
    1624 362, 364, 366, 368, 371, 374, 379, 382, 384, 389,
    1625 392, 397, 398, 406, 407, 415, 416, 424, 425, 433,
    1626 437, 442, 443, 445, 447, 449, 453, 457, 461, 465,
    1627 469, 473, 475, 476, 478, 480, 482, 483, 486, 490,
    1628 492, 494, 498, 500, 501, 510, 512, 514, 518, 520,
    1629 522, 525, 526, 528, 530, 531, 536, 537, 539, 541,
    1630 543, 545, 547, 549, 551, 553, 555, 559, 561, 567,
    1631 569, 571, 573, 575, 578, 581, 584, 588, 591, 592,
    1632 594, 597, 600, 604, 614, 624, 633, 647, 649, 651,
    1633 658, 664, 667, 674, 682, 684, 688, 690, 691, 694,
    1634 696, 702, 708, 714, 717, 722, 727, 734, 739, 744,
    1635 749, 754, 761, 768, 771, 779, 781, 784, 785, 787,
    1636 788, 792, 799, 803, 810, 813, 818, 825
    12501637 };
    12511638
    1252 static const short yyrhs[] = { 5,
    1253 0, 6, 0, 3, 0, 4, 0, 78, 0, 79,
    1254 0, 80, 0, 81, 0, 82, 0, 83, 0, 84,
    1255 0, 85, 0, 86, 0, 87, 0, 88, 0, 89,
    1256 0, 90, 0, 91, 0, 92, 0, 93, 0, 94,
    1257 0, 95, 0, 105, 0, 106, 0, 16, 0, 14,
    1258 0, 12, 0, 10, 0, 17, 0, 15, 0, 13,
    1259 0, 11, 0, 133, 0, 134, 0, 18, 0, 19,
    1260 0, 169, 113, 0, 0, 41, 0, 42, 0, 43,
    1261 0, 44, 0, 45, 0, 46, 0, 47, 0, 0,
    1262 0, 65, 0, 66, 0, 67, 0, 68, 0, 69,
    1263 0, 70, 0, 64, 4, 0, 0, 57, 4, 0,
    1264 0, 114, 57, 4, 0, 34, 24, 0, 0, 142,
    1265 0, 0, 114, 145, 144, 0, 142, 0, 57, 4,
    1266 0, 148, 0, 8, 0, 150, 0, 8, 0, 150,
    1267 0, 9, 0, 10, 0, 11, 0, 12, 0, 13,
    1268 0, 14, 0, 15, 0, 16, 0, 17, 0, 18,
    1269 0, 19, 0, 20, 0, 21, 0, 48, 0, 149,
    1270 0, 184, 0, 115, 4, 0, 147, 116, 152, 117,
    1271 0, 118, 4, 119, 150, 120, 0, 121, 4, 119,
    1272 150, 122, 0, 123, 151, 124, 0, 123, 124, 0,
    1273 150, 125, 0, 150, 0, 151, 114, 150, 0, 151,
    1274 0, 151, 114, 37, 0, 37, 0, 0, 148, 118,
    1275 155, 120, 0, 148, 118, 120, 0, 148, 126, 24,
    1276 0, 148, 121, 155, 122, 0, 148, 123, 155, 124,
    1277 0, 148, 123, 124, 0, 148, 38, 0, 148, 39,
    1278 0, 148, 184, 0, 148, 154, 0, 148, 26, 0,
    1279 133, 128, 0, 134, 4, 0, 9, 27, 0, 9,
    1280 28, 0, 136, 7, 0, 103, 116, 153, 36, 148,
    1281 117, 0, 101, 116, 153, 198, 117, 0, 104, 116,
    1282 153, 114, 153, 114, 153, 117, 0, 129, 116, 153,
    1283 114, 153, 117, 0, 130, 116, 153, 114, 153, 117,
    1284 0, 131, 116, 153, 114, 153, 117, 0, 132, 116,
    1285 153, 114, 153, 117, 0, 108, 116, 153, 114, 153,
    1286 117, 0, 109, 116, 153, 114, 153, 114, 153, 117,
    1287 0, 110, 116, 153, 114, 153, 114, 153, 117, 0,
    1288 155, 114, 153, 0, 153, 0, 32, 0, 33, 0,
    1289 158, 0, 158, 178, 0, 158, 180, 0, 158, 62,
    1290 61, 164, 0, 158, 25, 0, 159, 0, 159, 137,
    1291 20, 146, 0, 159, 180, 0, 159, 62, 61, 164,
    1292 0, 0, 159, 137, 138, 156, 153, 160, 144, 0,
    1293 0, 159, 137, 50, 156, 148, 161, 144, 0, 0,
    1294 159, 137, 45, 156, 148, 162, 144, 0, 0, 159,
    1295 137, 47, 156, 148, 163, 144, 0, 159, 51, 166,
    1296 0, 159, 58, 113, 167, 0, 0, 24, 0, 56,
    1297 0, 55, 0, 53, 113, 165, 0, 54, 113, 4,
    1298 0, 52, 113, 24, 0, 71, 113, 24, 0, 118,
    1299 168, 120, 0, 168, 114, 24, 0, 24, 0, 0,
    1300 22, 0, 24, 0, 169, 0, 0, 148, 170, 0,
    1301 172, 114, 171, 0, 171, 0, 172, 0, 172, 114,
    1302 37, 0, 37, 0, 0, 139, 146, 169, 116, 173,
    1303 117, 143, 140, 0, 29, 0, 123, 0, 138, 174,
    1304 175, 0, 30, 0, 124, 0, 187, 177, 0, 0,
    1305 45, 0, 47, 0, 0, 31, 181, 179, 174, 0,
    1306 0, 63, 0, 3, 0, 4, 0, 7, 0, 27,
    1307 0, 28, 0, 38, 0, 39, 0, 26, 0, 121,
    1308 155, 122, 0, 154, 0, 61, 182, 24, 114, 24,
    1309 0, 127, 0, 169, 0, 184, 0, 183, 0, 148,
    1310 185, 0, 187, 188, 0, 176, 188, 0, 189, 137,
    1311 190, 0, 189, 192, 0, 0, 23, 0, 72, 186,
    1312 0, 72, 8, 0, 73, 21, 185, 0, 73, 9,
    1313 185, 114, 21, 185, 114, 21, 185, 0, 74, 135,
    1314 185, 114, 21, 185, 118, 191, 120, 0, 74, 135,
    1315 185, 114, 21, 185, 118, 120, 0, 75, 139, 146,
    1316 185, 116, 195, 117, 36, 21, 185, 76, 21, 185,
    1317 0, 76, 0, 77, 0, 191, 135, 183, 114, 21,
    1318 185, 0, 135, 183, 114, 21, 185, 0, 137, 197,
    1319 0, 148, 118, 185, 114, 185, 120, 0, 193, 114,
    1320 118, 185, 114, 185, 120, 0, 186, 0, 194, 114,
    1321 186, 0, 194, 0, 0, 60, 59, 0, 59, 0,
    1322 129, 148, 185, 114, 185, 0, 130, 148, 185, 114,
    1323 185, 0, 131, 148, 185, 114, 185, 0, 49, 186,
    1324 0, 132, 186, 114, 186, 0, 103, 186, 36, 148,
    1325 0, 104, 186, 114, 186, 114, 186, 0, 107, 186,
    1326 114, 148, 0, 111, 186, 114, 148, 0, 112, 186,
    1327 114, 148, 0, 108, 186, 114, 186, 0, 109, 186,
    1328 114, 186, 114, 186, 0, 110, 186, 114, 186, 114,
    1329 186, 0, 102, 193, 0, 196, 139, 146, 185, 116,
    1330 195, 117, 0, 200, 0, 114, 194, 0, 0, 35,
    1331 0, 0, 96, 148, 141, 0, 96, 148, 114, 15,
    1332 185, 141, 0, 97, 148, 141, 0, 97, 148, 114,
    1333 15, 185, 141, 0, 98, 186, 0, 199, 99, 148,
    1334 185, 0, 199, 100, 186, 114, 148, 185, 0, 101,
    1335 148, 185, 198, 0
    1639 /* YYRHS -- A `-1'-separated list of the rules' RHS. */
    1640 static const short int yyrhs[] =
    1641 {
    1642 159, 0, -1, 5, -1, 6, -1, 3, -1, 4,
    1643 -1, 78, -1, 79, -1, 80, -1, 81, -1, 82,
    1644 -1, 83, -1, 84, -1, 85, -1, 86, -1, 87,
    1645 -1, 88, -1, 89, -1, 90, -1, 91, -1, 92,
    1646 -1, 93, -1, 94, -1, 95, -1, 105, -1, 106,
    1647 -1, 107, -1, 16, -1, 14, -1, 12, -1, 10,
    1648 -1, 17, -1, 15, -1, 13, -1, 11, -1, 135,
    1649 -1, 136, -1, 18, -1, 19, -1, 171, 114, -1,
    1650 -1, 41, -1, 42, -1, 43, -1, 44, -1, 45,
    1651 -1, 46, -1, 47, -1, -1, -1, 65, -1, 66,
    1652 -1, 67, -1, 68, -1, 69, -1, 70, -1, 64,
    1653 4, -1, -1, 57, 4, -1, -1, 115, 57, 4,
    1654 -1, 34, 24, -1, -1, 144, -1, -1, 115, 147,
    1655 146, -1, 144, -1, 57, 4, -1, 150, -1, 8,
    1656 -1, 152, -1, 8, -1, 152, -1, 9, -1, 10,
    1657 -1, 11, -1, 12, -1, 13, -1, 14, -1, 15,
    1658 -1, 16, -1, 17, -1, 18, -1, 19, -1, 20,
    1659 -1, 21, -1, 48, -1, 151, -1, 186, -1, 116,
    1660 4, -1, 149, 117, 154, 118, -1, 119, 4, 120,
    1661 152, 121, -1, 122, 4, 120, 152, 123, -1, 124,
    1662 153, 125, -1, 124, 125, -1, 152, 126, -1, 152,
    1663 -1, 153, 115, 152, -1, 153, -1, 153, 115, 37,
    1664 -1, 37, -1, -1, 150, 119, 157, 121, -1, 150,
    1665 119, 121, -1, 150, 127, 24, -1, 150, 122, 157,
    1666 123, -1, 150, 124, 157, 125, -1, 150, 124, 125,
    1667 -1, 150, 38, -1, 150, 39, -1, 150, 186, -1,
    1668 150, 156, -1, 150, 26, -1, 135, 130, -1, 136,
    1669 4, -1, 9, 27, -1, 9, 28, -1, 138, 7,
    1670 -1, 103, 117, 155, 36, 150, 118, -1, 101, 117,
    1671 155, 200, 118, -1, 104, 117, 155, 115, 155, 115,
    1672 155, 118, -1, 131, 117, 155, 115, 155, 118, -1,
    1673 132, 117, 155, 115, 155, 118, -1, 133, 117, 155,
    1674 115, 155, 118, -1, 134, 117, 155, 115, 155, 118,
    1675 -1, 109, 117, 155, 115, 155, 118, -1, 110, 117,
    1676 155, 115, 155, 115, 155, 118, -1, 111, 117, 155,
    1677 115, 155, 115, 155, 118, -1, 157, 115, 155, -1,
    1678 155, -1, 32, -1, 33, -1, 160, -1, 160, 180,
    1679 -1, 160, 182, -1, 160, 62, 61, 166, -1, 160,
    1680 25, -1, 161, -1, 161, 139, 20, 148, -1, 161,
    1681 182, -1, 161, 62, 61, 166, -1, -1, 161, 139,
    1682 140, 158, 155, 162, 146, -1, -1, 161, 139, 50,
    1683 158, 150, 163, 146, -1, -1, 161, 139, 45, 158,
    1684 150, 164, 146, -1, -1, 161, 139, 47, 158, 150,
    1685 165, 146, -1, 161, 51, 168, -1, 161, 58, 114,
    1686 169, -1, -1, 24, -1, 56, -1, 55, -1, 53,
    1687 114, 167, -1, 54, 114, 4, -1, 52, 114, 24,
    1688 -1, 71, 114, 24, -1, 119, 170, 121, -1, 170,
    1689 115, 24, -1, 24, -1, -1, 22, -1, 24, -1,
    1690 171, -1, -1, 150, 172, -1, 174, 115, 173, -1,
    1691 173, -1, 174, -1, 174, 115, 37, -1, 37, -1,
    1692 -1, 141, 148, 171, 117, 175, 118, 145, 142, -1,
    1693 29, -1, 124, -1, 140, 176, 177, -1, 30, -1,
    1694 125, -1, 189, 179, -1, -1, 45, -1, 47, -1,
    1695 -1, 31, 183, 181, 176, -1, -1, 63, -1, 3,
    1696 -1, 4, -1, 7, -1, 27, -1, 28, -1, 38,
    1697 -1, 39, -1, 26, -1, 122, 157, 123, -1, 156,
    1698 -1, 61, 184, 24, 115, 24, -1, 129, -1, 171,
    1699 -1, 186, -1, 185, -1, 150, 187, -1, 189, 190,
    1700 -1, 178, 190, -1, 191, 139, 192, -1, 191, 194,
    1701 -1, -1, 23, -1, 72, 188, -1, 72, 8, -1,
    1702 73, 21, 187, -1, 73, 9, 187, 115, 21, 187,
    1703 115, 21, 187, -1, 74, 137, 187, 115, 21, 187,
    1704 119, 193, 121, -1, 74, 137, 187, 115, 21, 187,
    1705 119, 121, -1, 75, 141, 148, 187, 117, 197, 118,
    1706 36, 21, 187, 76, 21, 187, -1, 76, -1, 77,
    1707 -1, 193, 137, 185, 115, 21, 187, -1, 137, 185,
    1708 115, 21, 187, -1, 139, 199, -1, 150, 119, 187,
    1709 115, 187, 121, -1, 195, 115, 119, 187, 115, 187,
    1710 121, -1, 188, -1, 196, 115, 188, -1, 196, -1,
    1711 -1, 60, 59, -1, 59, -1, 131, 150, 187, 115,
    1712 187, -1, 132, 150, 187, 115, 187, -1, 133, 150,
    1713 187, 115, 187, -1, 49, 188, -1, 134, 188, 115,
    1714 188, -1, 103, 188, 36, 150, -1, 104, 188, 115,
    1715 188, 115, 188, -1, 108, 188, 115, 150, -1, 112,
    1716 188, 115, 150, -1, 113, 188, 115, 150, -1, 109,
    1717 188, 115, 188, -1, 110, 188, 115, 188, 115, 188,
    1718 -1, 111, 188, 115, 188, 115, 188, -1, 102, 195,
    1719 -1, 198, 141, 148, 187, 117, 197, 118, -1, 202,
    1720 -1, 115, 196, -1, -1, 35, -1, -1, 96, 150,
    1721 143, -1, 96, 150, 115, 15, 187, 143, -1, 97,
    1722 150, 143, -1, 97, 150, 115, 15, 187, 143, -1,
    1723 98, 188, -1, 201, 99, 150, 187, -1, 201, 100,
    1724 188, 115, 150, 187, -1, 101, 150, 187, 200, -1
    13361725 };
    13371726
    1338 #endif
    1339
    1340 #if YYDEBUG != 0
    1341 static const short yyrline[] = { 0,
    1342 1139, 1140, 1148, 1149, 1159, 1159, 1159, 1159, 1159, 1159,
    1343 1159, 1159, 1159, 1160, 1160, 1160, 1161, 1161, 1161, 1161,
    1344 1161, 1161, 1163, 1163, 1167, 1167, 1167, 1167, 1168, 1168,
    1345 1168, 1168, 1169, 1169, 1170, 1170, 1173, 1177, 1182, 1182,
    1346 1183, 1184, 1185, 1186, 1187, 1188, 1191, 1191, 1192, 1193,
    1347 1194, 1195, 1196, 1197, 1207, 1207, 1214, 1214, 1223, 1231,
    1348 1231, 1237, 1237, 1239, 1244, 1258, 1258, 1259, 1259, 1261,
    1349 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1272, 1272, 1272,
    1350 1272, 1272, 1272, 1273, 1277, 1281, 1289, 1297, 1310, 1315,
    1351 1327, 1337, 1341, 1352, 1357, 1363, 1364, 1368, 1372, 1383,
    1352 1409, 1423, 1453, 1479, 1500, 1513, 1523, 1528, 1589, 1596,
    1353 1605, 1611, 1617, 1621, 1625, 1633, 1644, 1676, 1684, 1711,
    1354 1722, 1728, 1736, 1742, 1748, 1757, 1761, 1769, 1769, 1779,
    1355 1787, 1792, 1796, 1800, 1804, 1819, 1841, 1844, 1847, 1852,
    1356 1855, 1859, 1863, 1867, 1871, 1876, 1880, 1883, 1886, 1890,
    1357 1903, 1904, 1906, 1910, 1919, 1923, 1928, 1930, 1935, 1940,
    1358 1949, 1949, 1950, 1950, 1952, 1959, 1965, 1972, 1976, 1982,
    1359 1987, 1992, 2087, 2087, 2089, 2097, 2097, 2099, 2104, 2104,
    1360 2105, 2108, 2108, 2118, 2122, 2127, 2131, 2135, 2139, 2143,
    1361 2147, 2151, 2155, 2159, 2184, 2188, 2202, 2206, 2212, 2212,
    1362 2218, 2223, 2227, 2236, 2247, 2252, 2264, 2277, 2281, 2285,
    1363 2290, 2299, 2318, 2327, 2383, 2387, 2394, 2405, 2418, 2427,
    1364 2436, 2446, 2450, 2457, 2457, 2459, 2463, 2468, 2490, 2505,
    1365 2519, 2532, 2540, 2548, 2556, 2562, 2582, 2605, 2611, 2617,
    1366 2623, 2638, 2697, 2704, 2707, 2712, 2716, 2723, 2728, 2734,
    1367 2739, 2745, 2753, 2765, 2780
    1727 /* YYRLINE[YYN] -- source line where rule number YYN was defined. */
    1728 static const unsigned short int yyrline[] =
    1729 {
    1730 0, 1163, 1163, 1164, 1172, 1173, 1183, 1183, 1183, 1183,
    1731 1183, 1183, 1183, 1183, 1183, 1184, 1184, 1184, 1185, 1185,
    1732 1185, 1185, 1185, 1185, 1187, 1187, 1187, 1191, 1191, 1191,
    1733 1191, 1192, 1192, 1192, 1192, 1193, 1193, 1194, 1194, 1197,
    1734 1201, 1206, 1207, 1208, 1209, 1210, 1211, 1212, 1213, 1215,
    1735 1216, 1217, 1218, 1219, 1220, 1221, 1222, 1231, 1232, 1238,
    1736 1239, 1247, 1255, 1256, 1261, 1262, 1263, 1268, 1282, 1282,
    1737 1283, 1283, 1285, 1295, 1295, 1295, 1295, 1295, 1295, 1295,
    1738 1296, 1296, 1296, 1296, 1296, 1296, 1297, 1301, 1305, 1313,
    1739 1321, 1334, 1339, 1351, 1361, 1365, 1376, 1381, 1387, 1388,
    1740 1392, 1396, 1407, 1433, 1447, 1477, 1503, 1524, 1537, 1547,
    1741 1552, 1613, 1620, 1629, 1635, 1641, 1645, 1649, 1657, 1668,
    1742 1700, 1708, 1735, 1746, 1752, 1763, 1769, 1775, 1784, 1788,
    1743 1796, 1796, 1806, 1814, 1819, 1823, 1827, 1831, 1846, 1868,
    1744 1871, 1874, 1874, 1882, 1882, 1890, 1890, 1898, 1898, 1907,
    1745 1910, 1913, 1917, 1930, 1931, 1933, 1937, 1946, 1950, 1955,
    1746 1957, 1962, 1967, 1976, 1976, 1977, 1977, 1979, 1986, 1992,
    1747 1999, 2003, 2009, 2014, 2019, 2114, 2114, 2116, 2124, 2124,
    1748 2126, 2131, 2132, 2133, 2135, 2135, 2145, 2149, 2154, 2158,
    1749 2162, 2166, 2170, 2174, 2178, 2182, 2186, 2211, 2215, 2229,
    1750 2233, 2239, 2239, 2245, 2250, 2254, 2263, 2274, 2279, 2291,
    1751 2304, 2308, 2312, 2317, 2326, 2345, 2354, 2410, 2414, 2421,
    1752 2432, 2445, 2454, 2463, 2473, 2477, 2484, 2484, 2486, 2490,
    1753 2495, 2517, 2532, 2546, 2559, 2570, 2578, 2586, 2592, 2612,
    1754 2635, 2641, 2647, 2653, 2668, 2727, 2734, 2737, 2742, 2746,
    1755 2753, 2758, 2764, 2769, 2775, 2783, 2795, 2810
    13681756 };
    13691757 #endif
    13701758
    1371
    1372 #if YYDEBUG != 0 || defined (YYERROR_VERBOSE)
    1373
    1374 static const char * const yytname[] = { "$","error","$undefined.","ESINT64VAL",
    1375 "EUINT64VAL","SINTVAL","UINTVAL","FPVAL","VOID","BOOL","SBYTE","UBYTE","SHORT",
    1376 "USHORT","INT","UINT","LONG","ULONG","FLOAT","DOUBLE","TYPE","LABEL","VAR_ID",
    1377 "LABELSTR","STRINGCONSTANT","IMPLEMENTATION","ZEROINITIALIZER","TRUETOK","FALSETOK",
    1378 "BEGINTOK","ENDTOK","DECLARE","GLOBAL","CONSTANT","SECTION","VOLATILE","TO",
    1379 "DOTDOTDOT","NULL_TOK","UNDEF","CONST","INTERNAL","LINKONCE","WEAK","APPENDING",
    1380 "DLLIMPORT","DLLEXPORT","EXTERN_WEAK","OPAQUE","NOT","EXTERNAL","TARGET","TRIPLE",
    1381 "ENDIAN","POINTERSIZE","LITTLE","BIG","ALIGN","DEPLIBS","CALL","TAIL","ASM_TOK",
    1382 "MODULE","SIDEEFFECT","CC_TOK","CCC_TOK","CSRETCC_TOK","FASTCC_TOK","COLDCC_TOK",
    1383 "X86_STDCALLCC_TOK","X86_FASTCALLCC_TOK","DATALAYOUT","RET","BR","SWITCH","INVOKE",
    1384 "UNWIND","UNREACHABLE","ADD","SUB","MUL","UDIV","SDIV","FDIV","UREM","SREM",
    1385 "FREM","AND","OR","XOR","SETLE","SETGE","SETLT","SETGT","SETEQ","SETNE","MALLOC",
    1386 "ALLOCA","FREE","LOAD","STORE","GETELEMENTPTR","PHI_TOK","CAST","SELECT","SHL",
    1387 "SHR","VAARG","EXTRACTELEMENT","INSERTELEMENT","SHUFFLEVECTOR","VAARG_old","VANEXT_old",
    1388 "'='","','","'\\\\'","'('","')'","'['","'x'","']'","'<'","'>'","'{'","'}'","'*'",
    1389 "'c'","INTVAL","EINT64VAL","ArithmeticOps","LogicalOps","SetCondOps","ShiftOps",
    1390 "SIntType","UIntType","IntType","FPType","OptAssign","OptLinkage","OptCallingConv",
    1391 "OptAlign","OptCAlign","SectionString","OptSection","GlobalVarAttributes","GlobalVarAttribute",
    1392 "TypesV","UpRTypesV","Types","PrimType","UpRTypes","TypeListI","ArgTypeListI",
    1393 "ConstVal","ConstExpr","ConstVector","GlobalType","Module","FunctionList","ConstPool",
    1394 "@1","@2","@3","@4","AsmBlock","BigOrLittle","TargetDefinition","LibrariesDefinition",
    1395 "LibList","Name","OptName","ArgVal","ArgListH","ArgList","FunctionHeaderH","BEGIN",
    1396 "FunctionHeader","END","Function","FnDeclareLinkage","FunctionProto","@5","OptSideEffect",
    1397 "ConstValueRef","SymbolicValueRef","ValueRef","ResolvedVal","BasicBlockList",
    1398 "BasicBlock","InstructionList","BBTerminatorInst","JumpTable","Inst","PHIList",
    1399 "ValueRefList","ValueRefListE","OptTailCall","InstVal","IndexList","OptVolatile",
    1400 "MemoryInst", NULL
    1759 #if YYDEBUG || YYERROR_VERBOSE || YYTOKEN_TABLE
    1760 /* YYTNAME[SYMBOL-NUM] -- String name of the symbol SYMBOL-NUM.
    1761 First, the terminals, then, starting at YYNTOKENS, nonterminals. */
    1762 static const char *const yytname[] =
    1763 {
    1764 "$end", "error", "$undefined", "ESINT64VAL", "EUINT64VAL", "SINTVAL",
    1765 "UINTVAL", "FPVAL", "VOID", "BOOL", "SBYTE", "UBYTE", "SHORT", "USHORT",
    1766 "INT", "UINT", "LONG", "ULONG", "FLOAT", "DOUBLE", "TYPE", "LABEL",
    1767 "VAR_ID", "LABELSTR", "STRINGCONSTANT", "IMPLEMENTATION",
    1768 "ZEROINITIALIZER", "TRUETOK", "FALSETOK", "BEGINTOK", "ENDTOK",
    1769 "DECLARE", "GLOBAL", "CONSTANT", "SECTION", "VOLATILE", "TO",
    1770 "DOTDOTDOT", "NULL_TOK", "UNDEF", "CONST", "INTERNAL", "LINKONCE",
    1771 "WEAK", "APPENDING", "DLLIMPORT", "DLLEXPORT", "EXTERN_WEAK", "OPAQUE",
    1772 "NOT", "EXTERNAL", "TARGET", "TRIPLE", "ENDIAN", "POINTERSIZE", "LITTLE",
    1773 "BIG", "ALIGN", "DEPLIBS", "CALL", "TAIL", "ASM_TOK", "MODULE",
    1774 "SIDEEFFECT", "CC_TOK", "CCC_TOK", "CSRETCC_TOK", "FASTCC_TOK",
    1775 "COLDCC_TOK", "X86_STDCALLCC_TOK", "X86_FASTCALLCC_TOK", "DATALAYOUT",
    1776 "RET", "BR", "SWITCH", "INVOKE", "UNWIND", "UNREACHABLE", "ADD", "SUB",
    1777 "MUL", "UDIV", "SDIV", "FDIV", "UREM", "SREM", "FREM", "AND", "OR",
    1778 "XOR", "SETLE", "SETGE", "SETLT", "SETGT", "SETEQ", "SETNE", "MALLOC",
    1779 "ALLOCA", "FREE", "LOAD", "STORE", "GETELEMENTPTR", "PHI_TOK", "CAST",
    1780 "SELECT", "SHL", "LSHR", "ASHR", "VAARG", "EXTRACTELEMENT",
    1781 "INSERTELEMENT", "SHUFFLEVECTOR", "VAARG_old", "VANEXT_old", "'='",
    1782 "','", "'\\\\'", "'('", "')'", "'['", "'x'", "']'", "'<'", "'>'", "'{'",
    1783 "'}'", "'*'", "'c'", "$accept", "INTVAL", "EINT64VAL", "ArithmeticOps",
    1784 "LogicalOps", "SetCondOps", "ShiftOps", "SIntType", "UIntType",
    1785 "IntType", "FPType", "OptAssign", "OptLinkage", "OptCallingConv",
    1786 "OptAlign", "OptCAlign", "SectionString", "OptSection",
    1787 "GlobalVarAttributes", "GlobalVarAttribute", "TypesV", "UpRTypesV",
    1788 "Types", "PrimType", "UpRTypes", "TypeListI", "ArgTypeListI", "ConstVal",
    1789 "ConstExpr", "ConstVector", "GlobalType", "Module", "FunctionList",
    1790 "ConstPool", "@1", "@2", "@3", "@4", "AsmBlock", "BigOrLittle",
    1791 "TargetDefinition", "LibrariesDefinition", "LibList", "Name", "OptName",
    1792 "ArgVal", "ArgListH", "ArgList", "FunctionHeaderH", "BEGIN",
    1793 "FunctionHeader", "END", "Function", "FnDeclareLinkage", "FunctionProto",
    1794 "@5", "OptSideEffect", "ConstValueRef", "SymbolicValueRef", "ValueRef",
    1795 "ResolvedVal", "BasicBlockList", "BasicBlock", "InstructionList",
    1796 "BBTerminatorInst", "JumpTable", "Inst", "PHIList", "ValueRefList",
    1797 "ValueRefListE", "OptTailCall", "InstVal", "IndexList", "OptVolatile",
    1798 "MemoryInst", 0
    14011799 };
    14021800 #endif
    14031801
    1404 static const short yyr1[] = { 0,
    1405 127, 127, 128, 128, 129, 129, 129, 129, 129, 129,
    1406 129, 129, 129, 130, 130, 130, 131, 131, 131, 131,
    1407 131, 131, 132, 132, 133, 133, 133, 133, 134, 134,
    1408 134, 134, 135, 135, 136, 136, 137, 137, 138, 138,
    1409 138, 138, 138, 138, 138, 138, 139, 139, 139, 139,
    1410 139, 139, 139, 139, 140, 140, 141, 141, 142, 143,
    1411 143, 144, 144, 145, 145, 146, 146, 147, 147, 148,
    1412 149, 149, 149, 149, 149, 149, 149, 149, 149, 149,
    1413 149, 149, 149, 150, 150, 150, 150, 150, 150, 150,
    1414 150, 150, 150, 151, 151, 152, 152, 152, 152, 153,
    1415 153, 153, 153, 153, 153, 153, 153, 153, 153, 153,
    1416 153, 153, 153, 153, 153, 154, 154, 154, 154, 154,
    1417 154, 154, 154, 154, 154, 155, 155, 156, 156, 157,
    1418 158, 158, 158, 158, 158, 159, 159, 159, 160, 159,
    1419 161, 159, 162, 159, 163, 159, 159, 159, 159, 164,
    1420 165, 165, 166, 166, 166, 166, 167, 168, 168, 168,
    1421 169, 169, 170, 170, 171, 172, 172, 173, 173, 173,
    1422 173, 174, 175, 175, 176, 177, 177, 178, 179, 179,
    1423 179, 181, 180, 182, 182, 183, 183, 183, 183, 183,
    1424 183, 183, 183, 183, 183, 183, 184, 184, 185, 185,
    1425 186, 187, 187, 188, 189, 189, 189, 190, 190, 190,
    1426 190, 190, 190, 190, 190, 190, 191, 191, 192, 193,
    1427 193, 194, 194, 195, 195, 196, 196, 197, 197, 197,
    1428 197, 197, 197, 197, 197, 197, 197, 197, 197, 197,
    1429 197, 197, 197, 198, 198, 199, 199, 200, 200, 200,
    1430 200, 200, 200, 200, 200
    1802 # ifdef YYPRINT
    1803 /* YYTOKNUM[YYLEX-NUM] -- Internal token number corresponding to
    1804 token YYLEX-NUM. */
    1805 static const unsigned short int yytoknum[] =
    1806 {
    1807 0, 256, 257, 258, 259, 260, 261, 262, 263, 264,
    1808 265, 266, 267, 268, 269, 270, 271, 272, 273, 274,
    1809 275, 276, 277, 278, 279, 280, 281, 282, 283, 284,
    1810 285, 286, 287, 288, 289, 290, 291, 292, 293, 294,
    1811 295, 296, 297, 298, 299, 300, 301, 302, 303, 304,
    1812 305, 306, 307, 308, 309, 310, 311, 312, 313, 314,
    1813 315, 316, 317, 318, 319, 320, 321, 322, 323, 324,
    1814 325, 326, 327, 328, 329, 330, 331, 332, 333, 334,
    1815 335, 336, 337, 338, 339, 340, 341, 342, 343, 344,
    1816 345, 346, 347, 348, 349, 350, 351, 352, 353, 354,
    1817 355, 356, 357, 358, 359, 360, 361, 362, 363, 364,
    1818 365, 366, 367, 368, 61, 44, 92, 40, 41, 91,
    1819 120, 93, 60, 62, 123, 125, 42, 99
    14311820 };
    1432
    1433 static const short yyr2[] = { 0,
    1434 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
    1435 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
    1436 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
    1437 1, 1, 1, 1, 1, 1, 2, 0, 1, 1,
    1438 1, 1, 1, 1, 1, 0, 0, 1, 1, 1,
    1439 1, 1, 1, 2, 0, 2, 0, 3, 2, 0,
    1440 1, 0, 3, 1, 2, 1, 1, 1, 1, 1,
    1441 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
    1442 1, 1, 1, 1, 1, 1, 2, 4, 5, 5,
    1443 3, 2, 2, 1, 3, 1, 3, 1, 0, 4,
    1444 3, 3, 4, 4, 3, 2, 2, 2, 2, 2,
    1445 2, 2, 2, 2, 2, 6, 5, 8, 6, 6,
    1446 6, 6, 6, 8, 8, 3, 1, 1, 1, 1,
    1447 2, 2, 4, 2, 1, 4, 2, 4, 0, 7,
    1448 0, 7, 0, 7, 0, 7, 3, 4, 0, 1,
    1449 1, 1, 3, 3, 3, 3, 3, 3, 1, 0,
    1450 1, 1, 1, 0, 2, 3, 1, 1, 3, 1,
    1451 0, 8, 1, 1, 3, 1, 1, 2, 0, 1,
    1452 1, 0, 4, 0, 1, 1, 1, 1, 1, 1,
    1453 1, 1, 1, 3, 1, 5, 1, 1, 1, 1,
    1454 2, 2, 2, 3, 2, 0, 1, 2, 2, 3,
    1455 9, 9, 8, 13, 1, 1, 6, 5, 2, 6,
    1456 7, 1, 3, 1, 0, 2, 1, 5, 5, 5,
    1457 2, 4, 4, 6, 4, 4, 4, 4, 6, 6,
    1458 2, 7, 1, 2, 0, 1, 0, 3, 6, 3,
    1459 6, 2, 4, 6, 4
    1821 # endif
    1822
    1823 /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */
    1824 static const unsigned char yyr1[] =
    1825 {
    1826 0, 128, 129, 129, 130, 130, 131, 131, 131, 131,
    1827 131, 131, 131, 131, 131, 132, 132, 132, 133, 133,
    1828 133, 133, 133, 133, 134, 134, 134, 135, 135, 135,
    1829 135, 136, 136, 136, 136, 137, 137, 138, 138, 139,
    1830 139, 140, 140, 140, 140, 140, 140, 140, 140, 141,
    1831 141, 141, 141, 141, 141, 141, 141, 142, 142, 143,
    1832 143, 144, 145, 145, 146, 146, 147, 147, 148, 148,
    1833 149, 149, 150, 151, 151, 151, 151, 151, 151, 151,
    1834 151, 151, 151, 151, 151, 151, 152, 152, 152, 152,
    1835 152, 152, 152, 152, 152, 152, 153, 153, 154, 154,
    1836 154, 154, 155, 155, 155, 155, 155, 155, 155, 155,
    1837 155, 155, 155, 155, 155, 155, 155, 155, 156, 156,
    1838 156, 156, 156, 156, 156, 156, 156, 156, 157, 157,
    1839 158, 158, 159, 160, 160, 160, 160, 160, 161, 161,
    1840 161, 162, 161, 163, 161, 164, 161, 165, 161, 161,
    1841 161, 161, 166, 167, 167, 168, 168, 168, 168, 169,
    1842 170, 170, 170, 171, 171, 172, 172, 173, 174, 174,
    1843 175, 175, 175, 175, 176, 177, 177, 178, 179, 179,
    1844 180, 181, 181, 181, 183, 182, 184, 184, 185, 185,
    1845 185, 185, 185, 185, 185, 185, 185, 185, 185, 186,
    1846 186, 187, 187, 188, 189, 189, 190, 191, 191, 191,
    1847 192, 192, 192, 192, 192, 192, 192, 192, 192, 193,
    1848 193, 194, 195, 195, 196, 196, 197, 197, 198, 198,
    1849 199, 199, 199, 199, 199, 199, 199, 199, 199, 199,
    1850 199, 199, 199, 199, 199, 199, 200, 200, 201, 201,
    1851 202, 202, 202, 202, 202, 202, 202, 202
    14601852 };
    14611853
    1462 static const short yydefact[] = { 149,
    1463 46, 135, 134, 182, 39, 40, 41, 42, 43, 44,
    1464 45, 0, 47, 206, 131, 132, 206, 161, 162, 0,
    1465 0, 0, 46, 0, 137, 179, 0, 0, 48, 49,
    1466 50, 51, 52, 53, 0, 0, 207, 203, 38, 176,
    1467 177, 178, 202, 0, 0, 0, 0, 147, 0, 0,
    1468 0, 0, 0, 0, 0, 37, 180, 181, 47, 150,
    1469 133, 54, 1, 2, 67, 71, 72, 73, 74, 75,
    1470 76, 77, 78, 79, 80, 81, 82, 83, 84, 0,
    1471 0, 0, 0, 197, 0, 0, 66, 85, 70, 198,
    1472 86, 173, 174, 175, 247, 205, 0, 0, 0, 0,
    1473 160, 148, 138, 136, 128, 129, 0, 0, 0, 0,
    1474 183, 87, 0, 0, 69, 92, 94, 0, 0, 99,
    1475 93, 246, 0, 227, 0, 0, 0, 0, 47, 215,
    1476 216, 5, 6, 7, 8, 9, 10, 11, 12, 13,
    1477 14, 15, 16, 17, 18, 19, 20, 21, 22, 0,
    1478 0, 0, 0, 0, 0, 0, 23, 24, 0, 0,
    1479 0, 0, 0, 0, 0, 0, 0, 0, 204, 47,
    1480 219, 0, 243, 155, 152, 151, 153, 154, 156, 159,
    1481 0, 143, 145, 141, 71, 72, 73, 74, 75, 76,
    1482 77, 78, 79, 80, 81, 0, 0, 0, 0, 139,
    1483 0, 0, 0, 91, 171, 98, 96, 0, 0, 231,
    1484 226, 209, 208, 0, 0, 28, 32, 27, 31, 26,
    1485 30, 25, 29, 33, 34, 0, 0, 57, 57, 252,
    1486 0, 0, 241, 0, 0, 0, 0, 0, 0, 0,
    1487 0, 0, 0, 0, 0, 0, 0, 0, 0, 157,
    1488 62, 62, 62, 113, 114, 3, 4, 111, 112, 115,
    1489 110, 106, 107, 0, 0, 0, 0, 0, 0, 0,
    1490 0, 0, 0, 0, 0, 0, 0, 109, 108, 62,
    1491 68, 68, 95, 170, 164, 167, 168, 0, 0, 88,
    1492 186, 187, 188, 193, 189, 190, 191, 192, 184, 0,
    1493 195, 200, 199, 201, 0, 210, 0, 0, 0, 248,
    1494 0, 250, 245, 0, 0, 0, 0, 0, 0, 0,
    1495 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    1496 158, 0, 144, 146, 142, 0, 0, 0, 0, 0,
    1497 0, 101, 127, 0, 0, 105, 0, 102, 0, 0,
    1498 0, 0, 140, 89, 90, 163, 165, 0, 60, 97,
    1499 185, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    1500 255, 0, 0, 233, 0, 235, 238, 0, 0, 236,
    1501 237, 0, 0, 0, 232, 0, 253, 0, 0, 0,
    1502 64, 62, 245, 0, 0, 0, 0, 0, 0, 100,
    1503 103, 104, 0, 0, 0, 0, 169, 166, 61, 55,
    1504 0, 194, 0, 0, 225, 57, 58, 57, 222, 244,
    1505 0, 0, 0, 0, 0, 228, 229, 230, 225, 0,
    1506 59, 65, 63, 0, 0, 0, 0, 0, 0, 126,
    1507 0, 0, 0, 0, 0, 172, 0, 0, 0, 224,
    1508 0, 0, 249, 251, 0, 0, 0, 234, 239, 240,
    1509 0, 254, 117, 0, 0, 0, 0, 0, 0, 0,
    1510 0, 0, 56, 196, 0, 0, 0, 223, 220, 0,
    1511 242, 116, 0, 123, 0, 0, 119, 120, 121, 122,
    1512 0, 213, 0, 0, 0, 221, 0, 0, 0, 211,
    1513 0, 212, 0, 0, 118, 124, 125, 0, 0, 0,
    1514 0, 0, 0, 218, 0, 0, 217, 214, 0, 0,
    1515 0
    1854 /* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN. */
    1855 static const unsigned char yyr2[] =
    1856 {
    1857 0, 2, 1, 1, 1, 1, 1, 1, 1, 1,
    1858 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
    1859 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
    1860 1, 1, 1, 1, 1, 1, 1, 1, 1, 2,
    1861 0, 1, 1, 1, 1, 1, 1, 1, 0, 0,
    1862 1, 1, 1, 1, 1, 1, 2, 0, 2, 0,
    1863 3, 2, 0, 1, 0, 3, 1, 2, 1, 1,
    1864 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
    1865 1, 1, 1, 1, 1, 1, 1, 1, 1, 2,
    1866 4, 5, 5, 3, 2, 2, 1, 3, 1, 3,
    1867 1, 0, 4, 3, 3, 4, 4, 3, 2, 2,
    1868 2, 2, 2, 2, 2, 2, 2, 2, 6, 5,
    1869 8, 6, 6, 6, 6, 6, 8, 8, 3, 1,
    1870 1, 1, 1, 2, 2, 4, 2, 1, 4, 2,
    1871 4, 0, 7, 0, 7, 0, 7, 0, 7, 3,
    1872 4, 0, 1, 1, 1, 3, 3, 3, 3, 3,
    1873 3, 1, 0, 1, 1, 1, 0, 2, 3, 1,
    1874 1, 3, 1, 0, 8, 1, 1, 3, 1, 1,
    1875 2, 0, 1, 1, 0, 4, 0, 1, 1, 1,
    1876 1, 1, 1, 1, 1, 1, 3, 1, 5, 1,
    1877 1, 1, 1, 2, 2, 2, 3, 2, 0, 1,
    1878 2, 2, 3, 9, 9, 8, 13, 1, 1, 6,
    1879 5, 2, 6, 7, 1, 3, 1, 0, 2, 1,
    1880 5, 5, 5, 2, 4, 4, 6, 4, 4, 4,
    1881 4, 6, 6, 2, 7, 1, 2, 0, 1, 0,
    1882 3, 6, 3, 6, 2, 4, 6, 4
    15161883 };
    15171884
    1518 static const short yydefgoto[] = { 84,
    1519 258, 274, 275, 276, 277, 196, 197, 226, 198, 23,
    1520 13, 35, 446, 310, 391, 410, 333, 392, 85, 86,
    1521 199, 88, 89, 118, 208, 343, 301, 344, 107, 519,
    1522 1, 2, 280, 253, 251, 252, 61, 177, 48, 102,
    1523 181, 90, 357, 286, 287, 288, 36, 94, 14, 42,
    1524 15, 59, 16, 26, 362, 302, 91, 304, 419, 17,
    1525 38, 39, 169, 494, 96, 233, 450, 451, 170, 171,
    1526 371, 172, 173
    1885 /* YYDEFACT[STATE-NAME] -- Default rule to reduce with in state
    1886 STATE-NUM when YYTABLE doesn't specify something else to do. Zero
    1887 means the default is an error. */
    1888 static const unsigned short int yydefact[] =
    1889 {
    1890 151, 0, 48, 137, 1, 136, 184, 41, 42, 43,
    1891 44, 45, 46, 47, 0, 49, 208, 133, 134, 208,
    1892 163, 164, 0, 0, 0, 48, 0, 139, 181, 0,
    1893 0, 50, 51, 52, 53, 54, 55, 0, 0, 209,
    1894 205, 40, 178, 179, 180, 204, 0, 0, 0, 0,
    1895 149, 0, 0, 0, 0, 0, 0, 0, 39, 182,
    1896 183, 49, 152, 135, 56, 2, 3, 69, 73, 74,
    1897 75, 76, 77, 78, 79, 80, 81, 82, 83, 84,
    1898 85, 86, 0, 0, 0, 0, 199, 0, 0, 68,
    1899 87, 72, 200, 88, 175, 176, 177, 249, 207, 0,
    1900 0, 0, 0, 162, 150, 140, 138, 130, 131, 0,
    1901 0, 0, 0, 185, 89, 0, 0, 71, 94, 96,
    1902 0, 0, 101, 95, 248, 0, 229, 0, 0, 0,
    1903 0, 49, 217, 218, 6, 7, 8, 9, 10, 11,
    1904 12, 13, 14, 15, 16, 17, 18, 19, 20, 21,
    1905 22, 23, 0, 0, 0, 0, 0, 0, 0, 24,
    1906 25, 26, 0, 0, 0, 0, 0, 0, 0, 0,
    1907 0, 0, 206, 49, 221, 0, 245, 157, 154, 153,
    1908 155, 156, 158, 161, 0, 145, 147, 143, 73, 74,
    1909 75, 76, 77, 78, 79, 80, 81, 82, 83, 0,
    1910 0, 0, 0, 141, 0, 0, 0, 93, 173, 100,
    1911 98, 0, 0, 233, 228, 211, 210, 0, 0, 30,
    1912 34, 29, 33, 28, 32, 27, 31, 35, 36, 0,
    1913 0, 59, 59, 254, 0, 0, 243, 0, 0, 0,
    1914 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    1915 0, 0, 0, 159, 64, 64, 64, 115, 116, 4,
    1916 5, 113, 114, 117, 112, 108, 109, 0, 0, 0,
    1917 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    1918 0, 111, 110, 64, 70, 70, 97, 172, 166, 169,
    1919 170, 0, 0, 90, 188, 189, 190, 195, 191, 192,
    1920 193, 194, 186, 0, 197, 202, 201, 203, 0, 212,
    1921 0, 0, 0, 250, 0, 252, 247, 0, 0, 0,
    1922 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    1923 0, 0, 0, 0, 160, 0, 146, 148, 144, 0,
    1924 0, 0, 0, 0, 0, 103, 129, 0, 0, 107,
    1925 0, 104, 0, 0, 0, 0, 142, 91, 92, 165,
    1926 167, 0, 62, 99, 187, 0, 0, 0, 0, 0,
    1927 0, 0, 0, 0, 257, 0, 0, 235, 0, 237,
    1928 240, 0, 0, 238, 239, 0, 0, 0, 234, 0,
    1929 255, 0, 0, 0, 66, 64, 247, 0, 0, 0,
    1930 0, 0, 0, 102, 105, 106, 0, 0, 0, 0,
    1931 171, 168, 63, 57, 0, 196, 0, 0, 227, 59,
    1932 60, 59, 224, 246, 0, 0, 0, 0, 0, 230,
    1933 231, 232, 227, 0, 61, 67, 65, 0, 0, 0,
    1934 0, 0, 0, 128, 0, 0, 0, 0, 0, 174,
    1935 0, 0, 0, 226, 0, 0, 251, 253, 0, 0,
    1936 0, 236, 241, 242, 0, 256, 119, 0, 0, 0,
    1937 0, 0, 0, 0, 0, 0, 58, 198, 0, 0,
    1938 0, 225, 222, 0, 244, 118, 0, 125, 0, 0,
    1939 121, 122, 123, 124, 0, 215, 0, 0, 0, 223,
    1940 0, 0, 0, 213, 0, 214, 0, 0, 120, 126,
    1941 127, 0, 0, 0, 0, 0, 0, 220, 0, 0,
    1942 219, 216
    15271943 };
    15281944
    1529 static const short yypact[] = {-32768,
    1530 184, 610,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
    1531 -32768, -46, 135, -1,-32768,-32768, -18,-32768,-32768, 15,
    1532 -72, -24, 51, -62,-32768, 19, 61, 98,-32768,-32768,
    1533 -32768,-32768,-32768,-32768, 1070, -20,-32768,-32768, 85,-32768,
    1534 -32768,-32768,-32768, 33, 56, 60, 62,-32768, 54, 61,
    1535 1070, 90, 90, 90, 90,-32768,-32768,-32768, 135,-32768,
    1536 -32768,-32768,-32768,-32768, 58,-32768,-32768,-32768,-32768,-32768,
    1537 -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, 173,
    1538 174, 176, 576,-32768, 85, 66,-32768,-32768, -26,-32768,
    1539 -32768,-32768,-32768,-32768, 1245,-32768, 157, 83, 179, 162,
    1540 166,-32768,-32768,-32768,-32768,-32768, 1111, 1111, 1111, 1152,
    1541 -32768,-32768, 75, 76,-32768,-32768, -26, -78, 80, 865,
    1542 -32768,-32768, 1111,-32768, 138, 1193, 24, 151, 135,-32768,
    1543 -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
    1544 -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, 1111,
    1545 1111, 1111, 1111, 1111, 1111, 1111,-32768,-32768, 1111, 1111,
    1546 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111,-32768, 135,
    1547 -32768, 41,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
    1548 -10,-32768,-32768,-32768, 115, 145, 202, 147, 203, 149,
    1549 204, 152, 206, 212, 213, 154, 217, 215, 419,-32768,
    1550 1111, 1111, 1111,-32768, 906,-32768, 118, 116, 643,-32768,
    1551 -32768, 58,-32768, 643, 643,-32768,-32768,-32768,-32768,-32768,
    1552 -32768,-32768,-32768,-32768,-32768, 643, 1070, 120, 121,-32768,
    1553 643, 124, 129, 208, 131, 133, 134, 140, 141, 142,
    1554 143, 643, 643, 643, 144, 1070, 1111, 1111, 236,-32768,
    1555 148, 148, 148,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
    1556 -32768,-32768,-32768, 150, 153, 155, 156, 159, 160, 947,
    1557 1152, 596, 237, 161, 164, 175, 177,-32768,-32768, 148,
    1558 -81, -38, -26,-32768, 85,-32768, 180, 146, 988,-32768,
    1559 -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, 201, 1152,
    1560 -32768,-32768,-32768,-32768, 182,-32768, 183, 643, -2,-32768,
    1561 6,-32768, 186, 643, 185, 1111, 1111, 1111, 1111, 1111,
    1562 1111, 1111, 1111, 187, 188, 190, 1111, 643, 643, 191,
    1563 -32768, -23,-32768,-32768,-32768, 1152, 1152, 1152, 1152, 1152,
    1564 1152,-32768,-32768, -9, -52,-32768, -76,-32768, 1152, 1152,
    1565 1152, 1152,-32768,-32768,-32768,-32768,-32768, 1029, 231,-32768,
    1566 -32768, 243, -14, 247, 249, 193, 643, 294, 643, 1111,
    1567 -32768, 196, 643,-32768, 197,-32768,-32768, 199, 205,-32768,
    1568 -32768, 643, 643, 643,-32768, 200,-32768, 1111, 291, 313,
    1569 -32768, 148, 186, 288, 211, 216, 218, 219, 1152,-32768,
    1570 -32768,-32768, 220, 226, 232, 233,-32768,-32768,-32768, 269,
    1571 234,-32768, 643, 643, 1111, 240,-32768, 240,-32768, 241,
    1572 643, 242, 1111, 1111, 1111,-32768,-32768,-32768, 1111, 643,
    1573 -32768,-32768,-32768, 214, 1111, 1152, 1152, 1152, 1152,-32768,
    1574 1152, 1152, 1152, 1152, 341,-32768, 327, 246, 239, 241,
    1575 244, 305,-32768,-32768, 1111, 245, 643,-32768,-32768,-32768,
    1576 252,-32768,-32768, 253, 250, 254, 259, 260, 262, 264,
    1577 265, 267,-32768,-32768, 342, 14, 340,-32768,-32768, 257,
    1578 -32768,-32768, 1152,-32768, 1152, 1152,-32768,-32768,-32768,-32768,
    1579 643,-32768, 751, 65, 366,-32768, 274, 278, 279,-32768,
    1580 283,-32768, 751, 643,-32768,-32768,-32768, 377, 285, 325,
    1581 643, 382, 383,-32768, 643, 643,-32768,-32768, 405, 406,
    1582 -32768
    1945 /* YYDEFGOTO[NTERM-NUM]. */
    1946 static const short int yydefgoto[] =
    1947 {
    1948 -1, 86, 261, 277, 278, 279, 280, 199, 200, 229,
    1949 201, 25, 15, 37, 449, 313, 394, 413, 336, 395,
    1950 87, 88, 202, 90, 91, 120, 211, 346, 304, 347,
    1951 109, 1, 2, 3, 283, 256, 254, 255, 63, 180,
    1952 50, 104, 184, 92, 360, 289, 290, 291, 38, 96,
    1953 16, 44, 17, 61, 18, 28, 365, 305, 93, 307,
    1954 422, 19, 40, 41, 172, 497, 98, 236, 453, 454,
    1955 173, 174, 374, 175, 176
    15831956 };
    15841957
    1585 static const short yypgoto[] = {-32768,
    1586 -32768, 312, 314, 315, 316, -127, -126, -462,-32768, 369,
    1587 389, -87,-32768, -225, 55,-32768, -245,-32768, -48,-32768,
    1588 -35,-32768, -66, 293,-32768, -100, 222, -253, 59,-32768,
    1589 -32768,-32768,-32768,-32768,-32768,-32768, 365,-32768,-32768,-32768,
    1590 -32768, 4,-32768, 68,-32768,-32768, 357,-32768,-32768,-32768,
    1591 -32768,-32768, 415,-32768,-32768, -453, -55, 64, -103,-32768,
    1592 401,-32768,-32768,-32768,-32768,-32768, 49, -7,-32768,-32768,
    1593 30,-32768,-32768
    1958 /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
    1959 STATE-NUM. */
    1960 #define YYPACT_NINF -463
    1961 static const short int yypact[] =
    1962 {
    1963 -463, 19, 202, 739, -463, -463, -463, -463, -463, -463,
    1964 -463, -463, -463, -463, -23, 340, 60, -463, -463, -12,
    1965 -463, -463, -8, 40, 115, 123, 66, -463, 67, 158,
    1966 179, -463, -463, -463, -463, -463, -463, 1021, -14, -463,
    1967 -463, 120, -463, -463, -463, -463, 70, 71, 73, 77,
    1968 -463, 76, 158, 1021, 36, 36, 36, 36, -463, -463,
    1969 -463, 340, -463, -463, -463, -463, -463, 75, -463, -463,
    1970 -463, -463, -463, -463, -463, -463, -463, -463, -463, -463,
    1971 -463, -463, 193, 194, 195, 577, -463, 120, 84, -463,
    1972 -463, -84, -463, -463, -463, -463, -463, 1197, -463, 180,
    1973 31, 201, 183, 192, -463, -463, -463, -463, -463, 1062,
    1974 1062, 1062, 1103, -463, -463, 100, 101, -463, -463, -84,
    1975 -91, 105, 853, -463, -463, 1062, -463, 164, 1144, 30,
    1976 255, 340, -463, -463, -463, -463, -463, -463, -463, -463,
    1977 -463, -463, -463, -463, -463, -463, -463, -463, -463, -463,
    1978 -463, -463, 1062, 1062, 1062, 1062, 1062, 1062, 1062, -463,
    1979 -463, -463, 1062, 1062, 1062, 1062, 1062, 1062, 1062, 1062,
    1980 1062, 1062, -463, 340, -463, 51, -463, -463, -463, -463,
    1981 -463, -463, -463, -463, -74, -463, -463, -463, 125, 153,
    1982 220, 155, 222, 159, 224, 171, 225, 223, 227, 175,
    1983 228, 229, 420, -463, 1062, 1062, 1062, -463, 894, -463,
    1984 116, 117, 645, -463, -463, 75, -463, 645, 645, -463,
    1985 -463, -463, -463, -463, -463, -463, -463, -463, -463, 645,
    1986 1021, 140, 141, -463, 645, 138, 143, 226, 144, 146,
    1987 148, 161, 162, 163, 166, 645, 645, 645, 177, 1021,
    1988 1062, 1062, 249, -463, 182, 182, 182, -463, -463, -463,
    1989 -463, -463, -463, -463, -463, -463, -463, 178, 181, 184,
    1990 185, 186, 187, 87, 1103, 597, 270, 188, 189, 197,
    1991 199, -463, -463, 182, -36, -56, -84, -463, 120, -463,
    1992 196, 200, 939, -463, -463, -463, -463, -463, -463, -463,
    1993 -463, -463, 236, 1103, -463, -463, -463, -463, 205, -463,
    1994 210, 645, -9, -463, -3, -463, 211, 645, 191, 1062,
    1995 1062, 1062, 1062, 1062, 1062, 1062, 1062, 212, 216, 217,
    1996 1062, 645, 645, 218, -463, -20, -463, -463, -463, 1103,
    1997 1103, 1103, 1103, 1103, 1103, -463, -463, -50, -59, -463,
    1998 -31, -463, 1103, 1103, 1103, 1103, -463, -463, -463, -463,
    1999 -463, 980, 278, -463, -463, 293, 26, 313, 314, 230,
    2000 645, 337, 645, 1062, -463, 231, 645, -463, 233, -463,
    2001 -463, 234, 237, -463, -463, 645, 645, 645, -463, 238,
    2002 -463, 1062, 332, 353, -463, 182, 211, 322, 246, 247,
    2003 248, 250, 1103, -463, -463, -463, 251, 256, 257, 259,
    2004 -463, -463, -463, 307, 260, -463, 645, 645, 1062, 262,
    2005 -463, 262, -463, 263, 645, 265, 1062, 1062, 1062, -463,
    2006 -463, -463, 1062, 645, -463, -463, -463, 252, 1062, 1103,
    2007 1103, 1103, 1103, -463, 1103, 1103, 1103, 1103, 378, -463,
    2008 359, 273, 266, 263, 274, 339, -463, -463, 1062, 276,
    2009 645, -463, -463, -463, 280, -463, -463, 281, 285, 284,
    2010 296, 297, 295, 298, 299, 300, -463, -463, 393, 15,
    2011 379, -463, -463, 301, -463, -463, 1103, -463, 1103, 1103,
    2012 -463, -463, -463, -463, 645, -463, 738, 65, 398, -463,
    2013 302, 305, 306, -463, 312, -463, 738, 645, -463, -463,
    2014 -463, 407, 315, 355, 645, 408, 412, -463, 645, 645,
    2015 -463, -463
    15942016 };
    15952017
    1596
    1597 #define YYLAST 1357
    1598
    1599
    1600 static const short yytable[] = { 87,
    1601 224, 225, 104, 312, 37, 24, 334, 335, 92, 200,
    1602 389, 40, 367, 493, 27, 87, 117, 345, 347, 210,
    1603 369, 37, 213, 216, 217, 218, 219, 220, 221, 222,
    1604 223, 503, 214, 390, 353, 203, 50, 399, 354, 501,
    1605 49, 227, 24, 121, 215, 204, 363, 402, 230, 509,
    1606 56, 234, 235, 117, 368, 236, 237, 238, 239, 240,
    1607 241, 399, 368, 57, 245, 58, 44, 45, 46, 401,
    1608 51, 182, 183, 184, 216, 217, 218, 219, 220, 221,
    1609 222, 223, 246, 355, 60, 47, 121, 209, 119, -68,
    1610 209, 5, 6, 7, 8, 52, 10, 53, 121, 399,
    1611 54, 62, 93, 249, 399, 41, 18, 412, 19, 250,
    1612 400, 108, 109, 110, 228, 229, 209, 231, 232, 209,
    1613 209, 105, 106, 209, 209, 209, 209, 209, 209, 242,
    1614 243, 244, 209, 492, 281, 282, 283, 175, 176, 247,
    1615 248, 254, 255, 279, 330, 97, 433, -28, -28, -27,
    1616 -27, -26, -26, 303, -25, -25, 256, 257, 303, 303,
    1617 216, 217, 218, 219, 220, 221, 222, 223, 98, 285,
    1618 303, 101, 99, -69, 100, 303, 112, 113, 308, 114,
    1619 174, 120, 178, -130, 502, 179, 303, 303, 303, 180,
    1620 453, 87, 454, 201, 202, 205, 211, 328, 28, 29,
    1621 30, 31, 32, 33, 34, -32, -31, -30, 3, -29,
    1622 87, 329, 209, 375, 4, 377, 378, 379, -35, -36,
    1623 259, 260, 283, 385, 5, 6, 7, 8, 9, 10,
    1624 11, 289, 290, 309, 311, 393, 394, 395, 396, 397,
    1625 398, 314, 315, 316, 317, 12, 318, 319, 403, 404,
    1626 405, 406, 303, 320, 321, 322, 323, 327, 303, 331,
    1627 348, 332, 359, 361, 389, 336, 411, 413, 337, 414,
    1628 338, 339, 303, 303, 340, 341, 349, 305, 306, 350,
    1629 374, 209, 376, 209, 209, 209, 380, 381, 356, 307,
    1630 351, 209, 352, 358, 313, 364, 365, 417, 440, 370,
    1631 382, 383, 373, 384, 388, 324, 325, 326, 415, 421,
    1632 423, 303, 424, 303, 431, 429, 432, 303, 425, 458,
    1633 459, 460, 285, 435, 436, 445, 303, 303, 303, 437,
    1634 463, 438, 439, 441, 209, 465, 466, 467, 468, 442,
    1635 469, 470, 471, 472, 473, 443, 444, 447, 224, 225,
    1636 474, 478, 430, 452, 455, 457, 476, 303, 303, 475,
    1637 477, 368, 491, 483, 479, 303, 224, 225, 481, 482,
    1638 484, 366, 485, 486, 303, 495, 496, 372, 487, 209,
    1639 488, 489, 497, 490, 498, 499, 504, 209, 209, 209,
    1640 505, 386, 387, 209, 506, 507, 508, 511, 512, 464,
    1641 513, 303, 515, 516, 520, 521, 165, 95, 166, 167,
    1642 168, 55, 207, 409, 103, 111, 25, 43, 420, 209,
    1643 278, 461, 434, 63, 64, 408, 0, 0, 0, 0,
    1644 416, 0, 418, 0, 0, 303, 422, 0, 0, 0,
    1645 18, 0, 19, 0, 261, 426, 427, 428, 303, 0,
    1646 0, 0, 0, 0, 0, 303, 262, 263, 0, 303,
    1647 303, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    1648 0, 0, 0, 0, 0, 0, 448, 449, 0, 0,
    1649 0, 0, 0, 0, 456, 0, 0, 0, 0, 0,
    1650 0, 0, 0, 462, 0, 0, 132, 133, 134, 135,
    1651 136, 137, 138, 139, 140, 141, 142, 143, 144, 145,
    1652 146, 147, 148, 149, 0, 0, 0, 0, 0, 264,
    1653 480, 265, 266, 157, 158, 0, 267, 268, 269, 0,
    1654 0, 0, 0, 0, 0, 0, 270, 0, 0, 271,
    1655 0, 272, 0, 0, 273, 0, 0, 0, 0, 0,
    1656 0, 0, 0, 0, 500, 0, 0, 0, 0, 0,
    1657 0, 0, 0, 0, 0, 0, 0, 510, 0, 0,
    1658 0, 0, 0, 0, 514, 0, 0, 0, 517, 518,
    1659 63, 64, 0, 115, 66, 67, 68, 69, 70, 71,
    1660 72, 73, 74, 75, 76, 77, 78, 18, 0, 19,
    1661 63, 64, 0, 115, 185, 186, 187, 188, 189, 190,
    1662 191, 192, 193, 194, 195, 77, 78, 18, 0, 19,
    1663 0, 0, 0, 79, 0, 0, 0, 0, 0, -38,
    1664 0, 18, 0, 19, 0, 0, 0, 0, 0, 0,
    1665 4, -38, -38, 79, 0, 291, 292, 63, 64, 293,
    1666 -38, -38, -38, -38, -38, -38, -38, 0, 0, -38,
    1667 20, 0, 0, 0, 18, 0, 19, 21, 294, 295,
    1668 296, 22, 0, 0, 0, 0, 0, 0, 0, 0,
    1669 297, 298, 0, 0, 0, 0, 0, 0, 0, 0,
    1670 80, 0, 0, 81, 0, 0, 82, 0, 83, 116,
    1671 0, 0, 0, 299, 0, 0, 0, 0, 0, 0,
    1672 80, 0, 0, 81, 0, 0, 82, 0, 83, 346,
    1673 132, 133, 134, 135, 136, 137, 138, 139, 140, 141,
    1674 142, 143, 144, 145, 146, 147, 148, 149, 0, 0,
    1675 0, 0, 0, 264, 0, 265, 266, 157, 158, 0,
    1676 267, 268, 269, 291, 292, 0, 0, 293, 0, 0,
    1677 0, 0, 0, 300, 0, 0, 0, 0, 0, 0,
    1678 0, 0, 0, 0, 0, 0, 294, 295, 296, 0,
    1679 0, 0, 0, 0, 0, 0, 0, 0, 297, 298,
    1680 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    1681 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    1682 0, 299, 0, 0, 0, 0, 0, 0, 0, 0,
    1683 0, 0, 0, 0, 0, 0, 0, 0, 132, 133,
    1684 134, 135, 136, 137, 138, 139, 140, 141, 142, 143,
    1685 144, 145, 146, 147, 148, 149, 0, 0, 0, 0,
    1686 0, 264, 0, 265, 266, 157, 158, 0, 267, 268,
    1687 269, 0, 0, 0, 0, 0, 0, 0, 0, 63,
    1688 64, 300, 115, 66, 67, 68, 69, 70, 71, 72,
    1689 73, 74, 75, 76, 77, 78, 18, 0, 19, 0,
    1690 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    1691 0, 206, 0, 0, 0, 0, 0, 0, 0, 0,
    1692 63, 64, 79, 115, 66, 67, 68, 69, 70, 71,
    1693 72, 73, 74, 75, 76, 77, 78, 18, 0, 19,
    1694 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    1695 0, 0, 284, 0, 0, 0, 0, 0, 0, 0,
    1696 0, 63, 64, 79, 115, 185, 186, 187, 188, 189,
    1697 190, 191, 192, 193, 194, 195, 77, 78, 18, 0,
    1698 19, 0, 0, 0, 0, 0, 0, 0, 0, 80,
    1699 0, 0, 81, 0, 0, 82, 0, 83, 0, 0,
    1700 0, 0, 63, 64, 79, 115, 66, 67, 68, 69,
    1701 70, 71, 72, 73, 74, 75, 76, 77, 78, 18,
    1702 0, 19, 0, 0, 0, 0, 0, 0, 0, 0,
    1703 80, 0, 0, 81, 360, 0, 82, 0, 83, 0,
    1704 0, 0, 0, 63, 64, 79, 115, 66, 67, 68,
    1705 69, 70, 71, 72, 73, 74, 75, 76, 77, 78,
    1706 18, 0, 19, 0, 0, 0, 0, 0, 0, 0,
    1707 0, 80, 0, 0, 81, 407, 342, 82, 0, 83,
    1708 0, 0, 0, 0, 63, 64, 79, 65, 66, 67,
    1709 68, 69, 70, 71, 72, 73, 74, 75, 76, 77,
    1710 78, 18, 0, 19, 0, 0, 0, 0, 0, 0,
    1711 0, 0, 80, 0, 0, 81, 0, 0, 82, 0,
    1712 83, 0, 0, 0, 0, 63, 64, 79, 115, 66,
    1713 67, 68, 69, 70, 71, 72, 73, 74, 75, 76,
    1714 77, 78, 18, 0, 19, 0, 0, 0, 0, 0,
    1715 0, 0, 0, 80, 0, 0, 81, 0, 0, 82,
    1716 0, 83, 0, 0, 0, 0, 63, 64, 79, 115,
    1717 185, 186, 187, 188, 189, 190, 191, 192, 193, 194,
    1718 195, 77, 78, 18, 0, 19, 0, 0, 0, 0,
    1719 0, 0, 0, 0, 80, 0, 0, 81, 0, 0,
    1720 82, 0, 83, 0, 0, 0, 0, 63, 64, 79,
    1721 212, 66, 67, 68, 69, 70, 71, 72, 73, 74,
    1722 75, 76, 77, 78, 18, 0, 19, 0, 0, 0,
    1723 0, 0, 0, 0, 0, 80, 0, 0, 81, 0,
    1724 0, 82, 0, 83, 0, 0, 0, 0, 0, 0,
    1725 79, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    1726 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    1727 0, 0, 0, 0, 0, 0, 80, 0, 0, 81,
    1728 0, 0, 82, 0, 83, 0, 0, 0, 0, 122,
    1729 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    1730 0, 0, 0, 123, 0, 0, 0, 0, 0, 0,
    1731 0, 0, 0, 124, 125, 0, 0, 80, 0, 0,
    1732 81, 0, 0, 82, 0, 83, 126, 127, 128, 129,
    1733 130, 131, 132, 133, 134, 135, 136, 137, 138, 139,
    1734 140, 141, 142, 143, 144, 145, 146, 147, 148, 149,
    1735 150, 151, 152, 0, 0, 153, 154, 155, 156, 157,
    1736 158, 159, 160, 161, 162, 163, 164
    2018 /* YYPGOTO[NTERM-NUM]. */
    2019 static const short int yypgoto[] =
    2020 {
    2021 -463, -463, -463, 338, 342, 343, 344, -129, -128, -462,
    2022 -463, 395, 418, -118, -463, -225, 89, -463, -247, -463,
    2023 -49, -463, -37, -463, -82, 323, -463, -102, 253, -253,
    2024 83, -463, -463, -463, -463, -463, -463, -463, 400, -463,
    2025 -463, -463, -463, 2, -463, 92, -463, -463, 399, -463,
    2026 -463, -463, -463, -463, 451, -463, -463, -359, -57, 62,
    2027 -105, -463, 437, -463, -463, -463, -463, -463, 90, 32,
    2028 -463, -463, 69, -463, -463
    17372029 };
    17382030
    1739 static const short yycheck[] = { 35,
    1740 128, 128, 51, 229, 23, 2, 252, 253, 29, 110,
    1741 34, 30, 15, 476, 61, 51, 83, 271, 272, 123,
    1742 15, 23, 126, 10, 11, 12, 13, 14, 15, 16,
    1743 17, 494, 9, 57, 280, 114, 61, 114, 120, 493,
    1744 113, 129, 39, 125, 21, 124, 300, 124, 152, 503,
    1745 113, 155, 156, 120, 57, 159, 160, 161, 162, 163,
    1746 164, 114, 57, 45, 168, 47, 52, 53, 54, 122,
    1747 20, 107, 108, 109, 10, 11, 12, 13, 14, 15,
    1748 16, 17, 170, 122, 24, 71, 125, 123, 85, 116,
    1749 126, 41, 42, 43, 44, 45, 46, 47, 125, 114,
    1750 50, 4, 123, 114, 114, 124, 22, 122, 24, 120,
    1751 120, 53, 54, 55, 150, 151, 152, 153, 154, 155,
    1752 156, 32, 33, 159, 160, 161, 162, 163, 164, 165,
    1753 166, 167, 168, 120, 201, 202, 203, 55, 56, 99,
    1754 100, 27, 28, 199, 248, 113, 392, 3, 4, 3,
    1755 4, 3, 4, 209, 3, 4, 3, 4, 214, 215,
    1756 10, 11, 12, 13, 14, 15, 16, 17, 113, 205,
    1757 226, 118, 113, 116, 113, 231, 4, 4, 227, 4,
    1758 24, 116, 4, 0, 120, 24, 242, 243, 244, 24,
    1759 416, 227, 418, 119, 119, 116, 59, 246, 64, 65,
    1760 66, 67, 68, 69, 70, 4, 4, 4, 25, 4,
    1761 246, 247, 248, 317, 31, 319, 320, 321, 7, 7,
    1762 4, 7, 289, 327, 41, 42, 43, 44, 45, 46,
    1763 47, 114, 117, 114, 114, 336, 337, 338, 339, 340,
    1764 341, 118, 114, 36, 114, 62, 114, 114, 349, 350,
    1765 351, 352, 308, 114, 114, 114, 114, 114, 314, 24,
    1766 24, 114, 117, 63, 34, 116, 24, 21, 116, 21,
    1767 116, 116, 328, 329, 116, 116, 116, 214, 215, 116,
    1768 316, 317, 318, 319, 320, 321, 322, 323, 285, 226,
    1769 116, 327, 116, 114, 231, 114, 114, 4, 399, 114,
    1770 114, 114, 118, 114, 114, 242, 243, 244, 116, 114,
    1771 114, 367, 114, 369, 24, 116, 4, 373, 114, 423,
    1772 424, 425, 358, 36, 114, 57, 382, 383, 384, 114,
    1773 117, 114, 114, 114, 370, 436, 437, 438, 439, 114,
    1774 441, 442, 443, 444, 4, 114, 114, 114, 476, 476,
    1775 24, 455, 388, 114, 114, 114, 118, 413, 414, 114,
    1776 117, 57, 21, 114, 120, 421, 494, 494, 117, 117,
    1777 117, 308, 114, 114, 430, 36, 120, 314, 117, 415,
    1778 117, 117, 483, 117, 485, 486, 21, 423, 424, 425,
    1779 117, 328, 329, 429, 117, 117, 114, 21, 114, 435,
    1780 76, 457, 21, 21, 0, 0, 95, 39, 95, 95,
    1781 95, 23, 120, 359, 50, 59, 2, 17, 370, 455,
    1782 199, 429, 393, 5, 6, 358, -1, -1, -1, -1,
    1783 367, -1, 369, -1, -1, 491, 373, -1, -1, -1,
    1784 22, -1, 24, -1, 26, 382, 383, 384, 504, -1,
    1785 -1, -1, -1, -1, -1, 511, 38, 39, -1, 515,
    1786 516, -1, -1, -1, -1, -1, -1, -1, -1, -1,
    1787 -1, -1, -1, -1, -1, -1, 413, 414, -1, -1,
    1788 -1, -1, -1, -1, 421, -1, -1, -1, -1, -1,
    1789 -1, -1, -1, 430, -1, -1, 78, 79, 80, 81,
    1790 82, 83, 84, 85, 86, 87, 88, 89, 90, 91,
    1791 92, 93, 94, 95, -1, -1, -1, -1, -1, 101,
    1792 457, 103, 104, 105, 106, -1, 108, 109, 110, -1,
    1793 -1, -1, -1, -1, -1, -1, 118, -1, -1, 121,
    1794 -1, 123, -1, -1, 126, -1, -1, -1, -1, -1,
    1795 -1, -1, -1, -1, 491, -1, -1, -1, -1, -1,
    1796 -1, -1, -1, -1, -1, -1, -1, 504, -1, -1,
    1797 -1, -1, -1, -1, 511, -1, -1, -1, 515, 516,
    1798 5, 6, -1, 8, 9, 10, 11, 12, 13, 14,
    1799 15, 16, 17, 18, 19, 20, 21, 22, -1, 24,
    1800 5, 6, -1, 8, 9, 10, 11, 12, 13, 14,
    1801 15, 16, 17, 18, 19, 20, 21, 22, -1, 24,
    1802 -1, -1, -1, 48, -1, -1, -1, -1, -1, 20,
    1803 -1, 22, -1, 24, -1, -1, -1, -1, -1, -1,
    1804 31, 32, 33, 48, -1, 3, 4, 5, 6, 7,
    1805 41, 42, 43, 44, 45, 46, 47, -1, -1, 50,
    1806 51, -1, -1, -1, 22, -1, 24, 58, 26, 27,
    1807 28, 62, -1, -1, -1, -1, -1, -1, -1, -1,
    1808 38, 39, -1, -1, -1, -1, -1, -1, -1, -1,
    1809 115, -1, -1, 118, -1, -1, 121, -1, 123, 124,
    1810 -1, -1, -1, 61, -1, -1, -1, -1, -1, -1,
    1811 115, -1, -1, 118, -1, -1, 121, -1, 123, 124,
    1812 78, 79, 80, 81, 82, 83, 84, 85, 86, 87,
    1813 88, 89, 90, 91, 92, 93, 94, 95, -1, -1,
    1814 -1, -1, -1, 101, -1, 103, 104, 105, 106, -1,
    1815 108, 109, 110, 3, 4, -1, -1, 7, -1, -1,
    1816 -1, -1, -1, 121, -1, -1, -1, -1, -1, -1,
    1817 -1, -1, -1, -1, -1, -1, 26, 27, 28, -1,
    1818 -1, -1, -1, -1, -1, -1, -1, -1, 38, 39,
    1819 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
    1820 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
    1821 -1, 61, -1, -1, -1, -1, -1, -1, -1, -1,
    1822 -1, -1, -1, -1, -1, -1, -1, -1, 78, 79,
    1823 80, 81, 82, 83, 84, 85, 86, 87, 88, 89,
    1824 90, 91, 92, 93, 94, 95, -1, -1, -1, -1,
    1825 -1, 101, -1, 103, 104, 105, 106, -1, 108, 109,
    1826 110, -1, -1, -1, -1, -1, -1, -1, -1, 5,
    1827 6, 121, 8, 9, 10, 11, 12, 13, 14, 15,
    1828 16, 17, 18, 19, 20, 21, 22, -1, 24, -1,
    1829 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
    1830 -1, 37, -1, -1, -1, -1, -1, -1, -1, -1,
    1831 5, 6, 48, 8, 9, 10, 11, 12, 13, 14,
    1832 15, 16, 17, 18, 19, 20, 21, 22, -1, 24,
    1833 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
    1834 -1, -1, 37, -1, -1, -1, -1, -1, -1, -1,
    1835 -1, 5, 6, 48, 8, 9, 10, 11, 12, 13,
    1836 14, 15, 16, 17, 18, 19, 20, 21, 22, -1,
    1837 24, -1, -1, -1, -1, -1, -1, -1, -1, 115,
    1838 -1, -1, 118, -1, -1, 121, -1, 123, -1, -1,
    1839 -1, -1, 5, 6, 48, 8, 9, 10, 11, 12,
    1840 13, 14, 15, 16, 17, 18, 19, 20, 21, 22,
    1841 -1, 24, -1, -1, -1, -1, -1, -1, -1, -1,
    1842 115, -1, -1, 118, 37, -1, 121, -1, 123, -1,
    1843 -1, -1, -1, 5, 6, 48, 8, 9, 10, 11,
    1844 12, 13, 14, 15, 16, 17, 18, 19, 20, 21,
    1845 22, -1, 24, -1, -1, -1, -1, -1, -1, -1,
    1846 -1, 115, -1, -1, 118, 37, 120, 121, -1, 123,
    1847 -1, -1, -1, -1, 5, 6, 48, 8, 9, 10,
    1848 11, 12, 13, 14, 15, 16, 17, 18, 19, 20,
    1849 21, 22, -1, 24, -1, -1, -1, -1, -1, -1,
    1850 -1, -1, 115, -1, -1, 118, -1, -1, 121, -1,
    1851 123, -1, -1, -1, -1, 5, 6, 48, 8, 9,
    1852 10, 11, 12, 13, 14, 15, 16, 17, 18, 19,
    1853 20, 21, 22, -1, 24, -1, -1, -1, -1, -1,
    1854 -1, -1, -1, 115, -1, -1, 118, -1, -1, 121,
    1855 -1, 123, -1, -1, -1, -1, 5, 6, 48, 8,
    1856 9, 10, 11, 12, 13, 14, 15, 16, 17, 18,
    1857 19, 20, 21, 22, -1, 24, -1, -1, -1, -1,
    1858 -1, -1, -1, -1, 115, -1, -1, 118, -1, -1,
    1859 121, -1, 123, -1, -1, -1, -1, 5, 6, 48,
    1860 8, 9, 10, 11, 12, 13, 14, 15, 16, 17,
    1861 18, 19, 20, 21, 22, -1, 24, -1, -1, -1,
    1862 -1, -1, -1, -1, -1, 115, -1, -1, 118, -1,
    1863 -1, 121, -1, 123, -1, -1, -1, -1, -1, -1,
    1864 48, -1, -1, -1, -1, -1, -1, -1, -1, -1,
    1865 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
    1866 -1, -1, -1, -1, -1, -1, 115, -1, -1, 118,
    1867 -1, -1, 121, -1, 123, -1, -1, -1, -1, 35,
    1868 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
    1869 -1, -1, -1, 49, -1, -1, -1, -1, -1, -1,
    1870 -1, -1, -1, 59, 60, -1, -1, 115, -1, -1,
    1871 118, -1, -1, 121, -1, 123, 72, 73, 74, 75,
    1872 76, 77, 78, 79, 80, 81, 82, 83, 84, 85,
    1873 86, 87, 88, 89, 90, 91, 92, 93, 94, 95,
    1874 96, 97, 98, -1, -1, 101, 102, 103, 104, 105,
    1875 106, 107, 108, 109, 110, 111, 112
    2031 /* YYTABLE[YYPACT[STATE-NUM]]. What to do in state STATE-NUM. If
    2032 positive, shift that token. If negative, reduce the rule which
    2033 number is the opposite. If zero, do what YYDEFACT says.
    2034 If YYTABLE_NINF, syntax error. */
    2035 #define YYTABLE_NINF -133
    2036 static const short int yytable[] =
    2037 {
    2038 89, 227, 228, 119, 106, 26, 370, 315, 337, 338,
    2039 203, 39, 372, 230, 392, 94, 89, 496, 42, 4,
    2040 213, 348, 350, 216, 206, 219, 220, 221, 222, 223,
    2041 224, 225, 226, -70, 207, 506, 356, 393, 29, 217,
    2042 119, 252, 123, 26, 46, 47, 48, 253, 371, 233,
    2043 366, 218, 237, 238, 371, 249, 402, 239, 240, 241,
    2044 242, 243, 244, 49, 404, 402, 248, 358, 107, 108,
    2045 123, 403, 185, 186, 187, 219, 220, 221, 222, 223,
    2046 224, 225, 226, 39, 402, 357, 178, 179, 212, 121,
    2047 123, 212, 65, 66, 405, 117, 188, 189, 190, 191,
    2048 192, 193, 194, 195, 196, 197, 198, 79, 80, 20,
    2049 95, 21, 59, 43, 60, 231, 232, 212, 234, 235,
    2050 212, 212, 284, 285, 286, 212, 212, 212, 212, 212,
    2051 212, 245, 246, 247, 212, 81, 495, 504, 110, 111,
    2052 112, 402, 20, 53, 21, 282, 333, 512, 436, 415,
    2053 250, 251, 257, 258, 51, 306, -30, -30, -29, -29,
    2054 306, 306, -28, -28, 7, 8, 9, 10, 54, 12,
    2055 55, 288, 306, 56, -27, -27, 52, 306, 259, 260,
    2056 58, 311, 62, 64, 99, 100, 505, 101, 306, 306,
    2057 306, 102, -71, 89, 456, 103, 457, 114, 115, 116,
    2058 331, 122, -132, 82, 177, 181, 83, 182, 345, 84,
    2059 286, 85, 89, 332, 212, 378, 183, 380, 381, 382,
    2060 204, 205, 208, 214, -34, 388, -33, 5, -32, -31,
    2061 -37, 292, 262, 6, -38, 293, 263, 396, 397, 398,
    2062 399, 400, 401, 7, 8, 9, 10, 11, 12, 13,
    2063 406, 407, 408, 409, 306, 312, 314, 317, 318, 320,
    2064 306, 321, 319, 322, 14, 219, 220, 221, 222, 223,
    2065 224, 225, 226, 334, 306, 306, 323, 324, 325, 308,
    2066 309, 326, 377, 212, 379, 212, 212, 212, 383, 384,
    2067 359, 310, 330, 212, 351, 339, 316, 335, 340, 364,
    2068 443, 341, 342, 343, 344, 352, 353, 327, 328, 329,
    2069 376, 361, 392, 306, 354, 306, 355, 414, 362, 306,
    2070 367, 461, 462, 463, 288, 368, 373, 385, 306, 306,
    2071 306, 386, 387, 391, 416, 417, 212, 468, 469, 470,
    2072 471, 420, 472, 473, 474, 475, 424, 418, 426, 427,
    2073 227, 228, 428, 481, 433, 432, 434, 435, 438, 306,
    2074 306, 439, 440, 441, 448, 442, 444, 306, 227, 228,
    2075 466, 445, 446, 369, 447, 450, 306, 455, 458, 375,
    2076 460, 212, 476, 477, 500, 479, 501, 502, 478, 212,
    2077 212, 212, 480, 389, 390, 212, 371, 482, 484, 485,
    2078 486, 467, 487, 306, 30, 31, 32, 33, 34, 35,
    2079 36, 488, 489, 490, 494, 498, 491, 492, 493, 507,
    2080 508, 212, 499, 509, 510, 65, 66, 511, 514, 518,
    2081 515, 516, 419, 519, 421, 168, 97, 306, 425, 169,
    2082 170, 171, 20, 57, 21, 210, 264, 429, 430, 431,
    2083 306, 412, 105, 411, 27, 281, 45, 306, 265, 266,
    2084 113, 306, 306, 423, 464, 437, 0, 0, 0, 0,
    2085 0, 0, 0, 0, 0, 0, 0, 0, 451, 452,
    2086 0, 0, 0, 0, 0, 0, 459, 0, 0, 0,
    2087 0, 0, 0, 0, 0, 465, 0, 0, 134, 135,
    2088 136, 137, 138, 139, 140, 141, 142, 143, 144, 145,
    2089 146, 147, 148, 149, 150, 151, 0, 0, 0, 0,
    2090 0, 267, 483, 268, 269, 159, 160, 161, 0, 270,
    2091 271, 272, 0, 0, 0, 0, 0, 0, 0, 273,
    2092 0, 0, 274, 0, 275, 0, 0, 276, 0, 0,
    2093 0, 0, 0, 0, 0, 0, 503, 0, 0, 0,
    2094 0, 0, 0, 0, 0, 0, 0, 0, 0, 513,
    2095 0, 0, 0, 0, 0, 0, 517, 0, 0, 0,
    2096 520, 521, 65, 66, 0, 117, 68, 69, 70, 71,
    2097 72, 73, 74, 75, 76, 77, 78, 79, 80, 20,
    2098 0, 21, 65, 66, 0, 117, 188, 189, 190, 191,
    2099 192, 193, 194, 195, 196, 197, 198, 79, 80, 20,
    2100 0, 21, 0, 0, 0, 81, 0, 0, 0, 0,
    2101 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    2102 0, 0, 0, 0, 0, 81, 0, 0, 294, 295,
    2103 65, 66, 296, 0, 0, 0, 0, 0, 0, 0,
    2104 0, 0, 0, 0, 0, 0, 0, 20, 0, 21,
    2105 0, 297, 298, 299, 0, 0, 0, 0, 0, 0,
    2106 0, 0, 0, 300, 301, 0, 0, 0, 0, 0,
    2107 0, 0, 0, 82, 0, 0, 83, 0, 0, 84,
    2108 0, 85, 118, 0, 0, 0, 302, 0, 0, 0,
    2109 0, 0, 0, 82, 0, 0, 83, 0, 0, 84,
    2110 0, 85, 349, 134, 135, 136, 137, 138, 139, 140,
    2111 141, 142, 143, 144, 145, 146, 147, 148, 149, 150,
    2112 151, 294, 295, 0, 0, 296, 267, 0, 268, 269,
    2113 159, 160, 161, 0, 270, 271, 272, 0, 0, -40,
    2114 0, 20, 0, 21, 297, 298, 299, 303, 0, 0,
    2115 6, -40, -40, 0, 0, 0, 300, 301, 0, 0,
    2116 -40, -40, -40, -40, -40, -40, -40, 0, 0, -40,
    2117 22, 0, 0, 0, 0, 0, 0, 23, 0, 302,
    2118 0, 24, 0, 0, 0, 0, 0, 0, 0, 0,
    2119 0, 0, 0, 0, 0, 0, 134, 135, 136, 137,
    2120 138, 139, 140, 141, 142, 143, 144, 145, 146, 147,
    2121 148, 149, 150, 151, 0, 0, 0, 0, 0, 267,
    2122 0, 268, 269, 159, 160, 161, 0, 270, 271, 272,
    2123 0, 0, 0, 0, 0, 0, 0, 0, 65, 66,
    2124 303, 117, 68, 69, 70, 71, 72, 73, 74, 75,
    2125 76, 77, 78, 79, 80, 20, 0, 21, 0, 0,
    2126 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    2127 209, 0, 0, 0, 0, 0, 0, 0, 0, 65,
    2128 66, 81, 117, 68, 69, 70, 71, 72, 73, 74,
    2129 75, 76, 77, 78, 79, 80, 20, 0, 21, 0,
    2130 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    2131 0, 287, 0, 0, 0, 0, 0, 0, 0, 0,
    2132 0, 0, 81, 0, 65, 66, 0, 117, 68, 69,
    2133 70, 71, 72, 73, 74, 75, 76, 77, 78, 79,
    2134 80, 20, 0, 21, 0, 0, 0, 0, 0, 82,
    2135 0, 0, 83, 0, 0, 84, 363, 85, 0, 0,
    2136 0, 0, 0, 0, 0, 65, 66, 81, 117, 68,
    2137 69, 70, 71, 72, 73, 74, 75, 76, 77, 78,
    2138 79, 80, 20, 0, 21, 0, 0, 0, 0, 0,
    2139 82, 0, 0, 83, 0, 0, 84, 410, 85, 0,
    2140 0, 0, 0, 0, 0, 0, 65, 66, 81, 67,
    2141 68, 69, 70, 71, 72, 73, 74, 75, 76, 77,
    2142 78, 79, 80, 20, 0, 21, 0, 0, 0, 0,
    2143 0, 0, 0, 0, 0, 82, 0, 0, 83, 0,
    2144 0, 84, 0, 85, 0, 0, 0, 65, 66, 81,
    2145 117, 68, 69, 70, 71, 72, 73, 74, 75, 76,
    2146 77, 78, 79, 80, 20, 0, 21, 0, 0, 0,
    2147 0, 0, 0, 0, 0, 0, 82, 0, 0, 83,
    2148 0, 0, 84, 0, 85, 0, 0, 0, 65, 66,
    2149 81, 117, 188, 189, 190, 191, 192, 193, 194, 195,
    2150 196, 197, 198, 79, 80, 20, 0, 21, 0, 0,
    2151 0, 0, 0, 0, 0, 0, 0, 82, 0, 0,
    2152 83, 0, 0, 84, 0, 85, 0, 0, 0, 65,
    2153 66, 81, 215, 68, 69, 70, 71, 72, 73, 74,
    2154 75, 76, 77, 78, 79, 80, 20, 0, 21, 0,
    2155 0, 0, 0, 0, 0, 0, 0, 0, 82, 0,
    2156 0, 83, 0, 0, 84, 0, 85, 0, 0, 0,
    2157 0, 0, 81, 0, 0, 0, 0, 0, 0, 0,
    2158 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    2159 0, 0, 0, 0, 0, 0, 0, 0, 0, 82,
    2160 0, 0, 83, 0, 0, 84, 0, 85, 0, 0,
    2161 0, 0, 124, 0, 0, 0, 0, 0, 0, 0,
    2162 0, 0, 0, 0, 0, 0, 125, 0, 0, 0,
    2163 0, 0, 0, 0, 0, 0, 126, 127, 0, 0,
    2164 82, 0, 0, 83, 0, 0, 84, 0, 85, 128,
    2165 129, 130, 131, 132, 133, 134, 135, 136, 137, 138,
    2166 139, 140, 141, 142, 143, 144, 145, 146, 147, 148,
    2167 149, 150, 151, 152, 153, 154, 0, 0, 155, 156,
    2168 157, 158, 159, 160, 161, 162, 163, 164, 165, 166,
    2169 167
    18762170 };
    1877 /* -*-C-*- Note some compilers choke on comments on `#line' lines. */
    1878 #line 3 "/usr/share/bison.simple"
    1879 /* This file comes from bison-1.28. */
    1880
    1881 /* Skeleton output parser for bison,
    1882 Copyright (C) 1984, 1989, 1990 Free Software Foundation, Inc.
    1883
    1884 This program is free software; you can redistribute it and/or modify
    1885 it under the terms of the GNU General Public License as published by
    1886 the Free Software Foundation; either version 2, or (at your option)
    1887 any later version.
    1888
    1889 This program is distributed in the hope that it will be useful,
    1890 but WITHOUT ANY WARRANTY; without even the implied warranty of
    1891 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
    1892 GNU General Public License for more details.
    1893
    1894 You should have received a copy of the GNU General Public License
    1895 along with this program; if not, write to the Free Software
    1896 Foundation, Inc., 59 Temple Place - Suite 330,
    1897 Boston, MA 02111-1307, USA. */
    1898
    1899 /* As a special exception, when this file is copied by Bison into a
    1900 Bison output file, you may use that output file without restriction.
    1901 This special exception was added by the Free Software Foundation
    1902 in version 1.24 of Bison. */
    1903
    1904 /* This is the parser code that is written into each bison parser
    1905 when the %semantic_parser declaration is not specified in the grammar.
    1906 It was written by Richard Stallman by simplifying the hairy parser
    1907 used when %semantic_parser is specified. */
    1908
    1909 #ifndef YYSTACK_USE_ALLOCA
    1910 #ifdef alloca
    1911 #define YYSTACK_USE_ALLOCA
    1912 #else /* alloca not defined */
    1913 #ifdef __GNUC__
    1914 #define YYSTACK_USE_ALLOCA
    1915 #define alloca __builtin_alloca
    1916 #else /* not GNU C. */
    1917 #if (!defined (__STDC__) && defined (sparc)) || defined (__sparc__) || defined (__sparc) || defined (__sgi) || (defined (__sun) && defined (__i386))
    1918 #define YYSTACK_USE_ALLOCA
    1919 #include
    1920 #else /* not sparc */
    1921 /* We think this test detects Watcom and Microsoft C. */
    1922 /* This used to test MSDOS, but that is a bad idea
    1923 since that symbol is in the user namespace. */
    1924 #if (defined (_MSDOS) || defined (_MSDOS_)) && !defined (__TURBOC__)
    1925 #if 0 /* No need for malloc.h, which pollutes the namespace;
    1926 instead, just don't use alloca. */
    1927 #include
    1928 #endif
    1929 #else /* not MSDOS, or __TURBOC__ */
    1930 #if defined(_AIX)
    1931 /* I don't know what this was needed for, but it pollutes the namespace.
    1932 So I turned it off. rms, 2 May 1997. */
    1933 /* #include */
    1934 #pragma alloca
    1935 #define YYSTACK_USE_ALLOCA
    1936 #else /* not MSDOS, or __TURBOC__, or _AIX */
    1937 #if 0
    1938 #ifdef __hpux /* haible@ilog.fr says this works for HPUX 9.05 and up,
    1939 and on HPUX 10. Eventually we can turn this on. */
    1940 #define YYSTACK_USE_ALLOCA
    1941 #define alloca __builtin_alloca
    1942 #endif /* __hpux */
    1943 #endif
    1944 #endif /* not _AIX */
    1945 #endif /* not MSDOS, or __TURBOC__ */
    1946 #endif /* not sparc */
    1947 #endif /* not GNU C */
    1948 #endif /* alloca not defined */
    1949 #endif /* YYSTACK_USE_ALLOCA not defined */
    1950
    1951 #ifdef YYSTACK_USE_ALLOCA
    1952 #define YYSTACK_ALLOC alloca
    1953 #else
    1954 #define YYSTACK_ALLOC malloc
    1955 #endif
    1956
    1957 /* Note: there must be only one dollar sign in this file.
    1958 It is replaced by the list of actions, each action
    1959 as one case of the switch. */
    2171
    2172 static const short int yycheck[] =
    2173 {
    2174 37, 130, 130, 85, 53, 3, 15, 232, 255, 256,
    2175 112, 23, 15, 131, 34, 29, 53, 479, 30, 0,
    2176 125, 274, 275, 128, 115, 10, 11, 12, 13, 14,
    2177 15, 16, 17, 117, 125, 497, 283, 57, 61, 9,
    2178 122, 115, 126, 41, 52, 53, 54, 121, 57, 154,
    2179 303, 21, 157, 158, 57, 173, 115, 162, 163, 164,
    2180 165, 166, 167, 71, 123, 115, 171, 123, 32, 33,
    2181 126, 121, 109, 110, 111, 10, 11, 12, 13, 14,
    2182 15, 16, 17, 23, 115, 121, 55, 56, 125, 87,
    2183 126, 128, 5, 6, 125, 8, 9, 10, 11, 12,
    2184 13, 14, 15, 16, 17, 18, 19, 20, 21, 22,
    2185 124, 24, 45, 125, 47, 152, 153, 154, 155, 156,
    2186 157, 158, 204, 205, 206, 162, 163, 164, 165, 166,
    2187 167, 168, 169, 170, 171, 48, 121, 496, 55, 56,
    2188 57, 115, 22, 20, 24, 202, 251, 506, 395, 123,
    2189 99, 100, 27, 28, 114, 212, 3, 4, 3, 4,
    2190 217, 218, 3, 4, 41, 42, 43, 44, 45, 46,
    2191 47, 208, 229, 50, 3, 4, 61, 234, 3, 4,
    2192 114, 230, 24, 4, 114, 114, 121, 114, 245, 246,
    2193 247, 114, 117, 230, 419, 119, 421, 4, 4, 4,
    2194 249, 117, 0, 116, 24, 4, 119, 24, 121, 122,
    2195 292, 124, 249, 250, 251, 320, 24, 322, 323, 324,
    2196 120, 120, 117, 59, 4, 330, 4, 25, 4, 4,
    2197 7, 115, 4, 31, 7, 118, 7, 339, 340, 341,
    2198 342, 343, 344, 41, 42, 43, 44, 45, 46, 47,
    2199 352, 353, 354, 355, 311, 115, 115, 119, 115, 115,
    2200 317, 115, 36, 115, 62, 10, 11, 12, 13, 14,
    2201 15, 16, 17, 24, 331, 332, 115, 115, 115, 217,
    2202 218, 115, 319, 320, 321, 322, 323, 324, 325, 326,
    2203 288, 229, 115, 330, 24, 117, 234, 115, 117, 63,
    2204 402, 117, 117, 117, 117, 117, 117, 245, 246, 247,
    2205 119, 115, 34, 370, 117, 372, 117, 24, 118, 376,
    2206 115, 426, 427, 428, 361, 115, 115, 115, 385, 386,
    2207 387, 115, 115, 115, 21, 21, 373, 439, 440, 441,
    2208 442, 4, 444, 445, 446, 447, 115, 117, 115, 115,
    2209 479, 479, 115, 458, 391, 117, 24, 4, 36, 416,
    2210 417, 115, 115, 115, 57, 115, 115, 424, 497, 497,
    2211 118, 115, 115, 311, 115, 115, 433, 115, 115, 317,
    2212 115, 418, 4, 24, 486, 119, 488, 489, 115, 426,
    2213 427, 428, 118, 331, 332, 432, 57, 121, 118, 118,
    2214 115, 438, 118, 460, 64, 65, 66, 67, 68, 69,
    2215 70, 115, 115, 118, 21, 36, 118, 118, 118, 21,
    2216 118, 458, 121, 118, 118, 5, 6, 115, 21, 21,
    2217 115, 76, 370, 21, 372, 97, 41, 494, 376, 97,
    2218 97, 97, 22, 25, 24, 122, 26, 385, 386, 387,
    2219 507, 362, 52, 361, 3, 202, 19, 514, 38, 39,
    2220 61, 518, 519, 373, 432, 396, -1, -1, -1, -1,
    2221 -1, -1, -1, -1, -1, -1, -1, -1, 416, 417,
    2222 -1, -1, -1, -1, -1, -1, 424, -1, -1, -1,
    2223 -1, -1, -1, -1, -1, 433, -1, -1, 78, 79,
    2224 80, 81, 82, 83, 84, 85, 86, 87, 88, 89,
    2225 90, 91, 92, 93, 94, 95, -1, -1, -1, -1,
    2226 -1, 101, 460, 103, 104, 105, 106, 107, -1, 109,
    2227 110, 111, -1, -1, -1, -1, -1, -1, -1, 119,
    2228 -1, -1, 122, -1, 124, -1, -1, 127, -1, -1,
    2229 -1, -1, -1, -1, -1, -1, 494, -1, -1, -1,
    2230 -1, -1, -1, -1, -1, -1, -1, -1, -1, 507,
    2231 -1, -1, -1, -1, -1, -1, 514, -1, -1, -1,
    2232 518, 519, 5, 6, -1, 8, 9, 10, 11, 12,
    2233 13, 14, 15, 16, 17, 18, 19, 20, 21, 22,
    2234 -1, 24, 5, 6, -1, 8, 9, 10, 11, 12,
    2235 13, 14, 15, 16, 17, 18, 19, 20, 21, 22,
    2236 -1, 24, -1, -1, -1, 48, -1, -1, -1, -1,
    2237 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
    2238 -1, -1, -1, -1, -1, 48, -1, -1, 3, 4,
    2239 5, 6, 7, -1, -1, -1, -1, -1, -1, -1,
    2240 -1, -1, -1, -1, -1, -1, -1, 22, -1, 24,
    2241 -1, 26, 27, 28, -1, -1, -1, -1, -1, -1,
    2242 -1, -1, -1, 38, 39, -1, -1, -1, -1, -1,
    2243 -1, -1, -1, 116, -1, -1, 119, -1, -1, 122,
    2244 -1, 124, 125, -1, -1, -1, 61, -1, -1, -1,
    2245 -1, -1, -1, 116, -1, -1, 119, -1, -1, 122,
    2246 -1, 124, 125, 78, 79, 80, 81, 82, 83, 84,
    2247 85, 86, 87, 88, 89, 90, 91, 92, 93, 94,
    2248 95, 3, 4, -1, -1, 7, 101, -1, 103, 104,
    2249 105, 106, 107, -1, 109, 110, 111, -1, -1, 20,
    2250 -1, 22, -1, 24, 26, 27, 28, 122, -1, -1,
    2251 31, 32, 33, -1, -1, -1, 38, 39, -1, -1,
    2252 41, 42, 43, 44, 45, 46, 47, -1, -1, 50,
    2253 51, -1, -1, -1, -1, -1, -1, 58, -1, 61,
    2254 -1, 62, -1, -1, -1, -1, -1, -1, -1, -1,
    2255 -1, -1, -1, -1, -1, -1, 78, 79, 80, 81,
    2256 82, 83, 84, 85, 86, 87, 88, 89, 90, 91,
    2257 92, 93, 94, 95, -1, -1, -1, -1, -1, 101,
    2258 -1, 103, 104, 105, 106, 107, -1, 109, 110, 111,
    2259 -1, -1, -1, -1, -1, -1, -1, -1, 5, 6,
    2260 122, 8, 9, 10, 11, 12, 13, 14, 15, 16,
    2261 17, 18, 19, 20, 21, 22, -1, 24, -1, -1,
    2262 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
    2263 37, -1, -1, -1, -1, -1, -1, -1, -1, 5,
    2264 6, 48, 8, 9, 10, 11, 12, 13, 14, 15,
    2265 16, 17, 18, 19, 20, 21, 22, -1, 24, -1,
    2266 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
    2267 -1, 37, -1, -1, -1, -1, -1, -1, -1, -1,
    2268 -1, -1, 48, -1, 5, 6, -1, 8, 9, 10,
    2269 11, 12, 13, 14, 15, 16, 17, 18, 19, 20,
    2270 21, 22, -1, 24, -1, -1, -1, -1, -1, 116,
    2271 -1, -1, 119, -1, -1, 122, 37, 124, -1, -1,
    2272 -1, -1, -1, -1, -1, 5, 6, 48, 8, 9,
    2273 10, 11, 12, 13, 14, 15, 16, 17, 18, 19,
    2274 20, 21, 22, -1, 24, -1, -1, -1, -1, -1,
    2275 116, -1, -1, 119, -1, -1, 122, 37, 124, -1,
    2276 -1, -1, -1, -1, -1, -1, 5, 6, 48, 8,
    2277 9, 10, 11, 12, 13, 14, 15, 16, 17, 18,
    2278 19, 20, 21, 22, -1, 24, -1, -1, -1, -1,
    2279 -1, -1, -1, -1, -1, 116, -1, -1, 119, -1,
    2280 -1, 122, -1, 124, -1, -1, -1, 5, 6, 48,
    2281 8, 9, 10, 11, 12, 13, 14, 15, 16, 17,
    2282 18, 19, 20, 21, 22, -1, 24, -1, -1, -1,
    2283 -1, -1, -1, -1, -1, -1, 116, -1, -1, 119,
    2284 -1, -1, 122, -1, 124, -1, -1, -1, 5, 6,
    2285 48, 8, 9, 10, 11, 12, 13, 14, 15, 16,
    2286 17, 18, 19, 20, 21, 22, -1, 24, -1, -1,
    2287 -1, -1, -1, -1, -1, -1, -1, 116, -1, -1,
    2288 119, -1, -1, 122, -1, 124, -1, -1, -1, 5,
    2289 6, 48, 8, 9, 10, 11, 12, 13, 14, 15,
    2290 16, 17, 18, 19, 20, 21, 22, -1, 24, -1,
    2291 -1, -1, -1, -1, -1, -1, -1, -1, 116, -1,
    2292 -1, 119, -1, -1, 122, -1, 124, -1, -1, -1,
    2293 -1, -1, 48, -1, -1, -1, -1, -1, -1, -1,
    2294 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
    2295 -1, -1, -1, -1, -1, -1, -1, -1, -1, 116,
    2296 -1, -1, 119, -1, -1, 122, -1, 124, -1, -1,
    2297 -1, -1, 35, -1, -1, -1, -1, -1, -1, -1,
    2298 -1, -1, -1, -1, -1, -1, 49, -1, -1, -1,
    2299 -1, -1, -1, -1, -1, -1, 59, 60, -1, -1,
    2300 116, -1, -1, 119, -1, -1, 122, -1, 124, 72,
    2301 73, 74, 75, 76, 77, 78, 79, 80, 81, 82,
    2302 83, 84, 85, 86, 87, 88, 89, 90, 91, 92,
    2303 93, 94, 95, 96, 97, 98, -1, -1, 101, 102,
    2304 103, 104, 105, 106, 107, 108, 109, 110, 111, 112,
    2305 113
    2306 };
    2307
    2308 /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
    2309 symbol of state STATE-NUM. */
    2310 static const unsigned char yystos[] =
    2311 {
    2312 0, 159, 160, 161, 0, 25, 31, 41, 42, 43,
    2313 44, 45, 46, 47, 62, 140, 178, 180, 182, 189,
    2314 22, 24, 51, 58, 62, 139, 171, 182, 183, 61,
    2315 64, 65, 66, 67, 68, 69, 70, 141, 176, 23,
    2316 190, 191, 30, 125, 179, 190, 52, 53, 54, 71,
    2317 168, 114, 61, 20, 45, 47, 50, 140, 114, 45,
    2318 47, 181, 24, 166, 4, 5, 6, 8, 9, 10,
    2319 11, 12, 13, 14, 15, 16, 17, 18, 19, 20,
    2320 21, 48, 116, 119, 122, 124, 129, 148, 149, 150,
    2321 151, 152, 171, 186, 29, 124, 177, 139, 194, 114,
    2322 114, 114, 114, 119, 169, 166, 148, 32, 33, 158,
    2323 158, 158, 158, 176, 4, 4, 4, 8, 125, 152,
    2324 153, 171, 117, 126, 35, 49, 59, 60, 72, 73,
    2325 74, 75, 76, 77, 78, 79, 80, 81, 82, 83,
    2326 84, 85, 86, 87, 88, 89, 90, 91, 92, 93,
    2327 94, 95, 96, 97, 98, 101, 102, 103, 104, 105,
    2328 106, 107, 108, 109, 110, 111, 112, 113, 131, 132,
    2329 133, 134, 192, 198, 199, 201, 202, 24, 55, 56,
    2330 167, 4, 24, 24, 170, 150, 150, 150, 9, 10,
    2331 11, 12, 13, 14, 15, 16, 17, 18, 19, 135,
    2332 136, 138, 150, 155, 120, 120, 115, 125, 117, 37,
    2333 153, 154, 150, 188, 59, 8, 188, 9, 21, 10,
    2334 11, 12, 13, 14, 15, 16, 17, 135, 136, 137,
    2335 141, 150, 150, 188, 150, 150, 195, 188, 188, 188,
    2336 188, 188, 188, 188, 188, 150, 150, 150, 188, 141,
    2337 99, 100, 115, 121, 164, 165, 163, 27, 28, 3,
    2338 4, 130, 4, 7, 26, 38, 39, 101, 103, 104,
    2339 109, 110, 111, 119, 122, 124, 127, 131, 132, 133,
    2340 134, 156, 186, 162, 152, 152, 152, 37, 150, 173,
    2341 174, 175, 115, 118, 3, 4, 7, 26, 27, 28,
    2342 38, 39, 61, 122, 156, 185, 186, 187, 187, 187,
    2343 187, 148, 115, 143, 115, 143, 187, 119, 115, 36,
    2344 115, 115, 115, 115, 115, 115, 115, 187, 187, 187,
    2345 115, 148, 150, 188, 24, 115, 146, 146, 146, 117,
    2346 117, 117, 117, 117, 117, 121, 155, 157, 157, 125,
    2347 157, 24, 117, 117, 117, 117, 146, 121, 123, 171,
    2348 172, 115, 118, 37, 63, 184, 157, 115, 115, 187,
    2349 15, 57, 15, 115, 200, 187, 119, 150, 188, 150,
    2350 188, 188, 188, 150, 150, 115, 115, 115, 188, 187,
    2351 187, 115, 34, 57, 144, 147, 155, 155, 155, 155,
    2352 155, 155, 115, 121, 123, 125, 155, 155, 155, 155,
    2353 37, 173, 144, 145, 24, 123, 21, 21, 117, 187,
    2354 4, 187, 188, 196, 115, 187, 115, 115, 115, 187,
    2355 187, 187, 117, 150, 24, 4, 146, 200, 36, 115,
    2356 115, 115, 115, 155, 115, 115, 115, 115, 57, 142,
    2357 115, 187, 187, 196, 197, 115, 143, 143, 115, 187,
    2358 115, 188, 188, 188, 197, 187, 118, 150, 155, 155,
    2359 155, 155, 155, 155, 155, 155, 4, 24, 115, 119,
    2360 118, 188, 121, 187, 118, 118, 115, 118, 115, 115,
    2361 118, 118, 118, 118, 21, 121, 137, 193, 36, 121,
    2362 155, 155, 155, 187, 185, 121, 137, 21, 118, 118,
    2363 118, 115, 185, 187, 21, 115, 76, 187, 21, 21,
    2364 187, 187
    2365 };
    19602366
    19612367 #define yyerrok (yyerrstatus = 0)
    19622368 #define yyclearin (yychar = YYEMPTY)
    1963 #define YYEMPTY -2
    2369 #define YYEMPTY (-2)
    19642370 #define YYEOF 0
    2371
    19652372 #define YYACCEPT goto yyacceptlab
    1966 #define YYABORT goto yyabortlab
    1967 #define YYERROR goto yyerrlab1
    1968 /* Like YYERROR except do call yyerror.
    1969 This remains here temporarily to ease the
    1970 transition to the new meaning of YYERROR, for GCC.
    2373 #define YYABORT goto yyabortlab
    2374 #define YYERROR goto yyerrorlab
    2375
    2376
    2377 /* Like YYERROR except do call yyerror. This remains here temporarily
    2378 to ease the transition to the new meaning of YYERROR, for GCC.
    19712379 Once GCC version 2 has supplanted version 1, this can go. */
    2380
    19722381 #define YYFAIL goto yyerrlab
    2382
    19732383 #define YYRECOVERING() (!!yyerrstatus)
    1974 #define YYBACKUP(token, value) \
    2384
    2385 #define YYBACKUP(Token, Value) \
    19752386 do \
    19762387 if (yychar == YYEMPTY && yylen == 1) \
    1977 { yychar = (token), yylval = (value); \
    1978 yychar1 = YYTRANSLATE (yychar); \
    2388 { \
    2389 yychar = (Token); \
    2390 yylval = (Value); \
    2391 yytoken = YYTRANSLATE (yychar); \
    19792392 YYPOPSTACK; \
    19802393 goto yybackup; \
    19812394 } \
    19822395 else \
    1983 { yyerror ("syntax error: cannot back up"); YYERROR; } \
    2396 { \
    2397 yyerror (YY_("syntax error: cannot back up")); \
    2398 YYERROR; \
    2399 } \
    19842400 while (0)
    2401
    19852402
    19862403 #define YYTERROR 1
    19872404 #define YYERRCODE 256
    19882405
    1989 #ifndef YYPURE
    1990 #define YYLEX yylex()
    2406
    2407 /* YYLLOC_DEFAULT -- Set CURRENT to span from RHS[1] to RHS[N].
    2408 If N is 0, then set CURRENT to the empty location which ends
    2409 the previous symbol: RHS[0] (always defined). */
    2410
    2411 #define YYRHSLOC(Rhs, K) ((Rhs)[K])
    2412 #ifndef YYLLOC_DEFAULT
    2413 # define YYLLOC_DEFAULT(Current, Rhs, N) \
    2414 do \
    2415 if (N) \
    2416 { \
    2417 (Current).first_line = YYRHSLOC (Rhs, 1).first_line; \
    2418 (Current).first_column = YYRHSLOC (Rhs, 1).first_column; \
    2419 (Current).last_line = YYRHSLOC (Rhs, N).last_line; \
    2420 (Current).last_column = YYRHSLOC (Rhs, N).last_column; \
    2421 } \
    2422 else \
    2423 { \
    2424 (Current).first_line = (Current).last_line = \
    2425 YYRHSLOC (Rhs, 0).last_line; \
    2426 (Current).first_column = (Current).last_column = \
    2427 YYRHSLOC (Rhs, 0).last_column; \
    2428 } \
    2429 while (0)
    19912430 #endif
    19922431
    1993 #ifdef YYPURE
    1994 #ifdef YYLSP_NEEDED
    2432
    2433 /* YY_LOCATION_PRINT -- Print the location on the stream.
    2434 This macro was not mandated originally: define only if we know
    2435 we won't break user code: when these are the locations we know. */
    2436
    2437 #ifndef YY_LOCATION_PRINT
    2438 # if YYLTYPE_IS_TRIVIAL
    2439 # define YY_LOCATION_PRINT(File, Loc) \
    2440 fprintf (File, "%d.%d-%d.%d", \
    2441 (Loc).first_line, (Loc).first_column, \
    2442 (Loc).last_line, (Loc).last_column)
    2443 # else
    2444 # define YY_LOCATION_PRINT(File, Loc) ((void) 0)
    2445 # endif
    2446 #endif
    2447
    2448
    2449 /* YYLEX -- calling `yylex' with the right arguments. */
    2450
    19952451 #ifdef YYLEX_PARAM
    1996 #define YYLEX yylex(&yylval, &yylloc, YYLEX_PARAM)
    2452 # define YYLEX yylex (YYLEX_PARAM)
    19972453 #else
    1998 #define YYLEX yylex(&yylval, &yylloc)
    2454 # define YYLEX yylex ()
    19992455 #endif
    2000 #else /* not YYLSP_NEEDED */
    2001 #ifdef YYLEX_PARAM
    2002 #define YYLEX yylex(&yylval, YYLEX_PARAM)
    2456
    2457 /* Enable debugging if requested. */
    2458 #if YYDEBUG
    2459
    2460 # ifndef YYFPRINTF
    2461 # include /* INFRINGES ON USER NAME SPACE */
    2462 # define YYFPRINTF fprintf
    2463 # endif
    2464
    2465 # define YYDPRINTF(Args) \
    2466 do { \
    2467 if (yydebug) \
    2468 YYFPRINTF Args; \
    2469 } while (0)
    2470
    2471 # define YY_SYMBOL_PRINT(Title, Type, Value, Location) \
    2472 do { \
    2473 if (yydebug) \
    2474 { \
    2475 YYFPRINTF (stderr, "%s ", Title); \
    2476 yysymprint (stderr, \
    2477 Type, Value); \
    2478 YYFPRINTF (stderr, "\n"); \
    2479 } \
    2480 } while (0)
    2481
    2482 /*------------------------------------------------------------------.
    2483 | yy_stack_print -- Print the state stack from its BOTTOM up to its |
    2484 | TOP (included). |
    2485 `------------------------------------------------------------------*/
    2486
    2487 #if defined (__STDC__) || defined (__cplusplus)
    2488 static void
    2489 yy_stack_print (short int *bottom, short int *top)
    20032490 #else
    2004 #define YYLEX yylex(&yylval)
    2491 static void
    2492 yy_stack_print (bottom, top)
    2493 short int *bottom;
    2494 short int *top;
    20052495 #endif
    2006 #endif /* not YYLSP_NEEDED */
    2496 {
    2497 YYFPRINTF (stderr, "Stack now");
    2498 for (/* Nothing. */; bottom <= top; ++bottom)
    2499 YYFPRINTF (stderr, " %d", *bottom);
    2500 YYFPRINTF (stderr, "\n");
    2501 }
    2502
    2503 # define YY_STACK_PRINT(Bottom, Top) \
    2504 do { \
    2505 if (yydebug) \
    2506 yy_stack_print ((Bottom), (Top)); \
    2507 } while (0)
    2508
    2509
    2510 /*------------------------------------------------.
    2511 | Report that the YYRULE is going to be reduced. |
    2512 `------------------------------------------------*/
    2513
    2514 #if defined (__STDC__) || defined (__cplusplus)
    2515 static void
    2516 yy_reduce_print (int yyrule)
    2517 #else
    2518 static void
    2519 yy_reduce_print (yyrule)
    2520 int yyrule;
    20072521 #endif
    2008
    2009 /* If nonreentrant, generate the variables here */
    2010
    2011 #ifndef YYPURE
    2012
    2013 int yychar; /* the lookahead symbol */
    2014 YYSTYPE yylval; /* the semantic value of the */
    2015 /* lookahead symbol */
    2016
    2017 #ifdef YYLSP_NEEDED
    2018 YYLTYPE yylloc; /* location data for the lookahead */
    2019 /* symbol */
    2522 {
    2523 int yyi;
    2524 unsigned long int yylno = yyrline[yyrule];
    2525 YYFPRINTF (stderr, "Reducing stack by rule %d (line %lu), ",
    2526 yyrule - 1, yylno);
    2527 /* Print the symbols being reduced, and their result. */
    2528 for (yyi = yyprhs[yyrule]; 0 <= yyrhs[yyi]; yyi++)
    2529 YYFPRINTF (stderr, "%s ", yytname[yyrhs[yyi]]);
    2530 YYFPRINTF (stderr, "-> %s\n", yytname[yyr1[yyrule]]);
    2531 }
    2532
    2533 # define YY_REDUCE_PRINT(Rule) \
    2534 do { \
    2535 if (yydebug) \
    2536 yy_reduce_print (Rule); \
    2537 } while (0)
    2538
    2539 /* Nonzero means print parse trace. It is left uninitialized so that
    2540 multiple parsers can coexist. */
    2541 int yydebug;
    2542 #else /* !YYDEBUG */
    2543 # define YYDPRINTF(Args)
    2544 # define YY_SYMBOL_PRINT(Title, Type, Value, Location)
    2545 # define YY_STACK_PRINT(Bottom, Top)
    2546 # define YY_REDUCE_PRINT(Rule)
    2547 #endif /* !YYDEBUG */
    2548
    2549
    2550 /* YYINITDEPTH -- initial size of the parser's stacks. */
    2551 #ifndef YYINITDEPTH
    2552 # define YYINITDEPTH 200
    20202553 #endif
    20212554
    2022 int yynerrs; /* number of parse errors so far */
    2023 #endif /* not YYPURE */
    2024
    2025 #if YYDEBUG != 0
    2026 int yydebug; /* nonzero means print parse trace */
    2027 /* Since this is uninitialized, it does not stop multiple parsers
    2028 from coexisting. */
    2555 /* YYMAXDEPTH -- maximum size the stacks can grow to (effective only
    2556 if the built-in stack extension method is used).
    2557
    2558 Do not make this value too large; the results are undefined if
    2559 YYSTACK_ALLOC_MAXIMUM < YYSTACK_BYTES (YYMAXDEPTH)
    2560 evaluated with infinite-precision integer arithmetic. */
    2561
    2562 #ifndef YYMAXDEPTH
    2563 # define YYMAXDEPTH 10000
    20292564 #endif
    20302565
    2031 /* YYINITDEPTH indicates the initial size of the parser's stacks */
    2032
    2033 #ifndef YYINITDEPTH
    2034 #define YYINITDEPTH 200
    2566
    2567
    2568 #if YYERROR_VERBOSE
    2569
    2570 # ifndef yystrlen
    2571 # if defined (__GLIBC__) && defined (_STRING_H)
    2572 # define yystrlen strlen
    2573 # else
    2574 /* Return the length of YYSTR. */
    2575 static YYSIZE_T
    2576 # if defined (__STDC__) || defined (__cplusplus)
    2577 yystrlen (const char *yystr)
    2578 # else
    2579 yystrlen (yystr)
    2580 const char *yystr;
    2581 # endif
    2582 {
    2583 const char *yys = yystr;
    2584
    2585 while (*yys++ != '\0')
    2586 continue;
    2587
    2588 return yys - yystr - 1;
    2589 }
    2590 # endif
    2591 # endif
    2592
    2593 # ifndef yystpcpy
    2594 # if defined (__GLIBC__) && defined (_STRING_H) && defined (_GNU_SOURCE)
    2595 # define yystpcpy stpcpy
    2596 # else
    2597 /* Copy YYSRC to YYDEST, returning the address of the terminating '\0' in
    2598 YYDEST. */
    2599 static char *
    2600 # if defined (__STDC__) || defined (__cplusplus)
    2601 yystpcpy (char *yydest, const char *yysrc)
    2602 # else
    2603 yystpcpy (yydest, yysrc)
    2604 char *yydest;
    2605 const char *yysrc;
    2606 # endif
    2607 {
    2608 char *yyd = yydest;
    2609 const char *yys = yysrc;
    2610
    2611 while ((*yyd++ = *yys++) != '\0')
    2612 continue;
    2613
    2614 return yyd - 1;
    2615 }
    2616 # endif
    2617 # endif
    2618
    2619 # ifndef yytnamerr
    2620 /* Copy to YYRES the contents of YYSTR after stripping away unnecessary
    2621 quotes and backslashes, so that it's suitable for yyerror. The
    2622 heuristic is that double-quoting is unnecessary unless the string
    2623 contains an apostrophe, a comma, or backslash (other than
    2624 backslash-backslash). YYSTR is taken from yytname. If YYRES is
    2625 null, do not copy; instead, return the length of what the result
    2626 would have been. */
    2627 static YYSIZE_T
    2628 yytnamerr (char *yyres, const char *yystr)
    2629 {
    2630 if (*yystr == '"')
    2631 {
    2632 size_t yyn = 0;
    2633 char const *yyp = yystr;
    2634
    2635 for (;;)
    2636 switch (*++yyp)
    2637 {
    2638 case '\'':
    2639 case ',':
    2640 goto do_not_strip_quotes;
    2641
    2642 case '\\':
    2643 if (*++yyp != '\\')
    2644 goto do_not_strip_quotes;
    2645 /* Fall through. */
    2646 default:
    2647 if (yyres)
    2648 yyres[yyn] = *yyp;
    2649 yyn++;
    2650 break;
    2651
    2652 case '"':
    2653 if (yyres)
    2654 yyres[yyn] = '\0';
    2655 return yyn;
    2656 }
    2657 do_not_strip_quotes: ;
    2658 }
    2659
    2660 if (! yyres)
    2661 return yystrlen (yystr);
    2662
    2663 return yystpcpy (yyres, yystr) - yyres;
    2664 }
    2665 # endif
    2666
    2667 #endif /* YYERROR_VERBOSE */
    2668
    2669
    2670
    2671 #if YYDEBUG
    2672 /*--------------------------------.
    2673 | Print this symbol on YYOUTPUT. |
    2674 `--------------------------------*/
    2675
    2676 #if defined (__STDC__) || defined (__cplusplus)
    2677 static void
    2678 yysymprint (FILE *yyoutput, int yytype, YYSTYPE *yyvaluep)
    2679 #else
    2680 static void
    2681 yysymprint (yyoutput, yytype, yyvaluep)
    2682 FILE *yyoutput;
    2683 int yytype;
    2684 YYSTYPE *yyvaluep;
    20352685 #endif
    2036
    2037 /* YYMAXDEPTH is the maximum size the stacks can grow to
    2038 (effective only if the built-in stack extension method is used). */
    2039
    2040 #if YYMAXDEPTH == 0
    2041 #undef YYMAXDEPTH
    2686 {
    2687 /* Pacify ``unused variable'' warnings. */
    2688 (void) yyvaluep;
    2689
    2690 if (yytype < YYNTOKENS)
    2691 YYFPRINTF (yyoutput, "token %s (", yytname[yytype]);
    2692 else
    2693 YYFPRINTF (yyoutput, "nterm %s (", yytname[yytype]);
    2694
    2695
    2696 # ifdef YYPRINT
    2697 if (yytype < YYNTOKENS)
    2698 YYPRINT (yyoutput, yytoknum[yytype], *yyvaluep);
    2699 # endif
    2700 switch (yytype)
    2701 {
    2702 default:
    2703 break;
    2704 }
    2705 YYFPRINTF (yyoutput, ")");
    2706 }
    2707
    2708 #endif /* ! YYDEBUG */
    2709 /*-----------------------------------------------.
    2710 | Release the memory associated to this symbol. |
    2711 `-----------------------------------------------*/
    2712
    2713 #if defined (__STDC__) || defined (__cplusplus)
    2714 static void
    2715 yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep)
    2716 #else
    2717 static void
    2718 yydestruct (yymsg, yytype, yyvaluep)
    2719 const char *yymsg;
    2720 int yytype;
    2721 YYSTYPE *yyvaluep;
    20422722 #endif
    2043
    2044 #ifndef YYMAXDEPTH
    2045 #define YYMAXDEPTH 10000
    2723 {
    2724 /* Pacify ``unused variable'' warnings. */
    2725 (void) yyvaluep;
    2726
    2727 if (!yymsg)
    2728 yymsg = "Deleting";
    2729 YY_SYMBOL_PRINT (yymsg, yytype, yyvaluep, yylocationp);
    2730
    2731 switch (yytype)
    2732 {
    2733
    2734 default:
    2735 break;
    2736 }
    2737 }
    2738
    2739
    2740 /* Prevent warnings from -Wmissing-prototypes. */
    2741
    2742 #ifdef YYPARSE_PARAM
    2743 # if defined (__STDC__) || defined (__cplusplus)
    2744 int yyparse (void *YYPARSE_PARAM);
    2745 # else
    2746 int yyparse ();
    2747 # endif
    2748 #else /* ! YYPARSE_PARAM */
    2749 #if defined (__STDC__) || defined (__cplusplus)
    2750 int yyparse (void);
    2751 #else
    2752 int yyparse ();
    20462753 #endif
    2047
    2048 /* Define __yy_memcpy. Note that the size argument
    2049 should be passed with type unsigned int, because that is what the non-GCC
    2050 definitions require. With GCC, __builtin_memcpy takes an arg
    2051 of type size_t, but it can handle unsigned int. */
    2052
    2053 #if __GNUC__ > 1 /* GNU C and GNU C++ define this. */
    2054 #define __yy_memcpy(TO,FROM,COUNT) __builtin_memcpy(TO,FROM,COUNT)
    2055 #else /* not GNU C or C++ */
    2056 #ifndef __cplusplus
    2057
    2058 /* This is the most reliable way to avoid incompatibilities
    2059 in available built-in functions on various systems. */
    2060 static void
    2061 __yy_memcpy (to, from, count)
    2062 char *to;
    2063 char *from;
    2064 unsigned int count;
    2065 {
    2066 register char *f = from;
    2067 register char *t = to;
    2068 register int i = count;
    2069
    2070 while (i-- > 0)
    2071 *t++ = *f++;
    2072 }
    2073
    2074 #else /* __cplusplus */
    2075
    2076 /* This is the most reliable way to avoid incompatibilities
    2077 in available built-in functions on various systems. */
    2078 static void
    2079 __yy_memcpy (char *to, char *from, unsigned int count)
    2080 {
    2081 register char *t = to;
    2082 register char *f = from;
    2083 register int i = count;
    2084
    2085 while (i-- > 0)
    2086 *t++ = *f++;
    2087 }
    2754 #endif /* ! YYPARSE_PARAM */
    2755
    2756
    2757
    2758 /* The look-ahead symbol. */
    2759 int yychar;
    2760
    2761 /* The semantic value of the look-ahead symbol. */
    2762 YYSTYPE yylval;
    2763
    2764 /* Number of syntax errors so far. */
    2765 int yynerrs;
    2766
    2767
    2768
    2769 /*----------.
    2770 | yyparse. |
    2771 `----------*/
    2772
    2773 #ifdef YYPARSE_PARAM
    2774 # if defined (__STDC__) || defined (__cplusplus)
    2775 int yyparse (void *YYPARSE_PARAM)
    2776 # else
    2777 int yyparse (YYPARSE_PARAM)
    2778 void *YYPARSE_PARAM;
    2779 # endif
    2780 #else /* ! YYPARSE_PARAM */
    2781 #if defined (__STDC__) || defined (__cplusplus)
    2782 int
    2783 yyparse (void)
    2784 #else
    2785 int
    2786 yyparse ()
    20882787
    20892788 #endif
    20902789 #endif
    2091
    2092 #line 217 "/usr/share/bison.simple"
    2093
    2094 /* The user can define YYPARSE_PARAM as the name of an argument to be passed
    2095 into yyparse. The argument should have type void *.
    2096 It should actually point to an object.
    2097 Grammar actions can access the variable by casting it
    2098 to the proper pointer type. */
    2099
    2100 #ifdef YYPARSE_PARAM
    2101 #ifdef __cplusplus
    2102 #define YYPARSE_PARAM_ARG void *YYPARSE_PARAM
    2103 #define YYPARSE_PARAM_DECL
    2104 #else /* not __cplusplus */
    2105 #define YYPARSE_PARAM_ARG YYPARSE_PARAM
    2106 #define YYPARSE_PARAM_DECL void *YYPARSE_PARAM;
    2107 #endif /* not __cplusplus */
    2108 #else /* not YYPARSE_PARAM */
    2109 #define YYPARSE_PARAM_ARG
    2110 #define YYPARSE_PARAM_DECL
    2111 #endif /* not YYPARSE_PARAM */
    2112
    2113 /* Prevent warning if -Wstrict-prototypes. */
    2114 #ifdef __GNUC__
    2115 #ifdef YYPARSE_PARAM
    2116 int yyparse (void *);
    2117 #else
    2118 int yyparse (void);
    2119 #endif
    2120 #endif
    2121
    2122 int
    2123 yyparse(YYPARSE_PARAM_ARG)
    2124 YYPARSE_PARAM_DECL
    21252790 {
    2126 register int yystate;
    2127 register int yyn;
    2128 register short *yyssp;
    2129 register YYSTYPE *yyvsp;
    2130 int yyerrstatus; /* number of tokens to shift before error messages enabled */
    2131 int yychar1 = 0; /* lookahead token as an internal (translated) token number */
    2132
    2133 short yyssa[YYINITDEPTH]; /* the state stack */
    2134 YYSTYPE yyvsa[YYINITDEPTH]; /* the semantic value stack */
    2135
    2136 short *yyss = yyssa; /* refer to the stacks thru separate pointers */
    2137 YYSTYPE *yyvs = yyvsa; /* to allow yyoverflow to reallocate them elsewhere */
    2138
    2139 #ifdef YYLSP_NEEDED
    2140 YYLTYPE yylsa[YYINITDEPTH]; /* the location stack */
    2141 YYLTYPE *yyls = yylsa;
    2142 YYLTYPE *yylsp;
    2143
    2144 #define YYPOPSTACK (yyvsp--, yyssp--, yylsp--)
    2145 #else
    2791
    2792 int yystate;
    2793 int yyn;
    2794 int yyresult;
    2795 /* Number of tokens to shift before error messages enabled. */
    2796 int yyerrstatus;
    2797 /* Look-ahead token as an internal (translated) token number. */
    2798 int yytoken = 0;
    2799
    2800 /* Three stacks and their tools:
    2801 `yyss': related to states,
    2802 `yyvs': related to semantic values,
    2803 `yyls': related to locations.
    2804
    2805 Refer to the stacks thru separate pointers, to allow yyoverflow
    2806 to reallocate them elsewhere. */
    2807
    2808 /* The state stack. */
    2809 short int yyssa[YYINITDEPTH];
    2810 short int *yyss = yyssa;
    2811 short int *yyssp;
    2812
    2813 /* The semantic value stack. */
    2814 YYSTYPE yyvsa[YYINITDEPTH];
    2815 YYSTYPE *yyvs = yyvsa;
    2816 YYSTYPE *yyvsp;
    2817
    2818
    2819
    21462820 #define YYPOPSTACK (yyvsp--, yyssp--)
    2147 #endif
    2148
    2149 int yystacksize = YYINITDEPTH;
    2150 int yyfree_stacks = 0;
    2151
    2152 #ifdef YYPURE
    2153 int yychar;
    2154 YYSTYPE yylval;
    2155 int yynerrs;
    2156 #ifdef YYLSP_NEEDED
    2157 YYLTYPE yylloc;
    2158 #endif
    2159 #endif
    2160
    2161 YYSTYPE yyval; /* the variable used to return */
    2162 /* semantic values from the action */
    2163 /* routines */
    2164
    2821
    2822 YYSIZE_T yystacksize = YYINITDEPTH;
    2823
    2824 /* The variables used to return semantic value and location from the
    2825 action routines. */
    2826 YYSTYPE yyval;
    2827
    2828
    2829 /* When reducing, the number of symbols on the RHS of the reduced
    2830 rule. */
    21652831 int yylen;
    21662832
    2167 #if YYDEBUG != 0
    2168 if (yydebug)
    2169 fprintf(stderr, "Starting parse\n");
    2170 #endif
    2833 YYDPRINTF ((stderr, "Starting parse\n"));
    21712834
    21722835 yystate = 0;
    21732836 yyerrstatus = 0;
    21792842 so that they stay on the same level as the state stack.
    21802843 The wasted elements are never initialized. */
    21812844
    2182 yyssp = yyss - 1;
    2845 yyssp = yyss;
    21832846 yyvsp = yyvs;
    2184 #ifdef YYLSP_NEEDED
    2185 yylsp = yyls;
    2186 #endif
    2187
    2188 /* Push a new state, which is found in yystate . */
    2189 /* In all cases, when you get here, the value and location stacks
    2190 have just been pushed. so pushing a state here evens the stacks. */
    2191 yynewstate:
    2192
    2193 *++yyssp = yystate;
    2194
    2195 if (yyssp >= yyss + yystacksize - 1)
    2196 {
    2197 /* Give user a chance to reallocate the stack */
    2198 /* Use copies of these so that the &'s don't force the real ones into memory. */
    2199 YYSTYPE *yyvs1 = yyvs;
    2200 short *yyss1 = yyss;
    2201 #ifdef YYLSP_NEEDED
    2202 YYLTYPE *yyls1 = yyls;
    2203 #endif
    2204
    2847
    2848 goto yysetstate;
    2849
    2850 /*------------------------------------------------------------.
    2851 | yynewstate -- Push a new state, which is found in yystate. |
    2852 `------------------------------------------------------------*/
    2853 yynewstate:
    2854 /* In all cases, when you get here, the value and location stacks
    2855 have just been pushed. so pushing a state here evens the stacks.
    2856 */
    2857 yyssp++;
    2858
    2859 yysetstate:
    2860 *yyssp = yystate;
    2861
    2862 if (yyss + yystacksize - 1 <= yyssp)
    2863 {
    22052864 /* Get the current used size of the three stacks, in elements. */
    2206 int size = yyssp - yyss + 1;
    2865 YYSIZE_T yysize = yyssp - yyss + 1;
    22072866
    22082867 #ifdef yyoverflow
    2209 /* Each stack pointer address is followed by the size of
    2210 the data in use in that stack, in bytes. */
    2211 #ifdef YYLSP_NEEDED
    2212 /* This used to be a conditional around just the two extra args,
    2213 but that might be undefined if yyoverflow is a macro. */
    2214 yyoverflow("parser stack overflow",
    2215 &yyss1, size * sizeof (*yyssp),
    2216 &yyvs1, size * sizeof (*yyvsp),
    2217 &yyls1, size * sizeof (*yylsp),
    2218 &yystacksize);
    2219 #else
    2220 yyoverflow("parser stack overflow",
    2221 &yyss1, size * sizeof (*yyssp),
    2222 &yyvs1, size * sizeof (*yyvsp),
    2223 &yystacksize);
    2224 #endif
    2225
    2226 yyss = yyss1; yyvs = yyvs1;
    2227 #ifdef YYLSP_NEEDED
    2228 yyls = yyls1;
    2229 #endif
    2868 {
    2869 /* Give user a chance to reallocate the stack. Use copies of
    2870 these so that the &'s don't force the real ones into
    2871 memory. */
    2872 YYSTYPE *yyvs1 = yyvs;
    2873 short int *yyss1 = yyss;
    2874
    2875
    2876 /* Each stack pointer address is followed by the size of the
    2877 data in use in that stack, in bytes. This used to be a
    2878 conditional around just the two extra args, but that might
    2879 be undefined if yyoverflow is a macro. */
    2880 yyoverflow (YY_("memory exhausted"),
    2881 &yyss1, yysize * sizeof (*yyssp),
    2882 &yyvs1, yysize * sizeof (*yyvsp),
    2883
    2884 &yystacksize);
    2885
    2886 yyss = yyss1;
    2887 yyvs = yyvs1;
    2888 }
    22302889 #else /* no yyoverflow */
    2890 # ifndef YYSTACK_RELOCATE
    2891 goto yyexhaustedlab;
    2892 # else
    22312893 /* Extend the stack our own way. */
    2232 if (yystacksize >= YYMAXDEPTH)
    2233 {
    2234 yyerror("parser stack overflow");
    2235 if (yyfree_stacks)
    2236 {
    2237 free (yyss);
    2238 free (yyvs);
    2239 #ifdef YYLSP_NEEDED
    2240 free (yyls);
    2241 #endif
    2242 }
    2243 return 2;
    2244 }
    2894 if (YYMAXDEPTH <= yystacksize)
    2895 goto yyexhaustedlab;
    22452896 yystacksize *= 2;
    2246 if (yystacksize > YYMAXDEPTH)
    2897 if (YYMAXDEPTH < yystacksize)
    22472898 yystacksize = YYMAXDEPTH;
    2248 #ifndef YYSTACK_USE_ALLOCA
    2249 yyfree_stacks = 1;
    2250 #endif
    2251 yyss = (short *) YYSTACK_ALLOC (yystacksize * sizeof (*yyssp));
    2252 __yy_memcpy ((char *)yyss, (char *)yyss1,
    2253 size * (unsigned int) sizeof (*yyssp));
    2254 yyvs = (YYSTYPE *) YYSTACK_ALLOC (yystacksize * sizeof (*yyvsp));
    2255 __yy_memcpy ((char *)yyvs, (char *)yyvs1,
    2256 size * (unsigned int) sizeof (*yyvsp));
    2257 #ifdef YYLSP_NEEDED
    2258 yyls = (YYLTYPE *) YYSTACK_ALLOC (yystacksize * sizeof (*yylsp));
    2259 __yy_memcpy ((char *)yyls, (char *)yyls1,
    2260 size * (unsigned int) sizeof (*yylsp));
    2261 #endif
    2899
    2900 {
    2901 short int *yyss1 = yyss;
    2902 union yyalloc *yyptr =
    2903 (union yyalloc *) YYSTACK_ALLOC (YYSTACK_BYTES (yystacksize));
    2904 if (! yyptr)
    2905 goto yyexhaustedlab;
    2906 YYSTACK_RELOCATE (yyss);
    2907 YYSTACK_RELOCATE (yyvs);
    2908
    2909 # undef YYSTACK_RELOCATE
    2910 if (yyss1 != yyssa)
    2911 YYSTACK_FREE (yyss1);
    2912 }
    2913 # endif
    22622914 #endif /* no yyoverflow */
    22632915
    2264 yyssp = yyss + size - 1;
    2265 yyvsp = yyvs + size - 1;
    2266 #ifdef YYLSP_NEEDED
    2267 yylsp = yyls + size - 1;
    2268 #endif
    2269
    2270 #if YYDEBUG != 0
    2271 if (yydebug)
    2272 fprintf(stderr, "Stack size increased to %d\n", yystacksize);
    2273 #endif
    2274
    2275 if (yyssp >= yyss + yystacksize - 1)
    2916 yyssp = yyss + yysize - 1;
    2917 yyvsp = yyvs + yysize - 1;
    2918
    2919
    2920 YYDPRINTF ((stderr, "Stack size increased to %lu\n",
    2921 (unsigned long int) yystacksize));
    2922
    2923 if (yyss + yystacksize - 1 <= yyssp)
    22762924 YYABORT;
    22772925 }
    22782926
    2279 #if YYDEBUG != 0
    2280 if (yydebug)
    2281 fprintf(stderr, "Entering state %d\n", yystate);
    2282 #endif
    2927 YYDPRINTF ((stderr, "Entering state %d\n", yystate));
    22832928
    22842929 goto yybackup;
    2285 yybackup:
    2930
    2931 /*-----------.
    2932 | yybackup. |
    2933 `-----------*/
    2934 yybackup:
    22862935
    22872936 /* Do appropriate processing given the current state. */
    2288 /* Read a lookahead token if we need one and don't already have one. */
    2937 /* Read a look-ahead token if we need one and don't already have one. */
    22892938 /* yyresume: */
    22902939
    2291 /* First try to decide what to do without reference to lookahead token. */
    2940 /* First try to decide what to do without reference to look-ahead token. */
    22922941
    22932942 yyn = yypact[yystate];
    2294 if (yyn == YYFLAG)
    2943 if (yyn == YYPACT_NINF)
    22952944 goto yydefault;
    22962945
    2297 /* Not known => get a lookahead token if don't already have one. */
    2298
    2299 /* yychar is either YYEMPTY or YYEOF
    2300 or a valid token in external form. */
    2301
    2946 /* Not known => get a look-ahead token if don't already have one. */
    2947
    2948 /* YYCHAR is either YYEMPTY or YYEOF or a valid look-ahead symbol. */
    23022949 if (yychar == YYEMPTY)
    23032950 {
    2304 #if YYDEBUG != 0
    2305 if (yydebug)
    2306 fprintf(stderr, "Reading a token: ");
    2307 #endif
    2951 YYDPRINTF ((stderr, "Reading a token: "));
    23082952 yychar = YYLEX;
    23092953 }
    23102954
    2311 /* Convert token to internal form (in yychar1) for indexing tables with */
    2312
    2313 if (yychar <= 0) /* This means end of input. */
    2314 {
    2315 yychar1 = 0;
    2316 yychar = YYEOF; /* Don't call YYLEX any more */
    2317
    2318 #if YYDEBUG != 0
    2319 if (yydebug)
    2320 fprintf(stderr, "Now at end of input.\n");
    2321 #endif
    2955 if (yychar <= YYEOF)
    2956 {
    2957 yychar = yytoken = YYEOF;
    2958 YYDPRINTF ((stderr, "Now at end of input.\n"));
    23222959 }
    23232960 else
    23242961 {
    2325 yychar1 = YYTRANSLATE(yychar);
    2326
    2327 #if YYDEBUG != 0
    2328 if (yydebug)
    2329 {
    2330 fprintf (stderr, "Ne