aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--include/llvm/DerivedTypes.h35
-rw-r--r--include/llvm/Intrinsics.td34
-rw-r--r--include/llvm/Target/TargetLowering.h17
-rw-r--r--include/llvm/Type.h59
-rw-r--r--lib/AsmParser/Lexer.cpp.cvs1457
-rw-r--r--lib/AsmParser/Lexer.l13
-rw-r--r--lib/AsmParser/Lexer.l.cvs13
-rw-r--r--lib/AsmParser/llvmAsmParser.cpp.cvs2861
-rw-r--r--lib/AsmParser/llvmAsmParser.h.cvs502
-rw-r--r--lib/AsmParser/llvmAsmParser.y14
-rw-r--r--lib/AsmParser/llvmAsmParser.y.cvs14
-rw-r--r--lib/Bytecode/Reader/Reader.cpp80
-rw-r--r--lib/Bytecode/Reader/Reader.h14
-rw-r--r--lib/Bytecode/Writer/SlotCalculator.cpp75
-rw-r--r--lib/Bytecode/Writer/SlotCalculator.h3
-rw-r--r--lib/Bytecode/Writer/Writer.cpp62
-rw-r--r--lib/CodeGen/AsmPrinter.cpp33
-rw-r--r--lib/CodeGen/MachOWriter.cpp68
-rw-r--r--lib/ExecutionEngine/ExecutionEngine.cpp303
-rw-r--r--lib/ExecutionEngine/Interpreter/Execution.cpp1065
-rw-r--r--lib/ExecutionEngine/Interpreter/ExternalFunctions.cpp14
-rw-r--r--lib/ExecutionEngine/Interpreter/Interpreter.h37
-rw-r--r--lib/ExecutionEngine/JIT/JIT.cpp48
-rw-r--r--lib/Linker/LinkModules.cpp8
-rw-r--r--lib/Target/CBackend/CBackend.cpp74
-rw-r--r--lib/Target/TargetData.cpp21
-rw-r--r--lib/Target/X86/X86TargetAsmInfo.cpp18
-rw-r--r--lib/Transforms/IPO/DeadTypeElimination.cpp7
-rw-r--r--lib/Transforms/IPO/SimplifyLibCalls.cpp18
-rw-r--r--lib/Transforms/Scalar/IndVarSimplify.cpp20
-rw-r--r--lib/Transforms/Scalar/InstructionCombining.cpp33
-rw-r--r--lib/Transforms/Scalar/SCCP.cpp2
-rw-r--r--lib/Transforms/Scalar/ScalarReplAggregates.cpp7
-rw-r--r--lib/VMCore/AsmWriter.cpp18
-rw-r--r--lib/VMCore/ConstantFold.cpp16
-rw-r--r--lib/VMCore/Constants.cpp95
-rw-r--r--lib/VMCore/Instructions.cpp8
-rw-r--r--lib/VMCore/Type.cpp149
-rw-r--r--lib/VMCore/Verifier.cpp41
-rw-r--r--tools/llvm2cpp/CppWriter.cpp51
-rw-r--r--utils/TableGen/IntrinsicEmitter.cpp10
41 files changed, 4029 insertions, 3388 deletions
diff --git a/include/llvm/DerivedTypes.h b/include/llvm/DerivedTypes.h
index f8d9a1bf94..78759f1dea 100644
--- a/include/llvm/DerivedTypes.h
+++ b/include/llvm/DerivedTypes.h
@@ -29,6 +29,7 @@ class ArrayValType;
class StructValType;
class PointerValType;
class PackedValType;
+class IntegerValType;
class DerivedType : public Type {
friend class Type;
@@ -71,6 +72,40 @@ public:
}
};
+/// Class to represent integer types. Note that this class is also used to
+/// represent the built-in integer types: Int1Ty, Int8Ty, Int16Ty, Int32Ty and
+/// Int64Ty.
+/// @brief Integer representation type
+class IntegerType : public DerivedType {
+protected:
+ IntegerType(unsigned NumBits) : DerivedType(IntegerTyID) {
+ setSubclassData(NumBits);
+ }
+ friend class TypeMap<IntegerValType, IntegerType>;
+public:
+ /// This enum is just used to hold constants we need for IntegerType.
+ enum {
+ MIN_INT_BITS = 1, ///< Minimum number of bits that can be specified
+ MAX_INT_BITS = (1<<23)-1 ///< Maximum number of bits that can be specified
+ ///< Note that bit width is stored in the Type classes SubclassData field
+ ///< which has 23 bits. This yields a maximum bit width of 8,388,607 bits.
+ };
+
+ /// This static method is the primary way of constructing an IntegerType.
+ /// If an IntegerType with the same NumBits value was previously instantiated,
+ /// that instance will be returned. Otherwise a new one will be created. Only
+ /// one instance with a given NumBits value is ever created.
+ /// @brief Get or create an IntegerType instance.
+ static const IntegerType* get(unsigned NumBits);
+
+ /// @brief Get the number of bits in this IntegerType
+ unsigned getBitWidth() const { return getSubclassData(); }
+
+ // Methods for support type inquiry through isa, cast, and dyn_cast:
+ static inline bool classof(const IntegerType *T) { return true; }
+ static inline bool classof(const Type *T) { return T->isIntegral(); }
+};
+
/// FunctionType - Class to represent function types
///
diff --git a/include/llvm/Intrinsics.td b/include/llvm/Intrinsics.td
index ca6725b648..6bcbd6895f 100644
--- a/include/llvm/Intrinsics.td
+++ b/include/llvm/Intrinsics.td
@@ -57,6 +57,11 @@ class LLVMType<ValueType vt, string typeval> {
string TypeVal = typeval;
}
+class LLVMIntegerType<ValueType VT, int width>
+ : LLVMType<VT, "Type::IntegerTyID"> {
+ int Width = width;
+}
+
class LLVMPackedType<ValueType VT, int numelts, LLVMType elty>
: LLVMType<VT, "Type::PackedTyID">{
int NumElts = numelts;
@@ -64,25 +69,24 @@ class LLVMPackedType<ValueType VT, int numelts, LLVMType elty>
}
def llvm_void_ty : LLVMType<isVoid, "Type::VoidTyID">;
-def llvm_i1_ty : LLVMType<i1 , "Type::Int1TyID">;
-def llvm_i8_ty : LLVMType<i8 , "Type::Int8TyID">;
-def llvm_i16_ty : LLVMType<i16, "Type::Int16TyID">;
-def llvm_i32_ty : LLVMType<i32, "Type::Int32TyID">;
-def llvm_i64_ty : LLVMType<i64, "Type::Int64TyID">;
+def llvm_bool_ty : LLVMIntegerType<i1, 1>;
+def llvm_i8_ty : LLVMIntegerType<i8 , 8>;
+def llvm_i16_ty : LLVMIntegerType<i16, 16>;
+def llvm_i32_ty : LLVMIntegerType<i32, 32>;
+def llvm_i64_ty : LLVMIntegerType<i64, 64>;
def llvm_float_ty : LLVMType<f32, "Type::FloatTyID">;
def llvm_double_ty : LLVMType<f64, "Type::DoubleTyID">;
-def llvm_ptr_ty : LLVMType<iPTR, "Type::PointerTyID">; // sbyte*
-def llvm_ptrptr_ty : LLVMType<iPTR, "Type::PointerTyID">; // sbyte**
+def llvm_ptr_ty : LLVMType<iPTR, "Type::PointerTyID">; // i8*
+def llvm_ptrptr_ty : LLVMType<iPTR, "Type::PointerTyID">; // i8**
def llvm_descriptor_ty : LLVMType<iPTR, "Type::PointerTyID">; // global*
-def llvm_v16i8_ty : LLVMPackedType<v16i8,16, llvm_i8_ty>; // 16 x sbyte
-def llvm_v8i16_ty : LLVMPackedType<v8i16, 8, llvm_i16_ty>; // 8 x short
-
-def llvm_v2i64_ty : LLVMPackedType<v2i64, 2, llvm_i64_ty>; // 2 x long
-def llvm_v2i32_ty : LLVMPackedType<v2i32, 2, llvm_i32_ty>; // 2 x int
-def llvm_v4i32_ty : LLVMPackedType<v4i32, 4, llvm_i32_ty>; // 4 x int
-def llvm_v4f32_ty : LLVMPackedType<v4f32, 4, llvm_float_ty>; // 4 x float
-def llvm_v2f64_ty : LLVMPackedType<v2f64, 2, llvm_double_ty>; // 2 x double
+def llvm_v16i8_ty : LLVMPackedType<v16i8,16, llvm_i8_ty>; // 16 x i8
+def llvm_v8i16_ty : LLVMPackedType<v8i16, 8, llvm_i16_ty>; // 8 x i16
+def llvm_v2i64_ty : LLVMPackedType<v2i64, 2, llvm_i64_ty>; // 2 x i64
+def llvm_v2i32_ty : LLVMPackedType<v2i32, 2, llvm_i32_ty>; // 2 x i32
+def llvm_v4i32_ty : LLVMPackedType<v4i32, 4, llvm_i32_ty>; // 4 x i32
+def llvm_v4f32_ty : LLVMPackedType<v4f32, 4, llvm_float_ty>; // 4 x float
+def llvm_v2f64_ty : LLVMPackedType<v2f64, 2, llvm_double_ty>;// 2 x double
//===----------------------------------------------------------------------===//
// Intrinsic Definitions.
diff --git a/include/llvm/Target/TargetLowering.h b/include/llvm/Target/TargetLowering.h
index 5749d520d8..fd2caf8bf8 100644
--- a/include/llvm/Target/TargetLowering.h
+++ b/include/llvm/Target/TargetLowering.h
@@ -22,7 +22,7 @@
#ifndef LLVM_TARGET_TARGETLOWERING_H
#define LLVM_TARGET_TARGETLOWERING_H
-#include "llvm/Type.h"
+#include "llvm/DerivedTypes.h"
#include "llvm/CodeGen/SelectionDAGNodes.h"
#include <map>
@@ -429,11 +429,16 @@ public:
switch (Ty->getTypeID()) {
default: assert(0 && "Unknown type!");
case Type::VoidTyID: return MVT::isVoid;
- case Type::Int1TyID: return MVT::i1;
- case Type::Int8TyID: return MVT::i8;
- case Type::Int16TyID: return MVT::i16;
- case Type::Int32TyID: return MVT::i32;
- case Type::Int64TyID: return MVT::i64;
+ case Type::IntegerTyID:
+ switch (cast<IntegerType>(Ty)->getBitWidth()) {
+ default: assert(0 && "Invalid width for value type");
+ case 1: return MVT::i1;
+ case 8: return MVT::i8;
+ case 16: return MVT::i16;
+ case 32: return MVT::i32;
+ case 64: return MVT::i64;
+ }
+ break;
case Type::FloatTyID: return MVT::f32;
case Type::DoubleTyID: return MVT::f64;
case Type::PointerTyID: return PointerTy;
diff --git a/include/llvm/Type.h b/include/llvm/Type.h
index 29180a00e5..b95f146deb 100644
--- a/include/llvm/Type.h
+++ b/include/llvm/Type.h
@@ -71,32 +71,31 @@ public:
///
enum TypeID {
// PrimitiveTypes .. make sure LastPrimitiveTyID stays up to date
- VoidTyID = 0 , Int1TyID, // 0, 1: Basics...
- Int8TyID, // 2 : 8 bit type...
- Int16TyID, // 3 : 16 bit type...
- Int32TyID, // 4 : 32 bit type...
- Int64TyID, // 5 : 64 bit type...
- FloatTyID, DoubleTyID, // 6, 7: Floating point types...
- LabelTyID, // 8 : Labels...
+ VoidTyID = 0, ///< 0: type with no size
+ FloatTyID, ///< 1: 32 bit floating point type
+ DoubleTyID, ///< 2: 64 bit floating point type
+ LabelTyID, ///< 3: Labels
// Derived types... see DerivedTypes.h file...
// Make sure FirstDerivedTyID stays up to date!!!
- FunctionTyID , StructTyID, // Functions... Structs...
- ArrayTyID , PointerTyID, // Array... pointer...
- OpaqueTyID, // Opaque type instances...
- PackedTyID, // SIMD 'packed' format...
- BC_ONLY_PackedStructTyID, // packed struct, for BC rep only
- //...
+ IntegerTyID, ///< 4: Arbitrary bit width integers
+ FunctionTyID, ///< 5: Functions
+ StructTyID, ///< 6: Structures
+ PackedStructTyID,///< 7: Packed Structure. This is for bytecode only
+ ArrayTyID, ///< 8: Arrays
+ PointerTyID, ///< 9: Pointers
+ OpaqueTyID, ///< 10: Opaque: type with unknown structure
+ PackedTyID, ///< 11: SIMD 'packed' format, or other vector type
NumTypeIDs, // Must remain as last defined ID
LastPrimitiveTyID = LabelTyID,
- FirstDerivedTyID = FunctionTyID
+ FirstDerivedTyID = IntegerTyID
};
private:
TypeID ID : 8; // The current base type of this type.
bool Abstract : 1; // True if type contains an OpaqueType
- bool SubclassData : 1; //Space for subclasses to store a flag
+ unsigned SubclassData : 23; //Space for subclasses to store data
/// RefCount - This counts the number of PATypeHolders that are pointing to
/// this type. When this number falls to zero, if the type is abstract and
@@ -108,7 +107,8 @@ private:
const Type *getForwardedTypeInternal() const;
protected:
Type(const char *Name, TypeID id);
- Type(TypeID id) : ID(id), Abstract(false), RefCount(0), ForwardType(0) {}
+ Type(TypeID id) : ID(id), Abstract(false), SubclassData(0), RefCount(0),
+ ForwardType(0) {}
virtual ~Type() {
assert(AbstractTypeUsers.empty());
}
@@ -119,8 +119,8 @@ protected:
unsigned getRefCount() const { return RefCount; }
- bool getSubclassData() const { return SubclassData; }
- void setSubclassData(bool b) { SubclassData = b; }
+ unsigned getSubclassData() const { return SubclassData; }
+ void setSubclassData(unsigned val) { SubclassData = val; }
/// ForwardType - This field is used to implement the union find scheme for
/// abstract types. When types are refined to other types, this field is set
@@ -162,12 +162,12 @@ public:
/// isInteger - Equivalent to isSigned() || isUnsigned()
///
- bool isInteger() const { return ID >= Int8TyID && ID <= Int64TyID; }
+ bool isInteger() const { return ID == IntegerTyID && this != Int1Ty; }
/// isIntegral - Returns true if this is an integral type, which is either
/// Int1Ty or one of the Integer types.
///
- bool isIntegral() const { return isInteger() || this == Int1Ty; }
+ bool isIntegral() const { return ID == IntegerTyID; }
/// isFloatingPoint - Return true if this is one of the two floating point
/// types
@@ -200,7 +200,7 @@ public:
///
inline bool isFirstClassType() const {
return (ID != VoidTyID && ID <= LastPrimitiveTyID) ||
- ID == PointerTyID || ID == PackedTyID;
+ ID == IntegerTyID || ID == PointerTyID || ID == PackedTyID;
}
/// isSized - Return true if it makes sense to take the size of this type. To
@@ -209,11 +209,13 @@ public:
///
bool isSized() const {
// If it's a primitive, it is always sized.
- if (ID >= Int1TyID && ID <= DoubleTyID || ID == PointerTyID)
+ if (ID == IntegerTyID || (ID >= FloatTyID && ID <= DoubleTyID) ||
+ ID == PointerTyID)
return true;
// If it is not something that can have a size (e.g. a function or label),
// it doesn't have a size.
- if (ID != StructTyID && ID != ArrayTyID && ID != PackedTyID)
+ if (ID != StructTyID && ID != ArrayTyID && ID != PackedTyID &&
+ ID != PackedStructTyID)
return false;
// If it is something that can have a size and it's concrete, it definitely
// has a size, otherwise we have to try harder to decide.
@@ -224,7 +226,6 @@ public:
/// type. These are fixed by LLVM and are not target dependent. This will
/// return zero if the type does not have a size or is not a primitive type.
///
- unsigned getPrimitiveSize() const;
unsigned getPrimitiveSizeInBits() const;
/// getIntegralTypeMask - Return a bitmask with ones set for all of the bits
@@ -248,7 +249,7 @@ public:
/// will be promoted to if passed through a variable argument
/// function.
const Type *getVAArgsPromotedType() const {
- if (ID == Int1TyID || ID == Int8TyID || ID == Int16TyID)
+ if (ID == IntegerTyID && getSubclassData() < 32)
return Type::Int32Ty;
else if (ID == FloatTyID)
return Type::DoubleTy;
@@ -288,12 +289,8 @@ public:
//===--------------------------------------------------------------------===//
// These are the builtin types that are always available...
//
- static Type *VoidTy , *Int1Ty;
- static Type *Int8Ty , *Int16Ty,
- *Int32Ty, *Int64Ty;
- static Type *FloatTy, *DoubleTy;
-
- static Type* LabelTy;
+ static const Type *VoidTy, *LabelTy, *FloatTy, *DoubleTy;
+ static const Type *Int1Ty, *Int8Ty, *Int16Ty, *Int32Ty, *Int64Ty;
/// Methods for support type inquiry through isa, cast, and dyn_cast:
static inline bool classof(const Type *T) { return true; }
diff --git a/lib/AsmParser/Lexer.cpp.cvs b/lib/AsmParser/Lexer.cpp.cvs
index 55d32cdc22..b849caedbc 100644
--- a/lib/AsmParser/Lexer.cpp.cvs
+++ b/lib/AsmParser/Lexer.cpp.cvs
@@ -317,99 +317,99 @@ static void yy_fatal_error YY_PROTO(( yyconst char msg[] ));
*yy_cp = '\0'; \
yy_c_buf_p = yy_cp;
-#define YY_NUM_RULES 138
-#define YY_END_OF_BUFFER 139
-static yyconst short int yy_acclist[216] =
+#define YY_NUM_RULES 135
+#define YY_END_OF_BUFFER 136
+static yyconst short int yy_acclist[214] =
{ 0,
- 139, 137, 138, 136, 137, 138, 136, 138, 137, 138,
- 137, 138, 137, 138, 137, 138, 137, 138, 137, 138,
- 129, 137, 138, 129, 137, 138, 1, 137, 138, 137,
- 138, 137, 138, 137, 138, 137, 138, 137, 138, 137,
- 138, 137, 138, 137, 138, 137, 138, 137, 138, 137,
- 138, 137, 138, 137, 138, 137, 138, 137, 138, 137,
- 138, 137, 138, 137, 138, 137, 138, 137, 138, 137,
- 138, 128, 126, 125, 125, 132, 130, 134, 129, 1,
- 111, 39, 71, 48, 72, 67, 23, 128, 125, 125,
- 133, 134, 20, 134, 135, 57, 66, 37, 32, 40,
-
- 3, 49, 50, 51, 59, 81, 86, 84, 85, 83,
- 82, 87, 91, 110, 76, 74, 106, 75, 73, 58,
- 89, 80, 78, 79, 77, 90, 88, 68, 127, 134,
- 134, 108, 47, 92, 70, 62, 118, 65, 69, 119,
- 107, 22, 131, 61, 95, 64, 24, 4, 55, 60,
- 63, 46, 12, 94, 134, 34, 2, 5, 52, 97,
- 54, 120, 93, 21, 117, 43, 7, 53, 28, 42,
- 101, 100, 8, 113, 31, 116, 36, 56, 105, 99,
- 112, 25, 26, 98, 114, 109, 104, 41, 6, 27,
- 96, 35, 9, 17, 10, 102, 11, 103, 33, 13,
-
- 15, 14, 30, 38, 16, 29, 115, 121, 123, 124,
- 44, 122, 18, 45, 19
+ 136, 134, 135, 133, 134, 135, 133, 135, 134, 135,
+ 134, 135, 134, 135, 134, 135, 134, 135, 134, 135,
+ 126, 134, 135, 126, 134, 135, 1, 134, 135, 134,
+ 135, 134, 135, 134, 135, 134, 135, 134, 135, 134,
+ 135, 134, 135, 53, 134, 135, 134, 135, 134, 135,
+ 134, 135, 134, 135, 134, 135, 134, 135, 134, 135,
+ 134, 135, 134, 135, 134, 135, 134, 135, 134, 135,
+ 134, 135, 125, 123, 122, 122, 129, 127, 131, 126,
+ 1, 108, 39, 68, 53, 69, 64, 23, 125, 122,
+ 122, 130, 131, 20, 131, 132, 54, 63, 37, 32,
+
+ 40, 3, 56, 78, 83, 81, 82, 80, 79, 84,
+ 88, 107, 73, 71, 103, 72, 70, 55, 86, 77,
+ 75, 76, 74, 87, 85, 65, 124, 131, 131, 105,
+ 47, 89, 67, 59, 115, 62, 66, 116, 104, 22,
+ 128, 58, 92, 61, 24, 4, 51, 57, 60, 46,
+ 12, 91, 131, 34, 2, 5, 48, 94, 50, 117,
+ 90, 21, 114, 43, 7, 49, 28, 42, 98, 97,
+ 8, 110, 31, 113, 36, 52, 102, 96, 109, 25,
+ 26, 95, 111, 106, 101, 41, 6, 27, 93, 35,
+ 9, 17, 10, 99, 11, 100, 33, 13, 15, 14,
+
+ 30, 38, 16, 29, 112, 118, 120, 121, 44, 119,
+ 18, 45, 19
} ;
-static yyconst short int yy_accept[558] =
+static yyconst short int yy_accept[552] =
{ 0,
1, 1, 1, 2, 4, 7, 9, 11, 13, 15,
17, 19, 21, 24, 27, 30, 32, 34, 36, 38,
- 40, 42, 44, 46, 48, 50, 52, 54, 56, 58,
- 60, 62, 64, 66, 68, 70, 72, 72, 73, 73,
- 74, 75, 76, 77, 77, 78, 78, 79, 80, 80,
- 81, 81, 81, 81, 81, 81, 81, 81, 81, 82,
- 82, 83, 83, 83, 83, 83, 83, 83, 83, 84,
- 84, 84, 84, 84, 84, 84, 84, 84, 84, 84,
- 84, 84, 85, 85, 85, 85, 85, 85, 85, 85,
- 85, 85, 85, 86, 86, 86, 86, 86, 86, 86,
-
- 87, 87, 87, 87, 87, 87, 87, 87, 87, 87,
+ 40, 42, 44, 47, 49, 51, 53, 55, 57, 59,
+ 61, 63, 65, 67, 69, 71, 73, 73, 74, 74,
+ 75, 76, 77, 78, 78, 79, 79, 80, 81, 81,
+ 82, 82, 82, 82, 82, 82, 82, 82, 82, 83,
+ 83, 84, 84, 84, 84, 84, 84, 84, 84, 85,
+ 85, 85, 85, 85, 85, 85, 85, 85, 85, 86,
+ 86, 86, 86, 86, 86, 86, 86, 86, 86, 86,
87, 87, 87, 87, 87, 87, 87, 88, 88, 88,
+
88, 88, 88, 88, 88, 88, 88, 88, 88, 88,
- 88, 88, 88, 89, 90, 92, 93, 94, 95, 95,
- 96, 97, 97, 97, 98, 98, 98, 99, 99, 100,
- 100, 100, 100, 101, 101, 101, 101, 101, 101, 101,
- 101, 101, 101, 102, 102, 102, 102, 102, 102, 102,
- 102, 102, 102, 102, 102, 103, 104, 105, 105, 105,
- 105, 105, 105, 105, 105, 105, 105, 105, 105, 105,
- 106, 106, 107, 108, 109, 110, 111, 112, 112, 113,
-
- 114, 114, 114, 115, 115, 115, 115, 115, 115, 116,
- 117, 118, 118, 118, 118, 119, 120, 120, 120, 121,
- 121, 121, 121, 121, 121, 121, 121, 122, 123, 124,
- 124, 125, 126, 126, 127, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 129, 129, 129, 130, 131, 131,
- 131, 131, 132, 132, 132, 132, 133, 133, 133, 134,
- 135, 135, 135, 135, 135, 135, 135, 135, 135, 135,
- 135, 135, 135, 135, 135, 135, 136, 137, 137, 137,
- 137, 137, 138, 139, 139, 139, 140, 140, 140, 140,
- 140, 140, 140, 140, 140, 141, 142, 142, 142, 143,
-
- 143, 143, 143, 144, 145, 145, 145, 146, 146, 146,
- 146, 147, 147, 147, 148, 148, 148, 149, 149, 150,
- 151, 151, 151, 151, 151, 152, 152, 153, 153, 154,
- 154, 154, 155, 156, 157, 157, 157, 158, 158, 158,
- 158, 158, 158, 158, 158, 158, 158, 158, 158, 158,
- 158, 158, 159, 159, 160, 161, 161, 161, 161, 161,
- 161, 161, 161, 161, 161, 161, 162, 162, 162, 162,
- 162, 162, 162, 162, 162, 162, 162, 162, 162, 163,
- 163, 163, 163, 164, 164, 165, 165, 165, 165, 165,
- 165, 165, 165, 166, 166, 166, 167, 167, 167, 167,
-
- 167, 168, 168, 168, 168, 169, 170, 170, 170, 171,
- 172, 173, 173, 173, 174, 174, 174, 174, 174, 175,
- 175, 176, 177, 178, 179, 179, 179, 179, 180, 180,
- 180, 181, 182, 183, 184, 185, 185, 186, 187, 187,
- 187, 187, 187, 187, 188, 188, 189, 189, 190, 191,
- 191, 191, 191, 191, 191, 192, 192, 192, 192, 192,
- 192, 192, 192, 192, 193, 193, 193, 193, 193, 193,
- 193, 193, 193, 194, 194, 194, 194, 194, 195, 195,
- 195, 195, 195, 196, 197, 198, 198, 199, 199, 199,
- 199, 200, 200, 200, 200, 201, 201, 202, 203, 203,
-
- 203, 203, 203, 203, 203, 203, 203, 203, 203, 203,
- 203, 204, 204, 204, 204, 204, 204, 204, 204, 205,
- 205, 205, 205, 205, 206, 206, 206, 206, 206, 207,
- 207, 208, 208, 208, 208, 208, 208, 208, 208, 208,
- 208, 208, 208, 208, 209, 209, 210, 211, 211, 212,
- 212, 213, 214, 215, 215, 216, 216
+ 88, 88, 88, 88, 89, 89, 89, 89, 89, 89,
+ 89, 89, 89, 89, 89, 89, 89, 89, 89, 89,
+ 90, 91, 93, 94, 95, 96, 96, 97, 98, 98,
+ 98, 99, 99, 99, 100, 100, 101, 101, 101, 101,
+ 102, 102, 102, 102, 102, 102, 102, 102, 102, 102,
+ 103, 103, 103, 103, 103, 103, 103, 103, 103, 103,
+ 103, 103, 103, 103, 103, 103, 103, 103, 103, 103,
+ 103, 103, 103, 103, 104, 104, 105, 106, 107, 108,
+ 109, 110, 110, 111, 112, 112, 112, 113, 113, 113,
+
+ 113, 113, 113, 114, 115, 116, 116, 116, 116, 117,
+ 118, 118, 118, 119, 119, 119, 119, 119, 119, 119,
+ 119, 120, 121, 122, 122, 123, 124, 124, 125, 126,
+ 126, 126, 126, 126, 126, 126, 126, 126, 127, 127,
+ 127, 128, 129, 129, 129, 129, 130, 130, 130, 130,
+ 131, 131, 131, 132, 133, 133, 133, 133, 133, 133,
+ 133, 133, 133, 133, 133, 133, 133, 133, 133, 133,
+ 134, 135, 135, 135, 135, 135, 136, 137, 137, 137,
+ 138, 138, 138, 138, 138, 138, 138, 138, 138, 139,
+ 140, 140, 140, 141, 141, 141, 141, 142, 143, 143,
+
+ 143, 144, 144, 144, 144, 145, 145, 145, 146, 146,
+ 146, 147, 147, 148, 149, 149, 149, 149, 149, 150,
+ 150, 151, 151, 152, 152, 152, 153, 154, 155, 155,
+ 155, 156, 156, 156, 156, 156, 156, 156, 156, 156,
+ 156, 156, 156, 156, 156, 156, 157, 157, 158, 159,
+ 159, 159, 159, 159, 159, 159, 159, 159, 159, 159,
+ 160, 160, 160, 160, 160, 160, 160, 160, 160, 160,
+ 160, 160, 160, 161, 161, 161, 161, 162, 162, 163,
+ 163, 163, 163, 163, 163, 163, 163, 164, 164, 164,
+ 165, 165, 165, 165, 165, 166, 166, 166, 166, 167,
+
+ 168, 168, 168, 169, 170, 171, 171, 171, 172, 172,
+ 172, 172, 172, 173, 173, 174, 175, 176, 177, 177,
+ 177, 177, 178, 178, 178, 179, 180, 181, 182, 183,
+ 183, 184, 185, 185, 185, 185, 185, 185, 186, 186,
+ 187, 187, 188, 189, 189, 189, 189, 189, 189, 190,
+ 190, 190, 190, 190, 190, 190, 190, 190, 191, 191,
+ 191, 191, 191, 191, 191, 191, 191, 192, 192, 192,
+ 192, 192, 193, 193, 193, 193, 193, 194, 195, 196,
+ 196, 197, 197, 197, 197, 198, 198, 198, 198, 199,
+ 199, 200, 201, 201, 201, 201, 201, 201, 201, 201,
+
+ 201, 201, 201, 201, 201, 202, 202, 202, 202, 202,
+ 202, 202, 202, 203, 203, 203, 203, 203, 204, 204,
+ 204, 204, 204, 205, 205, 206, 206, 206, 206, 206,
+ 206, 206, 206, 206, 206, 206, 206, 206, 207, 207,
+ 208, 209, 209, 210, 210, 211, 212, 213, 213, 214,
+ 214
} ;
static yyconst int yy_ec[256] =
@@ -418,16 +418,16 @@ static yyconst int yy_ec[256] =
1, 1, 2, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 2, 1, 4, 1, 5, 6, 1, 1, 1,
- 1, 1, 7, 1, 8, 9, 1, 10, 11, 12,
- 13, 14, 15, 16, 15, 17, 15, 18, 19, 1,
- 1, 1, 1, 1, 20, 20, 20, 20, 21, 20,
+ 1, 1, 7, 1, 8, 9, 1, 10, 11, 11,
+ 11, 11, 11, 12, 11, 13, 11, 14, 15, 1,
+ 1, 1, 1, 1, 16, 16, 16, 16, 17, 16,
5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
- 1, 1, 1, 1, 22, 1, 23, 24, 25, 26,
+ 1, 1, 1, 1, 18, 1, 19, 20, 21, 22,
- 27, 28, 29, 30, 31, 5, 32, 33, 34, 35,
- 36, 37, 38, 39, 40, 41, 42, 43, 44, 45,
- 46, 47, 1, 1, 1, 1, 1, 1, 1, 1,
+ 23, 24, 25, 26, 27, 5, 28, 29, 30, 31,
+ 32, 33, 34, 35, 36, 37, 38, 39, 40, 41,
+ 42, 43, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
@@ -444,269 +444,267 @@ static yyconst int yy_ec[256] =
1, 1, 1, 1, 1
} ;
-static yyconst int yy_meta[48] =
+static yyconst int yy_meta[44] =
{ 0,
- 1, 1, 2, 1, 3, 1, 4, 5, 3, 6,
- 6, 6, 6, 6, 6, 6, 6, 7, 1, 3,
- 8, 3, 3, 3, 3, 3, 8, 3, 3, 3,
+ 1, 1, 2, 1, 3, 1, 1, 3, 3, 3,
+ 3, 3, 3, 4, 1, 3, 3, 3, 3, 3,
+ 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3
+ 3, 3, 3
} ;
-static yyconst short int yy_base[566] =
+static yyconst short int yy_base[556] =
{ 0,
- 0, 0, 1196, 1197, 1197, 1197, 1191, 1176, 40, 0,
- 48, 58, 68, 1148, 0, 68, 71, 81, 91, 52,
- 97, 98, 126, 110, 117, 120, 136, 138, 73, 170,
- 159, 205, 134, 131, 56, 137, 1188, 1197, 1173, 1197,
- 0, 235, 0, 1181, 1180, 158, 243, 1143, 261, 0,
- 70, 154, 93, 31, 160, 163, 175, 57, 1169, 173,
- 192, 189, 127, 54, 200, 202, 166, 195, 1168, 201,
- 250, 114, 171, 225, 273, 212, 251, 244, 53, 215,
- 249, 1167, 261, 275, 276, 278, 280, 281, 211, 285,
- 279, 289, 1166, 290, 288, 283, 293, 309, 307, 311,
-
- 310, 313, 314, 315, 295, 317, 321, 320, 325, 324,
- 333, 337, 327, 344, 339, 341, 1165, 351, 334, 355,
- 357, 358, 359, 360, 370, 363, 361, 371, 380, 376,
- 366, 373, 1164, 0, 0, 386, 1163, 0, 412, 0,
- 1162, 392, 397, 1161, 390, 393, 1160, 412, 1159, 413,
- 416, 417, 1158, 418, 419, 421, 422, 423, 424, 428,
- 433, 429, 434, 436, 439, 440, 448, 444, 449, 450,
- 452, 455, 451, 453, 1157, 1156, 1155, 456, 465, 472,
- 474, 458, 478, 94, 462, 482, 468, 479, 484, 1154,
- 486, 1153, 1152, 1151, 1150, 1149, 1148, 491, 1147, 1146,
-
- 488, 492, 1145, 524, 499, 502, 495, 512, 1144, 1143,
- 1142, 493, 498, 496, 1141, 1140, 528, 536, 1139, 537,
- 538, 539, 540, 545, 500, 541, 1138, 1137, 1136, 543,
- 1135, 1134, 542, 1133, 1132, 546, 552, 547, 564, 548,
- 567, 568, 506, 1131, 558, 570, 1197, 568, 258, 584,
- 589, 591, 575, 583, 584, 1130, 585, 586, 1129, 1128,
- 587, 588, 589, 595, 598, 596, 604, 597, 599, 605,
- 609, 600, 618, 607, 619, 1127, 1126, 606, 608, 622,
- 625, 1125, 1124, 627, 628, 1123, 630, 632, 634, 636,
- 637, 635, 638, 643, 1122, 1121, 641, 645, 1120, 640,
-
- 647, 648, 0, 1119, 652, 661, 1118, 657, 662, 663,
- 1117, 669, 672, 1116, 674, 675, 1115, 677, 1114, 1113,
- 676, 681, 680, 682, 1112, 687, 1111, 688, 1110, 692,
- 693, 1109, 0, 1108, 689, 695, 1107, 696, 697, 700,
- 709, 707, 698, 701, 715, 713, 717, 720, 722, 723,
- 724, 1106, 726, 1105, 1104, 725, 728, 727, 734, 730,
- 735, 737, 742, 746, 747, 1103, 749, 748, 754, 753,
- 755, 758, 750, 752, 768, 769, 771, 773, 1102, 774,
- 772, 776, 1101, 775, 1100, 780, 782, 777, 783, 793,
- 778, 789, 1099, 797, 779, 1098, 799, 800, 803, 804,
-
- 1097, 805, 808, 811, 1096, 1095, 814, 809, 1094, 1093,
- 1092, 815, 812, 1091, 821, 824, 820, 817, 1090, 834,
- 1089, 1088, 1087, 1086, 823, 835, 836, 1085, 837, 838,
- 1084, 1083, 1082, 1081, 1080, 839, 1079, 1078, 842, 843,
- 847, 845, 849, 1077, 850, 1076, 854, 1075, 1070, 856,
- 859, 860, 861, 862, 1067, 869, 864, 867, 868, 863,
- 870, 874, 875, 1064, 885, 888, 887, 890, 889, 893,
- 891, 894, 1056, 895, 901, 902, 904, 1053, 903, 906,
- 907, 908, 1050, 1044, 1033, 909, 1032, 911, 921, 926,
- 1031, 927, 931, 916, 1030, 915, 1026, 1025, 935, 933,