multiple constraints of different type and value assignment

This commit is contained in:
Lev Walkin 2006-10-21 05:54:49 +00:00
parent 8e81b7669e
commit c6ab03c7fe
3 changed files with 347 additions and 379 deletions

View File

@ -523,7 +523,7 @@ union yyalloc
/* YYFINAL -- State number of the termination state. */
#define YYFINAL 7
#define YYLAST 871
#define YYLAST 745
/* YYNTOKENS -- Number of terminals. */
#define YYNTOKENS 121
@ -532,7 +532,7 @@ union yyalloc
/* YYNRULES -- Number of rules. */
#define YYNRULES 309
/* YYNRULES -- Number of states. */
#define YYNSTATES 469
#define YYNSTATES 467
/* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX. */
#define YYUNDEFTOK 2
@ -608,17 +608,17 @@ static const unsigned short yyprhs[] =
498, 500, 502, 504, 507, 510, 512, 514, 517, 520,
522, 524, 526, 528, 530, 533, 535, 538, 540, 542,
544, 546, 548, 550, 552, 554, 556, 558, 560, 562,
564, 566, 568, 570, 572, 574, 575, 577, 579, 583,
585, 590, 594, 599, 601, 603, 607, 613, 615, 619,
621, 625, 627, 631, 633, 637, 642, 646, 648, 650,
654, 658, 662, 666, 668, 670, 673, 676, 678, 680,
682, 684, 686, 688, 690, 692, 696, 702, 704, 708,
710, 714, 715, 717, 719, 721, 723, 725, 727, 729,
730, 736, 739, 741, 744, 747, 751, 753, 755, 759,
764, 766, 770, 773, 777, 779, 783, 784, 786, 788,
791, 794, 798, 800, 804, 806, 811, 816, 818, 820,
822, 824, 826, 828, 829, 831, 834, 839, 840, 842,
844, 846, 847, 849, 851, 853, 855, 857, 858, 860
564, 566, 568, 570, 572, 574, 575, 577, 579, 581,
586, 590, 595, 597, 599, 603, 609, 611, 613, 617,
619, 623, 625, 629, 631, 635, 640, 644, 646, 648,
652, 656, 660, 664, 666, 668, 671, 674, 676, 678,
680, 682, 684, 686, 688, 690, 694, 700, 702, 706,
708, 712, 713, 715, 717, 719, 721, 723, 725, 727,
728, 734, 737, 739, 742, 745, 749, 751, 753, 757,
762, 764, 768, 771, 775, 777, 781, 782, 784, 786,
789, 792, 796, 798, 802, 804, 809, 814, 816, 818,
820, 822, 824, 826, 827, 829, 832, 837, 838, 840,
842, 844, 845, 847, 849, 851, 853, 855, 856, 858
};
/* YYRHS -- A `-1'-separated list of the rules' RHS. */
@ -668,7 +668,7 @@ static const short yyrhs[] =
118, 238, -1, 15, 118, 241, -1, 239, -1, 239,
118, 178, -1, 179, -1, 178, 118, 179, -1, 180,
-1, 17, -1, 18, -1, 17, -1, 181, 118, 17,
-1, 181, 118, 18, -1, 16, -1, 241, 152, 3,
-1, 181, 118, 18, -1, 16, -1, 241, 173, 3,
184, -1, 186, -1, 187, -1, 241, 114, 184, -1,
-1, 108, 185, 189, -1, 68, -1, 50, -1, 91,
-1, 6, -1, 8, -1, 188, -1, 231, -1, 241,
@ -681,36 +681,35 @@ static const short yyrhs[] =
53, -1, 54, -1, 55, -1, 64, -1, 69, -1,
79, -1, 88, -1, 90, -1, 95, -1, 97, -1,
98, -1, 99, -1, 71, -1, 104, -1, 105, -1,
102, -1, 103, -1, -1, 197, -1, 198, -1, 110,
215, 111, -1, 199, -1, 85, 110, 200, 111, -1,
110, 200, 111, -1, 199, 110, 200, 111, -1, 107,
-1, 201, -1, 201, 113, 107, -1, 201, 113, 107,
113, 201, -1, 202, -1, 22, 101, 205, -1, 203,
-1, 202, 194, 203, -1, 204, -1, 203, 195, 204,
-1, 205, -1, 205, 101, 205, -1, 207, 110, 200,
111, -1, 110, 200, 111, -1, 208, -1, 209, -1,
208, 219, 208, -1, 66, 219, 208, -1, 208, 219,
65, -1, 66, 219, 65, -1, 210, -1, 206, -1,
75, 7, -1, 75, 241, -1, 85, -1, 51, -1,
50, -1, 91, -1, 232, -1, 188, -1, 241, -1,
238, -1, 100, 34, 199, -1, 100, 35, 108, 211,
109, -1, 212, -1, 211, 113, 212, -1, 107, -1,
241, 196, 213, -1, -1, 214, -1, 78, -1, 20,
-1, 74, -1, 216, -1, 220, -1, 218, -1, -1,
36, 30, 108, 217, 189, -1, 37, 173, -1, 106,
-1, 106, 119, -1, 119, 106, -1, 119, 106, 119,
-1, 221, -1, 222, -1, 108, 238, 109, -1, 221,
108, 223, 109, -1, 224, -1, 223, 113, 224, -1,
120, 225, -1, 120, 118, 225, -1, 241, -1, 225,
118, 241, -1, -1, 227, -1, 74, -1, 38, 184,
-1, 108, 109, -1, 108, 229, 109, -1, 230, -1,
229, 113, 230, -1, 241, -1, 241, 110, 231, 111,
-1, 241, 110, 187, 111, -1, 231, -1, 107, -1,
10, -1, 11, -1, 231, -1, 12, -1, -1, 234,
-1, 235, 237, -1, 115, 236, 10, 116, -1, -1,
94, -1, 24, -1, 80, -1, -1, 57, -1, 46,
-1, 15, -1, 16, -1, 16, -1, -1, 241, -1,
9, -1
102, -1, 103, -1, -1, 197, -1, 198, -1, 199,
-1, 85, 110, 200, 111, -1, 110, 200, 111, -1,
199, 110, 200, 111, -1, 107, -1, 201, -1, 201,
113, 107, -1, 201, 113, 107, 113, 201, -1, 215,
-1, 202, -1, 22, 101, 205, -1, 203, -1, 202,
194, 203, -1, 204, -1, 203, 195, 204, -1, 205,
-1, 205, 101, 205, -1, 207, 110, 200, 111, -1,
110, 200, 111, -1, 208, -1, 209, -1, 208, 219,
208, -1, 66, 219, 208, -1, 208, 219, 65, -1,
66, 219, 65, -1, 210, -1, 206, -1, 75, 7,
-1, 75, 241, -1, 85, -1, 51, -1, 50, -1,
91, -1, 232, -1, 188, -1, 241, -1, 238, -1,
100, 34, 199, -1, 100, 35, 108, 211, 109, -1,
212, -1, 211, 113, 212, -1, 107, -1, 241, 196,
213, -1, -1, 214, -1, 78, -1, 20, -1, 74,
-1, 216, -1, 220, -1, 218, -1, -1, 36, 30,
108, 217, 189, -1, 37, 173, -1, 106, -1, 106,
119, -1, 119, 106, -1, 119, 106, 119, -1, 221,
-1, 222, -1, 108, 238, 109, -1, 221, 108, 223,
109, -1, 224, -1, 223, 113, 224, -1, 120, 225,
-1, 120, 118, 225, -1, 241, -1, 225, 118, 241,
-1, -1, 227, -1, 74, -1, 38, 184, -1, 108,
109, -1, 108, 229, 109, -1, 230, -1, 229, 113,
230, -1, 241, -1, 241, 110, 231, 111, -1, 241,
110, 187, 111, -1, 231, -1, 107, -1, 10, -1,
11, -1, 231, -1, 12, -1, -1, 234, -1, 235,
237, -1, 115, 236, 10, 116, -1, -1, 94, -1,
24, -1, 80, -1, -1, 57, -1, 46, -1, 15,
-1, 16, -1, 16, -1, -1, 241, -1, 9, -1
};
/* YYRLINE[YYN] -- source line where rule number YYN was defined. */
@ -736,8 +735,8 @@ static const unsigned short yyrline[] =
1623, 1624, 1625, 1626, 1627, 1628, 1629, 1630, 1631, 1632,
1633, 1634, 1640, 1642, 1643, 1646, 1653, 1665, 1667, 1671,
1675, 1676, 1677, 1678, 1679, 1683, 1684, 1685, 1686, 1690,
1691, 1698, 1698, 1699, 1699, 1701, 1703, 1708, 1710, 1715,
1719, 1728, 1732, 1737, 1742, 1745, 1751, 1761, 1763, 1768,
1691, 1698, 1698, 1699, 1699, 1701, 1703, 1708, 1712, 1716,
1725, 1729, 1734, 1739, 1742, 1748, 1756, 1761, 1763, 1768,
1770, 1775, 1777, 1783, 1785, 1790, 1799, 1807, 1813, 1819,
1826, 1834, 1842, 1851, 1854, 1859, 1865, 1875, 1879, 1884,
1890, 1895, 1896, 1897, 1910, 1924, 1928, 1933, 1937, 1942,
@ -801,7 +800,7 @@ static const char *const yytname[] =
"NSTD_IndirectMarker", "TypeDeclaration", "TypeDeclarationSet",
"ComplexTypeReference", "ComplexTypeReferenceAmpList",
"ComplexTypeReferenceElement", "PrimitiveFieldReference", "FieldName",
"DefinedObjectClass", "ValueDefinition", "Value", "@4", "SimpleValue",
"DefinedObjectClass", "ValueAssignment", "Value", "@4", "SimpleValue",
"DefinedValue", "RestrictedCharacterStringValue", "Opaque",
"BasicTypeId", "BasicTypeId_UniverationCompatible", "BasicType",
"BasicString", "UnionMark", "IntersectionMark", "optConstraints",
@ -865,8 +864,8 @@ static const unsigned char yyr1[] =
190, 190, 190, 190, 190, 190, 190, 190, 190, 190,
190, 190, 191, 191, 191, 192, 192, 193, 193, 193,
193, 193, 193, 193, 193, 193, 193, 193, 193, 193,
193, 194, 194, 195, 195, 196, 196, 197, 197, 198,
198, 199, 199, 200, 200, 200, 200, 201, 201, 202,
193, 194, 194, 195, 195, 196, 196, 197, 198, 198,
199, 199, 200, 200, 200, 200, 200, 201, 201, 202,
202, 203, 203, 204, 204, 205, 205, 205, 205, 205,
205, 205, 205, 205, 205, 206, 206, 207, 207, 208,
208, 208, 208, 208, 209, 210, 210, 211, 211, 212,
@ -901,8 +900,8 @@ static const unsigned char yyr2[] =
1, 1, 1, 2, 2, 1, 1, 2, 2, 1,
1, 1, 1, 1, 2, 1, 2, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 0, 1, 1, 3, 1,
4, 3, 4, 1, 1, 3, 5, 1, 3, 1,
1, 1, 1, 1, 1, 0, 1, 1, 1, 4,
3, 4, 1, 1, 3, 5, 1, 1, 3, 1,
3, 1, 3, 1, 3, 4, 3, 1, 1, 3,
3, 3, 3, 1, 1, 2, 2, 1, 1, 1,
1, 1, 1, 1, 1, 3, 5, 1, 3, 1,
@ -928,133 +927,133 @@ static const unsigned short yydefact[] =
39, 0, 41, 42, 0, 47, 49, 51, 187, 0,
188, 189, 190, 191, 192, 200, 193, 194, 195, 196,
197, 198, 199, 27, 28, 32, 30, 31, 35, 0,
0, 58, 60, 38, 43, 0, 0, 0, 33, 29,
293, 58, 60, 38, 43, 0, 0, 0, 33, 29,
293, 134, 306, 0, 169, 0, 0, 183, 176, 180,
182, 170, 0, 0, 171, 175, 179, 0, 0, 65,
185, 172, 64, 181, 138, 0, 44, 48, 50, 34,
0, 297, 68, 67, 123, 294, 301, 0, 184, 178,
185, 172, 64, 181, 138, 297, 0, 123, 294, 301,
44, 48, 50, 34, 0, 68, 67, 0, 184, 178,
177, 174, 173, 0, 71, 0, 172, 73, 0, 293,
0, 186, 0, 0, 45, 46, 0, 299, 300, 298,
0, 0, 205, 303, 302, 295, 135, 137, 0, 0,
0, 186, 0, 299, 300, 298, 0, 0, 0, 205,
303, 302, 295, 45, 46, 0, 135, 137, 0, 0,
0, 0, 0, 63, 158, 164, 159, 289, 290, 165,
166, 156, 157, 83, 0, 78, 80, 81, 160, 161,
82, 288, 280, 0, 282, 287, 284, 143, 144, 139,
140, 142, 136, 155, 153, 149, 150, 151, 0, 162,
293, 293, 0, 100, 0, 131, 0, 0, 205, 205,
125, 124, 0, 0, 122, 206, 207, 209, 293, 72,
77, 76, 75, 74, 292, 0, 239, 238, 0, 0,
237, 240, 0, 213, 0, 242, 0, 214, 217, 219,
221, 223, 234, 0, 227, 228, 233, 291, 241, 244,
243, 66, 293, 281, 0, 0, 0, 0, 0, 0,
140, 142, 136, 0, 155, 153, 149, 150, 151, 0,
162, 131, 0, 0, 205, 205, 125, 124, 0, 0,
122, 206, 207, 208, 293, 293, 0, 100, 293, 72,
77, 76, 75, 74, 292, 0, 0, 293, 239, 238,
0, 0, 237, 240, 0, 212, 0, 0, 242, 0,
213, 217, 219, 221, 223, 234, 0, 227, 228, 233,
216, 256, 258, 257, 266, 267, 291, 241, 244, 243,
66, 293, 281, 0, 0, 0, 296, 0, 0, 0,
0, 293, 0, 293, 0, 293, 0, 0, 0, 0,
148, 145, 0, 278, 276, 276, 276, 102, 277, 98,
276, 276, 109, 0, 296, 0, 293, 0, 293, 0,
293, 0, 0, 0, 293, 0, 0, 0, 256, 258,
257, 266, 267, 0, 70, 69, 0, 262, 0, 0,
235, 236, 0, 0, 0, 62, 0, 201, 202, 0,
203, 204, 0, 0, 0, 0, 79, 283, 0, 0,
162, 141, 167, 154, 163, 152, 279, 107, 0, 106,
108, 99, 276, 104, 105, 0, 97, 110, 101, 0,
119, 0, 92, 95, 96, 293, 133, 0, 0, 85,
86, 91, 276, 293, 307, 0, 307, 0, 0, 261,
0, 211, 208, 0, 0, 218, 263, 264, 232, 230,
0, 245, 0, 226, 215, 220, 222, 224, 0, 231,
229, 286, 285, 168, 146, 147, 103, 0, 132, 0,
126, 293, 94, 293, 127, 293, 89, 276, 293, 308,
128, 293, 210, 259, 268, 0, 0, 270, 212, 265,
249, 0, 247, 205, 0, 225, 111, 120, 121, 93,
90, 87, 88, 123, 123, 0, 0, 272, 274, 269,
0, 246, 0, 251, 216, 0, 129, 130, 260, 273,
0, 271, 248, 254, 255, 253, 250, 252, 115, 116,
0, 0, 113, 117, 275, 0, 112, 114, 118
276, 276, 109, 0, 70, 69, 0, 0, 261, 262,
0, 0, 235, 236, 0, 0, 0, 0, 62, 0,
201, 202, 0, 203, 204, 0, 0, 0, 0, 0,
79, 283, 0, 0, 162, 141, 167, 154, 163, 152,
0, 119, 0, 92, 95, 96, 293, 133, 0, 0,
85, 86, 91, 276, 293, 307, 0, 307, 0, 210,
0, 279, 107, 0, 106, 108, 99, 276, 104, 105,
0, 97, 110, 101, 218, 259, 263, 264, 232, 230,
245, 0, 268, 226, 214, 220, 222, 224, 0, 231,
229, 0, 0, 270, 286, 285, 168, 132, 0, 126,
293, 94, 293, 127, 293, 89, 276, 293, 308, 128,
293, 209, 211, 146, 147, 103, 0, 0, 265, 249,
0, 247, 205, 0, 225, 0, 272, 274, 269, 0,
120, 121, 93, 90, 87, 88, 123, 123, 111, 260,
246, 0, 251, 215, 273, 0, 271, 129, 130, 0,
248, 254, 255, 253, 250, 252, 275, 115, 116, 0,
0, 113, 117, 0, 112, 114, 118
};
/* YYDEFGOTO[NTERM-NUM]. */
static const short yydefgoto[] =
{
-1, 3, 4, 5, 9, 11, 12, 16, 17, 28,
29, 30, 42, 43, 83, 84, 129, 54, 55, 61,
62, 155, 63, 64, 65, 44, 45, 48, 49, 183,
85, 118, 86, 143, 144, 184, 185, 358, 359, 360,
351, 352, 132, 342, 212, 213, 346, 347, 445, 461,
462, 361, 362, 161, 162, 221, 119, 199, 200, 463,
275, 276, 87, 205, 267, 206, 207, 245, 333, 120,
121, 122, 123, 319, 322, 224, 225, 226, 227, 296,
247, 248, 249, 250, 251, 252, 253, 254, 255, 256,
421, 422, 456, 457, 297, 298, 435, 299, 309, 300,
301, 302, 416, 417, 437, 277, 278, 151, 193, 194,
257, 258, 134, 135, 136, 160, 165, 259, 124, 408,
260
29, 30, 42, 43, 83, 84, 133, 54, 55, 61,
62, 164, 63, 64, 65, 44, 45, 48, 49, 183,
85, 118, 86, 143, 144, 184, 185, 349, 350, 351,
342, 343, 135, 367, 226, 227, 371, 372, 449, 460,
461, 352, 353, 158, 159, 217, 119, 199, 200, 462,
295, 296, 87, 206, 277, 207, 208, 248, 337, 120,
121, 122, 123, 322, 325, 220, 221, 222, 223, 249,
250, 251, 252, 253, 254, 255, 256, 257, 258, 259,
420, 421, 454, 455, 260, 261, 417, 262, 311, 263,
264, 265, 392, 393, 426, 297, 298, 151, 193, 194,
266, 267, 127, 128, 129, 156, 162, 268, 124, 407,
269
};
/* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
STATE-NUM. */
#define YYPACT_NINF -292
#define YYPACT_NINF -282
static const short yypact[] =
{
104, -292, -292, 27, 104, -292, -292, -292, -292, -75,
71, 17, -292, -292, -292, -292, 81, -292, -36, 141,
-292, -292, 90, 107, 134, 139, 182, 172, 181, 141,
-292, 156, -292, -292, -292, -292, -292, 243, -292, -292,
245, 73, 235, -292, 222, -292, 171, -292, 80, -292,
183, -292, -292, 167, 528, -292, -292, -292, 186, 191,
-292, 190, 186, -292, -21, -292, 196, -292, -292, 293,
-292, -292, -292, -292, -292, -292, -292, -292, -292, -292,
-292, -292, -292, 528, -292, -292, -292, -292, -292, 279,
696, -292, -292, -292, -292, 104, 186, 204, -292, -292,
-5, 201, -292, 237, -292, 249, 262, -292, -292, -292,
-292, -292, 284, 255, -292, -292, -292, 772, 341, 238,
-292, 244, -292, -292, 227, 350, -75, -292, -292, -292,
247, 5, -292, -292, -292, -292, -12, 186, -292, -292,
-292, -292, -292, 2, -292, 248, -292, 250, 251, 95,
68, -292, 270, 206, -292, -292, 233, -292, -292, -292,
347, 620, 36, -292, -292, -292, -292, -292, 360, 772,
186, 186, 442, -292, -292, -292, -292, -292, -292, -292,
-292, -292, -292, -292, 121, -292, -292, -292, -292, -292,
-292, -292, -292, 124, -292, -292, 256, -292, -292, 252,
-292, -292, -292, -292, -292, -292, -292, -292, 253, 254,
162, 52, 126, -292, 257, 325, 271, 307, 89, 96,
-292, -292, 272, 397, -292, -292, -292, 273, -5, -292,
-292, -292, -292, -292, -292, 280, -292, -292, 105, 57,
-292, -292, 277, -292, 442, -292, 275, 281, 211, 215,
-292, 285, -292, 278, 105, -292, -292, -292, -292, -292,
-292, -292, 95, -292, 30, 216, 304, 380, 381, 206,
-292, -292, 206, -292, 20, 76, 20, -292, -292, 299,
76, 20, 296, 233, -292, 363, 58, 311, 40, 324,
40, 326, 442, 368, 286, 104, 291, 292, -292, -292,
-292, 306, -292, 442, -292, -292, 554, 297, 309, 234,
-292, -292, 317, 320, 318, -292, 310, -292, -292, 554,
-292, -292, 554, 554, 442, 411, -292, -292, 319, 327,
-292, -292, -292, 426, -292, -292, -292, -292, 312, -292,
-292, -292, 20, -292, -292, 348, -292, -292, -292, 381,
322, 129, -292, -292, -292, 286, -292, 364, 332, 323,
-292, -292, 20, 286, 381, 333, 381, 334, 335, -292,
337, -292, -292, 330, 349, -292, -292, 340, -292, -292,
442, 273, 9, -292, 331, 215, -292, -292, 351, -292,
-292, -292, -292, -292, -292, -292, -292, 357, -292, 216,
-292, 58, -292, 286, -292, 41, -292, 20, 286, -292,
-292, 286, -292, -292, -292, 26, 140, -292, -292, -292,
-292, 151, -292, 36, 509, -292, -292, -292, -292, -292,
-292, -292, -292, -292, -292, 380, 381, 352, -292, -292,
330, -292, 9, 131, -292, 19, -292, -292, 426, 352,
381, -292, -292, -292, -292, -292, -292, -292, -292, -292,
19, 53, -292, -292, -292, 43, -292, -292, -292
221, -282, -282, 51, 221, -282, -282, -282, -282, 8,
6, 75, -282, -282, -282, -282, 26, -282, 13, 237,
-282, -282, 144, 104, 106, 126, 115, 133, 205, 237,
-282, 136, -282, -282, -282, -282, -282, 204, -282, -282,
166, 55, 213, -282, 190, -282, 165, -282, 153, -282,
185, -282, -282, 176, 493, -282, -282, -282, 196, 186,
-282, 202, 196, -282, -14, -282, 209, -282, -282, 303,
-282, -282, -282, -282, -282, -282, -282, -282, -282, -282,
-282, -282, -282, 493, -282, -282, -282, -282, -282, 271,
206, -282, -282, -282, -282, 221, 196, 223, -282, -282,
-19, 220, -282, 258, -282, 260, 275, -282, -282, -282,
-282, -282, 304, 272, -282, -282, -282, 646, 361, 257,
-282, 266, -282, -282, 259, 9, 372, -282, -282, 122,
8, -282, -282, -282, 268, -282, -282, 196, -282, -282,
-282, -282, -282, 74, -282, 264, -282, 269, 274, 99,
73, -282, 273, -282, -282, -282, 370, 210, 570, 34,
-282, -282, -282, -282, -282, 289, -282, -282, 381, 646,
196, 196, 386, -282, -282, -282, -282, -282, -282, -282,
-282, -282, -282, -282, 84, -282, -282, -282, -282, -282,
-282, -282, -282, 119, -282, -282, 276, -282, -282, 267,
-282, -282, -282, 288, -282, -282, -282, -282, -282, 287,
277, 347, 281, 319, 78, 96, -282, -282, 296, 386,
-282, -282, -282, 297, 218, 44, 120, -282, -19, -282,
-282, -282, -282, -282, -282, 308, 380, 206, -282, -282,
-32, 95, -282, -282, 302, -282, 221, 386, -282, 305,
298, 224, 246, -282, 311, -282, 306, -32, -282, -282,
-282, -282, -282, -282, 309, -282, -282, -282, -282, -282,
-282, 99, -282, 82, 294, 337, -282, 408, 409, 210,
389, 19, 341, 63, 348, 63, 351, 386, 314, 386,
-282, -282, 210, -282, -6, 47, -6, -282, -282, 327,
47, -6, 326, 289, -282, -282, 453, 320, -282, 310,
321, 189, -282, -282, 322, 325, 330, 323, -282, 342,
-282, -282, 453, -282, -282, 453, 453, 386, 231, 328,
-282, -282, 339, 340, -282, -282, -282, 425, -282, -282,
409, 338, 137, -282, -282, -282, 206, -282, 383, 349,
344, -282, -282, -6, 206, 409, 350, 409, 343, -282,
359, -282, -282, 345, -282, -282, -282, -6, -282, -282,
385, -282, -282, -282, -282, -282, -282, 354, -282, -282,
297, 48, -282, -282, 362, 246, -282, -282, 363, -282,
-282, -1, 139, -282, -282, -282, -282, -282, 294, -282,
19, -282, 206, -282, 18, -282, -6, 206, -282, -282,
206, -282, -282, -282, -282, -282, 368, 408, -282, -282,
163, -282, 34, 431, -282, 409, 360, -282, -282, 328,
-282, -282, -282, -282, -282, -282, -282, -282, -282, 425,
-282, 48, -9, -282, 360, 409, -282, -282, -282, 21,
-282, -282, -282, -282, -282, -282, -282, -282, -282, 21,
62, -282, -282, 37, -282, -282, -282
};
/* YYPGOTO[NTERM-NUM]. */
static const short yypgoto[] =
{
-292, -292, -292, 462, -292, -292, 342, -292, 451, -292,
-292, 440, -292, -292, -292, 388, -292, -292, -292, -292,
-292, -292, 412, -292, 377, -292, -292, -292, 417, 329,
-292, -68, -292, -292, 314, -292, 217, 188, -292, 75,
-292, 83, 258, -292, -292, 198, -292, -292, -292, 25,
-193, -278, -98, -292, -97, -292, 200, -292, 223, -142,
283, 287, -292, 21, -292, -140, -258, -137, 55, -71,
-52, -292, -30, -292, -292, -215, -292, -292, 179, -161,
72, -292, 176, 177, -291, -292, -292, -118, -292, -292,
-292, 59, -292, -292, -292, -292, -292, -292, 246, -292,
-292, -292, -292, 63, 70, -255, -292, -292, -292, 264,
-136, -292, -110, -292, -292, -292, -292, 1, -292, 143,
-282, -282, -282, 475, -282, -282, 353, -282, 464, -282,
-282, 455, -282, -282, -282, 402, -282, -282, -282, -282,
-282, -282, 426, -282, 391, -282, -282, -282, 432, 352,
-282, 331, -282, -282, 329, -282, 228, 207, -282, 87,
-282, 101, 279, -282, -282, 192, -282, -282, -282, 46,
-205, -269, -87, -282, -64, -282, 229, -282, 235, -145,
290, 292, -282, -168, -282, -139, -270, -123, 97, -75,
-72, -282, -34, -282, -282, -213, -282, -282, 198, -169,
90, -282, 201, 193, -231, -282, -282, -281, -282, -282,
-282, 79, -282, -282, -282, -282, -282, -282, 270, -282,
-282, -282, -282, 100, 105, -277, -282, -282, -282, 251,
-128, -282, -99, -282, -282, -282, -282, 5, -282, 168,
-10
};
@ -1065,165 +1064,147 @@ static const short yypgoto[] =
#define YYTABLE_NINF -277
static const short yytable[] =
{
18, 6, 133, 289, 291, 6, 18, 328, 353, 187,
201, 246, 188, 189, 195, 375, 188, 189, 13, 337,
339, 340, 125, 458, 88, 343, 344, 7, 130, 157,
95, 51, 387, 10, 163, 13, 197, 198, 459, 13,
177, 178, 50, 67, 90, 164, 145, 458, 51, 13,
13, 186, 67, 88, 66, 89, 19, 458, 272, 50,
197, 198, 459, 66, 310, 146, 13, 13, 270, 271,
197, 198, 459, 90, 22, 357, 357, 13, 177, 178,
13, 14, 13, 314, 89, 158, 67, 396, 1, 2,
13, 14, 96, 220, 273, 46, 126, 66, 145, 159,
31, 174, 175, 176, 13, 177, 178, 406, 179, 180,
131, 168, 274, 279, 272, 169, 420, 146, 147, 1,
2, 222, 187, 353, 201, 188, 189, 167, 195, 329,
305, 367, 188, 189, 460, 188, 189, 191, 166, 190,
196, 427, 374, 209, 436, 181, 223, 350, 350, -84,
273, 453, 432, 202, 208, 131, 131, 23, 460, 468,
231, 233, 466, 388, 186, 350, 24, 131, 460, 32,
147, 230, 232, 131, 222, 191, 13, 192, 270, 271,
15, 222, 1, 2, 37, 47, 182, 25, 354, 26,
20, 379, 57, 58, 338, 13, 369, 288, 27, 223,
272, 1, 2, 172, 290, 454, 223, 390, 443, 455,
131, 307, 174, 175, 176, 13, 177, 178, 60, 179,
180, 1, 2, 33, 308, 13, 177, 178, 34, 311,
261, 1, 2, 263, 262, 282, 273, 264, 400, 283,
35, 175, 401, 13, 177, 178, 234, 179, 180, 439,
210, 211, 190, 440, 196, 330, 181, 402, 334, 209,
441, 36, 209, 428, 442, 407, 208, 39, 467, 40,
208, -276, 467, 208, 203, -276, 355, 131, 363, 52,
363, 53, 100, 56, 236, 1, 2, 197, 198, -25,
335, 59, 41, 336, 101, 102, 370, 182, 433, 378,
92, 434, 93, 354, 97, 430, 103, 68, 104, 98,
105, 312, 313, 128, 204, 317, 318, 320, 321, 137,
106, 197, 198, 138, 107, 241, 101, 102, 108, 394,
395, 109, 70, 71, 72, 139, 446, 447, 140, 398,
141, 142, 110, 73, 148, 152, 149, 111, 74, 112,
75, 113, 150, 153, 409, 156, 409, 214, 76, 172,
114, 115, 170, 228, 171, 285, 265, 77, 269, 78,
266, 268, 423, 284, 79, 116, 80, 81, 82, 286,
287, 306, 292, 303, 315, 332, 323, 117, 324, 330,
13, 355, 341, 349, 316, 363, 345, 364, 368, 366,
208, 131, 371, 372, 175, 438, 13, 177, 178, 234,
179, 180, 1, 2, 373, 377, 376, 384, 175, 235,
13, 177, 178, 234, 179, 180, 438, 380, 382, 383,
391, 393, 423, 293, 294, 397, 405, 403, 392, 399,
464, 404, 410, 413, 424, 412, 414, 236, 237, 175,
415, 13, 177, 178, 234, 179, 180, 1, 2, 419,
418, 236, 425, 238, 235, 426, 8, 21, 154, 38,
450, 99, 239, 127, 94, 91, 389, 173, 365, 326,
431, 348, 240, 229, 429, 465, 304, 356, 241, 331,
448, 381, 236, 237, 280, 385, 444, 242, 281, 386,
325, 452, 241, 451, 243, 295, 449, 244, 238, 411,
0, 0, 0, 0, 0, 0, 175, 239, 13, 177,
178, 234, 179, 180, 1, 2, 0, 240, 327, 0,
0, 235, 0, 241, 0, 0, 0, 13, 0, 0,
0, 0, 242, 1, 2, 0, 0, 0, 0, 243,
0, 0, 244, 0, 0, 0, 68, 0, 0, 236,
237, 175, 0, 13, 177, 178, 234, 179, 180, 1,
2, 69, 0, 0, 0, 238, 0, 0, 0, 0,
0, 70, 71, 72, 239, 0, 0, 0, 0, 0,
0, 0, 73, 0, 240, 0, 0, 74, 0, 75,
241, 0, 0, 0, 236, 237, 0, 76, 0, 242,
0, 0, 0, 0, 0, 0, 77, 0, 78, 244,
238, 0, 0, 79, 0, 80, 81, 82, 0, 239,
0, 0, 0, 0, 0, 101, 102, 0, 0, 240,
0, 0, 0, 215, 0, 241, 0, 103, 68, 104,
0, 105, 216, 0, 242, 0, 0, 0, 0, 0,
0, 106, 0, 0, 244, 107, 0, 0, 0, 108,
18, 284, 286, 126, 332, 6, 18, 201, 13, 6,
187, 451, 344, 136, 134, 13, 14, 362, 364, 365,
88, 189, 195, 368, 369, 457, 188, 13, 13, 189,
379, 51, 292, 153, 188, 13, 14, 95, 197, 198,
458, 457, 145, 67, 90, 146, 50, 390, 51, 88,
288, 7, 67, 348, 197, 198, 458, 13, 66, 89,
290, 291, 186, 50, 13, 452, 457, 66, 293, 453,
1, 2, 13, 90, 309, 374, 405, 46, 317, 197,
198, 458, 13, 177, 178, 292, 67, 310, 89, 154,
415, 13, 177, 178, 145, 387, 125, 146, 348, 96,
130, 66, 312, 155, 13, 174, 175, 176, 13, 177,
178, 339, 179, 180, 19, 15, 10, 425, 358, 218,
360, 293, 147, 22, 361, 341, 341, 167, 430, 435,
201, 344, 187, 125, 125, 20, 459, 294, 299, 190,
196, 305, 166, 189, 219, 195, 333, 210, 188, 181,
308, 189, 459, 466, 31, 419, 188, 202, 388, 125,
231, 233, 209, 218, 189, 363, 32, 47, 160, 188,
341, 464, -84, 35, 147, 230, 232, 459, 125, 161,
191, 218, 192, 168, 186, 13, 283, 169, 219, 191,
182, 1, 2, 270, 345, 33, 175, 271, 13, 177,
178, 234, 179, 180, 285, 13, 219, 172, 37, 442,
-25, 1, 2, 41, 125, 34, 174, 175, 176, 13,
177, 178, 36, 179, 180, 1, 2, 60, 272, 302,
40, 313, 273, 303, 290, 291, 1, 2, 175, 238,
13, 177, 178, 234, 179, 180, 399, 39, 428, 53,
400, 316, 429, 23, 378, 465, 292, 52, 465, 401,
181, 190, 24, 196, 334, 57, 58, 406, 338, 210,
431, 346, 440, 354, 100, 354, 441, 56, 204, 209,
243, 238, 210, 25, 209, 26, 101, 102, 1, 2,
197, 198, 293, 59, 27, 92, 389, 209, 103, 68,
104, 182, 105, 13, 177, 178, 224, 225, 436, 1,
2, 437, 106, 345, 93, 433, 107, 97, 205, 98,
108, 125, 243, 109, 70, 71, 72, -276, 320, 321,
397, -276, 132, 125, 110, 73, 314, 315, 137, 111,
74, 112, 75, 113, 138, 408, 139, 408, 323, 324,
76, 140, 114, 115, 197, 198, 101, 102, 142, 77,
141, 78, 413, 414, 148, 149, 79, 116, 80, 81,
82, 422, 447, 448, 150, 157, 165, 152, 170, 117,
203, 427, 172, 171, 228, 275, 274, 280, 334, 281,
346, 279, 282, 175, 354, 13, 177, 178, 234, 179,
180, 1, 2, 209, 276, 278, 287, 289, 235, 306,
307, 319, 326, 336, 318, 427, 327, 329, 13, 340,
366, 355, 236, 237, 357, 359, 370, 377, 375, 376,
396, 422, 219, 381, 383, 456, 238, 239, 175, 382,
13, 177, 178, 234, 179, 180, 1, 2, 391, 384,
394, 395, 240, 235, 411, 398, 402, 404, 403, 409,
175, 241, 13, 177, 178, 234, 179, 180, 1, 2,
412, 242, 416, 418, 424, 423, 438, 243, 445, 8,
21, 238, 239, 163, 38, 99, 244, 131, 94, 216,
91, 434, 356, 245, 246, 373, 247, 240, 229, 330,
173, 432, 13, 238, 239, 463, 241, 304, 1, 2,
335, 347, 380, 443, 439, 300, 242, 301, 386, 240,
450, 68, 243, 385, 331, 410, 0, 328, 241, 446,
444, 244, 0, 0, 0, 0, 69, 0, 242, 0,
0, 247, 0, 0, 243, 0, 70, 71, 72, 0,
0, 0, 0, 244, 0, 0, 0, 73, 0, 0,
0, 0, 74, 247, 75, 0, 0, 0, 0, 0,
0, 0, 76, 0, 0, 0, 0, 0, 0, 0,
0, 77, 0, 78, 0, 101, 102, 0, 79, 0,
80, 81, 82, 211, 0, 0, 0, 103, 68, 104,
0, 105, 212, 0, 0, 0, 0, 0, 0, 0,
0, 106, 0, 0, 0, 107, 0, 0, 0, 108,
0, 0, 109, 70, 71, 72, 0, 0, 0, 0,
0, 217, 0, 110, 73, 0, 0, 0, 111, 74,
0, 213, 0, 110, 73, 0, 0, 0, 111, 74,
112, 75, 113, 0, 0, 0, 0, 0, 0, 76,
0, 114, 115, 218, 219, 0, 0, 0, 77, 0,
78, 101, 102, 0, 0, 79, 116, 80, 81, 82,
0, 114, 115, 214, 215, 0, 0, 0, 77, 0,
78, 1, 2, 0, 0, 79, 116, 80, 81, 82,
0, 0, 0, 103, 68, 104, 0, 105, 0, 0,
0, 0, 0, 0, 0, 0, 0, 106, 0, 0,
0, 107, 0, 0, 0, 108, 0, 0, 109, 70,
71, 72, 0, 0, 0, 0, 0, 0, 0, 110,
73, 0, 0, 0, 111, 74, 112, 75, 113, 0,
0, 0, 0, 0, 0, 76, 0, 114, 115, 0,
0, 0, 0, 0, 77, 0, 78, 1, 2, 0,
0, 79, 116, 80, 81, 82, 0, 0, 0, 103,
68, 104, 0, 105, 0, 0, 0, 0, 0, 0,
0, 0, 0, 106, 0, 0, 0, 107, 0, 0,
0, 108, 0, 0, 109, 70, 71, 72, 0, 0,
0, 0, 0, 0, 0, 110, 73, 0, 0, 0,
111, 74, 112, 75, 113, 0, 0, 0, 0, 0,
0, 76, 0, 114, 115, 0, 0, 0, 0, 0,
77, 0, 78, 0, 0, 0, 0, 79, 116, 80,
81, 82
0, 0, 0, 0, 77, 0, 78, 0, 0, 0,
0, 79, 116, 80, 81, 82
};
static const short yycheck[] =
{
10, 0, 100, 218, 219, 4, 16, 265, 286, 149,
152, 172, 149, 149, 150, 306, 153, 153, 9, 274,
275, 276, 90, 4, 54, 280, 281, 0, 33, 24,
51, 41, 323, 108, 46, 9, 17, 18, 19, 9,
10, 11, 41, 53, 54, 57, 117, 4, 58, 9,
9, 149, 62, 83, 53, 54, 39, 4, 38, 58,
17, 18, 19, 62, 7, 117, 9, 9, 16, 17,
17, 18, 19, 83, 110, 35, 35, 9, 10, 11,
9, 10, 9, 244, 83, 80, 96, 342, 15, 16,
9, 10, 113, 161, 74, 22, 95, 96, 169, 94,
10, 6, 7, 8, 9, 10, 11, 362, 13, 14,
115, 109, 210, 211, 38, 113, 107, 169, 117, 15,
16, 85, 262, 401, 266, 262, 262, 137, 264, 265,
228, 292, 269, 269, 115, 272, 272, 107, 137, 149,
150, 399, 303, 153, 118, 50, 110, 107, 107, 109,
74, 20, 407, 152, 153, 115, 115, 16, 115, 116,
170, 171, 109, 324, 262, 107, 25, 115, 115, 62,
169, 170, 171, 115, 85, 107, 9, 109, 16, 17,
109, 85, 15, 16, 3, 112, 91, 46, 286, 48,
109, 309, 112, 113, 118, 9, 294, 108, 57, 110,
38, 15, 16, 108, 108, 74, 110, 325, 423, 78,
115, 106, 6, 7, 8, 9, 10, 11, 51, 13,
14, 15, 16, 89, 119, 9, 10, 11, 89, 239,
109, 15, 16, 109, 113, 109, 74, 113, 109, 113,
58, 7, 113, 9, 10, 11, 12, 13, 14, 109,
17, 18, 262, 113, 264, 265, 50, 355, 268, 269,
109, 89, 272, 399, 113, 363, 265, 111, 461, 26,
269, 109, 465, 272, 68, 113, 286, 115, 288, 44,
290, 59, 3, 112, 50, 15, 16, 17, 18, 44,
269, 108, 47, 272, 15, 16, 295, 91, 408, 65,
109, 411, 112, 401, 108, 403, 27, 28, 29, 16,
31, 34, 35, 109, 108, 104, 105, 102, 103, 118,
41, 17, 18, 86, 45, 91, 15, 16, 49, 17,
18, 52, 53, 54, 55, 86, 433, 434, 76, 349,
56, 86, 63, 64, 3, 118, 108, 68, 69, 70,
71, 72, 108, 3, 364, 108, 366, 10, 79, 108,
81, 82, 114, 3, 114, 40, 110, 88, 114, 90,
118, 118, 382, 116, 95, 96, 97, 98, 99, 108,
73, 101, 110, 110, 109, 5, 101, 108, 110, 399,
9, 401, 93, 30, 113, 405, 100, 73, 30, 73,
399, 115, 111, 111, 7, 415, 9, 10, 11, 12,
13, 14, 15, 16, 108, 106, 119, 107, 7, 22,
9, 10, 11, 12, 13, 14, 436, 110, 108, 111,
111, 5, 442, 36, 37, 87, 113, 73, 111, 117,
450, 109, 109, 108, 113, 111, 109, 50, 51, 7,
120, 9, 10, 11, 12, 13, 14, 15, 16, 119,
111, 50, 111, 66, 22, 108, 4, 16, 126, 29,
118, 83, 75, 96, 62, 58, 65, 148, 290, 262,
405, 283, 85, 169, 401, 460, 228, 287, 91, 266,
435, 312, 50, 51, 211, 319, 424, 100, 211, 322,
254, 442, 91, 440, 107, 108, 436, 110, 66, 366,
-1, -1, -1, -1, -1, -1, 7, 75, 9, 10,
11, 12, 13, 14, 15, 16, -1, 85, 264, -1,
-1, 22, -1, 91, -1, -1, -1, 9, -1, -1,
-1, -1, 100, 15, 16, -1, -1, -1, -1, 107,
-1, -1, 110, -1, -1, -1, 28, -1, -1, 50,
51, 7, -1, 9, 10, 11, 12, 13, 14, 15,
16, 43, -1, -1, -1, 66, -1, -1, -1, -1,
-1, 53, 54, 55, 75, -1, -1, -1, -1, -1,
-1, -1, 64, -1, 85, -1, -1, 69, -1, 71,
91, -1, -1, -1, 50, 51, -1, 79, -1, 100,
-1, -1, -1, -1, -1, -1, 88, -1, 90, 110,
66, -1, -1, 95, -1, 97, 98, 99, -1, 75,
-1, -1, -1, -1, -1, 15, 16, -1, -1, 85,
-1, -1, -1, 23, -1, 91, -1, 27, 28, 29,
-1, 31, 32, -1, 100, -1, -1, -1, -1, -1,
-1, 41, -1, -1, 110, 45, -1, -1, -1, 49,
10, 214, 215, 90, 274, 0, 16, 152, 9, 4,
149, 20, 281, 100, 33, 9, 10, 294, 295, 296,
54, 149, 150, 300, 301, 4, 149, 9, 9, 157,
311, 41, 38, 24, 157, 9, 10, 51, 17, 18,
19, 4, 117, 53, 54, 117, 41, 328, 58, 83,
219, 0, 62, 35, 17, 18, 19, 9, 53, 54,
16, 17, 149, 58, 9, 74, 4, 62, 74, 78,
15, 16, 9, 83, 106, 306, 353, 22, 247, 17,
18, 19, 9, 10, 11, 38, 96, 119, 83, 80,
367, 9, 10, 11, 169, 326, 115, 169, 35, 113,
95, 96, 7, 94, 9, 6, 7, 8, 9, 10,
11, 279, 13, 14, 39, 109, 108, 118, 287, 85,
289, 74, 117, 110, 292, 107, 107, 137, 398, 406,
275, 400, 271, 115, 115, 109, 115, 224, 225, 149,
150, 228, 137, 271, 110, 273, 274, 157, 271, 50,
237, 279, 115, 116, 10, 107, 279, 152, 327, 115,
170, 171, 157, 85, 292, 118, 62, 112, 46, 292,
107, 109, 109, 58, 169, 170, 171, 115, 115, 57,
107, 85, 109, 109, 271, 9, 108, 113, 110, 107,
91, 15, 16, 109, 281, 89, 7, 113, 9, 10,
11, 12, 13, 14, 108, 9, 110, 108, 3, 422,
44, 15, 16, 47, 115, 89, 6, 7, 8, 9,
10, 11, 89, 13, 14, 15, 16, 51, 109, 109,
26, 241, 113, 113, 16, 17, 15, 16, 7, 50,
9, 10, 11, 12, 13, 14, 109, 111, 109, 59,
113, 246, 113, 16, 65, 460, 38, 44, 463, 346,
50, 271, 25, 273, 274, 112, 113, 354, 278, 279,
398, 281, 109, 283, 3, 285, 113, 112, 68, 274,
91, 50, 292, 46, 279, 48, 15, 16, 15, 16,
17, 18, 74, 108, 57, 109, 65, 292, 27, 28,
29, 91, 31, 9, 10, 11, 17, 18, 407, 15,
16, 410, 41, 400, 112, 402, 45, 108, 108, 16,
49, 115, 91, 52, 53, 54, 55, 109, 104, 105,
340, 113, 109, 115, 63, 64, 34, 35, 118, 68,
69, 70, 71, 72, 86, 355, 86, 357, 102, 103,
79, 76, 81, 82, 17, 18, 15, 16, 86, 88,
56, 90, 17, 18, 3, 108, 95, 96, 97, 98,
99, 381, 436, 437, 108, 3, 108, 118, 114, 108,
10, 391, 108, 114, 3, 118, 110, 40, 398, 108,
400, 114, 73, 7, 404, 9, 10, 11, 12, 13,
14, 15, 16, 398, 116, 118, 110, 110, 22, 101,
30, 113, 101, 5, 109, 425, 110, 108, 9, 30,
93, 73, 36, 37, 73, 111, 100, 106, 108, 119,
5, 441, 110, 108, 111, 445, 50, 51, 7, 109,
9, 10, 11, 12, 13, 14, 15, 16, 120, 107,
111, 111, 66, 22, 111, 117, 73, 113, 109, 109,
7, 75, 9, 10, 11, 12, 13, 14, 15, 16,
111, 85, 87, 119, 111, 113, 108, 91, 118, 4,
16, 50, 51, 130, 29, 83, 100, 96, 62, 158,
58, 404, 285, 107, 108, 303, 110, 66, 169, 271,
148, 400, 9, 50, 51, 459, 75, 228, 15, 16,
275, 282, 314, 423, 417, 225, 85, 225, 325, 66,
441, 28, 91, 322, 273, 357, -1, 257, 75, 429,
425, 100, -1, -1, -1, -1, 43, -1, 85, -1,
-1, 110, -1, -1, 91, -1, 53, 54, 55, -1,
-1, -1, -1, 100, -1, -1, -1, 64, -1, -1,
-1, -1, 69, 110, 71, -1, -1, -1, -1, -1,
-1, -1, 79, -1, -1, -1, -1, -1, -1, -1,
-1, 88, -1, 90, -1, 15, 16, -1, 95, -1,
97, 98, 99, 23, -1, -1, -1, 27, 28, 29,
-1, 31, 32, -1, -1, -1, -1, -1, -1, -1,
-1, 41, -1, -1, -1, 45, -1, -1, -1, 49,
-1, -1, 52, 53, 54, 55, -1, -1, -1, -1,
-1, 61, -1, 63, 64, -1, -1, -1, 68, 69,
70, 71, 72, -1, -1, -1, -1, -1, -1, 79,
@ -1235,16 +1216,8 @@ static const short yycheck[] =
54, 55, -1, -1, -1, -1, -1, -1, -1, 63,
64, -1, -1, -1, 68, 69, 70, 71, 72, -1,
-1, -1, -1, -1, -1, 79, -1, 81, 82, -1,
-1, -1, -1, -1, 88, -1, 90, 15, 16, -1,
-1, 95, 96, 97, 98, 99, -1, -1, -1, 27,
28, 29, -1, 31, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 41, -1, -1, -1, 45, -1, -1,
-1, 49, -1, -1, 52, 53, 54, 55, -1, -1,
-1, -1, -1, -1, -1, 63, 64, -1, -1, -1,
68, 69, 70, 71, 72, -1, -1, -1, -1, -1,
-1, 79, -1, 81, 82, -1, -1, -1, -1, -1,
88, -1, 90, -1, -1, -1, -1, 95, 96, 97,
98, 99
-1, -1, -1, -1, 88, -1, 90, -1, -1, -1,
-1, 95, 96, 97, 98, 99
};
/* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
@ -1263,41 +1236,41 @@ static const unsigned char yystos[] =
241, 149, 109, 112, 143, 51, 113, 108, 16, 136,
3, 15, 16, 27, 29, 31, 41, 45, 49, 52,
63, 68, 70, 72, 81, 82, 96, 108, 152, 177,
190, 191, 192, 193, 239, 152, 238, 145, 109, 137,
33, 115, 163, 173, 233, 234, 235, 118, 86, 86,
190, 191, 192, 193, 239, 115, 173, 233, 234, 235,
238, 145, 109, 137, 33, 163, 173, 118, 86, 86,
76, 56, 86, 154, 155, 190, 191, 238, 3, 108,
108, 228, 118, 3, 127, 142, 108, 24, 80, 94,
236, 174, 175, 46, 57, 237, 238, 241, 109, 113,
108, 228, 118, 24, 80, 94, 236, 3, 174, 175,
46, 57, 237, 127, 142, 108, 238, 241, 109, 113,
114, 114, 108, 150, 6, 7, 8, 10, 11, 13,
14, 50, 91, 150, 156, 157, 173, 186, 188, 231,
241, 107, 109, 229, 230, 231, 241, 17, 18, 178,
179, 180, 238, 68, 108, 184, 186, 187, 238, 241,
17, 18, 165, 166, 10, 23, 32, 61, 83, 84,
152, 176, 85, 110, 196, 197, 198, 199, 3, 155,
238, 241, 238, 241, 12, 22, 50, 51, 66, 75,
85, 91, 100, 107, 110, 188, 200, 201, 202, 203,
204, 205, 206, 207, 208, 209, 210, 231, 232, 238,
241, 109, 113, 109, 113, 110, 118, 185, 118, 114,
179, 180, 238, 10, 68, 108, 184, 186, 187, 238,
241, 23, 32, 61, 83, 84, 152, 176, 85, 110,
196, 197, 198, 199, 17, 18, 165, 166, 3, 155,
238, 241, 238, 241, 12, 22, 36, 37, 50, 51,
66, 75, 85, 91, 100, 107, 108, 110, 188, 200,
201, 202, 203, 204, 205, 206, 207, 208, 209, 210,
215, 216, 218, 220, 221, 222, 231, 232, 238, 241,
109, 113, 109, 113, 110, 118, 116, 185, 118, 114,
40, 108, 73, 108, 196, 108, 196, 110, 200, 110,
16, 17, 38, 74, 173, 181, 182, 226, 227, 173,
181, 182, 109, 113, 116, 40, 108, 73, 108, 196,
108, 196, 110, 36, 37, 108, 200, 215, 216, 218,
220, 221, 222, 110, 163, 173, 101, 106, 119, 219,
7, 241, 34, 35, 200, 109, 113, 104, 105, 194,
102, 103, 195, 101, 110, 219, 157, 230, 187, 231,
241, 179, 5, 189, 241, 184, 184, 226, 118, 226,
226, 93, 164, 226, 226, 100, 167, 168, 166, 30,
107, 161, 162, 172, 173, 241, 177, 35, 158, 159,
160, 172, 173, 241, 73, 158, 73, 200, 30, 173,
238, 111, 111, 108, 200, 205, 119, 106, 65, 208,
110, 199, 108, 111, 107, 203, 204, 205, 200, 65,
208, 111, 111, 5, 17, 18, 226, 87, 241, 117,
109, 113, 173, 73, 109, 113, 226, 173, 240, 241,
109, 240, 111, 108, 109, 120, 223, 224, 111, 119,
107, 211, 212, 241, 113, 111, 108, 187, 231, 162,
173, 160, 226, 233, 233, 217, 118, 225, 241, 109,
113, 109, 113, 196, 201, 169, 175, 175, 189, 225,
118, 224, 212, 20, 74, 78, 213, 214, 4, 19,
115, 170, 171, 180, 241, 170, 109, 171, 116
181, 182, 109, 113, 163, 173, 101, 30, 173, 106,
119, 219, 7, 241, 34, 35, 238, 200, 109, 113,
104, 105, 194, 102, 103, 195, 101, 110, 219, 108,
157, 230, 187, 231, 241, 179, 5, 189, 241, 184,
30, 107, 161, 162, 172, 173, 241, 177, 35, 158,
159, 160, 172, 173, 241, 73, 158, 73, 200, 111,
200, 184, 226, 118, 226, 226, 93, 164, 226, 226,
100, 167, 168, 166, 205, 108, 119, 106, 65, 208,
199, 108, 109, 111, 107, 203, 204, 205, 200, 65,
208, 120, 223, 224, 111, 111, 5, 241, 117, 109,
113, 173, 73, 109, 113, 226, 173, 240, 241, 109,
240, 111, 111, 17, 18, 226, 87, 217, 119, 107,
211, 212, 241, 113, 111, 118, 225, 241, 109, 113,
187, 231, 162, 173, 160, 226, 233, 233, 108, 189,
109, 113, 196, 201, 225, 118, 224, 175, 175, 169,
212, 20, 74, 78, 213, 214, 241, 4, 19, 115,
170, 171, 180, 170, 109, 171, 116
};
#if ! defined (YYSIZE_T) && defined (__SIZE_TYPE__)
@ -3600,21 +3573,14 @@ yyreduce:
break;
case 208:
#line 1710 "asn1p_y.y"
{
yyval.a_constr = yyvsp[-1].a_constr;
}
break;
case 209:
#line 1716 "asn1p_y.y"
#line 1713 "asn1p_y.y"
{
CONSTRAINT_INSERT(yyval.a_constr, ACT_CA_SET, yyvsp[0].a_constr, 0);
}
break;
case 210:
#line 1719 "asn1p_y.y"
case 209:
#line 1716 "asn1p_y.y"
{
/*
* This is a special case, for compatibility purposes.
@ -3624,37 +3590,37 @@ yyreduce:
}
break;
case 211:
#line 1729 "asn1p_y.y"
case 210:
#line 1726 "asn1p_y.y"
{
yyval.a_constr = yyvsp[-1].a_constr;
}
break;
case 212:
#line 1732 "asn1p_y.y"
case 211:
#line 1729 "asn1p_y.y"
{
CONSTRAINT_INSERT(yyval.a_constr, ACT_CA_SET, yyvsp[-3].a_constr, yyvsp[-1].a_constr);
}
break;
case 213:
#line 1738 "asn1p_y.y"
case 212:
#line 1735 "asn1p_y.y"
{
yyval.a_constr = asn1p_constraint_new(yylineno);
yyval.a_constr->type = ACT_EL_EXT;
}
break;
case 214:
#line 1742 "asn1p_y.y"
case 213:
#line 1739 "asn1p_y.y"
{
yyval.a_constr = yyvsp[0].a_constr;
}
break;
case 215:
#line 1745 "asn1p_y.y"
case 214:
#line 1742 "asn1p_y.y"
{
asn1p_constraint_t *ct;
ct = asn1p_constraint_new(yylineno);
@ -3663,8 +3629,8 @@ yyreduce:
}
break;
case 216:
#line 1751 "asn1p_y.y"
case 215:
#line 1748 "asn1p_y.y"
{
asn1p_constraint_t *ct;
ct = asn1p_constraint_new(yylineno);
@ -3675,6 +3641,13 @@ yyreduce:
}
break;
case 216:
#line 1756 "asn1p_y.y"
{
yyval.a_constr = yyvsp[0].a_constr;
}
break;
case 218:
#line 1763 "asn1p_y.y"
{
@ -4381,7 +4354,7 @@ yyreduce:
}
/* Line 1016 of /usr/local/share/bison/yacc.c. */
#line 4385 "asn1p_y.c"
#line 4358 "asn1p_y.c"
yyvsp -= yylen;
yyssp -= yylen;

View File

@ -275,7 +275,7 @@ static asn1p_module_t *currentModule;
%type <a_expr> DefinedType
%type <a_constr> ValueSet /* {a|b|c}*/
%type <a_expr> ValueSetTypeAssignment /* Val INTEGER ::= {1|2} */
%type <a_expr> ValueDefinition /* val INTEGER ::= 1*/
%type <a_expr> ValueAssignment /* val INTEGER ::= 1*/
%type <a_value> Value
%type <a_value> SimpleValue
%type <a_value> DefinedValue
@ -557,7 +557,7 @@ Assignment:
assert($1->meta_type != AMT_INVALID);
TQ_ADD(&($$->members), $1, next);
}
| ValueDefinition {
| ValueAssignment {
$$ = asn1p_module_new();
checkmem($$);
assert($1->expr_type != A1TC_INVALID);
@ -1463,8 +1463,8 @@ DefinedObjectClass:
* value INTEGER ::= 1
* === EOF ===
*/
ValueDefinition:
Identifier DefinedType TOK_PPEQ Value {
ValueAssignment:
Identifier Type TOK_PPEQ Value {
$$ = $2;
assert($$->Identifier == NULL);
$$->Identifier = $1;
@ -1707,9 +1707,6 @@ optConstraints:
Constraint:
SubtypeConstraint
| '(' GeneralConstraint ')' {
$$ = $2;
}
;
SubtypeConstraint:
@ -1756,6 +1753,9 @@ ElementSetSpecs:
ct = $$;
CONSTRAINT_INSERT($$, ACT_CA_CSV, ct, $5);
}
| GeneralConstraint {
$$ = $1;
}
;
ElementSetSpec:

View File

@ -354,24 +354,21 @@ asn1print_constraint(asn1p_constraint_t *ct, enum asn1print_flags flags) {
}
break;
case ACT_CT_CTDBY:
printf("(CONSTRAINED BY ");
printf("CONSTRAINED BY ");
assert(ct->value->type == ATV_UNPARSED);
fwrite(ct->value->value.string.buf,
1, ct->value->value.string.size, stdout);
printf(")");
break;
case ACT_CT_CTNG:
printf("(CONTAINING ");
printf("CONTAINING ");
asn1print_expr(ct->value->value.v_type->module->asn1p,
ct->value->value.v_type->module,
ct->value->value.v_type,
flags, 1);
printf(")");
break;
case ACT_CT_PATTERN:
printf("(PATTERN ");
printf("PATTERN ");
asn1print_value(ct->value, flags);
printf(")");
break;
case ACT_CA_SET: symno++;
case ACT_CA_CRC: symno++;
@ -383,7 +380,6 @@ asn1print_constraint(asn1p_constraint_t *ct, enum asn1print_flags flags) {
char *symtable[] = { " EXCEPT ", " ^ ", " | ", ",",
"", "(" };
unsigned int i;
if(ct->type == ACT_CA_CRC) fputs("(", stdout);
for(i = 0; i < ct->el_count; i++) {
if(i) fputs(symtable[symno], stdout);
if(ct->type == ACT_CA_CRC) fputs("{", stdout);
@ -393,7 +389,6 @@ asn1print_constraint(asn1p_constraint_t *ct, enum asn1print_flags flags) {
&& ct->type == ACT_CA_SET)
fputs(")", stdout);
}
if(ct->type == ACT_CA_CRC) fputs(")", stdout);
}
break;
case ACT_CA_AEX: