diff options
author | Lev Walkin <vlm@lionet.info> | 2006-10-18 18:40:14 +0000 |
---|---|---|
committer | Lev Walkin <vlm@lionet.info> | 2006-10-18 18:40:14 +0000 |
commit | 5c541f119e188d4ada807cc53938fff8a84c88a4 (patch) | |
tree | 8c297f4a583a031283ac781d71259e9343e78a24 /libasn1parser/asn1p_y.c | |
parent | 5bcbda55b6f382aa18feb2723718e364937e2f81 (diff) |
PatterConstraint parsing
Diffstat (limited to 'libasn1parser/asn1p_y.c')
-rw-r--r-- | libasn1parser/asn1p_y.c | 1609 |
1 files changed, 825 insertions, 784 deletions
diff --git a/libasn1parser/asn1p_y.c b/libasn1parser/asn1p_y.c index 709611c1..95d45134 100644 --- a/libasn1parser/asn1p_y.c +++ b/libasn1parser/asn1p_y.c @@ -523,16 +523,16 @@ union yyalloc /* YYFINAL -- State number of the termination state. */ #define YYFINAL 7 -#define YYLAST 824 +#define YYLAST 871 /* YYNTOKENS -- Number of terminals. */ #define YYNTOKENS 121 /* YYNNTS -- Number of nonterminals. */ -#define YYNNTS 120 +#define YYNNTS 121 /* YYNRULES -- Number of rules. */ -#define YYNRULES 306 +#define YYNRULES 309 /* YYNRULES -- Number of states. */ -#define YYNSTATES 465 +#define YYNSTATES 469 /* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX. */ #define YYUNDEFTOK 2 @@ -611,23 +611,23 @@ static const unsigned short yyprhs[] = 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, 672, 674, 676, 678, - 680, 682, 684, 688, 694, 696, 700, 702, 706, 707, - 709, 711, 713, 715, 717, 719, 721, 722, 728, 731, - 733, 736, 739, 743, 745, 747, 751, 756, 758, 762, - 765, 769, 771, 775, 776, 778, 780, 783, 786, 790, - 792, 796, 798, 803, 808, 810, 812, 814, 816, 818, - 820, 821, 823, 826, 831, 832, 834, 836, 838, 839, - 841, 843, 845, 847, 849, 850, 852 + 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 }; /* YYRHS -- A `-1'-separated list of the rules' RHS. */ static const short yyrhs[] = { 122, 0, -1, 123, -1, 124, -1, 123, 124, -1, - -1, 237, 125, 126, 39, 130, 3, 26, 133, 44, + -1, 238, 125, 126, 39, 130, 3, 26, 133, 44, -1, -1, 127, -1, 108, 128, 109, -1, 108, 109, - -1, 129, -1, 128, 129, -1, 240, -1, 240, 110, + -1, 129, -1, 128, 129, -1, 241, -1, 241, 110, 10, 111, -1, 10, -1, -1, 131, -1, 132, -1, 131, 132, -1, 46, 89, -1, 57, 89, -1, 25, 89, -1, 48, 58, -1, 16, 62, -1, -1, 134, @@ -635,117 +635,118 @@ static const short yyrhs[] = 153, -1, 183, -1, 151, -1, -1, 43, 16, 137, -1, 193, -1, -1, 139, -1, 59, 140, 112, -1, 59, 51, -1, -1, 141, -1, 143, -1, 141, 143, - -1, -1, 127, -1, 144, 51, 237, 142, -1, 145, - -1, 144, 113, 145, -1, 237, -1, 237, 108, 109, - -1, 240, -1, -1, 147, -1, 47, 148, 112, -1, + -1, -1, 127, -1, 144, 51, 238, 142, -1, 145, + -1, 144, 113, 145, -1, 238, -1, 238, 108, 109, + -1, 241, -1, -1, 147, -1, 47, 148, 112, -1, 47, 22, 112, -1, 47, 112, -1, 149, -1, 148, - 113, 149, -1, 237, -1, 237, 108, 109, -1, 240, - -1, 108, 200, 109, -1, 237, 152, 3, 150, -1, - 192, -1, 177, -1, 177, 108, 156, 109, -1, 237, - 3, 173, -1, 237, 3, 163, -1, 237, 108, 154, - 109, 3, 173, -1, 237, 108, 154, 109, 3, 163, - -1, 155, -1, 154, 113, 155, -1, 237, -1, 237, - 114, 240, -1, 237, 114, 237, -1, 190, 114, 240, - -1, 190, 114, 237, -1, 157, -1, 156, 113, 157, - -1, 173, -1, 186, -1, 240, -1, 150, -1, -1, - 159, -1, 160, -1, 159, 113, 160, -1, 240, 173, - 225, -1, 173, 225, -1, 35, 73, 173, -1, 172, - -1, 162, -1, 161, 113, 162, -1, 240, 173, -1, + 113, 149, -1, 238, -1, 238, 108, 109, -1, 241, + -1, 108, 200, 109, -1, 238, 152, 3, 150, -1, + 192, -1, 177, -1, 177, 108, 156, 109, -1, 238, + 3, 173, -1, 238, 3, 163, -1, 238, 108, 154, + 109, 3, 173, -1, 238, 108, 154, 109, 3, 163, + -1, 155, -1, 154, 113, 155, -1, 238, -1, 238, + 114, 241, -1, 238, 114, 238, -1, 190, 114, 241, + -1, 190, 114, 238, -1, 157, -1, 156, 113, 157, + -1, 173, -1, 186, -1, 241, -1, 150, -1, -1, + 159, -1, 160, -1, 159, 113, 160, -1, 241, 173, + 226, -1, 173, 226, -1, 35, 73, 173, -1, 172, + -1, 162, -1, 161, 113, 162, -1, 241, 173, -1, 172, -1, 173, -1, 33, 108, 165, 109, 167, -1, -1, 93, -1, 166, -1, 165, 113, 166, -1, 17, - 225, -1, 18, 173, 164, 225, -1, 18, 181, 225, - -1, 18, 182, 225, -1, 17, 181, 225, -1, 17, - 173, 225, -1, 17, 182, 225, -1, -1, 168, -1, + 226, -1, 18, 173, 164, 226, -1, 18, 181, 226, + -1, 18, 182, 226, -1, 17, 181, 226, -1, 17, + 173, 226, -1, 17, 182, 226, -1, -1, 168, -1, -1, 100, 87, 108, 169, 170, 109, -1, 171, -1, 170, 171, -1, 4, -1, 19, -1, 180, -1, 115, 170, 116, -1, 107, -1, 107, 117, 187, -1, 107, - 117, 230, -1, 232, 175, 196, -1, -1, 174, 176, + 117, 231, -1, 233, 175, 196, -1, -1, 174, 176, -1, 152, -1, 32, 108, 161, 109, -1, 83, 108, 158, 109, -1, 84, 108, 158, 109, -1, 83, 196, - 73, 239, 232, 175, -1, 84, 196, 73, 239, 232, - 175, -1, 23, -1, 23, 40, 30, 240, -1, 61, - 73, 177, -1, 15, -1, 15, 118, 237, -1, 238, - 118, 237, -1, 15, 118, 240, -1, 238, -1, 238, + 73, 240, 233, 175, -1, 84, 196, 73, 240, 233, + 175, -1, 23, -1, 23, 40, 30, 241, -1, 61, + 73, 177, -1, 15, -1, 15, 118, 238, -1, 239, + 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, 240, 152, 3, - 184, -1, 186, -1, 187, -1, 240, 114, 184, -1, + -1, 181, 118, 18, -1, 16, -1, 241, 152, 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, 230, -1, 240, - -1, 237, 118, 240, -1, 7, -1, 13, -1, 14, + -1, 6, -1, 8, -1, 188, -1, 231, -1, 241, + -1, 238, 118, 241, -1, 7, -1, 13, -1, 14, -1, 5, -1, 189, 5, -1, 29, -1, 68, -1, 81, -1, 191, -1, 72, 86, -1, 70, 56, -1, 82, -1, 49, -1, 41, 76, -1, 31, 86, -1, 96, -1, 52, -1, 193, -1, 63, -1, 45, -1, - 27, 86, -1, 190, -1, 191, 227, -1, 28, -1, + 27, 86, -1, 190, -1, 191, 228, -1, 28, -1, 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, - 214, 111, -1, 199, -1, 85, 110, 200, 111, -1, + 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, 206, 110, 200, - 111, -1, 110, 200, 111, -1, 207, -1, 208, -1, - 207, 218, 207, -1, 66, 218, 207, -1, 207, 218, - 65, -1, 66, 218, 65, -1, 209, -1, 85, -1, - 51, -1, 50, -1, 91, -1, 231, -1, 188, -1, - 240, -1, 237, -1, 100, 34, 199, -1, 100, 35, - 108, 210, 109, -1, 211, -1, 210, 113, 211, -1, - 107, -1, 240, 196, 212, -1, -1, 213, -1, 78, - -1, 20, -1, 74, -1, 215, -1, 219, -1, 217, - -1, -1, 36, 30, 108, 216, 189, -1, 37, 173, - -1, 106, -1, 106, 119, -1, 119, 106, -1, 119, - 106, 119, -1, 220, -1, 221, -1, 108, 237, 109, - -1, 220, 108, 222, 109, -1, 223, -1, 222, 113, - 223, -1, 120, 224, -1, 120, 118, 224, -1, 240, - -1, 224, 118, 240, -1, -1, 226, -1, 74, -1, - 38, 184, -1, 108, 109, -1, 108, 228, 109, -1, - 229, -1, 228, 113, 229, -1, 240, -1, 240, 110, - 230, 111, -1, 240, 110, 187, 111, -1, 230, -1, - 107, -1, 10, -1, 11, -1, 230, -1, 12, -1, - -1, 233, -1, 234, 236, -1, 115, 235, 10, 116, - -1, -1, 94, -1, 24, -1, 80, -1, -1, 57, - -1, 46, -1, 15, -1, 16, -1, 16, -1, -1, - 240, -1, 9, -1 + -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. */ static const unsigned short yyrline[] = { - 0, 353, 353, 359, 365, 382, 381, 410, 412, 415, - 419, 424, 431, 439, 444, 448, 457, 459, 467, 471, - 479, 483, 486, 489, 493, 513, 515, 523, 532, 536, - 551, 559, 572, 580, 579, 593, 605, 607, 609, 620, - 625, 627, 629, 635, 641, 643, 646, 657, 663, 669, - 676, 682, 691, 693, 704, 708, 711, 718, 724, 730, - 737, 743, 752, 754, 764, 778, 788, 804, 814, 830, - 836, 843, 853, 863, 868, 875, 882, 890, 900, 906, - 912, 916, 924, 935, 957, 959, 961, 967, 973, 981, - 987, 994, 999, 1005, 1011, 1017, 1020, 1026, 1036, 1038, - 1041, 1049, 1056, 1069, 1080, 1090, 1101, 1111, 1122, 1133, - 1135, 1142, 1140, 1149, 1154, 1160, 1165, 1168, 1172, 1177, - 1186, 1195, 1206, 1228, 1235, 1254, 1258, 1264, 1270, 1276, - 1286, 1296, 1302, 1313, 1327, 1336, 1346, 1356, 1366, 1374, - 1395, 1404, 1413, 1415, 1422, 1429, 1435, 1439, 1445, 1465, - 1475, 1477, 1478, 1485, 1485, 1490, 1497, 1503, 1508, 1512, - 1516, 1519, 1524, 1536, 1553, 1558, 1563, 1596, 1606, 1620, - 1622, 1623, 1624, 1625, 1626, 1627, 1628, 1629, 1630, 1631, - 1632, 1633, 1639, 1641, 1642, 1645, 1652, 1664, 1666, 1670, - 1674, 1675, 1676, 1677, 1678, 1682, 1683, 1684, 1685, 1689, - 1690, 1697, 1697, 1698, 1698, 1700, 1702, 1707, 1709, 1714, - 1718, 1727, 1731, 1736, 1741, 1744, 1750, 1760, 1762, 1767, - 1769, 1774, 1776, 1782, 1784, 1789, 1798, 1806, 1812, 1818, - 1825, 1833, 1841, 1850, 1855, 1859, 1864, 1870, 1875, 1876, - 1877, 1890, 1904, 1908, 1913, 1917, 1922, 1929, 1942, 1944, - 1947, 1951, 1954, 1961, 1963, 1964, 1969, 1967, 1979, 1987, - 1989, 1990, 1991, 1993, 1997, 2005, 2020, 2026, 2033, 2046, - 2058, 2073, 2077, 2094, 2099, 2102, 2107, 2129, 2134, 2139, - 2145, 2151, 2159, 2167, 2175, 2182, 2192, 2197, 2203, 2205, - 2235, 2237, 2240, 2247, 2253, 2255, 2256, 2257, 2260, 2262, - 2263, 2266, 2271, 2278, 2285, 2287, 2292 + 0, 354, 354, 360, 366, 383, 382, 411, 413, 416, + 420, 425, 432, 440, 445, 449, 458, 460, 468, 472, + 480, 484, 487, 490, 494, 514, 516, 524, 533, 537, + 552, 560, 573, 581, 580, 594, 606, 608, 610, 621, + 626, 628, 630, 636, 642, 644, 647, 658, 664, 670, + 677, 683, 692, 694, 705, 709, 712, 719, 725, 731, + 738, 744, 753, 755, 765, 779, 789, 805, 815, 831, + 837, 844, 854, 864, 869, 876, 883, 891, 901, 907, + 913, 917, 925, 936, 958, 960, 962, 968, 974, 982, + 988, 995, 1000, 1006, 1012, 1018, 1021, 1027, 1037, 1039, + 1042, 1050, 1057, 1070, 1081, 1091, 1102, 1112, 1123, 1134, + 1136, 1143, 1141, 1150, 1155, 1161, 1166, 1169, 1173, 1178, + 1187, 1196, 1207, 1229, 1236, 1255, 1259, 1265, 1271, 1277, + 1287, 1297, 1303, 1314, 1328, 1337, 1347, 1357, 1367, 1375, + 1396, 1405, 1414, 1416, 1423, 1430, 1436, 1440, 1446, 1466, + 1476, 1478, 1479, 1486, 1486, 1491, 1498, 1504, 1509, 1513, + 1517, 1520, 1525, 1537, 1554, 1559, 1564, 1597, 1607, 1621, + 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, + 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, + 1949, 1962, 1964, 1967, 1971, 1974, 1981, 1983, 1984, 1989, + 1987, 1999, 2007, 2009, 2010, 2011, 2013, 2017, 2025, 2040, + 2046, 2053, 2066, 2078, 2093, 2097, 2114, 2119, 2122, 2127, + 2149, 2154, 2159, 2165, 2171, 2179, 2187, 2195, 2202, 2212, + 2217, 2223, 2225, 2255, 2257, 2260, 2267, 2273, 2275, 2276, + 2277, 2280, 2282, 2283, 2286, 2291, 2298, 2305, 2307, 2312 }; #endif @@ -806,16 +807,16 @@ static const char *const yytname[] = "BasicString", "UnionMark", "IntersectionMark", "optConstraints", "Constraint", "SubtypeConstraint", "SetOfConstraints", "ElementSetSpecs", "ElementSetSpec", "Unions", "Intersections", - "IntersectionElements", "ConstraintSubtypeElement", "ConstraintSpec", - "SingleValue", "ContainedSubtype", "InnerTypeConstraint", - "WithComponentsList", "WithComponentsElement", "optPresenceConstraint", - "PresenceConstraint", "GeneralConstraint", "UserDefinedConstraint", - "@5", "ContentsConstraint", "ConstraintRangeSpec", "TableConstraint", - "SimpleTableConstraint", "ComponentRelationConstraint", - "AtNotationList", "AtNotationElement", "ComponentIdList", "optMarker", - "Marker", "UniverationDefinition", "UniverationList", - "UniverationElement", "SignedNumber", "RealValue", "optTag", "Tag", - "TagTypeValue", "TagClass", "TagPlicit", "TypeRefName", + "IntersectionElements", "ConstraintSubtypeElement", "PatternConstraint", + "ConstraintSpec", "SingleValue", "ContainedSubtype", + "InnerTypeConstraint", "WithComponentsList", "WithComponentsElement", + "optPresenceConstraint", "PresenceConstraint", "GeneralConstraint", + "UserDefinedConstraint", "@5", "ContentsConstraint", + "ConstraintRangeSpec", "TableConstraint", "SimpleTableConstraint", + "ComponentRelationConstraint", "AtNotationList", "AtNotationElement", + "ComponentIdList", "optMarker", "Marker", "UniverationDefinition", + "UniverationList", "UniverationElement", "SignedNumber", "RealValue", + "optTag", "Tag", "TagTypeValue", "TagClass", "TagPlicit", "TypeRefName", "ObjectClassReference", "optIdentifier", "Identifier", 0 }; #endif @@ -867,14 +868,14 @@ static const unsigned char yyr1[] = 193, 194, 194, 195, 195, 196, 196, 197, 197, 198, 198, 199, 199, 200, 200, 200, 200, 201, 201, 202, 202, 203, 203, 204, 204, 205, 205, 205, 205, 205, - 205, 205, 205, 205, 206, 206, 207, 207, 207, 207, - 207, 208, 209, 209, 210, 210, 211, 211, 212, 212, - 213, 213, 213, 214, 214, 214, 216, 215, 217, 218, - 218, 218, 218, 219, 219, 220, 221, 222, 222, 223, - 223, 224, 224, 225, 225, 226, 226, 227, 227, 228, - 228, 229, 229, 229, 229, 229, 230, 230, 231, 231, - 232, 232, 233, 234, 235, 235, 235, 235, 236, 236, - 236, 237, 237, 238, 239, 239, 240 + 205, 205, 205, 205, 205, 206, 206, 207, 207, 208, + 208, 208, 208, 208, 209, 210, 210, 211, 211, 212, + 212, 213, 213, 214, 214, 214, 215, 215, 215, 217, + 216, 218, 219, 219, 219, 219, 220, 220, 221, 222, + 223, 223, 224, 224, 225, 225, 226, 226, 227, 227, + 228, 228, 229, 229, 230, 230, 230, 230, 230, 231, + 231, 232, 232, 233, 233, 234, 235, 236, 236, 236, + 236, 237, 237, 237, 238, 238, 239, 240, 240, 241 }; /* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN. */ @@ -903,14 +904,14 @@ static const unsigned char yyr2[] = 1, 1, 1, 1, 1, 0, 1, 1, 3, 1, 4, 3, 4, 1, 1, 3, 5, 1, 3, 1, 3, 1, 3, 1, 3, 4, 3, 1, 1, 3, - 3, 3, 3, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 3, 5, 1, 3, 1, 3, 0, 1, - 1, 1, 1, 1, 1, 1, 0, 5, 2, 1, - 2, 2, 3, 1, 1, 3, 4, 1, 3, 2, - 3, 1, 3, 0, 1, 1, 2, 2, 3, 1, - 3, 1, 4, 4, 1, 1, 1, 1, 1, 1, - 0, 1, 2, 4, 0, 1, 1, 1, 0, 1, - 1, 1, 1, 1, 0, 1, 1 + 3, 3, 3, 1, 1, 2, 2, 1, 1, 1, + 1, 1, 1, 1, 1, 3, 5, 1, 3, 1, + 3, 0, 1, 1, 1, 1, 1, 1, 1, 0, + 5, 2, 1, 2, 2, 3, 1, 1, 3, 4, + 1, 3, 2, 3, 1, 3, 0, 1, 1, 2, + 2, 3, 1, 3, 1, 4, 4, 1, 1, 1, + 1, 1, 1, 0, 1, 2, 4, 0, 1, 1, + 1, 0, 1, 1, 1, 1, 1, 0, 1, 1 }; /* YYDEFACT[STATE-NAME] -- Default rule to reduce with in state @@ -918,8 +919,8 @@ static const unsigned char yyr2[] = means the default is an error. */ static const unsigned short yydefact[] = { - 0, 301, 302, 0, 2, 3, 5, 1, 4, 7, - 0, 0, 8, 306, 15, 10, 0, 11, 13, 16, + 0, 304, 305, 0, 2, 3, 5, 1, 4, 7, + 0, 0, 8, 309, 15, 10, 0, 11, 13, 16, 9, 12, 0, 0, 0, 0, 0, 0, 0, 17, 18, 0, 24, 22, 20, 23, 21, 0, 19, 14, 52, 0, 0, 26, 36, 53, 0, 56, 0, 57, @@ -928,43 +929,43 @@ static const unsigned short yydefact[] = 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, - 290, 134, 303, 0, 169, 0, 0, 183, 176, 180, + 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, 294, 68, 67, 123, 291, 298, 0, 184, 178, - 177, 174, 173, 0, 71, 0, 172, 73, 0, 290, - 0, 186, 0, 0, 45, 46, 0, 296, 297, 295, - 0, 0, 205, 300, 299, 292, 135, 137, 0, 0, - 0, 0, 0, 63, 158, 164, 159, 286, 287, 165, + 0, 297, 68, 67, 123, 294, 301, 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, 0, 0, 63, 158, 164, 159, 289, 290, 165, 166, 156, 157, 83, 0, 78, 80, 81, 160, 161, - 82, 285, 277, 0, 279, 284, 281, 143, 144, 139, + 82, 288, 280, 0, 282, 287, 284, 143, 144, 139, 140, 142, 136, 155, 153, 149, 150, 151, 0, 162, - 290, 290, 0, 100, 0, 131, 0, 0, 205, 205, - 125, 124, 0, 0, 122, 206, 207, 209, 290, 72, - 77, 76, 75, 74, 289, 0, 236, 235, 0, 234, - 237, 0, 213, 0, 239, 0, 214, 217, 219, 221, - 223, 0, 227, 228, 233, 288, 238, 241, 240, 66, - 290, 278, 0, 0, 0, 0, 0, 0, 148, 145, - 0, 275, 273, 273, 273, 102, 274, 98, 273, 273, - 109, 0, 293, 0, 290, 0, 290, 0, 290, 0, - 0, 0, 290, 0, 0, 0, 253, 255, 254, 263, - 264, 0, 70, 69, 0, 259, 0, 0, 0, 0, - 0, 62, 0, 201, 202, 0, 203, 204, 0, 0, - 0, 0, 79, 280, 0, 0, 162, 141, 167, 154, - 163, 152, 276, 107, 0, 106, 108, 99, 273, 104, - 105, 0, 97, 110, 101, 0, 119, 0, 92, 95, - 96, 290, 133, 0, 0, 85, 86, 91, 273, 290, - 304, 0, 304, 0, 0, 258, 0, 211, 208, 0, - 0, 218, 260, 261, 232, 230, 0, 242, 0, 226, - 215, 220, 222, 224, 0, 231, 229, 283, 282, 168, - 146, 147, 103, 0, 132, 0, 126, 290, 94, 290, - 127, 290, 89, 273, 290, 305, 128, 290, 210, 256, - 265, 0, 0, 267, 212, 262, 246, 0, 244, 205, - 0, 225, 111, 120, 121, 93, 90, 87, 88, 123, - 123, 0, 0, 269, 271, 266, 0, 243, 0, 248, - 216, 0, 129, 130, 257, 270, 0, 268, 245, 251, - 252, 250, 247, 249, 115, 116, 0, 0, 113, 117, - 272, 0, 112, 114, 118 + 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, + 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 }; /* YYDEFGOTO[NTERM-NUM]. */ @@ -973,318 +974,330 @@ 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, 354, 355, 356, - 347, 348, 132, 338, 212, 213, 342, 343, 441, 457, - 458, 357, 358, 161, 162, 221, 119, 199, 200, 459, - 273, 274, 87, 205, 265, 206, 207, 244, 329, 120, - 121, 122, 123, 315, 318, 224, 225, 226, 227, 294, - 246, 247, 248, 249, 250, 251, 252, 253, 254, 417, - 418, 452, 453, 295, 296, 431, 297, 307, 298, 299, - 300, 412, 413, 433, 275, 276, 151, 193, 194, 255, - 256, 134, 135, 136, 160, 165, 257, 124, 404, 258 + 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 }; /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing STATE-NUM. */ -#define YYPACT_NINF -274 +#define YYPACT_NINF -292 static const short yypact[] = { - 77, -274, -274, 33, 77, -274, -274, -274, -274, -52, - 8, 107, -274, -274, -274, -274, 36, -274, 42, 267, - -274, -274, 149, 20, 79, 96, 132, 111, 208, 267, - -274, 105, -274, -274, -274, -274, -274, 220, -274, -274, - 69, 72, 193, -274, 213, -274, 158, -274, 117, -274, - 178, -274, -274, 183, 478, -274, -274, -274, 266, 182, - -274, 181, 266, -274, -28, -274, 189, -274, -274, 292, - -274, -274, -274, -274, -274, -274, -274, -274, -274, -274, - -274, -274, -274, 478, -274, -274, -274, -274, -274, 345, - 631, -274, -274, -274, -274, 77, 266, 201, -274, -274, - -6, 194, -274, 236, -274, 248, 268, -274, -274, -274, - -274, -274, 291, 263, -274, -274, -274, 707, 348, 247, - -274, 251, -274, -274, 238, 354, -52, -274, -274, -274, - 255, 83, -274, -274, -274, -274, 55, 266, -274, -274, - -274, -274, -274, -81, -274, 252, -274, 253, 257, 58, - 80, -274, 310, 199, -274, -274, 241, -274, -274, -274, - 359, 555, 10, -274, -274, -274, -274, -274, 367, 707, - 266, 266, 229, -274, -274, -274, -274, -274, -274, -274, - -274, -274, -274, -274, 82, -274, -274, -274, -274, -274, - -274, -274, -274, 88, -274, -274, 261, -274, -274, 259, - -274, -274, -274, -274, -274, -274, -274, -274, 260, 265, - 249, 41, 119, -274, 264, 335, 273, 309, 94, 109, - -274, -274, 274, 211, -274, -274, -274, 278, -6, -274, - -274, -274, -274, -274, -274, 288, -274, -274, 74, -274, - -274, 282, -274, 229, -274, 283, 270, 227, 235, -274, - 294, 293, 74, -274, -274, -274, -274, -274, -274, -274, - 58, -274, 40, 289, 323, 388, 393, 199, -274, -274, - 199, -274, 0, 32, 0, -274, -274, 311, 32, 0, - 305, 241, -274, 376, 71, 327, 67, 334, 67, 337, - 229, 381, 297, 77, 307, 308, -274, -274, -274, 312, - -274, 229, -274, -274, 459, 302, 317, 469, 315, 321, - 319, -274, 324, -274, -274, 459, -274, -274, 459, 459, - 229, 733, -274, -274, 326, 336, -274, -274, -274, 427, - -274, -274, -274, -274, 328, -274, -274, -274, 0, -274, - -274, 347, -274, -274, -274, 393, 322, 122, -274, -274, - -274, 297, -274, 365, 339, 332, -274, -274, 0, 297, - 393, 340, 393, 351, 338, -274, 341, -274, -274, 331, - 352, -274, -274, 346, -274, -274, 229, 278, 16, -274, - 364, 235, -274, -274, 353, -274, -274, -274, -274, -274, - -274, -274, -274, 377, -274, 289, -274, 71, -274, 297, - -274, 68, -274, 0, 297, -274, -274, 297, -274, -274, - -274, 12, 160, -274, -274, -274, -274, 175, -274, 10, - 445, -274, -274, -274, -274, -274, -274, -274, -274, -274, - -274, 388, 393, 366, -274, -274, 331, -274, 16, 91, - -274, 43, -274, -274, 427, 366, 393, -274, -274, -274, - -274, -274, -274, -274, -274, -274, 43, 22, -274, -274, - -274, 18, -274, -274, -274 + 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 }; /* YYPGOTO[NTERM-NUM]. */ static const short yypgoto[] = { - -274, -274, -274, 482, -274, -274, 362, -274, 473, -274, - -274, 461, -274, -274, -274, 408, -274, -274, -274, -274, - -274, -274, 430, -274, 401, -274, -274, -274, 440, 355, - -274, -61, -274, -274, 330, -274, 240, 214, -274, 100, - -274, 108, 276, -274, -274, 226, -274, -274, -274, 52, - -172, -273, -96, -274, -76, -274, 228, -274, 250, -136, - 301, 304, -274, 39, -274, -125, -253, -119, 85, -12, - -7, -274, 21, -274, -274, -216, -274, -274, 209, -165, - 98, -274, 205, 204, -221, -274, -140, -274, -274, -274, - 86, -274, -274, -274, -274, -274, -274, 271, -274, -274, - -274, -274, 90, 95, -259, -274, -274, -274, 275, -141, - -274, -74, -274, -274, -274, -274, 1, -274, 166, -10 + -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, + -10 }; /* YYTABLE[YYPACT[STATE-NUM]]. What to do in state STATE-NUM. If positive, shift that token. If negative, reduce the rule which number is the opposite. If zero, do what YYDEFACT says. If YYTABLE_NINF, parse error. */ -#define YYTABLE_NINF -274 +#define YYTABLE_NINF -277 static const short yytable[] = { - 18, 6, 287, 289, 133, 6, 18, 245, 189, 195, - 324, 349, 189, 333, 335, 336, 201, 13, 14, 339, - 340, 13, 454, 95, 187, 13, 454, 130, 168, 125, - 188, 51, 169, 7, 188, 197, 198, 455, 270, 197, - 198, 455, 50, 67, 90, 13, 14, 454, 51, 13, - 177, 178, 67, 186, 66, 89, 10, 268, 269, 50, - 197, 198, 455, 66, 174, 175, 176, 13, 177, 178, - 270, 179, 180, 90, 271, 88, 13, 13, 310, 392, - 13, 13, 32, 371, 89, 96, 67, 1, 2, 13, - 177, 178, 1, 2, 46, 222, 126, 66, 383, 402, - 220, 163, 353, 353, 88, 145, 271, 157, 181, 131, - 146, 449, 164, -25, 272, 277, 41, 15, 147, 189, - 223, 195, 325, 416, 349, 363, 189, 167, 201, 189, - 432, 462, 303, 456, 464, 187, 370, 456, 166, 190, - 196, 188, 423, 209, 428, 20, 19, 191, 188, 182, - 334, 188, 22, 202, 208, 384, 131, 145, 456, 31, - 231, 233, 146, 158, 186, 450, 172, 375, 33, 451, - 147, 230, 232, 131, 346, 346, -84, 159, 346, 222, - 305, 386, 131, 131, 47, 34, 131, 191, 350, 192, - 35, 259, 13, 306, 222, 260, 365, 261, 1, 2, - 36, 262, 286, 439, 223, 174, 175, 176, 13, 177, - 178, 37, 179, 180, 1, 2, 39, 288, 175, 223, - 13, 177, 178, 234, 179, 180, 1, 2, 280, 57, - 58, 396, 281, 235, 60, 397, 175, 52, 13, 177, - 178, 234, 179, 180, 1, 2, 40, 291, 292, 181, - 190, 235, 196, 326, 424, 398, 330, 209, 210, 211, - 209, 236, 237, 403, 208, 268, 269, 203, 208, 435, - 56, 208, 53, 436, 351, 13, 359, 238, 359, 236, - 237, 1, 2, 23, 437, 463, 59, 270, 438, 463, - 182, 92, 24, 93, 366, 238, 239, 97, 13, 177, - 178, 350, 240, 426, 1, 2, 331, 204, 98, 332, - 128, 241, 137, 25, 239, 26, 308, 309, 242, 293, - 240, 243, 138, 271, 27, 1, 2, 197, 198, 241, - 429, 313, 314, 430, 139, 394, 242, 316, 317, 243, - 197, 198, 101, 102, 140, 390, 391, 141, 100, 142, - 405, 148, 405, 442, 443, 149, 152, 153, -273, 150, - 101, 102, -273, 156, 131, 172, 170, 171, 419, 214, - 228, 263, 103, 68, 104, 283, 105, 264, 266, 267, - 282, 284, 285, 312, 290, 326, 106, 351, 301, 304, - 107, 359, 311, 328, 108, 319, 208, 109, 70, 71, - 72, 434, 13, 320, 337, 341, 345, 360, 110, 73, - 362, 364, 131, 111, 74, 112, 75, 113, 367, 368, - 369, 372, 434, 373, 76, 376, 114, 115, 419, 378, - 379, 380, 389, 77, 393, 78, 460, 387, 399, 395, - 79, 116, 80, 81, 82, 401, 409, 388, 400, 406, - 410, 411, 175, 117, 13, 177, 178, 234, 179, 180, - 1, 2, 408, 414, 421, 415, 175, 235, 13, 177, - 178, 234, 179, 180, 1, 2, 175, 420, 13, 177, - 178, 234, 179, 180, 446, 422, 8, 13, 154, 21, - 38, 99, 94, 1, 2, 236, 237, 127, 91, 229, - 322, 427, 361, 173, 302, 425, 68, 344, 461, 236, - 237, 238, 278, 352, 327, 279, 444, 377, 440, 236, - 381, 69, 382, 321, 448, 238, 447, 445, 407, 0, - 239, 70, 71, 72, 374, 0, 240, 323, 0, 0, - 0, 0, 73, 0, 239, 241, 0, 74, 0, 75, - 240, 0, 0, 0, 0, 243, 0, 76, 0, 241, - 240, 0, 0, 0, 0, 0, 77, 0, 78, 243, - 101, 102, 0, 79, 0, 80, 81, 82, 215, 0, - 0, 0, 103, 68, 104, 0, 105, 216, 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, 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, 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, - 175, 0, 13, 177, 178, 234, 179, 180, 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, 236, 0, 0, 76, 0, 114, 115, - 0, 0, 0, 0, 0, 77, 0, 78, 385, 0, - 0, 0, 79, 116, 80, 81, 82, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 240 + 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, + 0, 0, 109, 70, 71, 72, 0, 0, 0, 0, + 0, 217, 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, 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 }; static const short yycheck[] = { - 10, 0, 218, 219, 100, 4, 16, 172, 149, 150, - 263, 284, 153, 272, 273, 274, 152, 9, 10, 278, - 279, 9, 4, 51, 149, 9, 4, 33, 109, 90, - 149, 41, 113, 0, 153, 17, 18, 19, 38, 17, - 18, 19, 41, 53, 54, 9, 10, 4, 58, 9, - 10, 11, 62, 149, 53, 54, 108, 16, 17, 58, - 17, 18, 19, 62, 6, 7, 8, 9, 10, 11, - 38, 13, 14, 83, 74, 54, 9, 9, 243, 338, - 9, 9, 62, 304, 83, 113, 96, 15, 16, 9, - 10, 11, 15, 16, 22, 85, 95, 96, 319, 358, - 161, 46, 35, 35, 83, 117, 74, 24, 50, 115, - 117, 20, 57, 44, 210, 211, 47, 109, 117, 260, - 110, 262, 263, 107, 397, 290, 267, 137, 264, 270, - 118, 109, 228, 115, 116, 260, 301, 115, 137, 149, - 150, 260, 395, 153, 403, 109, 39, 107, 267, 91, - 118, 270, 110, 152, 153, 320, 115, 169, 115, 10, - 170, 171, 169, 80, 260, 74, 108, 307, 89, 78, - 169, 170, 171, 115, 107, 107, 109, 94, 107, 85, - 106, 321, 115, 115, 112, 89, 115, 107, 284, 109, - 58, 109, 9, 119, 85, 113, 292, 109, 15, 16, - 89, 113, 108, 419, 110, 6, 7, 8, 9, 10, - 11, 3, 13, 14, 15, 16, 111, 108, 7, 110, - 9, 10, 11, 12, 13, 14, 15, 16, 109, 112, - 113, 109, 113, 22, 51, 113, 7, 44, 9, 10, - 11, 12, 13, 14, 15, 16, 26, 36, 37, 50, - 260, 22, 262, 263, 395, 351, 266, 267, 17, 18, - 270, 50, 51, 359, 263, 16, 17, 68, 267, 109, - 112, 270, 59, 113, 284, 9, 286, 66, 288, 50, - 51, 15, 16, 16, 109, 457, 108, 38, 113, 461, - 91, 109, 25, 112, 293, 66, 85, 108, 9, 10, - 11, 397, 91, 399, 15, 16, 267, 108, 16, 270, - 109, 100, 118, 46, 85, 48, 34, 35, 107, 108, - 91, 110, 86, 74, 57, 15, 16, 17, 18, 100, - 404, 104, 105, 407, 86, 345, 107, 102, 103, 110, - 17, 18, 15, 16, 76, 17, 18, 56, 3, 86, - 360, 3, 362, 429, 430, 108, 118, 3, 109, 108, - 15, 16, 113, 108, 115, 108, 114, 114, 378, 10, - 3, 110, 27, 28, 29, 40, 31, 118, 118, 114, - 116, 108, 73, 113, 110, 395, 41, 397, 110, 101, - 45, 401, 109, 5, 49, 101, 395, 52, 53, 54, - 55, 411, 9, 110, 93, 100, 30, 73, 63, 64, - 73, 30, 115, 68, 69, 70, 71, 72, 111, 111, - 108, 119, 432, 106, 79, 110, 81, 82, 438, 108, - 111, 107, 5, 88, 87, 90, 446, 111, 73, 117, - 95, 96, 97, 98, 99, 113, 108, 111, 109, 109, - 109, 120, 7, 108, 9, 10, 11, 12, 13, 14, - 15, 16, 111, 111, 111, 119, 7, 22, 9, 10, - 11, 12, 13, 14, 15, 16, 7, 113, 9, 10, - 11, 12, 13, 14, 118, 108, 4, 9, 126, 16, - 29, 83, 62, 15, 16, 50, 51, 96, 58, 169, - 260, 401, 288, 148, 228, 397, 28, 281, 456, 50, - 51, 66, 211, 285, 264, 211, 431, 308, 420, 50, - 315, 43, 318, 252, 438, 66, 436, 432, 362, -1, - 85, 53, 54, 55, 65, -1, 91, 262, -1, -1, - -1, -1, 64, -1, 85, 100, -1, 69, -1, 71, - 91, -1, -1, -1, -1, 110, -1, 79, -1, 100, - 91, -1, -1, -1, -1, -1, 88, -1, 90, 110, - 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, -1, 81, 82, 83, 84, - -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, 15, 16, -1, -1, 95, 96, 97, 98, - 99, -1, -1, -1, 27, 28, 29, -1, 31, -1, - 7, -1, 9, 10, 11, 12, 13, 14, 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, 50, -1, -1, 79, -1, 81, 82, - -1, -1, -1, -1, -1, 88, -1, 90, 65, -1, - -1, -1, 95, 96, 97, 98, 99, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 91 + 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, + -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, + -1, 81, 82, 83, 84, -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, 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 }; /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing symbol of state STATE-NUM. */ static const unsigned char yystos[] = { - 0, 15, 16, 122, 123, 124, 237, 0, 124, 125, - 108, 126, 127, 9, 10, 109, 128, 129, 240, 39, + 0, 15, 16, 122, 123, 124, 238, 0, 124, 125, + 108, 126, 127, 9, 10, 109, 128, 129, 241, 39, 109, 129, 110, 16, 25, 46, 48, 57, 130, 131, 132, 10, 62, 89, 89, 58, 89, 3, 132, 111, 26, 47, 133, 134, 146, 147, 22, 112, 148, 149, - 237, 240, 44, 59, 138, 139, 112, 112, 113, 108, - 51, 140, 141, 143, 144, 145, 237, 240, 28, 43, + 238, 241, 44, 59, 138, 139, 112, 112, 113, 108, + 51, 140, 141, 143, 144, 145, 238, 241, 28, 43, 53, 54, 55, 64, 69, 71, 79, 88, 90, 95, - 97, 98, 99, 135, 136, 151, 153, 183, 193, 237, - 240, 149, 109, 112, 143, 51, 113, 108, 16, 136, + 97, 98, 99, 135, 136, 151, 153, 183, 193, 238, + 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, 238, 152, 237, 145, 109, 137, - 33, 115, 163, 173, 232, 233, 234, 118, 86, 86, - 76, 56, 86, 154, 155, 190, 191, 237, 3, 108, - 108, 227, 118, 3, 127, 142, 108, 24, 80, 94, - 235, 174, 175, 46, 57, 236, 237, 240, 109, 113, + 190, 191, 192, 193, 239, 152, 238, 145, 109, 137, + 33, 115, 163, 173, 233, 234, 235, 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, 114, 114, 108, 150, 6, 7, 8, 10, 11, 13, - 14, 50, 91, 150, 156, 157, 173, 186, 188, 230, - 240, 107, 109, 228, 229, 230, 240, 17, 18, 178, - 179, 180, 237, 68, 108, 184, 186, 187, 237, 240, + 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, - 237, 240, 237, 240, 12, 22, 50, 51, 66, 85, - 91, 100, 107, 110, 188, 200, 201, 202, 203, 204, - 205, 206, 207, 208, 209, 230, 231, 237, 240, 109, - 113, 109, 113, 110, 118, 185, 118, 114, 16, 17, - 38, 74, 173, 181, 182, 225, 226, 173, 181, 182, - 109, 113, 116, 40, 108, 73, 108, 196, 108, 196, - 110, 36, 37, 108, 200, 214, 215, 217, 219, 220, - 221, 110, 163, 173, 101, 106, 119, 218, 34, 35, - 200, 109, 113, 104, 105, 194, 102, 103, 195, 101, - 110, 218, 157, 229, 187, 230, 240, 179, 5, 189, - 240, 184, 184, 225, 118, 225, 225, 93, 164, 225, - 225, 100, 167, 168, 166, 30, 107, 161, 162, 172, - 173, 240, 177, 35, 158, 159, 160, 172, 173, 240, - 73, 158, 73, 200, 30, 173, 237, 111, 111, 108, - 200, 205, 119, 106, 65, 207, 110, 199, 108, 111, - 107, 203, 204, 205, 200, 65, 207, 111, 111, 5, - 17, 18, 225, 87, 240, 117, 109, 113, 173, 73, - 109, 113, 225, 173, 239, 240, 109, 239, 111, 108, - 109, 120, 222, 223, 111, 119, 107, 210, 211, 240, - 113, 111, 108, 187, 230, 162, 173, 160, 225, 232, - 232, 216, 118, 224, 240, 109, 113, 109, 113, 196, - 201, 169, 175, 175, 189, 224, 118, 223, 211, 20, - 74, 78, 212, 213, 4, 19, 115, 170, 171, 180, - 240, 170, 109, 171, 116 + 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, + 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 }; #if ! defined (YYSIZE_T) && defined (__SIZE_TYPE__) @@ -1835,14 +1848,14 @@ yyreduce: switch (yyn) { case 2: -#line 354 "asn1p_y.y" +#line 355 "asn1p_y.y" { *(void **)param = yyvsp[0].a_grammar; } break; case 3: -#line 360 "asn1p_y.y" +#line 361 "asn1p_y.y" { yyval.a_grammar = asn1p_new(); checkmem(yyval.a_grammar); @@ -1851,7 +1864,7 @@ yyreduce: break; case 4: -#line 365 "asn1p_y.y" +#line 366 "asn1p_y.y" { yyval.a_grammar = yyvsp[-1].a_grammar; TQ_ADD(&(yyval.a_grammar->modules), yyvsp[0].a_module, mod_next); @@ -1859,12 +1872,12 @@ yyreduce: break; case 5: -#line 382 "asn1p_y.y" +#line 383 "asn1p_y.y" { currentModule = asn1p_module_new(); } break; case 6: -#line 387 "asn1p_y.y" +#line 388 "asn1p_y.y" { yyval.a_module = currentModule; @@ -1885,31 +1898,31 @@ yyreduce: break; case 7: -#line 411 "asn1p_y.y" +#line 412 "asn1p_y.y" { yyval.a_oid = 0; } break; case 8: -#line 412 "asn1p_y.y" +#line 413 "asn1p_y.y" { yyval.a_oid = yyvsp[0].a_oid; } break; case 9: -#line 416 "asn1p_y.y" +#line 417 "asn1p_y.y" { yyval.a_oid = yyvsp[-1].a_oid; } break; case 10: -#line 419 "asn1p_y.y" +#line 420 "asn1p_y.y" { yyval.a_oid = 0; } break; case 11: -#line 425 "asn1p_y.y" +#line 426 "asn1p_y.y" { yyval.a_oid = asn1p_oid_new(); asn1p_oid_add_arc(yyval.a_oid, &yyvsp[0].a_oid_arc); @@ -1919,7 +1932,7 @@ yyreduce: break; case 12: -#line 431 "asn1p_y.y" +#line 432 "asn1p_y.y" { yyval.a_oid = yyvsp[-1].a_oid; asn1p_oid_add_arc(yyval.a_oid, &yyvsp[0].a_oid_arc); @@ -1929,7 +1942,7 @@ yyreduce: break; case 13: -#line 440 "asn1p_y.y" +#line 441 "asn1p_y.y" { /* iso */ yyval.a_oid_arc.name = yyvsp[0].tv_str; yyval.a_oid_arc.number = -1; @@ -1937,7 +1950,7 @@ yyreduce: break; case 14: -#line 444 "asn1p_y.y" +#line 445 "asn1p_y.y" { /* iso(1) */ yyval.a_oid_arc.name = yyvsp[-3].tv_str; yyval.a_oid_arc.number = yyvsp[-1].a_int; @@ -1945,7 +1958,7 @@ yyreduce: break; case 15: -#line 448 "asn1p_y.y" +#line 449 "asn1p_y.y" { /* 1 */ yyval.a_oid_arc.name = 0; yyval.a_oid_arc.number = yyvsp[0].a_int; @@ -1953,61 +1966,61 @@ yyreduce: break; case 16: -#line 458 "asn1p_y.y" +#line 459 "asn1p_y.y" { yyval.a_module_flags = MSF_NOFLAGS; } break; case 17: -#line 459 "asn1p_y.y" +#line 460 "asn1p_y.y" { yyval.a_module_flags = yyvsp[0].a_module_flags; } break; case 18: -#line 468 "asn1p_y.y" +#line 469 "asn1p_y.y" { yyval.a_module_flags = yyvsp[0].a_module_flags; } break; case 19: -#line 471 "asn1p_y.y" +#line 472 "asn1p_y.y" { yyval.a_module_flags = yyvsp[-1].a_module_flags | yyvsp[0].a_module_flags; } break; case 20: -#line 480 "asn1p_y.y" +#line 481 "asn1p_y.y" { yyval.a_module_flags = MSF_EXPLICIT_TAGS; } break; case 21: -#line 483 "asn1p_y.y" +#line 484 "asn1p_y.y" { yyval.a_module_flags = MSF_IMPLICIT_TAGS; } break; case 22: -#line 486 "asn1p_y.y" +#line 487 "asn1p_y.y" { yyval.a_module_flags = MSF_AUTOMATIC_TAGS; } break; case 23: -#line 489 "asn1p_y.y" +#line 490 "asn1p_y.y" { yyval.a_module_flags = MSF_EXTENSIBILITY_IMPLIED; } break; case 24: -#line 493 "asn1p_y.y" +#line 494 "asn1p_y.y" { /* X.680Amd1 specifies TAG and XER */ if(strcmp(yyvsp[-1].tv_str, "TAG") == 0) { @@ -2026,19 +2039,19 @@ yyreduce: break; case 25: -#line 514 "asn1p_y.y" +#line 515 "asn1p_y.y" { yyval.a_module = 0; } break; case 26: -#line 515 "asn1p_y.y" +#line 516 "asn1p_y.y" { yyval.a_module = yyvsp[0].a_module; } break; case 27: -#line 524 "asn1p_y.y" +#line 525 "asn1p_y.y" { yyval.a_module = asn1p_module_new(); AL_IMPORT(yyval.a_module, exports, yyvsp[-2].a_module, xp_next); @@ -2048,14 +2061,14 @@ yyreduce: break; case 28: -#line 533 "asn1p_y.y" +#line 534 "asn1p_y.y" { yyval.a_module = yyvsp[0].a_module; } break; case 29: -#line 536 "asn1p_y.y" +#line 537 "asn1p_y.y" { if(yyvsp[-1].a_module) { yyval.a_module = yyvsp[-1].a_module; @@ -2068,7 +2081,7 @@ yyreduce: break; case 30: -#line 552 "asn1p_y.y" +#line 553 "asn1p_y.y" { yyval.a_module = asn1p_module_new(); checkmem(yyval.a_module); @@ -2079,7 +2092,7 @@ yyreduce: break; case 31: -#line 559 "asn1p_y.y" +#line 560 "asn1p_y.y" { yyval.a_module = asn1p_module_new(); checkmem(yyval.a_module); @@ -2090,7 +2103,7 @@ yyreduce: break; case 32: -#line 572 "asn1p_y.y" +#line 573 "asn1p_y.y" { yyval.a_module = asn1p_module_new(); checkmem(yyval.a_module); @@ -2101,12 +2114,12 @@ yyreduce: break; case 33: -#line 580 "asn1p_y.y" +#line 581 "asn1p_y.y" { asn1p_lexer_hack_push_encoding_control(); } break; case 34: -#line 581 "asn1p_y.y" +#line 582 "asn1p_y.y" { fprintf(stderr, "WARNING: ENCODING-CONTROL %s " @@ -2118,7 +2131,7 @@ yyreduce: break; case 35: -#line 593 "asn1p_y.y" +#line 594 "asn1p_y.y" { return yyerror( "Attempt to redefine a standard basic string type, " @@ -2127,12 +2140,12 @@ yyreduce: break; case 36: -#line 606 "asn1p_y.y" +#line 607 "asn1p_y.y" { yyval.a_module = 0; } break; case 38: -#line 610 "asn1p_y.y" +#line 611 "asn1p_y.y" { if(!saved_aid && 0) return yyerror("Unterminated IMPORTS FROM, " @@ -2143,19 +2156,19 @@ yyreduce: break; case 39: -#line 620 "asn1p_y.y" +#line 621 "asn1p_y.y" { return yyerror("Empty IMPORTS list"); } break; case 40: -#line 626 "asn1p_y.y" +#line 627 "asn1p_y.y" { yyval.a_module = asn1p_module_new(); } break; case 42: -#line 630 "asn1p_y.y" +#line 631 "asn1p_y.y" { yyval.a_module = asn1p_module_new(); checkmem(yyval.a_module); @@ -2164,7 +2177,7 @@ yyreduce: break; case 43: -#line 635 "asn1p_y.y" +#line 636 "asn1p_y.y" { yyval.a_module = yyvsp[-1].a_module; TQ_ADD(&(yyval.a_module->imports), yyvsp[0].a_xports, xp_next); @@ -2172,17 +2185,17 @@ yyreduce: break; case 44: -#line 642 "asn1p_y.y" +#line 643 "asn1p_y.y" { memset(&yyval.a_aid, 0, sizeof(yyval.a_aid)); } break; case 45: -#line 643 "asn1p_y.y" +#line 644 "asn1p_y.y" { yyval.a_aid.oid = yyvsp[0].a_oid; } break; case 46: -#line 647 "asn1p_y.y" +#line 648 "asn1p_y.y" { yyval.a_xports = yyvsp[-3].a_xports; yyval.a_xports->fromModuleName = yyvsp[-1].tv_str; @@ -2194,7 +2207,7 @@ yyreduce: break; case 47: -#line 658 "asn1p_y.y" +#line 659 "asn1p_y.y" { yyval.a_xports = asn1p_xports_new(); checkmem(yyval.a_xports); @@ -2203,7 +2216,7 @@ yyreduce: break; case 48: -#line 663 "asn1p_y.y" +#line 664 "asn1p_y.y" { yyval.a_xports = yyvsp[-2].a_xports; TQ_ADD(&(yyval.a_xports->members), yyvsp[0].a_expr, next); @@ -2211,7 +2224,7 @@ yyreduce: break; case 49: -#line 670 "asn1p_y.y" +#line 671 "asn1p_y.y" { yyval.a_expr = NEW_EXPR(); checkmem(yyval.a_expr); @@ -2221,7 +2234,7 @@ yyreduce: break; case 50: -#line 676 "asn1p_y.y" +#line 677 "asn1p_y.y" { /* Completely equivalent to above */ yyval.a_expr = NEW_EXPR(); checkmem(yyval.a_expr); @@ -2231,7 +2244,7 @@ yyreduce: break; case 51: -#line 682 "asn1p_y.y" +#line 683 "asn1p_y.y" { yyval.a_expr = NEW_EXPR(); checkmem(yyval.a_expr); @@ -2241,12 +2254,12 @@ yyreduce: break; case 52: -#line 692 "asn1p_y.y" +#line 693 "asn1p_y.y" { yyval.a_module = 0; } break; case 53: -#line 693 "asn1p_y.y" +#line 694 "asn1p_y.y" { yyval.a_module = asn1p_module_new(); checkmem(yyval.a_module); @@ -2259,21 +2272,21 @@ yyreduce: break; case 54: -#line 705 "asn1p_y.y" +#line 706 "asn1p_y.y" { yyval.a_xports = yyvsp[-1].a_xports; } break; case 55: -#line 708 "asn1p_y.y" +#line 709 "asn1p_y.y" { yyval.a_xports = 0; } break; case 56: -#line 711 "asn1p_y.y" +#line 712 "asn1p_y.y" { /* Empty EXPORTS clause effectively prohibits export. */ yyval.a_xports = asn1p_xports_new(); @@ -2282,7 +2295,7 @@ yyreduce: break; case 57: -#line 719 "asn1p_y.y" +#line 720 "asn1p_y.y" { yyval.a_xports = asn1p_xports_new(); assert(yyval.a_xports); @@ -2291,7 +2304,7 @@ yyreduce: break; case 58: -#line 724 "asn1p_y.y" +#line 725 "asn1p_y.y" { yyval.a_xports = yyvsp[-2].a_xports; TQ_ADD(&(yyval.a_xports->members), yyvsp[0].a_expr, next); @@ -2299,7 +2312,7 @@ yyreduce: break; case 59: -#line 731 "asn1p_y.y" +#line 732 "asn1p_y.y" { yyval.a_expr = NEW_EXPR(); checkmem(yyval.a_expr); @@ -2309,7 +2322,7 @@ yyreduce: break; case 60: -#line 737 "asn1p_y.y" +#line 738 "asn1p_y.y" { yyval.a_expr = NEW_EXPR(); checkmem(yyval.a_expr); @@ -2319,7 +2332,7 @@ yyreduce: break; case 61: -#line 743 "asn1p_y.y" +#line 744 "asn1p_y.y" { yyval.a_expr = NEW_EXPR(); checkmem(yyval.a_expr); @@ -2329,12 +2342,12 @@ yyreduce: break; case 62: -#line 752 "asn1p_y.y" +#line 753 "asn1p_y.y" { yyval.a_constr = yyvsp[-1].a_constr; } break; case 63: -#line 755 "asn1p_y.y" +#line 756 "asn1p_y.y" { yyval.a_expr = yyvsp[-2].a_expr; assert(yyval.a_expr->Identifier == 0); @@ -2345,14 +2358,14 @@ yyreduce: break; case 64: -#line 765 "asn1p_y.y" +#line 766 "asn1p_y.y" { yyval.a_expr = yyvsp[0].a_expr; } break; case 65: -#line 778 "asn1p_y.y" +#line 779 "asn1p_y.y" { yyval.a_expr = NEW_EXPR(); checkmem(yyval.a_expr); @@ -2363,7 +2376,7 @@ yyreduce: break; case 66: -#line 788 "asn1p_y.y" +#line 789 "asn1p_y.y" { yyval.a_expr = NEW_EXPR(); checkmem(yyval.a_expr); @@ -2375,7 +2388,7 @@ yyreduce: break; case 67: -#line 808 "asn1p_y.y" +#line 809 "asn1p_y.y" { yyval.a_expr = yyvsp[0].a_expr; yyval.a_expr->Identifier = yyvsp[-2].tv_str; @@ -2385,7 +2398,7 @@ yyreduce: break; case 68: -#line 814 "asn1p_y.y" +#line 815 "asn1p_y.y" { yyval.a_expr = yyvsp[0].a_expr; yyval.a_expr->Identifier = yyvsp[-2].tv_str; @@ -2395,7 +2408,7 @@ yyreduce: break; case 69: -#line 830 "asn1p_y.y" +#line 831 "asn1p_y.y" { yyval.a_expr = yyvsp[0].a_expr; yyval.a_expr->Identifier = yyvsp[-5].tv_str; @@ -2404,7 +2417,7 @@ yyreduce: break; case 70: -#line 836 "asn1p_y.y" +#line 837 "asn1p_y.y" { yyval.a_expr = yyvsp[0].a_expr; yyval.a_expr->Identifier = yyvsp[-5].tv_str; @@ -2413,7 +2426,7 @@ yyreduce: break; case 71: -#line 844 "asn1p_y.y" +#line 845 "asn1p_y.y" { int ret; yyval.a_plist = asn1p_paramlist_new(yylineno); @@ -2426,7 +2439,7 @@ yyreduce: break; case 72: -#line 853 "asn1p_y.y" +#line 854 "asn1p_y.y" { int ret; yyval.a_plist = yyvsp[-2].a_plist; @@ -2438,7 +2451,7 @@ yyreduce: break; case 73: -#line 864 "asn1p_y.y" +#line 865 "asn1p_y.y" { yyval.a_parg.governor = NULL; yyval.a_parg.argument = yyvsp[0].tv_str; @@ -2446,7 +2459,7 @@ yyreduce: break; case 74: -#line 868 "asn1p_y.y" +#line 869 "asn1p_y.y" { int ret; yyval.a_parg.governor = asn1p_ref_new(yylineno); @@ -2457,7 +2470,7 @@ yyreduce: break; case 75: -#line 875 "asn1p_y.y" +#line 876 "asn1p_y.y" { int ret; yyval.a_parg.governor = asn1p_ref_new(yylineno); @@ -2468,7 +2481,7 @@ yyreduce: break; case 76: -#line 882 "asn1p_y.y" +#line 883 "asn1p_y.y" { int ret; yyval.a_parg.governor = asn1p_ref_new(yylineno); @@ -2480,7 +2493,7 @@ yyreduce: break; case 77: -#line 890 "asn1p_y.y" +#line 891 "asn1p_y.y" { int ret; yyval.a_parg.governor = asn1p_ref_new(yylineno); @@ -2492,7 +2505,7 @@ yyreduce: break; case 78: -#line 901 "asn1p_y.y" +#line 902 "asn1p_y.y" { yyval.a_expr = NEW_EXPR(); checkmem(yyval.a_expr); @@ -2501,7 +2514,7 @@ yyreduce: break; case 79: -#line 906 "asn1p_y.y" +#line 907 "asn1p_y.y" { yyval.a_expr = yyvsp[-2].a_expr; asn1p_expr_add(yyval.a_expr, yyvsp[0].a_expr); @@ -2509,14 +2522,14 @@ yyreduce: break; case 80: -#line 913 "asn1p_y.y" +#line 914 "asn1p_y.y" { yyval.a_expr = yyvsp[0].a_expr; } break; case 81: -#line 916 "asn1p_y.y" +#line 917 "asn1p_y.y" { yyval.a_expr = NEW_EXPR(); checkmem(yyval.a_expr); @@ -2528,7 +2541,7 @@ yyreduce: break; case 82: -#line 924 "asn1p_y.y" +#line 925 "asn1p_y.y" { asn1p_ref_t *ref; yyval.a_expr = NEW_EXPR(); @@ -2543,7 +2556,7 @@ yyreduce: break; case 83: -#line 935 "asn1p_y.y" +#line 936 "asn1p_y.y" { yyval.a_expr = NEW_EXPR(); yyval.a_expr->expr_type = A1TC_VALUESET; @@ -2553,17 +2566,17 @@ yyreduce: break; case 84: -#line 958 "asn1p_y.y" +#line 959 "asn1p_y.y" { yyval.a_expr = NEW_EXPR(); } break; case 85: -#line 959 "asn1p_y.y" +#line 960 "asn1p_y.y" { yyval.a_expr = yyvsp[0].a_expr; } break; case 86: -#line 962 "asn1p_y.y" +#line 963 "asn1p_y.y" { yyval.a_expr = NEW_EXPR(); checkmem(yyval.a_expr); @@ -2572,7 +2585,7 @@ yyreduce: break; case 87: -#line 967 "asn1p_y.y" +#line 968 "asn1p_y.y" { yyval.a_expr = yyvsp[-2].a_expr; asn1p_expr_add(yyval.a_expr, yyvsp[0].a_expr); @@ -2580,7 +2593,7 @@ yyreduce: break; case 88: -#line 974 "asn1p_y.y" +#line 975 "asn1p_y.y" { yyval.a_expr = yyvsp[-1].a_expr; assert(yyval.a_expr->Identifier == 0); @@ -2591,7 +2604,7 @@ yyreduce: break; case 89: -#line 981 "asn1p_y.y" +#line 982 "asn1p_y.y" { yyval.a_expr = yyvsp[-1].a_expr; yyvsp[0].a_marker.flags |= yyval.a_expr->marker.flags; @@ -2601,7 +2614,7 @@ yyreduce: break; case 90: -#line 987 "asn1p_y.y" +#line 988 "asn1p_y.y" { yyval.a_expr = NEW_EXPR(); checkmem(yyval.a_expr); @@ -2612,14 +2625,14 @@ yyreduce: break; case 91: -#line 994 "asn1p_y.y" +#line 995 "asn1p_y.y" { yyval.a_expr = yyvsp[0].a_expr; } break; case 92: -#line 1000 "asn1p_y.y" +#line 1001 "asn1p_y.y" { yyval.a_expr = NEW_EXPR(); checkmem(yyval.a_expr); @@ -2628,7 +2641,7 @@ yyreduce: break; case 93: -#line 1005 "asn1p_y.y" +#line 1006 "asn1p_y.y" { yyval.a_expr = yyvsp[-2].a_expr; asn1p_expr_add(yyval.a_expr, yyvsp[0].a_expr); @@ -2636,7 +2649,7 @@ yyreduce: break; case 94: -#line 1012 "asn1p_y.y" +#line 1013 "asn1p_y.y" { yyval.a_expr = yyvsp[0].a_expr; assert(yyval.a_expr->Identifier == 0); @@ -2645,14 +2658,14 @@ yyreduce: break; case 95: -#line 1017 "asn1p_y.y" +#line 1018 "asn1p_y.y" { yyval.a_expr = yyvsp[0].a_expr; } break; case 96: -#line 1020 "asn1p_y.y" +#line 1021 "asn1p_y.y" { yyval.a_expr = yyvsp[0].a_expr; _fixup_anonymous_identifier(yyval.a_expr); @@ -2660,7 +2673,7 @@ yyreduce: break; case 97: -#line 1027 "asn1p_y.y" +#line 1028 "asn1p_y.y" { yyval.a_expr = yyvsp[-2].a_expr; checkmem(yyval.a_expr); @@ -2671,17 +2684,17 @@ yyreduce: break; case 98: -#line 1037 "asn1p_y.y" +#line 1038 "asn1p_y.y" { yyval.a_int = 0; } break; case 99: -#line 1038 "asn1p_y.y" +#line 1039 "asn1p_y.y" { yyval.a_int = 1; } break; case 100: -#line 1042 "asn1p_y.y" +#line 1043 "asn1p_y.y" { yyval.a_expr = NEW_EXPR(); checkmem(yyval.a_expr); @@ -2692,7 +2705,7 @@ yyreduce: break; case 101: -#line 1049 "asn1p_y.y" +#line 1050 "asn1p_y.y" { yyval.a_expr = yyvsp[-2].a_expr; asn1p_expr_add(yyval.a_expr, yyvsp[0].a_expr); @@ -2700,7 +2713,7 @@ yyreduce: break; case 102: -#line 1059 "asn1p_y.y" +#line 1060 "asn1p_y.y" { yyval.a_expr = NEW_EXPR(); checkmem(yyval.a_expr); @@ -2712,7 +2725,7 @@ yyreduce: break; case 103: -#line 1069 "asn1p_y.y" +#line 1070 "asn1p_y.y" { yyval.a_expr = NEW_EXPR(); yyval.a_expr->Identifier = yyvsp[-3].tv_str; @@ -2725,7 +2738,7 @@ yyreduce: break; case 104: -#line 1080 "asn1p_y.y" +#line 1081 "asn1p_y.y" { yyval.a_expr = NEW_EXPR(); yyval.a_expr->Identifier = yyvsp[-2].tv_str; @@ -2737,7 +2750,7 @@ yyreduce: break; case 105: -#line 1090 "asn1p_y.y" +#line 1091 "asn1p_y.y" { yyval.a_expr = NEW_EXPR(); checkmem(yyval.a_expr); @@ -2750,7 +2763,7 @@ yyreduce: break; case 106: -#line 1101 "asn1p_y.y" +#line 1102 "asn1p_y.y" { yyval.a_expr = NEW_EXPR(); yyval.a_expr->Identifier = yyvsp[-2].tv_str; @@ -2762,7 +2775,7 @@ yyreduce: break; case 107: -#line 1111 "asn1p_y.y" +#line 1112 "asn1p_y.y" { yyval.a_expr = NEW_EXPR(); checkmem(yyval.a_expr); @@ -2775,7 +2788,7 @@ yyreduce: break; case 108: -#line 1122 "asn1p_y.y" +#line 1123 "asn1p_y.y" { yyval.a_expr = NEW_EXPR(); checkmem(yyval.a_expr); @@ -2788,31 +2801,31 @@ yyreduce: break; case 109: -#line 1134 "asn1p_y.y" +#line 1135 "asn1p_y.y" { yyval.a_wsynt = 0; } break; case 110: -#line 1135 "asn1p_y.y" +#line 1136 "asn1p_y.y" { yyval.a_wsynt = yyvsp[0].a_wsynt; } break; case 111: -#line 1142 "asn1p_y.y" +#line 1143 "asn1p_y.y" { asn1p_lexer_hack_enable_with_syntax(); } break; case 112: -#line 1144 "asn1p_y.y" +#line 1145 "asn1p_y.y" { yyval.a_wsynt = yyvsp[-1].a_wsynt; } break; case 113: -#line 1150 "asn1p_y.y" +#line 1151 "asn1p_y.y" { yyval.a_wsynt = asn1p_wsyntx_new(); TQ_ADD(&(yyval.a_wsynt->chunks), yyvsp[0].a_wchunk, next); @@ -2820,7 +2833,7 @@ yyreduce: break; case 114: -#line 1154 "asn1p_y.y" +#line 1155 "asn1p_y.y" { yyval.a_wsynt = yyvsp[-1].a_wsynt; TQ_ADD(&(yyval.a_wsynt->chunks), yyvsp[0].a_wchunk, next); @@ -2828,7 +2841,7 @@ yyreduce: break; case 115: -#line 1161 "asn1p_y.y" +#line 1162 "asn1p_y.y" { yyval.a_wchunk = asn1p_wsyntx_chunk_fromstring(yyvsp[0].tv_opaque.buf, 0); yyval.a_wchunk->type = WC_WHITESPACE; @@ -2836,14 +2849,14 @@ yyreduce: break; case 116: -#line 1165 "asn1p_y.y" +#line 1166 "asn1p_y.y" { yyval.a_wchunk = asn1p_wsyntx_chunk_fromstring(yyvsp[0].tv_str, 0); } break; case 117: -#line 1168 "asn1p_y.y" +#line 1169 "asn1p_y.y" { yyval.a_wchunk = asn1p_wsyntx_chunk_fromstring(yyvsp[0].a_refcomp.name, 0); yyval.a_wchunk->type = WC_FIELD; @@ -2851,14 +2864,14 @@ yyreduce: break; case 118: -#line 1172 "asn1p_y.y" +#line 1173 "asn1p_y.y" { yyval.a_wchunk = asn1p_wsyntx_chunk_fromsyntax(yyvsp[-1].a_wsynt); } break; case 119: -#line 1178 "asn1p_y.y" +#line 1179 "asn1p_y.y" { yyval.a_expr = NEW_EXPR(); checkmem(yyval.a_expr); @@ -2870,7 +2883,7 @@ yyreduce: break; case 120: -#line 1186 "asn1p_y.y" +#line 1187 "asn1p_y.y" { yyval.a_expr = NEW_EXPR(); checkmem(yyval.a_expr); @@ -2883,7 +2896,7 @@ yyreduce: break; case 121: -#line 1195 "asn1p_y.y" +#line 1196 "asn1p_y.y" { yyval.a_expr = NEW_EXPR(); checkmem(yyval.a_expr); @@ -2896,7 +2909,7 @@ yyreduce: break; case 122: -#line 1207 "asn1p_y.y" +#line 1208 "asn1p_y.y" { yyval.a_expr = yyvsp[-1].a_expr; yyval.a_expr->tag = yyvsp[-2].a_tag; @@ -2919,7 +2932,7 @@ yyreduce: break; case 123: -#line 1229 "asn1p_y.y" +#line 1230 "asn1p_y.y" { yyval.a_int = asn1p_as_pointer ? EM_INDIRECT : 0; asn1p_as_pointer = 0; @@ -2927,7 +2940,7 @@ yyreduce: break; case 124: -#line 1236 "asn1p_y.y" +#line 1237 "asn1p_y.y" { yyval.a_expr = yyvsp[0].a_expr; yyval.a_expr->marker.flags |= yyvsp[-1].a_int; @@ -2947,14 +2960,14 @@ yyreduce: break; case 125: -#line 1255 "asn1p_y.y" +#line 1256 "asn1p_y.y" { yyval.a_expr = yyvsp[0].a_expr; } break; case 126: -#line 1258 "asn1p_y.y" +#line 1259 "asn1p_y.y" { yyval.a_expr = yyvsp[-1].a_expr; assert(yyval.a_expr->expr_type == A1TC_INVALID); @@ -2964,7 +2977,7 @@ yyreduce: break; case 127: -#line 1264 "asn1p_y.y" +#line 1265 "asn1p_y.y" { yyval.a_expr = yyvsp[-1].a_expr; assert(yyval.a_expr->expr_type == A1TC_INVALID); @@ -2974,7 +2987,7 @@ yyreduce: break; case 128: -#line 1270 "asn1p_y.y" +#line 1271 "asn1p_y.y" { yyval.a_expr = yyvsp[-1].a_expr; assert(yyval.a_expr->expr_type == A1TC_INVALID); @@ -2984,7 +2997,7 @@ yyreduce: break; case 129: -#line 1276 "asn1p_y.y" +#line 1277 "asn1p_y.y" { yyval.a_expr = NEW_EXPR(); checkmem(yyval.a_expr); @@ -2998,7 +3011,7 @@ yyreduce: break; case 130: -#line 1286 "asn1p_y.y" +#line 1287 "asn1p_y.y" { yyval.a_expr = NEW_EXPR(); checkmem(yyval.a_expr); @@ -3012,7 +3025,7 @@ yyreduce: break; case 131: -#line 1296 "asn1p_y.y" +#line 1297 "asn1p_y.y" { yyval.a_expr = NEW_EXPR(); checkmem(yyval.a_expr); @@ -3022,7 +3035,7 @@ yyreduce: break; case 132: -#line 1302 "asn1p_y.y" +#line 1303 "asn1p_y.y" { int ret; yyval.a_expr = NEW_EXPR(); @@ -3037,7 +3050,7 @@ yyreduce: break; case 133: -#line 1313 "asn1p_y.y" +#line 1314 "asn1p_y.y" { yyval.a_expr = NEW_EXPR(); checkmem(yyval.a_expr); @@ -3048,7 +3061,7 @@ yyreduce: break; case 134: -#line 1328 "asn1p_y.y" +#line 1329 "asn1p_y.y" { int ret; yyval.a_ref = asn1p_ref_new(yylineno); @@ -3060,7 +3073,7 @@ yyreduce: break; case 135: -#line 1336 "asn1p_y.y" +#line 1337 "asn1p_y.y" { int ret; yyval.a_ref = asn1p_ref_new(yylineno); @@ -3074,7 +3087,7 @@ yyreduce: break; case 136: -#line 1346 "asn1p_y.y" +#line 1347 "asn1p_y.y" { int ret; yyval.a_ref = asn1p_ref_new(yylineno); @@ -3088,7 +3101,7 @@ yyreduce: break; case 137: -#line 1356 "asn1p_y.y" +#line 1357 "asn1p_y.y" { int ret; yyval.a_ref = asn1p_ref_new(yylineno); @@ -3102,7 +3115,7 @@ yyreduce: break; case 138: -#line 1366 "asn1p_y.y" +#line 1367 "asn1p_y.y" { int ret; yyval.a_ref = asn1p_ref_new(yylineno); @@ -3114,7 +3127,7 @@ yyreduce: break; case 139: -#line 1374 "asn1p_y.y" +#line 1375 "asn1p_y.y" { int ret; yyval.a_ref = yyvsp[0].a_ref; @@ -3137,7 +3150,7 @@ yyreduce: break; case 140: -#line 1396 "asn1p_y.y" +#line 1397 "asn1p_y.y" { int ret; yyval.a_ref = asn1p_ref_new(yylineno); @@ -3149,7 +3162,7 @@ yyreduce: break; case 141: -#line 1404 "asn1p_y.y" +#line 1405 "asn1p_y.y" { int ret; yyval.a_ref = yyvsp[-2].a_ref; @@ -3160,7 +3173,7 @@ yyreduce: break; case 143: -#line 1417 "asn1p_y.y" +#line 1418 "asn1p_y.y" { yyval.a_refcomp.lex_type = RLT_AmpUppercase; yyval.a_refcomp.name = yyvsp[0].tv_str; @@ -3168,7 +3181,7 @@ yyreduce: break; case 144: -#line 1422 "asn1p_y.y" +#line 1423 "asn1p_y.y" { yyval.a_refcomp.lex_type = RLT_Amplowercase; yyval.a_refcomp.name = yyvsp[0].tv_str; @@ -3176,7 +3189,7 @@ yyreduce: break; case 145: -#line 1431 "asn1p_y.y" +#line 1432 "asn1p_y.y" { yyval.a_ref = asn1p_ref_new(yylineno); asn1p_ref_add_component(yyval.a_ref, yyvsp[0].tv_str, RLT_AmpUppercase); @@ -3184,7 +3197,7 @@ yyreduce: break; case 146: -#line 1435 "asn1p_y.y" +#line 1436 "asn1p_y.y" { yyval.a_ref = yyval.a_ref; asn1p_ref_add_component(yyval.a_ref, yyvsp[0].tv_str, RLT_AmpUppercase); @@ -3192,7 +3205,7 @@ yyreduce: break; case 147: -#line 1439 "asn1p_y.y" +#line 1440 "asn1p_y.y" { yyval.a_ref = yyval.a_ref; asn1p_ref_add_component(yyval.a_ref, yyvsp[0].tv_str, RLT_Amplowercase); @@ -3200,7 +3213,7 @@ yyreduce: break; case 148: -#line 1446 "asn1p_y.y" +#line 1447 "asn1p_y.y" { yyval.a_ref = asn1p_ref_new(yylineno); asn1p_ref_add_component(yyval.a_ref, yyvsp[0].tv_str, RLT_CAPITALS); @@ -3208,7 +3221,7 @@ yyreduce: break; case 149: -#line 1466 "asn1p_y.y" +#line 1467 "asn1p_y.y" { yyval.a_expr = yyvsp[-2].a_expr; assert(yyval.a_expr->Identifier == NULL); @@ -3219,7 +3232,7 @@ yyreduce: break; case 152: -#line 1478 "asn1p_y.y" +#line 1479 "asn1p_y.y" { yyval.a_value = asn1p_value_fromint(0); checkmem(yyval.a_value); @@ -3230,12 +3243,12 @@ yyreduce: break; case 153: -#line 1485 "asn1p_y.y" +#line 1486 "asn1p_y.y" { asn1p_lexer_hack_push_opaque_state(); } break; case 154: -#line 1485 "asn1p_y.y" +#line 1486 "asn1p_y.y" { yyval.a_value = asn1p_value_frombuf(yyvsp[0].tv_opaque.buf, yyvsp[0].tv_opaque.len, 0); checkmem(yyval.a_value); @@ -3244,7 +3257,7 @@ yyreduce: break; case 155: -#line 1490 "asn1p_y.y" +#line 1491 "asn1p_y.y" { yyval.a_value = asn1p_value_fromint(0); checkmem(yyval.a_value); @@ -3253,7 +3266,7 @@ yyreduce: break; case 156: -#line 1498 "asn1p_y.y" +#line 1499 "asn1p_y.y" { yyval.a_value = asn1p_value_fromint(0); checkmem(yyval.a_value); @@ -3262,7 +3275,7 @@ yyreduce: break; case 157: -#line 1503 "asn1p_y.y" +#line 1504 "asn1p_y.y" { yyval.a_value = asn1p_value_fromint(0); checkmem(yyval.a_value); @@ -3271,7 +3284,7 @@ yyreduce: break; case 158: -#line 1508 "asn1p_y.y" +#line 1509 "asn1p_y.y" { yyval.a_value = _convert_bitstring2binary(yyvsp[0].tv_str, 'B'); checkmem(yyval.a_value); @@ -3279,7 +3292,7 @@ yyreduce: break; case 159: -#line 1512 "asn1p_y.y" +#line 1513 "asn1p_y.y" { yyval.a_value = _convert_bitstring2binary(yyvsp[0].tv_str, 'H'); checkmem(yyval.a_value); @@ -3287,21 +3300,21 @@ yyreduce: break; case 160: -#line 1516 "asn1p_y.y" +#line 1517 "asn1p_y.y" { yyval.a_value = yyval.a_value; } break; case 161: -#line 1519 "asn1p_y.y" +#line 1520 "asn1p_y.y" { yyval.a_value = yyvsp[0].a_value; } break; case 162: -#line 1525 "asn1p_y.y" +#line 1526 "asn1p_y.y" { asn1p_ref_t *ref; int ret; @@ -3316,7 +3329,7 @@ yyreduce: break; case 163: -#line 1536 "asn1p_y.y" +#line 1537 "asn1p_y.y" { asn1p_ref_t *ref; int ret; @@ -3334,7 +3347,7 @@ yyreduce: break; case 164: -#line 1554 "asn1p_y.y" +#line 1555 "asn1p_y.y" { yyval.a_value = asn1p_value_frombuf(yyvsp[0].tv_opaque.buf, yyvsp[0].tv_opaque.len, 0); checkmem(yyval.a_value); @@ -3342,7 +3355,7 @@ yyreduce: break; case 165: -#line 1558 "asn1p_y.y" +#line 1559 "asn1p_y.y" { yyval.a_value = asn1p_value_fromint(yyvsp[0].a_int); checkmem(yyval.a_value); @@ -3351,7 +3364,7 @@ yyreduce: break; case 166: -#line 1563 "asn1p_y.y" +#line 1564 "asn1p_y.y" { yyval.a_value = asn1p_value_fromint(yyvsp[0].a_int); checkmem(yyval.a_value); @@ -3360,7 +3373,7 @@ yyreduce: break; case 167: -#line 1597 "asn1p_y.y" +#line 1598 "asn1p_y.y" { yyval.tv_opaque.len = yyvsp[0].tv_opaque.len + 1; yyval.tv_opaque.buf = malloc(yyval.tv_opaque.len + 1); @@ -3373,7 +3386,7 @@ yyreduce: break; case 168: -#line 1606 "asn1p_y.y" +#line 1607 "asn1p_y.y" { int newsize = yyvsp[-1].tv_opaque.len + yyvsp[0].tv_opaque.len; char *p = malloc(newsize + 1); @@ -3389,87 +3402,87 @@ yyreduce: break; case 169: -#line 1621 "asn1p_y.y" +#line 1622 "asn1p_y.y" { yyval.a_type = ASN_BASIC_BOOLEAN; } break; case 170: -#line 1622 "asn1p_y.y" +#line 1623 "asn1p_y.y" { yyval.a_type = ASN_BASIC_NULL; } break; case 171: -#line 1623 "asn1p_y.y" +#line 1624 "asn1p_y.y" { yyval.a_type = ASN_BASIC_REAL; } break; case 172: -#line 1624 "asn1p_y.y" +#line 1625 "asn1p_y.y" { yyval.a_type = yyvsp[0].a_type; } break; case 173: -#line 1625 "asn1p_y.y" +#line 1626 "asn1p_y.y" { yyval.a_type = ASN_BASIC_OCTET_STRING; } break; case 174: -#line 1626 "asn1p_y.y" +#line 1627 "asn1p_y.y" { yyval.a_type = ASN_BASIC_OBJECT_IDENTIFIER; } break; case 175: -#line 1627 "asn1p_y.y" +#line 1628 "asn1p_y.y" { yyval.a_type = ASN_BASIC_RELATIVE_OID; } break; case 176: -#line 1628 "asn1p_y.y" +#line 1629 "asn1p_y.y" { yyval.a_type = ASN_BASIC_EXTERNAL; } break; case 177: -#line 1629 "asn1p_y.y" +#line 1630 "asn1p_y.y" { yyval.a_type = ASN_BASIC_EMBEDDED_PDV; } break; case 178: -#line 1630 "asn1p_y.y" +#line 1631 "asn1p_y.y" { yyval.a_type = ASN_BASIC_CHARACTER_STRING; } break; case 179: -#line 1631 "asn1p_y.y" +#line 1632 "asn1p_y.y" { yyval.a_type = ASN_BASIC_UTCTime; } break; case 180: -#line 1632 "asn1p_y.y" +#line 1633 "asn1p_y.y" { yyval.a_type = ASN_BASIC_GeneralizedTime; } break; case 181: -#line 1633 "asn1p_y.y" +#line 1634 "asn1p_y.y" { yyval.a_type = yyvsp[0].a_type; } break; case 182: -#line 1640 "asn1p_y.y" +#line 1641 "asn1p_y.y" { yyval.a_type = ASN_BASIC_INTEGER; } break; case 183: -#line 1641 "asn1p_y.y" +#line 1642 "asn1p_y.y" { yyval.a_type = ASN_BASIC_ENUMERATED; } break; case 184: -#line 1642 "asn1p_y.y" +#line 1643 "asn1p_y.y" { yyval.a_type = ASN_BASIC_BIT_STRING; } break; case 185: -#line 1646 "asn1p_y.y" +#line 1647 "asn1p_y.y" { yyval.a_expr = NEW_EXPR(); checkmem(yyval.a_expr); @@ -3479,7 +3492,7 @@ yyreduce: break; case 186: -#line 1652 "asn1p_y.y" +#line 1653 "asn1p_y.y" { if(yyvsp[0].a_expr) { yyval.a_expr = yyvsp[0].a_expr; @@ -3493,12 +3506,12 @@ yyreduce: break; case 187: -#line 1665 "asn1p_y.y" +#line 1666 "asn1p_y.y" { yyval.a_type = ASN_STRING_BMPString; } break; case 188: -#line 1666 "asn1p_y.y" +#line 1667 "asn1p_y.y" { yyval.a_type = ASN_STRING_GeneralString; fprintf(stderr, "WARNING: GeneralString is not fully supported\n"); @@ -3506,7 +3519,7 @@ yyreduce: break; case 189: -#line 1670 "asn1p_y.y" +#line 1671 "asn1p_y.y" { yyval.a_type = ASN_STRING_GraphicString; fprintf(stderr, "WARNING: GraphicString is not fully supported\n"); @@ -3514,27 +3527,27 @@ yyreduce: break; case 190: -#line 1674 "asn1p_y.y" +#line 1675 "asn1p_y.y" { yyval.a_type = ASN_STRING_IA5String; } break; case 191: -#line 1675 "asn1p_y.y" +#line 1676 "asn1p_y.y" { yyval.a_type = ASN_STRING_ISO646String; } break; case 192: -#line 1676 "asn1p_y.y" +#line 1677 "asn1p_y.y" { yyval.a_type = ASN_STRING_NumericString; } break; case 193: -#line 1677 "asn1p_y.y" +#line 1678 "asn1p_y.y" { yyval.a_type = ASN_STRING_PrintableString; } break; case 194: -#line 1678 "asn1p_y.y" +#line 1679 "asn1p_y.y" { yyval.a_type = ASN_STRING_T61String; fprintf(stderr, "WARNING: T61String is not fully supported\n"); @@ -3542,22 +3555,22 @@ yyreduce: break; case 195: -#line 1682 "asn1p_y.y" +#line 1683 "asn1p_y.y" { yyval.a_type = ASN_STRING_TeletexString; } break; case 196: -#line 1683 "asn1p_y.y" +#line 1684 "asn1p_y.y" { yyval.a_type = ASN_STRING_UniversalString; } break; case 197: -#line 1684 "asn1p_y.y" +#line 1685 "asn1p_y.y" { yyval.a_type = ASN_STRING_UTF8String; } break; case 198: -#line 1685 "asn1p_y.y" +#line 1686 "asn1p_y.y" { yyval.a_type = ASN_STRING_VideotexString; fprintf(stderr, "WARNING: VideotexString is not fully supported\n"); @@ -3565,43 +3578,43 @@ yyreduce: break; case 199: -#line 1689 "asn1p_y.y" +#line 1690 "asn1p_y.y" { yyval.a_type = ASN_STRING_VisibleString; } break; case 200: -#line 1690 "asn1p_y.y" +#line 1691 "asn1p_y.y" { yyval.a_type = ASN_STRING_ObjectDescriptor; } break; case 205: -#line 1701 "asn1p_y.y" +#line 1702 "asn1p_y.y" { yyval.a_constr = 0; } break; case 206: -#line 1702 "asn1p_y.y" +#line 1703 "asn1p_y.y" { yyval.a_constr = yyvsp[0].a_constr; } break; case 208: -#line 1709 "asn1p_y.y" +#line 1710 "asn1p_y.y" { yyval.a_constr = yyvsp[-1].a_constr; } break; case 209: -#line 1715 "asn1p_y.y" +#line 1716 "asn1p_y.y" { CONSTRAINT_INSERT(yyval.a_constr, ACT_CA_SET, yyvsp[0].a_constr, 0); } break; case 210: -#line 1718 "asn1p_y.y" +#line 1719 "asn1p_y.y" { /* * This is a special case, for compatibility purposes. @@ -3612,21 +3625,21 @@ yyreduce: break; case 211: -#line 1728 "asn1p_y.y" +#line 1729 "asn1p_y.y" { yyval.a_constr = yyvsp[-1].a_constr; } break; case 212: -#line 1731 "asn1p_y.y" +#line 1732 "asn1p_y.y" { CONSTRAINT_INSERT(yyval.a_constr, ACT_CA_SET, yyvsp[-3].a_constr, yyvsp[-1].a_constr); } break; case 213: -#line 1737 "asn1p_y.y" +#line 1738 "asn1p_y.y" { yyval.a_constr = asn1p_constraint_new(yylineno); yyval.a_constr->type = ACT_EL_EXT; @@ -3634,14 +3647,14 @@ yyreduce: break; case 214: -#line 1741 "asn1p_y.y" +#line 1742 "asn1p_y.y" { yyval.a_constr = yyvsp[0].a_constr; } break; case 215: -#line 1744 "asn1p_y.y" +#line 1745 "asn1p_y.y" { asn1p_constraint_t *ct; ct = asn1p_constraint_new(yylineno); @@ -3651,7 +3664,7 @@ yyreduce: break; case 216: -#line 1750 "asn1p_y.y" +#line 1751 "asn1p_y.y" { asn1p_constraint_t *ct; ct = asn1p_constraint_new(yylineno); @@ -3663,35 +3676,35 @@ yyreduce: break; case 218: -#line 1762 "asn1p_y.y" +#line 1763 "asn1p_y.y" { CONSTRAINT_INSERT(yyval.a_constr, ACT_CA_AEX, yyvsp[0].a_constr, 0); } break; case 220: -#line 1769 "asn1p_y.y" +#line 1770 "asn1p_y.y" { CONSTRAINT_INSERT(yyval.a_constr, ACT_CA_UNI, yyvsp[-2].a_constr, yyvsp[0].a_constr); } break; case 222: -#line 1776 "asn1p_y.y" +#line 1777 "asn1p_y.y" { CONSTRAINT_INSERT(yyval.a_constr, ACT_CA_INT, yyvsp[-2].a_constr, yyvsp[0].a_constr); } break; case 224: -#line 1784 "asn1p_y.y" +#line 1785 "asn1p_y.y" { CONSTRAINT_INSERT(yyval.a_constr, ACT_CA_EXC, yyvsp[-2].a_constr, yyvsp[0].a_constr); } break; case 225: -#line 1790 "asn1p_y.y" +#line 1791 "asn1p_y.y" { int ret; yyval.a_constr = asn1p_constraint_new(yylineno); @@ -3703,7 +3716,7 @@ yyreduce: break; case 226: -#line 1798 "asn1p_y.y" +#line 1799 "asn1p_y.y" { int ret; yyval.a_constr = asn1p_constraint_new(yylineno); @@ -3715,7 +3728,7 @@ yyreduce: break; case 227: -#line 1806 "asn1p_y.y" +#line 1807 "asn1p_y.y" { yyval.a_constr = asn1p_constraint_new(yylineno); checkmem(yyval.a_constr); @@ -3725,7 +3738,7 @@ yyreduce: break; case 228: -#line 1812 "asn1p_y.y" +#line 1813 "asn1p_y.y" { yyval.a_constr = asn1p_constraint_new(yylineno); checkmem(yyval.a_constr); @@ -3735,7 +3748,7 @@ yyreduce: break; case 229: -#line 1818 "asn1p_y.y" +#line 1819 "asn1p_y.y" { yyval.a_constr = asn1p_constraint_new(yylineno); checkmem(yyval.a_constr); @@ -3746,7 +3759,7 @@ yyreduce: break; case 230: -#line 1825 "asn1p_y.y" +#line 1826 "asn1p_y.y" { yyval.a_constr = asn1p_constraint_new(yylineno); checkmem(yyval.a_constr); @@ -3758,7 +3771,7 @@ yyreduce: break; case 231: -#line 1833 "asn1p_y.y" +#line 1834 "asn1p_y.y" { yyval.a_constr = asn1p_constraint_new(yylineno); checkmem(yyval.a_constr); @@ -3770,7 +3783,7 @@ yyreduce: break; case 232: -#line 1841 "asn1p_y.y" +#line 1842 "asn1p_y.y" { yyval.a_constr = asn1p_constraint_new(yylineno); checkmem(yyval.a_constr); @@ -3783,37 +3796,65 @@ yyreduce: break; case 233: -#line 1850 "asn1p_y.y" +#line 1851 "asn1p_y.y" { yyval.a_constr = yyvsp[0].a_constr; } break; case 234: -#line 1856 "asn1p_y.y" +#line 1854 "asn1p_y.y" { - yyval.a_ctype = ACT_CT_SIZE; + yyval.a_constr = yyvsp[0].a_constr; } break; case 235: -#line 1859 "asn1p_y.y" +#line 1860 "asn1p_y.y" { - yyval.a_ctype = ACT_CT_FROM; + yyval.a_constr = asn1p_constraint_new(yylineno); + yyval.a_constr->type = ACT_CT_PATTERN; + yyval.a_constr->value = asn1p_value_frombuf(yyvsp[0].tv_opaque.buf, yyvsp[0].tv_opaque.len, 0); } break; case 236: #line 1865 "asn1p_y.y" { + asn1p_ref_t *ref; + yyval.a_constr = asn1p_constraint_new(yylineno); + yyval.a_constr->type = ACT_CT_PATTERN; + ref = asn1p_ref_new(yylineno); + asn1p_ref_add_component(ref, yyvsp[0].tv_str, RLT_lowercase); + yyval.a_constr->value = asn1p_value_fromref(ref, 0); + } + break; + + case 237: +#line 1876 "asn1p_y.y" + { + yyval.a_ctype = ACT_CT_SIZE; + } + break; + + case 238: +#line 1879 "asn1p_y.y" + { + yyval.a_ctype = ACT_CT_FROM; + } + break; + + case 239: +#line 1885 "asn1p_y.y" + { yyval.a_value = asn1p_value_fromint(0); checkmem(yyval.a_value); yyval.a_value->type = ATV_FALSE; } break; - case 237: -#line 1870 "asn1p_y.y" + case 240: +#line 1890 "asn1p_y.y" { yyval.a_value = asn1p_value_fromint(1); checkmem(yyval.a_value); @@ -3821,8 +3862,8 @@ yyreduce: } break; - case 240: -#line 1877 "asn1p_y.y" + case 243: +#line 1897 "asn1p_y.y" { asn1p_ref_t *ref; int ret; @@ -3836,8 +3877,8 @@ yyreduce: } break; - case 241: -#line 1891 "asn1p_y.y" + case 244: +#line 1911 "asn1p_y.y" { asn1p_ref_t *ref; int ret; @@ -3851,36 +3892,36 @@ yyreduce: } break; - case 242: -#line 1905 "asn1p_y.y" + case 245: +#line 1925 "asn1p_y.y" { CONSTRAINT_INSERT(yyval.a_constr, ACT_CT_WCOMP, yyvsp[0].a_constr, 0); } break; - case 243: -#line 1908 "asn1p_y.y" + case 246: +#line 1928 "asn1p_y.y" { CONSTRAINT_INSERT(yyval.a_constr, ACT_CT_WCOMPS, yyvsp[-1].a_constr, 0); } break; - case 244: -#line 1914 "asn1p_y.y" + case 247: +#line 1934 "asn1p_y.y" { yyval.a_constr = yyvsp[0].a_constr; } break; - case 245: -#line 1917 "asn1p_y.y" + case 248: +#line 1937 "asn1p_y.y" { CONSTRAINT_INSERT(yyval.a_constr, ACT_CT_WCOMPS, yyvsp[-2].a_constr, yyvsp[0].a_constr); } break; - case 246: -#line 1923 "asn1p_y.y" + case 249: +#line 1943 "asn1p_y.y" { yyval.a_constr = asn1p_constraint_new(yylineno); checkmem(yyval.a_constr); @@ -3889,8 +3930,8 @@ yyreduce: } break; - case 247: -#line 1929 "asn1p_y.y" + case 250: +#line 1949 "asn1p_y.y" { yyval.a_constr = asn1p_constraint_new(yylineno); checkmem(yyval.a_constr); @@ -3901,44 +3942,44 @@ yyreduce: } break; - case 248: -#line 1943 "asn1p_y.y" + case 251: +#line 1963 "asn1p_y.y" { yyval.a_pres = ACPRES_DEFAULT; } break; - case 249: -#line 1944 "asn1p_y.y" + case 252: +#line 1964 "asn1p_y.y" { yyval.a_pres = yyvsp[0].a_pres; } break; - case 250: -#line 1948 "asn1p_y.y" + case 253: +#line 1968 "asn1p_y.y" { yyval.a_pres = ACPRES_PRESENT; } break; - case 251: -#line 1951 "asn1p_y.y" + case 254: +#line 1971 "asn1p_y.y" { yyval.a_pres = ACPRES_ABSENT; } break; - case 252: -#line 1954 "asn1p_y.y" + case 255: +#line 1974 "asn1p_y.y" { yyval.a_pres = ACPRES_OPTIONAL; } break; - case 256: -#line 1969 "asn1p_y.y" + case 259: +#line 1989 "asn1p_y.y" { asn1p_lexer_hack_push_opaque_state(); } break; - case 257: -#line 1969 "asn1p_y.y" + case 260: +#line 1989 "asn1p_y.y" { yyval.a_constr = asn1p_constraint_new(yylineno); checkmem(yyval.a_constr); @@ -3949,8 +3990,8 @@ yyreduce: } break; - case 258: -#line 1980 "asn1p_y.y" + case 261: +#line 2000 "asn1p_y.y" { yyval.a_constr = asn1p_constraint_new(yylineno); yyval.a_constr->type = ACT_CT_CTNG; @@ -3958,42 +3999,42 @@ yyreduce: } break; - case 259: -#line 1988 "asn1p_y.y" + case 262: +#line 2008 "asn1p_y.y" { yyval.a_ctype = ACT_EL_RANGE; } break; - case 260: -#line 1989 "asn1p_y.y" + case 263: +#line 2009 "asn1p_y.y" { yyval.a_ctype = ACT_EL_RLRANGE; } break; - case 261: -#line 1990 "asn1p_y.y" + case 264: +#line 2010 "asn1p_y.y" { yyval.a_ctype = ACT_EL_LLRANGE; } break; - case 262: -#line 1991 "asn1p_y.y" + case 265: +#line 2011 "asn1p_y.y" { yyval.a_ctype = ACT_EL_ULRANGE; } break; - case 263: -#line 1994 "asn1p_y.y" + case 266: +#line 2014 "asn1p_y.y" { yyval.a_constr = yyvsp[0].a_constr; } break; - case 264: -#line 1997 "asn1p_y.y" + case 267: +#line 2017 "asn1p_y.y" { yyval.a_constr = yyvsp[0].a_constr; } break; - case 265: -#line 2006 "asn1p_y.y" + case 268: +#line 2026 "asn1p_y.y" { asn1p_ref_t *ref = asn1p_ref_new(yylineno); asn1p_constraint_t *ct; @@ -4008,15 +4049,15 @@ yyreduce: } break; - case 266: -#line 2021 "asn1p_y.y" + case 269: +#line 2041 "asn1p_y.y" { CONSTRAINT_INSERT(yyval.a_constr, ACT_CA_CRC, yyvsp[-3].a_constr, yyvsp[-1].a_constr); } break; - case 267: -#line 2027 "asn1p_y.y" + case 270: +#line 2047 "asn1p_y.y" { yyval.a_constr = asn1p_constraint_new(yylineno); checkmem(yyval.a_constr); @@ -4025,8 +4066,8 @@ yyreduce: } break; - case 268: -#line 2033 "asn1p_y.y" + case 271: +#line 2053 "asn1p_y.y" { asn1p_constraint_t *ct; ct = asn1p_constraint_new(yylineno); @@ -4037,8 +4078,8 @@ yyreduce: } break; - case 269: -#line 2047 "asn1p_y.y" + case 272: +#line 2067 "asn1p_y.y" { char *p = malloc(strlen(yyvsp[0].tv_str) + 2); int ret; @@ -4052,8 +4093,8 @@ yyreduce: } break; - case 270: -#line 2058 "asn1p_y.y" + case 273: +#line 2078 "asn1p_y.y" { char *p = malloc(strlen(yyvsp[0].tv_str) + 3); int ret; @@ -4068,15 +4109,15 @@ yyreduce: } break; - case 271: -#line 2074 "asn1p_y.y" + case 274: +#line 2094 "asn1p_y.y" { yyval.tv_str = yyvsp[0].tv_str; } break; - case 272: -#line 2077 "asn1p_y.y" + case 275: +#line 2097 "asn1p_y.y" { int l1 = strlen(yyvsp[-2].tv_str); int l3 = strlen(yyvsp[0].tv_str); @@ -4088,52 +4129,52 @@ yyreduce: } break; - case 273: -#line 2095 "asn1p_y.y" + case 276: +#line 2115 "asn1p_y.y" { yyval.a_marker.flags = EM_NOMARK; yyval.a_marker.default_value = 0; } break; - case 274: -#line 2099 "asn1p_y.y" + case 277: +#line 2119 "asn1p_y.y" { yyval.a_marker = yyvsp[0].a_marker; } break; - case 275: -#line 2103 "asn1p_y.y" + case 278: +#line 2123 "asn1p_y.y" { yyval.a_marker.flags = EM_OPTIONAL | EM_INDIRECT; yyval.a_marker.default_value = 0; } break; - case 276: -#line 2107 "asn1p_y.y" + case 279: +#line 2127 "asn1p_y.y" { yyval.a_marker.flags = EM_DEFAULT; yyval.a_marker.default_value = yyvsp[0].a_value; } break; - case 277: -#line 2130 "asn1p_y.y" + case 280: +#line 2150 "asn1p_y.y" { yyval.a_expr = NEW_EXPR(); checkmem(yyval.a_expr); } break; - case 278: -#line 2134 "asn1p_y.y" + case 281: +#line 2154 "asn1p_y.y" { yyval.a_expr = yyvsp[-1].a_expr; } break; - case 279: -#line 2140 "asn1p_y.y" + case 282: +#line 2160 "asn1p_y.y" { yyval.a_expr = NEW_EXPR(); checkmem(yyval.a_expr); @@ -4141,16 +4182,16 @@ yyreduce: } break; - case 280: -#line 2145 "asn1p_y.y" + case 283: +#line 2165 "asn1p_y.y" { yyval.a_expr = yyvsp[-2].a_expr; asn1p_expr_add(yyval.a_expr, yyvsp[0].a_expr); } break; - case 281: -#line 2152 "asn1p_y.y" + case 284: +#line 2172 "asn1p_y.y" { yyval.a_expr = NEW_EXPR(); checkmem(yyval.a_expr); @@ -4160,8 +4201,8 @@ yyreduce: } break; - case 282: -#line 2159 "asn1p_y.y" + case 285: +#line 2179 "asn1p_y.y" { yyval.a_expr = NEW_EXPR(); checkmem(yyval.a_expr); @@ -4172,8 +4213,8 @@ yyreduce: } break; - case 283: -#line 2167 "asn1p_y.y" + case 286: +#line 2187 "asn1p_y.y" { yyval.a_expr = NEW_EXPR(); checkmem(yyval.a_expr); @@ -4184,8 +4225,8 @@ yyreduce: } break; - case 284: -#line 2175 "asn1p_y.y" + case 287: +#line 2195 "asn1p_y.y" { yyval.a_expr = NEW_EXPR(); checkmem(yyval.a_expr); @@ -4195,8 +4236,8 @@ yyreduce: } break; - case 285: -#line 2182 "asn1p_y.y" + case 288: +#line 2202 "asn1p_y.y" { yyval.a_expr = NEW_EXPR(); checkmem(yyval.a_expr); @@ -4207,129 +4248,129 @@ yyreduce: } break; - case 286: -#line 2193 "asn1p_y.y" + case 289: +#line 2213 "asn1p_y.y" { yyval.a_value = asn1p_value_fromint(yyvsp[0].a_int); checkmem(yyval.a_value); } break; - case 287: -#line 2197 "asn1p_y.y" + case 290: +#line 2217 "asn1p_y.y" { yyval.a_value = asn1p_value_fromint(yyvsp[0].a_int); checkmem(yyval.a_value); } break; - case 289: -#line 2205 "asn1p_y.y" + case 292: +#line 2225 "asn1p_y.y" { yyval.a_value = asn1p_value_fromdouble(yyvsp[0].a_dbl); checkmem(yyval.a_value); } break; - case 290: -#line 2236 "asn1p_y.y" + case 293: +#line 2256 "asn1p_y.y" { memset(&yyval.a_tag, 0, sizeof(yyval.a_tag)); } break; - case 291: -#line 2237 "asn1p_y.y" + case 294: +#line 2257 "asn1p_y.y" { yyval.a_tag = yyvsp[0].a_tag; } break; - case 292: -#line 2241 "asn1p_y.y" + case 295: +#line 2261 "asn1p_y.y" { yyval.a_tag = yyvsp[-1].a_tag; yyval.a_tag.tag_mode = yyvsp[0].a_tag.tag_mode; } break; - case 293: -#line 2248 "asn1p_y.y" + case 296: +#line 2268 "asn1p_y.y" { yyval.a_tag = yyvsp[-2].a_tag; yyval.a_tag.tag_value = yyvsp[-1].a_int; } break; - case 294: -#line 2254 "asn1p_y.y" + case 297: +#line 2274 "asn1p_y.y" { yyval.a_tag.tag_class = TC_CONTEXT_SPECIFIC; } break; - case 295: -#line 2255 "asn1p_y.y" + case 298: +#line 2275 "asn1p_y.y" { yyval.a_tag.tag_class = TC_UNIVERSAL; } break; - case 296: -#line 2256 "asn1p_y.y" + case 299: +#line 2276 "asn1p_y.y" { yyval.a_tag.tag_class = TC_APPLICATION; } break; - case 297: -#line 2257 "asn1p_y.y" + case 300: +#line 2277 "asn1p_y.y" { yyval.a_tag.tag_class = TC_PRIVATE; } break; - case 298: -#line 2261 "asn1p_y.y" + case 301: +#line 2281 "asn1p_y.y" { yyval.a_tag.tag_mode = TM_DEFAULT; } break; - case 299: -#line 2262 "asn1p_y.y" + case 302: +#line 2282 "asn1p_y.y" { yyval.a_tag.tag_mode = TM_IMPLICIT; } break; - case 300: -#line 2263 "asn1p_y.y" + case 303: +#line 2283 "asn1p_y.y" { yyval.a_tag.tag_mode = TM_EXPLICIT; } break; - case 301: -#line 2267 "asn1p_y.y" + case 304: +#line 2287 "asn1p_y.y" { checkmem(yyvsp[0].tv_str); yyval.tv_str = yyvsp[0].tv_str; } break; - case 302: -#line 2271 "asn1p_y.y" + case 305: +#line 2291 "asn1p_y.y" { checkmem(yyvsp[0].tv_str); yyval.tv_str = yyvsp[0].tv_str; } break; - case 303: -#line 2279 "asn1p_y.y" + case 306: +#line 2299 "asn1p_y.y" { checkmem(yyvsp[0].tv_str); yyval.tv_str = yyvsp[0].tv_str; } break; - case 304: -#line 2286 "asn1p_y.y" + case 307: +#line 2306 "asn1p_y.y" { yyval.tv_str = 0; } break; - case 305: -#line 2287 "asn1p_y.y" + case 308: +#line 2307 "asn1p_y.y" { yyval.tv_str = yyvsp[0].tv_str; } break; - case 306: -#line 2293 "asn1p_y.y" + case 309: +#line 2313 "asn1p_y.y" { checkmem(yyvsp[0].tv_str); yyval.tv_str = yyvsp[0].tv_str; @@ -4340,7 +4381,7 @@ yyreduce: } /* Line 1016 of /usr/local/share/bison/yacc.c. */ -#line 4344 "asn1p_y.c" +#line 4385 "asn1p_y.c" yyvsp -= yylen; yyssp -= yylen; @@ -4559,7 +4600,7 @@ yyreturn: } -#line 2299 "asn1p_y.y" +#line 2319 "asn1p_y.y" |