aboutsummaryrefslogtreecommitdiffstats
path: root/libasn1parser
diff options
context:
space:
mode:
authorLev Walkin <vlm@lionet.info>2006-09-21 01:50:37 +0000
committerLev Walkin <vlm@lionet.info>2006-09-21 01:50:37 +0000
commitf17271562040b0535e8827b09985874dc0450382 (patch)
tree3ab91b814e54b9c75fc35c7f7e733b6e600f8ac6 /libasn1parser
parent729eb86bb0e169f4e0cf7715ef5242aea69e8c42 (diff)
precedence based parsing of constraints
Diffstat (limited to 'libasn1parser')
-rw-r--r--libasn1parser/asn1p_y.c1615
-rw-r--r--libasn1parser/asn1p_y.y33
2 files changed, 829 insertions, 819 deletions
diff --git a/libasn1parser/asn1p_y.c b/libasn1parser/asn1p_y.c
index 95195962..11233678 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 834
+#define YYLAST 840
/* YYNTOKENS -- Number of terminals. */
#define YYNTOKENS 121
/* YYNNTS -- Number of nonterminals. */
-#define YYNNTS 117
+#define YYNNTS 119
/* YYNRULES -- Number of rules. */
-#define YYNRULES 302
+#define YYNRULES 304
/* YYNRULES -- Number of states. */
-#define YYNSTATES 462
+#define YYNSTATES 464
/* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX. */
#define YYUNDEFTOK 2
@@ -608,26 +608,26 @@ static const unsigned short yyprhs[] =
499, 501, 504, 507, 509, 511, 514, 517, 519, 521,
523, 525, 527, 530, 532, 535, 537, 539, 541, 543,
545, 547, 549, 551, 553, 555, 557, 559, 561, 563,
- 565, 567, 569, 571, 573, 574, 576, 578, 582, 584,
- 589, 593, 598, 600, 602, 606, 612, 614, 618, 622,
- 626, 630, 635, 639, 641, 643, 647, 651, 655, 659,
- 661, 663, 665, 667, 669, 671, 673, 675, 677, 681,
- 687, 689, 693, 695, 699, 700, 702, 704, 706, 708,
- 710, 712, 714, 715, 721, 724, 726, 729, 732, 736,
- 738, 740, 744, 749, 751, 755, 758, 762, 764, 768,
- 769, 771, 773, 776, 779, 783, 785, 789, 791, 796,
- 801, 803, 805, 807, 809, 811, 813, 814, 816, 819,
- 824, 825, 827, 829, 831, 832, 834, 836, 838, 840,
- 842, 843, 845
+ 565, 567, 569, 571, 572, 574, 576, 580, 582, 587,
+ 591, 596, 598, 600, 604, 610, 612, 616, 618, 622,
+ 624, 628, 630, 634, 639, 643, 645, 647, 651, 655,
+ 659, 663, 665, 667, 669, 671, 673, 675, 677, 679,
+ 681, 685, 691, 693, 697, 699, 703, 704, 706, 708,
+ 710, 712, 714, 716, 718, 719, 725, 728, 730, 733,
+ 736, 740, 742, 744, 748, 753, 755, 759, 762, 766,
+ 768, 772, 773, 775, 777, 780, 783, 787, 789, 793,
+ 795, 800, 805, 807, 809, 811, 813, 815, 817, 818,
+ 820, 823, 828, 829, 831, 833, 835, 836, 838, 840,
+ 842, 844, 846, 847, 849
};
/* YYRHS -- A `-1'-separated list of the rules' RHS. */
static const short yyrhs[] =
{
122, 0, -1, 123, -1, 124, -1, 123, 124, -1,
- -1, 234, 125, 126, 39, 130, 3, 26, 133, 44,
+ -1, 236, 125, 126, 39, 130, 3, 26, 133, 44,
-1, -1, 127, -1, 108, 128, 109, -1, 108, 109,
- -1, 129, -1, 128, 129, -1, 237, -1, 237, 110,
+ -1, 129, -1, 128, 129, -1, 239, -1, 239, 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,116 +635,117 @@ static const short yyrhs[] =
152, -1, 182, -1, 150, -1, -1, 43, 16, 137,
-1, 192, -1, -1, 139, -1, 59, 140, 112, -1,
59, 51, -1, 142, -1, 140, 142, -1, -1, 127,
- -1, 143, 51, 234, 141, -1, 144, -1, 143, 113,
- 144, -1, 234, -1, 234, 108, 109, -1, 237, -1,
+ -1, 143, 51, 236, 141, -1, 144, -1, 143, 113,
+ 144, -1, 236, -1, 236, 108, 109, -1, 239, -1,
-1, 146, -1, 47, 147, 112, -1, 47, 22, 112,
-1, 47, 112, -1, 148, -1, 147, 113, 148, -1,
- 234, -1, 234, 108, 109, -1, 237, -1, 108, 200,
- 109, -1, 234, 151, 3, 149, -1, 191, -1, 176,
- -1, 176, 108, 155, 109, -1, 234, 3, 172, -1,
- 234, 3, 162, -1, 234, 108, 153, 109, 3, 172,
- -1, 234, 108, 153, 109, 3, 162, -1, 154, -1,
- 153, 113, 154, -1, 234, -1, 234, 114, 237, -1,
- 234, 114, 234, -1, 189, 114, 237, -1, 189, 114,
- 234, -1, 156, -1, 155, 113, 156, -1, 172, -1,
- 185, -1, 237, -1, 149, -1, -1, 158, -1, 159,
- -1, 158, 113, 159, -1, 237, 172, 222, -1, 172,
- 222, -1, 35, 73, 172, -1, 171, -1, 161, -1,
- 160, 113, 161, -1, 237, 172, -1, 171, -1, 172,
+ 236, -1, 236, 108, 109, -1, 239, -1, 108, 199,
+ 109, -1, 236, 151, 3, 149, -1, 191, -1, 176,
+ -1, 176, 108, 155, 109, -1, 236, 3, 172, -1,
+ 236, 3, 162, -1, 236, 108, 153, 109, 3, 172,
+ -1, 236, 108, 153, 109, 3, 162, -1, 154, -1,
+ 153, 113, 154, -1, 236, -1, 236, 114, 239, -1,
+ 236, 114, 236, -1, 189, 114, 239, -1, 189, 114,
+ 236, -1, 156, -1, 155, 113, 156, -1, 172, -1,
+ 185, -1, 239, -1, 149, -1, -1, 158, -1, 159,
+ -1, 158, 113, 159, -1, 239, 172, 224, -1, 172,
+ 224, -1, 35, 73, 172, -1, 171, -1, 161, -1,
+ 160, 113, 161, -1, 239, 172, -1, 171, -1, 172,
-1, 33, 108, 164, 109, 166, -1, -1, 93, -1,
- 165, -1, 164, 113, 165, -1, 17, 222, -1, 18,
- 172, 163, 222, -1, 18, 180, 222, -1, 18, 181,
- 222, -1, 17, 180, 222, -1, 17, 172, 222, -1,
- 17, 181, 222, -1, -1, 167, -1, -1, 100, 87,
+ 165, -1, 164, 113, 165, -1, 17, 224, -1, 18,
+ 172, 163, 224, -1, 18, 180, 224, -1, 18, 181,
+ 224, -1, 17, 180, 224, -1, 17, 172, 224, -1,
+ 17, 181, 224, -1, -1, 167, -1, -1, 100, 87,
108, 168, 169, 109, -1, 170, -1, 169, 170, -1,
4, -1, 19, -1, 179, -1, 115, 169, 116, -1,
- 107, -1, 107, 117, 186, -1, 107, 117, 227, -1,
- 229, 174, 196, -1, -1, 173, 175, -1, 151, -1,
+ 107, -1, 107, 117, 186, -1, 107, 117, 229, -1,
+ 231, 174, 195, -1, -1, 173, 175, -1, 151, -1,
32, 108, 160, 109, -1, 83, 108, 157, 109, -1,
- 84, 108, 157, 109, -1, 83, 196, 73, 236, 229,
- 174, -1, 84, 196, 73, 236, 229, 174, -1, 23,
- -1, 23, 40, 30, 237, -1, 61, 73, 176, -1,
- 15, -1, 15, 118, 234, -1, 235, 118, 234, -1,
- 15, 118, 237, -1, 235, -1, 235, 118, 177, -1,
+ 84, 108, 157, 109, -1, 83, 195, 73, 238, 231,
+ 174, -1, 84, 195, 73, 238, 231, 174, -1, 23,
+ -1, 23, 40, 30, 239, -1, 61, 73, 176, -1,
+ 15, -1, 15, 118, 236, -1, 237, 118, 236, -1,
+ 15, 118, 239, -1, 237, -1, 237, 118, 177, -1,
178, -1, 177, 118, 178, -1, 179, -1, 17, -1,
18, -1, 17, -1, 180, 118, 17, -1, 180, 118,
- 18, -1, 16, -1, 237, 151, 3, 183, -1, 185,
- -1, 186, -1, 237, 114, 183, -1, -1, 108, 184,
+ 18, -1, 16, -1, 239, 151, 3, 183, -1, 185,
+ -1, 186, -1, 239, 114, 183, -1, -1, 108, 184,
188, -1, 68, -1, 50, -1, 91, -1, 6, -1,
- 8, -1, 187, -1, 227, -1, 237, -1, 234, 118,
- 237, -1, 7, -1, 13, -1, 14, -1, 5, -1,
+ 8, -1, 187, -1, 229, -1, 239, -1, 236, 118,
+ 239, -1, 7, -1, 13, -1, 14, -1, 5, -1,
188, 5, -1, 29, -1, 68, -1, 81, -1, 190,
-1, 72, 86, -1, 70, 56, -1, 82, -1, 49,
-1, 41, 76, -1, 31, 86, -1, 96, -1, 52,
-1, 192, -1, 63, -1, 45, -1, 27, 86, -1,
- 189, -1, 190, 224, -1, 28, -1, 53, -1, 54,
+ 189, -1, 190, 226, -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, 101, -1, -1, 197, -1, 198, -1, 110, 211,
- 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, 202, -1, 201, 193,
- 202, -1, 201, 194, 202, -1, 202, 195, 202, -1,
- 203, 110, 200, 111, -1, 110, 200, 111, -1, 204,
- -1, 205, -1, 204, 215, 204, -1, 66, 215, 204,
- -1, 204, 215, 65, -1, 66, 215, 65, -1, 206,
- -1, 85, -1, 51, -1, 50, -1, 91, -1, 228,
- -1, 187, -1, 237, -1, 234, -1, 100, 34, 199,
- -1, 100, 35, 108, 207, 109, -1, 208, -1, 207,
- 113, 208, -1, 107, -1, 237, 196, 209, -1, -1,
- 210, -1, 78, -1, 20, -1, 74, -1, 212, -1,
- 216, -1, 214, -1, -1, 36, 30, 108, 213, 188,
- -1, 37, 172, -1, 106, -1, 106, 119, -1, 119,
- 106, -1, 119, 106, 119, -1, 217, -1, 218, -1,
- 108, 234, 109, -1, 217, 108, 219, 109, -1, 220,
- -1, 219, 113, 220, -1, 120, 221, -1, 120, 118,
- 221, -1, 237, -1, 221, 118, 237, -1, -1, 223,
- -1, 74, -1, 38, 183, -1, 108, 109, -1, 108,
- 225, 109, -1, 226, -1, 225, 113, 226, -1, 237,
- -1, 237, 110, 227, 111, -1, 237, 110, 186, 111,
- -1, 227, -1, 107, -1, 10, -1, 11, -1, 227,
- -1, 12, -1, -1, 230, -1, 231, 233, -1, 115,
- 232, 10, 116, -1, -1, 94, -1, 24, -1, 80,
- -1, -1, 57, -1, 46, -1, 15, -1, 16, -1,
- 16, -1, -1, 237, -1, 9, -1
+ -1, -1, 196, -1, 197, -1, 110, 213, 111, -1,
+ 198, -1, 85, 110, 199, 111, -1, 110, 199, 111,
+ -1, 198, 110, 199, 111, -1, 107, -1, 200, -1,
+ 200, 113, 107, -1, 200, 113, 107, 113, 200, -1,
+ 201, -1, 22, 101, 204, -1, 202, -1, 201, 193,
+ 202, -1, 203, -1, 202, 194, 203, -1, 204, -1,
+ 204, 101, 204, -1, 205, 110, 199, 111, -1, 110,
+ 199, 111, -1, 206, -1, 207, -1, 206, 217, 206,
+ -1, 66, 217, 206, -1, 206, 217, 65, -1, 66,
+ 217, 65, -1, 208, -1, 85, -1, 51, -1, 50,
+ -1, 91, -1, 230, -1, 187, -1, 239, -1, 236,
+ -1, 100, 34, 198, -1, 100, 35, 108, 209, 109,
+ -1, 210, -1, 209, 113, 210, -1, 107, -1, 239,
+ 195, 211, -1, -1, 212, -1, 78, -1, 20, -1,
+ 74, -1, 214, -1, 218, -1, 216, -1, -1, 36,
+ 30, 108, 215, 188, -1, 37, 172, -1, 106, -1,
+ 106, 119, -1, 119, 106, -1, 119, 106, 119, -1,
+ 219, -1, 220, -1, 108, 236, 109, -1, 219, 108,
+ 221, 109, -1, 222, -1, 221, 113, 222, -1, 120,
+ 223, -1, 120, 118, 223, -1, 239, -1, 223, 118,
+ 239, -1, -1, 225, -1, 74, -1, 38, 183, -1,
+ 108, 109, -1, 108, 227, 109, -1, 228, -1, 227,
+ 113, 228, -1, 239, -1, 239, 110, 229, 111, -1,
+ 239, 110, 186, 111, -1, 229, -1, 107, -1, 10,
+ -1, 11, -1, 229, -1, 12, -1, -1, 232, -1,
+ 233, 235, -1, 115, 234, 10, 116, -1, -1, 94,
+ -1, 24, -1, 80, -1, -1, 57, -1, 46, -1,
+ 15, -1, 16, -1, 16, -1, -1, 239, -1, 9,
+ -1
};
/* YYRLINE[YYN] -- source line where rule number YYN was defined. */
static const unsigned short yyrline[] =
{
- 0, 349, 349, 355, 361, 378, 377, 406, 408, 411,
- 415, 420, 427, 435, 440, 444, 453, 455, 463, 467,
- 475, 479, 482, 485, 489, 509, 511, 519, 528, 532,
- 547, 555, 568, 576, 575, 589, 601, 603, 605, 616,
- 621, 627, 633, 635, 638, 649, 655, 661, 668, 674,
- 683, 685, 696, 700, 703, 710, 716, 722, 729, 735,
- 744, 746, 756, 770, 780, 796, 806, 822, 828, 835,
- 845, 855, 860, 867, 874, 882, 892, 898, 904, 908,
- 916, 927, 949, 951, 953, 959, 965, 973, 979, 986,
- 991, 997, 1003, 1009, 1012, 1018, 1028, 1030, 1033, 1041,
- 1048, 1061, 1072, 1082, 1093, 1103, 1114, 1125, 1127, 1134,
- 1132, 1141, 1146, 1152, 1157, 1160, 1164, 1169, 1178, 1187,
- 1198, 1220, 1227, 1246, 1250, 1256, 1262, 1268, 1278, 1288,
- 1294, 1305, 1319, 1328, 1338, 1348, 1358, 1366, 1387, 1396,
- 1405, 1407, 1414, 1421, 1427, 1431, 1437, 1457, 1467, 1469,
- 1470, 1477, 1477, 1482, 1489, 1495, 1500, 1504, 1508, 1511,
- 1516, 1528, 1545, 1550, 1555, 1588, 1598, 1612, 1614, 1615,
- 1616, 1617, 1618, 1619, 1620, 1621, 1622, 1623, 1624, 1625,
- 1631, 1633, 1634, 1637, 1644, 1656, 1658, 1662, 1666, 1667,
- 1668, 1669, 1670, 1674, 1675, 1676, 1677, 1681, 1682, 1689,
- 1689, 1690, 1690, 1691, 1693, 1695, 1700, 1702, 1707, 1711,
- 1720, 1724, 1729, 1734, 1737, 1743, 1753, 1757, 1760, 1763,
- 1766, 1771, 1780, 1788, 1794, 1800, 1807, 1815, 1823, 1832,
- 1837, 1841, 1846, 1852, 1857, 1858, 1859, 1872, 1886, 1890,
- 1895, 1899, 1904, 1911, 1924, 1926, 1929, 1933, 1936, 1943,
- 1945, 1946, 1951, 1949, 1961, 1969, 1971, 1972, 1973, 1975,
- 1979, 1987, 2002, 2008, 2015, 2028, 2040, 2055, 2059, 2076,
- 2081, 2084, 2089, 2111, 2116, 2121, 2127, 2133, 2141, 2149,
- 2157, 2164, 2174, 2179, 2185, 2187, 2217, 2219, 2222, 2229,
- 2235, 2237, 2238, 2239, 2242, 2244, 2245, 2248, 2253, 2260,
- 2267, 2269, 2274
+ 0, 352, 352, 358, 364, 381, 380, 409, 411, 414,
+ 418, 423, 430, 438, 443, 447, 456, 458, 466, 470,
+ 478, 482, 485, 488, 492, 512, 514, 522, 531, 535,
+ 550, 558, 571, 579, 578, 592, 604, 606, 608, 619,
+ 624, 630, 636, 638, 641, 652, 658, 664, 671, 677,
+ 686, 688, 699, 703, 706, 713, 719, 725, 732, 738,
+ 747, 749, 759, 773, 783, 799, 809, 825, 831, 838,
+ 848, 858, 863, 870, 877, 885, 895, 901, 907, 911,
+ 919, 930, 952, 954, 956, 962, 968, 976, 982, 989,
+ 994, 1000, 1006, 1012, 1015, 1021, 1031, 1033, 1036, 1044,
+ 1051, 1064, 1075, 1085, 1096, 1106, 1117, 1128, 1130, 1137,
+ 1135, 1144, 1149, 1155, 1160, 1163, 1167, 1172, 1181, 1190,
+ 1201, 1223, 1230, 1249, 1253, 1259, 1265, 1271, 1281, 1291,
+ 1297, 1308, 1322, 1331, 1341, 1351, 1361, 1369, 1390, 1399,
+ 1408, 1410, 1417, 1424, 1430, 1434, 1440, 1460, 1470, 1472,
+ 1473, 1480, 1480, 1485, 1492, 1498, 1503, 1507, 1511, 1514,
+ 1519, 1531, 1548, 1553, 1558, 1591, 1601, 1615, 1617, 1618,
+ 1619, 1620, 1621, 1622, 1623, 1624, 1625, 1626, 1627, 1628,
+ 1634, 1636, 1637, 1640, 1647, 1659, 1661, 1665, 1669, 1670,
+ 1671, 1672, 1673, 1677, 1678, 1679, 1680, 1684, 1685, 1692,
+ 1692, 1693, 1693, 1695, 1697, 1702, 1704, 1709, 1713, 1722,
+ 1726, 1731, 1736, 1739, 1745, 1755, 1757, 1762, 1764, 1769,
+ 1771, 1777, 1779, 1784, 1793, 1801, 1807, 1813, 1820, 1828,
+ 1836, 1845, 1850, 1854, 1859, 1865, 1870, 1871, 1872, 1885,
+ 1899, 1903, 1908, 1912, 1917, 1924, 1937, 1939, 1942, 1946,
+ 1949, 1956, 1958, 1959, 1964, 1962, 1974, 1982, 1984, 1985,
+ 1986, 1988, 1992, 2000, 2015, 2021, 2028, 2041, 2053, 2068,
+ 2072, 2089, 2094, 2097, 2102, 2124, 2129, 2134, 2140, 2146,
+ 2154, 2162, 2170, 2177, 2187, 2192, 2198, 2200, 2230, 2232,
+ 2235, 2242, 2248, 2250, 2251, 2252, 2255, 2257, 2258, 2261,
+ 2266, 2273, 2280, 2282, 2287
};
#endif
@@ -802,13 +803,14 @@ static const char *const yytname[] =
"ValueDefinition", "Value", "@4", "SimpleValue", "DefinedValue",
"RestrictedCharacterStringValue", "Opaque", "BasicTypeId",
"BasicTypeId_UniverationCompatible", "BasicType", "BasicString",
- "Union", "Intersection", "Except", "optConstraints", "Constraint",
+ "UnionMark", "IntersectionMark", "optConstraints", "Constraint",
"SubtypeConstraint", "SetOfConstraints", "ElementSetSpecs",
- "ElementSetSpec", "ConstraintSubtypeElement", "ConstraintSpec",
- "SingleValue", "ContainedSubtype", "InnerTypeConstraint",
- "WithComponentsList", "WithComponentsElement", "optPresenceConstraint",
- "PresenceConstraint", "GeneralConstraint", "UserDefinedConstraint",
- "@5", "ContentsConstraint", "ConstraintRangeSpec", "TableConstraint",
+ "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",
@@ -862,17 +864,17 @@ static const unsigned char yyr1[] =
189, 189, 189, 189, 189, 189, 189, 189, 189, 189,
190, 190, 190, 191, 191, 192, 192, 192, 192, 192,
192, 192, 192, 192, 192, 192, 192, 192, 192, 193,
- 193, 194, 194, 195, 196, 196, 197, 197, 198, 198,
- 199, 199, 200, 200, 200, 200, 201, 201, 201, 201,
- 201, 202, 202, 202, 202, 202, 202, 202, 202, 202,
- 203, 203, 204, 204, 204, 204, 204, 205, 206, 206,
- 207, 207, 208, 208, 209, 209, 210, 210, 210, 211,
- 211, 211, 213, 212, 214, 215, 215, 215, 215, 216,
- 216, 217, 218, 219, 219, 220, 220, 221, 221, 222,
- 222, 223, 223, 224, 224, 225, 225, 226, 226, 226,
- 226, 226, 227, 227, 228, 228, 229, 229, 230, 231,
- 232, 232, 232, 232, 233, 233, 233, 234, 234, 235,
- 236, 236, 237
+ 193, 194, 194, 195, 195, 196, 196, 197, 197, 198,
+ 198, 199, 199, 199, 199, 200, 200, 201, 201, 202,
+ 202, 203, 203, 204, 204, 204, 204, 204, 204, 204,
+ 204, 204, 205, 205, 206, 206, 206, 206, 206, 207,
+ 208, 208, 209, 209, 210, 210, 211, 211, 212, 212,
+ 212, 213, 213, 213, 215, 214, 216, 217, 217, 217,
+ 217, 218, 218, 219, 220, 221, 221, 222, 222, 223,
+ 223, 224, 224, 225, 225, 226, 226, 227, 227, 228,
+ 228, 228, 228, 228, 229, 229, 230, 230, 231, 231,
+ 232, 233, 234, 234, 234, 234, 235, 235, 235, 236,
+ 236, 237, 238, 238, 239
};
/* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN. */
@@ -898,17 +900,17 @@ static const unsigned char yyr2[] =
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, 1, 0, 1, 1, 3, 1, 4,
- 3, 4, 1, 1, 3, 5, 1, 3, 3, 3,
- 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
+ 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
};
/* YYDEFACT[STATE-NAME] -- Default rule to reduce with in state
@@ -916,8 +918,8 @@ static const unsigned char yyr2[] =
means the default is an error. */
static const unsigned short yydefact[] =
{
- 0, 297, 298, 0, 2, 3, 5, 1, 4, 7,
- 0, 0, 8, 302, 15, 10, 0, 11, 13, 16,
+ 0, 299, 300, 0, 2, 3, 5, 1, 4, 7,
+ 0, 0, 8, 304, 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,
50, 0, 0, 26, 36, 51, 0, 54, 0, 55,
@@ -925,44 +927,44 @@ static const unsigned short yydefact[] =
39, 0, 40, 0, 45, 47, 49, 185, 0, 186,
187, 188, 189, 190, 198, 191, 192, 193, 194, 195,
196, 197, 27, 28, 32, 30, 31, 35, 0, 0,
- 56, 58, 38, 41, 0, 0, 0, 33, 29, 286,
- 132, 299, 0, 167, 0, 0, 181, 174, 178, 180,
+ 56, 58, 38, 41, 0, 0, 0, 33, 29, 288,
+ 132, 301, 0, 167, 0, 0, 181, 174, 178, 180,
168, 0, 0, 169, 173, 177, 0, 0, 63, 183,
170, 62, 179, 136, 0, 42, 46, 48, 34, 0,
- 290, 66, 65, 121, 287, 294, 0, 182, 176, 175,
- 172, 171, 0, 69, 0, 170, 71, 0, 286, 0,
- 184, 0, 0, 43, 44, 0, 292, 293, 291, 0,
- 0, 204, 296, 295, 288, 133, 135, 0, 0, 0,
- 0, 0, 61, 156, 162, 157, 282, 283, 163, 164,
+ 292, 66, 65, 121, 289, 296, 0, 182, 176, 175,
+ 172, 171, 0, 69, 0, 170, 71, 0, 288, 0,
+ 184, 0, 0, 43, 44, 0, 294, 295, 293, 0,
+ 0, 203, 298, 297, 290, 133, 135, 0, 0, 0,
+ 0, 0, 61, 156, 162, 157, 284, 285, 163, 164,
154, 155, 81, 0, 76, 78, 79, 158, 159, 80,
- 281, 273, 0, 275, 280, 277, 141, 142, 137, 138,
- 140, 134, 153, 151, 147, 148, 149, 0, 160, 286,
- 286, 0, 98, 0, 129, 0, 0, 204, 204, 123,
- 122, 0, 0, 120, 205, 206, 208, 286, 70, 75,
- 74, 73, 72, 285, 0, 232, 231, 0, 230, 233,
- 0, 212, 0, 235, 0, 213, 216, 0, 223, 224,
- 229, 284, 234, 237, 236, 64, 286, 274, 0, 0,
- 0, 0, 0, 0, 146, 143, 0, 271, 269, 269,
- 269, 100, 270, 96, 269, 269, 107, 0, 289, 0,
- 286, 0, 286, 0, 286, 0, 0, 0, 286, 0,
- 0, 0, 249, 251, 250, 259, 260, 0, 68, 67,
- 0, 255, 0, 0, 0, 0, 0, 60, 201, 202,
- 199, 200, 0, 0, 0, 203, 0, 0, 0, 77,
- 276, 0, 0, 160, 139, 165, 152, 161, 150, 272,
- 105, 0, 104, 106, 97, 269, 102, 103, 0, 95,
- 108, 99, 0, 117, 0, 90, 93, 94, 286, 131,
- 0, 0, 83, 84, 89, 269, 286, 300, 0, 300,
- 0, 0, 254, 0, 210, 207, 0, 0, 217, 256,
- 257, 228, 226, 0, 238, 0, 222, 214, 218, 219,
- 220, 0, 227, 225, 279, 278, 166, 144, 145, 101,
- 0, 130, 0, 124, 286, 92, 286, 125, 286, 87,
- 269, 286, 301, 126, 286, 209, 252, 261, 0, 0,
- 263, 211, 258, 242, 0, 240, 204, 0, 221, 109,
- 118, 119, 91, 88, 85, 86, 121, 121, 0, 0,
- 265, 267, 262, 0, 239, 0, 244, 215, 0, 127,
- 128, 253, 266, 0, 264, 241, 247, 248, 246, 243,
- 245, 113, 114, 0, 0, 111, 115, 268, 0, 110,
- 112, 116
+ 283, 275, 0, 277, 282, 279, 141, 142, 137, 138,
+ 140, 134, 153, 151, 147, 148, 149, 0, 160, 288,
+ 288, 0, 98, 0, 129, 0, 0, 203, 203, 123,
+ 122, 0, 0, 120, 204, 205, 207, 288, 70, 75,
+ 74, 73, 72, 287, 0, 234, 233, 0, 232, 235,
+ 0, 211, 0, 237, 0, 212, 215, 217, 219, 221,
+ 0, 225, 226, 231, 286, 236, 239, 238, 64, 288,
+ 276, 0, 0, 0, 0, 0, 0, 146, 143, 0,
+ 273, 271, 271, 271, 100, 272, 96, 271, 271, 107,
+ 0, 291, 0, 288, 0, 288, 0, 288, 0, 0,
+ 0, 288, 0, 0, 0, 251, 253, 252, 261, 262,
+ 0, 68, 67, 0, 257, 0, 0, 0, 0, 0,
+ 60, 0, 199, 200, 0, 201, 202, 0, 0, 0,
+ 0, 77, 278, 0, 0, 160, 139, 165, 152, 161,
+ 150, 274, 105, 0, 104, 106, 97, 271, 102, 103,
+ 0, 95, 108, 99, 0, 117, 0, 90, 93, 94,
+ 288, 131, 0, 0, 83, 84, 89, 271, 288, 302,
+ 0, 302, 0, 0, 256, 0, 209, 206, 0, 0,
+ 216, 258, 259, 230, 228, 0, 240, 0, 224, 213,
+ 218, 220, 222, 0, 229, 227, 281, 280, 166, 144,
+ 145, 101, 0, 130, 0, 124, 288, 92, 288, 125,
+ 288, 87, 271, 288, 303, 126, 288, 208, 254, 263,
+ 0, 0, 265, 210, 260, 244, 0, 242, 203, 0,
+ 223, 109, 118, 119, 91, 88, 85, 86, 121, 121,
+ 0, 0, 267, 269, 264, 0, 241, 0, 246, 214,
+ 0, 127, 128, 255, 268, 0, 266, 243, 249, 250,
+ 248, 245, 247, 113, 114, 0, 0, 111, 115, 270,
+ 0, 110, 112, 116
};
/* YYDEFGOTO[NTERM-NUM]. */
@@ -971,258 +973,252 @@ static const short yydefgoto[] =
-1, 3, 4, 5, 9, 11, 12, 16, 17, 28,
29, 30, 42, 43, 82, 83, 128, 54, 55, 61,
154, 62, 63, 64, 44, 45, 48, 49, 182, 84,
- 117, 85, 142, 143, 183, 184, 351, 352, 353, 344,
- 345, 131, 335, 211, 212, 339, 340, 438, 454, 455,
- 354, 355, 160, 161, 220, 118, 198, 199, 456, 269,
- 270, 86, 204, 261, 205, 206, 243, 326, 119, 120,
- 121, 122, 313, 314, 316, 223, 224, 225, 226, 290,
- 245, 246, 247, 248, 249, 250, 414, 415, 449, 450,
- 291, 292, 428, 293, 303, 294, 295, 296, 409, 410,
- 430, 271, 272, 150, 192, 193, 251, 252, 133, 134,
- 135, 159, 164, 253, 123, 401, 254
+ 117, 85, 142, 143, 183, 184, 353, 354, 355, 346,
+ 347, 131, 337, 211, 212, 341, 342, 440, 456, 457,
+ 356, 357, 160, 161, 220, 118, 198, 199, 458, 272,
+ 273, 86, 204, 264, 205, 206, 243, 328, 119, 120,
+ 121, 122, 314, 317, 223, 224, 225, 226, 293, 245,
+ 246, 247, 248, 249, 250, 251, 252, 253, 416, 417,
+ 451, 452, 294, 295, 430, 296, 306, 297, 298, 299,
+ 411, 412, 432, 274, 275, 150, 192, 193, 254, 255,
+ 133, 134, 135, 159, 164, 256, 123, 403, 257
};
/* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
STATE-NUM. */
-#define YYPACT_NINF -345
+#define YYPACT_NINF -282
static const short yypact[] =
{
- 179, -345, -345, 94, 179, -345, -345, -345, -345, -87,
- 25, 118, -345, -345, -345, -345, 64, -345, 37, 234,
- -345, -345, 106, 123, 107, 113, 164, 165, 260, 234,
- -345, 157, -345, -345, -345, -345, -345, 247, -345, -345,
- 177, 60, 235, -345, 239, -345, 175, -345, -72, -345,
- 198, -345, -345, 147, 506, -345, -345, -345, 246, 199,
- -345, 21, -345, 100, -345, 205, -345, -345, 299, -345,
- -345, -345, -345, -345, -345, -345, -345, -345, -345, -345,
- -345, -345, 506, -345, -345, -345, -345, -345, 273, 659,
- -345, -345, -345, -345, 179, 246, 212, -345, -345, 16,
- 242, -345, 237, -345, 254, 270, -345, -345, -345, -345,
- -345, 306, 278, -345, -345, -345, 735, 376, 272, -345,
- 275, -345, -345, 267, 383, -87, -345, -345, -345, 281,
- 87, -345, -345, -345, -345, 14, 246, -345, -345, -345,
- -345, -345, 36, -345, 276, -345, 277, 284, 91, 77,
- -345, 341, 201, -345, -345, 214, -345, -345, -345, 377,
- 583, 108, -345, -345, -345, -345, -345, 391, 735, 246,
- 246, 435, -345, -345, -345, -345, -345, -345, -345, -345,
- -345, -345, -345, 134, -345, -345, -345, -345, -345, -345,
- -345, -345, 186, -345, -345, 285, -345, -345, 289, -345,
- -345, -345, -345, -345, -345, -345, -345, 290, 282, 162,
- 76, 211, -345, 293, 370, 303, 340, -52, 95, -345,
- -345, 304, 390, -345, -345, -345, 305, 16, -345, -345,
- -345, -345, -345, -345, 315, -345, -345, 114, -345, -345,
- 210, -345, 435, -345, 308, 181, 317, 310, 114, -345,
- -345, -345, -345, -345, -345, -345, 91, -345, 97, 301,
- 279, 416, 413, 201, -345, -345, 201, -345, -13, 74,
- -13, -345, -345, 330, 74, -13, 324, 214, -345, 398,
- 61, 323, 68, 356, 68, 357, 435, 401, 319, 179,
- 321, 325, -345, -345, -345, 327, -345, 435, -345, -345,
- 497, 318, 332, 216, 329, 335, 342, -345, -345, -345,
- -345, -345, 345, 497, 497, -345, 497, 435, 228, -345,
- -345, 343, 344, -345, -345, -345, 453, -345, -345, -345,
- -345, 349, -345, -345, -345, -13, -345, -345, 373, -345,
- -345, -345, 413, 352, 220, -345, -345, -345, 319, -345,
- 397, 362, 359, -345, -345, -13, 319, 413, 364, 413,
- 365, 369, -345, 371, -345, -345, 358, 368, -345, -345,
- 363, -345, -345, 435, 305, 8, -345, 374, -345, -345,
- -345, 372, -345, -345, -345, -345, -345, -345, -345, -345,
- 380, -345, 301, -345, 61, -345, 319, -345, 43, -345,
- -13, 319, -345, -345, 319, -345, -345, -345, -5, 221,
- -345, -345, -345, -345, 222, -345, 108, 452, -345, -345,
- -345, -345, -345, -345, -345, -345, -345, -345, 416, 413,
- 366, -345, -345, 358, -345, 8, 6, 271, 49, -345,
- -345, 453, 366, 413, -345, -345, -345, -345, -345, -345,
- -345, -345, -345, 49, 46, -345, -345, -345, 28, -345,
- -345, -345
+ 193, -282, -282, 28, 193, -282, -282, -282, -282, -47,
+ 13, 45, -282, -282, -282, -282, 37, -282, -16, 168,
+ -282, -282, 138, 93, 83, 140, 165, 147, 223, 168,
+ -282, 155, -282, -282, -282, -282, -282, 245, -282, -282,
+ 64, 84, 225, -282, 222, -282, 176, -282, 132, -282,
+ 196, -282, -282, 167, 512, -282, -282, -282, 249, 202,
+ -282, 11, -282, 65, -282, 212, -282, -282, 314, -282,
+ -282, -282, -282, -282, -282, -282, -282, -282, -282, -282,
+ -282, -282, 512, -282, -282, -282, -282, -282, 344, 665,
+ -282, -282, -282, -282, 193, 249, 234, -282, -282, -8,
+ 215, -282, 262, -282, 264, 278, -282, -282, -282, -282,
+ -282, 299, 270, -282, -282, -282, 741, 354, 250, -282,
+ 255, -282, -282, 246, 362, -47, -282, -282, -282, 258,
+ 25, -282, -282, -282, -282, 128, 249, -282, -282, -282,
+ -282, -282, 134, -282, 254, -282, 256, 261, 60, 70,
+ -282, 279, 224, -282, -282, 243, -282, -282, -282, 364,
+ 589, 82, -282, -282, -282, -282, -282, 373, 741, 249,
+ 249, 444, -282, -282, -282, -282, -282, -282, -282, -282,
+ -282, -282, -282, 159, -282, -282, -282, -282, -282, -282,
+ -282, -282, 177, -282, -282, 268, -282, -282, 263, -282,
+ -282, -282, -282, -282, -282, -282, -282, 265, 266, 174,
+ 73, 203, -282, 272, 339, 274, 318, 109, 112, -282,
+ -282, 282, 191, -282, -282, -282, 284, -8, -282, -282,
+ -282, -282, -282, -282, 300, -282, -282, -61, -282, -282,
+ 294, -282, 444, -282, 293, 291, 231, 235, -282, 304,
+ 301, -61, -282, -282, -282, -282, -282, -282, -282, 60,
+ -282, 92, 269, 322, 401, 400, 224, -282, -282, 224,
+ -282, 50, -21, 50, -282, -282, 317, -21, 50, 319,
+ 243, -282, 387, 66, 326, 47, 345, 47, 347, 444,
+ 392, 309, 193, 320, 325, -282, -282, -282, 321, -282,
+ 444, -282, -282, 472, 311, 331, 296, 323, 330, 333,
+ -282, 338, -282, -282, 472, -282, -282, 472, 472, 444,
+ 312, -282, -282, 335, 336, -282, -282, -282, 423, -282,
+ -282, -282, -282, 327, -282, -282, -282, 50, -282, -282,
+ 361, -282, -282, -282, 400, 332, 204, -282, -282, -282,
+ 309, -282, 377, 352, 349, -282, -282, 50, 309, 400,
+ 355, 400, 365, 367, -282, 368, -282, -282, 343, 378,
+ -282, -282, 359, -282, -282, 444, 284, 23, -282, 379,
+ 235, -282, -282, 380, -282, -282, -282, -282, -282, -282,
+ -282, -282, 382, -282, 269, -282, 66, -282, 309, -282,
+ 51, -282, 50, 309, -282, -282, 309, -282, -282, -282,
+ 31, 205, -282, -282, -282, -282, 218, -282, 82, 458,
+ -282, -282, -282, -282, -282, -282, -282, -282, -282, -282,
+ 401, 400, 375, -282, -282, 343, -282, 23, 137, -282,
+ 46, -282, -282, 423, 375, 400, -282, -282, -282, -282,
+ -282, -282, -282, -282, -282, 46, 20, -282, -282, -282,
+ 17, -282, -282, -282
};
/* YYPGOTO[NTERM-NUM]. */
static const short yypgoto[] =
{
- -345, -345, -345, 485, -345, -345, 367, -345, 475, -345,
- -345, 464, -345, -345, -345, 412, -345, -345, -345, -345,
- -345, 434, -345, 404, -345, -345, -345, 438, 378, -345,
- -79, -345, -345, 337, -345, 258, 232, -345, 119, -345,
- 125, 296, -345, -345, 250, -345, -345, -345, 71, -344,
- -271, -91, -345, -49, -345, 248, -345, 268, -132, 320,
- 322, -345, 85, -345, -135, -252, -136, 103, -89, -78,
- -345, -43, -345, -345, -345, -215, -345, -345, 229, -151,
- 121, -126, -345, -84, -345, -345, -345, 101, -345, -345,
- -345, -345, -345, -345, 291, -345, -345, -345, -345, 111,
- 112, -246, -345, -345, -345, 288, -134, -345, -51, -345,
- -345, -345, -345, 1, -345, 191, -10
+ -282, -282, -282, 492, -282, -282, 372, -282, 482, -282,
+ -282, 470, -282, -282, -282, 418, -282, -282, -282, -282,
+ -282, 440, -282, 407, -282, -282, -282, 445, 357, -282,
+ -48, -282, -282, 337, -282, 247, 220, -282, 111, -282,
+ 116, 286, -282, -282, 236, -282, -282, -282, 59, -210,
+ -281, -96, -282, -76, -282, 233, -282, 252, -136, 308,
+ 310, -282, -80, -282, -118, -258, -119, 89, -59, -24,
+ -282, 22, -282, -282, -208, -282, -282, 219, -155, 106,
+ -282, 216, 214, -138, -282, -229, -282, -282, -282, 95,
+ -282, -282, -282, -282, -282, -282, 283, -282, -282, -282,
+ -282, 98, 105, -259, -282, -282, -282, 276, -141, -282,
+ -182, -282, -282, -282, -282, 1, -282, 178, -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 -270
+#define YYTABLE_NINF -272
static const short yytable[] =
{
- 18, 6, 283, 285, 13, 6, 18, 321, 132, 346,
- 124, 87, 187, 186, 188, 194, 187, 13, 188, 200,
- 244, 10, 330, 332, 333, 266, 446, 144, 336, 337,
- 13, 51, 451, 221, 13, 14, 1, 2, 145, 87,
- 57, 58, 50, 66, 89, 196, 197, 452, 51, 129,
- 451, 66, 13, 451, 65, 88, 282, 185, 222, 50,
- 162, 267, 65, 196, 197, 452, 196, 197, 452, 13,
- 13, 163, 89, 13, 14, 1, 2, 13, 350, 144,
- 447, 219, 46, 88, 448, 66, 13, 176, 177, 389,
- 145, 306, 264, 265, 7, 125, 65, 173, 174, 175,
- 13, 176, 177, 350, 178, 179, 13, 176, 177, 399,
- 460, 156, 266, 429, 460, 413, 31, 146, 268, 273,
- 187, 186, 188, 346, 194, 322, 166, 187, 200, 188,
- 187, 130, 188, 92, 15, 360, 299, 165, 189, 195,
- 420, 180, 208, 453, 461, 167, 367, 22, 267, 168,
- 343, 94, 201, 207, 425, 459, 13, 19, 130, 230,
- 232, 453, 1, 2, 453, 185, 381, 157, 343, 146,
- 229, 231, 47, 20, 368, 343, 130, -82, 264, 265,
- 221, 158, 181, 130, 190, 32, 191, 378, 379, 347,
- 380, 130, 331, 221, 1, 2, 33, 362, 60, 171,
- 266, 436, 34, 284, 190, 222, 130, 173, 174, 175,
- 13, 176, 177, 95, 178, 179, 1, 2, 222, 372,
- 301, -25, 35, 174, 41, 13, 176, 177, 233, 178,
- 179, 209, 210, 302, 383, 174, 267, 13, 176, 177,
- 233, 178, 179, 255, 304, 305, 189, 256, 195, 323,
- 23, 180, 327, 208, 36, 13, 208, 395, 421, 24,
- 207, 1, 2, 37, 207, 400, 235, 207, 39, 202,
- 348, -269, 356, 40, 356, -269, 99, 130, 235, 52,
- 25, 371, 26, 308, 309, 310, 311, 56, 100, 101,
- 363, 27, 181, 382, 312, 257, 196, 197, 53, 258,
- 102, 67, 103, 347, 104, 423, 59, 239, 91, 203,
- 13, 176, 177, 96, 105, 97, 1, 2, 106, 239,
- 276, 127, 107, 137, 277, 108, 69, 70, 71, 393,
- 432, 434, 391, 394, 433, 435, 109, 72, 100, 101,
- 138, 110, 73, 111, 74, 112, 139, 402, 328, 402,
- 426, 329, 75, 427, 113, 114, 1, 2, 196, 197,
- 136, 76, 140, 77, 141, 416, 387, 388, 78, 115,
- 79, 80, 81, 308, 309, 310, 311, 439, 440, 147,
- 148, 116, 323, 149, 348, 151, 152, 213, 356, 155,
- 169, 170, 171, 207, 227, 259, 263, 174, 431, 13,
- 176, 177, 233, 178, 179, 1, 2, 260, 262, 278,
- 279, 280, 234, 281, 286, 297, 300, 307, 315, 431,
- 317, 325, 13, 334, 338, 416, 287, 288, 342, 357,
- 359, 361, 364, 457, 130, 366, 365, 369, 370, 373,
- 235, 236, 174, 375, 13, 176, 177, 233, 178, 179,
- 1, 2, 377, 376, 384, 385, 237, 234, 386, 174,
- 390, 13, 176, 177, 233, 178, 179, 1, 2, 392,
- 396, 397, 398, 403, 234, 238, 405, 406, 408, 411,
- 407, 239, 412, 418, 443, 235, 236, 417, 419, 8,
- 240, 21, 153, 38, 98, 93, 90, 241, 289, 126,
- 242, 237, 235, 236, 174, 228, 13, 176, 177, 233,
- 178, 179, 1, 2, 319, 13, 358, 424, 237, 422,
- 238, 1, 2, 298, 458, 172, 239, 341, 324, 349,
- 274, 441, 275, 374, 67, 240, 445, 238, 437, 318,
- 0, 442, 241, 239, 444, 242, 320, 235, 236, 68,
- 404, 0, 240, 0, 0, 0, 0, 0, 0, 69,
- 70, 71, 242, 237, 0, 0, 0, 0, 0, 0,
- 72, 0, 0, 0, 0, 73, 0, 74, 0, 0,
- 0, 0, 238, 0, 0, 75, 0, 0, 239, 0,
- 0, 0, 0, 0, 76, 0, 77, 240, 100, 101,
- 0, 78, 0, 79, 80, 81, 214, 242, 0, 0,
- 102, 67, 103, 0, 104, 215, 0, 0, 0, 0,
- 0, 0, 0, 0, 105, 0, 0, 0, 106, 0,
- 0, 0, 107, 0, 0, 108, 69, 70, 71, 0,
- 0, 0, 0, 0, 216, 0, 109, 72, 0, 0,
- 0, 110, 73, 111, 74, 112, 0, 0, 0, 0,
- 0, 0, 75, 0, 113, 114, 217, 218, 0, 0,
- 0, 76, 0, 77, 100, 101, 0, 0, 78, 115,
- 79, 80, 81, 0, 0, 0, 102, 67, 103, 0,
- 104, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 18, 6, 348, 132, 323, 6, 18, 188, 194, 286,
+ 288, 188, 332, 334, 335, 200, 244, 269, 338, 339,
+ 13, 453, 13, 14, 453, 129, 1, 2, 7, 187,
+ 186, 51, 13, 187, 196, 197, 454, 196, 197, 454,
+ 13, 124, 50, 66, 89, 304, 13, 14, 51, 156,
+ 453, 66, 185, 270, 65, 88, 13, 144, 305, 50,
+ 13, 10, 65, 196, 197, 454, 173, 174, 175, 13,
+ 176, 177, 89, 178, 179, 13, 87, 374, 391, 13,
+ 176, 177, 352, 88, 19, 66, 352, 309, 269, 267,
+ 268, 385, 145, 13, 22, 125, 65, 333, 401, 1,
+ 2, 13, 176, 177, 87, 157, 46, 130, -25, 144,
+ 180, 41, 219, 271, 276, 348, 94, 146, 188, 158,
+ 194, 324, 15, 92, 270, 188, 166, 200, 188, 461,
+ 415, 302, 455, 463, 362, 455, 422, 165, 189, 195,
+ 187, 186, 208, 427, 145, 369, 20, 187, 31, 431,
+ 187, 181, 201, 207, 345, 32, -82, 448, 345, 230,
+ 232, 455, 130, 185, 383, 370, 130, 221, 171, 146,
+ 229, 231, 33, 345, 162, 130, 13, 190, 95, 191,
+ 382, 130, 1, 2, 23, 163, 330, 349, 130, 331,
+ 267, 268, 222, 24, 221, 364, 47, 221, 174, 190,
+ 13, 176, 177, 233, 178, 179, 1, 2, 1, 2,
+ 438, 449, 269, 234, 25, 450, 26, 285, 60, 222,
+ 287, 428, 222, 35, 429, 27, 37, 290, 291, 34,
+ 173, 174, 175, 13, 176, 177, 36, 178, 179, 1,
+ 2, 235, 236, 167, 57, 58, 462, 168, 270, 189,
+ 462, 195, 325, 423, 397, 329, 208, 237, 13, 208,
+ 209, 210, 402, 207, 1, 2, 39, 207, 258, 52,
+ 207, 40, 259, 350, 180, 358, 238, 358, 13, 176,
+ 177, 53, 239, -271, 1, 2, 260, -271, 56, 130,
+ 261, 240, 202, 365, 1, 2, 196, 197, 241, 292,
+ 349, 242, 425, 174, 59, 13, 176, 177, 233, 178,
+ 179, 91, 279, 395, 434, 181, 280, 396, 435, 174,
+ 96, 13, 176, 177, 233, 178, 179, 436, 307, 308,
+ 97, 437, 203, 136, 393, 312, 313, 315, 316, 196,
+ 197, 100, 101, 127, 389, 390, 235, 99, 137, 404,
+ 138, 404, 441, 442, 139, 140, 141, 147, 148, 100,
+ 101, 373, 235, 149, 151, 152, 155, 418, 169, 171,
+ 170, 102, 67, 103, 213, 104, 227, 384, 262, 282,
+ 266, 263, 283, 265, 325, 105, 350, 239, 281, 106,
+ 358, 284, 289, 107, 300, 207, 108, 69, 70, 71,
+ 433, 303, 310, 239, 311, 318, 327, 109, 72, 13,
+ 336, 319, 110, 73, 111, 74, 112, 344, 359, 340,
+ 361, 433, 363, 75, 130, 113, 114, 418, 388, 368,
+ 371, 366, 76, 375, 77, 459, 367, 372, 377, 78,
+ 115, 79, 80, 81, 378, 379, 386, 387, 392, 394,
+ 398, 174, 116, 13, 176, 177, 233, 178, 179, 1,
+ 2, 399, 400, 410, 405, 174, 234, 13, 176, 177,
+ 233, 178, 179, 1, 2, 408, 407, 409, 414, 174,
+ 234, 13, 176, 177, 233, 178, 179, 1, 2, 413,
+ 421, 420, 419, 445, 235, 236, 8, 153, 21, 38,
+ 98, 93, 126, 90, 172, 228, 321, 360, 235, 236,
+ 237, 426, 424, 301, 460, 326, 343, 351, 277, 443,
+ 278, 13, 235, 236, 237, 439, 376, 1, 2, 238,
+ 380, 381, 447, 446, 320, 239, 444, 322, 237, 406,
+ 67, 0, 0, 238, 240, 0, 0, 0, 0, 239,
+ 0, 241, 0, 0, 242, 68, 0, 238, 240, 0,
+ 0, 0, 0, 239, 0, 69, 70, 71, 242, 0,
+ 0, 0, 240, 0, 0, 0, 72, 0, 0, 0,
+ 0, 73, 242, 74, 0, 0, 0, 0, 0, 0,
+ 0, 75, 0, 0, 0, 0, 0, 0, 0, 0,
+ 76, 0, 77, 0, 100, 101, 0, 78, 0, 79,
+ 80, 81, 214, 0, 0, 0, 102, 67, 103, 0,
+ 104, 215, 0, 0, 0, 0, 0, 0, 0, 0,
105, 0, 0, 0, 106, 0, 0, 0, 107, 0,
0, 108, 69, 70, 71, 0, 0, 0, 0, 0,
- 0, 0, 109, 72, 0, 0, 0, 110, 73, 111,
+ 216, 0, 109, 72, 0, 0, 0, 110, 73, 111,
74, 112, 0, 0, 0, 0, 0, 0, 75, 0,
- 113, 114, 0, 0, 0, 0, 0, 76, 0, 77,
- 1, 2, 0, 0, 78, 115, 79, 80, 81, 0,
+ 113, 114, 217, 218, 0, 0, 0, 76, 0, 77,
+ 100, 101, 0, 0, 78, 115, 79, 80, 81, 0,
0, 0, 102, 67, 103, 0, 104, 0, 0, 0,
0, 0, 0, 0, 0, 0, 105, 0, 0, 0,
106, 0, 0, 0, 107, 0, 0, 108, 69, 70,
71, 0, 0, 0, 0, 0, 0, 0, 109, 72,
0, 0, 0, 110, 73, 111, 74, 112, 0, 0,
0, 0, 0, 0, 75, 0, 113, 114, 0, 0,
- 0, 0, 0, 76, 0, 77, 0, 0, 0, 0,
- 78, 115, 79, 80, 81
+ 0, 0, 0, 76, 0, 77, 1, 2, 0, 0,
+ 78, 115, 79, 80, 81, 0, 0, 0, 102, 67,
+ 103, 0, 104, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 105, 0, 0, 0, 106, 0, 0, 0,
+ 107, 0, 0, 108, 69, 70, 71, 0, 0, 0,
+ 0, 0, 0, 0, 109, 72, 0, 0, 0, 110,
+ 73, 111, 74, 112, 0, 0, 0, 0, 0, 0,
+ 75, 0, 113, 114, 0, 0, 0, 0, 0, 76,
+ 0, 77, 0, 0, 0, 0, 78, 115, 79, 80,
+ 81
};
static const short yycheck[] =
{
- 10, 0, 217, 218, 9, 4, 16, 259, 99, 280,
- 89, 54, 148, 148, 148, 149, 152, 9, 152, 151,
- 171, 108, 268, 269, 270, 38, 20, 116, 274, 275,
- 9, 41, 4, 85, 9, 10, 15, 16, 116, 82,
- 112, 113, 41, 53, 54, 17, 18, 19, 58, 33,
- 4, 61, 9, 4, 53, 54, 108, 148, 110, 58,
- 46, 74, 61, 17, 18, 19, 17, 18, 19, 9,
- 9, 57, 82, 9, 10, 15, 16, 9, 35, 168,
- 74, 160, 22, 82, 78, 95, 9, 10, 11, 335,
- 168, 242, 16, 17, 0, 94, 95, 6, 7, 8,
- 9, 10, 11, 35, 13, 14, 9, 10, 11, 355,
- 454, 24, 38, 118, 458, 107, 10, 116, 209, 210,
- 256, 256, 256, 394, 258, 259, 136, 263, 260, 263,
- 266, 115, 266, 112, 109, 286, 227, 136, 148, 149,
- 392, 50, 152, 115, 116, 109, 297, 110, 74, 113,
- 107, 51, 151, 152, 400, 109, 9, 39, 115, 169,
- 170, 115, 15, 16, 115, 256, 317, 80, 107, 168,
- 169, 170, 112, 109, 300, 107, 115, 109, 16, 17,
- 85, 94, 91, 115, 107, 62, 109, 313, 314, 280,
- 316, 115, 118, 85, 15, 16, 89, 288, 51, 108,
- 38, 416, 89, 108, 107, 110, 115, 6, 7, 8,
- 9, 10, 11, 113, 13, 14, 15, 16, 110, 303,
- 106, 44, 58, 7, 47, 9, 10, 11, 12, 13,
- 14, 17, 18, 119, 318, 7, 74, 9, 10, 11,
- 12, 13, 14, 109, 34, 35, 256, 113, 258, 259,
- 16, 50, 262, 263, 89, 9, 266, 348, 392, 25,
- 259, 15, 16, 3, 263, 356, 50, 266, 111, 68,
- 280, 109, 282, 26, 284, 113, 3, 115, 50, 44,
- 46, 65, 48, 102, 103, 104, 105, 112, 15, 16,
- 289, 57, 91, 65, 113, 109, 17, 18, 59, 113,
- 27, 28, 29, 394, 31, 396, 108, 91, 109, 108,
- 9, 10, 11, 108, 41, 16, 15, 16, 45, 91,
- 109, 109, 49, 86, 113, 52, 53, 54, 55, 109,
- 109, 109, 342, 113, 113, 113, 63, 64, 15, 16,
- 86, 68, 69, 70, 71, 72, 76, 357, 263, 359,
- 401, 266, 79, 404, 81, 82, 15, 16, 17, 18,
- 118, 88, 56, 90, 86, 375, 17, 18, 95, 96,
- 97, 98, 99, 102, 103, 104, 105, 426, 427, 3,
- 108, 108, 392, 108, 394, 118, 3, 10, 398, 108,
- 114, 114, 108, 392, 3, 110, 114, 7, 408, 9,
- 10, 11, 12, 13, 14, 15, 16, 118, 118, 116,
- 40, 108, 22, 73, 110, 110, 101, 109, 101, 429,
- 110, 5, 9, 93, 100, 435, 36, 37, 30, 73,
- 73, 30, 111, 443, 115, 108, 111, 119, 106, 110,
- 50, 51, 7, 108, 9, 10, 11, 12, 13, 14,
- 15, 16, 107, 111, 111, 111, 66, 22, 5, 7,
- 87, 9, 10, 11, 12, 13, 14, 15, 16, 117,
- 73, 109, 113, 109, 22, 85, 111, 108, 120, 111,
- 109, 91, 119, 111, 118, 50, 51, 113, 108, 4,
- 100, 16, 125, 29, 82, 61, 58, 107, 108, 95,
- 110, 66, 50, 51, 7, 168, 9, 10, 11, 12,
- 13, 14, 15, 16, 256, 9, 284, 398, 66, 394,
- 85, 15, 16, 227, 453, 147, 91, 277, 260, 281,
- 210, 428, 210, 304, 28, 100, 435, 85, 417, 248,
- -1, 429, 107, 91, 433, 110, 258, 50, 51, 43,
- 359, -1, 100, -1, -1, -1, -1, -1, -1, 53,
- 54, 55, 110, 66, -1, -1, -1, -1, -1, -1,
- 64, -1, -1, -1, -1, 69, -1, 71, -1, -1,
- -1, -1, 85, -1, -1, 79, -1, -1, 91, -1,
- -1, -1, -1, -1, 88, -1, 90, 100, 15, 16,
- -1, 95, -1, 97, 98, 99, 23, 110, -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,
+ 10, 0, 283, 99, 262, 4, 16, 148, 149, 217,
+ 218, 152, 271, 272, 273, 151, 171, 38, 277, 278,
+ 9, 4, 9, 10, 4, 33, 15, 16, 0, 148,
+ 148, 41, 9, 152, 17, 18, 19, 17, 18, 19,
+ 9, 89, 41, 53, 54, 106, 9, 10, 58, 24,
+ 4, 61, 148, 74, 53, 54, 9, 116, 119, 58,
+ 9, 108, 61, 17, 18, 19, 6, 7, 8, 9,
+ 10, 11, 82, 13, 14, 9, 54, 306, 337, 9,
+ 10, 11, 35, 82, 39, 95, 35, 242, 38, 16,
+ 17, 320, 116, 9, 110, 94, 95, 118, 357, 15,
+ 16, 9, 10, 11, 82, 80, 22, 115, 44, 168,
+ 50, 47, 160, 209, 210, 396, 51, 116, 259, 94,
+ 261, 262, 109, 112, 74, 266, 136, 263, 269, 109,
+ 107, 227, 115, 116, 289, 115, 394, 136, 148, 149,
+ 259, 259, 152, 402, 168, 300, 109, 266, 10, 118,
+ 269, 91, 151, 152, 107, 62, 109, 20, 107, 169,
+ 170, 115, 115, 259, 319, 303, 115, 85, 108, 168,
+ 169, 170, 89, 107, 46, 115, 9, 107, 113, 109,
+ 318, 115, 15, 16, 16, 57, 266, 283, 115, 269,
+ 16, 17, 110, 25, 85, 291, 112, 85, 7, 107,
+ 9, 10, 11, 12, 13, 14, 15, 16, 15, 16,
+ 418, 74, 38, 22, 46, 78, 48, 108, 51, 110,
+ 108, 403, 110, 58, 406, 57, 3, 36, 37, 89,
+ 6, 7, 8, 9, 10, 11, 89, 13, 14, 15,
+ 16, 50, 51, 109, 112, 113, 456, 113, 74, 259,
+ 460, 261, 262, 394, 350, 265, 266, 66, 9, 269,
+ 17, 18, 358, 262, 15, 16, 111, 266, 109, 44,
+ 269, 26, 113, 283, 50, 285, 85, 287, 9, 10,
+ 11, 59, 91, 109, 15, 16, 109, 113, 112, 115,
+ 113, 100, 68, 292, 15, 16, 17, 18, 107, 108,
+ 396, 110, 398, 7, 108, 9, 10, 11, 12, 13,
+ 14, 109, 109, 109, 109, 91, 113, 113, 113, 7,
+ 108, 9, 10, 11, 12, 13, 14, 109, 34, 35,
+ 16, 113, 108, 118, 344, 104, 105, 102, 103, 17,
+ 18, 15, 16, 109, 17, 18, 50, 3, 86, 359,
+ 86, 361, 428, 429, 76, 56, 86, 3, 108, 15,
+ 16, 65, 50, 108, 118, 3, 108, 377, 114, 108,
+ 114, 27, 28, 29, 10, 31, 3, 65, 110, 40,
+ 114, 118, 108, 118, 394, 41, 396, 91, 116, 45,
+ 400, 73, 110, 49, 110, 394, 52, 53, 54, 55,
+ 410, 101, 109, 91, 113, 101, 5, 63, 64, 9,
+ 93, 110, 68, 69, 70, 71, 72, 30, 73, 100,
+ 73, 431, 30, 79, 115, 81, 82, 437, 5, 108,
+ 119, 111, 88, 110, 90, 445, 111, 106, 108, 95,
+ 96, 97, 98, 99, 111, 107, 111, 111, 87, 117,
+ 73, 7, 108, 9, 10, 11, 12, 13, 14, 15,
+ 16, 109, 113, 120, 109, 7, 22, 9, 10, 11,
+ 12, 13, 14, 15, 16, 108, 111, 109, 119, 7,
+ 22, 9, 10, 11, 12, 13, 14, 15, 16, 111,
+ 108, 111, 113, 118, 50, 51, 4, 125, 16, 29,
+ 82, 61, 95, 58, 147, 168, 259, 287, 50, 51,
+ 66, 400, 396, 227, 455, 263, 280, 284, 210, 430,
+ 210, 9, 50, 51, 66, 419, 307, 15, 16, 85,
+ 314, 317, 437, 435, 251, 91, 431, 261, 66, 361,
+ 28, -1, -1, 85, 100, -1, -1, -1, -1, 91,
+ -1, 107, -1, -1, 110, 43, -1, 85, 100, -1,
+ -1, -1, -1, 91, -1, 53, 54, 55, 110, -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,
- -1, -1, 63, 64, -1, -1, -1, 68, 69, 70,
+ 61, -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,
+ 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,
@@ -1230,61 +1226,69 @@ static const short yycheck[] =
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, 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, 234, 0, 124, 125,
- 108, 126, 127, 9, 10, 109, 128, 129, 237, 39,
+ 0, 15, 16, 122, 123, 124, 236, 0, 124, 125,
+ 108, 126, 127, 9, 10, 109, 128, 129, 239, 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, 145, 146, 22, 112, 147, 148,
- 234, 237, 44, 59, 138, 139, 112, 112, 113, 108,
- 51, 140, 142, 143, 144, 234, 237, 28, 43, 53,
+ 236, 239, 44, 59, 138, 139, 112, 112, 113, 108,
+ 51, 140, 142, 143, 144, 236, 239, 28, 43, 53,
54, 55, 64, 69, 71, 79, 88, 90, 95, 97,
- 98, 99, 135, 136, 150, 152, 182, 192, 234, 237,
+ 98, 99, 135, 136, 150, 152, 182, 192, 236, 239,
148, 109, 112, 142, 51, 113, 108, 16, 136, 3,
15, 16, 27, 29, 31, 41, 45, 49, 52, 63,
68, 70, 72, 81, 82, 96, 108, 151, 176, 189,
- 190, 191, 192, 235, 151, 234, 144, 109, 137, 33,
- 115, 162, 172, 229, 230, 231, 118, 86, 86, 76,
- 56, 86, 153, 154, 189, 190, 234, 3, 108, 108,
- 224, 118, 3, 127, 141, 108, 24, 80, 94, 232,
- 173, 174, 46, 57, 233, 234, 237, 109, 113, 114,
+ 190, 191, 192, 237, 151, 236, 144, 109, 137, 33,
+ 115, 162, 172, 231, 232, 233, 118, 86, 86, 76,
+ 56, 86, 153, 154, 189, 190, 236, 3, 108, 108,
+ 226, 118, 3, 127, 141, 108, 24, 80, 94, 234,
+ 173, 174, 46, 57, 235, 236, 239, 109, 113, 114,
114, 108, 149, 6, 7, 8, 10, 11, 13, 14,
- 50, 91, 149, 155, 156, 172, 185, 187, 227, 237,
- 107, 109, 225, 226, 227, 237, 17, 18, 177, 178,
- 179, 234, 68, 108, 183, 185, 186, 234, 237, 17,
+ 50, 91, 149, 155, 156, 172, 185, 187, 229, 239,
+ 107, 109, 227, 228, 229, 239, 17, 18, 177, 178,
+ 179, 236, 68, 108, 183, 185, 186, 236, 239, 17,
18, 164, 165, 10, 23, 32, 61, 83, 84, 151,
- 175, 85, 110, 196, 197, 198, 199, 3, 154, 234,
- 237, 234, 237, 12, 22, 50, 51, 66, 85, 91,
- 100, 107, 110, 187, 200, 201, 202, 203, 204, 205,
- 206, 227, 228, 234, 237, 109, 113, 109, 113, 110,
- 118, 184, 118, 114, 16, 17, 38, 74, 172, 180,
- 181, 222, 223, 172, 180, 181, 109, 113, 116, 40,
- 108, 73, 108, 196, 108, 196, 110, 36, 37, 108,
- 200, 211, 212, 214, 216, 217, 218, 110, 162, 172,
- 101, 106, 119, 215, 34, 35, 200, 109, 102, 103,
- 104, 105, 113, 193, 194, 101, 195, 110, 215, 156,
- 226, 186, 227, 237, 178, 5, 188, 237, 183, 183,
- 222, 118, 222, 222, 93, 163, 222, 222, 100, 166,
- 167, 165, 30, 107, 160, 161, 171, 172, 237, 176,
- 35, 157, 158, 159, 171, 172, 237, 73, 157, 73,
- 200, 30, 172, 234, 111, 111, 108, 200, 202, 119,
- 106, 65, 204, 110, 199, 108, 111, 107, 202, 202,
- 202, 200, 65, 204, 111, 111, 5, 17, 18, 222,
- 87, 237, 117, 109, 113, 172, 73, 109, 113, 222,
- 172, 236, 237, 109, 236, 111, 108, 109, 120, 219,
- 220, 111, 119, 107, 207, 208, 237, 113, 111, 108,
- 186, 227, 161, 172, 159, 222, 229, 229, 213, 118,
- 221, 237, 109, 113, 109, 113, 196, 201, 168, 174,
- 174, 188, 221, 118, 220, 208, 20, 74, 78, 209,
- 210, 4, 19, 115, 169, 170, 179, 237, 169, 109,
- 170, 116
+ 175, 85, 110, 195, 196, 197, 198, 3, 154, 236,
+ 239, 236, 239, 12, 22, 50, 51, 66, 85, 91,
+ 100, 107, 110, 187, 199, 200, 201, 202, 203, 204,
+ 205, 206, 207, 208, 229, 230, 236, 239, 109, 113,
+ 109, 113, 110, 118, 184, 118, 114, 16, 17, 38,
+ 74, 172, 180, 181, 224, 225, 172, 180, 181, 109,
+ 113, 116, 40, 108, 73, 108, 195, 108, 195, 110,
+ 36, 37, 108, 199, 213, 214, 216, 218, 219, 220,
+ 110, 162, 172, 101, 106, 119, 217, 34, 35, 199,
+ 109, 113, 104, 105, 193, 102, 103, 194, 101, 110,
+ 217, 156, 228, 186, 229, 239, 178, 5, 188, 239,
+ 183, 183, 224, 118, 224, 224, 93, 163, 224, 224,
+ 100, 166, 167, 165, 30, 107, 160, 161, 171, 172,
+ 239, 176, 35, 157, 158, 159, 171, 172, 239, 73,
+ 157, 73, 199, 30, 172, 236, 111, 111, 108, 199,
+ 204, 119, 106, 65, 206, 110, 198, 108, 111, 107,
+ 202, 203, 204, 199, 65, 206, 111, 111, 5, 17,
+ 18, 224, 87, 239, 117, 109, 113, 172, 73, 109,
+ 113, 224, 172, 238, 239, 109, 238, 111, 108, 109,
+ 120, 221, 222, 111, 119, 107, 209, 210, 239, 113,
+ 111, 108, 186, 229, 161, 172, 159, 224, 231, 231,
+ 215, 118, 223, 239, 109, 113, 109, 113, 195, 200,
+ 168, 174, 174, 188, 223, 118, 222, 210, 20, 74,
+ 78, 211, 212, 4, 19, 115, 169, 170, 179, 239,
+ 169, 109, 170, 116
};
#if ! defined (YYSIZE_T) && defined (__SIZE_TYPE__)
@@ -1835,14 +1839,14 @@ yyreduce:
switch (yyn)
{
case 2:
-#line 350 "asn1p_y.y"
+#line 353 "asn1p_y.y"
{
*(void **)param = yyvsp[0].a_grammar;
}
break;
case 3:
-#line 356 "asn1p_y.y"
+#line 359 "asn1p_y.y"
{
yyval.a_grammar = asn1p_new();
checkmem(yyval.a_grammar);
@@ -1851,7 +1855,7 @@ yyreduce:
break;
case 4:
-#line 361 "asn1p_y.y"
+#line 364 "asn1p_y.y"
{
yyval.a_grammar = yyvsp[-1].a_grammar;
TQ_ADD(&(yyval.a_grammar->modules), yyvsp[0].a_module, mod_next);
@@ -1859,12 +1863,12 @@ yyreduce:
break;
case 5:
-#line 378 "asn1p_y.y"
+#line 381 "asn1p_y.y"
{ currentModule = asn1p_module_new(); }
break;
case 6:
-#line 383 "asn1p_y.y"
+#line 386 "asn1p_y.y"
{
yyval.a_module = currentModule;
@@ -1885,31 +1889,31 @@ yyreduce:
break;
case 7:
-#line 407 "asn1p_y.y"
+#line 410 "asn1p_y.y"
{ yyval.a_oid = 0; }
break;
case 8:
-#line 408 "asn1p_y.y"
+#line 411 "asn1p_y.y"
{ yyval.a_oid = yyvsp[0].a_oid; }
break;
case 9:
-#line 412 "asn1p_y.y"
+#line 415 "asn1p_y.y"
{
yyval.a_oid = yyvsp[-1].a_oid;
}
break;
case 10:
-#line 415 "asn1p_y.y"
+#line 418 "asn1p_y.y"
{
yyval.a_oid = 0;
}
break;
case 11:
-#line 421 "asn1p_y.y"
+#line 424 "asn1p_y.y"
{
yyval.a_oid = asn1p_oid_new();
asn1p_oid_add_arc(yyval.a_oid, &yyvsp[0].a_oid_arc);
@@ -1919,7 +1923,7 @@ yyreduce:
break;
case 12:
-#line 427 "asn1p_y.y"
+#line 430 "asn1p_y.y"
{
yyval.a_oid = yyvsp[-1].a_oid;
asn1p_oid_add_arc(yyval.a_oid, &yyvsp[0].a_oid_arc);
@@ -1929,7 +1933,7 @@ yyreduce:
break;
case 13:
-#line 436 "asn1p_y.y"
+#line 439 "asn1p_y.y"
{ /* iso */
yyval.a_oid_arc.name = yyvsp[0].tv_str;
yyval.a_oid_arc.number = -1;
@@ -1937,7 +1941,7 @@ yyreduce:
break;
case 14:
-#line 440 "asn1p_y.y"
+#line 443 "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 +1949,7 @@ yyreduce:
break;
case 15:
-#line 444 "asn1p_y.y"
+#line 447 "asn1p_y.y"
{ /* 1 */
yyval.a_oid_arc.name = 0;
yyval.a_oid_arc.number = yyvsp[0].a_int;
@@ -1953,61 +1957,61 @@ yyreduce:
break;
case 16:
-#line 454 "asn1p_y.y"
+#line 457 "asn1p_y.y"
{ yyval.a_module_flags = MSF_NOFLAGS; }
break;
case 17:
-#line 455 "asn1p_y.y"
+#line 458 "asn1p_y.y"
{
yyval.a_module_flags = yyvsp[0].a_module_flags;
}
break;
case 18:
-#line 464 "asn1p_y.y"
+#line 467 "asn1p_y.y"
{
yyval.a_module_flags = yyvsp[0].a_module_flags;
}
break;
case 19:
-#line 467 "asn1p_y.y"
+#line 470 "asn1p_y.y"
{
yyval.a_module_flags = yyvsp[-1].a_module_flags | yyvsp[0].a_module_flags;
}
break;
case 20:
-#line 476 "asn1p_y.y"
+#line 479 "asn1p_y.y"
{
yyval.a_module_flags = MSF_EXPLICIT_TAGS;
}
break;
case 21:
-#line 479 "asn1p_y.y"
+#line 482 "asn1p_y.y"
{
yyval.a_module_flags = MSF_IMPLICIT_TAGS;
}
break;
case 22:
-#line 482 "asn1p_y.y"
+#line 485 "asn1p_y.y"
{
yyval.a_module_flags = MSF_AUTOMATIC_TAGS;
}
break;
case 23:
-#line 485 "asn1p_y.y"
+#line 488 "asn1p_y.y"
{
yyval.a_module_flags = MSF_EXTENSIBILITY_IMPLIED;
}
break;
case 24:
-#line 489 "asn1p_y.y"
+#line 492 "asn1p_y.y"
{
/* X.680Amd1 specifies TAG and XER */
if(strcmp(yyvsp[-1].tv_str, "TAG") == 0) {
@@ -2026,19 +2030,19 @@ yyreduce:
break;
case 25:
-#line 510 "asn1p_y.y"
+#line 513 "asn1p_y.y"
{ yyval.a_module = 0; }
break;
case 26:
-#line 511 "asn1p_y.y"
+#line 514 "asn1p_y.y"
{
yyval.a_module = yyvsp[0].a_module;
}
break;
case 27:
-#line 520 "asn1p_y.y"
+#line 523 "asn1p_y.y"
{
yyval.a_module = asn1p_module_new();
AL_IMPORT(yyval.a_module, exports, yyvsp[-2].a_module, xp_next);
@@ -2048,14 +2052,14 @@ yyreduce:
break;
case 28:
-#line 529 "asn1p_y.y"
+#line 532 "asn1p_y.y"
{
yyval.a_module = yyvsp[0].a_module;
}
break;
case 29:
-#line 532 "asn1p_y.y"
+#line 535 "asn1p_y.y"
{
if(yyvsp[-1].a_module) {
yyval.a_module = yyvsp[-1].a_module;
@@ -2068,7 +2072,7 @@ yyreduce:
break;
case 30:
-#line 548 "asn1p_y.y"
+#line 551 "asn1p_y.y"
{
yyval.a_module = asn1p_module_new();
checkmem(yyval.a_module);
@@ -2079,7 +2083,7 @@ yyreduce:
break;
case 31:
-#line 555 "asn1p_y.y"
+#line 558 "asn1p_y.y"
{
yyval.a_module = asn1p_module_new();
checkmem(yyval.a_module);
@@ -2090,7 +2094,7 @@ yyreduce:
break;
case 32:
-#line 568 "asn1p_y.y"
+#line 571 "asn1p_y.y"
{
yyval.a_module = asn1p_module_new();
checkmem(yyval.a_module);
@@ -2101,12 +2105,12 @@ yyreduce:
break;
case 33:
-#line 576 "asn1p_y.y"
+#line 579 "asn1p_y.y"
{ asn1p_lexer_hack_push_encoding_control(); }
break;
case 34:
-#line 577 "asn1p_y.y"
+#line 580 "asn1p_y.y"
{
fprintf(stderr,
"WARNING: ENCODING-CONTROL %s "
@@ -2118,7 +2122,7 @@ yyreduce:
break;
case 35:
-#line 589 "asn1p_y.y"
+#line 592 "asn1p_y.y"
{
return yyerror(
"Attempt to redefine a standard basic string type, "
@@ -2127,12 +2131,12 @@ yyreduce:
break;
case 36:
-#line 602 "asn1p_y.y"
+#line 605 "asn1p_y.y"
{ yyval.a_module = 0; }
break;
case 38:
-#line 606 "asn1p_y.y"
+#line 609 "asn1p_y.y"
{
if(!saved_aid && 0)
return yyerror("Unterminated IMPORTS FROM, "
@@ -2143,14 +2147,14 @@ yyreduce:
break;
case 39:
-#line 616 "asn1p_y.y"
+#line 619 "asn1p_y.y"
{
return yyerror("Empty IMPORTS list");
}
break;
case 40:
-#line 622 "asn1p_y.y"
+#line 625 "asn1p_y.y"
{
yyval.a_module = asn1p_module_new();
checkmem(yyval.a_module);
@@ -2159,7 +2163,7 @@ yyreduce:
break;
case 41:
-#line 627 "asn1p_y.y"
+#line 630 "asn1p_y.y"
{
yyval.a_module = yyvsp[-1].a_module;
TQ_ADD(&(yyval.a_module->imports), yyvsp[0].a_xports, xp_next);
@@ -2167,17 +2171,17 @@ yyreduce:
break;
case 42:
-#line 634 "asn1p_y.y"
+#line 637 "asn1p_y.y"
{ memset(&yyval.a_aid, 0, sizeof(yyval.a_aid)); }
break;
case 43:
-#line 635 "asn1p_y.y"
+#line 638 "asn1p_y.y"
{ yyval.a_aid.oid = yyvsp[0].a_oid; }
break;
case 44:
-#line 639 "asn1p_y.y"
+#line 642 "asn1p_y.y"
{
yyval.a_xports = yyvsp[-3].a_xports;
yyval.a_xports->fromModuleName = yyvsp[-1].tv_str;
@@ -2189,7 +2193,7 @@ yyreduce:
break;
case 45:
-#line 650 "asn1p_y.y"
+#line 653 "asn1p_y.y"
{
yyval.a_xports = asn1p_xports_new();
checkmem(yyval.a_xports);
@@ -2198,7 +2202,7 @@ yyreduce:
break;
case 46:
-#line 655 "asn1p_y.y"
+#line 658 "asn1p_y.y"
{
yyval.a_xports = yyvsp[-2].a_xports;
TQ_ADD(&(yyval.a_xports->members), yyvsp[0].a_expr, next);
@@ -2206,7 +2210,7 @@ yyreduce:
break;
case 47:
-#line 662 "asn1p_y.y"
+#line 665 "asn1p_y.y"
{
yyval.a_expr = NEW_EXPR();
checkmem(yyval.a_expr);
@@ -2216,7 +2220,7 @@ yyreduce:
break;
case 48:
-#line 668 "asn1p_y.y"
+#line 671 "asn1p_y.y"
{ /* Completely equivalent to above */
yyval.a_expr = NEW_EXPR();
checkmem(yyval.a_expr);
@@ -2226,7 +2230,7 @@ yyreduce:
break;
case 49:
-#line 674 "asn1p_y.y"
+#line 677 "asn1p_y.y"
{
yyval.a_expr = NEW_EXPR();
checkmem(yyval.a_expr);
@@ -2236,12 +2240,12 @@ yyreduce:
break;
case 50:
-#line 684 "asn1p_y.y"
+#line 687 "asn1p_y.y"
{ yyval.a_module = 0; }
break;
case 51:
-#line 685 "asn1p_y.y"
+#line 688 "asn1p_y.y"
{
yyval.a_module = asn1p_module_new();
checkmem(yyval.a_module);
@@ -2254,21 +2258,21 @@ yyreduce:
break;
case 52:
-#line 697 "asn1p_y.y"
+#line 700 "asn1p_y.y"
{
yyval.a_xports = yyvsp[-1].a_xports;
}
break;
case 53:
-#line 700 "asn1p_y.y"
+#line 703 "asn1p_y.y"
{
yyval.a_xports = 0;
}
break;
case 54:
-#line 703 "asn1p_y.y"
+#line 706 "asn1p_y.y"
{
/* Empty EXPORTS clause effectively prohibits export. */
yyval.a_xports = asn1p_xports_new();
@@ -2277,7 +2281,7 @@ yyreduce:
break;
case 55:
-#line 711 "asn1p_y.y"
+#line 714 "asn1p_y.y"
{
yyval.a_xports = asn1p_xports_new();
assert(yyval.a_xports);
@@ -2286,7 +2290,7 @@ yyreduce:
break;
case 56:
-#line 716 "asn1p_y.y"
+#line 719 "asn1p_y.y"
{
yyval.a_xports = yyvsp[-2].a_xports;
TQ_ADD(&(yyval.a_xports->members), yyvsp[0].a_expr, next);
@@ -2294,7 +2298,7 @@ yyreduce:
break;
case 57:
-#line 723 "asn1p_y.y"
+#line 726 "asn1p_y.y"
{
yyval.a_expr = NEW_EXPR();
checkmem(yyval.a_expr);
@@ -2304,7 +2308,7 @@ yyreduce:
break;
case 58:
-#line 729 "asn1p_y.y"
+#line 732 "asn1p_y.y"
{
yyval.a_expr = NEW_EXPR();
checkmem(yyval.a_expr);
@@ -2314,7 +2318,7 @@ yyreduce:
break;
case 59:
-#line 735 "asn1p_y.y"
+#line 738 "asn1p_y.y"
{
yyval.a_expr = NEW_EXPR();
checkmem(yyval.a_expr);
@@ -2324,12 +2328,12 @@ yyreduce:
break;
case 60:
-#line 744 "asn1p_y.y"
+#line 747 "asn1p_y.y"
{ yyval.a_constr = yyvsp[-1].a_constr; }
break;
case 61:
-#line 747 "asn1p_y.y"
+#line 750 "asn1p_y.y"
{
yyval.a_expr = yyvsp[-2].a_expr;
assert(yyval.a_expr->Identifier == 0);
@@ -2340,14 +2344,14 @@ yyreduce:
break;
case 62:
-#line 757 "asn1p_y.y"
+#line 760 "asn1p_y.y"
{
yyval.a_expr = yyvsp[0].a_expr;
}
break;
case 63:
-#line 770 "asn1p_y.y"
+#line 773 "asn1p_y.y"
{
yyval.a_expr = NEW_EXPR();
checkmem(yyval.a_expr);
@@ -2358,7 +2362,7 @@ yyreduce:
break;
case 64:
-#line 780 "asn1p_y.y"
+#line 783 "asn1p_y.y"
{
yyval.a_expr = NEW_EXPR();
checkmem(yyval.a_expr);
@@ -2370,7 +2374,7 @@ yyreduce:
break;
case 65:
-#line 800 "asn1p_y.y"
+#line 803 "asn1p_y.y"
{
yyval.a_expr = yyvsp[0].a_expr;
yyval.a_expr->Identifier = yyvsp[-2].tv_str;
@@ -2380,7 +2384,7 @@ yyreduce:
break;
case 66:
-#line 806 "asn1p_y.y"
+#line 809 "asn1p_y.y"
{
yyval.a_expr = yyvsp[0].a_expr;
yyval.a_expr->Identifier = yyvsp[-2].tv_str;
@@ -2390,7 +2394,7 @@ yyreduce:
break;
case 67:
-#line 822 "asn1p_y.y"
+#line 825 "asn1p_y.y"
{
yyval.a_expr = yyvsp[0].a_expr;
yyval.a_expr->Identifier = yyvsp[-5].tv_str;
@@ -2399,7 +2403,7 @@ yyreduce:
break;
case 68:
-#line 828 "asn1p_y.y"
+#line 831 "asn1p_y.y"
{
yyval.a_expr = yyvsp[0].a_expr;
yyval.a_expr->Identifier = yyvsp[-5].tv_str;
@@ -2408,7 +2412,7 @@ yyreduce:
break;
case 69:
-#line 836 "asn1p_y.y"
+#line 839 "asn1p_y.y"
{
int ret;
yyval.a_plist = asn1p_paramlist_new(yylineno);
@@ -2421,7 +2425,7 @@ yyreduce:
break;
case 70:
-#line 845 "asn1p_y.y"
+#line 848 "asn1p_y.y"
{
int ret;
yyval.a_plist = yyvsp[-2].a_plist;
@@ -2433,7 +2437,7 @@ yyreduce:
break;
case 71:
-#line 856 "asn1p_y.y"
+#line 859 "asn1p_y.y"
{
yyval.a_parg.governor = NULL;
yyval.a_parg.argument = yyvsp[0].tv_str;
@@ -2441,7 +2445,7 @@ yyreduce:
break;
case 72:
-#line 860 "asn1p_y.y"
+#line 863 "asn1p_y.y"
{
int ret;
yyval.a_parg.governor = asn1p_ref_new(yylineno);
@@ -2452,7 +2456,7 @@ yyreduce:
break;
case 73:
-#line 867 "asn1p_y.y"
+#line 870 "asn1p_y.y"
{
int ret;
yyval.a_parg.governor = asn1p_ref_new(yylineno);
@@ -2463,7 +2467,7 @@ yyreduce:
break;
case 74:
-#line 874 "asn1p_y.y"
+#line 877 "asn1p_y.y"
{
int ret;
yyval.a_parg.governor = asn1p_ref_new(yylineno);
@@ -2475,7 +2479,7 @@ yyreduce:
break;
case 75:
-#line 882 "asn1p_y.y"
+#line 885 "asn1p_y.y"
{
int ret;
yyval.a_parg.governor = asn1p_ref_new(yylineno);
@@ -2487,7 +2491,7 @@ yyreduce:
break;
case 76:
-#line 893 "asn1p_y.y"
+#line 896 "asn1p_y.y"
{
yyval.a_expr = NEW_EXPR();
checkmem(yyval.a_expr);
@@ -2496,7 +2500,7 @@ yyreduce:
break;
case 77:
-#line 898 "asn1p_y.y"
+#line 901 "asn1p_y.y"
{
yyval.a_expr = yyvsp[-2].a_expr;
asn1p_expr_add(yyval.a_expr, yyvsp[0].a_expr);
@@ -2504,14 +2508,14 @@ yyreduce:
break;
case 78:
-#line 905 "asn1p_y.y"
+#line 908 "asn1p_y.y"
{
yyval.a_expr = yyvsp[0].a_expr;
}
break;
case 79:
-#line 908 "asn1p_y.y"
+#line 911 "asn1p_y.y"
{
yyval.a_expr = NEW_EXPR();
checkmem(yyval.a_expr);
@@ -2523,7 +2527,7 @@ yyreduce:
break;
case 80:
-#line 916 "asn1p_y.y"
+#line 919 "asn1p_y.y"
{
asn1p_ref_t *ref;
yyval.a_expr = NEW_EXPR();
@@ -2538,7 +2542,7 @@ yyreduce:
break;
case 81:
-#line 927 "asn1p_y.y"
+#line 930 "asn1p_y.y"
{
yyval.a_expr = NEW_EXPR();
yyval.a_expr->expr_type = A1TC_VALUESET;
@@ -2548,17 +2552,17 @@ yyreduce:
break;
case 82:
-#line 950 "asn1p_y.y"
+#line 953 "asn1p_y.y"
{ yyval.a_expr = NEW_EXPR(); }
break;
case 83:
-#line 951 "asn1p_y.y"
+#line 954 "asn1p_y.y"
{ yyval.a_expr = yyvsp[0].a_expr; }
break;
case 84:
-#line 954 "asn1p_y.y"
+#line 957 "asn1p_y.y"
{
yyval.a_expr = NEW_EXPR();
checkmem(yyval.a_expr);
@@ -2567,7 +2571,7 @@ yyreduce:
break;
case 85:
-#line 959 "asn1p_y.y"
+#line 962 "asn1p_y.y"
{
yyval.a_expr = yyvsp[-2].a_expr;
asn1p_expr_add(yyval.a_expr, yyvsp[0].a_expr);
@@ -2575,7 +2579,7 @@ yyreduce:
break;
case 86:
-#line 966 "asn1p_y.y"
+#line 969 "asn1p_y.y"
{
yyval.a_expr = yyvsp[-1].a_expr;
assert(yyval.a_expr->Identifier == 0);
@@ -2586,7 +2590,7 @@ yyreduce:
break;
case 87:
-#line 973 "asn1p_y.y"
+#line 976 "asn1p_y.y"
{
yyval.a_expr = yyvsp[-1].a_expr;
yyvsp[0].a_marker.flags |= yyval.a_expr->marker.flags;
@@ -2596,7 +2600,7 @@ yyreduce:
break;
case 88:
-#line 979 "asn1p_y.y"
+#line 982 "asn1p_y.y"
{
yyval.a_expr = NEW_EXPR();
checkmem(yyval.a_expr);
@@ -2607,14 +2611,14 @@ yyreduce:
break;
case 89:
-#line 986 "asn1p_y.y"
+#line 989 "asn1p_y.y"
{
yyval.a_expr = yyvsp[0].a_expr;
}
break;
case 90:
-#line 992 "asn1p_y.y"
+#line 995 "asn1p_y.y"
{
yyval.a_expr = NEW_EXPR();
checkmem(yyval.a_expr);
@@ -2623,7 +2627,7 @@ yyreduce:
break;
case 91:
-#line 997 "asn1p_y.y"
+#line 1000 "asn1p_y.y"
{
yyval.a_expr = yyvsp[-2].a_expr;
asn1p_expr_add(yyval.a_expr, yyvsp[0].a_expr);
@@ -2631,7 +2635,7 @@ yyreduce:
break;
case 92:
-#line 1004 "asn1p_y.y"
+#line 1007 "asn1p_y.y"
{
yyval.a_expr = yyvsp[0].a_expr;
assert(yyval.a_expr->Identifier == 0);
@@ -2640,14 +2644,14 @@ yyreduce:
break;
case 93:
-#line 1009 "asn1p_y.y"
+#line 1012 "asn1p_y.y"
{
yyval.a_expr = yyvsp[0].a_expr;
}
break;
case 94:
-#line 1012 "asn1p_y.y"
+#line 1015 "asn1p_y.y"
{
yyval.a_expr = yyvsp[0].a_expr;
_fixup_anonymous_identifier(yyval.a_expr);
@@ -2655,7 +2659,7 @@ yyreduce:
break;
case 95:
-#line 1019 "asn1p_y.y"
+#line 1022 "asn1p_y.y"
{
yyval.a_expr = yyvsp[-2].a_expr;
checkmem(yyval.a_expr);
@@ -2666,17 +2670,17 @@ yyreduce:
break;
case 96:
-#line 1029 "asn1p_y.y"
+#line 1032 "asn1p_y.y"
{ yyval.a_int = 0; }
break;
case 97:
-#line 1030 "asn1p_y.y"
+#line 1033 "asn1p_y.y"
{ yyval.a_int = 1; }
break;
case 98:
-#line 1034 "asn1p_y.y"
+#line 1037 "asn1p_y.y"
{
yyval.a_expr = NEW_EXPR();
checkmem(yyval.a_expr);
@@ -2687,7 +2691,7 @@ yyreduce:
break;
case 99:
-#line 1041 "asn1p_y.y"
+#line 1044 "asn1p_y.y"
{
yyval.a_expr = yyvsp[-2].a_expr;
asn1p_expr_add(yyval.a_expr, yyvsp[0].a_expr);
@@ -2695,7 +2699,7 @@ yyreduce:
break;
case 100:
-#line 1051 "asn1p_y.y"
+#line 1054 "asn1p_y.y"
{
yyval.a_expr = NEW_EXPR();
checkmem(yyval.a_expr);
@@ -2707,7 +2711,7 @@ yyreduce:
break;
case 101:
-#line 1061 "asn1p_y.y"
+#line 1064 "asn1p_y.y"
{
yyval.a_expr = NEW_EXPR();
yyval.a_expr->Identifier = yyvsp[-3].tv_str;
@@ -2720,7 +2724,7 @@ yyreduce:
break;
case 102:
-#line 1072 "asn1p_y.y"
+#line 1075 "asn1p_y.y"
{
yyval.a_expr = NEW_EXPR();
yyval.a_expr->Identifier = yyvsp[-2].tv_str;
@@ -2732,7 +2736,7 @@ yyreduce:
break;
case 103:
-#line 1082 "asn1p_y.y"
+#line 1085 "asn1p_y.y"
{
yyval.a_expr = NEW_EXPR();
checkmem(yyval.a_expr);
@@ -2745,7 +2749,7 @@ yyreduce:
break;
case 104:
-#line 1093 "asn1p_y.y"
+#line 1096 "asn1p_y.y"
{
yyval.a_expr = NEW_EXPR();
yyval.a_expr->Identifier = yyvsp[-2].tv_str;
@@ -2757,7 +2761,7 @@ yyreduce:
break;
case 105:
-#line 1103 "asn1p_y.y"
+#line 1106 "asn1p_y.y"
{
yyval.a_expr = NEW_EXPR();
checkmem(yyval.a_expr);
@@ -2770,7 +2774,7 @@ yyreduce:
break;
case 106:
-#line 1114 "asn1p_y.y"
+#line 1117 "asn1p_y.y"
{
yyval.a_expr = NEW_EXPR();
checkmem(yyval.a_expr);
@@ -2783,31 +2787,31 @@ yyreduce:
break;
case 107:
-#line 1126 "asn1p_y.y"
+#line 1129 "asn1p_y.y"
{ yyval.a_wsynt = 0; }
break;
case 108:
-#line 1127 "asn1p_y.y"
+#line 1130 "asn1p_y.y"
{
yyval.a_wsynt = yyvsp[0].a_wsynt;
}
break;
case 109:
-#line 1134 "asn1p_y.y"
+#line 1137 "asn1p_y.y"
{ asn1p_lexer_hack_enable_with_syntax(); }
break;
case 110:
-#line 1136 "asn1p_y.y"
+#line 1139 "asn1p_y.y"
{
yyval.a_wsynt = yyvsp[-1].a_wsynt;
}
break;
case 111:
-#line 1142 "asn1p_y.y"
+#line 1145 "asn1p_y.y"
{
yyval.a_wsynt = asn1p_wsyntx_new();
TQ_ADD(&(yyval.a_wsynt->chunks), yyvsp[0].a_wchunk, next);
@@ -2815,7 +2819,7 @@ yyreduce:
break;
case 112:
-#line 1146 "asn1p_y.y"
+#line 1149 "asn1p_y.y"
{
yyval.a_wsynt = yyvsp[-1].a_wsynt;
TQ_ADD(&(yyval.a_wsynt->chunks), yyvsp[0].a_wchunk, next);
@@ -2823,7 +2827,7 @@ yyreduce:
break;
case 113:
-#line 1153 "asn1p_y.y"
+#line 1156 "asn1p_y.y"
{
yyval.a_wchunk = asn1p_wsyntx_chunk_fromstring(yyvsp[0].tv_opaque.buf, 0);
yyval.a_wchunk->type = WC_WHITESPACE;
@@ -2831,14 +2835,14 @@ yyreduce:
break;
case 114:
-#line 1157 "asn1p_y.y"
+#line 1160 "asn1p_y.y"
{
yyval.a_wchunk = asn1p_wsyntx_chunk_fromstring(yyvsp[0].tv_str, 0);
}
break;
case 115:
-#line 1160 "asn1p_y.y"
+#line 1163 "asn1p_y.y"
{
yyval.a_wchunk = asn1p_wsyntx_chunk_fromstring(yyvsp[0].a_refcomp.name, 0);
yyval.a_wchunk->type = WC_FIELD;
@@ -2846,14 +2850,14 @@ yyreduce:
break;
case 116:
-#line 1164 "asn1p_y.y"
+#line 1167 "asn1p_y.y"
{
yyval.a_wchunk = asn1p_wsyntx_chunk_fromsyntax(yyvsp[-1].a_wsynt);
}
break;
case 117:
-#line 1170 "asn1p_y.y"
+#line 1173 "asn1p_y.y"
{
yyval.a_expr = NEW_EXPR();
checkmem(yyval.a_expr);
@@ -2865,7 +2869,7 @@ yyreduce:
break;
case 118:
-#line 1178 "asn1p_y.y"
+#line 1181 "asn1p_y.y"
{
yyval.a_expr = NEW_EXPR();
checkmem(yyval.a_expr);
@@ -2878,7 +2882,7 @@ yyreduce:
break;
case 119:
-#line 1187 "asn1p_y.y"
+#line 1190 "asn1p_y.y"
{
yyval.a_expr = NEW_EXPR();
checkmem(yyval.a_expr);
@@ -2891,7 +2895,7 @@ yyreduce:
break;
case 120:
-#line 1199 "asn1p_y.y"
+#line 1202 "asn1p_y.y"
{
yyval.a_expr = yyvsp[-1].a_expr;
yyval.a_expr->tag = yyvsp[-2].a_tag;
@@ -2914,7 +2918,7 @@ yyreduce:
break;
case 121:
-#line 1221 "asn1p_y.y"
+#line 1224 "asn1p_y.y"
{
yyval.a_int = asn1p_as_pointer ? EM_INDIRECT : 0;
asn1p_as_pointer = 0;
@@ -2922,7 +2926,7 @@ yyreduce:
break;
case 122:
-#line 1228 "asn1p_y.y"
+#line 1231 "asn1p_y.y"
{
yyval.a_expr = yyvsp[0].a_expr;
yyval.a_expr->marker.flags |= yyvsp[-1].a_int;
@@ -2942,14 +2946,14 @@ yyreduce:
break;
case 123:
-#line 1247 "asn1p_y.y"
+#line 1250 "asn1p_y.y"
{
yyval.a_expr = yyvsp[0].a_expr;
}
break;
case 124:
-#line 1250 "asn1p_y.y"
+#line 1253 "asn1p_y.y"
{
yyval.a_expr = yyvsp[-1].a_expr;
assert(yyval.a_expr->expr_type == A1TC_INVALID);
@@ -2959,7 +2963,7 @@ yyreduce:
break;
case 125:
-#line 1256 "asn1p_y.y"
+#line 1259 "asn1p_y.y"
{
yyval.a_expr = yyvsp[-1].a_expr;
assert(yyval.a_expr->expr_type == A1TC_INVALID);
@@ -2969,7 +2973,7 @@ yyreduce:
break;
case 126:
-#line 1262 "asn1p_y.y"
+#line 1265 "asn1p_y.y"
{
yyval.a_expr = yyvsp[-1].a_expr;
assert(yyval.a_expr->expr_type == A1TC_INVALID);
@@ -2979,7 +2983,7 @@ yyreduce:
break;
case 127:
-#line 1268 "asn1p_y.y"
+#line 1271 "asn1p_y.y"
{
yyval.a_expr = NEW_EXPR();
checkmem(yyval.a_expr);
@@ -2993,7 +2997,7 @@ yyreduce:
break;
case 128:
-#line 1278 "asn1p_y.y"
+#line 1281 "asn1p_y.y"
{
yyval.a_expr = NEW_EXPR();
checkmem(yyval.a_expr);
@@ -3007,7 +3011,7 @@ yyreduce:
break;
case 129:
-#line 1288 "asn1p_y.y"
+#line 1291 "asn1p_y.y"
{
yyval.a_expr = NEW_EXPR();
checkmem(yyval.a_expr);
@@ -3017,7 +3021,7 @@ yyreduce:
break;
case 130:
-#line 1294 "asn1p_y.y"
+#line 1297 "asn1p_y.y"
{
int ret;
yyval.a_expr = NEW_EXPR();
@@ -3032,7 +3036,7 @@ yyreduce:
break;
case 131:
-#line 1305 "asn1p_y.y"
+#line 1308 "asn1p_y.y"
{
yyval.a_expr = NEW_EXPR();
checkmem(yyval.a_expr);
@@ -3043,7 +3047,7 @@ yyreduce:
break;
case 132:
-#line 1320 "asn1p_y.y"
+#line 1323 "asn1p_y.y"
{
int ret;
yyval.a_ref = asn1p_ref_new(yylineno);
@@ -3055,7 +3059,7 @@ yyreduce:
break;
case 133:
-#line 1328 "asn1p_y.y"
+#line 1331 "asn1p_y.y"
{
int ret;
yyval.a_ref = asn1p_ref_new(yylineno);
@@ -3069,7 +3073,7 @@ yyreduce:
break;
case 134:
-#line 1338 "asn1p_y.y"
+#line 1341 "asn1p_y.y"
{
int ret;
yyval.a_ref = asn1p_ref_new(yylineno);
@@ -3083,7 +3087,7 @@ yyreduce:
break;
case 135:
-#line 1348 "asn1p_y.y"
+#line 1351 "asn1p_y.y"
{
int ret;
yyval.a_ref = asn1p_ref_new(yylineno);
@@ -3097,7 +3101,7 @@ yyreduce:
break;
case 136:
-#line 1358 "asn1p_y.y"
+#line 1361 "asn1p_y.y"
{
int ret;
yyval.a_ref = asn1p_ref_new(yylineno);
@@ -3109,7 +3113,7 @@ yyreduce:
break;
case 137:
-#line 1366 "asn1p_y.y"
+#line 1369 "asn1p_y.y"
{
int ret;
yyval.a_ref = yyvsp[0].a_ref;
@@ -3132,7 +3136,7 @@ yyreduce:
break;
case 138:
-#line 1388 "asn1p_y.y"
+#line 1391 "asn1p_y.y"
{
int ret;
yyval.a_ref = asn1p_ref_new(yylineno);
@@ -3144,7 +3148,7 @@ yyreduce:
break;
case 139:
-#line 1396 "asn1p_y.y"
+#line 1399 "asn1p_y.y"
{
int ret;
yyval.a_ref = yyvsp[-2].a_ref;
@@ -3155,7 +3159,7 @@ yyreduce:
break;
case 141:
-#line 1409 "asn1p_y.y"
+#line 1412 "asn1p_y.y"
{
yyval.a_refcomp.lex_type = RLT_AmpUppercase;
yyval.a_refcomp.name = yyvsp[0].tv_str;
@@ -3163,7 +3167,7 @@ yyreduce:
break;
case 142:
-#line 1414 "asn1p_y.y"
+#line 1417 "asn1p_y.y"
{
yyval.a_refcomp.lex_type = RLT_Amplowercase;
yyval.a_refcomp.name = yyvsp[0].tv_str;
@@ -3171,7 +3175,7 @@ yyreduce:
break;
case 143:
-#line 1423 "asn1p_y.y"
+#line 1426 "asn1p_y.y"
{
yyval.a_ref = asn1p_ref_new(yylineno);
asn1p_ref_add_component(yyval.a_ref, yyvsp[0].tv_str, RLT_AmpUppercase);
@@ -3179,7 +3183,7 @@ yyreduce:
break;
case 144:
-#line 1427 "asn1p_y.y"
+#line 1430 "asn1p_y.y"
{
yyval.a_ref = yyval.a_ref;
asn1p_ref_add_component(yyval.a_ref, yyvsp[0].tv_str, RLT_AmpUppercase);
@@ -3187,7 +3191,7 @@ yyreduce:
break;
case 145:
-#line 1431 "asn1p_y.y"
+#line 1434 "asn1p_y.y"
{
yyval.a_ref = yyval.a_ref;
asn1p_ref_add_component(yyval.a_ref, yyvsp[0].tv_str, RLT_Amplowercase);
@@ -3195,7 +3199,7 @@ yyreduce:
break;
case 146:
-#line 1438 "asn1p_y.y"
+#line 1441 "asn1p_y.y"
{
yyval.a_ref = asn1p_ref_new(yylineno);
asn1p_ref_add_component(yyval.a_ref, yyvsp[0].tv_str, RLT_CAPITALS);
@@ -3203,7 +3207,7 @@ yyreduce:
break;
case 147:
-#line 1458 "asn1p_y.y"
+#line 1461 "asn1p_y.y"
{
yyval.a_expr = yyvsp[-2].a_expr;
assert(yyval.a_expr->Identifier == NULL);
@@ -3214,7 +3218,7 @@ yyreduce:
break;
case 150:
-#line 1470 "asn1p_y.y"
+#line 1473 "asn1p_y.y"
{
yyval.a_value = asn1p_value_fromint(0);
checkmem(yyval.a_value);
@@ -3225,12 +3229,12 @@ yyreduce:
break;
case 151:
-#line 1477 "asn1p_y.y"
+#line 1480 "asn1p_y.y"
{ asn1p_lexer_hack_push_opaque_state(); }
break;
case 152:
-#line 1477 "asn1p_y.y"
+#line 1480 "asn1p_y.y"
{
yyval.a_value = asn1p_value_frombuf(yyvsp[0].tv_opaque.buf, yyvsp[0].tv_opaque.len, 0);
checkmem(yyval.a_value);
@@ -3239,7 +3243,7 @@ yyreduce:
break;
case 153:
-#line 1482 "asn1p_y.y"
+#line 1485 "asn1p_y.y"
{
yyval.a_value = asn1p_value_fromint(0);
checkmem(yyval.a_value);
@@ -3248,7 +3252,7 @@ yyreduce:
break;
case 154:
-#line 1490 "asn1p_y.y"
+#line 1493 "asn1p_y.y"
{
yyval.a_value = asn1p_value_fromint(0);
checkmem(yyval.a_value);
@@ -3257,7 +3261,7 @@ yyreduce:
break;
case 155:
-#line 1495 "asn1p_y.y"
+#line 1498 "asn1p_y.y"
{
yyval.a_value = asn1p_value_fromint(0);
checkmem(yyval.a_value);
@@ -3266,7 +3270,7 @@ yyreduce:
break;
case 156:
-#line 1500 "asn1p_y.y"
+#line 1503 "asn1p_y.y"
{
yyval.a_value = _convert_bitstring2binary(yyvsp[0].tv_str, 'B');
checkmem(yyval.a_value);
@@ -3274,7 +3278,7 @@ yyreduce:
break;
case 157:
-#line 1504 "asn1p_y.y"
+#line 1507 "asn1p_y.y"
{
yyval.a_value = _convert_bitstring2binary(yyvsp[0].tv_str, 'H');
checkmem(yyval.a_value);
@@ -3282,21 +3286,21 @@ yyreduce:
break;
case 158:
-#line 1508 "asn1p_y.y"
+#line 1511 "asn1p_y.y"
{
yyval.a_value = yyval.a_value;
}
break;
case 159:
-#line 1511 "asn1p_y.y"
+#line 1514 "asn1p_y.y"
{
yyval.a_value = yyvsp[0].a_value;
}
break;
case 160:
-#line 1517 "asn1p_y.y"
+#line 1520 "asn1p_y.y"
{
asn1p_ref_t *ref;
int ret;
@@ -3311,7 +3315,7 @@ yyreduce:
break;
case 161:
-#line 1528 "asn1p_y.y"
+#line 1531 "asn1p_y.y"
{
asn1p_ref_t *ref;
int ret;
@@ -3329,7 +3333,7 @@ yyreduce:
break;
case 162:
-#line 1546 "asn1p_y.y"
+#line 1549 "asn1p_y.y"
{
yyval.a_value = asn1p_value_frombuf(yyvsp[0].tv_opaque.buf, yyvsp[0].tv_opaque.len, 0);
checkmem(yyval.a_value);
@@ -3337,7 +3341,7 @@ yyreduce:
break;
case 163:
-#line 1550 "asn1p_y.y"
+#line 1553 "asn1p_y.y"
{
yyval.a_value = asn1p_value_fromint(yyvsp[0].a_int);
checkmem(yyval.a_value);
@@ -3346,7 +3350,7 @@ yyreduce:
break;
case 164:
-#line 1555 "asn1p_y.y"
+#line 1558 "asn1p_y.y"
{
yyval.a_value = asn1p_value_fromint(yyvsp[0].a_int);
checkmem(yyval.a_value);
@@ -3355,7 +3359,7 @@ yyreduce:
break;
case 165:
-#line 1589 "asn1p_y.y"
+#line 1592 "asn1p_y.y"
{
yyval.tv_opaque.len = yyvsp[0].tv_opaque.len + 1;
yyval.tv_opaque.buf = malloc(yyval.tv_opaque.len + 1);
@@ -3368,7 +3372,7 @@ yyreduce:
break;
case 166:
-#line 1598 "asn1p_y.y"
+#line 1601 "asn1p_y.y"
{
int newsize = yyvsp[-1].tv_opaque.len + yyvsp[0].tv_opaque.len;
char *p = malloc(newsize + 1);
@@ -3384,87 +3388,87 @@ yyreduce:
break;
case 167:
-#line 1613 "asn1p_y.y"
+#line 1616 "asn1p_y.y"
{ yyval.a_type = ASN_BASIC_BOOLEAN; }
break;
case 168:
-#line 1614 "asn1p_y.y"
+#line 1617 "asn1p_y.y"
{ yyval.a_type = ASN_BASIC_NULL; }
break;
case 169:
-#line 1615 "asn1p_y.y"
+#line 1618 "asn1p_y.y"
{ yyval.a_type = ASN_BASIC_REAL; }
break;
case 170:
-#line 1616 "asn1p_y.y"
+#line 1619 "asn1p_y.y"
{ yyval.a_type = yyvsp[0].a_type; }
break;
case 171:
-#line 1617 "asn1p_y.y"
+#line 1620 "asn1p_y.y"
{ yyval.a_type = ASN_BASIC_OCTET_STRING; }
break;
case 172:
-#line 1618 "asn1p_y.y"
+#line 1621 "asn1p_y.y"
{ yyval.a_type = ASN_BASIC_OBJECT_IDENTIFIER; }
break;
case 173:
-#line 1619 "asn1p_y.y"
+#line 1622 "asn1p_y.y"
{ yyval.a_type = ASN_BASIC_RELATIVE_OID; }
break;
case 174:
-#line 1620 "asn1p_y.y"
+#line 1623 "asn1p_y.y"
{ yyval.a_type = ASN_BASIC_EXTERNAL; }
break;
case 175:
-#line 1621 "asn1p_y.y"
+#line 1624 "asn1p_y.y"
{ yyval.a_type = ASN_BASIC_EMBEDDED_PDV; }
break;
case 176:
-#line 1622 "asn1p_y.y"
+#line 1625 "asn1p_y.y"
{ yyval.a_type = ASN_BASIC_CHARACTER_STRING; }
break;
case 177:
-#line 1623 "asn1p_y.y"
+#line 1626 "asn1p_y.y"
{ yyval.a_type = ASN_BASIC_UTCTime; }
break;
case 178:
-#line 1624 "asn1p_y.y"
+#line 1627 "asn1p_y.y"
{ yyval.a_type = ASN_BASIC_GeneralizedTime; }
break;
case 179:
-#line 1625 "asn1p_y.y"
+#line 1628 "asn1p_y.y"
{ yyval.a_type = yyvsp[0].a_type; }
break;
case 180:
-#line 1632 "asn1p_y.y"
+#line 1635 "asn1p_y.y"
{ yyval.a_type = ASN_BASIC_INTEGER; }
break;
case 181:
-#line 1633 "asn1p_y.y"
+#line 1636 "asn1p_y.y"
{ yyval.a_type = ASN_BASIC_ENUMERATED; }
break;
case 182:
-#line 1634 "asn1p_y.y"
+#line 1637 "asn1p_y.y"
{ yyval.a_type = ASN_BASIC_BIT_STRING; }
break;
case 183:
-#line 1638 "asn1p_y.y"
+#line 1641 "asn1p_y.y"
{
yyval.a_expr = NEW_EXPR();
checkmem(yyval.a_expr);
@@ -3474,7 +3478,7 @@ yyreduce:
break;
case 184:
-#line 1644 "asn1p_y.y"
+#line 1647 "asn1p_y.y"
{
if(yyvsp[0].a_expr) {
yyval.a_expr = yyvsp[0].a_expr;
@@ -3488,12 +3492,12 @@ yyreduce:
break;
case 185:
-#line 1657 "asn1p_y.y"
+#line 1660 "asn1p_y.y"
{ yyval.a_type = ASN_STRING_BMPString; }
break;
case 186:
-#line 1658 "asn1p_y.y"
+#line 1661 "asn1p_y.y"
{
yyval.a_type = ASN_STRING_GeneralString;
fprintf(stderr, "WARNING: GeneralString is not fully supported\n");
@@ -3501,7 +3505,7 @@ yyreduce:
break;
case 187:
-#line 1662 "asn1p_y.y"
+#line 1665 "asn1p_y.y"
{
yyval.a_type = ASN_STRING_GraphicString;
fprintf(stderr, "WARNING: GraphicString is not fully supported\n");
@@ -3509,27 +3513,27 @@ yyreduce:
break;
case 188:
-#line 1666 "asn1p_y.y"
+#line 1669 "asn1p_y.y"
{ yyval.a_type = ASN_STRING_IA5String; }
break;
case 189:
-#line 1667 "asn1p_y.y"
+#line 1670 "asn1p_y.y"
{ yyval.a_type = ASN_STRING_ISO646String; }
break;
case 190:
-#line 1668 "asn1p_y.y"
+#line 1671 "asn1p_y.y"
{ yyval.a_type = ASN_STRING_NumericString; }
break;
case 191:
-#line 1669 "asn1p_y.y"
+#line 1672 "asn1p_y.y"
{ yyval.a_type = ASN_STRING_PrintableString; }
break;
case 192:
-#line 1670 "asn1p_y.y"
+#line 1673 "asn1p_y.y"
{
yyval.a_type = ASN_STRING_T61String;
fprintf(stderr, "WARNING: T61String is not fully supported\n");
@@ -3537,22 +3541,22 @@ yyreduce:
break;
case 193:
-#line 1674 "asn1p_y.y"
+#line 1677 "asn1p_y.y"
{ yyval.a_type = ASN_STRING_TeletexString; }
break;
case 194:
-#line 1675 "asn1p_y.y"
+#line 1678 "asn1p_y.y"
{ yyval.a_type = ASN_STRING_UniversalString; }
break;
case 195:
-#line 1676 "asn1p_y.y"
+#line 1679 "asn1p_y.y"
{ yyval.a_type = ASN_STRING_UTF8String; }
break;
case 196:
-#line 1677 "asn1p_y.y"
+#line 1680 "asn1p_y.y"
{
yyval.a_type = ASN_STRING_VideotexString;
fprintf(stderr, "WARNING: VideotexString is not fully supported\n");
@@ -3560,43 +3564,43 @@ yyreduce:
break;
case 197:
-#line 1681 "asn1p_y.y"
+#line 1684 "asn1p_y.y"
{ yyval.a_type = ASN_STRING_VisibleString; }
break;
case 198:
-#line 1682 "asn1p_y.y"
+#line 1685 "asn1p_y.y"
{ yyval.a_type = ASN_STRING_ObjectDescriptor; }
break;
- case 204:
-#line 1694 "asn1p_y.y"
+ case 203:
+#line 1696 "asn1p_y.y"
{ yyval.a_constr = 0; }
break;
- case 205:
-#line 1695 "asn1p_y.y"
+ case 204:
+#line 1697 "asn1p_y.y"
{
yyval.a_constr = yyvsp[0].a_constr;
}
break;
- case 207:
-#line 1702 "asn1p_y.y"
+ case 206:
+#line 1704 "asn1p_y.y"
{
yyval.a_constr = yyvsp[-1].a_constr;
}
break;
- case 208:
-#line 1708 "asn1p_y.y"
+ case 207:
+#line 1710 "asn1p_y.y"
{
CONSTRAINT_INSERT(yyval.a_constr, ACT_CA_SET, yyvsp[0].a_constr, 0);
}
break;
- case 209:
-#line 1711 "asn1p_y.y"
+ case 208:
+#line 1713 "asn1p_y.y"
{
/*
* This is a special case, for compatibility purposes.
@@ -3606,37 +3610,37 @@ yyreduce:
}
break;
- case 210:
-#line 1721 "asn1p_y.y"
+ case 209:
+#line 1723 "asn1p_y.y"
{
yyval.a_constr = yyvsp[-1].a_constr;
}
break;
- case 211:
-#line 1724 "asn1p_y.y"
+ case 210:
+#line 1726 "asn1p_y.y"
{
CONSTRAINT_INSERT(yyval.a_constr, ACT_CA_SET, yyvsp[-3].a_constr, yyvsp[-1].a_constr);
}
break;
- case 212:
-#line 1730 "asn1p_y.y"
+ case 211:
+#line 1732 "asn1p_y.y"
{
yyval.a_constr = asn1p_constraint_new(yylineno);
yyval.a_constr->type = ACT_EL_EXT;
}
break;
- case 213:
-#line 1734 "asn1p_y.y"
+ case 212:
+#line 1736 "asn1p_y.y"
{
yyval.a_constr = yyvsp[0].a_constr;
}
break;
- case 214:
-#line 1737 "asn1p_y.y"
+ case 213:
+#line 1739 "asn1p_y.y"
{
asn1p_constraint_t *ct;
ct = asn1p_constraint_new(yylineno);
@@ -3645,8 +3649,8 @@ yyreduce:
}
break;
- case 215:
-#line 1743 "asn1p_y.y"
+ case 214:
+#line 1745 "asn1p_y.y"
{
asn1p_constraint_t *ct;
ct = asn1p_constraint_new(yylineno);
@@ -3658,13 +3662,6 @@ yyreduce:
break;
case 216:
-#line 1754 "asn1p_y.y"
- {
- yyval.a_constr = yyvsp[0].a_constr;
- }
- break;
-
- case 217:
#line 1757 "asn1p_y.y"
{
CONSTRAINT_INSERT(yyval.a_constr, ACT_CA_AEX, yyvsp[0].a_constr, 0);
@@ -3672,28 +3669,28 @@ yyreduce:
break;
case 218:
-#line 1760 "asn1p_y.y"
+#line 1764 "asn1p_y.y"
{
CONSTRAINT_INSERT(yyval.a_constr, ACT_CA_UNI, yyvsp[-2].a_constr, yyvsp[0].a_constr);
}
break;
- case 219:
-#line 1763 "asn1p_y.y"
+ case 220:
+#line 1771 "asn1p_y.y"
{
CONSTRAINT_INSERT(yyval.a_constr, ACT_CA_INT, yyvsp[-2].a_constr, yyvsp[0].a_constr);
}
break;
- case 220:
-#line 1766 "asn1p_y.y"
+ case 222:
+#line 1779 "asn1p_y.y"
{
CONSTRAINT_INSERT(yyval.a_constr, ACT_CA_EXC, yyvsp[-2].a_constr, yyvsp[0].a_constr);
}
break;
- case 221:
-#line 1772 "asn1p_y.y"
+ case 223:
+#line 1785 "asn1p_y.y"
{
int ret;
yyval.a_constr = asn1p_constraint_new(yylineno);
@@ -3704,8 +3701,8 @@ yyreduce:
}
break;
- case 222:
-#line 1780 "asn1p_y.y"
+ case 224:
+#line 1793 "asn1p_y.y"
{
int ret;
yyval.a_constr = asn1p_constraint_new(yylineno);
@@ -3716,8 +3713,8 @@ yyreduce:
}
break;
- case 223:
-#line 1788 "asn1p_y.y"
+ case 225:
+#line 1801 "asn1p_y.y"
{
yyval.a_constr = asn1p_constraint_new(yylineno);
checkmem(yyval.a_constr);
@@ -3726,8 +3723,8 @@ yyreduce:
}
break;
- case 224:
-#line 1794 "asn1p_y.y"
+ case 226:
+#line 1807 "asn1p_y.y"
{
yyval.a_constr = asn1p_constraint_new(yylineno);
checkmem(yyval.a_constr);
@@ -3736,8 +3733,8 @@ yyreduce:
}
break;
- case 225:
-#line 1800 "asn1p_y.y"
+ case 227:
+#line 1813 "asn1p_y.y"
{
yyval.a_constr = asn1p_constraint_new(yylineno);
checkmem(yyval.a_constr);
@@ -3747,8 +3744,8 @@ yyreduce:
}
break;
- case 226:
-#line 1807 "asn1p_y.y"
+ case 228:
+#line 1820 "asn1p_y.y"
{
yyval.a_constr = asn1p_constraint_new(yylineno);
checkmem(yyval.a_constr);
@@ -3759,8 +3756,8 @@ yyreduce:
}
break;
- case 227:
-#line 1815 "asn1p_y.y"
+ case 229:
+#line 1828 "asn1p_y.y"
{
yyval.a_constr = asn1p_constraint_new(yylineno);
checkmem(yyval.a_constr);
@@ -3771,8 +3768,8 @@ yyreduce:
}
break;
- case 228:
-#line 1823 "asn1p_y.y"
+ case 230:
+#line 1836 "asn1p_y.y"
{
yyval.a_constr = asn1p_constraint_new(yylineno);
checkmem(yyval.a_constr);
@@ -3784,29 +3781,29 @@ yyreduce:
}
break;
- case 229:
-#line 1832 "asn1p_y.y"
+ case 231:
+#line 1845 "asn1p_y.y"
{
yyval.a_constr = yyvsp[0].a_constr;
}
break;
- case 230:
-#line 1838 "asn1p_y.y"
+ case 232:
+#line 1851 "asn1p_y.y"
{
yyval.a_ctype = ACT_CT_SIZE;
}
break;
- case 231:
-#line 1841 "asn1p_y.y"
+ case 233:
+#line 1854 "asn1p_y.y"
{
yyval.a_ctype = ACT_CT_FROM;
}
break;
- case 232:
-#line 1847 "asn1p_y.y"
+ case 234:
+#line 1860 "asn1p_y.y"
{
yyval.a_value = asn1p_value_fromint(0);
checkmem(yyval.a_value);
@@ -3814,8 +3811,8 @@ yyreduce:
}
break;
- case 233:
-#line 1852 "asn1p_y.y"
+ case 235:
+#line 1865 "asn1p_y.y"
{
yyval.a_value = asn1p_value_fromint(1);
checkmem(yyval.a_value);
@@ -3823,8 +3820,8 @@ yyreduce:
}
break;
- case 236:
-#line 1859 "asn1p_y.y"
+ case 238:
+#line 1872 "asn1p_y.y"
{
asn1p_ref_t *ref;
int ret;
@@ -3838,8 +3835,8 @@ yyreduce:
}
break;
- case 237:
-#line 1873 "asn1p_y.y"
+ case 239:
+#line 1886 "asn1p_y.y"
{
asn1p_ref_t *ref;
int ret;
@@ -3853,36 +3850,36 @@ yyreduce:
}
break;
- case 238:
-#line 1887 "asn1p_y.y"
+ case 240:
+#line 1900 "asn1p_y.y"
{
CONSTRAINT_INSERT(yyval.a_constr, ACT_CT_WCOMP, yyvsp[0].a_constr, 0);
}
break;
- case 239:
-#line 1890 "asn1p_y.y"
+ case 241:
+#line 1903 "asn1p_y.y"
{
CONSTRAINT_INSERT(yyval.a_constr, ACT_CT_WCOMPS, yyvsp[-1].a_constr, 0);
}
break;
- case 240:
-#line 1896 "asn1p_y.y"
+ case 242:
+#line 1909 "asn1p_y.y"
{
yyval.a_constr = yyvsp[0].a_constr;
}
break;
- case 241:
-#line 1899 "asn1p_y.y"
+ case 243:
+#line 1912 "asn1p_y.y"
{
CONSTRAINT_INSERT(yyval.a_constr, ACT_CT_WCOMPS, yyvsp[-2].a_constr, yyvsp[0].a_constr);
}
break;
- case 242:
-#line 1905 "asn1p_y.y"
+ case 244:
+#line 1918 "asn1p_y.y"
{
yyval.a_constr = asn1p_constraint_new(yylineno);
checkmem(yyval.a_constr);
@@ -3891,8 +3888,8 @@ yyreduce:
}
break;
- case 243:
-#line 1911 "asn1p_y.y"
+ case 245:
+#line 1924 "asn1p_y.y"
{
yyval.a_constr = asn1p_constraint_new(yylineno);
checkmem(yyval.a_constr);
@@ -3903,44 +3900,44 @@ yyreduce:
}
break;
- case 244:
-#line 1925 "asn1p_y.y"
+ case 246:
+#line 1938 "asn1p_y.y"
{ yyval.a_pres = ACPRES_DEFAULT; }
break;
- case 245:
-#line 1926 "asn1p_y.y"
+ case 247:
+#line 1939 "asn1p_y.y"
{ yyval.a_pres = yyvsp[0].a_pres; }
break;
- case 246:
-#line 1930 "asn1p_y.y"
+ case 248:
+#line 1943 "asn1p_y.y"
{
yyval.a_pres = ACPRES_PRESENT;
}
break;
- case 247:
-#line 1933 "asn1p_y.y"
+ case 249:
+#line 1946 "asn1p_y.y"
{
yyval.a_pres = ACPRES_ABSENT;
}
break;
- case 248:
-#line 1936 "asn1p_y.y"
+ case 250:
+#line 1949 "asn1p_y.y"
{
yyval.a_pres = ACPRES_OPTIONAL;
}
break;
- case 252:
-#line 1951 "asn1p_y.y"
+ case 254:
+#line 1964 "asn1p_y.y"
{ asn1p_lexer_hack_push_opaque_state(); }
break;
- case 253:
-#line 1951 "asn1p_y.y"
+ case 255:
+#line 1964 "asn1p_y.y"
{
yyval.a_constr = asn1p_constraint_new(yylineno);
checkmem(yyval.a_constr);
@@ -3951,8 +3948,8 @@ yyreduce:
}
break;
- case 254:
-#line 1962 "asn1p_y.y"
+ case 256:
+#line 1975 "asn1p_y.y"
{
yyval.a_constr = asn1p_constraint_new(yylineno);
yyval.a_constr->type = ACT_CT_CTNG;
@@ -3960,42 +3957,42 @@ yyreduce:
}
break;
- case 255:
-#line 1970 "asn1p_y.y"
+ case 257:
+#line 1983 "asn1p_y.y"
{ yyval.a_ctype = ACT_EL_RANGE; }
break;
- case 256:
-#line 1971 "asn1p_y.y"
+ case 258:
+#line 1984 "asn1p_y.y"
{ yyval.a_ctype = ACT_EL_RLRANGE; }
break;
- case 257:
-#line 1972 "asn1p_y.y"
+ case 259:
+#line 1985 "asn1p_y.y"
{ yyval.a_ctype = ACT_EL_LLRANGE; }
break;
- case 258:
-#line 1973 "asn1p_y.y"
+ case 260:
+#line 1986 "asn1p_y.y"
{ yyval.a_ctype = ACT_EL_ULRANGE; }
break;
- case 259:
-#line 1976 "asn1p_y.y"
+ case 261:
+#line 1989 "asn1p_y.y"
{
yyval.a_constr = yyvsp[0].a_constr;
}
break;
- case 260:
-#line 1979 "asn1p_y.y"
+ case 262:
+#line 1992 "asn1p_y.y"
{
yyval.a_constr = yyvsp[0].a_constr;
}
break;
- case 261:
-#line 1988 "asn1p_y.y"
+ case 263:
+#line 2001 "asn1p_y.y"
{
asn1p_ref_t *ref = asn1p_ref_new(yylineno);
asn1p_constraint_t *ct;
@@ -4010,15 +4007,15 @@ yyreduce:
}
break;
- case 262:
-#line 2003 "asn1p_y.y"
+ case 264:
+#line 2016 "asn1p_y.y"
{
CONSTRAINT_INSERT(yyval.a_constr, ACT_CA_CRC, yyvsp[-3].a_constr, yyvsp[-1].a_constr);
}
break;
- case 263:
-#line 2009 "asn1p_y.y"
+ case 265:
+#line 2022 "asn1p_y.y"
{
yyval.a_constr = asn1p_constraint_new(yylineno);
checkmem(yyval.a_constr);
@@ -4027,8 +4024,8 @@ yyreduce:
}
break;
- case 264:
-#line 2015 "asn1p_y.y"
+ case 266:
+#line 2028 "asn1p_y.y"
{
asn1p_constraint_t *ct;
ct = asn1p_constraint_new(yylineno);
@@ -4039,8 +4036,8 @@ yyreduce:
}
break;
- case 265:
-#line 2029 "asn1p_y.y"
+ case 267:
+#line 2042 "asn1p_y.y"
{
char *p = malloc(strlen(yyvsp[0].tv_str) + 2);
int ret;
@@ -4054,8 +4051,8 @@ yyreduce:
}
break;
- case 266:
-#line 2040 "asn1p_y.y"
+ case 268:
+#line 2053 "asn1p_y.y"
{
char *p = malloc(strlen(yyvsp[0].tv_str) + 3);
int ret;
@@ -4070,15 +4067,15 @@ yyreduce:
}
break;
- case 267:
-#line 2056 "asn1p_y.y"
+ case 269:
+#line 2069 "asn1p_y.y"
{
yyval.tv_str = yyvsp[0].tv_str;
}
break;
- case 268:
-#line 2059 "asn1p_y.y"
+ case 270:
+#line 2072 "asn1p_y.y"
{
int l1 = strlen(yyvsp[-2].tv_str);
int l3 = strlen(yyvsp[0].tv_str);
@@ -4090,52 +4087,52 @@ yyreduce:
}
break;
- case 269:
-#line 2077 "asn1p_y.y"
+ case 271:
+#line 2090 "asn1p_y.y"
{
yyval.a_marker.flags = EM_NOMARK;
yyval.a_marker.default_value = 0;
}
break;
- case 270:
-#line 2081 "asn1p_y.y"
+ case 272:
+#line 2094 "asn1p_y.y"
{ yyval.a_marker = yyvsp[0].a_marker; }
break;
- case 271:
-#line 2085 "asn1p_y.y"
+ case 273:
+#line 2098 "asn1p_y.y"
{
yyval.a_marker.flags = EM_OPTIONAL | EM_INDIRECT;
yyval.a_marker.default_value = 0;
}
break;
- case 272:
-#line 2089 "asn1p_y.y"
+ case 274:
+#line 2102 "asn1p_y.y"
{
yyval.a_marker.flags = EM_DEFAULT;
yyval.a_marker.default_value = yyvsp[0].a_value;
}
break;
- case 273:
-#line 2112 "asn1p_y.y"
+ case 275:
+#line 2125 "asn1p_y.y"
{
yyval.a_expr = NEW_EXPR();
checkmem(yyval.a_expr);
}
break;
- case 274:
-#line 2116 "asn1p_y.y"
+ case 276:
+#line 2129 "asn1p_y.y"
{
yyval.a_expr = yyvsp[-1].a_expr;
}
break;
- case 275:
-#line 2122 "asn1p_y.y"
+ case 277:
+#line 2135 "asn1p_y.y"
{
yyval.a_expr = NEW_EXPR();
checkmem(yyval.a_expr);
@@ -4143,16 +4140,16 @@ yyreduce:
}
break;
- case 276:
-#line 2127 "asn1p_y.y"
+ case 278:
+#line 2140 "asn1p_y.y"
{
yyval.a_expr = yyvsp[-2].a_expr;
asn1p_expr_add(yyval.a_expr, yyvsp[0].a_expr);
}
break;
- case 277:
-#line 2134 "asn1p_y.y"
+ case 279:
+#line 2147 "asn1p_y.y"
{
yyval.a_expr = NEW_EXPR();
checkmem(yyval.a_expr);
@@ -4162,8 +4159,8 @@ yyreduce:
}
break;
- case 278:
-#line 2141 "asn1p_y.y"
+ case 280:
+#line 2154 "asn1p_y.y"
{
yyval.a_expr = NEW_EXPR();
checkmem(yyval.a_expr);
@@ -4174,8 +4171,8 @@ yyreduce:
}
break;
- case 279:
-#line 2149 "asn1p_y.y"
+ case 281:
+#line 2162 "asn1p_y.y"
{
yyval.a_expr = NEW_EXPR();
checkmem(yyval.a_expr);
@@ -4186,8 +4183,8 @@ yyreduce:
}
break;
- case 280:
-#line 2157 "asn1p_y.y"
+ case 282:
+#line 2170 "asn1p_y.y"
{
yyval.a_expr = NEW_EXPR();
checkmem(yyval.a_expr);
@@ -4197,8 +4194,8 @@ yyreduce:
}
break;
- case 281:
-#line 2164 "asn1p_y.y"
+ case 283:
+#line 2177 "asn1p_y.y"
{
yyval.a_expr = NEW_EXPR();
checkmem(yyval.a_expr);
@@ -4209,129 +4206,129 @@ yyreduce:
}
break;
- case 282:
-#line 2175 "asn1p_y.y"
+ case 284:
+#line 2188 "asn1p_y.y"
{
yyval.a_value = asn1p_value_fromint(yyvsp[0].a_int);
checkmem(yyval.a_value);
}
break;
- case 283:
-#line 2179 "asn1p_y.y"
+ case 285:
+#line 2192 "asn1p_y.y"
{
yyval.a_value = asn1p_value_fromint(yyvsp[0].a_int);
checkmem(yyval.a_value);
}
break;
- case 285:
-#line 2187 "asn1p_y.y"
+ case 287:
+#line 2200 "asn1p_y.y"
{
yyval.a_value = asn1p_value_fromdouble(yyvsp[0].a_dbl);
checkmem(yyval.a_value);
}
break;
- case 286:
-#line 2218 "asn1p_y.y"
+ case 288:
+#line 2231 "asn1p_y.y"
{ memset(&yyval.a_tag, 0, sizeof(yyval.a_tag)); }
break;
- case 287:
-#line 2219 "asn1p_y.y"
+ case 289:
+#line 2232 "asn1p_y.y"
{ yyval.a_tag = yyvsp[0].a_tag; }
break;
- case 288:
-#line 2223 "asn1p_y.y"
+ case 290:
+#line 2236 "asn1p_y.y"
{
yyval.a_tag = yyvsp[-1].a_tag;
yyval.a_tag.tag_mode = yyvsp[0].a_tag.tag_mode;
}
break;
- case 289:
-#line 2230 "asn1p_y.y"
+ case 291:
+#line 2243 "asn1p_y.y"
{
yyval.a_tag = yyvsp[-2].a_tag;
yyval.a_tag.tag_value = yyvsp[-1].a_int;
}
break;
- case 290:
-#line 2236 "asn1p_y.y"
+ case 292:
+#line 2249 "asn1p_y.y"
{ yyval.a_tag.tag_class = TC_CONTEXT_SPECIFIC; }
break;
- case 291:
-#line 2237 "asn1p_y.y"
+ case 293:
+#line 2250 "asn1p_y.y"
{ yyval.a_tag.tag_class = TC_UNIVERSAL; }
break;
- case 292:
-#line 2238 "asn1p_y.y"
+ case 294:
+#line 2251 "asn1p_y.y"
{ yyval.a_tag.tag_class = TC_APPLICATION; }
break;
- case 293:
-#line 2239 "asn1p_y.y"
+ case 295:
+#line 2252 "asn1p_y.y"
{ yyval.a_tag.tag_class = TC_PRIVATE; }
break;
- case 294:
-#line 2243 "asn1p_y.y"
+ case 296:
+#line 2256 "asn1p_y.y"
{ yyval.a_tag.tag_mode = TM_DEFAULT; }
break;
- case 295:
-#line 2244 "asn1p_y.y"
+ case 297:
+#line 2257 "asn1p_y.y"
{ yyval.a_tag.tag_mode = TM_IMPLICIT; }
break;
- case 296:
-#line 2245 "asn1p_y.y"
+ case 298:
+#line 2258 "asn1p_y.y"
{ yyval.a_tag.tag_mode = TM_EXPLICIT; }
break;
- case 297:
-#line 2249 "asn1p_y.y"
+ case 299:
+#line 2262 "asn1p_y.y"
{
checkmem(yyvsp[0].tv_str);
yyval.tv_str = yyvsp[0].tv_str;
}
break;
- case 298:
-#line 2253 "asn1p_y.y"
+ case 300:
+#line 2266 "asn1p_y.y"
{
checkmem(yyvsp[0].tv_str);
yyval.tv_str = yyvsp[0].tv_str;
}
break;
- case 299:
-#line 2261 "asn1p_y.y"
+ case 301:
+#line 2274 "asn1p_y.y"
{
checkmem(yyvsp[0].tv_str);
yyval.tv_str = yyvsp[0].tv_str;
}
break;
- case 300:
-#line 2268 "asn1p_y.y"
+ case 302:
+#line 2281 "asn1p_y.y"
{ yyval.tv_str = 0; }
break;
- case 301:
-#line 2269 "asn1p_y.y"
+ case 303:
+#line 2282 "asn1p_y.y"
{
yyval.tv_str = yyvsp[0].tv_str;
}
break;
- case 302:
-#line 2275 "asn1p_y.y"
+ case 304:
+#line 2288 "asn1p_y.y"
{
checkmem(yyvsp[0].tv_str);
yyval.tv_str = yyvsp[0].tv_str;
@@ -4342,7 +4339,7 @@ yyreduce:
}
/* Line 1016 of /usr/local/share/bison/yacc.c. */
-#line 4346 "asn1p_y.c"
+#line 4343 "asn1p_y.c"
yyvsp -= yylen;
yyssp -= yylen;
@@ -4561,7 +4558,7 @@ yyreturn:
}
-#line 2281 "asn1p_y.y"
+#line 2294 "asn1p_y.y"
diff --git a/libasn1parser/asn1p_y.y b/libasn1parser/asn1p_y.y
index 9baa9ce6..a89ba798 100644
--- a/libasn1parser/asn1p_y.y
+++ b/libasn1parser/asn1p_y.y
@@ -226,7 +226,7 @@ static asn1p_module_t *currentModule;
%token TOK_VisibleString
%token TOK_WITH
-%left TOK_EXCEPT
+%nonassoc TOK_EXCEPT
%left '^' TOK_INTERSECTION
%left '|' TOK_UNION
@@ -316,6 +316,9 @@ static asn1p_module_t *currentModule;
%type <a_constr> SetOfConstraints
%type <a_constr> ElementSetSpecs /* 1..2,...,3 */
%type <a_constr> ElementSetSpec /* 1..2,...,3 */
+%type <a_constr> Unions
+%type <a_constr> Intersections
+%type <a_constr> IntersectionElements
%type <a_constr> ConstraintSubtypeElement /* 1..2 */
%type <a_constr> SimpleTableConstraint
%type <a_constr> UserDefinedConstraint
@@ -1686,9 +1689,8 @@ BasicString:
/*
* Data type constraints.
*/
-Union: '|' | TOK_UNION;
-Intersection: '^' | TOK_INTERSECTION;
-Except: TOK_EXCEPT;
+UnionMark: '|' | TOK_UNION;
+IntersectionMark: '^' | TOK_INTERSECTION;
optConstraints:
{ $$ = 0; }
@@ -1751,19 +1753,30 @@ ElementSetSpecs:
;
ElementSetSpec:
- ConstraintSubtypeElement {
- $$ = $1;
- }
+ Unions
| TOK_ALL TOK_EXCEPT ConstraintSubtypeElement {
CONSTRAINT_INSERT($$, ACT_CA_AEX, $3, 0);
}
- | ElementSetSpec Union ConstraintSubtypeElement {
+ ;
+
+Unions:
+ Intersections
+ | Unions UnionMark Intersections {
CONSTRAINT_INSERT($$, ACT_CA_UNI, $1, $3);
}
- | ElementSetSpec Intersection ConstraintSubtypeElement {
+ ;
+
+Intersections:
+ IntersectionElements
+ | Intersections IntersectionMark IntersectionElements {
CONSTRAINT_INSERT($$, ACT_CA_INT, $1, $3);
}
- | ConstraintSubtypeElement Except ConstraintSubtypeElement {
+ ;
+
+
+IntersectionElements:
+ ConstraintSubtypeElement
+ | ConstraintSubtypeElement TOK_EXCEPT ConstraintSubtypeElement {
CONSTRAINT_INSERT($$, ACT_CA_EXC, $1, $3);
}
;