aboutsummaryrefslogtreecommitdiffstats
path: root/libasn1parser
diff options
context:
space:
mode:
authorvlm <vlm@59561ff5-6e30-0410-9f3c-9617f08c8826>2006-10-21 05:54:49 +0000
committervlm <vlm@59561ff5-6e30-0410-9f3c-9617f08c8826>2006-10-21 05:54:49 +0000
commitb9f1c0d7896690dd3d5345d1a86eb9f01f699a37 (patch)
tree709a42ee2e3f555b2839387a3f6329065835af96 /libasn1parser
parent8e8003ac0c33377b4224d0cf9f43016015f28d18 (diff)
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
Diffstat (limited to 'libasn1parser')
-rw-r--r--libasn1parser/asn1p_y.c699
-rw-r--r--libasn1parser/asn1p_y.y14
2 files changed, 343 insertions, 370 deletions
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,22 +3573,15 @@ 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.
* It goes without parentheses.
@@ -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 <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: