diff options
author | Dale Johannesen <dalej@apple.com> | 2007-08-03 01:03:46 +0000 |
---|---|---|
committer | Dale Johannesen <dalej@apple.com> | 2007-08-03 01:03:46 +0000 |
commit | 320fc8a39e17f5725f5711248e06bcb36f122687 (patch) | |
tree | 9c3020b8e874758d20de1ddb5cac4aeb635bb2c6 | |
parent | 107f54a0026cfc455252c5a79b4860ace4bbbfc1 (diff) |
Long double, part 1 of N. Support in IR.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40774 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r-- | include/llvm/Bitcode/LLVMBitCodes.h | 9 | ||||
-rw-r--r-- | include/llvm/Type.h | 25 | ||||
-rw-r--r-- | lib/AsmParser/Lexer.cpp.cvs | 1551 | ||||
-rw-r--r-- | lib/AsmParser/Lexer.l | 3 | ||||
-rw-r--r-- | lib/AsmParser/Lexer.l.cvs | 3 | ||||
-rw-r--r-- | lib/AsmParser/llvmAsmParser.cpp.cvs | 6065 | ||||
-rw-r--r-- | lib/AsmParser/llvmAsmParser.h.cvs | 474 | ||||
-rw-r--r-- | lib/AsmParser/llvmAsmParser.y | 6 | ||||
-rw-r--r-- | lib/AsmParser/llvmAsmParser.y.cvs | 6 | ||||
-rw-r--r-- | lib/Bitcode/Reader/BitcodeReader.cpp | 9 | ||||
-rw-r--r-- | lib/Bitcode/Writer/BitcodeWriter.cpp | 3 | ||||
-rw-r--r-- | lib/VMCore/Type.cpp | 35 | ||||
-rw-r--r-- | test/Feature/ppcld.ll | 26 | ||||
-rw-r--r-- | test/Feature/sparcld.ll | 24 | ||||
-rw-r--r-- | test/Feature/x86ld.ll | 26 |
15 files changed, 3750 insertions, 4515 deletions
diff --git a/include/llvm/Bitcode/LLVMBitCodes.h b/include/llvm/Bitcode/LLVMBitCodes.h index 24e6729962..f62af5e17c 100644 --- a/include/llvm/Bitcode/LLVMBitCodes.h +++ b/include/llvm/Bitcode/LLVMBitCodes.h @@ -81,7 +81,14 @@ namespace bitc { TYPE_CODE_FUNCTION = 9, // FUNCTION: [vararg, retty, paramty x N] TYPE_CODE_STRUCT = 10, // STRUCT: [ispacked, eltty x N] TYPE_CODE_ARRAY = 11, // ARRAY: [numelts, eltty] - TYPE_CODE_VECTOR = 12 // VECTOR: [numelts, eltty] + TYPE_CODE_VECTOR = 12, // VECTOR: [numelts, eltty] + + // These are not with the other floating point types because they're + // a late addition, and putting them in the right place breaks + // binary compatibility. + TYPE_CODE_X86_FP80 = 13, // X86 LONG DOUBLE + TYPE_CODE_FP128 = 14, // LONG DOUBLE (112 bit mantissa) + TYPE_CODE_PPC_FP128= 15 // PPC LONG DOUBLE (2 doubles) // Any other type code is assumed to be an unknown type. }; diff --git a/include/llvm/Type.h b/include/llvm/Type.h index cf1c64fc9d..bd264a0ea0 100644 --- a/include/llvm/Type.h +++ b/include/llvm/Type.h @@ -70,18 +70,21 @@ public: VoidTyID = 0, ///< 0: type with no size FloatTyID, ///< 1: 32 bit floating point type DoubleTyID, ///< 2: 64 bit floating point type - LabelTyID, ///< 3: Labels + X86_FP80TyID, ///< 3: 80 bit floating point type (X87) + FP128TyID, ///< 4: 128 bit floating point type (112-bit mantissa) + PPC_FP128TyID, ///< 5: 128 bit floating point type (two 64-bits) + LabelTyID, ///< 6: Labels // Derived types... see DerivedTypes.h file... // Make sure FirstDerivedTyID stays up to date!!! - IntegerTyID, ///< 4: Arbitrary bit width integers - FunctionTyID, ///< 5: Functions - StructTyID, ///< 6: Structures - PackedStructTyID,///< 7: Packed Structure. This is for bitcode only - ArrayTyID, ///< 8: Arrays - PointerTyID, ///< 9: Pointers - OpaqueTyID, ///< 10: Opaque: type with unknown structure - VectorTyID, ///< 11: SIMD 'packed' format, or other vector type + IntegerTyID, ///< 7: Arbitrary bit width integers + FunctionTyID, ///< 8: Functions + StructTyID, ///< 9: Structures + PackedStructTyID,///< 10: Packed Structure. This is for bitcode only + ArrayTyID, ///< 11: Arrays + PointerTyID, ///< 12: Pointers + OpaqueTyID, ///< 13: Opaque: type with unknown structure + VectorTyID, ///< 14: SIMD 'packed' format, or other vector type NumTypeIDs, // Must remain as last defined ID LastPrimitiveTyID = LabelTyID, @@ -179,7 +182,8 @@ public: /// isFloatingPoint - Return true if this is one of the two floating point /// types - bool isFloatingPoint() const { return ID == FloatTyID || ID == DoubleTyID; } + bool isFloatingPoint() const { return ID == FloatTyID || ID == DoubleTyID || + ID == X86_FP80TyID || ID == FP128TyID || ID == PPC_FP128TyID; } /// isFPOrFPVector - Return true if this is a FP type or a vector of FP types. /// @@ -282,6 +286,7 @@ public: // These are the builtin types that are always available... // static const Type *VoidTy, *LabelTy, *FloatTy, *DoubleTy; + static const Type *X86_FP80Ty, *FP128Ty, *PPC_FP128Ty; static const IntegerType *Int1Ty, *Int8Ty, *Int16Ty, *Int32Ty, *Int64Ty; /// Methods for support type inquiry through isa, cast, and dyn_cast: diff --git a/lib/AsmParser/Lexer.cpp.cvs b/lib/AsmParser/Lexer.cpp.cvs index 4824a040e4..30ddb8fa0f 100644 --- a/lib/AsmParser/Lexer.cpp.cvs +++ b/lib/AsmParser/Lexer.cpp.cvs @@ -20,7 +20,7 @@ /* A lexical scanner generated by flex */ /* Scanner skeleton version: - * $Header: /home/daffy/u0/vern/flex/RCS/flex.skl,v 2.91 96/09/10 16:58:48 vern Exp $ + * $Header: /cvs/root/flex/flex/skel.c,v 1.2 2004/05/07 00:28:17 jkh Exp $ */ #define FLEX_SCANNER @@ -28,7 +28,6 @@ #define YY_FLEX_MINOR_VERSION 5 #include <stdio.h> -#include <unistd.h> /* cfront 1.2 defines "c_plusplus" instead of "__cplusplus" */ @@ -42,6 +41,7 @@ #ifdef __cplusplus #include <stdlib.h> +#include <unistd.h> /* Use prototypes in function declarations. */ #define YY_USE_PROTOS @@ -308,38 +308,38 @@ static void yy_fatal_error YY_PROTO(( yyconst char msg[] )); *yy_cp = '\0'; \ yy_c_buf_p = yy_cp; -#define YY_NUM_RULES 146 -#define YY_END_OF_BUFFER 147 -static yyconst short int yy_acclist[227] = +#define YY_NUM_RULES 149 +#define YY_END_OF_BUFFER 150 +static yyconst short int yy_acclist[230] = { 0, - 147, 145, 146, 144, 145, 146, 144, 146, 145, 146, - 145, 146, 145, 146, 145, 146, 145, 146, 145, 146, - 137, 145, 146, 137, 145, 146, 1, 145, 146, 145, - 146, 145, 146, 145, 146, 145, 146, 145, 146, 145, - 146, 145, 146, 145, 146, 145, 146, 145, 146, 145, - 146, 145, 146, 145, 146, 145, 146, 145, 146, 145, - 146, 145, 146, 145, 146, 145, 146, 145, 146, 145, - 146, 145, 146, 145, 146, 134, 132, 130, 140, 138, - 142, 137, 1, 131, 141, 116, 38, 79, 61, 80, - 75, 25, 134, 136, 130, 142, 22, 142, 143, 135, - - 131, 62, 74, 36, 39, 3, 64, 89, 94, 92, - 93, 91, 90, 95, 99, 115, 84, 82, 71, 83, - 81, 63, 97, 88, 86, 87, 85, 98, 96, 76, - 133, 142, 142, 73, 100, 78, 67, 123, 70, 77, - 124, 72, 52, 24, 139, 66, 103, 69, 47, 26, - 4, 59, 65, 68, 55, 12, 102, 142, 34, 32, - 2, 51, 5, 56, 105, 46, 58, 53, 125, 101, - 23, 54, 122, 41, 7, 57, 40, 109, 108, 8, - 16, 118, 121, 35, 60, 113, 107, 117, 27, 28, - 106, 119, 114, 112, 6, 29, 104, 50, 33, 44, - - 45, 9, 19, 10, 110, 11, 49, 48, 111, 31, - 13, 15, 14, 17, 30, 37, 18, 120, 20, 126, - 128, 129, 42, 127, 43, 21 + 150, 148, 149, 147, 148, 149, 147, 149, 148, 149, + 148, 149, 148, 149, 148, 149, 148, 149, 148, 149, + 140, 148, 149, 140, 148, 149, 1, 148, 149, 148, + 149, 148, 149, 148, 149, 148, 149, 148, 149, 148, + 149, 148, 149, 148, 149, 148, 149, 148, 149, 148, + 149, 148, 149, 148, 149, 148, 149, 148, 149, 148, + 149, 148, 149, 148, 149, 148, 149, 148, 149, 148, + 149, 148, 149, 148, 149, 137, 135, 133, 143, 141, + 145, 140, 1, 134, 144, 119, 38, 82, 64, 83, + 78, 25, 137, 139, 133, 145, 22, 145, 146, 138, + + 134, 65, 77, 36, 39, 3, 67, 92, 97, 95, + 96, 94, 93, 98, 102, 118, 87, 85, 74, 86, + 84, 66, 100, 91, 89, 90, 88, 101, 99, 79, + 136, 145, 145, 76, 103, 81, 70, 126, 73, 80, + 127, 75, 52, 24, 142, 69, 106, 72, 47, 26, + 4, 62, 68, 71, 55, 12, 105, 145, 34, 32, + 2, 51, 5, 56, 59, 108, 46, 61, 53, 128, + 104, 23, 54, 125, 41, 7, 57, 40, 112, 111, + 8, 16, 121, 124, 35, 63, 116, 110, 120, 27, + 28, 109, 122, 117, 115, 6, 29, 107, 50, 33, + + 44, 45, 9, 19, 10, 113, 11, 49, 48, 114, + 31, 58, 13, 15, 14, 60, 17, 30, 37, 18, + 123, 20, 129, 131, 132, 42, 130, 43, 21 } ; -static yyconst short int yy_accept[587] = +static yyconst short int yy_accept[601] = { 0, 1, 1, 1, 2, 4, 7, 9, 11, 13, 15, 17, 19, 21, 24, 27, 30, 32, 34, 36, 38, @@ -354,57 +354,59 @@ static yyconst short int yy_accept[587] = 91, 91, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, - 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, - 93, 93, 93, 93, 93, 93, 94, 94, 95, 96, - 97, 98, 99, 99, 100, 100, 101, 102, 103, 103, - 103, 104, 104, 104, 105, 105, 105, 105, 105, 106, - 106, 106, 106, 106, 106, 106, 106, 106, 107, 107, + 92, 93, 93, 93, 93, 93, 93, 93, 93, 93, + 93, 93, 93, 93, 93, 93, 93, 94, 94, 95, + 96, 97, 98, 99, 99, 100, 100, 101, 102, 103, + 103, 103, 104, 104, 104, 105, 105, 105, 105, 105, + 106, 106, 106, 106, 106, 106, 106, 106, 106, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, - 107, 107, 108, 108, 108, 108, 108, 108, 109, 110, - - 111, 112, 113, 114, 114, 115, 116, 116, 116, 117, - 117, 117, 117, 117, 117, 118, 119, 120, 120, 120, - 120, 120, 121, 122, 122, 122, 123, 123, 123, 123, - 123, 123, 123, 123, 123, 124, 125, 126, 126, 127, - 128, 128, 129, 130, 130, 130, 130, 130, 130, 130, - 130, 130, 131, 131, 131, 132, 133, 133, 133, 133, - 134, 134, 134, 134, 134, 135, 135, 135, 135, 136, - 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, - 136, 136, 136, 137, 138, 138, 138, 138, 138, 139, - 140, 140, 140, 140, 141, 141, 141, 141, 141, 141, - - 141, 141, 142, 143, 143, 143, 144, 144, 144, 144, - 145, 145, 145, 145, 146, 147, 147, 147, 148, 148, - 148, 148, 148, 149, 150, 150, 150, 151, 151, 151, - 151, 152, 152, 153, 154, 154, 154, 154, 154, 155, - 155, 156, 156, 157, 157, 157, 158, 159, 160, 161, - 161, 161, 162, 162, 163, 163, 163, 163, 163, 163, - 163, 163, 163, 163, 163, 163, 164, 164, 165, 166, - 166, 166, 166, 166, 166, 166, 167, 167, 167, 167, - 167, 168, 168, 168, 168, 168, 168, 168, 168, 168, - 168, 168, 168, 168, 169, 169, 169, 169, 169, 170, - - 170, 170, 170, 170, 171, 171, 172, 172, 172, 172, - 172, 172, 172, 172, 172, 172, 173, 174, 174, 174, - 175, 175, 175, 175, 176, 176, 176, 176, 177, 177, - 177, 178, 179, 180, 180, 180, 181, 182, 182, 182, - 182, 183, 183, 184, 185, 185, 185, 185, 186, 186, - 186, 186, 187, 187, 187, 187, 188, 189, 190, 190, - 191, 192, 192, 193, 194, 194, 194, 194, 194, 194, - 194, 195, 195, 195, 196, 197, 197, 197, 197, 197, - 197, 198, 198, 198, 198, 198, 198, 199, 199, 199, - 199, 199, 200, 200, 200, 201, 201, 201, 201, 201, - - 201, 202, 202, 202, 203, 203, 203, 203, 203, 204, - 204, 204, 204, 205, 206, 207, 208, 209, 209, 210, - 210, 210, 210, 210, 211, 211, 211, 211, 212, 212, - 213, 214, 214, 214, 214, 214, 215, 215, 215, 215, - 215, 215, 215, 215, 216, 216, 216, 216, 216, 216, - 217, 217, 217, 217, 217, 217, 218, 218, 218, 218, - 218, 218, 219, 219, 219, 219, 219, 219, 219, 219, - 220, 220, 220, 220, 220, 221, 222, 223, 223, 224, - 224, 225, 226, 226, 227, 227 + 107, 107, 107, 107, 108, 108, 108, 108, 108, 108, + + 109, 110, 111, 112, 113, 114, 114, 115, 116, 116, + 116, 116, 117, 117, 117, 117, 117, 117, 118, 119, + 120, 120, 120, 120, 120, 121, 122, 122, 122, 123, + 123, 123, 123, 123, 123, 123, 123, 123, 124, 125, + 126, 126, 127, 128, 128, 129, 130, 130, 130, 130, + 130, 130, 130, 130, 130, 131, 131, 131, 132, 133, + 133, 133, 133, 134, 134, 134, 134, 134, 135, 135, + 135, 135, 136, 136, 136, 136, 136, 136, 136, 136, + 136, 136, 136, 136, 136, 136, 137, 138, 138, 138, + 138, 138, 138, 139, 140, 140, 140, 140, 141, 141, + + 141, 141, 141, 141, 141, 141, 142, 143, 143, 143, + 144, 144, 144, 144, 145, 145, 145, 145, 145, 146, + 147, 147, 147, 148, 148, 148, 148, 148, 149, 150, + 150, 150, 151, 151, 151, 151, 152, 152, 153, 154, + 154, 154, 154, 154, 155, 155, 156, 156, 157, 157, + 157, 158, 159, 160, 161, 161, 161, 162, 162, 163, + 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, + 163, 164, 164, 165, 166, 167, 167, 167, 167, 167, + 167, 167, 168, 168, 168, 168, 168, 169, 169, 169, + 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, + + 169, 170, 170, 170, 170, 170, 171, 171, 171, 171, + 171, 172, 172, 173, 173, 173, 173, 173, 173, 173, + 173, 173, 173, 174, 175, 175, 175, 176, 176, 176, + 176, 177, 177, 177, 177, 178, 178, 178, 179, 180, + 181, 181, 181, 182, 183, 183, 183, 183, 184, 184, + 185, 186, 186, 186, 186, 187, 187, 187, 187, 187, + 188, 188, 188, 188, 189, 190, 191, 191, 192, 193, + 193, 194, 195, 195, 195, 195, 195, 195, 195, 195, + 196, 196, 196, 197, 198, 198, 198, 198, 198, 198, + 199, 199, 199, 199, 199, 199, 200, 200, 200, 200, + + 200, 200, 201, 201, 201, 202, 202, 202, 202, 202, + 202, 202, 203, 203, 203, 204, 204, 204, 204, 204, + 205, 205, 205, 205, 206, 207, 208, 209, 210, 210, + 210, 211, 211, 211, 211, 211, 212, 212, 213, 213, + 213, 214, 214, 215, 216, 216, 216, 216, 216, 217, + 218, 218, 218, 218, 218, 218, 218, 218, 219, 219, + 219, 219, 219, 219, 220, 220, 220, 220, 220, 220, + 221, 221, 221, 221, 221, 221, 222, 222, 222, 222, + 222, 222, 222, 222, 223, 223, 223, 223, 223, 224, + 225, 226, 226, 227, 227, 228, 229, 229, 230, 230 + } ; static yyconst int yy_ec[256] = @@ -413,16 +415,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, 11, - 11, 11, 11, 12, 11, 13, 11, 14, 15, 1, - 1, 1, 1, 16, 17, 17, 17, 17, 18, 17, + 1, 1, 7, 1, 8, 9, 1, 10, 11, 12, + 13, 13, 13, 14, 13, 15, 13, 16, 17, 1, + 1, 1, 1, 18, 19, 19, 19, 19, 20, 19, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, - 1, 1, 1, 1, 19, 1, 20, 21, 22, 23, + 1, 1, 1, 1, 21, 1, 22, 23, 24, 25, - 24, 25, 26, 27, 28, 5, 29, 30, 31, 32, - 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, - 43, 44, 1, 1, 1, 1, 1, 1, 1, 1, + 26, 27, 28, 29, 30, 5, 31, 32, 33, 34, + 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, + 45, 46, 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, @@ -439,451 +441,469 @@ static yyconst int yy_ec[256] = 1, 1, 1, 1, 1 } ; -static yyconst int yy_meta[45] = +static yyconst int yy_meta[47] = { 0, - 1, 1, 2, 3, 4, 1, 1, 4, 4, 4, - 4, 4, 4, 5, 1, 1, 4, 4, 4, 4, - 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, + 1, 1, 2, 3, 4, 1, 5, 6, 7, 8, + 8, 8, 8, 8, 8, 9, 1, 1, 4, 10, + 4, 4, 4, 4, 4, 10, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, - 4, 4, 4, 4 + 4, 4, 4, 4, 4, 4 } ; -static yyconst short int yy_base[595] = +static yyconst short int yy_base[612] = { 0, - 0, 0, 1272, 1273, 1273, 1273, 1267, 1256, 41, 36, - 45, 51, 57, 63, 0, 74, 66, 69, 68, 90, - 92, 121, 78, 36, 148, 93, 117, 114, 167, 138, - 67, 194, 152, 226, 134, 95, 103, 101, 1265, 1273, - 1254, 1273, 1263, 0, 199, 216, 232, 131, 253, 269, - 274, 0, 1262, 0, 203, 119, 154, 150, 115, 163, - 149, 80, 1251, 191, 49, 164, 157, 108, 279, 81, - 184, 169, 1250, 223, 239, 188, 220, 224, 276, 182, - 237, 241, 245, 295, 258, 288, 118, 289, 296, 233, - 297, 306, 301, 298, 303, 304, 305, 308, 319, 323, - - 316, 327, 324, 330, 331, 334, 335, 337, 339, 340, - 341, 356, 352, 344, 342, 186, 345, 360, 348, 1249, - 369, 371, 372, 375, 377, 373, 378, 389, 385, 379, - 390, 403, 407, 392, 393, 1248, 1257, 1273, 0, 421, - 1246, 436, 454, 0, 1255, 1273, 0, 1244, 437, 381, - 1243, 412, 423, 1242, 410, 430, 455, 413, 1241, 456, - 439, 457, 426, 427, 428, 458, 459, 1240, 460, 464, - 467, 469, 471, 473, 474, 476, 475, 478, 477, 481, - 480, 483, 486, 494, 501, 499, 506, 503, 505, 507, - 508, 1239, 510, 513, 514, 517, 515, 1238, 1237, 1236, - - 1235, 1234, 1233, 511, 1232, 1231, 516, 519, 1230, 548, - 522, 525, 526, 537, 1229, 1228, 1227, 528, 550, 553, - 562, 1226, 1225, 563, 542, 1224, 541, 566, 567, 568, - 569, 573, 574, 570, 1223, 1222, 1221, 575, 1220, 1219, - 576, 1218, 1217, 585, 588, 590, 592, 597, 593, 600, - 572, 1216, 601, 603, 1273, 612, 632, 636, 640, 645, - 623, 647, 530, 648, 1215, 649, 612, 605, 1214, 650, - 651, 652, 613, 653, 655, 654, 656, 660, 657, 664, - 604, 672, 1213, 1212, 659, 661, 663, 662, 1211, 1210, - 674, 678, 681, 1209, 677, 692, 693, 694, 695, 696, - - 697, 1208, 1207, 698, 702, 1206, 705, 699, 700, 1205, - 701, 711, 703, 0, 1204, 706, 724, 740, 725, 731, - 733, 734, 1203, 1202, 737, 730, 1201, 739, 742, 735, - 1200, 744, 1199, 1198, 746, 750, 753, 754, 1197, 755, - 1196, 756, 1195, 758, 760, 775, 769, 1194, 1193, 773, - 762, 1192, 776, 1191, 778, 782, 783, 784, 785, 617, - 787, 790, 791, 793, 792, 1190, 794, 1189, 1188, 798, - 803, 796, 805, 797, 804, 1187, 808, 809, 816, 818, - 1186, 819, 821, 820, 825, 823, 824, 833, 826, 835, - 839, 840, 59, 1273, 841, 842, 844, 845, 1185, 846, - - 847, 851, 852, 1184, 850, 1183, 855, 866, 856, 867, - 873, 854, 861, 869, 719, 1273, 1182, 874, 876, 1181, - 877, 880, 882, 1180, 883, 884, 885, 1179, 891, 886, - 1178, 1177, 1176, 890, 894, 1175, 1174, 902, 893, 901, - 1173, 905, 1172, 1171, 907, 914, 908, 1170, 915, 916, - 917, 1169, 918, 920, 919, 1168, 1167, 1166, 704, 1165, - 1164, 924, 1163, 1162, 922, 921, 923, 927, 933, 940, - 1161, 929, 941, 1160, 1159, 942, 945, 946, 949, 952, - 1158, 956, 954, 955, 950, 959, 1157, 957, 968, 974, - 961, 1156, 963, 976, 1155, 978, 981, 980, 979, 983, - - 1154, 982, 988, 1153, 992, 995, 996, 997, 1152, 993, - 998, 1001, 1151, 1150, 1149, 1133, 1121, 999, 1120, 1002, - 1005, 1004, 1014, 1119, 1010, 1022, 1015, 1118, 1024, 1115, - 1114, 1025, 1026, 1027, 1030, 1113, 1032, 1033, 1034, 1037, - 1035, 1038, 1039, 1112, 1043, 1044, 1046, 1049, 1050, 1111, - 1056, 1055, 1052, 1060, 1063, 1110, 1067, 1064, 1069, 1070, - 1075, 1109, 1078, 1072, 1071, 1081, 1073, 1082, 1083, 1108, - 1084, 1090, 1086, 1093, 1103, 1102, 1101, 1096, 948, 1097, - 346, 259, 1100, 256, 1273, 1136, 1138, 1141, 1145, 1148, - 1152, 235, 1157, 165 - + 0, 0, 1335, 1336, 1336, 1336, 1330, 1317, 43, 49, + 55, 63, 71, 1288, 0, 112, 72, 75, 74, 112, + 58, 132, 103, 59, 161, 120, 77, 105, 180, 101, + 84, 209, 162, 243, 127, 135, 117, 137, 1327, 1336, + 1314, 1336, 1325, 0, 216, 1319, 272, 98, 307, 1283, + 324, 0, 1322, 0, 250, 78, 149, 142, 144, 153, + 171, 33, 1309, 34, 172, 174, 177, 173, 230, 178, + 36, 167, 1308, 204, 185, 189, 226, 186, 232, 207, + 239, 216, 220, 246, 258, 260, 272, 262, 281, 276, + 274, 285, 277, 273, 291, 292, 129, 288, 314, 299, + + 336, 337, 315, 339, 325, 326, 340, 341, 343, 345, + 350, 351, 354, 355, 349, 352, 368, 356, 358, 362, + 1307, 377, 381, 382, 383, 385, 386, 387, 398, 389, + 388, 400, 406, 392, 405, 413, 1306, 1317, 1336, 0, + 411, 1304, 0, 451, 0, 1315, 1336, 0, 1302, 418, + 403, 1301, 419, 431, 1300, 423, 426, 432, 428, 1299, + 452, 433, 454, 439, 457, 458, 459, 463, 1298, 462, + 464, 465, 466, 467, 475, 440, 468, 476, 480, 478, + 485, 482, 479, 494, 500, 501, 483, 503, 295, 505, + 506, 507, 199, 1297, 508, 515, 509, 512, 517, 1296, + + 1295, 1294, 1293, 1292, 1291, 516, 1290, 1289, 521, 518, + 520, 1288, 551, 527, 539, 524, 540, 1287, 1286, 1285, + 541, 556, 551, 565, 1284, 1283, 568, 567, 1282, 570, + 522, 571, 572, 573, 577, 576, 574, 1281, 1280, 1279, + 578, 1278, 1277, 580, 1276, 1275, 581, 529, 579, 598, + 599, 601, 588, 605, 1274, 602, 606, 1336, 605, 544, + 628, 620, 622, 616, 617, 620, 618, 1273, 619, 632, + 629, 1272, 633, 631, 634, 640, 642, 643, 644, 647, + 649, 648, 652, 651, 654, 1271, 1270, 653, 667, 656, + 659, 663, 1269, 1268, 669, 668, 671, 1267, 675, 673, + + 676, 678, 679, 683, 686, 1266, 1265, 689, 690, 1264, + 693, 691, 35, 1263, 692, 700, 702, 701, 0, 1262, + 696, 713, 732, 703, 716, 723, 724, 1261, 1260, 727, + 722, 1259, 728, 725, 729, 1258, 734, 1257, 1256, 736, + 739, 740, 741, 1255, 743, 1254, 744, 1253, 749, 748, + 766, 779, 1252, 1251, 751, 754, 1250, 756, 1249, 761, + 764, 780, 767, 771, 783, 782, 784, 785, 787, 788, + 1248, 791, 1247, 1246, 1245, 792, 793, 794, 798, 797, + 800, 1244, 801, 803, 809, 810, 1243, 814, 811, 816, + 817, 815, 822, 824, 827, 830, 828, 831, 833, 857, + + 1336, 835, 837, 839, 841, 1242, 845, 846, 853, 849, + 1241, 852, 1240, 855, 856, 854, 860, 869, 864, 868, + 873, 890, 1336, 1239, 871, 878, 1238, 879, 880, 882, + 1237, 881, 884, 886, 1236, 893, 883, 1235, 1234, 1233, + 887, 894, 1232, 1231, 890, 906, 901, 1230, 908, 1229, + 1228, 910, 913, 914, 1227, 709, 915, 918, 919, 1226, + 917, 920, 921, 1225, 1224, 1223, 923, 1222, 1221, 929, + 1220, 1219, 922, 924, 941, 934, 926, 930, 946, 1218, + 948, 949, 1216, 1212, 951, 952, 251, 953, 955, 1209, + 956, 954, 959, 957, 961, 1205, 958, 977, 967, 978, + + 960, 1190, 980, 981, 1186, 982, 983, 985, 987, 996, + 992, 1173, 993, 997, 1169, 994, 999, 1001, 1002, 1158, + 1004, 1003, 1005, 1155, 1151, 1143, 1130, 1129, 1008, 1013, + 1127, 1014, 1010, 1016, 1026, 1126, 1028, 1125, 1031, 1027, + 1124, 1029, 1122, 1121, 1032, 1030, 1034, 1039, 1120, 1119, + 1042, 1043, 1044, 1045, 1048, 1046, 1049, 1118, 1051, 1047, + 1057, 1059, 1060, 1117, 1065, 1063, 1070, 1072, 1074, 1112, + 1068, 1075, 1076, 1079, 1080, 1111, 1081, 1083, 1087, 1082, + 1085, 1089, 1092, 1106, 1095, 1102, 1093, 1104, 962, 755, + 575, 1108, 477, 1105, 394, 187, 1109, 32, 1336, 1147, + + 1154, 1162, 1172, 1180, 1190, 1197, 1201, 1209, 1216, 1219, + 1225 } ; -static yyconst short int yy_def[595] = +static yyconst short int yy_def[612] = { 0, - 585, 1, 585, 585, 585, 585, 586, 587, 588, 585, - 587, 587, 587, 587, 589, 590, 587, 587, 587, 587, - 587, 587, 587, 587, 587, 587, 587, 587, 587, 587, - 587, 587, 587, 587, 587, 587, 587, 587, 586, 585, - 587, 585, 591, 592, 585, 585, 587, 587, 587, 587, - 587, 589, 593, 594, 585, 587, 587, 587, 587, 587, - 587, 587, 587, 587, 587, 587, 587, 587, 587, 587, - 587, 587, 587, 587, 587, 587, 587, 587, 587, 587, - 587, 587, 587, 587, 587, 587, 587, 587, 587, 587, - 587, 587, 587, 587, 587, 587, 587, 587, 587, 587, - - 587, 587, 587, 587, 587, 587, 587, 587, 587, 587, - 587, 587, 587, 587, 587, 587, 587, 587, 587, 587, - 587, 587, 587, 587, 587, 587, 587, 587, 587, 587, - 587, 587, 587, 587, 587, 585, 591, 585, 592, 585, - 587, 587, 587, 51, 593, 585, 594, 587, 587, 587, - 587, 587, 587, 587, 587, 587, 587, 587, 587, 587, - 587, 587, 587, 587, 587, 587, 587, 587, 587, 587, - 587, 587, 587, 587, 587, 587, 587, 587, 587, 587, - 587, 587, 587, 587, 587, 587, 587, 587, 587, 587, - 587, 587, 587, 587, 587, 587, 587, 587, 587, 587, - - 587, 587, 587, 587, 587, 587, 587, 587, 587, 51, - 587, 587, 587, 587, 587, 587, 587, 587, 587, 587, - 587, 587, 587, 587, 587, 587, 587, 587, 587, 587, - 587, 587, 587, 587, 587, 587, 587, 587, 587, 587, - 587, 587, 587, 587, 587, 587, 587, 587, 587, 587, - 587, 587, 587, 587, 585, 585, 585, 585, 587, 587, - 587, 587, 587, 587, 587, 587, 587, 587, 587, 587, - 587, 587, 587, 587, 587, 587, 587, 587, 587, 587, - 587, 587, 587, 587, 587, 587, 587, 587, 587, 587, - 587, 587, 587, 587, 587, 587, 587, 587, 587, 587, - - 587, 587, 587, 587, 587, 587, 587, 587, 587, 587, - 587, 587, 587, 210, 587, 587, 587, 587, 587, 587, - 587, 587, 587, 587, 587, 587, 587, 587, 587, 587, - 587, 587, 587, 587, 587, 587, 587, 587, 587, 587, - 587, 587, 587, 587, 587, 587, 585, 587, 587, 587, - 587, 587, 587, 587, 587, 587, 587, 587, 587, 587, - 587, 587, 587, 587, 587, 587, 587, 587, 587, 587, - 587, 587, 587, 587, 587, 587, 587, 587, 587, 587, - 587, 587, 587, 587, 587, 587, 587, 587, 587, 587, - 587, 587, 585, 585, 587, 587, 587, 587, 587, 587, - - 587, 587, 587, 587, 587, 587, 587, 587, 587, 587, - 587, 587, 587, 587, 585, 585, 587, 587, 587, 587, - 587, 587, 587, 587, 587, 587, 587, 587, 587, 587, - 587, 587, 587, 587, 587, 587, 587, 587, 587, 587, - 587, 587, 587, 587, 587, 587, 587, 587, 587, 587, - 587, 587, 587, 587, 587, 587, 587, 587, 587, 587, - 587, 587, 587, 587, 587, 587, 587, 587, 587, 587, - 587, 587, 587, 587, 587, 587, 587, 587, 587, 587, - 587, 587, 587, 587, 587, 587, 587, 587, 587, 587, - 587, 587, 587, 587, 587, 587, 587, 587, 587, 587, - - 587, 587, 587, 587, 587, 587, 587, 587, 587, 587, - 587, 587, 587, 587, 587, 587, 587, 587, 587, 587, - 587, 587, 587, 587, 587, 587, 587, 587, 587, 587, - 587, 587, 587, 587, 587, 587, 587, 587, 587, 587, - 587, 587, 587, 587, 587, 587, 587, 587, 587, 587, - 587, 587, 587, 587, 587, 587, 587, 587, 587, 587, - 587, 587, 587, 587, 587, 587, 587, 587, 587, 587, - 587, 587, 587, 587, 587, 587, 587, 587, 587, 587, - 587, 587, 587, 587, 0, 585, 585, 585, 585, 585, - 585, 585, 585, 585 - + 599, 1, 599, 599, 599, 599, 600, 601, 602, 599, + 601, 601, 601, 13, 603, 604, 601, 601, 601, 601, + 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, + 601, 601, 601, 601, 601, 601, 601, 601, 600, 599, + 601, 599, 605, 606, 599, 607, 13, 601, 601, 13, + 49, 603, 608, 609, 599, 601, 601, 601, 601, 601, + 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, + 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, + 601, 601, 601, 25, 601, 601, 601, 601, 601, 601, + 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, + + 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, + 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, + 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, + 601, 601, 601, 601, 601, 601, 599, 605, 599, 606, + 610, 601, 49, 601, 51, 608, 599, 609, 601, 601, + 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, + 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, + 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, + 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, + 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, + + 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, + 601, 601, 51, 601, 601, 601, 601, 601, 601, 601, + 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, + 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, + 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, + 601, 601, 601, 601, 601, 601, 601, 599, 610, 611, + 599, 144, 144, 601, 601, 601, 601, 601, 601, 601, + 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, + 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, + 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, + + 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, + 601, 601, 601, 601, 601, 601, 601, 601, 213, 601, + 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, + 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, + 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, + 601, 599, 601, 601, 601, 601, 601, 601, 601, 601, + 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, + 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, + 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, + 601, 601, 601, 601, 601, 601, 601, 601, 601, 599, + + 599, 601, 601, 601, 601, 601, 601, 601, 601, 601, + 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, + 601, 599, 599, 601, 601, 601, 601, 601, 601, 601, + 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, + 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, + 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, + 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, + 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, + 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, + 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, + + 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, + 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, + 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, + 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, + 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, + 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, + 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, + 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, + 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, + 601, 601, 601, 601, 601, 601, 601, 601, 0, 599, + + 599, 599, 599, 599, 599, 599, 599, 599, 599, 599, + 599 } ; -static yyconst short int yy_nxt[1318] = +static yyconst short int yy_nxt[1383] = { 0, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, - 14, 14, 14, 4, 15, 16, 8, 8, 8, 17, - 18, 19, 20, 21, 22, 23, 24, 25, 8, 26, - 27, 28, 29, 30, 8, 31, 32, 33, 34, 35, - 36, 37, 8, 38, 43, 46, 46, 46, 46, 42, - 45, 45, 45, 45, 47, 47, 47, 47, 42, 48, - 393, 394, 42, 83, 42, 49, 50, 50, 50, 50, - 42, 49, 50, 50, 50, 50, 42, 53, 158, 42, - 42, 42, 42, 55, 55, 55, 55, 65, 56, 66, - 106, 42, 61, 42, 42, 57, 62, 58, 51, 59, - - 67, 81, 60, 42, 63, 42, 42, 82, 42, 68, - 166, 64, 87, 69, 42, 133, 42, 156, 132, 70, - 88, 42, 71, 72, 135, 89, 73, 42, 42, 90, - 42, 42, 42, 74, 42, 134, 91, 94, 186, 141, - 75, 148, 76, 77, 42, 162, 95, 42, 152, 92, - 78, 42, 96, 130, 79, 93, 80, 84, 84, 84, - 84, 42, 42, 42, 103, 42, 131, 42, 147, 85, - 42, 118, 151, 104, 155, 105, 42, 42, 119, 86, - 42, 149, 42, 150, 120, 159, 160, 121, 161, 153, - 97, 168, 98, 154, 122, 42, 99, 42, 100, 42, - - 101, 42, 102, 107, 42, 177, 226, 42, 45, 45, - 45, 45, 55, 55, 55, 55, 108, 109, 172, 110, - 111, 112, 167, 113, 140, 46, 46, 46, 46, 114, - 157, 115, 116, 42, 117, 107, 42, 42, 139, 42, - 49, 47, 47, 47, 47, 42, 42, 173, 123, 124, - 42, 125, 42, 126, 42, 127, 174, 128, 42, 189, - 169, 129, 142, 142, 142, 142, 42, 180, 170, 42, - 143, 42, 42, 179, 178, 171, 143, 49, 50, 50, - 50, 50, 42, 144, 144, 144, 144, 42, 181, 42, - 144, 144, 42, 144, 144, 144, 144, 144, 144, 175, - - 163, 42, 42, 164, 84, 84, 84, 84, 42, 42, - 42, 42, 165, 176, 42, 188, 42, 42, 42, 42, - 187, 42, 194, 182, 183, 184, 190, 185, 191, 42, - 192, 199, 42, 197, 193, 204, 42, 42, 195, 198, - 42, 196, 201, 42, 42, 200, 203, 42, 42, 205, - 42, 206, 42, 42, 42, 42, 202, 42, 42, 42, - 212, 42, 207, 215, 211, 42, 208, 224, 213, 42, - 217, 209, 227, 42, 225, 222, 210, 216, 219, 218, - 214, 220, 42, 230, 42, 42, 42, 228, 42, 223, - 42, 42, 42, 221, 42, 229, 231, 247, 42, 234, - - 236, 239, 42, 42, 233, 42, 42, 232, 246, 235, - 238, 241, 242, 263, 237, 240, 42, 248, 251, 249, - 42, 243, 250, 42, 244, 42, 42, 252, 253, 245, - 256, 256, 256, 256, 254, 264, 42, 266, 257, 42, - 42, 42, 269, 42, 257, 142, 142, 142, 142, 42, - 42, 267, 42, 143, 274, 273, 261, 275, 265, 143, - 258, 259, 262, 260, 260, 260, 260, 42, 42, 42, - 42, 42, 42, 42, 268, 271, 272, 42, 270, 278, - 42, 276, 42, 279, 42, 277, 42, 42, 42, 42, - 42, 42, 285, 42, 42, 280, 42, 292, 289, 42, - - 281, 291, 283, 293, 282, 290, 295, 42, 287, 296, - 284, 288, 42, 294, 42, 286, 42, 297, 42, 42, - 42, 42, 300, 42, 42, 302, 42, 42, 42, 42, - 42, 298, 42, 299, 301, 42, 304, 308, 42, 42, - 303, 42, 307, 42, 310, 311, 305, 306, 309, 317, - 42, 350, 319, 312, 42, 42, 313, 314, 314, 314, - 314, 315, 316, 42, 314, 314, 42, 314, 314, 314, - 314, 314, 314, 320, 318, 42, 42, 325, 326, 42, - 42, 42, 42, 42, 321, 42, 42, 42, 42, 42, - 344, 329, 328, 323, 322, 327, 331, 333, 42, 336, - - 324, 42, 330, 42, 332, 42, 42, 335, 337, 334, - 42, 340, 342, 42, 42, 338, 42, 42, 42, 341, - 339, 256, 256, 256, 256, 42, 42, 366, 343, 257, - 42, 353, 358, 345, 354, 257, 42, 425, 258, 258, - 346, 347, 347, 347, 347, 347, 347, 347, 347, 260, - 260, 260, 260, 42, 260, 260, 260, 260, 42, 348, + 14, 14, 14, 14, 14, 4, 15, 16, 8, 8, + |