aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDale Johannesen <dalej@apple.com>2007-08-03 01:03:46 +0000
committerDale Johannesen <dalej@apple.com>2007-08-03 01:03:46 +0000
commit320fc8a39e17f5725f5711248e06bcb36f122687 (patch)
tree9c3020b8e874758d20de1ddb5cac4aeb635bb2c6
parent107f54a0026cfc455252c5a79b4860ace4bbbfc1 (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.h9
-rw-r--r--include/llvm/Type.h25
-rw-r--r--lib/AsmParser/Lexer.cpp.cvs1551
-rw-r--r--lib/AsmParser/Lexer.l3
-rw-r--r--lib/AsmParser/Lexer.l.cvs3
-rw-r--r--lib/AsmParser/llvmAsmParser.cpp.cvs6065
-rw-r--r--lib/AsmParser/llvmAsmParser.h.cvs474
-rw-r--r--lib/AsmParser/llvmAsmParser.y6
-rw-r--r--lib/AsmParser/llvmAsmParser.y.cvs6
-rw-r--r--lib/Bitcode/Reader/BitcodeReader.cpp9
-rw-r--r--lib/Bitcode/Writer/BitcodeWriter.cpp3
-rw-r--r--lib/VMCore/Type.cpp35
-rw-r--r--test/Feature/ppcld.ll26
-rw-r--r--test/Feature/sparcld.ll24
-rw-r--r--test/Feature/x86ld.ll26
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,
+