From b9f1c0d7896690dd3d5345d1a86eb9f01f699a37 Mon Sep 17 00:00:00 2001 From: vlm Date: Sat, 21 Oct 2006 05:54:49 +0000 Subject: multiple constraints of different type and value assignment git-svn-id: https://asn1c.svn.sourceforge.net/svnroot/asn1c/trunk@1262 59561ff5-6e30-0410-9f3c-9617f08c8826 --- libasn1parser/asn1p_y.c | 699 +++++++++++++++++++++++------------------------- libasn1parser/asn1p_y.y | 14 +- 2 files changed, 343 insertions(+), 370 deletions(-) (limited to 'libasn1parser') diff --git a/libasn1parser/asn1p_y.c b/libasn1parser/asn1p_y.c index 95d45134..13541e9c 100644 --- a/libasn1parser/asn1p_y.c +++ b/libasn1parser/asn1p_y.c @@ -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" +#line 1713 "asn1p_y.y" { - yyval.a_constr = yyvsp[-1].a_constr; + CONSTRAINT_INSERT(yyval.a_constr, ACT_CA_SET, yyvsp[0].a_constr, 0); } break; case 209: #line 1716 "asn1p_y.y" - { - CONSTRAINT_INSERT(yyval.a_constr, ACT_CA_SET, yyvsp[0].a_constr, 0); - } - break; - - case 210: -#line 1719 "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; diff --git a/libasn1parser/asn1p_y.y b/libasn1parser/asn1p_y.y index 8289fa9a..d9e56f89 100644 --- a/libasn1parser/asn1p_y.y +++ b/libasn1parser/asn1p_y.y @@ -275,7 +275,7 @@ static asn1p_module_t *currentModule; %type DefinedType %type ValueSet /* {a|b|c}*/ %type ValueSetTypeAssignment /* Val INTEGER ::= {1|2} */ -%type ValueDefinition /* val INTEGER ::= 1*/ +%type ValueAssignment /* val INTEGER ::= 1*/ %type Value %type SimpleValue %type 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: -- cgit v1.2.3