llvm.org GIT mirror llvm / b83eb64
For PR950: This patch implements the first increment for the Signless Types feature. All changes pertain to removing the ConstantSInt and ConstantUInt classes in favor of just using ConstantInt. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31063 91177308-0d34-0410-b5e6-96231b3b80d8 Reid Spencer 12 years ago
70 changed file(s) with 5246 addition(s) and 4293 deletion(s). Raw diff Collapse all Expand all
23892389
23902390
23912391

Constant represents a base class for different types of constants. It

2392 is subclassed by ConstantBool, ConstantInt, ConstantSInt, ConstantUInt,
2393 ConstantArray etc for representing the various types of Constants.

2392 is subclassed by ConstantBool, ConstantInt, ConstantArray etc for representing
2393 the various types of Constants.

23942394
23952395
23962396
24052405
Important Subclasses of Constant
24062406
24072407
2408
  • ConstantSInt : This subclass of Constant represents a signed integer
  • 2409 constant.
    2408
  • ConstantInt : This subclass of Constant represents an integer constant.
  • 24102409
    2411
  • int64_t getValue() const: Returns the underlying value of
  • 2412 this constant.
    2413
    2414
    2415
  • ConstantUInt : This class represents an unsigned integer.
  • 2416
    2417
  • uint64_t getValue() const: Returns the underlying value of
  • 2418 this constant.
    2410
  • int64_t getSExtValue() const: Returns the underlying value of
  • 2411 this constant as a sign extended signed integer value.
    2412
  • uint64_t getZExtValue() const: Returns the underlying value
  • 2413 of this constant as a zero extended unsigned integer value.
    24192414
    24202415
    24212416
  • ConstantFP : This class represents a floating point constant.
  • 138138 Value*
    139139 expression(BasicBlock* bb, Value* a, Value* b, Value* x, Value* y )
    140140 {
    141 ConstantSInt* one = ConstantSInt::get(Type::IntTy, 1);
    141 ConstantInt* one = ConstantInt::get(Type::IntTy, 1);
    142142 BinaryOperator* or1 = BinaryOperator::createOr(a, b, "", bb);
    143143 BinaryOperator* add1 = BinaryOperator::createAdd(x, one, "", bb);
    144144 BinaryOperator* add2 = BinaryOperator::createAdd(y, one, "", bb);
    307307

    308308
    
                      
                    
    309309 std::vector<Value*> index_vector;
    310 index_vector.push_back( ConstantSInt::get( Type::LongTy, 0 );
    310 index_vector.push_back( ConstantInt::get( Type::LongTy, 0 );
    311311 // ... push other indices ...
    312312 GetElementPtrInst* gep = new GetElementPtrInst( ptr, index_vector );
    313313
    366366
    367367
  • Constants are Values like anything else and can be operands of instructions
  • 368368
  • Integer constants, frequently needed, can be created using the static "get"
  • 369 methods of the ConstantInt, ConstantSInt, and ConstantUInt classes. The nice thing
    370 about these is that you can "get" any kind of integer quickly.
    371
  • There's a special method on Constant class which allows you to get the null
  • 369 methods of the ConstantInt class. The nice thing about these is that you can
    370 "get" any kind of integer quickly.
    371
  • There's a special method on Constant class which allows you to get the null
  • 372372 constant for any type. This is really handy for initializing large
    373373 arrays or structures, etc.
    374374
    4444 BasicBlock *BB = new BasicBlock("EntryBlock", FibF);
    4545
    4646 // Get pointers to the constants.
    47 Value *One = ConstantSInt::get(Type::IntTy, 1);
    48 Value *Two = ConstantSInt::get(Type::IntTy, 2);
    47 Value *One = ConstantInt::get(Type::IntTy, 1);
    48 Value *Two = ConstantInt::get(Type::IntTy, 2);
    4949
    5050 // Get pointer to the integer argument of the add1 function...
    5151 Argument *ArgX = FibF->arg_begin(); // Get the arg.
    5959 BasicBlock *BB = new BasicBlock("EntryBlock", Add1F);
    6060
    6161 // Get pointers to the constant `1'.
    62 Value *One = ConstantSInt::get(Type::IntTy, 1);
    62 Value *One = ConstantInt::get(Type::IntTy, 1);
    6363
    6464 // Get pointers to the integer argument of the add1 function...
    6565 assert(Add1F->arg_begin() != Add1F->arg_end()); // Make sure there's an arg
    8383 BB = new BasicBlock("EntryBlock", FooF);
    8484
    8585 // Get pointers to the constant `10'.
    86 Value *Ten = ConstantSInt::get(Type::IntTy, 10);
    86 Value *Ten = ConstantInt::get(Type::IntTy, 10);
    8787
    8888 // Pass Ten to the call call:
    8989 std::vector Params;
    3939 BasicBlock *BB = new BasicBlock("EntryBlock", F);
    4040
    4141 // Get pointers to the constant integers...
    42 Value *Two = ConstantSInt::get(Type::IntTy, 2);
    43 Value *Three = ConstantSInt::get(Type::IntTy, 3);
    42 Value *Two = ConstantInt::get(Type::IntTy, 2);
    43 Value *Three = ConstantInt::get(Type::IntTy, 3);
    4444
    4545 // Create the add instruction... does not insert...
    4646 Instruction *Add = BinaryOperator::create(Instruction::Add, Two, Three,
    4141 BasicBlock *BB = new BasicBlock("EntryBlock", Add1F);
    4242
    4343 // Get pointers to the constant `1'.
    44 Value *One = ConstantSInt::get(Type::IntTy, 1);
    44 Value *One = ConstantInt::get(Type::IntTy, 1);
    4545
    4646 // Get pointers to the integer argument of the add1 function...
    4747 assert(Add1F->arg_begin() != Add1F->arg_end()); // Make sure there's an arg
    6969 BasicBlock *BB = new BasicBlock("EntryBlock", FibF);
    7070
    7171 // Get pointers to the constants.
    72 Value *One = ConstantSInt::get(Type::IntTy, 1);
    73 Value *Two = ConstantSInt::get(Type::IntTy, 2);
    72 Value *One = ConstantInt::get(Type::IntTy, 1);
    73 Value *Two = ConstantInt::get(Type::IntTy, 2);
    7474
    7575 // Get pointer to the integer argument of the add1 function...
    7676 Argument *ArgX = FibF->arg_begin(); // Get the arg.
    4040 /// @brief An abstract class for integer constants.
    4141 class ConstantIntegral : public Constant {
    4242 protected:
    43 union {
    44 int64_t Signed;
    45 uint64_t Unsigned;
    46 } Val;
    43 uint64_t Val;
    4744 ConstantIntegral(const Type *Ty, ValueTy VT, uint64_t V);
    4845 public:
    49
    50 /// @brief Return the raw value of the constant as a 64-bit integer value.
    51 inline uint64_t getRawValue() const { return Val.Unsigned; }
    52
    5346 /// Return the constant as a 64-bit unsigned integer value after it
    5447 /// has been zero extended as appropriate for the type of this constant.
    5548 /// @brief Return the zero extended value.
    5649 inline uint64_t getZExtValue() const {
    57 unsigned Size = getType()->getPrimitiveSizeInBits();
    58 return Val.Unsigned & (~uint64_t(0UL) >> (64-Size));
    50 return Val;
    5951 }
    6052
    6153 /// Return the constant as a 64-bit integer value after it has been sign
    6355 /// @brief Return the sign extended value.
    6456 inline int64_t getSExtValue() const {
    6557 unsigned Size = getType()->getPrimitiveSizeInBits();
    66 return (Val.Signed << (64-Size)) >> (64-Size);
    58 return (int64_t(Val) << (64-Size)) >> (64-Size);
    6759 }
    6860
    6961 /// This function is implemented by subclasses and will return true iff this
    110102 static inline bool classof(const ConstantIntegral *) { return true; }
    111103 static bool classof(const Value *V) {
    112104 return V->getValueType() == ConstantBoolVal ||
    113 V->getValueType() == ConstantSIntVal ||
    114 V->getValueType() == ConstantUIntVal;
    105 V->getValueType() == ConstantIntVal;
    115106 }
    116107 };
    117108
    146137
    147138 /// @returns the value of this ConstantBool
    148139 /// @brief return the boolean value of this constant.
    149 inline bool getValue() const { return static_cast(getRawValue()); }
    140 inline bool getValue() const { return static_cast(getZExtValue()); }
    150141
    151142 /// @see ConstantIntegral for details
    152143 /// @brief Implement overrides
    164155
    165156
    166157 //===----------------------------------------------------------------------===//
    167 /// This is the abstract superclass of ConstantSInt & ConstantUInt, to make
    168 /// dealing with integral constants easier when sign is irrelevant.
    169 /// @brief Abstract clas for constant integers.
    158 /// This is concrete integer subclass of ConstantIntegral that represents
    159 /// both signed and unsigned integral constants, other than boolean.
    160 /// @brief Class for constant integers.
    170161 class ConstantInt : public ConstantIntegral {
    171162 protected:
    172163 ConstantInt(const ConstantInt &); // DO NOT IMPLEMENT
    173 ConstantInt(const Type *Ty, ValueTy VT, uint64_t V);
    164 ConstantInt(const Type *Ty, uint64_t V);
    165 ConstantInt(const Type *Ty, int64_t V);
    166 friend struct ConstantCreator;
    174167 public:
    175168 /// A helper method that can be used to determine if the constant contained
    176169 /// within is equal to a constant. This only works for very small values,
    179172 bool equalsInt(unsigned char V) const {
    180173 assert(V <= 127 &&
    181174 "equalsInt: Can only be used with very small positive constants!");
    182 return Val.Unsigned == V;
    175 return Val == V;
    183176 }
    184177
    185178 /// Return a ConstantInt with the specified value for the specified type.
    186 /// This only works for very small values, because this is all that can be
    187 /// represented with all types integer types.
    179 /// Overloads for ll the integer types are provided to ensure that implicit
    180 /// conversions don't bite us and to get around compiler errors where the
    181 /// compiler can't find a suitable overload for a given integer value.
    188182 /// @brief Get a ConstantInt for a specific value.
    189 static ConstantInt *get(const Type *Ty, unsigned char V);
    190
    191 /// @returns true if this is the null integer value.
    192 /// @see ConstantIntegral for details
    193 /// @brief Implement override.
    194 virtual bool isNullValue() const { return Val.Unsigned == 0; }
    195
    196 /// @brief Methods to support type inquiry through isa, cast, and dyn_cast.
    197 static inline bool classof(const ConstantInt *) { return true; }
    198 static bool classof(const Value *V) {
    199 return V->getValueType() == ConstantSIntVal ||
    200 V->getValueType() == ConstantUIntVal;
    201 }
    202 };
    203
    204
    205 //===----------------------------------------------------------------------===//
    206 /// A concrete class to represent constant signed integer values for the types
    207 /// sbyte, short, int, and long.
    208 /// @brief Constant Signed Integer Class.
    209 class ConstantSInt : public ConstantInt {
    210 ConstantSInt(const ConstantSInt &); // DO NOT IMPLEMENT
    211 friend struct ConstantCreator;
    212
    213 protected:
    214 ConstantSInt(const Type *Ty, int64_t V);
    215 public:
    216 /// This static factory methods returns objects of the specified value. Note
    217 /// that repeated calls with the same operands return the same object.
    218 /// @returns A ConstantSInt instant for the type and value requested.
    219 /// @brief Get a signed integer constant.
    220 static ConstantSInt *get(
    221 const Type *Ty, ///< The type of constant (SByteTy, IntTy, ShortTy, LongTy)
    222 int64_t V ///< The value for the constant integer.
    223 );
    183 static ConstantInt *get(const Type *Ty, int64_t V);
    224184
    225185 /// This static method returns true if the type Ty is big enough to
    226186 /// represent the value V. This can be used to avoid having the get method
    229189 /// @brief Determine if the value is in range for the given type.
    230190 static bool isValueValidForType(const Type *Ty, int64_t V);
    231191
    232 /// @returns the underlying value of this constant.
    233 /// @brief Get the constant value.
    234 inline int64_t getValue() const { return Val.Signed; }
    192 /// @returns true if this is the null integer value.
    193 /// @see ConstantIntegral for details
    194 /// @brief Implement override.
    195 virtual bool isNullValue() const { return Val == 0; }
    235196
    236197 /// @returns true iff this constant's bits are all set to true.
    237198 /// @see ConstantIntegral
    238199 /// @brief Override implementation
    239 virtual bool isAllOnesValue() const { return getValue() == -1; }
    200 virtual bool isAllOnesValue() const { return getSExtValue() == -1; }
    240201
    241202 /// @returns true iff this is the largest value that may be represented
    242203 /// by this type.
    243204 /// @see ConstantIntegeral
    244205 /// @brief Override implementation
    245206 virtual bool isMaxValue() const {
    246 int64_t V = getValue();
    247 if (V < 0) return false; // Be careful about wrap-around on 'long's
    248 ++V;
    249 return !isValueValidForType(getType(), V) || V < 0;
    207 if (getType()->isSigned()) {
    208 int64_t V = getSExtValue();
    209 if (V < 0) return false; // Be careful about wrap-around on 'long's
    210 ++V;
    211 return !isValueValidForType(getType(), V) || V < 0;
    212 }
    213 return isAllOnesValue();
    250214 }
    251215
    252216 /// @returns true if this is the smallest value that may be represented by
    254218 /// @see ConstantIntegral
    255219 /// @brief Override implementation
    256220 virtual bool isMinValue() const {
    257 int64_t V = getValue();
    258 if (V > 0) return false; // Be careful about wrap-around on 'long's
    259 --V;
    260 return !isValueValidForType(getType(), V) || V > 0;
    261 }
    262
    263 /// @brief Methods to support type inquiry through isa, cast, and dyn_cast:
    264 static inline bool classof(const ConstantSInt *) { return true; }
    265 static bool classof(const Value *V) {
    266 return V->getValueType() == ConstantSIntVal;
    267 }
    268 };
    269
    270 //===----------------------------------------------------------------------===//
    271 /// A concrete class that represents constant unsigned integer values of type
    272 /// Type::UByteTy, Type::UShortTy, Type::UIntTy, or Type::ULongTy.
    273 /// @brief Constant Unsigned Integer Class
    274 class ConstantUInt : public ConstantInt {
    275 ConstantUInt(const ConstantUInt &); // DO NOT IMPLEMENT
    276 friend struct ConstantCreator;
    277 protected:
    278 ConstantUInt(const Type *Ty, uint64_t V);
    279 public:
    280 /// get() - Static factory methods - Return objects of the specified value
    281 ///
    282 static ConstantUInt *get(const Type *Ty, uint64_t V);
    283
    284 /// isValueValidForType - return true if Ty is big enough to represent V.
    285 ///
    286 static bool isValueValidForType(const Type *Ty, uint64_t V);
    287
    288 /// getValue - return the underlying value of this constant.
    289 ///
    290 inline uint64_t getValue() const { return Val.Unsigned; }
    291
    292 /// isMaxValue - Return true if this is the largest value that may be
    293 /// represented by this type.
    294 ///
    295 virtual bool isAllOnesValue() const;
    296 virtual bool isMaxValue() const { return isAllOnesValue(); }
    297 virtual bool isMinValue() const { return getValue() == 0; }
    298
    299 /// Methods for support type inquiry through isa, cast, and dyn_cast:
    300 static inline bool classof(const ConstantUInt *) { return true; }
    301 static bool classof(const Value *V) {
    302 return V->getValueType() == ConstantUIntVal;
    221 if (getType()->isSigned()) {
    222 int64_t V = getSExtValue();
    223 if (V > 0) return false; // Be careful about wrap-around on 'long's
    224 --V;
    225 return !isValueValidForType(getType(), V) || V > 0;
    226 }
    227 return getZExtValue() == 0;
    228 }
    229
    230 /// @brief Methods to support type inquiry through isa, cast, and dyn_cast.
    231 static inline bool classof(const ConstantInt *) { return true; }
    232 static bool classof(const Value *V) {
    233 return V->getValueType() == ConstantIntVal;
    303234 }
    304235 };
    305236
    590521 }
    591522
    592523 /// getSizeOf constant expr - computes the size of a type in a target
    593 /// independent way (Note: the return type is ULong but the object is not
    594 /// necessarily a ConstantUInt).
    524 /// independent way (Note: the return type is a ULong).
    595525 ///
    596526 static Constant *getSizeOf(const Type *Ty);
    597527
    9696 }
    9797
    9898 unsigned getLine() const {
    99 return unsigned(cast(getOperand(1))->getRawValue());
    99 return unsigned(cast(getOperand(1))->getZExtValue());
    100100 }
    101101 unsigned getColumn() const {
    102 return unsigned(cast(getOperand(2))->getRawValue());
    102 return unsigned(cast(getOperand(2))->getZExtValue());
    103103 }
    104104
    105105 std::string getFileName() const;
    150150 ConstantExprVal, // This is an instance of ConstantExpr
    151151 ConstantAggregateZeroVal, // This is an instance of ConstantAggregateNull
    152152 ConstantBoolVal, // This is an instance of ConstantBool
    153 ConstantSIntVal, // This is an instance of ConstantSInt
    154 ConstantUIntVal, // This is an instance of ConstantUInt
    153 ConstantIntVal, // This is an instance of ConstantInt
    155154 ConstantFPVal, // This is an instance of ConstantFP
    156155 ConstantArrayVal, // This is an instance of ConstantArray
    157156 ConstantStructVal, // This is an instance of ConstantStruct
    467467 /// CheckGEPInstructions - Check two GEP instructions with known must-aliasing
    468468 /// base pointers. This checks to see if the index expressions preclude the
    469469 /// pointers from aliasing...
    470 AliasAnalysis::AliasResult BasicAliasAnalysis::
    471 CheckGEPInstructions(const Type* BasePtr1Ty, std::vector &GEP1Ops,
    472 unsigned G1S,
    473 const Type *BasePtr2Ty, std::vector &GEP2Ops,
    474 unsigned G2S) {
    470 AliasAnalysis::AliasResult
    471 BasicAliasAnalysis::CheckGEPInstructions(
    472 const Type* BasePtr1Ty, std::vector &GEP1Ops, unsigned G1S,
    473 const Type *BasePtr2Ty, std::vector &GEP2Ops, unsigned G2S) {
    475474 // We currently can't handle the case when the base pointers have different
    476475 // primitive types. Since this is uncommon anyway, we are happy being
    477476 // extremely conservative.
    669668 if (const ConstantInt *Op1C = dyn_cast(Op1)) {
    670669 // If this is an array index, make sure the array element is in range.
    671670 if (const ArrayType *AT = dyn_cast(BasePtr1Ty))
    672 if (Op1C->getRawValue() >= AT->getNumElements())
    671 if (Op1C->getZExtValue() >= AT->getNumElements())
    673672 return MayAlias; // Be conservative with out-of-range accesses
    674673
    675674 } else {
    684683 // value possible.
    685684 //
    686685 if (const ArrayType *AT = dyn_cast(BasePtr1Ty))
    687 GEP1Ops[i] = ConstantSInt::get(Type::LongTy,AT->getNumElements()-1);
    686 GEP1Ops[i] = ConstantInt::get(Type::LongTy, AT->getNumElements()-1);
    688687 }
    689688 }
    690689
    692691 if (const ConstantInt *Op2C = dyn_cast(Op2)) {
    693692 // If this is an array index, make sure the array element is in range.
    694693 if (const ArrayType *AT = dyn_cast(BasePtr1Ty))
    695 if (Op2C->getRawValue() >= AT->getNumElements())
    694 if (Op2C->getZExtValue() >= AT->getNumElements())
    696695 return MayAlias; // Be conservative with out-of-range accesses
    697696 } else { // Conservatively assume the minimum value for this index
    698697 GEP2Ops[i] = Constant::getNullValue(Op2->getType());
    162162 default:
    163163 break;
    164164 }
    165 } else if (ConstantUInt *Op = dyn_cast(Operands[0])) {
    166 uint64_t V = Op->getValue();
    165 } else if (ConstantInt *Op = dyn_cast(Operands[0])) {
    166 assert(Op->getType()->isUnsigned() && "bswap args must be unsigned");
    167 uint64_t V = Op->getZExtValue();
    167168 if (Name == "llvm.bswap.i16")
    168 return ConstantUInt::get(Ty, ByteSwap_16(V));
    169 return ConstantInt::get(Ty, ByteSwap_16(V));
    169170 else if (Name == "llvm.bswap.i32")
    170 return ConstantUInt::get(Ty, ByteSwap_32(V));
    171 return ConstantInt::get(Ty, ByteSwap_32(V));
    171172 else if (Name == "llvm.bswap.i64")
    172 return ConstantUInt::get(Ty, ByteSwap_64(V));
    173 return ConstantInt::get(Ty, ByteSwap_64(V));
    173174 }
    174175 } else if (Operands.size() == 2) {
    175176 if (ConstantFP *Op1 = dyn_cast(Operands[0])) {
    160160
    161161 // Simply subtract the bounds...
    162162 Constant *Result = ConstantExpr::getSub(Upper, Lower);
    163 return cast(Result)->getRawValue();
    163 return cast(Result)->getZExtValue();
    164164 }
    165165
    166166 /// contains - Return true if the specified value is in the set.
    287287 // Change a source full set into [0, 1 << 8*numbytes)
    288288 unsigned SrcTySize = getLower()->getType()->getPrimitiveSize();
    289289 return ConstantRange(Constant::getNullValue(Ty),
    290 ConstantUInt::get(Ty, 1ULL << SrcTySize*8));
    290 ConstantInt::get(Ty, 1ULL << SrcTySize*8));
    291291 }
    292292
    293293 Constant *Lower = getLower();
    406406 I != E; ++I)
    407407 if (const StructType *STy = dyn_cast(*I)) {
    408408 unsigned FieldNo =
    409 (unsigned)castUInt>(I.getOperand())->getValue();
    409 (unsigned)castInt>(I.getOperand())->getZExtValue();
    410410 Offset += (unsigned)TD.getStructLayout(STy)->MemberOffsets[FieldNo];
    411411 } else if (const PointerType *PTy = dyn_cast(*I)) {
    412412 if (!isa(I.getOperand()) ||
    176176 // Make sure that SCEVConstant instances are all unsigned.
    177177 if (V->getType()->isSigned()) {
    178178 const Type *NewTy = V->getType()->getUnsignedVersion();
    179 V = castUInt>(ConstantExpr::getCast(V, NewTy));
    179 V = castInt>(ConstantExpr::getCast(V, NewTy));
    180180 }
    181181
    182182 SCEVConstant *&R = (*SCEVConstants)[V];
    462462 else if (Ty->isFloatingPoint())
    463463 C = ConstantFP::get(Ty, Val);
    464464 else if (Ty->isSigned())
    465 C = ConstantSInt::get(Ty, Val);
    465 C = ConstantInt::get(Ty, Val);
    466466 else {
    467 C = ConstantSInt::get(Ty->getSignedVersion(), Val);
    467 C = ConstantInt::get(Ty->getSignedVersion(), Val);
    468468 C = ConstantExpr::getCast(C, Ty);
    469469 }
    470470 return SCEVUnknown::get(C);
    506506 // Handle this case efficiently, it is common to have constant iteration
    507507 // counts while computing loop exit values.
    508508 if (SCEVConstant *SC = dyn_cast(V)) {
    509 uint64_t Val = SC->getValue()->getRawValue();
    509 uint64_t Val = SC->getValue()->getZExtValue();
    510510 uint64_t Result = 1;
    511511 for (; NumSteps; --NumSteps)
    512512 Result *= Val-(NumSteps-1);
    513 Constant *Res = ConstantUInt::get(Type::ULongTy, Result);
    513 Constant *Res = ConstantInt::get(Type::ULongTy, Result);
    514514 return SCEVUnknown::get(ConstantExpr::getCast(Res, V->getType()));
    515515 }
    516516
    16041604 const std::vector &Indices) {
    16051605 Constant *Init = GV->getInitializer();
    16061606 for (unsigned i = 0, e = Indices.size(); i != e; ++i) {
    1607 uint64_t Idx = Indices[i]->getRawValue();
    1607 uint64_t Idx = Indices[i]->getZExtValue();
    16081608 if (ConstantStruct *CS = dyn_cast(Init)) {
    16091609 assert(Idx < CS->getNumOperands() && "Bad struct index!");
    16101610 Init = cast(CS->getOperand(Idx));
    16781678
    16791679 unsigned MaxSteps = MaxBruteForceIterations;
    16801680 for (unsigned IterationNum = 0; IterationNum != MaxSteps; ++IterationNum) {
    1681 ConstantUInt *ItCst =
    1682 ConstantUInt::get(IdxExpr->getType()->getUnsignedVersion(), IterationNum);
    1681 ConstantInt *ItCst =
    1682 ConstantInt::get(IdxExpr->getType()->getUnsignedVersion(), IterationNum);
    16831683 ConstantInt *Val = EvaluateConstantChrecAtConstant(IdxExpr, ItCst);
    16841684
    16851685 // Form the GEP offset.
    18951895 if (CondVal->getValue() == ExitWhen) {
    18961896 ConstantEvolutionLoopExitValue[PN] = PHIVal;
    18971897 ++NumBruteForceTripCountsComputed;
    1898 return SCEVConstant::get(ConstantUInt::get(Type::UIntTy, IterationNum));
    1898 return SCEVConstant::get(ConstantInt::get(Type::UIntTy, IterationNum));
    18991899 }
    19001900
    19011901 // Compute the value of the PHI node for the next iteration.
    19341934 // this is a constant evolving PHI node, get the final value at
    19351935 // the specified iteration number.
    19361936 Constant *RV = getConstantEvolutionLoopExitValue(PN,
    1937 ICC->getValue()->getRawValue(),
    1937 ICC->getValue()->getZExtValue(),
    19381938 LI);
    19391939 if (RV) return SCEVUnknown::get(RV);
    19401940 }
    20752075 SqrtTerm = ConstantExpr::getSub(ConstantExpr::getMul(B, B), SqrtTerm);
    20762076
    20772077 // Compute floor(sqrt(B^2-4ac))
    2078 ConstantUInt *SqrtVal =
    2079 cast(ConstantExpr::getCast(SqrtTerm,
    2078 ConstantInt *SqrtVal =
    2079 cast(ConstantExpr::getCast(SqrtTerm,
    20802080 SqrtTerm->getType()->getUnsignedVersion()));
    2081 uint64_t SqrtValV = SqrtVal->getValue();
    2081 uint64_t SqrtValV = SqrtVal->getZExtValue();
    20822082 uint64_t SqrtValV2 = (uint64_t)sqrt((double)SqrtValV);
    20832083 // The square root might not be precise for arbitrary 64-bit integer
    20842084 // values. Do some sanity checks to ensure it's correct.
    20882088 return std::make_pair(CNC, CNC);
    20892089 }
    20902090
    2091 SqrtVal = ConstantUInt::get(Type::ULongTy, SqrtValV2);
    2091 SqrtVal = ConstantInt::get(Type::ULongTy, SqrtValV2);
    20922092 SqrtTerm = ConstantExpr::getCast(SqrtVal, SqrtTerm->getType());
    20932093
    20942094 Constant *NegB = ConstantExpr::getNeg(B);
    143143
    144144 // IF the step is by one, just return the inserted IV.
    145145 if (ConstantIntegral *CI = dyn_cast(F))
    146 if (CI->getRawValue() == 1)
    146 if (CI->getZExtValue() == 1)
    147147 return I;
    148148
    149149 // If the insert point is directly inside of the loop, emit the multiply at
    1616 #define yylineno llvmAsmlineno
    1717
    1818 #line 20 "Lexer.cpp"
    19 /* A lexical scanner generated by flex */
    19 /* A lexical scanner generated by flex*/
    2020
    2121 /* Scanner skeleton version:
    2222 * $Header$
    2727 #define YY_FLEX_MINOR_VERSION 5
    2828
    2929 #include
    30 #include
    3031
    3132
    3233 /* cfront 1.2 defines "c_plusplus" instead of "__cplusplus" */
    4041 #ifdef __cplusplus
    4142
    4243 #include
    43 #include
    4444
    4545 /* Use prototypes in function declarations. */
    4646 #define YY_USE_PROTOS
    151151 while ( 0 )
    152152
    153153 #define unput(c) yyunput( c, yytext_ptr )
    154
    155 /* Some routines like yy_flex_realloc() are emitted as static but are
    156 not called by all lexers. This generates warnings in some compilers,
    157 notably GCC. Arrange to suppress these. */
    158 #ifdef __GNUC__
    159 #define YY_MAY_BE_UNUSED __attribute__((unused))
    160 #else
    161 #define YY_MAY_BE_UNUSED
    162 #endif
    154163
    155164 /* The following is because we cannot portably get our hands on size_t
    156165 * (without autoconf's help, which isn't available because we want
    258267 YY_BUFFER_STATE yy_scan_bytes YY_PROTO(( yyconst char *bytes, int len ));
    259268
    260269 static void *yy_flex_alloc YY_PROTO(( yy_size_t ));
    261 static inline void *yy_flex_realloc YY_PROTO(( void *, yy_size_t ));
    270 static inline void *yy_flex_realloc YY_PROTO(( void *, yy_size_t )) YY_MAY_BE_UNUSED;
    262271 static void yy_flex_free YY_PROTO(( void * ));
    263272
    264273 #define yy_new_buffer yy_create_buffer
    828837 #define YY_MORE_ADJ 0
    829838 #define YY_RESTORE_YY_MORE_OFFSET
    830839 char *yytext;
    831 #line 1 "/Users/resistor/llvm/src/llvm/lib/AsmParser/Lexer.l"
    840 #line 1 "/proj/llvm/llvm/lib/AsmParser/Lexer.l"
    832841 #define INITIAL 0
    833842 /*===-- Lexer.l - Scanner for llvm assembly files --------------*- C++ -*--===//
    834843 //
    843852 //
    844853 //===----------------------------------------------------------------------===*/
    845854 #define YY_NEVER_INTERACTIVE 1
    846 #line 28 "/Users/resistor/llvm/src/llvm/lib/AsmParser/Lexer.l"
    855 #line 28 "/proj/llvm/llvm/lib/AsmParser/Lexer.l"
    847856 #include "ParserInternals.h"
    848857 #include "llvm/Module.h"
    849858 #include
    969978 /* HexIntConstant - Hexadecimal constant generated by the CFE to avoid forcing
    970979 * it to deal with 64 bit numbers.
    971980 */
    972 #line 974 "Lexer.cpp"
    981 #line 983 "Lexer.cpp"
    973982
    974983 /* Macros after this point can all be overridden by user definitions in
    975984 * section 1.
    11171126 YY_DECL
    11181127 {
    11191128 register yy_state_type yy_current_state;
    1120 register char *yy_cp, *yy_bp;
    1129 register char *yy_cp = NULL, *yy_bp = NULL;
    11211130 register int yy_act;
    11221131
    1123 #line 179 "/Users/resistor/llvm/src/llvm/lib/AsmParser/Lexer.l"
    1124
    1125
    1126 #line 1128 "Lexer.cpp"
    1132 #line 179 "/proj/llvm/llvm/lib/AsmParser/Lexer.l"
    1133
    1134
    1135 #line 1137 "Lexer.cpp"
    11271136
    11281137 if ( yy_init )
    11291138 {
    12161225 { /* beginning of action switch */
    12171226 case 1:
    12181227 YY_RULE_SETUP
    1219 #line 181 "/Users/resistor/llvm/src/llvm/lib/AsmParser/Lexer.l"
    1228 #line 181 "/proj/llvm/llvm/lib/AsmParser/Lexer.l"
    12201229 { /* Ignore comments for now */ }
    12211230 YY_BREAK
    12221231 case 2:
    12231232 YY_RULE_SETUP
    1224 #line 183 "/Users/resistor/llvm/src/llvm/lib/AsmParser/Lexer.l"
    1233 #line 183 "/proj/llvm/llvm/lib/AsmParser/Lexer.l"
    12251234 { return BEGINTOK; }
    12261235 YY_BREAK
    12271236 case 3:
    12281237 YY_RULE_SETUP
    1229 #line 184 "/Users/resistor/llvm/src/llvm/lib/AsmParser/Lexer.l"
    1238 #line 184 "/proj/llvm/llvm/lib/AsmParser/Lexer.l"
    12301239 { return ENDTOK; }
    12311240 YY_BREAK
    12321241 case 4:
    12331242 YY_RULE_SETUP
    1234 #line 185 "/Users/resistor/llvm/src/llvm/lib/AsmParser/Lexer.l"
    1243 #line 185 "/proj/llvm/llvm/lib/AsmParser/Lexer.l"
    12351244 { return TRUETOK; }
    12361245 YY_BREAK
    12371246 case 5:
    12381247 YY_RULE_SETUP
    1239 #line 186 "/Users/resistor/llvm/src/llvm/lib/AsmParser/Lexer.l"
    1248 #line 186 "/proj/llvm/llvm/lib/AsmParser/Lexer.l"
    12401249 { return FALSETOK; }
    12411250 YY_BREAK
    12421251 case 6:
    12431252 YY_RULE_SETUP
    1244 #line 187 "/Users/resistor/llvm/src/llvm/lib/AsmParser/Lexer.l"
    1253 #line 187 "/proj/llvm/llvm/lib/AsmParser/Lexer.l"
    12451254 { return DECLARE; }
    12461255 YY_BREAK
    12471256 case 7:
    12481257 YY_RULE_SETUP
    1249 #line 188 "/Users/resistor/llvm/src/llvm/lib/AsmParser/Lexer.l"
    1258 #line 188 "/proj/llvm/llvm/lib/AsmParser/Lexer.l"
    12501259 { return GLOBAL; }
    12511260 YY_BREAK
    12521261 case 8:
    12531262 YY_RULE_SETUP
    1254 #line 189 "/Users/resistor/llvm/src/llvm/lib/AsmParser/Lexer.l"
    1263 #line 189 "/proj/llvm/llvm/lib/AsmParser/Lexer.l"
    12551264 { return CONSTANT; }
    12561265 YY_BREAK
    12571266 case 9:
    12581267 YY_RULE_SETUP
    1259 #line 190 "/Users/resistor/llvm/src/llvm/lib/AsmParser/Lexer.l"
    1268 #line 190 "/proj/llvm/llvm/lib/AsmParser/Lexer.l"
    12601269 { return INTERNAL; }
    12611270 YY_BREAK
    12621271 case 10:
    12631272 YY_RULE_SETUP
    1264 #line 191 "/Users/resistor/llvm/src/llvm/lib/AsmParser/Lexer.l"
    1273 #line 191 "/proj/llvm/llvm/lib/AsmParser/Lexer.l"
    12651274 { return LINKONCE; }
    12661275 YY_BREAK
    12671276 case 11:
    12681277 YY_RULE_SETUP
    1269 #line 192 "/Users/resistor/llvm/src/llvm/lib/AsmParser/Lexer.l"
    1278 #line 192 "/proj/llvm/llvm/lib/AsmParser/Lexer.l"
    12701279 { return WEAK; }
    12711280 YY_BREAK
    12721281 case 12:
    12731282 YY_RULE_SETUP
    1274 #line 193 "/Users/resistor/llvm/src/llvm/lib/AsmParser/Lexer.l"
    1283 #line 193 "/proj/llvm/llvm/lib/AsmParser/Lexer.l"
    12751284 { return APPENDING; }
    12761285 YY_BREAK
    12771286 case 13:
    12781287 YY_RULE_SETUP
    1279 #line 194 "/Users/resistor/llvm/src/llvm/lib/AsmParser/Lexer.l"
    1288 #line 194 "/proj/llvm/llvm/lib/AsmParser/Lexer.l"
    12801289 { return DLLIMPORT; }
    12811290 YY_BREAK
    12821291 case 14:
    12831292 YY_RULE_SETUP
    1284 #line 195 "/Users/resistor/llvm/src/llvm/lib/AsmParser/Lexer.l"
    1293 #line 195 "/proj/llvm/llvm/lib/AsmParser/Lexer.l"
    12851294 { return DLLEXPORT; }
    12861295 YY_BREAK
    12871296 case 15:
    12881297 YY_RULE_SETUP
    1289 #line 196 "/Users/resistor/llvm/src/llvm/lib/AsmParser/Lexer.l"
    1298 #line 196 "/proj/llvm/llvm/lib/AsmParser/Lexer.l"
    12901299 { return EXTERN_WEAK; }
    12911300 YY_BREAK
    12921301 case 16:
    12931302 YY_RULE_SETUP
    1294 #line 197 "/Users/resistor/llvm/src/llvm/lib/AsmParser/Lexer.l"
    1303 #line 197 "/proj/llvm/llvm/lib/AsmParser/Lexer.l"
    12951304 { return EXTERNAL; } /* Deprecated, turn into external */
    12961305 YY_BREAK
    12971306 case 17:
    12981307 YY_RULE_SETUP
    1299 #line 198 "/Users/resistor/llvm/src/llvm/lib/AsmParser/Lexer.l"
    1308 #line 198 "/proj/llvm/llvm/lib/AsmParser/Lexer.l"
    13001309 { return EXTERNAL; }
    13011310 YY_BREAK
    13021311 case 18:
    13031312 YY_RULE_SETUP
    1304 #line 199 "/Users/resistor/llvm/src/llvm/lib/AsmParser/Lexer.l"
    1313 #line 199 "/proj/llvm/llvm/lib/AsmParser/Lexer.l"
    13051314 { return IMPLEMENTATION; }
    13061315 YY_BREAK
    13071316 case 19:
    13081317 YY_RULE_SETUP
    1309 #line 200 "/Users/resistor/llvm/src/llvm/lib/AsmParser/Lexer.l"
    1318 #line 200 "/proj/llvm/llvm/lib/AsmParser/Lexer.l"
    13101319 { return ZEROINITIALIZER; }
    13111320 YY_BREAK
    13121321 case 20:
    13131322 YY_RULE_SETUP
    1314 #line 201 "/Users/resistor/llvm/src/llvm/lib/AsmParser/Lexer.l"
    1323 #line 201 "/proj/llvm/llvm/lib/AsmParser/Lexer.l"
    13151324 { return DOTDOTDOT; }
    13161325 YY_BREAK
    13171326 case 21:
    13181327 YY_RULE_SETUP
    1319 #line 202 "/Users/resistor/llvm/src/llvm/lib/AsmParser/Lexer.l"
    1328 #line 202 "/proj/llvm/llvm/lib/AsmParser/Lexer.l"
    13201329 { return UNDEF; }
    13211330 YY_BREAK
    13221331 case 22:
    13231332 YY_RULE_SETUP
    1324 #line 203 "/Users/resistor/llvm/src/llvm/lib/AsmParser/Lexer.l"
    1333 #line 203 "/proj/llvm/llvm/lib/AsmParser/Lexer.l"
    13251334 { return NULL_TOK; }
    13261335 YY_BREAK
    13271336 case 23:
    13281337 YY_RULE_SETUP
    1329 #line 204 "/Users/resistor/llvm/src/llvm/lib/AsmParser/Lexer.l"
    1338 #line 204 "/proj/llvm/llvm/lib/AsmParser/Lexer.l"
    13301339 { return TO; }
    13311340 YY_BREAK
    13321341 case 24:
    13331342 YY_RULE_SETUP
    1334 #line 205 "/Users/resistor/llvm/src/llvm/lib/AsmParser/Lexer.l"
    1343 #line 205 "/proj/llvm/llvm/lib/AsmParser/Lexer.l"
    13351344 { RET_TOK(TermOpVal, Unwind, UNWIND); }
    13361345 YY_BREAK
    13371346 case 25:
    13381347 YY_RULE_SETUP
    1339 #line 206 "/Users/resistor/llvm/src/llvm/lib/AsmParser/Lexer.l"
    1348 #line 206 "/proj/llvm/llvm/lib/AsmParser/Lexer.l"
    13401349 { return NOT; } /* Deprecated, turned into XOR */
    13411350 YY_BREAK
    13421351 case 26:
    13431352 YY_RULE_SETUP
    1344 #line 207 "/Users/resistor/llvm/src/llvm/lib/AsmParser/Lexer.l"
    1353 #line 207 "/proj/llvm/llvm/lib/AsmParser/Lexer.l"
    13451354 { return TAIL; }
    13461355 YY_BREAK
    13471356 case 27:
    13481357 YY_RULE_SETUP
    1349 #line 208 "/Users/resistor/llvm/src/llvm/lib/AsmParser/Lexer.l"
    1358 #line 208 "/proj/llvm/llvm/lib/AsmParser/Lexer.l"
    13501359 { return TARGET; }
    13511360 YY_BREAK
    13521361 case 28:
    13531362 YY_RULE_SETUP
    1354 #line 209 "/Users/resistor/llvm/src/llvm/lib/AsmParser/Lexer.l"
    1363 #line 209 "/proj/llvm/llvm/lib/AsmParser/Lexer.l"
    13551364 { return TRIPLE; }
    13561365 YY_BREAK
    13571366 case 29:
    13581367 YY_RULE_SETUP
    1359 #line 210 "/Users/resistor/llvm/src/llvm/lib/AsmParser/Lexer.l"
    1368 #line 210 "/proj/llvm/llvm/lib/AsmParser/Lexer.l"
    13601369 { return DEPLIBS; }
    13611370 YY_BREAK
    13621371 case 30:
    13631372 YY_RULE_SETUP
    1364 #line 211 "/Users/resistor/llvm/src/llvm/lib/AsmParser/Lexer.l"
    1373 #line 211 "/proj/llvm/llvm/lib/AsmParser/Lexer.l"
    13651374 { return ENDIAN; }
    13661375 YY_BREAK
    13671376 case 31:
    13681377 YY_RULE_SETUP
    1369 #line 212 "/Users/resistor/llvm/src/llvm/lib/AsmParser/Lexer.l"
    1378 #line 212 "/proj/llvm/llvm/lib/AsmParser/Lexer.l"
    13701379 { return POINTERSIZE; }
    13711380 YY_BREAK
    13721381 case 32:
    13731382 YY_RULE_SETUP
    1374 #line 213 "/Users/resistor/llvm/src/llvm/lib/AsmParser/Lexer.l"
    1383 #line 213 "/proj/llvm/llvm/lib/AsmParser/Lexer.l"
    13751384 { return DATA; }
    13761385 YY_BREAK
    13771386 case 33:
    13781387 YY_RULE_SETUP
    1379 #line 214 "/Users/resistor/llvm/src/llvm/lib/AsmParser/Lexer.l"
    1388 #line 214 "/proj/llvm/llvm/lib/AsmParser/Lexer.l"
    13801389 { return LITTLE; }
    13811390 YY_BREAK
    13821391 case 34:
    13831392 YY_RULE_SETUP
    1384 #line 215 "/Users/resistor/llvm/src/llvm/lib/AsmParser/Lexer.l"
    1393 #line 215 "/proj/llvm/llvm/lib/AsmParser/Lexer.l"
    13851394 { return BIG; }
    13861395 YY_BREAK
    13871396 case 35:
    13881397 YY_RULE_SETUP
    1389 #line 216 "/Users/resistor/llvm/src/llvm/lib/AsmParser/Lexer.l"
    1398 #line 216 "/proj/llvm/llvm/lib/AsmParser/Lexer.l"
    13901399 { return VOLATILE; }
    13911400 YY_BREAK
    13921401 case 36:
    13931402 YY_RULE_SETUP
    1394 #line 217 "/Users/resistor/llvm/src/llvm/lib/AsmParser/Lexer.l"
    1403 #line 217 "/proj/llvm/llvm/lib/AsmParser/Lexer.l"
    13951404 { return ALIGN; }
    13961405 YY_BREAK
    13971406 case 37:
    13981407 YY_RULE_SETUP
    1399 #line 218 "/Users/resistor/llvm/src/llvm/lib/AsmParser/Lexer.l"
    1408 #line 218 "/proj/llvm/llvm/lib/AsmParser/Lexer.l"
    14001409 { return SECTION; }
    14011410 YY_BREAK
    14021411 case 38:
    14031412 YY_RULE_SETUP
    1404 #line 219 "/Users/resistor/llvm/src/llvm/lib/AsmParser/Lexer.l"
    1413 #line 219 "/proj/llvm/llvm/lib/AsmParser/Lexer.l"
    14051414 { return MODULE; }
    14061415 YY_BREAK
    14071416 case 39:
    14081417 YY_RULE_SETUP
    1409 #line 220 "/Users/resistor/llvm/src/llvm/lib/AsmParser/Lexer.l"
    1418 #line 220 "/proj/llvm/llvm/lib/AsmParser/Lexer.l"
    14101419 { return ASM_TOK; }
    14111420 YY_BREAK
    14121421 case 40:
    14131422 YY_RULE_SETUP
    1414 #line 221 "/Users/resistor/llvm/src/llvm/lib/AsmParser/Lexer.l"
    1423 #line 221 "/proj/llvm/llvm/lib/AsmParser/Lexer.l"
    14151424 { return SIDEEFFECT; }
    14161425 YY_BREAK
    14171426 case 41:
    14181427 YY_RULE_SETUP
    1419 #line 223 "/Users/resistor/llvm/src/llvm/lib/AsmParser/Lexer.l"
    1428 #line 223 "/proj/llvm/llvm/lib/AsmParser/Lexer.l"
    14201429 { return CC_TOK; }
    14211430 YY_BREAK
    14221431 case 42:
    14231432 YY_RULE_SETUP
    1424 #line 224 "/Users/resistor/llvm/src/llvm/lib/AsmParser/Lexer.l"
    1433 #line 224 "/proj/llvm/llvm/lib/AsmParser/Lexer.l"
    14251434 { return CCC_TOK; }
    14261435 YY_BREAK
    14271436 case 43:
    14281437 YY_RULE_SETUP
    1429 #line 225 "/Users/resistor/llvm/src/llvm/lib/AsmParser/Lexer.l"
    1438 #line 225 "/proj/llvm/llvm/lib/AsmParser/Lexer.l"
    14301439 { return CSRETCC_TOK; }
    14311440 YY_BREAK
    14321441 case 44:
    14331442 YY_RULE_SETUP
    1434 #line 226 "/Users/resistor/llvm/src/llvm/lib/AsmParser/Lexer.l"
    1443 #line 226 "/proj/llvm/llvm/lib/AsmParser/Lexer.l"
    14351444 { return FASTCC_TOK; }
    14361445 YY_BREAK
    14371446 case 45:
    14381447 YY_RULE_SETUP
    1439 #line 227 "/Users/resistor/llvm/src/llvm/lib/AsmParser/Lexer.l"
    1448 #line 227 "/proj/llvm/llvm/lib/AsmParser/Lexer.l"
    14401449 { return COLDCC_TOK; }
    14411450 YY_BREAK
    14421451 case 46:
    14431452 YY_RULE_SETUP
    1444 #line 228 "/Users/resistor/llvm/src/llvm/lib/AsmParser/Lexer.l"
    1453 #line 228 "/proj/llvm/llvm/lib/AsmParser/Lexer.l"
    14451454 { return X86_STDCALLCC_TOK; }
    14461455 YY_BREAK
    14471456 case 47:
    14481457 YY_RULE_SETUP
    1449 #line 229 "/Users/resistor/llvm/src/llvm/lib/AsmParser/Lexer.l"
    1458 #line 229 "/proj/llvm/llvm/lib/AsmParser/Lexer.l"
    14501459 { return X86_FASTCALLCC_TOK; }
    14511460 YY_BREAK
    14521461 case 48:
    14531462 YY_RULE_SETUP
    1454 #line 231 "/Users/resistor/llvm/src/llvm/lib/AsmParser/Lexer.l"
    1463 #line 231 "/proj/llvm/llvm/lib/AsmParser/Lexer.l"
    14551464 { llvmAsmlval.PrimType = Type::VoidTy ; return VOID; }
    14561465 YY_BREAK
    14571466 case 49:
    14581467 YY_RULE_SETUP
    1459 #line 232 "/Users/resistor/llvm/src/llvm/lib/AsmParser/Lexer.l"
    1468 #line 232 "/proj/llvm/llvm/lib/AsmParser/Lexer.l"
    14601469 { llvmAsmlval.PrimType = Type::BoolTy ; return BOOL; }
    14611470 YY_BREAK
    14621471 case 50:
    14631472 YY_RULE_SETUP
    1464 #line 233 "/Users/resistor/llvm/src/llvm/lib/AsmParser/Lexer.l"
    1473 #line 233 "/proj/llvm/llvm/lib/AsmParser/Lexer.l"
    14651474 { llvmAsmlval.PrimType = Type::SByteTy ; return SBYTE; }
    14661475 YY_BREAK
    14671476 case 51:
    14681477 YY_RULE_SETUP
    1469 #line 234 "/Users/resistor/llvm/src/llvm/lib/AsmParser/Lexer.l"
    1478 #line 234 "/proj/llvm/llvm/lib/AsmParser/Lexer.l"
    14701479 { llvmAsmlval.PrimType = Type::UByteTy ; return UBYTE; }
    14711480 YY_BREAK
    14721481 case 52:
    14731482 YY_RULE_SETUP
    1474 #line 235 "/Users/resistor/llvm/src/llvm/lib/AsmParser/Lexer.l"
    1483 #line 235 "/proj/llvm/llvm/lib/AsmParser/Lexer.l"
    14751484 { llvmAsmlval.PrimType = Type::ShortTy ; return SHORT; }
    14761485 YY_BREAK
    14771486 case 53:
    14781487 YY_RULE_SETUP
    1479 #line 236 "/Users/resistor/llvm/src/llvm/lib/AsmParser/Lexer.l"
    1488 #line 236 "/proj/llvm/llvm/lib/AsmParser/Lexer.l"
    14801489 { llvmAsmlval.PrimType = Type::UShortTy; return USHORT; }
    14811490 YY_BREAK
    14821491 case 54:
    14831492 YY_RULE_SETUP
    1484 #line 237 "/Users/resistor/llvm/src/llvm/lib/AsmParser/Lexer.l"
    1493 #line 237 "/proj/llvm/llvm/lib/AsmParser/Lexer.l"
    14851494 { llvmAsmlval.PrimType = Type::IntTy ; return INT; }
    14861495 YY_BREAK
    14871496 case 55:
    14881497 YY_RULE_SETUP
    1489 #line 238 "/Users/resistor/llvm/src/llvm/lib/AsmParser/Lexer.l"
    1498 #line 238 "/proj/llvm/llvm/lib/AsmParser/Lexer.l"
    14901499 { llvmAsmlval.PrimType = Type::UIntTy ; return UINT; }
    14911500 YY_BREAK
    14921501 case 56:
    14931502 YY_RULE_SETUP
    1494 #line 239 "/Users/resistor/llvm/src/llvm/lib/AsmParser/Lexer.l"
    1503 #line 239 "/proj/llvm/llvm/lib/AsmParser/Lexer.l"
    14951504 { llvmAsmlval.PrimType = Type::LongTy ; return LONG; }
    14961505 YY_BREAK
    14971506 case 57:
    14981507 YY_RULE_SETUP
    1499 #line 240 "/Users/resistor/llvm/src/llvm/lib/AsmParser/Lexer.l"
    1508 #line 240 "/proj/llvm/llvm/lib/AsmParser/Lexer.l"
    15001509 { llvmAsmlval.PrimType = Type::ULongTy ; return ULONG; }
    15011510 YY_BREAK
    15021511 case 58:
    15031512 YY_RULE_SETUP
    1504 #line 241 "/Users/resistor/llvm/src/llvm/lib/AsmParser/Lexer.l"
    1513 #line 241 "/proj/llvm/llvm/lib/AsmParser/Lexer.l"
    15051514 { llvmAsmlval.PrimType = Type::FloatTy ; return FLOAT; }
    15061515 YY_BREAK
    15071516 case 59:
    15081517 YY_RULE_SETUP
    1509 #line 242 "/Users/resistor/llvm/src/llvm/lib/AsmParser/Lexer.l"
    1518 #line 242 "/proj/llvm/llvm/lib/AsmParser/Lexer.l"
    15101519 { llvmAsmlval.PrimType = Type::DoubleTy; return DOUBLE; }
    15111520 YY_BREAK
    15121521 case 60:
    15131522 YY_RULE_SETUP
    1514 #line 243 "/Users/resistor/llvm/src/llvm/lib/AsmParser/Lexer.l"
    1523 #line 243 "/proj/llvm/llvm/lib/AsmParser/Lexer.l"
    15151524 { llvmAsmlval.PrimType = Type::LabelTy ; return LABEL; }
    15161525 YY_BREAK
    15171526 case 61:
    15181527 YY_RULE_SETUP
    1519 #line 244 "/Users/resistor/llvm/src/llvm/lib/AsmParser/Lexer.l"
    1528 #line 244 "/proj/llvm/llvm/lib/AsmParser/Lexer.l"
    15201529 { return TYPE; }
    15211530 YY_BREAK
    15221531 case 62:
    15231532 YY_RULE_SETUP
    1524 #line 245 "/Users/resistor/llvm/src/llvm/lib/AsmParser/Lexer.l"
    1533 #line 245 "/proj/llvm/llvm/lib/AsmParser/Lexer.l"
    15251534 { return OPAQUE; }
    15261535 YY_BREAK
    15271536 case 63:
    15281537 YY_RULE_SETUP
    1529 #line 247 "/Users/resistor/llvm/src/llvm/lib/AsmParser/Lexer.l"
    1538 #line 247 "/proj/llvm/llvm/lib/AsmParser/Lexer.l"
    15301539 { RET_TOK(BinaryOpVal, Add, ADD); }
    15311540 YY_BREAK
    15321541 case 64:
    15331542 YY_RULE_SETUP
    1534 #line 248 "/Users/resistor/llvm/src/llvm/lib/AsmParser/Lexer.l"
    1543 #line 248 "/proj/llvm/llvm/lib/AsmParser/Lexer.l"
    15351544 { RET_TOK(BinaryOpVal, Sub, SUB); }
    15361545 YY_BREAK
    15371546 case 65:
    15381547 YY_RULE_SETUP
    1539 #line 249 "/Users/resistor/llvm/src/llvm/lib/AsmParser/Lexer.l"
    1548 #line 249 "/proj/llvm/llvm/lib/AsmParser/Lexer.l"
    15401549 { RET_TOK(BinaryOpVal, Mul, MUL); }
    15411550 YY_BREAK
    15421551 case 66:
    15431552 YY_RULE_SETUP
    1544 #line 250 "/Users/resistor/llvm/src/llvm/lib/AsmParser/Lexer.l"
    1553 #line 250 "/proj/llvm/llvm/lib/AsmParser/Lexer.l"
    15451554 { RET_TOK(BinaryOpVal, Div, DIV); }
    15461555 YY_BREAK
    15471556 case 67:
    15481557 YY_RULE_SETUP
    1549 #line 251 "/Users/resistor/llvm/src/llvm/lib/AsmParser/Lexer.l"
    1558 #line 251 "/proj/llvm/llvm/lib/AsmParser/Lexer.l"
    15501559 { RET_TOK(BinaryOpVal, Rem, REM); }
    15511560 YY_BREAK
    15521561 case 68:
    15531562 YY_RULE_SETUP
    1554 #line 252 "/Users/resistor/llvm/src/llvm/lib/AsmParser/Lexer.l"
    1563 #line 252 "/proj/llvm/llvm/lib/AsmParser/Lexer.l"
    15551564 { RET_TOK(BinaryOpVal, And, AND); }
    15561565 YY_BREAK
    15571566 case 69:
    15581567 YY_RULE_SETUP
    1559 #line 253 "/Users/resistor/llvm/src/llvm/lib/AsmParser/Lexer.l"
    1568 #line 253 "/proj/llvm/llvm/lib/AsmParser/Lexer.l"
    15601569 { RET_TOK(BinaryOpVal, Or , OR ); }
    15611570 YY_BREAK
    15621571 case 70:
    15631572 YY_RULE_SETUP
    1564 #line 254 "/Users/resistor/llvm/src/llvm/lib/AsmParser/Lexer.l"
    1573 #line 254 "/proj/llvm/llvm/lib/AsmParser/Lexer.l"
    15651574 { RET_TOK(BinaryOpVal, Xor, XOR); }
    15661575 YY_BREAK
    15671576 case 71:
    15681577 YY_RULE_SETUP
    1569 #line 255 "/Users/resistor/llvm/src/llvm/lib/AsmParser/Lexer.l"
    1578 #line 255 "/proj/llvm/llvm/lib/AsmParser/Lexer.l"
    15701579 { RET_TOK(BinaryOpVal, SetNE, SETNE); }
    15711580 YY_BREAK
    15721581 case 72:
    15731582 YY_RULE_SETUP
    1574 #line 256 "/Users/resistor/llvm/src/llvm/lib/AsmParser/Lexer.l"
    1583 #line 256 "/proj/llvm/llvm/lib/AsmParser/Lexer.l"
    15751584 { RET_TOK(BinaryOpVal, SetEQ, SETEQ); }
    15761585 YY_BREAK
    15771586 case 73:
    15781587 YY_RULE_SETUP
    1579 #line 257 "/Users/resistor/llvm/src/llvm/lib/AsmParser/Lexer.l"
    1588 #line 257 "/proj/llvm/llvm/lib/AsmParser/Lexer.l"
    15801589 { RET_TOK(BinaryOpVal, SetLT, SETLT); }
    15811590 YY_BREAK
    15821591 case 74:
    15831592 YY_RULE_SETUP
    1584 #line 258 "/Users/resistor/llvm/src/llvm/lib/AsmParser/Lexer.l"
    1593 #line 258 "/proj/llvm/llvm/lib/AsmParser/Lexer.l"
    15851594 { RET_TOK(BinaryOpVal, SetGT, SETGT); }
    15861595 YY_BREAK
    15871596 case 75:
    15881597 YY_RULE_SETUP
    1589 #line 259 "/Users/resistor/llvm/src/llvm/lib/AsmParser/Lexer.l"
    1598 #line 259 "/proj/llvm/llvm/lib/AsmParser/Lexer.l"
    15901599 { RET_TOK(BinaryOpVal, SetLE, SETLE); }
    15911600 YY_BREAK
    15921601 case 76:
    15931602 YY_RULE_SETUP
    1594 #line 260 "/Users/resistor/llvm/src/llvm/lib/AsmParser/Lexer.l"
    1603 #line 260 "/proj/llvm/llvm/lib/AsmParser/Lexer.l"
    15951604 { RET_TOK(BinaryOpVal, SetGE, SETGE); }
    15961605 YY_BREAK
    15971606 case 77:
    15981607 YY_RULE_SETUP
    1599 #line 262 "/Users/resistor/llvm/src/llvm/lib/AsmParser/Lexer.l"
    1608 #line 262 "/proj/llvm/llvm/lib/AsmParser/Lexer.l"
    16001609 { RET_TOK(OtherOpVal, PHI, PHI_TOK); }
    16011610 YY_BREAK
    16021611 case 78:
    16031612 YY_RULE_SETUP
    1604 #line 263 "/Users/resistor/llvm/src/llvm/lib/AsmParser/Lexer.l"
    1613 #line 263 "/proj/llvm/llvm/lib/AsmParser/Lexer.l"
    16051614 { RET_TOK(OtherOpVal, Call, CALL); }
    16061615 YY_BREAK
    16071616 case 79:
    16081617 YY_RULE_SETUP
    1609 #line 264 "/Users/resistor/llvm/src/llvm/lib/AsmParser/Lexer.l"
    1618 #line 264 "/proj/llvm/llvm/lib/AsmParser/Lexer.l"
    16101619 { RET_TOK(OtherOpVal, Cast, CAST); }
    16111620 YY_BREAK
    16121621 case 80:
    16131622 YY_RULE_SETUP
    1614 #line 265 "/Users/resistor/llvm/src/llvm/lib/AsmParser/Lexer.l"
    1623 #line 265 "/proj/llvm/llvm/lib/AsmParser/Lexer.l"
    16151624 { RET_TOK(OtherOpVal, Select, SELECT); }
    16161625 YY_BREAK
    16171626 case 81:
    16181627 YY_RULE_SETUP
    1619 #line 266 "/Users/resistor/llvm/src/llvm/lib/AsmParser/Lexer.l"
    1628 #line 266 "/proj/llvm/llvm/lib/AsmParser/Lexer.l"
    16201629 { RET_TOK(OtherOpVal, Shl, SHL); }
    16211630 YY_BREAK
    16221631 case 82:
    16231632 YY_RULE_SETUP
    1624 #line 267 "/Users/resistor/llvm/src/llvm/lib/AsmParser/Lexer.l"
    1633 #line 267 "/proj/llvm/llvm/lib/AsmParser/Lexer.l"
    16251634 { RET_TOK(OtherOpVal, Shr, SHR); }
    16261635 YY_BREAK
    16271636 case 83:
    16281637 YY_RULE_SETUP
    1629 #line 268 "/Users/resistor/llvm/src/llvm/lib/AsmParser/Lexer.l"
    1638 #line 268 "/proj/llvm/llvm/lib/AsmParser/Lexer.l"
    16301639 { return VANEXT_old; }
    16311640 YY_BREAK
    16321641 case 84:
    16331642 YY_RULE_SETUP
    1634 #line 269 "/Users/resistor/llvm/src/llvm/lib/AsmParser/Lexer.l"
    1643 #line 269 "/proj/llvm/llvm/lib/AsmParser/Lexer.l"
    16351644 { return VAARG_old; }
    16361645 YY_BREAK
    16371646 case 85:
    16381647 YY_RULE_SETUP
    1639 #line 270 "/Users/resistor/llvm/src/llvm/lib/AsmParser/Lexer.l"
    1648 #line 270 "/proj/llvm/llvm/lib/AsmParser/Lexer.l"
    16401649 { RET_TOK(OtherOpVal, VAArg , VAARG); }
    16411650 YY_BREAK
    16421651 case 86:
    16431652 YY_RULE_SETUP
    1644 #line 271 "/Users/resistor/llvm/src/llvm/lib/AsmParser/Lexer.l"
    1653 #line 271 "/proj/llvm/llvm/lib/AsmParser/Lexer.l"
    16451654 { RET_TOK(TermOpVal, Ret, RET); }
    16461655 YY_BREAK
    16471656 case 87:
    16481657 YY_RULE_SETUP
    1649 #line 272 "/Users/resistor/llvm/src/llvm/lib/AsmParser/Lexer.l"
    1658 #line 272 "/proj/llvm/llvm/lib/AsmParser/Lexer.l"
    16501659 { RET_TOK(TermOpVal, Br, BR); }
    16511660 YY_BREAK
    16521661 case 88:
    16531662 YY_RULE_SETUP
    1654 #line 273 "/Users/resistor/llvm/src/llvm/lib/AsmParser/Lexer.l"
    1663 #line 273 "/proj/llvm/llvm/lib/AsmParser/Lexer.l"
    16551664 { RET_TOK(TermOpVal, Switch, SWITCH); }
    16561665 YY_BREAK
    16571666 case 89:
    16581667 YY_RULE_SETUP
    1659 #line 274 "/Users/resistor/llvm/src/llvm/lib/AsmParser/Lexer.l"
    1668 #line 274 "/proj/llvm/llvm/lib/AsmParser/Lexer.l"
    16601669 { RET_TOK(TermOpVal, Invoke, INVOKE); }
    16611670 YY_BREAK
    16621671 case 90:
    16631672 YY_RULE_SETUP
    1664 #line 275 "/Users/resistor/llvm/src/llvm/lib/AsmParser/Lexer.l"
    1673 #line 275 "/proj/llvm/llvm/lib/AsmParser/Lexer.l"
    16651674 { RET_TOK(TermOpVal, Unwind, UNWIND); }
    16661675 YY_BREAK
    16671676 case 91:
    16681677 YY_RULE_SETUP
    1669 #line 276 "/Users/resistor/llvm/src/llvm/lib/AsmParser/Lexer.l"
    1678 #line 276 "/proj/llvm/llvm/lib/AsmParser/Lexer.l"
    16701679 { RET_TOK(TermOpVal, Unreachable, UNREACHABLE); }
    16711680 YY_BREAK
    16721681 case 92:
    16731682 YY_RULE_SETUP
    1674 #line 278 "/Users/resistor/llvm/src/llvm/lib/AsmParser/Lexer.l"
    1683 #line 278 "/proj/llvm/llvm/lib/AsmParser/Lexer.l"
    16751684 { RET_TOK(MemOpVal, Malloc, MALLOC); }
    16761685 YY_BREAK
    16771686 case 93:
    16781687 YY_RULE_SETUP
    1679 #line 279 "/Users/resistor/llvm/src/llvm/lib/AsmParser/Lexer.l"
    1688 #line 279 "/proj/llvm/llvm/lib/AsmParser/Lexer.l"
    16801689 { RET_TOK(MemOpVal, Alloca, ALLOCA); }
    16811690 YY_BREAK
    16821691 case 94:
    16831692 YY_RULE_SETUP
    1684 #line 280 "/Users/resistor/llvm/src/llvm/lib/AsmParser/Lexer.l"
    1693 #line 280 "/proj/llvm/llvm/lib/AsmParser/Lexer.l"
    16851694 { RET_TOK(MemOpVal, Free, FREE); }
    16861695 YY_BREAK
    16871696 case 95:
    16881697 YY_RULE_SETUP
    1689 #line 281 "/Users/resistor/llvm/src/llvm/lib/AsmParser/Lexer.l"
    1698 #line 281 "/proj/llvm/llvm/lib/AsmParser/Lexer.l"
    16901699 { RET_TOK(MemOpVal, Load, LOAD); }
    16911700 YY_BREAK
    16921701 case 96:
    16931702 YY_RULE_SETUP
    1694 #line 282 "/Users/resistor/llvm/src/llvm/lib/AsmParser/Lexer.l"
    1703 #line 282 "/proj/llvm/llvm/lib/AsmParser/Lexer.l"
    16951704 { RET_TOK(MemOpVal, Store, STORE); }
    16961705 YY_BREAK
    16971706 case 97:
    16981707 YY_RULE_SETUP
    1699 #line 283 "/Users/resistor/llvm/src/llvm/lib/AsmParser/Lexer.l"
    1708 #line 283 "/proj/llvm/llvm/lib/AsmParser/Lexer.l"
    17001709 { RET_TOK(MemOpVal, GetElementPtr, GETELEMENTPTR); }
    17011710 YY_BREAK
    17021711 case 98:
    17031712 YY_RULE_SETUP
    1704 #line 285 "/Users/resistor/llvm/src/llvm/lib/AsmParser/Lexer.l"
    1713 #line 285 "/proj/llvm/llvm/lib/AsmParser/Lexer.l"
    17051714 { RET_TOK(OtherOpVal, ExtractElement, EXTRACTELEMENT); }
    17061715 YY_BREAK
    17071716 case 99:
    17081717 YY_RULE_SETUP
    1709 #line 286 "/Users/resistor/llvm/src/llvm/lib/AsmParser/Lexer.l"
    1718 #line 286 "/proj/llvm/llvm/lib/AsmParser/Lexer.l"
    17101719 { RET_TOK(OtherOpVal, InsertElement, INSERTELEMENT); }
    17111720 YY_BREAK
    17121721 case 100:
    17131722 YY_RULE_SETUP
    1714 #line 287 "/Users/resistor/llvm/src/llvm/lib/AsmParser/Lexer.l"
    1723 #line 287 "/proj/llvm/llvm/lib/AsmParser/Lexer.l"
    17151724 { RET_TOK(OtherOpVal, ShuffleVector, SHUFFLEVECTOR); }
    17161725 YY_BREAK
    17171726 case 101:
    17181727 YY_RULE_SETUP
    1719 #line 290 "/Users/resistor/llvm/src/llvm/lib/AsmParser/Lexer.l"
    1728 #line 290 "/proj/llvm/llvm/lib/AsmParser/Lexer.l"
    17201729 {
    17211730 UnEscapeLexed(yytext+1);
    17221731 llvmAsmlval.StrVal = strdup(yytext+1); // Skip %
    17251734 YY_BREAK
    17261735 case 102:
    17271736 YY_RULE_SETUP
    1728 #line 295 "/Users/resistor/llvm/src/llvm/lib/AsmParser/Lexer.l"
    1737 #line 295 "/proj/llvm/llvm/lib/AsmParser/Lexer.l"
    17291738 {
    17301739 yytext[strlen(yytext)-1] = 0; // nuke colon
    17311740 UnEscapeLexed(yytext);
    17351744 YY_BREAK
    17361745 case 103:
    17371746 YY_RULE_SETUP
    1738 #line 301 "/Users/resistor/llvm/src/llvm/lib/AsmParser/Lexer.l"
    1747 #line 301 "/proj/llvm/llvm/lib/AsmParser/Lexer.l"
    17391748 {
    17401749 yytext[strlen(yytext)-2] = 0; // nuke colon, end quote
    17411750 UnEscapeLexed(yytext+1);
    17451754 YY_BREAK
    17461755 case 104:
    17471756 YY_RULE_SETUP
    1748 #line 308 "/Users/resistor/llvm/src/llvm/lib/AsmParser/Lexer.l"
    1757 #line 308 "/proj/llvm/llvm/lib/AsmParser/Lexer.l"
    17491758 { // Note that we cannot unescape a string constant here! The
    17501759 // string constant might contain a \00 which would not be
    17511760 // understood by the string stuff. It is valid to make a
    17581767 YY_BREAK
    17591768 case 105:
    17601769 YY_RULE_SETUP
    1761 #line 319 "/Users/resistor/llvm/src/llvm/lib/AsmParser/Lexer.l"
    1770 #line 319 "/proj/llvm/llvm/lib/AsmParser/Lexer.l"
    17621771 { llvmAsmlval.UInt64Val = atoull(yytext); return EUINT64VAL; }
    17631772 YY_BREAK
    17641773 case 106:
    17651774 YY_RULE_SETUP
    1766 #line 320 "/Users/resistor/llvm/src/llvm/lib/AsmParser/Lexer.l"
    1775 #line 320 "/proj/llvm/llvm/lib/AsmParser/Lexer.l"
    17671776 {
    17681777 uint64_t Val = atoull(yytext+1);
    17691778 // +1: we have bigger negative range
    17751784 YY_BREAK
    17761785 case 107:
    17771786 YY_RULE_SETUP
    1778 #line 328 "/Users/resistor/llvm/src/llvm/lib/AsmParser/Lexer.l"
    1787 #line 328 "/proj/llvm/llvm/lib/AsmParser/Lexer.l"
    17791788 {
    17801789 llvmAsmlval.UInt64Val = HexIntToVal(yytext+3);
    17811790 return yytext[0] == 's' ? ESINT64VAL : EUINT64VAL;
    17831792 YY_BREAK
    17841793 case 108:
    17851794 YY_RULE_SETUP
    1786 #line 333 "/Users/resistor/llvm/src/llvm/lib/AsmParser/Lexer.l"
    1795 #line 333 "/proj/llvm/llvm/lib/AsmParser/Lexer.l"
    17871796 {
    17881797 uint64_t Val = atoull(yytext+1);
    17891798 if ((unsigned)Val != Val)
    17941803 YY_BREAK
    17951804 case 109:
    17961805 YY_RULE_SETUP
    1797 #line 340 "/Users/resistor/llvm/src/llvm/lib/AsmParser/Lexer.l"
    1806 #line 340 "/proj/llvm/llvm/lib/AsmParser/Lexer.l"
    17981807 {
    17991808 uint64_t Val = atoull(yytext+2);
    18001809 // +1: we have bigger negative range
    18061815 YY_BREAK
    18071816 case 110:
    18081817 YY_RULE_SETUP
    1809 #line 349 "/Users/resistor/llvm/src/llvm/lib/AsmParser/Lexer.l"
    1818 #line 349 "/proj/llvm/llvm/lib/AsmParser/Lexer.l"
    18101819 { llvmAsmlval.FPVal = atof(yytext); return FPVAL; }
    18111820 YY_BREAK
    18121821 case 111:
    18131822 YY_RULE_SETUP
    1814 #line 350 "/Users/resistor/llvm/src/llvm/lib/AsmParser/Lexer.l"
    1823 #line 350 "/proj/llvm/llvm/lib/AsmParser/Lexer.l"
    18151824 { llvmAsmlval.FPVal = HexToFP(yytext); return FPVAL; }
    18161825 YY_BREAK
    18171826 case YY_STATE_EOF(INITIAL):
    1818 #line 352 "/Users/resistor/llvm/src/llvm/lib/AsmParser/Lexer.l"
    1827 #line 352 "/proj/llvm/llvm/lib/AsmParser/Lexer.l"
    18191828 {
    18201829 /* Make sure to free the internal buffers for flex when we are
    18211830 * done reading our input!
    18261835 YY_BREAK
    18271836 case 112:
    18281837 YY_RULE_SETUP
    1829 #line 360 "/Users/resistor/llvm/src/llvm/lib/AsmParser/Lexer.l"
    1838 #line 360 "/proj/llvm/llvm/lib/AsmParser/Lexer.l"
    18301839 { /* Ignore whitespace */ }
    18311840 YY_BREAK
    18321841 case 113:
    18331842 YY_RULE_SETUP
    1834 #line 361 "/Users/resistor/llvm/src/llvm/lib/AsmParser/Lexer.l"
    1843 #line 361 "/proj/llvm/llvm/lib/AsmParser/Lexer.l"
    18351844 { return yytext[0]; }
    18361845 YY_BREAK
    18371846 case 114:
    18381847 YY_RULE_SETUP
    1839 #line 363 "/Users/resistor/llvm/src/llvm/lib/AsmParser/Lexer.l"
    1848 #line 363 "/proj/llvm/llvm/lib/AsmParser/Lexer.l"
    18401849 YY_FATAL_ERROR( "flex scanner jammed" );
    18411850 YY_BREAK
    1842 #line 1844 "Lexer.cpp"
    1851 #line 1853 "Lexer.cpp"
    18431852
    18441853 case YY_END_OF_BUFFER:
    18451854 {
    22152224 #endif /* ifndef YY_NO_UNPUT */
    22162225
    22172226
    2227 #ifndef YY_NO_INPUT
    22182228 #ifdef __cplusplus
    22192229 static int yyinput()
    22202230 #else
    22882298
    22892299 return c;
    22902300 }
    2291
    2301 #endif /* YY_NO_INPUT */
    22922302
    22932303 #ifdef YY_USE_PROTOS
    22942304 void yyrestart( FILE *input_file )
    23992409 }
    24002410
    24012411
    2402 #ifndef YY_ALWAYS_INTERACTIVE
    2403 #ifndef YY_NEVER_INTERACTIVE
    2404 extern int isatty YY_PROTO(( int ));
    2405 #endif
    2406 #endif
    24072412
    24082413 #ifdef YY_USE_PROTOS
    24092414 void yy_init_buffer( YY_BUFFER_STATE b, FILE *file )
    27212726 return 0;
    27222727 }
    27232728 #endif
    2724 #line 363 "/Users/resistor/llvm/src/llvm/lib/AsmParser/Lexer.l"
    2725
    2729 #line 363 "/proj/llvm/llvm/lib/AsmParser/Lexer.l"
    2730
    None
    1 /* A Bison parser, made from /Users/resistor/llvm/src/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 DATA 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 DIV 335
    92 #define REM 336
    93 #define AND 337
    94 #define OR 338
    95 #define XOR 339
    96 #define SETLE 340
    97 #define SETGE 341
    98 #define SETLT 342
    99 #define SETGT 343
    100 #define SETEQ 344
    101 #define SETNE 345
    102 #define MALLOC 346
    103 #define ALLOCA 347
    104 #define FREE 348
    105 #define LOAD 349
    106 #define STORE 350
    107 #define GETELEMENTPTR 351
    108 #define PHI_TOK 352
    109 #define CAST 353
    110 #define SELECT 354
    111 #define SHL 355
    112 #define SHR 356
    113 #define VAARG 357
    114 #define EXTRACTELEMENT 358
    115 #define INSERTELEMENT 359
    116 #define SHUFFLEVECTOR 360
    117 #define VAARG_old 361
    118 #define VANEXT_old 362
    119
    120 #line 14 "/Users/resistor/llvm/src/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 DATA = 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 DIV = 336,
    145 REM = 337,
    146 AND = 338,
    147 OR = 339,
    148 XOR = 340,
    149 SETLE = 341,
    150 SETGE = 342,
    151 SETLT = 343,
    152 SETGT = 344,
    153 SETEQ = 345,
    154 SETNE = 346,
    155 MALLOC = 347,
    156 ALLOCA = 348,
    157 FREE = 349,
    158 LOAD = 350,
    159 STORE = 351,
    160 GETELEMENTPTR = 352,
    161 PHI_TOK = 353,
    162 CAST = 354,
    163 SELECT = 355,
    164 SHL = 356,
    165 SHR = 357,
    166 VAARG = 358,
    167 EXTRACTELEMENT = 359,
    168 INSERTELEMENT = 360,
    169 SHUFFLEVECTOR = 361,
    170 VAARG_old = 362,
    171 VANEXT_old = 363
    172 };
    173 #endif
    174 /* Tokens. */
    175 #define ESINT64VAL 258
    176 #define EUINT64VAL 259
    177 #define SINTVAL 260
    178 #define UINTVAL 261
    179 #define FPVAL 262
    180 #define VOID 263
    181 #define BOOL 264
    182 #define SBYTE 265
    183 #define UBYTE 266
    184 #define SHORT 267
    185 #define USHORT 268
    186 #define INT 269
    187 #define UINT 270
    188 #define LONG 271
    189 #define ULONG 272
    190 #define FLOAT 273
    191 #define DOUBLE 274
    192 #define TYPE 275
    193 #define LABEL 276
    194 #define VAR_ID 277
    195 #define LABELSTR 278
    196 #define STRINGCONSTANT 279
    197 #define IMPLEMENTATION 280
    198 #define ZEROINITIALIZER 281
    199 #define TRUETOK 282
    200 #define FALSETOK 283
    201 #define BEGINTOK 284
    202 #define ENDTOK 285
    203 #define DECLARE 286
    204 #define GLOBAL 287
    205 #define CONSTANT 288
    206 #define SECTION 289
    207 #define VOLATILE 290
    208 #define TO 291
    209 #define DOTDOTDOT 292
    210 #define NULL_TOK 293
    211 #define UNDEF 294
    212 #define CONST 295
    213 #define INTERNAL 296
    214 #define LINKONCE 297
    215 #define WEAK 298
    216 #define APPENDING 299
    217 #define DLLIMPORT 300
    218 #define DLLEXPORT 301
    219 #define EXTERN_WEAK 302
    220 #define OPAQUE 303
    221 #define NOT 304
    222 #define EXTERNAL 305
    223 #define TARGET 306
    224 #define TRIPLE 307
    225 #define ENDIAN 308
    226 #define POINTERSIZE 309
    227 #define LITTLE 310
    228 #define BIG 311
    229 #define ALIGN 312
    230 #define DEPLIBS 313
    231 #define CALL 314
    232 #define TAIL 315
    233 #define ASM_TOK 316
    234 #define MODULE 317
    235 #define SIDEEFFECT 318
    236 #define CC_TOK 319
    237 #define CCC_TOK 320
    238 #define CSRETCC_TOK 321
    239 #define FASTCC_TOK 322
    240 #define COLDCC_TOK 323
    241 #define X86_STDCALLCC_TOK 324
    242 #define X86_FASTCALLCC_TOK 325
    243 #define DATA 326
    244 #define RET 327
    245 #define BR 328
    246 #define SWITCH 329
    247 #define INVOKE 330
    248 #define UNWIND 331
    249 #define UNREACHABLE 332
    250 #define ADD 333
    251 #define SUB 334
    252 #define MUL 335
    253 #define DIV 336
    254 #define REM 337
    255 #define AND 338
    256 #define OR 339
    257 #define XOR 340
    258 #define SETLE 341
    259 #define SETGE 342
    260 #define SETLT 343
    261 #define SETGT 344
    262 #define SETEQ 345
    263 #define SETNE 346
    264 #define MALLOC 347
    265 #define ALLOCA 348
    266 #define FREE 349
    267 #define LOAD 350
    268 #define STORE 351
    269 #define GETELEMENTPTR 352
    270 #define PHI_TOK 353
    271 #define CAST 354
    272 #define SELECT 355
    273 #define SHL 356
    274 #define SHR 357
    275 #define VAARG 358
    276 #define EXTRACTELEMENT 359
    277 #define INSERTELEMENT 360
    278 #define SHUFFLEVECTOR 361
    279 #define VAARG_old 362
    280 #define VANEXT_old 363
    281
    282
    283
    284
    285 /* Copy the first part of user declarations. */
    286 #line 14 "/proj/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
    121287
    122288 #include "ParserInternals.h"
    123289 #include "llvm/CallingConv.h"
    414580 // Check to make sure that "Ty" is an integral type, and that our
    415581 // value will fit into the specified type...
    416582 case ValID::ConstSIntVal: // Is it a constant pool reference??
    417 if (!ConstantSInt::isValueValidForType(Ty, D.ConstPool64)) {
    583 if (!ConstantInt::isValueValidForType(Ty, D.ConstPool64)) {
    418584 GenerateError("Signed integral constant '" +
    419585 itostr(D.ConstPool64) + "' is invalid for type '" +
    420586 Ty->getDescription() + "'!");
    421587 return 0;
    422588 }
    423 return ConstantSInt::get(Ty, D.ConstPool64);
    589 return ConstantInt::get(Ty, D.ConstPool64);
    424590
    425591 case ValID::ConstUIntVal: // Is it an unsigned const pool reference?
    426 if (!ConstantUInt::isValueValidForType(Ty, D.UConstPool64)) {
    427 if (!ConstantSInt::isValueValidForType(Ty, D.ConstPool64)) {
    592 if (!ConstantInt::isValueValidForType(Ty, D.UConstPool64)) {
    593 if (!ConstantInt::isValueValidForType(Ty, D.ConstPool64)) {
    428594 GenerateError("Integral constant '" + utostr(D.UConstPool64) +
    429595 "' is invalid or out of range!");
    430596 return 0;
    431597 } else { // This is really a signed reference. Transmogrify.
    432 return ConstantSInt::get(Ty, D.ConstPool64);
    598 return ConstantInt::get(Ty, D.ConstPool64);
    433599 }
    434600 } else {
    435 return ConstantUInt::get(Ty, D.UConstPool64);
    601 return ConstantInt::get(Ty, D.UConstPool64);
    436602 }
    437603
    438604 case ValID::ConstFPVal: // Is it a floating point const pool reference?
    10771243 }
    10781244
    10791245
    1080 #line 974 "/Users/resistor/llvm/src/llvm/lib/AsmParser/llvmAsmParser.y"
    1081 typedef union {
    1246
    1247 /* Enabling traces. */
    1248 #ifndef YYDEBUG
    1249 # define YYDEBUG 0
    1250 #endif
    1251
    1252 /* Enabling verbose error messages. */
    1253 #ifdef YYERROR_VERBOSE
    1254 # undef YYERROR_VERBOSE
    1255 # define YYERROR_VERBOSE 1
    1256 #else
    1257 # define YYERROR_VERBOSE 0
    1258 #endif
    1259
    1260 /* Enabling the token table. */
    1261 #ifndef YYTOKEN_TABLE
    1262 # define YYTOKEN_TABLE 0
    1263 #endif
    1264
    1265 #if ! defined (YYSTYPE) && ! defined (YYSTYPE_IS_DECLARED)
    1266 #line 974 "/proj/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
    1267 typedef union YYSTYPE {
    10821268 llvm::Module *ModuleVal;
    10831269 llvm::Function *FunctionVal;
    10841270 std::pair *ArgVal;
    11171303 llvm::Instruction::OtherOps OtherOpVal;
    11181304 llvm::Module::Endianness Endianness;
    11191305 } YYSTYPE;
    1120 #include
    1121
    1122 #ifndef __cplusplus
    1123 #ifndef __STDC__
    1124 #define const
    1306 /* Line 196 of yacc.c. */
    1307 #line 1309 "llvmAsmParser.tab.c"
    1308 # define yystype YYSTYPE /* obsolescent; will be withdrawn */
    1309 # define YYSTYPE_IS_DECLARED 1
    1310 # define YYSTYPE_IS_TRIVIAL 1
    11251311 #endif
    1312
    1313
    1314
    1315 /* Copy the second part of user declarations. */
    1316
    1317
    1318 /* Line 219 of yacc.c. */
    1319 #line 1321 "llvmAsmParser.tab.c"
    1320
    1321 #if ! defined (YYSIZE_T) && defined (__SIZE_TYPE__)
    1322 # define YYSIZE_T __SIZE_TYPE__
    11261323 #endif
    1127
    1128
    1129
    1130 #define YYFINAL 517
    1131 #define YYFLAG -32768
    1132 #define YYNTBASE 123
    1133
    1134 #define YYTRANSLATE(x) ((unsigned)(x) <= 362 ? yytranslate[x] : 197)
    1135
    1136 static const char yytranslate[] = { 0,
    1137 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
    1138 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
    1139 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
    1140 2, 2, 2, 2, 2, 2, 2, 2, 2, 112,
    1141 113, 121, 2, 110, 2, 2, 2, 2, 2, 2,
    1142 2, 2, 2, 2, 2, 2, 2, 2, 2, 117,
    1143 109, 118, 2, 2, 2, 2, 2, 2, 2, 2,
    1144 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
    1145 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
    1146 114, 111, 116, 2, 2, 2, 2, 2, 122, 2,
    1147 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
    1148 2, 2, 2, 2, 2, 2, 2, 2, 2, 115,
    1149 2, 2, 119, 2, 120, 2, 2, 2, 2, 2,
    1150 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
    1151 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
    1152 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
    1153 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
    1154 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
    1155 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
    1156 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
    1157 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
    1158 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
    1159 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
    1160 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
    1161 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
    1162 2, 2, 2, 2, 2, 1, 3, 4, 5, 6,
    1163 7, 8, 9, 10, 11, 12, 13, 14, 15, 16,
    1164 17, 18, 19, 20, 21, 22, 23, 24, 25, 26,
    1165 27, 28, 29, 30, 31, 32, 33, 34, 35, 36,
    1166 37, 38, 39, 40, 41, 42, 43, 44, 45, 46,
    1167 47, 48, 49, 50, 51, 52, 53, 54, 55, 56,
    1168 57, 58, 59, 60, 61, 62, 63, 64, 65, 66,
    1169 67, 68, 69, 70, 71, 72, 73, 74, 75, 76,
    1170 77, 78, 79, 80, 81, 82, 83, 84, 85, 86,
    1171 87, 88, 89, 90, 91, 92, 93, 94, 95, 96,
    1172 97, 98, 99, 100, 101, 102, 103, 104, 105, 106,
    1173 107, 108
    1324 #if ! defined (YYSIZE_T) && defined (size_t)
    1325 # define YYSIZE_T size_t
    1326 #endif
    1327 #if ! defined (YYSIZE_T) && (defined (__STDC__) || defined (__cplusplus))
    1328 # include /* INFRINGES ON USER NAME SPACE */
    1329 # define YYSIZE_T size_t
    1330 #endif
    1331 #if ! defined (YYSIZE_T)
    1332 # define YYSIZE_T unsigned int
    1333 #endif
    1334
    1335 #ifndef YY_
    1336 # if YYENABLE_NLS
    1337 # if ENABLE_NLS
    1338 # include /* INFRINGES ON USER NAME SPACE */
    1339 # define YY_(msgid) dgettext ("bison-runtime", msgid)
    1340 # endif
    1341 # endif
    1342 # ifndef YY_
    1343 # define YY_(msgid) msgid
    1344 # endif
    1345 #endif
    1346
    1347 #if ! defined (yyoverflow) || YYERROR_VERBOSE
    1348
    1349 /* The parser invokes alloca or malloc; define the necessary symbols. */
    1350
    1351 # ifdef YYSTACK_USE_ALLOCA
    1352 # if YYSTACK_USE_ALLOCA
    1353 # ifdef __GNUC__
    1354 # define YYSTACK_ALLOC __builtin_alloca
    1355 # else
    1356 # define YYSTACK_ALLOC alloca
    1357 # if defined (__STDC__) || defined (__cplusplus)
    1358 # include /* INFRINGES ON USER NAME SPACE */
    1359 # define YYINCLUDED_STDLIB_H
    1360 # endif
    1361 # endif
    1362 # endif
    1363 # endif
    1364
    1365 # ifdef YYSTACK_ALLOC
    1366 /* Pacify GCC's `empty if-body' warning. */
    1367 # define YYSTACK_FREE(Ptr) do { /* empty */; } while (0)
    1368 # ifndef YYSTACK_ALLOC_MAXIMUM
    1369 /* The OS might guarantee only one guard page at the bottom of the stack,
    1370 and a page size can be as small as 4096 bytes. So we cannot safely
    1371 invoke alloca (N) if N exceeds 4096. Use a slightly smaller number
    1372 to allow for a few compiler-allocated temporary stack slots. */
    1373 # define YYSTACK_ALLOC_MAXIMUM 4032 /* reasonable circa 2005 */
    1374 # endif
    1375 # else
    1376 # define YYSTACK_ALLOC YYMALLOC
    1377 # define YYSTACK_FREE YYFREE
    1378 # ifndef YYSTACK_ALLOC_MAXIMUM
    1379 # define YYSTACK_ALLOC_MAXIMUM ((YYSIZE_T) -1)
    1380 # endif
    1381 # ifdef __cplusplus
    1382 extern "C" {
    1383 # endif
    1384 # ifndef YYMALLOC
    1385 # define YYMALLOC malloc
    1386 # if (! defined (malloc) && ! defined (YYINCLUDED_STDLIB_H) \
    1387 && (defined (__STDC__) || defined (__cplusplus)))
    1388 void *malloc (YYSIZE_T); /* INFRINGES ON USER NAME SPACE */
    1389 # endif
    1390 # endif
    1391 # ifndef YYFREE
    1392 # define YYFREE free
    1393 # if (! defined (free) && ! defined (YYINCLUDED_STDLIB_H) \
    1394 && (defined (__STDC__) || defined (__cplusplus)))
    1395 void free (void *); /* INFRINGES ON USER NAME SPACE */
    1396 # endif
    1397 # endif
    1398 # ifdef __cplusplus
    1399 }
    1400 # endif
    1401 # endif
    1402 #endif /* ! defined (yyoverflow) || YYERROR_VERBOSE */
    1403
    1404
    1405 #if (! defined (yyoverflow) \
    1406 && (! defined (__cplusplus) \
    1407 || (defined (YYSTYPE_IS_TRIVIAL) && YYSTYPE_IS_TRIVIAL)))
    1408
    1409 /* A type that is properly aligned for any stack member. */
    1410 union yyalloc
    1411 {
    1412 short int yyss;
    1413 YYSTYPE yyvs;
    1414 };
    1415
    1416 /* The size of the maximum gap between one aligned stack and the next. */
    1417 # define YYSTACK_GAP_MAXIMUM (sizeof (union yyalloc) - 1)
    1418
    1419 /* The size of an array large to enough to hold all stacks, each with
    1420 N elements. */
    1421 # define YYSTACK_BYTES(N) \
    1422 ((N) * (sizeof (short int) + sizeof (YYSTYPE)) \
    1423 + YYSTACK_GAP_MAXIMUM)
    1424
    1425 /* Copy COUNT objects from FROM to TO. The source and destination do
    1426 not overlap. */
    1427 # ifndef YYCOPY
    1428 # if defined (__GNUC__) && 1 < __GNUC__
    1429 # define YYCOPY(To, From, Count) \
    1430 __builtin_memcpy (To, From, (Count) * sizeof (*(From)))
    1431 # else
    1432 # define YYCOPY(To, From, Count) \
    1433 do \
    1434 { \
    1435 YYSIZE_T yyi; \
    1436 for (yyi = 0; yyi < (Count); yyi++) \
    1437 (To)[yyi] = (From)[yyi]; \
    1438 } \
    1439 while (0)
    1440 # endif
    1441 # endif
    1442
    1443 /* Relocate STACK from its old location to the new one. The
    1444 local variables YYSIZE and YYSTACKSIZE give the old and new number of
    1445 elements in the stack, and YYPTR gives the new location of the
    1446 stack. Advance YYPTR to a properly aligned location for the next
    1447 stack. */
    1448 # define YYSTACK_RELOCATE(Stack) \
    1449 do \
    1450 { \
    1451 YYSIZE_T yynewbytes; \
    1452 YYCOPY (&yyptr->Stack, Stack, yysize); \
    1453 Stack = &yyptr->Stack; \
    1454 yynewbytes = yystacksize * sizeof (*Stack) + YYSTACK_GAP_MAXIMUM; \
    1455 yyptr += yynewbytes / sizeof (*yyptr); \
    1456 } \
    1457 while (0)
    1458
    1459 #endif
    1460
    1461 #if defined (__STDC__) || defined (__cplusplus)
    1462 typedef signed char yysigned_char;
    1463 #else
    1464 typedef short int yysigned_char;
    1465 #endif
    1466
    1467 /* YYFINAL -- State number of the termination state. */
    1468 #define YYFINAL 4
    1469 /* YYLAST -- Last index in YYTABLE. */
    1470 #define YYLAST 1339
    1471
    1472 /* YYNTOKENS -- Number of terminals. */
    1473 #define YYNTOKENS 123
    1474 /* YYNNTS -- Number of nonterminals. */
    1475 #define YYNNTS 75
    1476 /* YYNRULES -- Number of rules. */
    1477 #define YYNRULES 252
    1478 /* YYNRULES -- Number of states. */
    1479 #define YYNSTATES 517
    1480
    1481 /* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX. */
    1482 #define YYUNDEFTOK 2
    1483 #define YYMAXUTOK 363
    1484
    1485 #define YYTRANSLATE(YYX) \
    1486 ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK)
    1487
    1488 /* YYTRANSLATE[YYLEX] -- Bison symbol number corresponding to YYLEX. */
    1489 static const unsigned char yytranslate[] =
    1490 {
    1491 0, 2, 2, 2, 2, 2, 2, 2, 2, 2,
    1492 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
    1493 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
    1494 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
    1495 112, 113, 121, 2, 110, 2, 2, 2, 2, 2,
    1496 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
    1497 117, 109, 118, 2, 2, 2, 2, 2, 2, 2,
    1498 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
    1499 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
    1500 2, 114, 111, 116, 2, 2, 2, 2, 2, 122,
    1501 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
    1502 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
    1503 115, 2, 2, 119, 2, 120, 2, 2, 2, 2,
    1504 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
    1505 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
    1506 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
    1507 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
    1508 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
    1509 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
    1510 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
    1511 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
    1512 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
    1513 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
    1514 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
    1515 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
    1516 2, 2, 2, 2, 2, 2, 1, 2, 3, 4,
    1517 5, 6, 7, 8, 9, 10, 11, 12, 13, 14,
    1518 15, 16, 17, 18, 19, 20, 21, 22, 23, 24,
    1519 25, 26, 27, 28, 29, 30, 31, 32, 33, 34,
    1520 35, 36, 37, 38, 39, 40, 41, 42, 43, 44,
    1521 45, 46, 47, 48, 49, 50, 51, 52, 53, 54,
    1522 55, 56, 57, 58, 59, 60, 61, 62, 63, 64,
    1523 65, 66, 67, 68, 69, 70, 71, 72, 73, 74,
    1524 75, 76, 77, 78, 79, 80, 81, 82, 83, 84,
    1525 85, 86, 87, 88, 89, 90, 91, 92, 93, 94,
    1526 95, 96, 97, 98, 99, 100, 101, 102, 103, 104,
    1527 105, 106, 107, 108
    11741528 };
    11751529
    1176 #if YYDEBUG != 0
    1177 static const short yyprhs[] = { 0,
    1178 0, 2, 4, 6, 8, 10, 12, 14, 16, 18,
    1179 20, 22, 24, 26, 28, 30, 32, 34, 36, 38,
    1180 40, 42, 44, 46, 48, 50, 52, 54, 56, 58,
    1181 60, 62, 64, 67, 68, 70, 72, 74, 76, 78,
    1182 80, 82, 83, 84, 86, 88, 90, 92, 94, 96,
    1183 99, 100, 103, 104, 108, 111, 112, 114, 115, 119,
    1184 121, 124, 126, 128, 130, 132, 134, 136, 138, 140,
    1185 142, 144, 146, 148, 150, 152, 154, 156, 158, 160,
    1186 162, 164, 166, 169, 174, 180, 186, 190, 193, 196,
    1187 198, 202, 204, 208, 210, 211, 216, 220, 224, 229,
    1188 234, 238, 241, 244, 247, 250, 253, 256, 259, 262,
    1189 265, 268, 275, 281, 290, 297, 304, 311, 318, 325,
    1190 334, 343, 347, 349, 351, 353, 355, 358, 361, 366,
    1191 369, 371, 376, 379, 384, 385, 393, 394, 402, 403,
    1192 411, 412, 420, 424, 429, 430, 432, 434, 436, 440,
    1193 444, 448, 452, 456, 460, 462, 463, 465, 467, 469,
    1194 470, 473, 477, 479, 481, 485, 487, 488, 497, 499,
    1195 501, 505, 507, 509, 512, 513, 515, 517, 518, 523,
    1196 524, 526, 528, 530, 532, 534, 536, 538, 540, 542,
    1197 546, 548, 554, 556, 558, 560, 562, 565, 568, 571,
    1198 575, 578, 579, 581, 584, 587, 591, 601, 611, 620,
    1199 634, 636, 638, 645, 651, 654, 661, 669, 671, 675,
    1200 677, 678, 681, 683, 689, 695, 701, 704, 709, 714,
    1201 721, 726, 731, 736, 741, 748, 755, 758, 766, 768,
    1202 771, 772, 774, 775, 779, 786, 790, 797, 800, 805,
    1203 812
    1530 #if YYDEBUG
    1531 /* YYPRHS[YYN] -- Index of the first RHS symbol of rule number YYN in
    1532 YYRHS. */
    1533 static const unsigned short int yyprhs[] =
    1534 {
    1535 0, 0, 3, 5, 7, 9, 11, 13, 15, 17,
    1536 19, 21, 23, 25, 27, 29, 31, 33, 35, 37,
    1537 39, 41, 43, 45, 47, 49, 51, 53, 55, 57,
    1538 59, 61, 63, 65, 67, 70, 71, 73, 75, 77,
    1539 79, 81, 83, 85, 86, 87, 89, 91, 93, 95,
    1540 97, 99, 102, 103, 106, 107, 111, 114, 115, 117,
    1541 118, 122, 124, 127, 129, 131, 133, 135, 137, 139,
    1542 141, 143, 145, 147, 149, 151, 153, 155, 157, 159,
    1543 161, 163, 165, 167, 169, 172, 177, 183, 189, 193,
    1544 196, 199, 201, 205, 207, 211, 213, 214, 219, 223,
    1545 227, 232, 237, 241, 244, 247, 250, 253, 256, 259,
    1546 262, 265, 268, 271, 278, 284, 293, 300, 307, 314,
    1547 321, 328, 337, 346, 350, 352, 354, 356, 358, 361,
    1548 364, 369, 372, 374, 379, 382, 387, 388, 396, 397,
    1549 405, 406, 414, 415, 423, 427, 432, 433, 435, 437,
    1550 439, 443, 447, 451, 455, 459, 463, 465, 466, 468,
    1551 470, 472, 473, 476, 480, 482, 484, 488, 490, 491,
    1552 500, 502, 504, 508, 510, 512, 515, 516, 518, 520,
    1553 521, 526, 527, 529, 531, 533, 535, 537, 539, 541,
    1554 543, 545, 549, 551, 557, 559, 561, 563, 565, 568,
    1555 571, 574, 578, 581, 582, 584, 587, 590, 594, 604,
    1556 614, 623, 637, 639, 641, 648, 654, 657, 664, 672,
    1557 674, 678, 680, 681, 684, 686, 692, 698, 704, 707,
    1558 712, 717, 724, 729, 734, 739, 744, 751, 758, 761,
    1559 769, 771, 774, 775, 777, 778, 782, 789, 793, 800,
    1560 803, 808, 815
    12041561 };
    12051562
    1206 static const short yyrhs[] = { 5,
    1207 0, 6, 0, 3, 0, 4, 0, 78, 0, 79,
    1208 0, 80, 0, 81, 0, 82, 0, 83, 0, 84,
    1209 0, 85, 0, 86, 0, 87, 0, 88, 0, 89,
    1210 0, 90, 0, 91, 0, 101, 0, 102, 0, 16,
    1211 0, 14, 0, 12, 0, 10, 0, 17, 0, 15,
    1212 0, 13, 0, 11, 0, 129, 0, 130, 0, 18,
    1213 0, 19, 0, 165, 109, 0, 0, 41, 0, 42,
    1214 0, 43, 0, 44, 0, 45, 0, 46, 0, 47,
    1215 0, 0, 0, 65, 0, 66, 0, 67, 0, 68,
    1216 0, 69, 0, 70, 0, 64, 4, 0, 0, 57,
    1217 4, 0, 0, 110, 57, 4, 0, 34, 24, 0,
    1218 0, 138, 0, 0, 110, 141, 140, 0, 138, 0,
    1219 57, 4, 0, 144, 0, 8, 0, 146, 0, 8,
    1220 0, 146, 0, 9, 0, 10, 0, 11, 0, 12,
    1221 0, 13, 0, 14, 0, 15, 0, 16, 0, 17,
    1222 0, 18, 0, 19, 0, 20, 0, 21, 0, 48,
    1223 0, 145, 0, 180, 0, 111, 4, 0, 143, 112,
    1224 148, 113, 0, 114, 4, 115, 146, 116, 0, 117,
    1225 4, 115, 146, 118, 0, 119, 147, 120, 0, 119,
    1226 120, 0, 146, 121, 0, 146, 0, 147, 110, 146,
    1227 0, 147, 0, 147, 110, 37, 0, 37, 0, 0,
    1228 144, 114, 151, 116, 0, 144, 114, 116, 0, 144,
    1229 122, 24, 0, 144, 117, 151, 118, 0, 144, 119,
    1230 151, 120, 0, 144, 119, 120, 0, 144, 38, 0,
    1231 144, 39, 0, 144, 180, 0, 144, 150, 0, 144,
    1232 26, 0, 129, 124, 0, 130, 4, 0, 9, 27,
    1233 0, 9, 28, 0, 132, 7, 0, 99, 112, 149,
    1234 36, 144, 113, 0, 97, 112, 149, 194, 113, 0,
    1235 100, 112, 149, 110, 149, 110, 149, 113, 0, 125,
    1236 112, 149, 110, 149, 113, 0, 126, 112, 149, 110,
    1237 149, 113, 0, 127, 112, 149, 110, 149, 113, 0,
    1238 128, 112, 149, 110, 149, 113, 0, 104, 112, 149,
    1239 110, 149, 113, 0, 105, 112, 149, 110, 149, 110,
    1240 149, 113, 0, 106, 112, 149, 110, 149, 110, 149,
    1241 113, 0, 151, 110, 149, 0, 149, 0, 32, 0,
    1242 33, 0, 154, 0, 154, 174, 0, 154, 176, 0,
    1243 154, 62, 61, 160, 0, 154, 25, 0, 155, 0,
    1244 155, 133, 20, 142, 0, 155, 176, 0, 155, 62,
    1245 61, 160, 0, 0, 155, 133, 134, 152, 149, 156,
    1246 140, 0, 0, 155, 133, 50, 152, 144, 157, 140,
    1247 0, 0, 155, 133, 45, 152, 144, 158, 140, 0,
    1248 0, 155, 133, 47, 152, 144, 159, 140, 0, 155,
    1249 51, 162, 0, 155, 58, 109, 163, 0, 0, 24,
    1250 0, 56, 0, 55, 0, 53, 109, 161, 0, 54,
    1251 109, 4, 0, 52, 109, 24, 0, 71, 109, 24,
    1252 0, 114, 164, 116, 0, 164, 110, 24, 0, 24,
    1253 0, 0, 22, 0, 24, 0, 165, 0, 0, 144,
    1254 166, 0, 168, 110, 167, 0, 167, 0, 168, 0,
    1255 168, 110, 37, 0, 37, 0, 0, 135, 142, 165,
    1256 112, 169, 113, 139, 136, 0, 29, 0, 119, 0,
    1257 134, 170, 171, 0, 30, 0, 120, 0, 183, 173,
    1258 0, 0, 45, 0, 47, 0, 0, 31, 177, 175,
    1259 170, 0, 0, 63, 0, 3, 0, 4, 0, 7,
    1260 0, 27, 0, 28, 0, 38, 0, 39, 0, 26,
    1261 0, 117, 151, 118, 0, 150, 0, 61, 178, 24,
    1262 110, 24, 0, 123, 0, 165, 0, 180, 0, 179,
    1263 0, 144, 181, 0, 183, 184, 0, 172, 184, 0,
    1264 185, 133, 186, 0, 185, 188, 0, 0, 23, 0,
    1265 72, 182, 0, 72, 8, 0, 73, 21, 181, 0,
    1266 73, 9, 181, 110, 21, 181, 110, 21, 181, 0,
    1267 74, 131, 181, 110, 21, 181, 114, 187, 116, 0,
    1268 74, 131, 181, 110, 21, 181, 114, 116, 0, 75,
    1269 135, 142, 181, 112, 191, 113, 36, 21, 181, 76,
    1270 21, 181, 0, 76, 0, 77, 0, 187, 131, 179,
    1271 110, 21, 181, 0, 131, 179, 110, 21, 181, 0,
    1272 133, 193, 0, 144, 114, 181, 110, 181, 116, 0,
    1273 189, 110, 114, 181, 110, 181, 116, 0, 182, 0,
    1274 190, 110, 182, 0, 190, 0, 0, 60, 59, 0,
    1275 59, 0, 125, 144, 181, 110, 181, 0, 126, 144,
    1276 181, 110, 181, 0, 127, 144, 181, 110, 181, 0,
    1277 49, 182, 0, 128, 182, 110, 182, 0, 99, 182,
    1278 36, 144, 0, 100, 182, 110, 182, 110, 182, 0,
    1279 103, 182, 110, 144, 0, 107, 182, 110, 144, 0,
    1280 108, 182, 110, 144, 0, 104, 182, 110, 182, 0,
    1281 105, 182, 110, 182, 110, 182, 0, 106, 182, 110,
    1282 182, 110, 182, 0, 98, 189, 0, 192, 135, 142,
    1283 181, 112, 191, 113, 0, 196, 0, 110, 190, 0,
    1284 0, 35, 0, 0, 92, 144, 137, 0, 92, 144,
    1285 110, 15, 181, 137, 0, 93, 144, 137, 0, 93,
    1286 144, 110, 15, 181, 137, 0, 94, 182, 0, 195,
    1287 95, 144, 181, 0, 195, 96, 182, 110, 144, 181,
    1288 0, 97, 144, 181, 194, 0
    1563 /* YYRHS -- A `-1'-separated list of the rules' RHS. */
    1564 static const short int yyrhs[] =
    1565 {
    1566 154, 0, -1, 5, -1, 6, -1, 3, -1, 4,
    1567 -1, 78, -1, 79, -1, 80, -1, 81, -1, 82,
    1568 -1, 83, -1, 84, -1, 85, -1, 86, -1, 87,
    1569 -1, 88, -1, 89, -1, 90, -1, 91, -1, 101,
    1570 -1, 102, -1, 16, -1, 14, -1, 12, -1, 10,
    1571 -1, 17, -1, 15, -1, 13, -1, 11, -1, 130,
    1572 -1, 131, -1, 18, -1, 19, -1, 166, 109, -1,
    1573 -1, 41, -1, 42, -1, 43, -1, 44, -1, 45,
    1574 -1, 46, -1, 47, -1, -1, -1, 65, -1, 66,
    1575 -1, 67, -1, 68, -1, 69, -1, 70, -1, 64,
    1576 4, -1, -1, 57, 4, -1, -1, 110, 57, 4,
    1577 -1, 34, 24, -1, -1, 139, -1, -1, 110, 142,
    1578 141, -1, 139, -1, 57, 4, -1, 145, -1, 8,
    1579 -1, 147, -1, 8, -1, 147, -1, 9, -1, 10,
    1580 -1, 11, -1, 12, -1, 13, -1, 14, -1, 15,
    1581 -1, 16, -1, 17, -1, 18, -1, 19, -1, 20,
    1582 -1, 21, -1, 48, -1, 146, -1, 181, -1, 111,
    1583 4, -1, 144, 112, 149, 113, -1, 114, 4, 115,
    1584 147, 116, -1, 117, 4, 115, 147, 118, -1, 119,
    1585 148, 120, -1, 119, 120, -1, 147, 121, -1, 147,
    1586 -1, 148, 110, 147, -1, 148, -1, 148, 110, 37,
    1587 -1, 37, -1, -1, 145, 114, 152, 116, -1, 145,
    1588 114, 116, -1, 145, 122, 24, -1, 145, 117, 152,
    1589 118, -1, 145, 119, 152, 120, -1, 145, 119, 120,
    1590 -1, 145, 38, -1, 145, 39, -1, 145, 181, -1,
    1591 145, 151, -1, 145, 26, -1, 130, 125, -1, 131,
    1592 4, -1, 9, 27, -1, 9, 28, -1, 133, 7,
    1593 -1, 99, 112, 150, 36, 145, 113, -1, 97, 112,
    1594 150, 195, 113, -1, 100, 112, 150, 110, 150, 110,
    1595 150, 113, -1, 126, 112, 150, 110, 150, 113, -1,
    1596 127, 112, 150, 110, 150, 113, -1, 128, 112, 150,
    1597 110, 150, 113, -1, 129, 112, 150, 110, 150, 113,
    1598 -1, 104, 112, 150, 110, 150, 113, -1, 105, 112,
    1599 150, 110, 150, 110, 150, 113, -1, 106, 112, 150,
    1600 110, 150, 110, 150, 113, -1, 152, 110, 150, -1,
    1601 150, -1, 32, -1, 33, -1, 155, -1, 155, 175,
    1602 -1, 155, 177, -1, 155, 62, 61, 161, -1, 155,
    1603 25, -1, 156, -1, 156, 134, 20, 143, -1, 156,
    1604 177, -1, 156, 62, 61, 161, -1, -1, 156, 134,
    1605 135, 153, 150, 157, 141, -1, -1, 156, 134, 50,
    1606 153, 145, 158, 141, -1, -1, 156, 134, 45, 153,
    1607 145, 159, 141, -1, -1, 156, 134, 47, 153, 145,
    1608 160, 141, -1, 156, 51, 163, -1, 156, 58, 109,
    1609 164, -1, -1, 24, -1, 56, -1, 55, -1, 53,
    1610 109, 162, -1, 54, 109, 4, -1, 52, 109, 24,
    1611 -1, 71, 109, 24, -1, 114, 165, 116, -1, 165,
    1612 110, 24, -1, 24, -1, -1, 22, -1, 24, -1,
    1613 166, -1, -1, 145, 167, -1, 169, 110, 168, -1,
    1614 168, -1, 169, -1, 169, 110, 37, -1, 37, -1,
    1615 -1, 136, 143, 166, 112, 170, 113, 140, 137, -1,
    1616 29, -1, 119, -1, 135, 171, 172, -1, 30, -1,
    1617 120, -1, 184, 174, -1, -1, 45, -1, 47, -1,
    1618 -1, 31, 178, 176, 171, -1, -1, 63, -1, 3,
    1619 -1, 4, -1, 7, -1, 27, -1, 28, -1, 38,
    1620 -1, 39, -1, 26, -1, 117, 152, 118, -1, 151,
    1621 -1, 61, 179, 24, 110, 24, -1, 124, -1, 166,
    1622 -1, 181, -1, 180, -1, 145, 182, -1, 184, 185,
    1623 -1, 173, 185, -1, 186, 134, 187, -1, 186, 189,
    1624 -1, -1, 23, -1, 72, 183, -1, 72, 8, -1,
    1625 73, 21, 182, -1, 73, 9, 182, 110, 21, 182,
    1626 110, 21, 182, -1, 74, 132, 182, 110, 21, 182,
    1627 114, 188, 116, -1, 74, 132, 182, 110, 21, 182,
    1628 114, 116, -1, 75, 136, 143, 182, 112, 192, 113,
    1629 36, 21, 182, 76, 21, 182, -1, 76, -1, 77,
    1630 -1, 188, 132, 180, 110, 21, 182, -1, 132, 180,
    1631 110, 21, 182, -1, 134, 194, -1, 145, 114, 182,
    1632 110, 182, 116, -1, 190, 110, 114, 182, 110, 182,
    1633 116, -1, 183, -1, 191, 110, 183, -1, 191, -1,
    1634 -1, 60, 59, -1, 59, -1, 126, 145, 182, 110,
    1635 182, -1, 127, 145, 182, 110, 182, -1, 128, 145,
    1636 182, 110, 182, -1, 49, 183, -1, 129, 183, 110,
    1637 183, -1, 99, 183, 36, 145, -1, 100, 183, 110,
    1638 183, 110, 183, -1, 103, 183, 110, 145, -1, 107,
    1639 183, 110, 145, -1, 108, 183, 110, 145, -1, 104,
    1640 183, 110, 183, -1, 105, 183, 110, 183, 110, 183,
    1641 -1, 106, 183, 110, 183, 110, 183, -1, 98, 190,
    1642 -1, 193, 136, 143, 182, 112, 192, 113, -1, 197,
    1643 -1, 110, 191, -1, -1, 35, -1, -1, 92, 145,
    1644 138, -1, 92, 145, 110, 15, 182, 138, -1, 93,
    1645 145, 138, -1, 93, 145, 110, 15, 182, 138, -1,
    1646 94, 183, -1, 196, 95, 145, 182, -1, 196, 96,
    1647 183, 110, 145, 182, -1, 97, 145, 182, 195, -1
    12891648 };
    12901649
    1291 #endif
    1292
    1293 #if YYDEBUG != 0
    1294 static const short yyrline[] = { 0,
    1295 1097, 1098, 1106, 1107, 1117, 1117, 1117, 1117, 1117, 1118,
    1296 1118, 1118, 1119, 1119, 1119, 1119, 1119, 1119, 1121, 1121,
    1297 1125, 1125, 1125, 1125, 1126, 1126, 1126, 1126, 1127, 1127,
    1298 1128, 1128, 1131, 1135, 1140, 1140, 1141, 1142, 1143, 1144,
    1299 1145, 1146, 1149, 1149, 1150, 1151, 1152, 1153, 1154, 1155,
    1300 1165, 1165, 1172, 1172, 1181, 1189, 1189, 1195, 1195, 1197,
    1301 1202, 1216, 1216, 1217, 1217, 1219, 1229, 1229, 1229, 1229,
    1302 1229, 1229, 1229, 1230, 1230, 1230, 1230, 1230, 1230, 1231,
    1303 1235, 1239, 1247, 1255, 1268, 1273, 1285, 1295, 1299, 1310,
    1304 1315, 1321, 1322, 1326, 1330, 1341, 1367, 1381, 1411, 1437,
    1305 1458, 1471, 1481, 1486, 1547, 1554, 1563, 1569, 1575, 1579,
    1306 1583, 1591, 1602, 1634, 1642, 1664, 1675, 1681, 1689, 1695,
    1307 1701, 1710, 1714, 1722, 1722, 1732, 1740, 1745, 1749, 1753,
    1308 1757, 1772, 1794, 1797, 1800, 1805, 1808, 1812, 1816, 1820,
    1309 1824, 1829, 1833, 1836, 1839, 1843, 1856, 1857, 1859, 1863,
    1310 1872, 1877, 1883, 1885, 1890, 1895, 1904, 1904, 1905, 1905,
    1311 1907, 1914, 1920, 1927, 1931, 1937, 1942, 1947, 2042, 2042,
    1312 2044, 2052, 2052, 2054, 2059, 2059, 2060, 2063, 2063, 2073,
    1313 2077, 2082, 2086, 2090, 2094, 2098, 2102, 2106, 2110, 2114,
    1314 2139, 2143, 2157, 2161, 2167, 2167, 2173, 2178, 2182, 2191,
    1315 2202, 2207, 2219, 2232, 2236, 2240, 2245, 2254, 2273, 2282,
    1316 2338, 2342, 2349, 2360, 2373, 2382, 2391, 2401, 2405, 2412,
    1317 2412, 2414, 2418, 2423, 2439, 2454, 2468, 2481, 2489, 2497,
    1318 2505, 2511, 2531, 2554, 2560, 2566, 2572, 2587, 2646, 2653,
    1319 2656, 2661, 2665, 2672, 2677, 2683, 2688, 2694, 2702, 2714,
    1320 2729
    1650 /* YYRLINE[YYN] -- source line where rule number YYN was defined. */
    1651 static const unsigned short int yyrline[] =
    1652 {
    1653 0, 1097, 1097, 1098, 1106, 1107, 1117, 1117, 1117, 1117,
    1654 1117, 1118, 1118, 1118, 1119, 1119, 1119, 1119, 1119, 1119,
    1655 1121, 1121, 1125, 1125, 1125, 1125, 1126, 1126, 1126, 1126,
    1656 1127, 1127, 1128, 1128, 1131, 1135, 1140, 1141, 1142, 1143,
    1657 1144, 1145, 1146, 1147, 1149, 1150, 1151, 1152, 1153, 1154,
    1658 1155, 1156, 1165, 1166, 1172, 1173, 1181, 1189, 1190, 1195,
    1659 1196, 1197, 1202, 1216, 1216, 1217, 1217, 1219, 1229, 1229,
    1660 1229, 1229, 1229, 1229, 1229, 1230, 1230, 1230, 1230, 1230,
    1661 1230, 1231, 1235, 1239, 1247, 1255, 1268, 1273, 1285, 1295,
    1662 1299, 1310, 1315, 1321, 1322, 1326, 1330, 1341, 1367, 1381,
    1663 1411, 1437, 1458, 1471, 1481, 1486, 1547, 1554, 1563, 1569,
    1664 1575, 1579, 1583, 1591, 1602, 1634, 1642, 1664, 1675, 1681,
    1665 1689, 1695, 1701, 1710, 1714, 1722, 1722, 1732, 1740, 1745,
    1666 1749, 1753, 1757, 1772, 1794, 1797, 1800, 1800, 1808, 1808,
    1667 1816, 1816, 1824, 1824, 1833, 1836, 1839, 1843, 1856, 1857,
    1668 1859, 1863, 1872, 1877, 1883, 1885, 1890, 1895, 1904, 1904,
    1669 1905, 1905, 1907, 1914, 1920, 1927, 1931, 1937, 1942, 1947,
    1670 2042, 2042, 2044, 2052, 2052, 2054, 2059, 2060, 2061, 2063,
    1671 2063, 2073, 2077, 2082, 2086, 2090, 2094, 2098, 2102, 2106,
    1672 2110, 2114, 2139, 2143, 2157, 2161, 2167, 2167, 2173, 2178,
    1673 2182, 2191, 2202, 2207, 2219, 2232, 2236, 2240, 2245, 2254,
    1674 2273, 2282, 2338, 2342, 2349, 2360, 2373, 2382, 2391, 2401,
    1675 2405, 2412, 2412, 2414, 2418, 2423, 2439, 2454, 2468, 2481,
    1676 2489, 2497, 2505, 2511, 2531, 2554, 2560, 2566, 2572, 2587,
    1677 2646, 2653, 2656, 2661, 2665, 2672, 2677, 2683, 2688, 2694,
    1678 2702, 2714, 2729
    13211679 };
    13221680 #endif
    13231681
    1324
    1325 #if YYDEBUG != 0 || defined (YYERROR_VERBOSE)
    1326
    1327 static const char * const yytname[] = { "$","error","$undefined.","ESINT64VAL",
    1328 "EUINT64VAL","SINTVAL","UINTVAL","FPVAL","VOID","BOOL","SBYTE","UBYTE","SHORT",
    1329 "USHORT","INT","UINT","LONG","ULONG","FLOAT","DOUBLE","TYPE","LABEL","VAR_ID",
    1330 "LABELSTR","STRINGCONSTANT","IMPLEMENTATION","ZEROINITIALIZER","TRUETOK","FALSETOK",
    1331 "BEGINTOK","ENDTOK","DECLARE","GLOBAL","CONSTANT","SECTION","VOLATILE","TO",
    1332 "DOTDOTDOT","NULL_TOK","UNDEF","CONST","INTERNAL","LINKONCE","WEAK","APPENDING",
    1333 "DLLIMPORT","DLLEXPORT","EXTERN_WEAK","OPAQUE","NOT","EXTERNAL","TARGET","TRIPLE",
    1334 "ENDIAN","POINTERSIZE","LITTLE","BIG","ALIGN","DEPLIBS","CALL","TAIL","ASM_TOK",
    1335 "MODULE","SIDEEFFECT","CC_TOK","CCC_TOK","CSRETCC_TOK","FASTCC_TOK","COLDCC_TOK",
    1336 "X86_STDCALLCC_TOK","X86_FASTCALLCC_TOK","DATA","RET","BR","SWITCH","INVOKE",
    1337 "UNWIND","UNREACHABLE","ADD","SUB","MUL","DIV","REM","AND","OR","XOR","SETLE",
    1338 "SETGE","SETLT","SETGT","SETEQ","SETNE","MALLOC","ALLOCA","FREE","LOAD","STORE",
    1339 "GETELEMENTPTR","PHI_TOK","CAST","SELECT","SHL","SHR","VAARG","EXTRACTELEMENT",
    1340 "INSERTELEMENT","SHUFFLEVECTOR","VAARG_old","VANEXT_old","'='","','","'\\\\'",
    1341 "'('","')'","'['","'x'","']'","'<'","'>'","'{'","'}'","'*'","'c'","INTVAL","EINT64VAL",
    1342 "ArithmeticOps","LogicalOps","SetCondOps","ShiftOps","SIntType","UIntType","IntType",
    1343 "FPType","OptAssign","OptLinkage","OptCallingConv","OptAlign","OptCAlign","SectionString",
    1344 "OptSection","GlobalVarAttributes","GlobalVarAttribute","TypesV","UpRTypesV",
    1345 "Types","PrimType","UpRTypes","TypeListI","ArgTypeListI","ConstVal","ConstExpr",
    1346 "ConstVector","GlobalType","Module","FunctionList","ConstPool","@1","@2","@3",
    1347 "@4","AsmBlock","BigOrLittle","TargetDefinition","LibrariesDefinition","LibList",
    1348 "Name","OptName","ArgVal","ArgListH","ArgList","FunctionHeaderH","BEGIN","FunctionHeader",
    1349 "END","Function","FnDeclareLinkage","FunctionProto","@5","OptSideEffect","ConstValueRef",
    1350 "SymbolicValueRef","ValueRef","ResolvedVal","BasicBlockList","BasicBlock","InstructionList",
    1351 "BBTerminatorInst","JumpTable","Inst","PHIList","ValueRefList","ValueRefListE",
    1352 "OptTailCall","InstVal","IndexList","OptVolatile","MemoryInst", NULL
    1682 #if YYDEBUG || YYERROR_VERBOSE || YYTOKEN_TABLE
    1683 /* YYTNAME[SYMBOL-NUM] -- String name of the symbol SYMBOL-NUM.
    1684 First, the terminals, then, starting at YYNTOKENS, nonterminals. */
    1685 static const char *const yytname[] =
    1686 {
    1687 "$end", "error", "$undefined", "ESINT64VAL", "EUINT64VAL", "SINTVAL",
    1688 "UINTVAL", "FPVAL", "VOID", "BOOL", "SBYTE", "UBYTE", "SHORT", "USHORT",
    1689 "INT", "UINT", "LONG", "ULONG", "FLOAT", "DOUBLE", "TYPE", "LABEL",
    1690 "VAR_ID", "LABELSTR", "STRINGCONSTANT", "IMPLEMENTATION",
    1691 "ZEROINITIALIZER", "TRUETOK", "FALSETOK", "BEGINTOK", "ENDTOK",
    1692 "DECLARE", "GLOBAL", "CONSTANT", "SECTION", "VOLATILE", "TO",
    1693 "DOTDOTDOT", "NULL_TOK", "UNDEF", "CONST", "INTERNAL", "LINKONCE",
    1694 "WEAK", "APPENDING", "DLLIMPORT", "DLLEXPORT", "EXTERN_WEAK", "OPAQUE",
    1695 "NOT", "EXTERNAL", "TARGET", "TRIPLE", "ENDIAN", "POINTERSIZE", "LITTLE",
    1696 "BIG", "ALIGN", "DEPLIBS", "CALL", "TAIL", "ASM_TOK", "MODULE",
    1697 "SIDEEFFECT", "CC_TOK", "CCC_TOK", "CSRETCC_TOK", "FASTCC_TOK",
    1698 "COLDCC_TOK", "X86_STDCALLCC_TOK", "X86_FASTCALLCC_TOK", "DATA", "RET",
    1699 "BR", "SWITCH", "INVOKE", "UNWIND", "UNREACHABLE", "ADD", "SUB", "MUL",
    1700 "DIV", "REM", "AND", "OR", "XOR", "SETLE", "SETGE", "SETLT", "SETGT",
    1701 "SETEQ", "SETNE", "MALLOC", "ALLOCA", "FREE", "LOAD", "STORE",
    1702 "GETELEMENTPTR", "PHI_TOK", "CAST", "SELECT", "SHL", "SHR", "VAARG",
    1703 "EXTRACTELEMENT", "INSERTELEMENT", "SHUFFLEVECTOR", "VAARG_old",
    1704 "VANEXT_old", "'='", "','", "'\\\\'", "'('", "')'", "'['", "'x'", "']'",
    1705 "'<'", "'>'", "'{'", "'}'", "'*'", "'c'", "$accept", "INTVAL",
    1706 "EINT64VAL", "ArithmeticOps", "LogicalOps", "SetCondOps", "ShiftOps",
    1707 "SIntType", "UIntType", "IntType", "FPType", "OptAssign", "OptLinkage",
    1708 "OptCallingConv", "OptAlign", "OptCAlign", "SectionString", "OptSection",
    1709 "GlobalVarAttributes", "GlobalVarAttribute", "TypesV", "UpRTypesV",
    1710 "Types", "PrimType", "UpRTypes", "TypeListI", "ArgTypeListI", "ConstVal",
    1711 "ConstExpr", "ConstVector", "GlobalType", "Module", "FunctionList",
    1712 "ConstPool", "@1", "@2", "@3", "@4", "AsmBlock", "BigOrLittle",
    1713 "TargetDefinition", "LibrariesDefinition", "LibList", "Name", "OptName",
    1714 "ArgVal", "ArgListH", "ArgList", "FunctionHeaderH", "BEGIN",
    1715 "FunctionHeader", "END", "Function", "FnDeclareLinkage", "FunctionProto",
    1716 "@5", "OptSideEffect", "ConstValueRef", "SymbolicValueRef", "ValueRef",
    1717 "ResolvedVal", "BasicBlockList", "BasicBlock", "InstructionList",
    1718 "BBTerminatorInst", "JumpTable", "Inst", "PHIList", "ValueRefList",
    1719 "ValueRefListE", "OptTailCall", "InstVal", "IndexList", "OptVolatile",
    1720 "MemoryInst", 0
    13531721 };
    13541722 #endif
    13551723
    1356 static const short yyr1[] = { 0,
    1357 123, 123, 124, 124, 125, 125, 125, 125, 125, 126,
    1358 126, 126, 127, 127, 127, 127, 127, 127, 128, 128,
    1359 129, 129, 129, 129, 130, 130, 130, 130, 131, 131,
    1360 132, 132, 133, 133, 134, 134, 134, 134, 134, 134,
    1361 134, 134, 135, 135, 135, 135, 135, 135, 135, 135,
    1362 136, 136, 137, 137, 138, 139, 139, 140, 140, 141,
    1363 141, 142, 142, 143, 143, 144, 145, 145, 145, 145,
    1364 145, 145, 145, 145, 145, 145, 145, 145, 145, 146,
    1365 146, 146, 146, 146, 146, 146, 146, 146, 146, 147,
    1366 147, 148, 148, 148, 148, 149, 149, 149, 149, 149,
    1367 149, 149, 149, 149, 149, 149, 149, 149, 149, 149,
    1368 149, 150, 150, 150, 150, 150, 150, 150, 150, 150,
    1369 150, 151, 151, 152, 152, 153, 154, 154, 154, 154,
    1370 154, 155, 155, 155, 156, 155, 157, 155, 158, 155,
    1371 159, 155, 155, 155, 155, 160, 161, 161, 162, 162,
    1372 162, 162, 163, 164, 164, 164, 165, 165, 166, 166,
    1373 167, 168, 168, 169, 169, 169, 169, 170, 171, 171,
    1374 172, 173, 173, 174, 175, 175, 175, 177, 176, 178,
    1375 178, 179, 179, 179, 179, 179, 179, 179, 179, 179,
    1376 179, 179, 180, 180, 181, 181, 182, 183, 183, 184,
    1377 185, 185, 185, 186, 186, 186, 186, 186, 186, 186,
    1378 186, 186, 187, 187, 188, 189, 189, 190, 190, 191,
    1379 191, 192, 192, 193, 193, 193, 193, 193, 193, 193,
    1380 193, 193, 193, 193, 193, 193, 193, 193, 193, 194,
    1381 194, 195, 195, 196, 196, 196, 196, 196, 196, 196,
    1382 196
    1724 # ifdef YYPRINT
    1725 /* YYTOKNUM[YYLEX-NUM] -- Internal token number corresponding to
    1726 token YYLEX-NUM. */
    1727 static const unsigned short int yytoknum[] =
    1728 {
    1729 0, 256, 257, 258, 259, 260, 261, 262, 263, 264,
    1730 265, 266, 267, 268, 269, 270, 271, 272, 273, 274,
    1731 275, 276, 277, 278, 279, 280, 281, 282, 283, 284,
    1732 285, 286, 287, 288, 289, 290, 291, 292, 293, 294,
    1733 295, 296, 297, 298, 299, 300, 301, 302, 303, 304,
    1734 305, 306, 307, 308, 309, 310, 311, 312, 313, 314,
    1735 315, 316, 317, 318, 319, 320, 321, 322, 323, 324,
    1736 325, 326, 327, 328, 329, 330, 331, 332, 333, 334,
    1737 335, 336, 337, 338, 339, 340, 341, 342, 343, 344,
    1738 345, 346, 347, 348, 349, 350, 351, 352, 353, 354,
    1739 355, 356, 357, 358, 359, 360, 361, 362, 363, 61,
    1740 44, 92, 40, 41, 91, 120, 93, 60, 62, 123,
    1741 125, 42, 99
    13831742 };
    1384
    1385 static const short yyr2[] = { 0,
    1386 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
    1387 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
    1388 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
    1389 1, 1, 2, 0, 1, 1, 1, 1, 1, 1,
    1390 1, 0, 0, 1, 1, 1, 1, 1, 1, 2,
    1391 0, 2, 0, 3, 2, 0, 1, 0, 3, 1,
    1392 2, 1, 1, 1, 1, 1, 1, 1, 1, 1,
    1393 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
    1394 1, 1, 2, 4, 5, 5, 3, 2, 2, 1,
    1395 3, 1, 3, 1, 0, 4, 3, 3, 4, 4,
    1396 3, 2, 2, 2, 2, 2, 2, 2, 2, 2,
    1397 2, 6, 5, 8, 6, 6, 6, 6, 6, 8,
    1398 8, 3, 1, 1, 1, 1, 2, 2, 4, 2,
    1399 1, 4, 2, 4, 0, 7, 0, 7, 0, 7,
    1400 0, 7, 3, 4, 0, 1, 1, 1, 3, 3,
    1401 3, 3, 3, 3, 1, 0, 1, 1, 1, 0,
    1402 2, 3, 1, 1, 3, 1, 0, 8, 1, 1,
    1403 3, 1, 1, 2, 0, 1, 1, 0, 4, 0,
    1404 1, 1, 1, 1, 1, 1, 1, 1, 1, 3,
    1405 1, 5, 1, 1, 1, 1, 2, 2, 2, 3,
    1406 2, 0, 1, 2, 2, 3, 9, 9, 8, 13,
    1407 1, 1, 6, 5, 2, 6, 7, 1, 3, 1,
    1408 0, 2, 1, 5, 5, 5, 2, 4, 4, 6,
    1409 4, 4, 4, 4, 6, 6, 2, 7, 1, 2,
    1410 0, 1, 0, 3, 6, 3, 6, 2, 4, 6,
    1411 4
    1743 # endif
    1744
    1745 /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */
    1746 static const unsigned char yyr1[] =
    1747 {
    1748 0, 123, 124, 124, 125, 125, 126, 126, 126, 126,
    1749 126, 127, 127, 127, 128, 128, 128, 128, 128, 128,
    1750 129, 129, 130, 130, 130, 130, 131, 131, 131, 131,
    1751 132, 132, 133, 133, 134, 134, 135, 135, 135, 135,
    1752 135, 135, 135, 135, 136, 136, 136, 136, 136, 136,
    1753 136, 136, 137, 137, 138, 138, 139, 140, 140, 141,
    1754 141, 142, 142, 143, 143, 144, 144, 145, 146, 146,
    1755 146, 146, 146, 146, 146, 146, 146, 146, 146, 146,
    1756 146, 147, 147, 147, 147, 147, 147, 147, 147, 147,
    1757 147, 148, 148, 149, 149, 149, 149, 150, 150, 150,
    1758 150, 150, 150, 150, 150, 150, 150, 150, 150, 150,
    1759 150, 150, 150, 151, 151, 151, 151, 151, 151, 151,
    1760 151, 151, 151, 152, 152, 153, 153, 154, 155, 155,
    1761 155, 155, 155, 156, 156, 156, 157, 156, 158, 156,
    1762 159, 156, 160, 156, 156, 156, 156, 161, 162, 162,
    1763 163, 163, 163, 163, 164, 165, 165, 165, 166, 166,
    1764 167, 167, 168, 169, 169, 170, 170, 170, 170, 171,
    1765 172, 172, 173, 174, 174, 175, 176, 176, 176, 178,
    1766 177, 179, 179, 180, 180, 180, 180, 180, 180, 180,
    1767 180, 180, 180, 180, 181, 181, 182, 182, 183, 184,
    1768 184, 185, 186, 186, 186, 187, 187, 187, 187, 187,
    1769 187, 187, 187, 187, 188, 188, 189, 190, 190, 191,
    1770 191, 192, 192, 193, 193, 194, 194, 194, 194, 194,
    1771 194, 194, 194, 194, 194, 194, 194, 194, 194, 194,
    1772 194, 195, 195, 196, 196, 197, 197, 197, 197, 197,
    1773 197, 197, 197
    14121774 };
    14131775
    1414 static const short yydefact[] = { 145,
    1415 42, 131, 130, 178, 35, 36, 37, 38, 39, 40,
    1416 41, 0, 43, 202, 127, 128, 202, 157, 158, 0,
    1417 0, 0, 42, 0, 133, 175, 0, 0, 44, 45,
    1418 46, 47, 48, 49, 0, 0, 203, 199, 34, 172,
    1419 173, 174, 198, 0, 0, 0, 0, 143, 0, 0,
    1420 0, 0, 0, 0, 0, 33, 176, 177, 43, 146,
    1421 129, 50, 1, 2, 63, 67, 68, 69, 70, 71,
    1422 72, 73, 74, 75, 76, 77, 78, 79, 80, 0,
    1423 0, 0, 0, 193, 0, 0, 62, 81, 66, 194,
    1424 82, 169, 170, 171, 243, 201, 0, 0, 0, 0,
    1425 156, 144, 134, 132, 124, 125, 0, 0, 0, 0,
    1426 179, 83, 0, 0, 65, 88, 90, 0, 0, 95,
    1427 89, 242, 0, 223, 0, 0, 0, 0, 43, 211,
    1428 212, 5, 6, 7, 8, 9, 10, 11, 12, 13,
    1429 14, 15, 16, 17, 18, 0, 0, 0, 0, 0,
    1430 0, 0, 19, 20, 0, 0, 0, 0, 0, 0,
    1431 0, 0, 0, 0, 200, 43, 215, 0, 239, 151,
    1432 148, 147, 149, 150, 152, 155, 0, 139, 141, 137,
    1433 67, 68, 69, 70, 71, 72, 73, 74, 75, 76,
    1434 77, 0, 0, 0, 0, 135, 0, 0, 0, 87,
    1435 167, 94, 92, 0, 0, 227, 222, 205, 204, 0,
    1436 0, 24, 28, 23, 27, 22, 26, 21, 25, 29,
    1437 30, 0, 0, 53, 53, 248, 0, 0, 237, 0,
    1438 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    1439 0, 0, 0, 0, 0, 153, 58, 58, 58, 109,
    1440 110, 3, 4, 107, 108, 111, 106, 102, 103, 0,
    1441 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    1442 0, 0, 0, 105, 104, 58, 64, 64, 91, 166,
    1443 160, 163, 164, 0, 0, 84, 182, 183, 184, 189,
    1444 185, 186, 187, 188, 180, 0, 191, 196, 195, 197,
    1445 0, 206, 0, 0, 0, 244, 0, 246, 241, 0,
    1446 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    1447 0, 0, 0, 0, 0, 0, 154, 0, 140, 142,
    1448 138, 0, 0, 0, 0, 0, 0, 97, 123, 0,
    1449 0, 101, 0, 98, 0, 0, 0, 0, 136, 85,
    1450 86, 159, 161, 0, 56, 93, 181, 0, 0, 0,
    1451 0, 0, 0, 0, 0, 0, 251, 0, 0, 229,
    1452 0, 231, 234, 0, 0, 232, 233, 0, 0, 0,
    1453 228, 0, 249, 0, 0, 0, 60, 58, 241, 0,
    1454 0, 0, 0, 0, 0, 96, 99, 100, 0, 0,
    1455 0, 0, 165, 162, 57, 51, 0, 190, 0, 0,
    1456 221, 53, 54, 53, 218, 240, 0, 0, 0, 0,
    1457 0, 224, 225, 226, 221, 0, 55, 61, 59, 0,
    1458 0, 0, 0, 0, 0, 122, 0, 0, 0, 0,
    1459 0, 168, 0, 0, 0, 220, 0, 0, 245, 247,
    1460 0, 0, 0, 230, 235, 236, 0, 250, 113, 0,
    1461 0, 0, 0, 0, 0, 0, 0, 0, 52, 192,
    1462 0, 0, 0, 219, 216, 0, 238, 112, 0, 119,
    1463 0, 0, 115, 116, 117, 118, 0, 209, 0, 0,
    1464 0, 217, 0, 0, 0, 207, 0, 208, 0, 0,
    1465 114, 120, 121, 0, 0, 0, 0, 0, 0, 214,
    1466 0, 0, 213, 210, 0, 0, 0
    1776 /* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN. */
    1777 static const unsigned char yyr2[] =
    1778 {
    1779 0, 2, 1, 1, 1, 1, 1, 1, 1, 1,
    1780 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
    1781 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
    1782 1, 1, 1, 1, 2, 0, 1, 1, 1, 1,
    1783 1, 1, 1, 0, 0, 1, 1, 1, 1, 1,
    1784 1, 2, 0, 2, 0, 3, 2, 0, 1, 0,
    1785 3, 1, 2, 1, 1, 1, 1, 1, 1, 1,
    1786 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
    1787 1, 1, 1, 1, 2, 4, 5, 5, 3, 2,
    1788 2, 1, 3, 1, 3, 1, 0, 4, 3, 3,
    1789 4, 4, 3, 2, 2, 2, 2, 2, 2, 2,
    1790 2, 2, 2, 6, 5, 8, 6, 6, 6, 6,
    1791 6, 8, 8, 3, 1, 1, 1, 1, 2, 2,
    1792 4, 2, 1, 4, 2, 4, 0, 7, 0, 7,
    1793 0, 7, 0, 7, 3, 4, 0, 1, 1, 1,
    1794 3, 3, 3, 3, 3, 3, 1, 0, 1, 1,
    1795 1, 0, 2, 3, 1, 1, 3, 1, 0, 8,
    1796 1, 1, 3, 1, 1, 2, 0, 1, 1, 0,
    1797 4, 0, 1, 1, 1, 1, 1, 1, 1, 1,
    1798 1, 3, 1, 5, 1, 1, 1, 1, 2, 2,
    1799 2, 3, 2, 0, 1, 2, 2, 3, 9, 9,
    1800 8, 13, 1, 1, 6, 5, 2, 6, 7, 1,
    1801 3, 1, 0, 2, 1, 5, 5, 5, 2, 4,
    1802 4, 6, 4, 4, 4, 4, 6, 6, 2, 7,
    1803 1, 2, 0, 1, 0, 3, 6, 3, 6, 2,
    1804 4, 6, 4
    14671805 };
    14681806
    1469 static const short yydefgoto[] = { 84,
    1470 254, 270, 271, 272, 273, 192, 193, 222, 194, 23,
    1471 13, 35, 442, 306, 387, 406, 329, 388, 85, 86,
    1472 195, 88, 89, 118, 204, 339, 297, 340, 107, 515,
    1473 1, 2, 276, 249, 247, 248, 61, 173, 48, 102,
    1474 177, 90, 353, 282, 283, 284, 36, 94, 14, 42,
    1475 15, 59, 16, 26, 358, 298, 91, 300, 415, 17,
    1476 38, 39, 165, 490, 96, 229, 446, 447, 166, 167,
    1477 367, 168, 169
    1807 /* YYDEFACT[STATE-NAME] -- Default rule to reduce with in state
    1808 STATE-NUM when YYTABLE doesn't specify something else to do. Zero
    1809 means the default is an error. */
    1810 static const unsigned char yydefact[] =
    1811 {
    1812 146, 0, 43, 132, 1, 131, 179, 36, 37, 38,
    1813 39, 40, 41, 42, 0, 44, 203, 128, 129, 203,
    1814 158, 159, 0, 0, 0, 43, 0, 134, 176, 0,
    1815 0, 45, 46, 47, 48, 49, 50, 0, 0, 204,
    1816 200, 35, 173, 174, 175, 199, 0, 0, 0, 0,
    1817 144, 0, 0, 0, 0, 0, 0, 0, 34, 177,
    1818 178, 44, 147, 130, 51, 2, 3, 64, 68, 69,
    1819 70, 71, 72, 73, 74, 75, 76, 77, 78, 79,
    1820 80, 81, 0, 0, 0, 0, 194, 0, 0, 63,
    1821 82, 67, 195, 83, 170, 171, 172, 244, 202, 0,
    1822 0, 0, 0, 157, 145, 135, 133, 125, 126, 0,
    1823 0, 0, 0, 180, 84, 0, 0, 66, 89, 91,
    1824 0, 0, 96, 90, 243, 0, 224, 0, 0, 0,
    1825 0, 44, 212, 213, 6, 7, 8, 9, 10, 11,
    1826 12, 13, 14, 15, 16, 17, 18, 19, 0, 0,
    1827 0, 0, 0, 0, 0, 20, 21, 0, 0, 0,
    1828 0, 0, 0, 0, 0, 0, 0, 201, 44, 216,
    1829 0, 240, 152, 149, 148, 150, 151, 153, 156, 0,
    1830 140, 142, 138, 68, 69, 70, 71, 72, 73, 74,
    1831 75, 76, 77, 78, 0, 0, 0, 0, 136, 0,
    1832 0, 0, 88, 168, 95, 93, 0, 0, 228, 223,
    1833 206, 205, 0, 0, 25, 29, 24, 28, 23, 27,
    1834 22, 26, 30, 31, 0, 0, 54, 54, 249, 0,
    1835 0, 238, 0, 0, 0, 0, 0, 0, 0, 0,
    1836 0, 0, 0, 0, 0, 0, 0, 0, 154, 59,
    1837 59, 59, 110, 111, 4, 5, 108, 109, 112, 107,
    1838 103, 104, 0, 0, 0, 0, 0, 0, 0, 0,
    1839 0, 0, 0, 0, 0, 0, 106, 105, 59, 65,
    1840 65, 92, 167, 161, 164, 165, 0, 0, 85, 183,
    1841 184, 185, 190, 186, 187, 188, 189, 181, 0, 192,
    1842 197, 196, 198, 0, 207, 0, 0, 0, 245, 0,
    1843 247, 242, 0, 0, 0, 0, 0, 0, 0, 0,
    1844 0, 0, 0, 0, 0, 0, 0, 0, 0, 155,
    1845 0, 141, 143, 139, 0, 0, 0, 0, 0, 0,
    1846 98, 124, 0, 0, 102, 0, 99, 0, 0, 0,
    1847 0, 137, 86, 87, 160, 162, 0, 57, 94, 182,
    1848 0, 0, 0, 0, 0, 0, 0, 0, 0, 252,
    1849 0, 0, 230, 0, 232, 235, 0, 0, 233, 234,
    1850 0, 0, 0, 229, 0, 250, 0, 0, 0, 61,
    1851 59, 242, 0, 0, 0, 0, 0, 0, 97, 100,
    1852 101, 0, 0, 0, 0, 166, 163, 58, 52, 0,
    1853 191, 0, 0, 222, 54, 55, 54, 219, 241, 0,
    1854 0, 0, 0, 0, 225, 226, 227, 222, 0, 56,
    1855 62, 60, 0, 0, 0, 0, 0, 0, 123, 0,
    1856 0, 0, 0, 0, 169, 0, 0, 0, 221, 0,
    1857 0, 246, 248, 0, 0, 0, 231, 236, 237, 0,
    1858 251, 114, 0, 0, 0, 0, 0, 0, 0, 0,
    1859 0, 53, 193, 0, 0, 0, 220, 217, 0, 239,
    1860 113, 0, 120, 0, 0, 116, 117, 118, 119, 0,
    1861 210, 0, 0, 0, 218, 0, 0, 0, 208, 0,
    1862 209, 0, 0, 115, 121, 122, 0, 0, 0, 0,
    1863 0, 0, 215, 0, 0, 214, 211
    14781864 };
    14791865
    1480 static const short yypact[] = {-32768,
    1481 118, 605,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
    1482 -32768, -46, 131, 10,-32768,-32768, -18,-32768,-32768, 29,
    1483 -69, 58, 51, -19,-32768, 106, 114, 144,-32768,-32768,
    1484 -32768,-32768,-32768,-32768, 1060, -20,-32768,-32768, 130,-32768,
    1485 -32768,-32768,-32768, 80, 81, 83, 94,-32768, 57, 114,
    1486 1060, 44, 44, 44, 44,-32768,-32768,-32768, 131,-32768,
    1487 -32768,-32768,-32768,-32768, 90,-32768,-32768,-32768,-32768,-32768,
    1488 -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, 200,
    1489 201, 202, 572,-32768, 130, 99,-32768,-32768, -34,-32768,
    1490 -32768,-32768,-32768,-32768, 1231,-32768, 191, 77, 212, 193,
    1491 194,-32768,-32768,-32768,-32768,-32768, 1101, 1101, 1101, 1142,
    1492 -32768,-32768, 104, 107,-32768,-32768, -34, -74, 109, 852,
    1493 -32768,-32768, 1101,-32768, 165, 1183, 30, 93, 131,-32768,
    1494 -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
    1495 -32768,-32768,-32768,-32768,-32768, 1101, 1101, 1101, 1101, 1101,
    1496 1101, 1101,-32768,-32768, 1101, 1101, 1101, 1101, 1101, 1101,
    1497 1101, 1101, 1101, 1101,-32768, 131,-32768, 62,-32768,-32768,
    1498 -32768,-32768,-32768,-32768,-32768,-32768, -72,-32768,-32768,-32768,
    1499 142, 170, 221, 173, 222, 175, 223, 178, 224, 231,
    1500 232, 183, 225, 233, 425,-32768, 1101, 1101, 1101,-32768,
    1501 893,-32768, 120, 128, 638,-32768,-32768, 90,-32768, 638,
    1502 638,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
    1503 -32768, 638, 1060, 121, 132,-32768, 638, 129, 134, 214,
    1504 141, 143, 146, 147, 148, 149, 150, 638, 638, 638,
    1505 151, 1060, 1101, 1101, 228,-32768, 152, 152, 152,-32768,
    1506 -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, 153,
    1507 154, 155, 156, 159, 160, 934, 1142, 592, 230, 161,
    1508 164, 177, 180,-32768,-32768, 152, -37, -99, -34,-32768,
    1509 130,-32768, 184, 174, 978,-32768,-32768,-32768,-32768,-32768,
    1510 -32768,-32768,-32768,-32768, 227, 1142,-32768,-32768,-32768,-32768,
    1511 186,-32768, 187, 638, 2,-32768, 3,-32768, 188, 638,
    1512 179, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 189,
    1513 190, 195, 1101, 638, 638, 196,-32768, -23,-32768,-32768,
    1514 -32768, 1142, 1142, 1142, 1142, 1142, 1142,-32768,-32768, -30,
    1515 21,-32768, -73,-32768, 1142, 1142, 1142, 1142,-32768,-32768,
    1516 -32768,-32768,-32768, 1019, 229,-32768,-32768, 240, 24, 280,
    1517 286, 197, 638, 307, 638, 1101,-32768, 203, 638,-32768,
    1518 205,-32768,-32768, 210, 211,-32768,-32768, 638, 638, 638,
    1519 -32768, 215,-32768, 1101, 288, 318,-32768, 152, 188, 290,
    1520 218, 219, 220, 226, 1142,-32768,-32768,-32768, 234, 237,
    1521 241, 242,-32768,-32768,-32768, 284, 243,-32768, 638, 638,
    1522 1101, 246,-32768, 246,-32768, 247, 638, 248, 1101, 1101,
    1523 1101,-32768,-32768,-32768, 1101, 638,-32768,-32768,-32768, 252,
    1524 1101, 1142, 1142, 1142, 1142,-32768, 1142, 1142, 1142, 1142,
    1525 338,-32768, 319, 249, 236, 247, 253, 303,-32768,-32768,
    1526 1101, 245, 638,-32768,-32768,-32768, 254,-32768,-32768, 256,
    1527 260, 259, 263, 265, 264, 267, 270, 274,-32768,-32768,
    1528 357, 14, 355,-32768,-32768, 276,-32768,-32768, 1142,-32768,
    1529 1142, 1142,-32768,-32768,-32768,-32768, 638,-32768, 742, 52,
    1530 372,-32768, 281, 282, 287,-32768, 289,-32768, 742, 638,
    1531 -32768,-32768,-32768, 376, 291, 326, 638, 382, 383,-32768,
    1532 638, 638,-32768,-32768, 405, 406,-32768
    1866 /* YYDEFGOTO[NTERM-NUM]. */
    1867 static const short int yydefgoto[] =
    1868 {
    1869 -1, 86, 256, 272, 273, 274, 275, 194, 195, 224,
    1870 196, 25, 15, 37, 444, 308, 389, 408, 331, 390,
    1871 87, 88, 197, 90, 91, 120, 206, 341, 299, 342,
    1872 109, 1, 2, 3, 278, 251, 249, 250, 63, 175,
    1873 50, 104, 179, 92, 355, 284, 285, 286, 38, 96,
    1874 16, 44, 17, 61, 18, 28, 360, 300, 93, 302,
    1875 417, 19, 40, 41, 167, 492, 98, 231, 448, 449,
    1876 168, 169, 369, 170, 171
    15331877 };
    15341878
    1535 static const short yypgoto[] = {-32768,
    1536 -32768, 312, 313, 314, 315, -127, -126, -458,-32768, 373,
    1537 388, -116,-32768, -221, 59,-32768, -241,-32768, -48,-32768,
    1538 -35,-32768, -62, 293,-32768, -100, 239, -226, 91,-32768,
    1539 -32768,-32768,-32768,-32768,-32768,-32768, 365,-32768,-32768,-32768,
    1540 -32768, 4,-32768, 63,-32768,-32768, 359,-32768,-32768,-32768,
    1541 -32768,-32768, 417,-32768,-32768, -414, -55, 64, -103,-32768,
    1542 403,-32768,-32768,-32768,-32768,-32768, 55, -3,-32768,-32768,
    1543 34,-32768,-32768
    1879 /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
    1880 STATE-NUM. */
    1881 #define YYPACT_NINF -410
    1882 static const short int yypact[] =
    1883 {
    1884 -410, 17, 118, 605, -410, -410, -410, -410, -410, -410,
    1885 -410, -410, -410, -410, 24, 160, 67, -410, -410, -15,
    1886 -410, -410, 27, -5, 46, -6, 10, -410, 86, 147,
    1887 138, -410, -410, -410, -410, -410, -410, 1060, -20, -410,
    1888 -410, 110, -410, -410, -410, -410, 69, 70, 72, 73,
    1889 -410, 63, 147, 1060, 68, 68, 68, 68, -410, -410,
    1890 -410, 160, -410, -410, -410, -410, -410, 64, -410, -410,
    1891 -410, -410, -410, -410, -410, -410, -410, -410, -410, -410,
    1892 -410, -410, 182, 183, 186, 572, -410, 110, 77, -410,
    1893 -410, -28, -410, -410, -410, -410, -410, 1231, -410, 168,
    1894 83, 199, 180, 181, -410, -410, -410, -410, -410, 1101,
    1895 1101, 1101, 1142, -410, -410, 91, 96, -410, -410, -28,
    1896 -98, 103, 852, -410, -410, 1101, -410, 157, 1183, 50,
    1897 185, 160, -410, -410, -410, -410, -410, -410, -410, -410,
    1898 -410, -410, -410, -410, -410, -410, -410, -410, 1101, 1101,
    1899 1101, 1101, 1101, 1101, 1101, -410, -410, 1101, 1101, 1101,
    1900 1101, 1101, 1101, 1101, 1101, 1101, 1101, -410, 160, -410,
    1901 49, -410, -410, -410, -410, -410, -410, -410, -410, -14,
    1902 -410, -410, -410, 120, 148, 213, 150, 214, 154, 215,
    1903 166, 217, 224, 231, 170, 218, 232, 425, -410, 1101,
    1904 1101, 1101, -410, 893, -410, 130, 128, 638, -410, -410,
    1905 64, -410, 638, 638, -410, -410, -410, -410, -410, -410,
    1906 -410, -410, -410, -410, 638, 1060, 132, 133, -410, 638,
    1907 136, 134, 216, 141, 143, 144, 146, 149, 151, 152,
    1908 638, 638, 638, 153, 1060, 1101, 1101, 233, -410, 155,
    1909 155, 155, -410, -410, -410, -410, -410, -410, -410, -410,
    1910 -410, -410, 156, 159, 161, 164, 175, 177, 934, 1142,
    1911 592, 234, 178, 184, 187, 188, -410, -410, 155, -70,
    1912 -35, -28, -410, 110, -410, 162, 179, 978, -410, -410,
    1913 -410, -410, -410, -410, -410, -410, -410, 197, 1142, -410,
    1914 -410, -410, -410, 191, -410, 195, 638, 3, -410, 18,
    1915 -410, 196, 638, 193, 1101, 1101, 1101, 1101, 1101, 1101,
    1916 1101, 1101, 201, 202, 203, 1101, 638, 638, 205, -410,
    1917 13, -410, -410, -410, 1142, 1142, 1142, 1142, 1142, 1142,
    1918 -410, -410, -13, -99, -410, -78, -410, 1142, 1142, 1142,
    1919 1142, -410, -410, -410, -410, -410, 1019, 230, -410, -410,
    1920 242, -23, 246, 272, 208, 638, 290, 638, 1101, -410,
    1921 211, 638, -410, 212, -410, -410, 219, 220, -410, -410,
    1922 638, 638, 638, -410, 229, -410, 1101, 273, 294, -410,
    1923 155, 196, 291, 226, 237, 240, 241, 1142, -410, -410,
    1924 -410, 243, 247, 248, 249, -410, -410, -410, 252, 250,
    1925 -410, 638, 638, 1101, 251, -410, 251, -410, 255, 638,
    1926 256, 1101, 1101, 1101, -410, -410, -410, 1101, 638, -410,
    1927 -410, -410, 239, 1101, 1142, 1142, 1142, 1142, -410, 1142,
    1928 1142, 1142, 1142, 322, -410, 304, 257, 228, 255, 259,
    1929 286, -410, -410, 1101, 253, 638, -410, -410, -410, 260,
    1930 -410, -410, 262, 267, 265, 270, 277, 278, 279, 280,
    1931 281, -410, -410, 323, 14, 320, -410, -410, 254, -410,
    1932 -410, 1142, -410, 1142, 1142, -410, -410, -410, -410, 638,
    1933 -410, 742, 52, 362, -410, 282, 284, 287, -410, 289,
    1934 -410, 742, 638, -410, -410, -410, 380, 292, 327, 638,
    1935 383, 384, -410, 638, 638, -410, -410
    15441936 };
    15451937
    1546
    1547 #define YYLAST 1339
    1548
    1549
    1550 static const short yytable[] = { 87,
    1551 220, 221, 104, 308, 37, 24, 330, 331, 92, 196,
    1552 385, 40, 223, 489, 27, 87, 363, 365, 351, 206,
    1553 117, 121, 209, 212, 213, 214, 215, 216, 217, 218,
    1554 219, 499, 37, 386, 349, 199, 395, 245, 210, 49,
    1555 341, 343, 24, 246, 226, 200, 398, 230, 231, 242,
    1556 211, 232, 233, 234, 235, 236, 237, 117, 364, 364,
    1557 241, 212, 213, 214, 215, 216, 217, 218, 219, 359,
    1558 51, 178, 179, 180, 497, 105, 106, -64, 350, 395,
    1559 44, 45, 46, 121, 505, 396, 121, 205, 119, 56,
    1560 205, 5, 6, 7, 8, 52, 10, 53, 93, 47,
    1561 54, 41, 212, 213, 214, 215, 216, 217, 218, 219,
    1562 224, 225, 205, 227, 228, 205, 205, -126, 50, 205,
    1563 205, 205, 205, 205, 205, 238, 239, 240, 205, 488,
    1564 395, 171, 172, 395, 277, 278, 279, 60, 397, 275,
    1565 326, 408, 3, 108, 109, 110, 429, 62, 4, 299,
    1566 57, 18, 58, 19, 299, 299, 243, 244, 5, 6,
    1567 7, 8, 9, 10, 11, 281, 299, 498, 250, 251,
    1568 101, 299, -24, -24, 304, -23, -23, -22, -22, 12,
    1569 -21, -21, 299, 299, 299, 252, 253, 87, 97, 98,
    1570 449, 99, 450, 324, 28, 29, 30, 31, 32, 33,
    1571 34, -65, 100, 112, 113, 114, 87, 325, 205, 371,
    1572 120, 373, 374, 375, 170, 174, 175, 176, 197, 381,
    1573 201, 198, 279, 207, -28, -27, -26, -25, 255, 285,
    1574 305, 389, 390, 391, 392, 393, 394, -31, -32, 256,
    1575 286, 307, 310, 311, 399, 400, 401, 402, 299, 312,
    1576 313, 327, 314, 344, 299, 315, 316, 317, 318, 319,
    1577 323, 328, 385, 407, 332, 333, 334, 335, 299, 299,
    1578 336, 337, 345, 301, 302, 346, 370, 205, 372, 205,
    1579 205, 205, 376, 377, 352, 303, 355, 205, 347, 357,
    1580 309, 348, 369, 354, 436, 360, 361, 366, 378, 379,
    1581 409, 320, 321, 322, 380, 384, 410, 299, 411, 299,
    1582 413, 427, 417, 299, 419, 454, 455, 456, 281, 420,
    1583 421, 428, 299, 299, 299, 431, 425, 432, 433, 434,
    1584 205, 461, 462, 463, 464, 435, 465, 466, 467, 468,
    1585 441, 469, 470, 437, 220, 221, 438, 474, 426, 472,
    1586 439, 440, 443, 299, 299, 448, 451, 453, 471, 364,
    1587 475, 299, 220, 221, 459, 473, 477, 362, 478, 479,
    1588 299, 480, 481, 368, 482, 205, 483, 487, 493, 484,
    1589 494, 495, 485, 205, 205, 205, 486, 382, 383, 205,
    1590 491, 492, 500, 501, 502, 460, 507, 299, 504, 503,
    1591 508, 509, 511, 512, 516, 517, 161, 162, 163, 164,
    1592 55, 95, 203, 405, 103, 205, 404, 111, 25, 43,
    1593 416, 457, 430, 0, 0, 0, 412, 0, 414, 63,
    1594 64, 299, 418, 274, 0, 0, 0, 0, 0, 0,
    1595 0, 422, 423, 424, 299, 0, 18, 0, 19, 0,
    1596 257, 299, 0, 0, 0, 299, 299, 0, 0, 0,
    1597 0, 0, 258, 259, 0, 0, 0, 0, 0, 0,
    1598 0, 0, 444, 445, 0, 0, 0, 0, 0, 0,
    1599 452, 0, 0, 0, 0, 0, 0, 0, 0, 458,
    1600 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    1601 0, 0, 132, 133, 134, 135, 136, 137, 138, 139,
    1602 140, 141, 142, 143, 144, 145, 476, 0, 0, 0,
    1603 0, 260, 0, 261, 262, 153, 154, 0, 263, 264,
    1604 265, 0, 0, 0, 0, 0, 0, 0, 266, 0,
    1605 0, 267, 0, 268, 0, 0, 269, 0, 0, 0,
    1606 496, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    1607 0, 0, 0, 506, 0, 0, 0, 0, 0, 0,
    1608 510, 0, 0, 0, 513, 514, 63, 64, 0, 115,
    1609 66, 67, 68, 69, 70, 71, 72, 73, 74, 75,
    1610 76, 77, 78, 18, 0, 19, 63, 64, 0, 115,
    1611 181, 182, 183, 184, 185, 186, 187, 188, 189, 190,
    1612 191, 77, 78, 18, 0, 19, 0, 0, 0, 79,
    1613 0, 0, 0, 0, -34, 0, 18, 0, 19, 0,
    1614 0, 0, 0, 0, 0, 4, -34, -34, 0, 79,
    1615 287, 288, 63, 64, 289, -34, -34, -34, -34, -34,
    1616 -34, -34, 0, 0, -34, 20, 0, 0, 0, 18,
    1617 0, 19, 21, 290, 291, 292, 22, 0, 0, 0,
    1618 0, 0, 0, 0, 0, 293, 294, 0, 0, 0,
    1619 0, 0, 80, 0, 0, 81, 0, 0, 82, 0,
    1620 83, 116, 0, 0, 0, 0, 0, 0, 295, 0,
    1621 0, 0, 80, 0, 0, 81, 0, 0, 82, 0,
    1622 83, 342, 0, 0, 0, 132, 133, 134, 135, 136,
    1623 137, 138, 139, 140, 141, 142, 143, 144, 145, 0,
    1624 0, 0, 0, 0, 260, 0, 261, 262, 153, 154,
    1625 0, 263, 264, 265, 287, 288, 0, 0, 289, 0,
    1626 0, 0, 0, 0, 296, 0, 0, 0, 0, 0,
    1627 0, 0, 0, 0, 0, 0, 0, 290, 291, 292,
    1628 0, 0, 0, 0, 0, 0, 0, 0, 0, 293,
    1629 294, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    1630 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    1631 0, 0, 295, 0, 0, 0, 0, 0, 0, 0,
    1632 0, 0, 0, 0, 0, 0, 0, 0, 0, 132,
    1633 133, 134, 135, 136, 137, 138, 139, 140, 141, 142,
    1634 143, 144, 145, 0, 0, 0, 0, 0, 260, 0,
    1635 261, 262, 153, 154, 0, 263, 264, 265, 0, 0,
    1636 0, 0, 0, 0, 0, 0, 63, 64, 296, 115,
    1637 66, 67, 68, 69, 70, 71, 72, 73, 74, 75,
    1638 76, 77, 78, 18, 0, 19, 0, 0, 0, 0,
    1639 0, 0, 0, 0, 0, 0, 0, 0, 202, 0,
    1640 0, 0, 0, 0, 0, 0, 0, 63, 64, 79,
    1641 115, 66, 67, 68, 69, 70, 71, 72, 73, 74,
    1642 75, 76, 77, 78, 18, 0, 19, 0, 0, 0,
    1643 0, 0, 0, 0, 0, 0, 0, 0, 0, 280,
    1644 0, 0, 0, 0, 0, 0, 0, 0, 63, 64,
    1645 79, 115, 181, 182, 183, 184, 185, 186, 187, 188,
    1646 189, 190, 191, 77, 78, 18, 0, 19, 0, 0,
    1647 0, 0, 80, 0, 0, 81, 0, 0, 82, 0,
    1648 83, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    1649 0, 79, 63, 64, 0, 115, 66, 67, 68, 69,
    1650 70, 71, 72, 73, 74, 75, 76, 77, 78, 18,
    1651 0, 19, 0, 80, 0, 0, 81, 0, 0, 82,
    1652 0, 83, 0, 0, 356, 0, 0, 0, 0, 0,
    1653 0, 0, 0, 63, 64, 79, 115, 66, 67, 68,
    1654 69, 70, 71, 72, 73, 74, 75, 76, 77, 78,
    1655 18, 0, 19, 0, 80, 0, 0, 81, 0, 338,
    1656 82, 0, 83, 0, 0, 403, 0, 0, 0, 0,
    1657 0, 0, 0, 0, 63, 64, 79, 65, 66, 67,
    1658 68, 69, 70, 71, 72, 73, 74, 75, 76, 77,
    1659 78, 18, 0, 19, 0, 0, 0, 0, 80, 0,
    1660 0, 81, 0, 0, 82, 0, 83, 0, 0, 0,
    1661 0, 0, 0, 0, 0, 63, 64, 79, 115, 66,
    1662 67, 68, 69, 70, 71, 72, 73, 74, 75, 76,
    1663 77, 78, 18, 0, 19, 0, 0, 0, 0, 80,
    1664 0, 0, 81, 0, 0, 82, 0, 83, 0, 0,
    1665 0, 0, 0, 0, 0, 0, 63, 64, 79, 115,
    1666 181, 182, 183, 184, 185, 186, 187, 188, 189, 190,
    1667 191, 77, 78, 18, 0, 19, 0, 0, 0, 0,
    1668 80, 0, 0, 81, 0, 0, 82, 0, 83, 0,
    1669 0, 0, 0, 0, 0, 0, 0, 63, 64, 79,
    1670 208, 66, 67, 68, 69, 70, 71, 72, 73, 74,
    1671 75, 76, 77, 78, 18, 0, 19, 0, 0, 0,
    1672 0, 80, 0, 0, 81, 0, 0, 82, 0, 83,
    1673 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    1674 79, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    1675 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    1676 0, 0, 80, 0, 0, 81, 0, 0, 82, 0,
    1677 83, 0, 0, 0, 0, 122, 0, 0, 0, 0,
    1678 0, 0, 0, 0, 0, 0, 0, 0, 0, 123,
    1679 0, 0, 0, 0, 0, 0, 0, 0, 0, 124,
    1680 125, 0, 0, 80, 0, 0, 81, 0, 0, 82,
    1681 0, 83, 126, 127, 128, 129, 130, 131, 132, 133,
    1682 134, 135, 136, 137, 138, 139, 140, 141, 142, 143,
    1683 144, 145, 146, 147, 148, 0, 0, 149, 150, 151,
    1684 152, 153, 154, 155, 156, 157, 158, 159, 160
    1938 /* YYPGOTO[NTERM-NUM]. */
    1939 static const short int yypgoto[] =
    1940 {
    1941 -410, -410, -410, 309, 310, 311, 312, -129, -128, -398,
    1942 -410, 369, 386, -118, -410, -223, 55, -410, -244, -410,
    1943 -50, -410, -37, -410, -64, 293, -410, -102, 221, -192,
    1944 53, -410, -410, -410, -410, -410, -410, -410, 361, -410,
    1945 -410, -410, -410, 2, -410, 58, -410, -410, 356, -410,
    1946 -410, -410, -410, -410, 416, -410, -410, -409, -57, 62,
    1947 -105, -410, 401, -410, -410, -410, -410, -410, 54, -4,
    1948 -410, -410, 30, -410, -410
    16851949 };
    16861950
    1687 static const short yycheck[] = { 35,
    1688 128, 128, 51, 225, 23, 2, 248, 249, 29, 110,
    1689 34, 30, 129, 472, 61, 51, 15, 15, 118, 123,
    1690 83, 121, 126, 10, 11, 12, 13, 14, 15, 16,
    1691 17, 490, 23, 57, 276, 110, 110, 110, 9, 109,
    1692 267, 268, 39, 116, 148, 120, 120, 151, 152, 166,
    1693 21, 155, 156, 157, 158, 159, 160, 120, 57, 57,
    1694 164, 10, 11, 12, 13, 14, 15, 16, 17, 296,
    1695 20, 107, 108, 109, 489, 32, 33, 112, 116, 110,
    1696 52, 53, 54, 121, 499, 116, 121, 123, 85, 109,
    1697 126, 41, 42, 43, 44, 45, 46, 47, 119, 71,
    1698 50, 120, 10, 11, 12, 13, 14, 15, 16, 17,
    1699 146, 147, 148, 149, 150, 151, 152, 0, 61, 155,
    1700 156, 157, 158, 159, 160, 161, 162, 163, 164, 116,
    1701 110, 55, 56, 110, 197, 198, 199, 24, 118, 195,
    1702 244, 118, 25, 53, 54, 55, 388, 4, 31, 205,
    1703 45, 22, 47, 24, 210, 211, 95, 96, 41, 42,
    1704 43, 44, 45, 46, 47, 201, 222, 116, 27, 28,
    1705 114, 227, 3, 4, 223, 3, 4, 3, 4, 62,
    1706 3, 4, 238, 239, 240, 3, 4, 223, 109, 109,
    1707 412, 109, 414, 242, 64, 65, 66, 67, 68, 69,
    1708 70, 112, 109, 4, 4, 4, 242, 243, 244, 313,
    1709 112, 315, 316, 317, 24, 4, 24, 24, 115, 323,
    1710 112, 115, 285, 59, 4, 4, 4, 4, 4, 110,
    1711 110, 332, 333, 334, 335, 336, 337, 7, 7, 7,
    1712 113, 110, 114, 110, 345, 346, 347, 348, 304, 36,
    1713 110, 24, 110, 24, 310, 110, 110, 110, 110, 110,
    1714 110, 110, 34, 24, 112, 112, 112, 112, 324, 325,
    1715 112, 112, 112, 210, 211, 112, 312, 313, 314, 315,
    1716 316, 317, 318, 319, 281, 222, 113, 323, 112, 63,
    1717 227, 112, 114, 110, 395, 110, 110, 110, 110, 110,
    1718 21, 238, 239, 240, 110, 110, 21, 363, 112, 365,
    1719 4, 24, 110, 369, 110, 419, 420, 421, 354, 110,
    1720 110, 4, 378, 379, 380, 36, 112, 110, 110, 110,
    1721 366, 432, 433, 434, 435, 110, 437, 438, 439, 440,
    1722 57, 4, 24, 110, 472, 472, 110, 451, 384, 114,
    1723 110, 110, 110, 409, 410, 110, 110, 110, 110, 57,
    1724 116, 417, 490, 490, 113, 113, 113, 304, 113, 110,
    1725 426, 113, 110, 310, 110, 411, 113, 21, 479, 113,
    1726 481, 482, 113, 419, 420, 421, 113, 324, 325, 425,
    1727 36, 116, 21, 113, 113, 431, 21, 453, 110, 113,
    1728 110, 76, 21, 21, 0, 0, 95, 95, 95, 95,
    1729 23, 39, 120, 355, 50, 451, 354, 59, 2, 17,
    1730 366, 425, 389, -1, -1, -1, 363, -1, 365, 5,
    1731 6, 487, 369, 195, -1, -1, -1, -1, -1, -1,
    1732 -1, 378, 379, 380, 500, -1, 22, -1, 24, -1,
    1733 26, 507, -1, -1, -1, 511, 512, -1, -1, -1,
    1734 -1, -1, 38, 39, -1, -1, -1, -1, -1, -1,
    1735 -1, -1, 409, 410, -1, -1, -1, -1, -1, -1,
    1736 417, -1, -1, -1, -1, -1, -1, -1, -1, 426,
    1737 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
    1738 -1, -1, 78, 79, 80, 81, 82, 83, 84, 85,
    1739 86, 87, 88, 89, 90, 91, 453, -1, -1, -1,
    1740 -1, 97, -1, 99, 100, 101, 102, -1, 104, 105,
    1741 106, -1, -1, -1, -1, -1, -1, -1, 114, -1,
    1742 -1, 117, -1, 119, -1, -1, 122, -1, -1, -1,
    1743 487, -1, -1, -1, -1, -1, -1, -1, -1, -1,
    1744 -1, -1, -1, 500, -1, -1, -1, -1, -1, -1,
    1745 507, -1, -1, -1, 511, 512, 5, 6, -1, 8,
    1746 9, 10, 11, 12, 13, 14, 15, 16, 17, 18,
    1747 19, 20, 21, 22, -1, 24, 5, 6, -1, 8,
    1748 9, 10, 11, 12, 13, 14, 15, 16, 17, 18,
    1749 19, 20, 21, 22, -1, 24, -1, -1, -1, 48,
    1750 -1, -1, -1, -1, 20, -1, 22, -1, 24, -1,
    1751 -1, -1, -1, -1, -1, 31, 32, 33, -1, 48,
    1752 3, 4, 5, 6, 7, 41, 42, 43, 44, 45,
    1753 46, 47, -1, -1, 50, 51, -1, -1, -1, 22,
    1754 -1, 24, 58, 26, 27, 28, 62, -1, -1, -1,
    1755 -1, -1, -1, -1, -1, 38, 39, -1, -1, -1,
    1756 -1, -1, 111, -1, -1, 114, -1, -1, 117, -1,
    1757 119, 120, -1, -1, -1, -1, -1, -1, 61, -1,
    1758 -1, -1, 111, -1, -1, 114, -1, -1, 117, -1,
    1759 119, 120, -1, -1, -1, 78, 79, 80, 81, 82,
    1760 83, 84, 85, 86, 87, 88, 89, 90, 91, -1,
    1761 -1, -1, -1, -1, 97, -1, 99, 100, 101, 102,
    1762 -1, 104, 105, 106, 3, 4, -1, -1, 7, -1,
    1763 -1, -1, -1, -1, 117, -1, -1, -1, -1, -1,
    1764 -1, -1, -1, -1, -1, -1, -1, 26, 27, 28,
    1765 -1, -1, -1, -1, -1, -1, -1, -1, -1, 38,
    1766 39, -1, -1, -1, -1, -1, -1, -1, -1, -1,
    1767 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
    1768 -1, -1, 61, -1, -1, -1, -1, -1, -1, -1,
    1769 -1, -1, -1, -1, -1, -1, -1, -1, -1, 78,
    1770 79, 80, 81, 82, 83, 84, 85, 86, 87, 88,
    1771 89, 90, 91, -1, -1, -1, -1, -1, 97, -1,
    1772 99, 100, 101, 102, -1, 104, 105, 106, -1, -1,
    1773 -1, -1, -1, -1, -1, -1, 5, 6, 117, 8,
    1774 9, 10, 11, 12, 13, 14, 15, 16, 17, 18,
    1775 19, 20, 21, 22, -1, 24, -1, -1, -1, -1,
    1776 -1, -1, -1, -1, -1, -1, -1, -1, 37, -1,
    1777 -1, -1, -1, -1, -1, -1, -1, 5, 6, 48,
    1778 8, 9, 10, 11, 12, 13, 14, 15, 16, 17,
    1779 18, 19, 20, 21, 22, -1, 24, -1, -1, -1,
    1780 -1, -1, -1, -1, -1, -1, -1, -1, -1, 37,
    1781 -1, -1, -1, -1, -1, -1, -1, -1, 5, 6,
    1782 48, 8, 9, 10, 11, 12, 13, 14, 15, 16,
    1783 17, 18, 19, 20, 21, 22, -1, 24, -1, -1,
    1784 -1, -1, 111, -1, -1, 114, -1, -1, 117, -1,
    1785 119, -1, -1, -1, -1, -1, -1, -1, -1, -1,
    1786 -1, 48, 5, 6, -1, 8, 9, 10, 11, 12,
    1787 13, 14, 15, 16, 17, 18, 19, 20, 21, 22,
    1788 -1, 24, -1, 111, -1, -1, 114, -1, -1, 117,
    1789 -1, 119, -1, -1, 37, -1, -1, -1, -1, -1,
    1790 -1, -1, -1, 5, 6, 48, 8, 9, 10, 11,
    1791 12, 13, 14, 15, 16, 17, 18, 19, 20, 21,
    1792 22, -1, 24, -1, 111, -1, -1, 114, -1, 116,
    1793 117, -1, 119, -1, -1, 37, -1, -1, -1, -1,
    1794 -1, -1, -1, -1, 5, 6, 48, 8, 9, 10,
    1795 11, 12, 13, 14, 15, 16, 17, 18, 19, 20,
    1796 21, 22, -1, 24, -1, -1, -1, -1, 111, -1,
    1797 -1, 114, -1, -1, 117, -1, 119, -1, -1, -1,
    1798 -1, -1, -1, -1, -1, 5, 6, 48, 8, 9,
    1799 10, 11, 12, 13, 14, 15, 16, 17, 18, 19,
    1800 20, 21, 22, -1, 24, -1, -1, -1, -1, 111,
    1801 -1, -1, 114, -1, -1, 117, -1, 119, -1, -1,
    1802 -1, -1, -1, -1, -1, -1, 5, 6, 48, 8,
    1803 9, 10, 11, 12, 13, 14, 15, 16, 17, 18,
    1804 19, 20, 21, 22, -1, 24, -1, -1, -1, -1,
    1805 111, -1, -1, 114, -1, -1, 117, -1, 119, -1,
    1806 -1, -1, -1, -1, -1, -1, -1, 5, 6, 48,
    1807 8, 9, 10, 11, 12, 13, 14, 15, 16, 17,
    1808 18, 19, 20, 21, 22, -1, 24, -1, -1, -1,
    1809 -1, 111, -1, -1, 114, -1, -1, 117, -1, 119,
    1810 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
    1811 48, -1, -1, -1, -1, -1, -1, -1, -1, -1,
    1812 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
    1813 -1, -1, 111, -1, -1, 114, -1, -1, 117, -1,
    1814 119, -1, -1, -1, -1, 35, -1, -1, -1, -1,
    1815 -1, -1, -1, -1, -1, -1, -1, -1, -1, 49,
    1816 -1, -1, -1, -1, -1, -1, -1, -1, -1, 59,
    1817 60, -1, -1, 111, -1, -1, 114, -1, -1, 117,
    1818 -1, 119, 72, 73, 74, 75, 76, 77, 78, 79,
    1819 80, 81, 82, 83, 84, 85, 86, 87, 88, 89,
    1820 90, 91, 92, 93, 94, -1, -1, 97, 98, 99,
    1821 100, 101, 102, 103, 104, 105, 106, 107, 108
    1951 /* YYTABLE[YYPACT[STATE-NUM]]. What to do in state STATE-NUM. If
    1952 positive, shift that token. If negative, reduce the rule which
    1953 number is the opposite. If zero, do what YYDEFACT says.
    1954 If YYTABLE_NINF, syntax error. */
    1955 #define YYTABLE_NINF -128
    1956 static const short int yytable[] =
    1957 {
    1958 89, 222, 223, 106, 310, 26, 332, 333, 39, 94,
    1959 198, 397, 201, 225, 53, 42, 89, 4, 365, 399,
    1960 208, 119, 202, 211, 214, 215, 216, 217, 218, 219,
    1961 220, 221, 397, 367, 351, 7, 8, 9, 10, 54,
    1962 12, 55, 400, 26, 56, 228, 352, 387, 232, 233,
    1963 244, 123, 234, 235, 236, 237, 238, 239, 119, 212,
    1964 366, 243, 214, 215, 216, 217, 218, 219, 220, 221,
    1965 388, 213, 180, 181, 182, 366, 491, 343, 345, 46,
    1966 47, 48, 499, 353, -65, 29, 123, 397, 207, 121,
    1967 39, 207, 507, 123, 501, 410, 247, 397, 49, 95,
    1968 107, 108, 248, 398, 51, 43, 361, 52, 110, 111,
    1969 112, 226, 227, 207, 229, 230, 207, 207, -127, 58,
    1970 207, 207, 207, 207, 207, 207, 240, 241, 242, 207,
    1971 490, 59, 20, 60, 21, 279, 280, 281, 173, 174,
    1972 277, 328, 64, 5, 245, 246, 431, 252, 253, 6,
    1973