Commit 557f27de authored by Lev Walkin's avatar Lev Walkin

valuesettypeassignment parsing

parent 171487e6
......@@ -7,6 +7,7 @@
* Refactored Information Object Classes parsing.
* Refactored Parameterization support.
* [typedef enum foo {}] foo_e; is now e_foo, see #1287989
* Refactored ValueSetTypeAssignment parsing.
0.9.20: 2006-Mar-06
......
......@@ -223,7 +223,7 @@ typedef union {
#define YYFINAL 443
#define YYFINAL 444
#define YYFLAG -32768
#define YYNTBASE 120
......@@ -275,30 +275,30 @@ static const short yyprhs[] = { 0,
57, 60, 63, 64, 66, 68, 71, 73, 75, 77,
79, 81, 82, 86, 88, 92, 95, 97, 100, 101,
103, 108, 110, 114, 116, 120, 122, 126, 130, 133,
135, 139, 141, 145, 147, 148, 155, 157, 159, 164,
168, 172, 179, 181, 185, 187, 191, 195, 199, 201,
205, 207, 209, 211, 212, 214, 216, 220, 224, 227,
231, 233, 235, 239, 242, 244, 246, 252, 253, 255,
257, 261, 264, 269, 273, 277, 281, 285, 289, 290,
292, 293, 300, 302, 305, 307, 309, 311, 315, 317,
321, 325, 329, 330, 333, 335, 340, 345, 350, 357,
364, 366, 371, 375, 377, 381, 385, 389, 391, 395,
397, 401, 403, 405, 407, 409, 413, 417, 419, 424,
426, 428, 432, 433, 437, 439, 441, 443, 445, 447,
449, 451, 453, 457, 459, 461, 463, 465, 468, 470,
472, 474, 476, 479, 482, 484, 486, 489, 492, 494,
496, 498, 500, 502, 505, 507, 510, 512, 514, 516,
518, 520, 522, 524, 526, 528, 530, 532, 534, 536,
538, 540, 542, 544, 546, 548, 549, 551, 553, 558,
562, 567, 569, 573, 579, 581, 585, 589, 593, 597,
602, 606, 608, 610, 614, 618, 622, 626, 628, 630,
631, 637, 639, 642, 645, 649, 651, 653, 655, 657,
659, 661, 663, 665, 669, 675, 677, 681, 683, 687,
688, 690, 692, 694, 696, 698, 700, 704, 709, 711,
715, 718, 722, 724, 728, 729, 731, 733, 736, 739,
743, 745, 749, 751, 756, 761, 763, 765, 767, 769,
770, 772, 775, 780, 781, 783, 785, 787, 788, 790,
792, 794, 796, 798, 799, 801
135, 139, 141, 145, 147, 151, 156, 158, 160, 165,
169, 173, 180, 182, 186, 188, 192, 196, 200, 202,
206, 208, 210, 212, 213, 215, 217, 221, 225, 228,
232, 234, 236, 240, 243, 245, 247, 253, 254, 256,
258, 262, 265, 270, 274, 278, 282, 286, 290, 291,
293, 294, 301, 303, 306, 308, 310, 312, 316, 318,
322, 326, 330, 331, 334, 336, 341, 346, 351, 358,
365, 367, 372, 376, 378, 382, 386, 390, 392, 396,
398, 402, 404, 406, 408, 410, 414, 418, 420, 425,
427, 429, 433, 434, 438, 440, 442, 444, 446, 448,
450, 452, 454, 458, 460, 462, 464, 466, 469, 471,
473, 475, 477, 480, 483, 485, 487, 490, 493, 495,
497, 499, 501, 503, 506, 508, 511, 513, 515, 517,
519, 521, 523, 525, 527, 529, 531, 533, 535, 537,
539, 541, 543, 545, 547, 549, 550, 552, 554, 559,
563, 568, 570, 574, 580, 582, 586, 590, 594, 598,
603, 607, 609, 611, 615, 619, 623, 627, 629, 631,
632, 638, 640, 643, 646, 650, 652, 654, 656, 658,
660, 662, 664, 666, 670, 676, 678, 682, 684, 688,
689, 691, 693, 695, 697, 699, 701, 705, 710, 712,
716, 719, 723, 725, 729, 730, 732, 734, 737, 740,
744, 746, 750, 752, 757, 762, 764, 766, 768, 770,
771, 773, 776, 781, 782, 784, 786, 788, 789, 791,
793, 795, 797, 799, 800, 802
};
static const short yyrhs[] = { 121,
......@@ -309,115 +309,115 @@ static const short yyrhs[] = { 121,
128, 0, 129, 0, 128, 129, 0, 45, 88, 0,
56, 88, 0, 24, 88, 0, 47, 57, 0, 15,
61, 0, 0, 131, 0, 132, 0, 131, 132, 0,
134, 0, 140, 0, 146, 0, 176, 0, 143, 0,
134, 0, 140, 0, 146, 0, 176, 0, 144, 0,
0, 42, 15, 133, 0, 186, 0, 58, 135, 111,
0, 58, 50, 0, 137, 0, 135, 137, 0, 0,
124, 0, 138, 50, 223, 136, 0, 139, 0, 138,
112, 139, 0, 223, 0, 223, 107, 108, 0, 226,
0, 46, 141, 111, 0, 46, 21, 111, 0, 46,
111, 0, 142, 0, 141, 112, 142, 0, 223, 0,
223, 107, 108, 0, 226, 0, 0, 223, 145, 3,
107, 144, 182, 0, 185, 0, 170, 0, 170, 107,
149, 108, 0, 223, 3, 166, 0, 223, 3, 156,
0, 223, 107, 147, 108, 3, 166, 0, 148, 0,
147, 112, 148, 0, 223, 0, 223, 113, 226, 0,
223, 113, 223, 0, 183, 113, 226, 0, 150, 0,
149, 112, 150, 0, 166, 0, 179, 0, 226, 0,
0, 152, 0, 153, 0, 152, 112, 153, 0, 226,
166, 212, 0, 166, 212, 0, 34, 72, 166, 0,
165, 0, 155, 0, 154, 112, 155, 0, 226, 166,
0, 165, 0, 166, 0, 32, 107, 158, 108, 160,
0, 0, 92, 0, 159, 0, 158, 112, 159, 0,
16, 212, 0, 17, 166, 157, 212, 0, 17, 174,
212, 0, 17, 175, 212, 0, 16, 174, 212, 0,
16, 166, 212, 0, 16, 175, 212, 0, 0, 161,
0, 0, 99, 86, 107, 162, 163, 108, 0, 164,
0, 163, 164, 0, 4, 0, 18, 0, 173, 0,
114, 163, 115, 0, 106, 0, 106, 116, 180, 0,
106, 116, 217, 0, 218, 168, 190, 0, 0, 167,
169, 0, 145, 0, 31, 107, 154, 108, 0, 82,
107, 151, 108, 0, 83, 107, 151, 108, 0, 82,
190, 72, 225, 218, 168, 0, 83, 190, 72, 225,
218, 168, 0, 22, 0, 22, 39, 29, 226, 0,
60, 72, 170, 0, 14, 0, 14, 117, 223, 0,
224, 117, 223, 0, 14, 117, 226, 0, 224, 0,
224, 117, 171, 0, 172, 0, 171, 117, 172, 0,
173, 0, 16, 0, 17, 0, 16, 0, 174, 117,
16, 0, 174, 117, 17, 0, 15, 0, 226, 145,
3, 177, 0, 179, 0, 180, 0, 226, 113, 177,
0, 0, 107, 178, 182, 0, 67, 0, 49, 0,
90, 0, 6, 0, 8, 0, 181, 0, 217, 0,
226, 0, 223, 117, 226, 0, 7, 0, 11, 0,
12, 0, 5, 0, 182, 5, 0, 28, 0, 67,
0, 80, 0, 184, 0, 71, 85, 0, 69, 55,
0, 81, 0, 48, 0, 40, 75, 0, 30, 85,
0, 95, 0, 51, 0, 186, 0, 62, 0, 44,
0, 26, 85, 0, 183, 0, 184, 214, 0, 27,
0, 52, 0, 53, 0, 54, 0, 63, 0, 68,
0, 78, 0, 87, 0, 89, 0, 94, 0, 96,
0, 97, 0, 98, 0, 70, 0, 103, 0, 104,
0, 101, 0, 102, 0, 100, 0, 0, 191, 0,
192, 0, 84, 109, 193, 110, 0, 109, 193, 110,
0, 192, 109, 193, 110, 0, 194, 0, 194, 112,
106, 0, 194, 112, 106, 112, 194, 0, 195, 0,
21, 100, 195, 0, 194, 187, 195, 0, 194, 188,
195, 0, 195, 189, 195, 0, 198, 109, 193, 110,
0, 109, 193, 110, 0, 199, 0, 200, 0, 199,
197, 199, 0, 65, 197, 199, 0, 199, 197, 64,
0, 65, 197, 64, 0, 206, 0, 201, 0, 0,
35, 29, 107, 196, 182, 0, 105, 0, 105, 118,
0, 118, 105, 0, 118, 105, 118, 0, 84, 0,
50, 0, 49, 0, 90, 0, 217, 0, 181, 0,
226, 0, 223, 0, 99, 33, 192, 0, 99, 34,
107, 202, 108, 0, 203, 0, 202, 112, 203, 0,
106, 0, 226, 190, 204, 0, 0, 205, 0, 77,
0, 19, 0, 73, 0, 207, 0, 208, 0, 107,
223, 108, 0, 207, 107, 209, 108, 0, 210, 0,
209, 112, 210, 0, 119, 211, 0, 119, 117, 211,
0, 226, 0, 211, 117, 226, 0, 0, 213, 0,
73, 0, 37, 177, 0, 107, 108, 0, 107, 215,
108, 0, 216, 0, 215, 112, 216, 0, 226, 0,
226, 109, 217, 110, 0, 226, 109, 180, 110, 0,
217, 0, 106, 0, 10, 0, 13, 0, 0, 219,
0, 220, 222, 0, 114, 221, 10, 115, 0, 0,
93, 0, 23, 0, 79, 0, 0, 56, 0, 45,
0, 14, 0, 15, 0, 15, 0, 0, 226, 0,
9, 0
223, 107, 108, 0, 226, 0, 107, 193, 108, 0,
223, 145, 3, 143, 0, 185, 0, 170, 0, 170,
107, 149, 108, 0, 223, 3, 166, 0, 223, 3,
156, 0, 223, 107, 147, 108, 3, 166, 0, 148,
0, 147, 112, 148, 0, 223, 0, 223, 113, 226,
0, 223, 113, 223, 0, 183, 113, 226, 0, 150,
0, 149, 112, 150, 0, 166, 0, 179, 0, 226,
0, 0, 152, 0, 153, 0, 152, 112, 153, 0,
226, 166, 212, 0, 166, 212, 0, 34, 72, 166,
0, 165, 0, 155, 0, 154, 112, 155, 0, 226,
166, 0, 165, 0, 166, 0, 32, 107, 158, 108,
160, 0, 0, 92, 0, 159, 0, 158, 112, 159,
0, 16, 212, 0, 17, 166, 157, 212, 0, 17,
174, 212, 0, 17, 175, 212, 0, 16, 174, 212,
0, 16, 166, 212, 0, 16, 175, 212, 0, 0,
161, 0, 0, 99, 86, 107, 162, 163, 108, 0,
164, 0, 163, 164, 0, 4, 0, 18, 0, 173,
0, 114, 163, 115, 0, 106, 0, 106, 116, 180,
0, 106, 116, 217, 0, 218, 168, 190, 0, 0,
167, 169, 0, 145, 0, 31, 107, 154, 108, 0,
82, 107, 151, 108, 0, 83, 107, 151, 108, 0,
82, 190, 72, 225, 218, 168, 0, 83, 190, 72,
225, 218, 168, 0, 22, 0, 22, 39, 29, 226,
0, 60, 72, 170, 0, 14, 0, 14, 117, 223,
0, 224, 117, 223, 0, 14, 117, 226, 0, 224,
0, 224, 117, 171, 0, 172, 0, 171, 117, 172,
0, 173, 0, 16, 0, 17, 0, 16, 0, 174,
117, 16, 0, 174, 117, 17, 0, 15, 0, 226,
145, 3, 177, 0, 179, 0, 180, 0, 226, 113,
177, 0, 0, 107, 178, 182, 0, 67, 0, 49,
0, 90, 0, 6, 0, 8, 0, 181, 0, 217,
0, 226, 0, 223, 117, 226, 0, 7, 0, 11,
0, 12, 0, 5, 0, 182, 5, 0, 28, 0,
67, 0, 80, 0, 184, 0, 71, 85, 0, 69,
55, 0, 81, 0, 48, 0, 40, 75, 0, 30,
85, 0, 95, 0, 51, 0, 186, 0, 62, 0,
44, 0, 26, 85, 0, 183, 0, 184, 214, 0,
27, 0, 52, 0, 53, 0, 54, 0, 63, 0,
68, 0, 78, 0, 87, 0, 89, 0, 94, 0,
96, 0, 97, 0, 98, 0, 70, 0, 103, 0,
104, 0, 101, 0, 102, 0, 100, 0, 0, 191,
0, 192, 0, 84, 109, 193, 110, 0, 109, 193,
110, 0, 192, 109, 193, 110, 0, 194, 0, 194,
112, 106, 0, 194, 112, 106, 112, 194, 0, 195,
0, 21, 100, 195, 0, 194, 187, 195, 0, 194,
188, 195, 0, 195, 189, 195, 0, 198, 109, 193,
110, 0, 109, 193, 110, 0, 199, 0, 200, 0,
199, 197, 199, 0, 65, 197, 199, 0, 199, 197,
64, 0, 65, 197, 64, 0, 206, 0, 201, 0,
0, 35, 29, 107, 196, 182, 0, 105, 0, 105,
118, 0, 118, 105, 0, 118, 105, 118, 0, 84,
0, 50, 0, 49, 0, 90, 0, 217, 0, 181,
0, 226, 0, 223, 0, 99, 33, 192, 0, 99,
34, 107, 202, 108, 0, 203, 0, 202, 112, 203,
0, 106, 0, 226, 190, 204, 0, 0, 205, 0,
77, 0, 19, 0, 73, 0, 207, 0, 208, 0,
107, 223, 108, 0, 207, 107, 209, 108, 0, 210,
0, 209, 112, 210, 0, 119, 211, 0, 119, 117,
211, 0, 226, 0, 211, 117, 226, 0, 0, 213,
0, 73, 0, 37, 177, 0, 107, 108, 0, 107,
215, 108, 0, 216, 0, 215, 112, 216, 0, 226,
0, 226, 109, 217, 110, 0, 226, 109, 180, 110,
0, 217, 0, 106, 0, 10, 0, 13, 0, 0,
219, 0, 220, 222, 0, 114, 221, 10, 115, 0,
0, 93, 0, 23, 0, 79, 0, 0, 56, 0,
45, 0, 14, 0, 15, 0, 15, 0, 0, 226,
0, 9, 0
};
#endif
#if YYDEBUG != 0
static const short yyrline[] = { 0,
322, 328, 334, 350, 375, 377, 380, 384, 389, 396,
404, 409, 413, 422, 424, 432, 436, 444, 448, 451,
454, 458, 478, 480, 488, 492, 524, 528, 537, 544,
557, 564, 566, 578, 590, 601, 606, 612, 618, 620,
623, 634, 640, 646, 653, 659, 667, 671, 674, 681,
687, 693, 700, 706, 715, 717, 726, 740, 750, 766,
776, 792, 800, 810, 820, 825, 832, 839, 849, 855,
861, 865, 873, 900, 902, 904, 910, 916, 924, 930,
937, 942, 948, 954, 960, 963, 969, 979, 981, 984,
992, 999, 1012, 1023, 1033, 1044, 1054, 1065, 1076, 1078,
1083, 1087, 1092, 1097, 1103, 1108, 1111, 1115, 1120, 1129,
1138, 1149, 1171, 1178, 1197, 1201, 1207, 1213, 1219, 1229,
1239, 1245, 1257, 1271, 1280, 1290, 1300, 1310, 1318, 1339,
1348, 1357, 1359, 1366, 1373, 1379, 1383, 1389, 1409, 1419,
1421, 1422, 1429, 1429, 1434, 1441, 1447, 1452, 1456, 1460,
1463, 1468, 1480, 1497, 1502, 1507, 1540, 1550, 1564, 1566,
1567, 1568, 1569, 1570, 1571, 1572, 1573, 1574, 1575, 1576,
1577, 1583, 1585, 1586, 1589, 1596, 1608, 1610, 1614, 1618,
1619, 1620, 1621, 1622, 1626, 1627, 1628, 1629, 1633, 1634,
1641, 1641, 1642, 1642, 1643, 1645, 1647, 1652, 1656, 1665,
1669, 1674, 1678, 1684, 1694, 1698, 1701, 1704, 1707, 1712,
1721, 1729, 1735, 1741, 1748, 1756, 1764, 1773, 1776, 1779,
1780, 1790, 1792, 1793, 1794, 1797, 1801, 1806, 1812, 1817,
1820, 1823, 1836, 1850, 1854, 1859, 1863, 1868, 1875, 1888,
1890, 1893, 1897, 1900, 1905, 1909, 1917, 1932, 1938, 1945,
1958, 1970, 1985, 1989, 2006, 2011, 2014, 2019, 2041, 2046,
2051, 2057, 2063, 2071, 2079, 2087, 2094, 2104, 2109, 2139,
2141, 2144, 2151, 2157, 2159, 2160, 2161, 2164, 2166, 2167,
2170, 2175, 2182, 2189, 2191, 2196
323, 329, 335, 351, 376, 378, 381, 385, 390, 397,
405, 410, 414, 423, 425, 433, 437, 445, 449, 452,
455, 459, 479, 481, 489, 493, 525, 529, 538, 545,
558, 565, 567, 579, 591, 602, 607, 613, 619, 621,
624, 635, 641, 647, 654, 660, 668, 672, 675, 682,
688, 694, 701, 707, 716, 718, 728, 742, 752, 768,
778, 794, 802, 812, 822, 827, 834, 841, 851, 857,
863, 867, 875, 902, 904, 906, 912, 918, 926, 932,
939, 944, 950, 956, 962, 965, 971, 981, 983, 986,
994, 1001, 1014, 1025, 1035, 1046, 1056, 1067, 1078, 1080,
1085, 1089, 1094, 1099, 1105, 1110, 1113, 1117, 1122, 1131,
1140, 1151, 1173, 1180, 1199, 1203, 1209, 1215, 1221, 1231,
1241, 1247, 1259, 1273, 1282, 1292, 1302, 1312, 1320, 1341,
1350, 1359, 1361, 1368, 1375, 1381, 1385, 1391, 1411, 1421,
1423, 1424, 1431, 1431, 1436, 1443, 1449, 1454, 1458, 1462,
1465, 1470, 1482, 1499, 1504, 1509, 1542, 1552, 1566, 1568,
1569, 1570, 1571, 1572, 1573, 1574, 1575, 1576, 1577, 1578,
1579, 1585, 1587, 1588, 1591, 1598, 1610, 1612, 1616, 1620,
1621, 1622, 1623, 1624, 1628, 1629, 1630, 1631, 1635, 1636,
1643, 1643, 1644, 1644, 1645, 1647, 1649, 1654, 1658, 1667,
1671, 1676, 1680, 1686, 1696, 1700, 1703, 1706, 1709, 1714,
1723, 1731, 1737, 1743, 1750, 1758, 1766, 1775, 1778, 1781,
1782, 1792, 1794, 1795, 1796, 1799, 1803, 1808, 1814, 1819,
1822, 1825, 1838, 1852, 1856, 1861, 1865, 1870, 1877, 1890,
1892, 1895, 1899, 1902, 1907, 1911, 1919, 1934, 1940, 1947,
1960, 1972, 1987, 1991, 2008, 2013, 2016, 2021, 2043, 2048,
2053, 2059, 2065, 2073, 2081, 2089, 2096, 2106, 2111, 2141,
2143, 2146, 2153, 2159, 2161, 2162, 2163, 2166, 2168, 2169,
2172, 2177, 2184, 2191, 2193, 2198
};
#endif
......@@ -450,18 +450,18 @@ static const char * const yytname[] = { "$","error","$undefined.","TOK_PPEQ",
"ModuleSpecificationFlags","ModuleSpecificationFlag","optModuleSpecificationBody",
"ModuleSpecificationBody","ModuleSpecificationElement","@1","ImportsDefinition",
"ImportsBundleSet","AssignedIdentifier","ImportsBundle","ImportsList","ImportsElement",
"ExportsDefinition","ExportsBody","ExportsElement","ValueSetDefinition","@2",
"ExportsDefinition","ExportsBody","ExportsElement","ValueSet","ValueSetTypeAssignment",
"DefinedType","DataTypeReference","ParameterArgumentList","ParameterArgumentName",
"Specializations","Specialization","optComponentTypeLists","ComponentTypeLists",
"ComponentType","AlternativeTypeLists","AlternativeType","ObjectClass","optUnique",
"FieldSpec","ClassField","optWithSyntax","WithSyntax","@3","WithSyntaxList",
"FieldSpec","ClassField","optWithSyntax","WithSyntax","@2","WithSyntaxList",
"WithSyntaxToken","ExtensionAndException","Type","NSTD_IndirectMarker","TypeDeclaration",
"TypeDeclarationSet","ComplexTypeReference","ComplexTypeReferenceAmpList","ComplexTypeReferenceElement",
"PrimitiveFieldReference","FieldName","DefinedObjectClass","ValueDefinition",
"Value","@4","SimpleValue","DefinedValue","RestrictedCharacterStringValue","Opaque",
"Value","@3","SimpleValue","DefinedValue","RestrictedCharacterStringValue","Opaque",
"BasicTypeId","BasicTypeId_UniverationCompatible","BasicType","BasicString",
"Union","Intersection","Except","optConstraints","Constraints","SetOfConstraints",
"ElementSetSpecs","ElementSetSpec","ConstraintSubtypeElement","@5","ConstraintRangeSpec",
"ElementSetSpecs","ElementSetSpec","ConstraintSubtypeElement","@4","ConstraintRangeSpec",
"ConstraintSpec","SingleValue","ContainedSubtype","InnerTypeConstraint","WithComponentsList",
"WithComponentsElement","optPresenceConstraint","PresenceConstraint","TableConstraint",
"SimpleTableConstraint","ComponentRelationConstraint","AtNotationList","AtNotationElement",
......@@ -477,7 +477,7 @@ static const short yyr1[] = { 0,
129, 129, 130, 130, 131, 131, 132, 132, 132, 132,
132, 133, 132, 132, 134, 134, 135, 135, 136, 136,
137, 138, 138, 139, 139, 139, 140, 140, 140, 141,
141, 142, 142, 142, 144, 143, 145, 145, 145, 146,
141, 142, 142, 142, 143, 144, 145, 145, 145, 146,
146, 146, 147, 147, 148, 148, 148, 148, 149, 149,
150, 150, 150, 151, 151, 152, 152, 153, 153, 153,
153, 154, 154, 155, 155, 155, 156, 157, 157, 158,
......@@ -509,7 +509,7 @@ static const short yyr2[] = { 0,
2, 2, 0, 1, 1, 2, 1, 1, 1, 1,
1, 0, 3, 1, 3, 2, 1, 2, 0, 1,
4, 1, 3, 1, 3, 1, 3, 3, 2, 1,
3, 1, 3, 1, 0, 6, 1, 1, 4, 3,
3, 1, 3, 1, 3, 4, 1, 1, 4, 3,
3, 6, 1, 3, 1, 3, 3, 3, 1, 3,
1, 1, 1, 0, 1, 1, 3, 3, 2, 3,
1, 1, 3, 2, 1, 1, 5, 0, 1, 1,
......@@ -552,184 +552,181 @@ static const short yydefact[] = { 0,
0, 63, 0, 162, 65, 0, 270, 0, 176, 0,
0, 51, 53, 39, 43, 45, 0, 276, 277, 275,
0, 0, 196, 280, 279, 272, 125, 127, 0, 0,
0, 0, 55, 148, 154, 149, 268, 155, 156, 269,
146, 147, 0, 69, 71, 72, 150, 151, 73, 267,
259, 0, 261, 266, 263, 133, 134, 129, 130, 132,
126, 145, 143, 139, 140, 141, 0, 152, 40, 41,
270, 270, 0, 90, 0, 121, 0, 0, 196, 196,
115, 114, 0, 0, 112, 197, 198, 270, 64, 68,
67, 66, 0, 59, 270, 260, 0, 0, 0, 0,
0, 0, 138, 135, 0, 257, 255, 255, 255, 92,
256, 88, 255, 255, 99, 0, 273, 0, 270, 0,
270, 0, 270, 0, 0, 0, 0, 228, 227, 0,
226, 229, 0, 0, 0, 231, 0, 202, 205, 0,
212, 213, 219, 218, 245, 246, 230, 233, 232, 0,
62, 157, 56, 70, 262, 0, 0, 152, 131, 144,
153, 142, 258, 97, 0, 96, 98, 89, 255, 94,
95, 0, 87, 100, 91, 0, 109, 0, 82, 85,
86, 270, 123, 0, 0, 75, 76, 81, 255, 270,
284, 0, 284, 0, 0, 0, 222, 0, 0, 0,
0, 0, 0, 200, 193, 194, 191, 192, 0, 0,
0, 195, 0, 0, 0, 0, 0, 158, 265, 264,
136, 137, 93, 0, 122, 0, 116, 270, 84, 270,
117, 270, 79, 255, 270, 285, 118, 270, 199, 206,
220, 223, 224, 217, 215, 234, 0, 247, 211, 203,
207, 208, 209, 0, 216, 214, 0, 0, 249, 201,
101, 110, 111, 83, 80, 77, 78, 113, 113, 0,
225, 238, 0, 236, 196, 0, 210, 0, 251, 253,
248, 0, 0, 119, 120, 221, 235, 0, 240, 204,
252, 0, 250, 105, 106, 0, 0, 103, 107, 237,
243, 244, 242, 239, 241, 254, 0, 102, 104, 108,
0, 0, 0
0, 0, 0, 56, 148, 154, 149, 268, 155, 156,
269, 146, 147, 0, 69, 71, 72, 150, 151, 73,
267, 259, 0, 261, 266, 263, 133, 134, 129, 130,
132, 126, 145, 143, 139, 140, 141, 0, 152, 40,
41, 270, 270, 0, 90, 0, 121, 0, 0, 196,
196, 115, 114, 0, 0, 112, 197, 198, 270, 64,
68, 67, 66, 0, 0, 228, 227, 0, 226, 229,
0, 0, 0, 231, 0, 202, 205, 0, 212, 213,
219, 218, 245, 246, 230, 233, 232, 59, 270, 260,
0, 0, 0, 0, 0, 0, 138, 135, 0, 257,
255, 255, 255, 92, 256, 88, 255, 255, 99, 0,
273, 0, 270, 0, 270, 0, 270, 0, 0, 0,
0, 62, 0, 0, 222, 0, 0, 0, 0, 0,
0, 55, 193, 194, 191, 192, 0, 0, 0, 195,
0, 0, 0, 0, 70, 262, 0, 0, 152, 131,
157, 144, 153, 142, 258, 97, 0, 96, 98, 89,
255, 94, 95, 0, 87, 100, 91, 0, 109, 0,
82, 85, 86, 270, 123, 0, 0, 75, 76, 81,
255, 270, 284, 0, 284, 0, 200, 0, 206, 220,
223, 224, 217, 215, 234, 0, 247, 211, 203, 207,
208, 209, 0, 216, 214, 0, 0, 249, 265, 264,
158, 136, 137, 93, 0, 122, 0, 116, 270, 84,
270, 117, 270, 79, 255, 270, 285, 118, 270, 199,
201, 0, 225, 238, 0, 236, 196, 0, 210, 0,
251, 253, 248, 0, 101, 110, 111, 83, 80, 77,
78, 113, 113, 221, 235, 0, 240, 204, 252, 0,
250, 0, 119, 120, 237, 243, 244, 242, 239, 241,
254, 105, 106, 0, 0, 103, 107, 0, 102, 104,
108, 0, 0, 0
};
static const short yydefgoto[] = { 441,
static const short yydefgoto[] = { 442,
3, 4, 8, 9, 13, 14, 25, 26, 27, 55,
56, 57, 108, 58, 74, 200, 75, 76, 77, 59,
69, 70, 60, 223, 100, 61, 131, 132, 173, 174,
315, 316, 317, 308, 309, 120, 299, 203, 204, 303,
304, 413, 427, 428, 318, 319, 152, 153, 212, 101,
188, 189, 429, 238, 239, 62, 194, 230, 195, 196,
266, 283, 102, 103, 104, 105, 340, 341, 343, 215,
216, 217, 267, 268, 269, 400, 329, 270, 271, 272,
273, 403, 404, 434, 435, 274, 275, 276, 388, 389,
409, 240, 241, 139, 182, 183, 277, 122, 123, 124,
151, 156, 278, 106, 365, 279
56, 57, 108, 58, 74, 201, 75, 76, 77, 59,
69, 70, 164, 60, 100, 61, 131, 132, 174, 175,
337, 338, 339, 330, 331, 120, 321, 204, 205, 325,
326, 422, 435, 436, 340, 341, 152, 153, 213, 101,
189, 190, 437, 262, 263, 62, 195, 254, 196, 197,
234, 312, 102, 103, 104, 105, 298, 299, 301, 216,
217, 218, 235, 236, 237, 392, 287, 238, 239, 240,
241, 395, 396, 429, 430, 242, 243, 244, 367, 368,
401, 264, 265, 139, 183, 184, 245, 122, 123, 124,
151, 156, 246, 106, 386, 247
};
static const short yypact[] = { 58,
-32768,-32768, 58,-32768, -52,-32768, 11, 63,-32768,-32768,
-32768,-32768, 19,-32768, -13, 193,-32768,-32768, 105, 92,
20, 71, 108, 107, 197, 193,-32768, 101,-32768,-32768,
-32768,-32768,-32768, 212,-32768,-32768, 415,-32768, 230, 45,
-32768,-32768,-32768, 182,-32768,-32768,-32768,-32768,-32768,-32768,
-32768,-32768,-32768,-32768, 210, 415,-32768,-32768,-32768,-32768,
-32768,-32768,-32768, 240, 568,-32768, 152,-32768, 139,-32768,
162,-32768,-32768, 47,-32768, -34,-32768, 164,-32768,-32768,
-32768, 37, 157,-32768, 204,-32768, 211, 226,-32768,-32768,
-32768,-32768,-32768, 251, 227,-32768,-32768,-32768, 644, 314,
217,-32768, 235,-32768,-32768, 202, 330,-32768,-32768,-32768,
200, 232,-32768,-32768, 58, 200, 253, 241, 134,-32768,
-32768,-32768,-32768, 36, 200,-32768,-32768,-32768,-32768,-32768,
95,-32768, 256,-32768, 260, 272, 76, 61,-32768, 367,
174,-32768,-32768, -52,-32768,-32768, 288,-32768,-32768,-32768,
375, 492, 90,-32768,-32768,-32768,-32768,-32768, 384, 644,
381, 200,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
-32768,-32768, 122,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
-32768, 140,-32768,-32768, 289,-32768,-32768, 282,-32768,-32768,
-32768,-32768,-32768,-32768,-32768,-32768, 283, 293,-32768,-32768,
98, 32, 178,-32768, 292, 373, 306, 344, 188, 216,
-32768,-32768, 305, 353,-32768,-32768, 316, 309,-32768,-32768,
-32768,-32768, 421,-32768, 76,-32768, 67, 395, 315, 421,
381, 174,-32768,-32768, 174,-32768, 21, 99, 21,-32768,
-32768, 335, 99, 21, 329, 288,-32768, 404, 33, 268,
56, 362, 56, 363, 353, 336, 409,-32768,-32768, 74,
-32768,-32768, 319, 58, 353,-32768, 331, 274, 339, 337,
74,-32768,-32768,-32768, 333,-32768,-32768,-32768,-32768, 353,
-32768,-32768, 439,-32768,-32768, 338, 340,-32768,-32768, 439,
-32768,-32768,-32768,-32768, 342,-32768,-32768,-32768, 21,-32768,
-32768, 359,-32768,-32768,-32768, 381, 343, 214,-32768,-32768,
-32768, 309,-32768, 377, 345, 346,-32768,-32768, 21, 309,
381, 347, 381, 341, 382, 349, 352, 358, 249, 355,
364, 357, 365,-32768,-32768,-32768,-32768,-32768, 348, 382,
382,-32768, 382, 353, 266, 360, 366,-32768,-32768,-32768,
-32768,-32768,-32768, 370,-32768, 395,-32768, 33,-32768, 309,
-32768, 34,-32768, 21, 309,-32768,-32768, 309,-32768,-32768,
-32768,-32768, 356,-32768,-32768, 316, 31,-32768,-32768, 368,
-32768,-32768,-32768, 372,-32768,-32768, 5, 233,-32768,-32768,
-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, 421,
-32768,-32768, 242,-32768, 90, 353,-32768, 381, 369,-32768,
-32768, 360, 18,-32768,-32768, 439,-32768, 31, 158, 318,
369, 381,-32768,-32768,-32768, 18, 35,-32768,-32768,-32768,
-32768,-32768,-32768,-32768,-32768,-32768, 9,-32768,-32768,-32768,
484, 487,-32768
static const short yypact[] = { 275,
-32768,-32768, 275,-32768, -91,-32768, 17, 36,-32768,-32768,
-32768,-32768, 56,-32768, -47, 262,-32768,-32768, 54, 44,
41, 62, 91, 68, 175, 262,-32768, 82,-32768,-32768,
-32768,-32768,-32768, 155,-32768,-32768, 453,-32768, 193, 75,
-32768,-32768,-32768, 197,-32768,-32768,-32768,-32768,-32768,-32768,
-32768,-32768,-32768,-32768, 198, 453,-32768,-32768,-32768,-32768,
-32768,-32768,-32768, 337, 614,-32768, 132,-32768, 119,-32768,
144,-32768,-32768, 3,-32768, 57,-32768, 154,-32768,-32768,
-32768, -11, 184,-32768, 196,-32768, 223, 251,-32768,-32768,
-32768,-32768,-32768, 273, 252,-32768,-32768,-32768, 690, 336,
243,-32768, 246,-32768,-32768, 241, 357,-32768,-32768,-32768,
290, 253,-32768,-32768, 275, 290, 254, 259, 9,-32768,
-32768,-32768,-32768, 102, 290,-32768,-32768,-32768,-32768,-32768,
-2,-32768, 255,-32768, 258, 266, 70, 163,-32768, 308,
207,-32768,-32768, -91,-32768,-32768, 303,-32768,-32768,-32768,
364, 538, -38,-32768,-32768,-32768,-32768,-32768, 372, 690,
370, 290, 189,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
-32768,-32768,-32768, 69,-32768,-32768,-32768,-32768,-32768,-32768,
-32768,-32768, 85,-32768,-32768, 271,-32768,-32768, 265,-32768,
-32768,-32768,-32768,-32768,-32768,-32768,-32768, 269, 270,-32768,
-32768, 71, 76, 128,-32768, 272, 353, 287, 323, 98,
125,-32768,-32768, 288, 189,-32768,-32768, 289, 282,-32768,
-32768,-32768,-32768, 311, 373,-32768,-32768, -50,-32768,-32768,
301, 275, 189,-32768, 293, 191, 312, 294, -50,-32768,
-32768,-32768, 307,-32768,-32768,-32768,-32768,-32768, 70,-32768,
178, 302, 329, 411, 370, 207,-32768,-32768, 207,-32768,
26, 48, 26,-32768,-32768, 327, 48, 26, 321, 303,
-32768, 392, 39, 333, 60, 350, 60, 351, 189, 315,
189,-32768, 436, 322, 309, 325, 216, 319, 330, 328,
331,-32768,-32768,-32768,-32768,-32768, 332, 436, 436,-32768,
436, 189, 320, 334,-32768,-32768, 342, 344,-32768,-32768,
-32768, 434,-32768,-32768,-32768,-32768, 338,-32768,-32768,-32768,
26,-32768,-32768, 354,-32768,-32768,-32768, 370, 326, 138,
-32768,-32768,-32768, 282,-32768, 383, 348, 345,-32768,-32768,
26, 282, 370, 352, 370, 349,-32768, 355,-32768,-32768,
-32768, 340,-32768,-32768, 289, 22,-32768,-32768, 358,-32768,
-32768,-32768, 356,-32768,-32768, -4, 164,-32768,-32768,-32768,
-32768,-32768,-32768,-32768, 362,-32768, 302,-32768, 39,-32768,
282,-32768, 61,-32768, 26, 282,-32768,-32768, 282,-32768,
-32768, 411,-32768,-32768, 179,-32768, -38, 189,-32768, 370,
346,-32768,-32768, 334,-32768,-32768,-32768,-32768,-32768,-32768,
-32768,-32768,-32768, 434,-32768, 22, 24, 240, 346, 370,
-32768, 35,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
-32768,-32768,-32768, 35, 43,-32768,-32768, 18,-32768,-32768,
-32768, 461, 464,-32768
};
static const short yypgoto[] = {-32768,
-32768, 485,-32768, 350,-32768, 477,-32768,-32768, 466,-32768,
-32768, 440,-32768,-32768,-32768,-32768, 423,-32768, 379,-32768,
-32768, 387,-32768,-32768, -19,-32768,-32768, 361,-32768, 275,
246,-32768, 141,-32768, 143,-32768,-32768,-32768, 259,-32768,
-32768,-32768, 82, -277, -237, -73,-32768, -27,-32768, 265,
-32768, 281, -109, 322, 323,-32768, -30,-32768, -122, -218,
-31, -225, -67, -49,-32768, 7,-32768,-32768,-32768, -207,
-32768, 186, -87, 111, 3,-32768, 255,-32768, -238,-32768,
-32768,-32768, 109,-32768,-32768,-32768,-32768,-32768,-32768, 116,
121, -220,-32768,-32768,-32768, 303, -130, -146,-32768,-32768,
-32768,-32768, 1,-32768, 208, -7
-32768, 469,-32768, 335,-32768, 460,-32768,-32768, 448,-32768,
-32768, 419,-32768,-32768,-32768,-32768, 402,-32768, 361,-32768,
-32768, 367,-32768,-32768, -54,-32768,-32768, 324,-32768, 232,
205,-32768, 100,-32768, 108,-32768,-32768,-32768, 218,-32768,
-32768,-32768, 55, -176, -244, -79,-32768, -56,-32768, 217,
-32768, 237, -133, 291, 295,-32768, 19,-32768, -127, -250,
-97, 101, -49, -45,-32768, -14,-32768,-32768,-32768, -202,
-32768, 204, -44, 99, -16,-32768, 257,-32768, -231,-32768,
-32768,-32768, 84,-32768,-32768,-32768,-32768,-32768,-32768, 104,
103, -248,-32768,-32768,-32768, 261, -113, -76,-32768,-32768,
-32768,-32768, 1,-32768, 157, -7
};
#define YYLAST 742
#define YYLAST 788
static const short yytable[] = { 15,
5, 252, 254, 5, 290, 15, 178, 184, 121, 286,
178, 310, 424, 10, 176, 115, 294, 296, 297, 10,
11, 424, 300, 301, 186, 187, 425, 10, 11, 65,
190, 133, 72, 186, 187, 425, 79, 64, 424, 10,
71, 10, 10, 63, 78, 107, 233, 234, 65, 134,
186, 187, 425, 10, 7, 10, 64, 235, 1, 2,
1, 2, 63, 175, 10, 67, 79, 314, 118, 10,
167, 1, 2, 170, 78, 10, 167, 116, 353, 170,
154, 164, 165, 166, 10, 167, 168, 169, 170, 314,
375, 155, 133, 236, 178, 19, 184, 287, 363, 135,
16, 178, 176, 72, 178, 177, 386, 30, 79, 177,
134, 71, 233, 234, 28, 144, 78, 158, 12, 190,
310, 408, 426, 440, 171, 157, 17, 237, 242, 179,
185, 426, 211, 198, 235, 235, 402, 392, 307, 307,
191, 197, 438, 397, 281, 119, 119, 119, 426, 439,
119, 175, 29, 220, 222, 68, 148, 113, 31, 439,
135, 307, 221, -74, 32, 172, 180, 324, 181, 119,
236, 236, 180, 213, 416, 311, 431, 333, 327, 164,
165, 166, 10, 167, 168, 169, 170, 1, 2, 119,
10, 328, 347, 177, 33, 1, 2, 419, 214, 34,
177, 292, 159, 177, 293, -255, 160, 20, 10, -255,
36, 119, 149, 1, 2, 295, 21, 179, 398, 185,
288, 399, 171, 291, 198, 393, 150, 198, 197, 224,
432, 73, 197, 225, 433, 197, 37, 22, 359, 23,
192, 312, 82, 320, 66, 320, 364, 226, 24, 110,
111, 227, 80, 83, 84, 165, 384, 10, 167, 168,
169, 170, 109, 172, 332, 85, 38, 86, 112, 87,
117, 213, 165, 125, 10, 167, 168, 169, 170, 88,
193, 83, 84, 89, 311, 245, 395, 90, 126, 246,
91, 41, 42, 43, 251, 127, 214, 258, 355, 213,
128, 92, 45, 201, 202, 129, 93, 46, 94, 47,
95, 130, 374, 366, 258, 366, 136, 48, 140, 96,
97, 357, 253, 137, 214, 358, 49, 370, 50, 385,
186, 187, 141, 51, 98, 52, 53, 54, 262, 143,
411, 138, 381, 382, 412, 383, 99, 147, 288, 417,
312, 330, 331, 418, 320, 262, 197, 351, 352, 165,
146, 10, 167, 168, 169, 170, 1, 2, 161, 405,
414, 415, 162, 256, 335, 336, 337, 338, 163, 410,
1, 2, 186, 187, 205, 339, 218, 257, 165, 10,
10, 167, 168, 169, 170, 1, 2, 228, 229, 231,
410, 258, 259, 10, 167, 232, 247, 170, 1, 2,
405, 248, 249, 255, 436, 250, 257, 260, 335, 336,
337, 338, 119, 10, 280, 282, 298, 302, 1, 2,
258, 259, 306, 321, 323, 325, 261, 326, 342, 346,
334, 38, 262, 348, 354, 344, 260, 349, 360, 350,
369, 263, 361, 380, 367, 371, 39, 362, 356, 264,
40, 265, 373, 214, 378, 261, 41, 42, 43, 372,
377, 262, 44, 401, 379, 390, 391, 45, 387, 406,
263, 407, 46, 442, 47, 422, 443, 6, 264, 18,
265, 35, 48, 199, 145, 81, 114, 142, 322, 284,
394, 49, 396, 50, 305, 83, 84, 437, 51, 289,
52, 53, 54, 206, 313, 376, 420, 85, 38, 86,
219, 87, 207, 243, 244, 345, 430, 423, 421, 285,
368, 88, 0, 0, 0, 89, 0, 0, 0, 90,
0, 0, 91, 41, 42, 43, 0, 0, 0, 0,
0, 208, 0, 92, 45, 0, 0, 0, 93, 46,
94, 47, 95, 0, 0, 0, 0, 0, 0, 48,
0, 96, 97, 209, 210, 0, 0, 0, 49, 0,
50, 83, 84, 0, 0, 51, 98, 52, 53, 54,
0, 0, 0, 85, 38, 86, 0, 87, 0, 0,
5, 307, 121, 5, 10, 15, 191, 276, 278, 177,
107, 10, 316, 318, 319, 7, 1, 2, 322, 323,
118, 432, 63, 179, 185, 10, 11, 179, 332, 65,
10, 148, 72, 187, 188, 433, 79, 64, 432, 178,
71, 63, 426, 178, 78, 214, 432, 10, 65, 133,
187, 188, 433, 134, 285, 354, 64, 176, 187, 188,
433, 19, 259, 28, 10, 11, 79, 286, 10, 10,
215, 365, 374, 16, 78, 165, 166, 167, 10, 168,
169, 170, 171, 10, 259, 257, 258, 149, 1, 2,
257, 258, 384, 336, 336, 67, 427, 212, 260, 135,
428, 150, 119, 72, 29, 159, 115, 259, 79, 160,
133, 71, 400, 113, 134, 144, 78, 158, 172, 191,
260, 177, 261, 266, 12, 157, 406, 394, 30, 180,
186, 434, 441, 199, 332, 179, 411, 185, 308, 282,
192, 198, 179, 260, 329, 179, 154, 32, 434, 31,
439, 178, 119, 221, 223, 33, 434, 155, 178, 173,
135, 178, 222, 17, 317, 329, 329, -74, 116, 176,
280, 10, 168, 119, 119, 171, 248, 34, -255, 37,
249, 214, -255, 119, 119, 68, 10, 168, 291, 119,
171, 36, 250, 333, 417, 166, 251, 10, 168, 169,
170, 171, 1, 2, 275, 10, 215, 66, 214, 224,
1, 2, 165, 166, 167, 10, 168, 169, 170, 171,
1, 2, 166, 225, 10, 168, 169, 170, 171, 110,
111, 277, 290, 215, 346, 269, 348, 226, 227, 270,
80, 180, 109, 186, 309, 378, 73, 313, 199, 379,
112, 199, 198, 228, 380, 172, 198, 363, 440, 198,
117, 440, 385, 407, 226, 334, 349, 342, 181, 342,
182, 403, 229, 193, 314, 404, 20, 315, 230, 353,
126, 360, 361, 181, 362, 21, 415, 231, 1, 2,
416, 293, 294, 295, 296, 232, 173, 233, 10, 333,
125, 409, 297, 1, 2, 230, 22, 127, 23, 412,
10, 168, 413, 194, 171, 1, 2, 24, 202, 203,
376, 1, 2, 187, 188, 128, 166, 129, 10, 168,
169, 170, 171, 288, 289, 387, 130, 387, 136, 82,
293, 294, 295, 296, 187, 188, 83, 84, 397, 137,
83, 84, 138, 372, 373, 423, 424, 140, 402, 141,
143, 146, 85, 38, 86, 147, 87, 161, 226, 309,
162, 334, 163, 206, 219, 342, 88, 198, 10, 252,
89, 253, 256, 364, 90, 255, 271, 91, 41, 42,
43, 272, 402, 273, 274, 119, 279, 281, 92, 45,
292, 284, 302, 93, 46, 94, 47, 95, 397, 230,
283, 300, 431, 304, 48, 311, 96, 97, 320, 324,
328, 343, 345, 49, 347, 50, 351, 215, 350, 352,
51, 98, 52, 53, 54, 357, 356, 359, 371, 375,
358, 377, 166, 99, 10, 168, 169, 170, 171, 1,
2, 369, 366, 370, 381, 382, 383, 393, 390, 388,
443, 10, 420, 444, 391, 399, 1, 2, 405, 398,
225, 6, 18, 35, 81, 114, 145, 142, 200, 38,
305, 344, 410, 220, 226, 227, 408, 327, 438, 310,
335, 355, 414, 267, 39, 303, 418, 268, 40, 425,
228, 389, 419, 0, 41, 42, 43, 421, 0, 0,
44, 306, 0, 0, 0, 45, 0, 0, 0, 229,
46, 0, 47, 0, 0, 230, 0, 0, 0, 0,
48, 0, 0, 0, 231, 0, 0, 0, 0, 49,
0, 50, 232, 0, 233, 0, 51, 0, 52, 53,
54, 83, 84, 0, 0, 0, 0, 0, 0, 207,
0, 0, 0, 85, 38, 86, 0, 87, 208, 0,
0, 0, 0, 0, 0, 0, 0, 88, 0, 0,
0, 89, 0, 0, 0, 90, 0, 0, 91, 41,
42, 43, 0, 0, 0, 0, 0, 0, 0, 92,
42, 43, 0, 0, 0, 0, 0, 209, 0, 92,
45, 0, 0, 0, 93, 46, 94, 47, 95, 0,
0, 0, 0, 0, 0, 48, 0, 96, 97, 0,
0, 0, 0, 0, 49, 0, 50, 1, 2, 0,
0, 0, 0, 0, 0, 48, 0, 96, 97, 210,
211, 0, 0, 0, 49, 0, 50, 83, 84, 0,
0, 51, 98, 52, 53, 54, 0, 0, 0, 85,
38, 86, 0, 87, 0, 0, 0, 0, 0, 0,
0, 0, 0, 88, 0, 0, 0, 89, 0, 0,
......@@ -737,77 +734,81 @@ static const short yytable[] = { 15,
0, 0, 0, 0, 0, 92, 45, 0, 0, 0,
93, 46, 94, 47, 95, 0, 0, 0, 0, 0,
0, 48, 0, 96, 97, 0, 0, 0, 0, 0,
49, 0, 50, 0, 0, 0, 0, 51, 98, 52,
53, 54
49, 0, 50, 1, 2, 0, 0, 51, 98, 52,
53, 54, 0, 0, 0, 85, 38, 86, 0, 87,
0, 0, 0, 0, 0, 0, 0, 0, 0, 88,
0, 0, 0, 89, 0, 0, 0, 90, 0, 0,
91, 41, 42, 43, 0, 0, 0, 0, 0, 0,
0, 92, 45, 0, 0, 0, 93, 46, 94, 47,
95, 0, 0, 0, 0, 0, 0, 48, 0, 96,
97, 0, 0, 0, 0, 0, 49, 0, 50, 0,
0, 0, 0, 51, 98, 52, 53, 54
};
static const short yycheck[] = { 7,
0, 209, 210, 3, 230, 13, 137, 138, 82, 228,
141, 249, 4, 9, 137, 50, 237, 238, 239, 9,
10, 4, 243, 244, 16, 17, 18, 9, 10, 37,
140, 99, 40, 16, 17, 18, 44, 37, 4, 9,
40, 9, 9, 37, 44, 65, 15, 16, 56, 99,
16, 17, 18, 9, 107, 9, 56, 37, 14, 15,
14, 15, 56, 137, 9, 21, 74, 34, 32, 9,
10, 14, 15, 13, 74, 9, 10, 112, 299, 13,
45, 6, 7, 8, 9, 10, 11, 12, 13, 34,
329, 56, 160, 73, 225, 109, 227, 228, 319, 99,
38, 232, 225, 111, 235, 137, 345, 88, 116, 141,
160, 111, 15, 16, 10, 115, 116, 125, 108, 229,
358, 117, 114, 115, 49, 125, 108, 201, 202, 137,
138, 114, 152, 141, 37, 37, 106, 356, 106, 106,
140, 141, 108, 364, 218, 114, 114, 114, 114, 427,
114, 225, 61, 161, 162, 111, 23, 111, 88, 437,
160, 106, 162, 108, 57, 90, 106, 255, 108, 114,
73, 73, 106, 84, 400, 249, 19, 265, 105, 6,
7, 8, 9, 10, 11, 12, 13, 14, 15, 114,
9, 118, 280, 225, 88, 14, 15, 405, 109, 3,
232, 232, 108, 235, 235, 108, 112, 15, 9, 112,
110, 114, 79, 14, 15, 117, 24, 225, 365, 227,
228, 368, 49, 231, 232, 356, 93, 235, 228, 108,
73, 50, 232, 112, 77, 235, 25, 45, 312, 47,
67, 249, 3, 251, 15, 253, 320, 108, 56, 111,
112, 112, 43, 14, 15, 7, 344, 9, 10, 11,
12, 13, 111, 90, 264, 26, 27, 28, 107, 30,
107, 84, 7, 117, 9, 10, 11, 12, 13, 40,
107, 14, 15, 44, 358, 108, 360, 48, 85, 112,
51, 52, 53, 54, 107, 85, 109, 49, 306, 84,
75, 62, 63, 16, 17, 55, 67, 68, 69, 70,
71, 85, 64, 321, 49, 323, 3, 78, 117, 80,
81, 108, 107, 107, 109, 112, 87, 325, 89, 64,
16, 17, 3, 94, 95, 96, 97, 98, 90, 108,
108, 107, 340, 341, 112, 343, 107, 107, 356, 108,
358, 33, 34, 112, 362, 90, 356, 16, 17, 7,
108, 9, 10, 11, 12, 13, 14, 15, 113, 377,
398, 399, 113, 21, 101, 102, 103, 104, 107, 387,
14, 15, 16, 17, 10, 112, 3, 35, 7, 9,
9, 10, 11, 12, 13, 14, 15, 109, 117, 117,
408, 49, 50, 9, 10, 113, 115, 13, 14, 15,
418, 39, 107, 109, 422, 72, 35, 65, 101, 102,
103, 104, 114, 9, 109, 5, 92, 99, 14, 15,
49, 50, 29, 72, 72, 100, 84, 29, 100, 107,
110, 27, 90, 5, 86, 109, 65, 110, 72, 110,
110, 99, 108, 106, 108, 107, 42, 112, 116, 107,
46, 109, 105, 109, 108, 84, 52, 53, 54, 118,
107, 90, 58, 118, 110, 110, 107, 63, 119, 112,
99, 110, 68, 0, 70, 117, 0, 3, 107, 13,
109, 26, 78, 144, 116, 56, 74, 111, 253, 225,
358, 87, 362, 89, 246, 14, 15, 426, 94, 229,
96, 97, 98, 22, 250, 330, 406, 26, 27, 28,
160, 30, 31, 202, 202, 271, 418, 412, 408, 227,
323, 40, -1, -1, -1, 44, -1, -1, -1, 48,
-1, -1, 51, 52, 53, 54, -1, -1, -1, -1,
-1, 60, -1, 62, 63, -1, -1, -1, 67, 68,
69, 70, 71, -1, -1, -1, -1, -1, -1, 78,
-1, 80, 81, 82, 83, -1, -1, -1, 87, -1,
89, 14, 15, -1, -1, 94, 95, 96, 97, 98,
-1, -1, -1, 26, 27, 28, -1, 30, -1, -1,
0, 252, 82, 3, 9, 13, 140, 210, 211, 137,
65, 9, 261, 262, 263, 107, 14, 15, 267, 268,
32, 4, 37, 137, 138, 9, 10, 141, 273, 37,
9, 23, 40, 16, 17, 18, 44, 37, 4, 137,
40, 56, 19, 141, 44, 84, 4, 9, 56, 99,
16, 17, 18, 99, 105, 287, 56, 137, 16, 17,
18, 109, 37, 10, 9, 10, 74, 118, 9, 9,
109, 303, 321, 38, 74, 6, 7, 8, 9, 10,
11, 12, 13, 9, 37, 15, 16, 79, 14, 15,
15, 16, 341, 34, 34, 21, 73, 152, 73, 99,
77, 93, 114, 111, 61, 108, 50, 37, 116, 112,
160, 111, 117, 111, 160, 115, 116, 125, 49, 253,
73, 249, 202, 203, 108, 125, 377, 106, 88, 137,
138, 114, 115, 141, 379, 249, 385, 251, 252, 219,
140, 141, 256, 73, 106, 259, 45, 57, 114, 88,
108, 249, 114, 161, 162, 88, 114, 56, 256, 90,
160, 259, 162, 108, 117, 106, 106, 108, 112, 249,
215, 9, 10, 114, 114, 13, 108, 3, 108, 25,
112, 84, 112, 114, 114, 111, 9, 10, 233, 114,
13, 110, 108, 273, 397, 7, 112, 9, 10, 11,
12, 13, 14, 15, 107, 9, 109, 15, 84, 21,
14, 15, 6, 7, 8, 9, 10, 11, 12, 13,
14, 15, 7, 35, 9, 10, 11, 12, 13, 111,
112, 107, 232, 109, 279, 108, 281, 49, 50, 112,
43, 249, 111, 251, 252, 108, 50, 255, 256, 112,
107, 259, 252, 65, 334, 49, 256, 302, 435, 259,
107, 438, 342, 377, 49, 273, 283, 275, 106, 277,
108, 108, 84, 67, 256, 112, 15, 259, 90, 64,
85, 298, 299, 106, 301, 24, 108, 99, 14, 15,
112, 101, 102, 103, 104, 107, 90, 109, 9, 379,
117, 381, 112, 14, 15, 90, 45, 85, 47, 386,
9, 10, 389, 107, 13, 14, 15, 56, 16, 17,
328, 14, 15, 16, 17, 75, 7, 55, 9, 10,
11, 12, 13, 33, 34, 343, 85, 345, 3, 3,
101, 102, 103, 104, 16, 17, 14, 15, 356, 107,
14, 15, 107, 16, 17, 412, 413, 117, 366, 3,
108, 108, 26, 27, 28, 107, 30, 113, 49, 377,
113, 379, 107, 10, 3, 383, 40, 377, 9, 109,
44, 117, 113, 64, 48, 117, 115, 51, 52, 53,
54, 39, 400, 107, 72, 114, 109, 109, 62, 63,
108, 29, 109, 67, 68, 69, 70, 71, 416, 90,
100, 100, 420, 107, 78, 5, 80, 81, 92, 99,
29, 72, 72, 87, 110, 89, 118, 109, 107, 105,
94, 95, 96, 97, 98, 108, 107, 106, 5, 86,
110, 116, 7, 107, 9, 10, 11, 12, 13, 14,
15, 110, 119, 110, 72, 108, 112, 118, 110, 108,
0, 9, 117, 0, 110, 110, 14, 15, 107, 112,
35, 3, 13, 26, 56, 74, 116, 111, 144, 27,
249, 277, 383, 160, 49, 50, 379, 270, 434, 253,
274, 288, 392, 203, 42, 239, 398, 203, 46, 416,
65, 345, 400, -1, 52, 53, 54, 404, -1, -1,
58, 251, -1, -1, -1, 63, -1, -1, -1, 84,
68, -1, 70, -1, -1, 90, -1, -1, -1, -1,
78, -1, -1, -1, 99, -1, -1, -1, -1, 87,
-1, 89, 107, -1, 109, -1, 94, -1, 96, 97,
98, 14, 15, -1, -1, -1, -1, -1, -1, 22,
-1, -1, -1, 26, 27, 28, -1, 30, 31, -1,
-1, -1, -1, -1, -1, -1, -1, 40, -1, -1,
-1, 44, -1, -1, -1, 48, -1, -1, 51, 52,
53, 54, -1, -1, -1, -1, -1, -1, -1, 62,
53, 54, -1, -1, -1, -1, -1, 60, -1, 62,
63, -1, -1, -1, 67, 68, 69, 70, 71, -1,
-1, -1, -1, -1, -1, 78, -1, 80, 81, -1,
-1, -1, -1, -1, 87, -1, 89, 14, 15, -1,
-1, -1, -1, -1, -1, 78, -1, 80, 81, 82,
83, -1, -1, -1, 87, -1, 89, 14, 15, -1,
-1, 94, 95, 96, 97, 98, -1, -1, -1, 26,
27, 28, -1, 30, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 40, -1, -1, -1, 44, -1, -1,
......@@ -815,8 +816,15 @@ static const short yycheck[] = { 7,
-1, -1, -1, -1, -1, 62, 63, -1, -1, -1,
67, 68, 69, 70, 71, -1, -1, -1, -1, -1,
-1, 78, -1, 80, 81, -1, -1, -1, -1, -1,
87, -1, 89, -1, -1, -1, -1, 94, 95, 96,
97, 98
87, -1, 89, 14, 15, -1, -1, 94, 95, 96,
97, 98, -1, -1, -1, 26, 27, 28, -1, 30,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 40,
-1, -1, -1, 44, -1, -1, -1, 48, -1, -1,
51, 52, 53, 54, -1, -1, -1, -1, -1, -1,
-1, 62, 63, -1, -1, -1, 67, 68, 69, 70,
71, -1, -1, -1, -1, -1, -1, 78, -1, 80,
81, -1, -1, -1, -1, -1, 87, -1, 89, -1,
-1, -1, -1, 94, 95, 96, 97, 98
};
/* -*-C-*- Note some compilers choke on comments on `#line' lines. */
#line 3 "/usr/share/bison.simple"
......@@ -1362,13 +1370,13 @@ yyreduce:
switch (yyn) {
case 1:
#line 323 "asn1p_y.y"
#line 324 "asn1p_y.y"
{
*(void **)param = yyvsp[0].a_grammar;
;
break;}
case 2:
#line 329 "asn1p_y.y"
#line 330 "asn1p_y.y"
{
yyval.a_grammar = asn1p_new();
checkmem(yyval.a_grammar);
......@@ -1376,14 +1384,14 @@ case 2:
;
break;}
case 3:
#line 334 "asn1p_y.y"
#line 335 "asn1p_y.y"
{
yyval.a_grammar = yyvsp[-1].a_grammar;
TQ_ADD(&(yyval.a_grammar->modules), yyvsp[0].a_module, mod_next);
;
break;}
case 4:
#line 355 "asn1p_y.y"
#line 356 "asn1p_y.y"
{
if(yyvsp[-1].a_module) {
......@@ -1400,27 +1408,27 @@ case 4:
;
break;}
case 5:
#line 376 "asn1p_y.y"
#line 377 "asn1p_y.y"
{ yyval.a_oid = 0; ;
break;}
case 6:
#line 377 "asn1p_y.y"
#line 378 "asn1p_y.y"
{ yyval.a_oid = yyvsp[0].a_oid; ;
break;}
case 7:
#line 381 "asn1p_y.y"
#line 382 "asn1p_y.y"
{
yyval.a_oid = yyvsp[-1].a_oid;
;
break;}
case 8:
#line 384 "asn1p_y.y"
#line 385 "asn1p_y.y"
{
yyval.a_oid = 0;
;
break;}
case 9:
#line 390 "asn1p_y.y"
#line 391 "asn1p_y.y"
{
yyval.a_oid = asn1p_oid_new();
asn1p_oid_add_arc(yyval.a_oid, &yyvsp[0].a_oid_arc);
......@@ -1429,7 +1437,7 @@ case 9:
;
break;}
case 10:
#line 396 "asn1p_y.y"
#line 397 "asn1p_y.y"
{
yyval.a_oid = yyvsp[-1].a_oid;
asn1p_oid_add_arc(yyval.a_oid, &yyvsp[0].a_oid_arc);
......@@ -1438,74 +1446,74 @@ case 10:
;
break;}
case 11:
#line 405 "asn1p_y.y"
#line 406 "asn1p_y.y"
{ /* iso */
yyval.a_oid_arc.name = yyvsp[0].tv_str;
yyval.a_oid_arc.number = -1;
;
break;}
case 12:
#line 409 "asn1p_y.y"
#line 410 "asn1p_y.y"
{ /* iso(1) */
yyval.a_oid_arc.name = yyvsp[-3].tv_str;
yyval.a_oid_arc.number = yyvsp[-1].a_int;
;
break;}
case 13:
#line 413 "asn1p_y.y"
#line 414 "asn1p_y.y"
{ /* 1 */
yyval.a_oid_arc.name = 0;
yyval.a_oid_arc.number = yyvsp[0].a_int;
;
break;}
case 14:
#line 423 "asn1p_y.y"
#line 424 "asn1p_y.y"
{ yyval.a_module_flags = MSF_NOFLAGS; ;
break;}
case 15:
#line 424 "asn1p_y.y"
#line 425 "asn1p_y.y"
{
yyval.a_module_flags = yyvsp[0].a_module_flags;
;
break;}
case 16:
#line 433 "asn1p_y.y"
#line 434 "asn1p_y.y"
{
yyval.a_module_flags = yyvsp[0].a_module_flags;
;
break;}
case 17:
#line 436 "asn1p_y.y"
#line 437 "asn1p_y.y"
{
yyval.a_module_flags = yyvsp[-1].a_module_flags | yyvsp[0].a_module_flags;
;
break;}
case 18:
#line 445 "asn1p_y.y"
#line 446 "asn1p_y.y"
{
yyval.a_module_flags = MSF_EXPLICIT_TAGS;
;
break;}
case 19:
#line 448 "asn1p_y.y"
#line 449 "asn1p_y.y"
{
yyval.a_module_flags = MSF_IMPLICIT_TAGS;
;
break;}
case 20:
#line 451 "asn1p_y.y"
#line 452 "asn1p_y.y"
{
yyval.a_module_flags = MSF_AUTOMATIC_TAGS;
;
break;}
case 21:
#line 454 "asn1p_y.y"
#line 455 "asn1p_y.y"
{
yyval.a_module_flags = MSF_EXTENSIBILITY_IMPLIED;
;
break;}
case 22:
#line 458 "asn1p_y.y"
#line 459 "asn1p_y.y"
{
/* X.680Amd1 specifies TAG and XER */
if(strcmp(yyvsp[-1].tv_str, "TAG") == 0) {
......@@ -1523,23 +1531,23 @@ case 22:
;
break;}
case 23:
#line 479 "asn1p_y.y"
#line 480 "asn1p_y.y"
{ yyval.a_module = 0; ;
break;}
case 24:
#line 480 "asn1p_y.y"
#line 481 "asn1p_y.y"
{
yyval.a_module = yyvsp[0].a_module;
;
break;}
case 25:
#line 489 "asn1p_y.y"
#line 490 "asn1p_y.y"
{
yyval.a_module = yyvsp[0].a_module;
;
break;}
case 26:
#line 492 "asn1p_y.y"
#line 493 "asn1p_y.y"
{
yyval.a_module = yyvsp[-1].a_module;
......@@ -1569,13 +1577,13 @@ case 26:
;
break;}
case 27:
#line 525 "asn1p_y.y"
#line 526 "asn1p_y.y"
{
yyval.a_module = yyvsp[0].a_module;
;
break;}
case 28:
#line 528 "asn1p_y.y"
#line 529 "asn1p_y.y"
{
yyval.a_module = asn1p_module_new();
checkmem(yyval.a_module);
......@@ -1587,7 +1595,7 @@ case 28:
;
break;}
case 29:
#line 537 "asn1p_y.y"
#line 538 "asn1p_y.y"
{
yyval.a_module = asn1p_module_new();
checkmem(yyval.a_module);
......@@ -1597,7 +1605,7 @@ case 29:
;
break;}
case 30:
#line 544 "asn1p_y.y"
#line 545 "asn1p_y.y"
{
yyval.a_module = asn1p_module_new();
checkmem(yyval.a_module);
......@@ -1607,7 +1615,7 @@ case 30:
;
break;}
case 31:
#line 557 "asn1p_y.y"
#line 558 "asn1p_y.y"
{
yyval.a_module = asn1p_module_new();
checkmem(yyval.a_module);
......@@ -1617,11 +1625,11 @@ case 31:
;
break;}
case 32:
#line 565 "asn1p_y.y"
#line 566 "asn1p_y.y"
{ asn1p_lexer_hack_push_encoding_control(); ;
break;}
case 33:
#line 566 "asn1p_y.y"
#line 567 "asn1p_y.y"
{
fprintf(stderr,
"WARNING: ENCODING-CONTROL %s "
......@@ -1632,7 +1640,7 @@ case 33:
;
break;}
case 34:
#line 578 "asn1p_y.y"
#line 579 "asn1p_y.y"
{
return yyerror(
"Attempt to redefine a standard basic string type, "
......@@ -1640,7 +1648,7 @@ case 34:
;
break;}
case 35:
#line 591 "asn1p_y.y"
#line 592 "asn1p_y.y"
{
if(!saved_aid && 0)
return yyerror("Unterminated IMPORTS FROM, "
......@@ -1650,13 +1658,13 @@ case 35:
;
break;}
case 36:
#line 601 "asn1p_y.y"
#line 602 "asn1p_y.y"
{
return yyerror("Empty IMPORTS list");
;
break;}
case 37:
#line 607 "asn1p_y.y"
#line 608 "asn1p_y.y"
{
yyval.a_module = asn1p_module_new();
checkmem(yyval.a_module);
......@@ -1664,22 +1672,22 @@ case 37:
;
break;}
case 38:
#line 612 "asn1p_y.y"
#line 613 "asn1p_y.y"
{
yyval.a_module = yyvsp[-1].a_module;
TQ_ADD(&(yyval.a_module->imports), yyvsp[0].a_xports, xp_next);
;
break;}
case 39:
#line 619 "asn1p_y.y"
#line 620 "asn1p_y.y"
{ memset(&yyval.a_aid, 0, sizeof(yyval.a_aid)); ;
break;}
case 40:
#line 620 "asn1p_y.y"
#line 621 "asn1p_y.y"
{ yyval.a_aid.oid = yyvsp[0].a_oid; ;
break;}
case 41:
#line 624 "asn1p_y.y"
#line 625 "asn1p_y.y"
{
yyval.a_xports = yyvsp[-3].a_xports;
yyval.a_xports->fromModuleName = yyvsp[-1].tv_str;
......@@ -1690,7 +1698,7 @@ case 41:
;
break;}
case 42:
#line 635 "asn1p_y.y"
#line 636 "asn1p_y.y"
{
yyval.a_xports = asn1p_xports_new();
checkmem(yyval.a_xports);
......@@ -1698,14 +1706,14 @@ case 42:
;
break;}
case 43:
#line 640 "asn1p_y.y"
#line 641 "asn1p_y.y"
{
yyval.a_xports = yyvsp[-2].a_xports;
TQ_ADD(&(yyval.a_xports->members), yyvsp[0].a_expr, next);
;
break;}
case 44:
#line 647 "asn1p_y.y"
#line 648 "asn1p_y.y"
{
yyval.a_expr = asn1p_expr_new(yylineno);
checkmem(yyval.a_expr);
......@@ -1714,7 +1722,7 @@ case 44:
;
break;}
case 45:
#line 653 "asn1p_y.y"
#line 654 "asn1p_y.y"
{ /* Completely equivalent to above */
yyval.a_expr = asn1p_expr_new(yylineno);
checkmem(yyval.a_expr);
......@@ -1723,7 +1731,7 @@ case 45:
;
break;}
case 46:
#line 659 "asn1p_y.y"
#line 660 "asn1p_y.y"
{
yyval.a_expr = asn1p_expr_new(yylineno);
checkmem(yyval.a_expr);
......@@ -1732,19 +1740,19 @@ case 46:
;
break;}
case 47:
#line 668 "asn1p_y.y"
#line 669 "asn1p_y.y"
{
yyval.a_xports = yyvsp[-1].a_xports;
;
break;}
case 48:
#line 671 "asn1p_y.y"
#line 672 "asn1p_y.y"
{
yyval.a_xports = 0;
;
break;}
case 49:
#line 674 "asn1p_y.y"
#line 675 "asn1p_y.y"
{
/* Empty EXPORTS clause effectively prohibits export. */
yyval.a_xports = asn1p_xports_new();
......@@ -1752,7 +1760,7 @@ case 49:
;
break;}
case 50:
#line 682 "asn1p_y.y"
#line 683 "asn1p_y.y"
{
yyval.a_xports = asn1p_xports_new();
assert(yyval.a_xports);
......@@ -1760,14 +1768,14 @@ case 50:
;
break;}
case 51:
#line 687 "asn1p_y.y"
#line 688 "asn1p_y.y"
{
yyval.a_xports = yyvsp[-2].a_xports;
TQ_ADD(&(yyval.a_xports->members), yyvsp[0].a_expr, next);
;
break;}
case 52:
#line 694 "asn1p_y.y"
#line 695 "asn1p_y.y"
{
yyval.a_expr = asn1p_expr_new(yylineno);
checkmem(yyval.a_expr);
......@@ -1776,7 +1784,7 @@ case 52:
;
break;}
case 53:
#line 700 "asn1p_y.y"
#line 701 "asn1p_y.y"
{
yyval.a_expr = asn1p_expr_new(yylineno);
checkmem(yyval.a_expr);
......@@ -1785,7 +1793,7 @@ case 53:
;
break;}
case 54:
#line 706 "asn1p_y.y"
#line 707 "asn1p_y.y"
{
yyval.a_expr = asn1p_expr_new(yylineno);
checkmem(yyval.a_expr);
......@@ -1794,27 +1802,27 @@ case 54:
;
break;}
case 55:
#line 717 "asn1p_y.y"
{ asn1p_lexer_hack_push_opaque_state(); ;
#line 716 "asn1p_y.y"
{ yyval.a_constr = yyvsp[-1].a_constr; ;
break;}
case 56:
#line 717 "asn1p_y.y"
#line 719 "asn1p_y.y"
{
yyval.a_expr = yyvsp[-4].a_expr;
yyval.a_expr = yyvsp[-2].a_expr;
assert(yyval.a_expr->Identifier == 0);
yyval.a_expr->Identifier = yyvsp[-5].tv_str;
yyval.a_expr->Identifier = yyvsp[-3].tv_str;
yyval.a_expr->meta_type = AMT_VALUESET;
/* take care of ValueSet body */
yyval.a_expr->constraints = yyvsp[0].a_constr;
;
break;}
case 57:
#line 727 "asn1p_y.y"
#line 729 "asn1p_y.y"
{
yyval.a_expr = yyvsp[0].a_expr;
;
break;}
case 58:
#line 740 "asn1p_y.y"
#line 742 "asn1p_y.y"
{
yyval.a_expr = asn1p_expr_new(yylineno);
checkmem(yyval.a_expr);
......@@ -1824,7 +1832,7 @@ case 58:
;
break;}
case 59:
#line 750 "asn1p_y.y"
#line 752 "asn1p_y.y"
{
yyval.a_expr = asn1p_expr_new(yylineno);
checkmem(yyval.a_expr);
......@@ -1835,7 +1843,7 @@ case 59:
;
break;}
case 60:
#line 770 "asn1p_y.y"
#line 772 "asn1p_y.y"
{
yyval.a_expr = yyvsp[0].a_expr;
yyval.a_expr->Identifier = yyvsp[-2].tv_str;
......@@ -1844,7 +1852,7 @@ case 60:
;
break;}
case 61:
#line 776 "asn1p_y.y"
#line 778 "asn1p_y.y"
{
yyval.a_expr = yyvsp[0].a_expr;
yyval.a_expr->Identifier = yyvsp[-2].tv_str;
......@@ -1853,7 +1861,7 @@ case 61:
;
break;}
case 62:
#line 792 "asn1p_y.y"
#line 794 "asn1p_y.y"
{
yyval.a_expr = yyvsp[0].a_expr;
assert(yyval.a_expr->Identifier == 0);
......@@ -1862,7 +1870,7 @@ case 62:
;
break;}
case 63:
#line 801 "asn1p_y.y"
#line 803 "asn1p_y.y"
{
int ret;
yyval.a_plist = asn1p_paramlist_new(yylineno);
......@@ -1874,7 +1882,7 @@ case 63:
;
break;}
case 64:
#line 810 "asn1p_y.y"
#line 812 "asn1p_y.y"
{
int ret;
yyval.a_plist = yyvsp[-2].a_plist;
......@@ -1885,14 +1893,14 @@ case 64:
;
break;}
case 65:
#line 821 "asn1p_y.y"
#line 823 "asn1p_y.y"
{
yyval.a_parg.governor = NULL;
yyval.a_parg.argument = yyvsp[0].tv_str;
;
break;}
case 66:
#line 825 "asn1p_y.y"
#line 827 "asn1p_y.y"
{
int ret;
yyval.a_parg.governor = asn1p_ref_new(yylineno);
......@@ -1902,7 +1910,7 @@ case 66:
;
break;}
case 67:
#line 832 "asn1p_y.y"
#line 834 "asn1p_y.y"
{
int ret;
yyval.a_parg.governor = asn1p_ref_new(yylineno);
......@@ -1912,7 +1920,7 @@ case 67:
;
break;}
case 68:
#line 839 "asn1p_y.y"
#line 841 "asn1p_y.y"
{
int ret;
yyval.a_parg.governor = asn1p_ref_new(yylineno);
......@@ -1923,7 +1931,7 @@ case 68:
;
break;}
case 69:
#line 850 "asn1p_y.y"
#line 852 "asn1p_y.y"
{
yyval.a_expr = asn1p_expr_new(yylineno);
checkmem(yyval.a_expr);
......@@ -1931,20 +1939,20 @@ case 69:
;
break;}
case 70:
#line 855 "asn1p_y.y"
#line 857 "asn1p_y.y"
{
yyval.a_expr = yyvsp[-2].a_expr;
asn1p_expr_add(yyval.a_expr, yyvsp[0].a_expr);
;
break;}
case 71:
#line 862 "asn1p_y.y"
#line 864 "asn1p_y.y"
{
yyval.a_expr = yyvsp[0].a_expr;
;
break;}
case 72:
#line 865 "asn1p_y.y"
#line 867 "asn1p_y.y"
{
yyval.a_expr = asn1p_expr_new(yylineno);
checkmem(yyval.a_expr);
......@@ -1955,7 +1963,7 @@ case 72:
;
break;}
case 73:
#line 873 "asn1p_y.y"
#line 875 "asn1p_y.y"
{
asn1p_ref_t *ref;
yyval.a_expr = asn1p_expr_new(yylineno);
......@@ -1969,15 +1977,15 @@ case 73:
;
break;}
case 74:
#line 901 "asn1p_y.y"
#line 903 "asn1p_y.y"
{ yyval.a_expr = asn1p_expr_new(yylineno); ;
break;}
case 75:
#line 902 "asn1p_y.y"
#line 904 "asn1p_y.y"
{ yyval.a_expr = yyvsp[0].a_expr; ;
break;}
case 76:
#line 905 "asn1p_y.y"
#line 907 "asn1p_y.y"
{
yyval.a_expr = asn1p_expr_new(yylineno);
checkmem(yyval.a_expr);
......@@ -1985,14 +1993,14 @@ case 76:
;
break;}
case 77:
#line 910 "asn1p_y.y"
#line 912 "asn1p_y.y"
{
yyval.a_expr = yyvsp[-2].a_expr;
asn1p_expr_add(yyval.a_expr, yyvsp[0].a_expr);
;
break;}
case 78:
#line 917 "asn1p_y.y"
#line 919 "asn1p_y.y"
{
yyval.a_expr = yyvsp[-1].a_expr;
assert(yyval.a_expr->Identifier == 0);
......@@ -2002,7 +2010,7 @@ case 78:
;
break;}
case 79:
#line 924 "asn1p_y.y"
#line 926 "asn1p_y.y"
{
yyval.a_expr = yyvsp[-1].a_expr;
yyvsp[0].a_marker.flags |= yyval.a_expr->marker.flags;
......@@ -2011,7 +2019,7 @@ case 79:
;
break;}
case 80:
#line 930 "asn1p_y.y"
#line 932 "asn1p_y.y"
{
yyval.a_expr = asn1p_expr_new(yylineno);
checkmem(yyval.a_expr);
......@@ -2021,13 +2029,13 @@ case 80:
;
break;}
case 81:
#line 937 "asn1p_y.y"
#line 939 "asn1p_y.y"
{
yyval.a_expr = yyvsp[0].a_expr;
;
break;}
case 82:
#line 943 "asn1p_y.y"
#line 945 "asn1p_y.y"
{
yyval.a_expr = asn1p_expr_new(yylineno);
checkmem(yyval.a_expr);
......@@ -2035,14 +2043,14 @@ case 82:
;
break;}
case 83:
#line 948 "asn1p_y.y"
#line 950 "asn1p_y.y"
{
yyval.a_expr = yyvsp[-2].a_expr;
asn1p_expr_add(yyval.a_expr, yyvsp[0].a_expr);
;
break;}
case 84:
#line 955 "asn1p_y.y"
#line 957 "asn1p_y.y"
{
yyval.a_expr = yyvsp[0].a_expr;
assert(yyval.a_expr->Identifier == 0);
......@@ -2050,20 +2058,20 @@ case 84:
;
break;}
case 85:
#line 960 "asn1p_y.y"
#line 962 "asn1p_y.y"
{
yyval.a_expr = yyvsp[0].a_expr;
;
break;}
case 86:
#line 963 "asn1p_y.y"
#line 965 "asn1p_y.y"
{
yyval.a_expr = yyvsp[0].a_expr;
_fixup_anonymous_identifier(yyval.a_expr);
;
break;}
case 87:
#line 970 "asn1p_y.y"
#line 972 "asn1p_y.y"
{
yyval.a_expr = yyvsp[-2].a_expr;
checkmem(yyval.a_expr);
......@@ -2073,15 +2081,15 @@ case 87:
;
break;}
case 88:
#line 980 "asn1p_y.y"
#line 982 "asn1p_y.y"
{ yyval.a_int = 0; ;
break;}
case 89:
#line 981 "asn1p_y.y"
#line 983 "asn1p_y.y"
{ yyval.a_int = 1; ;
break;}
case 90:
#line 985 "asn1p_y.y"
#line 987 "asn1p_y.y"
{
yyval.a_expr = asn1p_expr_new(yylineno);
checkmem(yyval.a_expr);
......@@ -2091,14 +2099,14 @@ case 90:
;
break;}
case 91:
#line 992 "asn1p_y.y"
#line 994 "asn1p_y.y"
{
yyval.a_expr = yyvsp[-2].a_expr;
asn1p_expr_add(yyval.a_expr, yyvsp[0].a_expr);
;
break;}
case 92:
#line 1002 "asn1p_y.y"
#line 1004 "asn1p_y.y"
{
yyval.a_expr = asn1p_expr_new(yylineno);
checkmem(yyval.a_expr);
......@@ -2109,7 +2117,7 @@ case 92:
;
break;}
case 93:
#line 1012 "asn1p_y.y"
#line 1014 "asn1p_y.y"
{
yyval.a_expr = asn1p_expr_new(yylineno);
yyval.a_expr->Identifier = yyvsp[-3].tv_str;
......@@ -2121,7 +2129,7 @@ case 93:
;
break;}
case 94:
#line 1023 "asn1p_y.y"
#line 1025 "asn1p_y.y"
{
yyval.a_expr = asn1p_expr_new(yylineno);
yyval.a_expr->Identifier = yyvsp[-2].tv_str;
......@@ -2132,7 +2140,7 @@ case 94:
;
break;}
case 95:
#line 1033 "asn1p_y.y"
#line 1035 "asn1p_y.y"
{
yyval.a_expr = asn1p_expr_new(yylineno);
checkmem(yyval.a_expr);
......@@ -2144,7 +2152,7 @@ case 95:
;
break;}
case 96:
#line 1044 "asn1p_y.y"
#line 1046 "asn1p_y.y"
{
yyval.a_expr = asn1p_expr_new(yylineno);
yyval.a_expr->Identifier = yyvsp[-2].tv_str;
......@@ -2155,7 +2163,7 @@ case 96:
;
break;}
case 97:
#line 1054 "asn1p_y.y"
#line 1056 "asn1p_y.y"
{
yyval.a_expr = asn1p_expr_new(yylineno);
checkmem(yyval.a_expr);
......@@ -2167,7 +2175,7 @@ case 97:
;
break;}
case 98:
#line 1065 "asn1p_y.y"
#line 1067 "asn1p_y.y"
{
yyval.a_expr = asn1p_expr_new(yylineno);
checkmem(yyval.a_expr);
......@@ -2179,67 +2187,67 @@ case 98:
;
break;}
case 99:
#line 1077 "asn1p_y.y"
#line 1079 "asn1p_y.y"
{ yyval.a_wsynt = 0; ;
break;}
case 100:
#line 1078 "asn1p_y.y"
#line 1080 "asn1p_y.y"
{
yyval.a_wsynt = yyvsp[0].a_wsynt;
;
break;}
case 101:
#line 1085 "asn1p_y.y"
#line 1087 "asn1p_y.y"
{ asn1p_lexer_hack_enable_with_syntax(); ;
break;}
case 102:
#line 1087 "asn1p_y.y"
#line 1089 "asn1p_y.y"
{
yyval.a_wsynt = yyvsp[-1].a_wsynt;
;
break;}
case 103:
#line 1093 "asn1p_y.y"
#line 1095 "asn1p_y.y"
{
yyval.a_wsynt = asn1p_wsyntx_new();
TQ_ADD(&(yyval.a_wsynt->chunks), yyvsp[0].a_wchunk, next);
;
break;}
case 104:
#line 1097 "asn1p_y.y"
#line 1099 "asn1p_y.y"
{
yyval.a_wsynt = yyvsp[-1].a_wsynt;
TQ_ADD(&(yyval.a_wsynt->chunks), yyvsp[0].a_wchunk, next);
;
break;}
case 105:
#line 1104 "asn1p_y.y"
#line 1106 "asn1p_y.y"
{
yyval.a_wchunk = asn1p_wsyntx_chunk_frombuf(yyvsp[0].tv_opaque.buf, yyvsp[0].tv_opaque.len, 0);
yyval.a_wchunk->type = WC_WHITESPACE;
;
break;}
case 106:
#line 1108 "asn1p_y.y"
#line 1110 "asn1p_y.y"
{
yyval.a_wchunk = asn1p_wsyntx_chunk_frombuf(yyvsp[0].tv_str, strlen(yyvsp[0].tv_str), 0);
;
break;}
case 107:
#line 1111 "asn1p_y.y"
#line 1113 "asn1p_y.y"
{
yyval.a_wchunk = asn1p_wsyntx_chunk_frombuf(yyvsp[0].a_refcomp.name, strlen(yyvsp[0].a_refcomp.name), 0);
yyval.a_wchunk->type = WC_FIELD;
;
break;}
case 108:
#line 1115 "asn1p_y.y"
#line 1117 "asn1p_y.y"
{
yyval.a_wchunk = asn1p_wsyntx_chunk_fromsyntax(yyvsp[-1].a_wsynt);
;
break;}
case 109:
#line 1121 "asn1p_y.y"
#line 1123 "asn1p_y.y"
{
yyval.a_expr = asn1p_expr_new(yylineno);
checkmem(yyval.a_expr);
......@@ -2250,7 +2258,7 @@ case 109:
;
break;}
case 110:
#line 1129 "asn1p_y.y"
#line 1131 "asn1p_y.y"
{
yyval.a_expr = asn1p_expr_new(yylineno);
checkmem(yyval.a_expr);
......@@ -2262,7 +2270,7 @@ case 110:
;
break;}
case 111:
#line 1138 "asn1p_y.y"
#line 1140 "asn1p_y.y"
{
yyval.a_expr = asn1p_expr_new(yylineno);
checkmem(yyval.a_expr);
......@@ -2274,7 +2282,7 @@ case 111:
;
break;}
case 112:
#line 1150 "asn1p_y.y"
#line 1152 "asn1p_y.y"
{
yyval.a_expr = yyvsp[-1].a_expr;
yyval.a_expr->tag = yyvsp[-2].a_tag;
......@@ -2296,14 +2304,14 @@ case 112:
;
break;}
case 113:
#line 1172 "asn1p_y.y"
#line 1174 "asn1p_y.y"
{
yyval.a_int = asn1p_as_pointer ? EM_INDIRECT : 0;
asn1p_as_pointer = 0;
;
break;}
case 114:
#line 1179 "asn1p_y.y"
#line 1181 "asn1p_y.y"
{
yyval.a_expr = yyvsp[0].a_expr;
yyval.a_expr->marker.flags |= yyvsp[-1].a_int;
......@@ -2322,13 +2330,13 @@ case 114:
;
break;}
case 115:
#line 1198 "asn1p_y.y"
#line 1200 "asn1p_y.y"
{
yyval.a_expr = yyvsp[0].a_expr;
;
break;}
case 116:
#line 1201 "asn1p_y.y"
#line 1203 "asn1p_y.y"
{
yyval.a_expr = yyvsp[-1].a_expr;
assert(yyval.a_expr->expr_type == A1TC_INVALID);
......@@ -2337,7 +2345,7 @@ case 116:
;
break;}
case 117:
#line 1207 "asn1p_y.y"
#line 1209 "asn1p_y.y"
{
yyval.a_expr = yyvsp[-1].a_expr;
assert(yyval.a_expr->expr_type == A1TC_INVALID);
......@@ -2346,7 +2354,7 @@ case 117:
;
break;}
case 118:
#line 1213 "asn1p_y.y"
#line 1215 "asn1p_y.y"
{
yyval.a_expr = yyvsp[-1].a_expr;
assert(yyval.a_expr->expr_type == A1TC_INVALID);
......@@ -2355,7 +2363,7 @@ case 118:
;
break;}
case 119:
#line 1219 "asn1p_y.y"
#line 1221 "asn1p_y.y"
{
yyval.a_expr = asn1p_expr_new(yylineno);
checkmem(yyval.a_expr);
......@@ -2368,7 +2376,7 @@ case 119:
;
break;}
case 120:
#line 1229 "asn1p_y.y"
#line 1231 "asn1p_y.y"
{
yyval.a_expr = asn1p_expr_new(yylineno);
checkmem(yyval.a_expr);
......@@ -2381,7 +2389,7 @@ case 120:
;
break;}
case 121:
#line 1239 "asn1p_y.y"
#line 1241 "asn1p_y.y"
{
yyval.a_expr = asn1p_expr_new(yylineno);
checkmem(yyval.a_expr);
......@@ -2390,7 +2398,7 @@ case 121:
;
break;}
case 122:
#line 1245 "asn1p_y.y"
#line 1247 "asn1p_y.y"
{
int ret;
yyval.a_expr = asn1p_expr_new(yylineno);
......@@ -2404,7 +2412,7 @@ case 122:
;
break;}
case 123:
#line 1257 "asn1p_y.y"
#line 1259 "asn1p_y.y"
{
yyval.a_expr = asn1p_expr_new(yylineno);
checkmem(yyval.a_expr);
......@@ -2414,7 +2422,7 @@ case 123:
;
break;}
case 124:
#line 1272 "asn1p_y.y"
#line 1274 "asn1p_y.y"
{
int ret;
yyval.a_ref = asn1p_ref_new(yylineno);
......@@ -2425,7 +2433,7 @@ case 124:
;
break;}
case 125:
#line 1280 "asn1p_y.y"
#line 1282 "asn1p_y.y"
{
int ret;
yyval.a_ref = asn1p_ref_new(yylineno);
......@@ -2438,7 +2446,7 @@ case 125:
;
break;}
case 126:
#line 1290 "asn1p_y.y"
#line 1292 "asn1p_y.y"
{
int ret;
yyval.a_ref = asn1p_ref_new(yylineno);
......@@ -2451,7 +2459,7 @@ case 126:
;
break;}
case 127:
#line 1300 "asn1p_y.y"
#line 1302 "asn1p_y.y"
{
int ret;
yyval.a_ref = asn1p_ref_new(yylineno);
......@@ -2464,7 +2472,7 @@ case 127:
;
break;}
case 128:
#line 1310 "asn1p_y.y"
#line 1312 "asn1p_y.y"
{
int ret;
yyval.a_ref = asn1p_ref_new(yylineno);
......@@ -2475,7 +2483,7 @@ case 128:
;
break;}
case 129:
#line 1318 "asn1p_y.y"
#line 1320 "asn1p_y.y"
{
int ret;
yyval.a_ref = yyvsp[0].a_ref;
......@@ -2497,7 +2505,7 @@ case 129:
;
break;}
case 130:
#line 1340 "asn1p_y.y"
#line 1342 "asn1p_y.y"
{
int ret;
yyval.a_ref = asn1p_ref_new(yylineno);
......@@ -2508,7 +2516,7 @@ case 130:
;
break;}
case 131:
#line 1348 "asn1p_y.y"
#line 1350 "asn1p_y.y"
{
int ret;
yyval.a_ref = yyvsp[-2].a_ref;
......@@ -2518,49 +2526,49 @@ case 131:
;
break;}
case 133:
#line 1361 "asn1p_y.y"
#line 1363 "asn1p_y.y"
{
yyval.a_refcomp.lex_type = RLT_AmpUppercase;
yyval.a_refcomp.name = yyvsp[0].tv_str;
;
break;}
case 134:
#line 1366 "asn1p_y.y"
#line 1368 "asn1p_y.y"
{
yyval.a_refcomp.lex_type = RLT_Amplowercase;
yyval.a_refcomp.name = yyvsp[0].tv_str;
;
break;}
case 135:
#line 1375 "asn1p_y.y"
#line 1377 "asn1p_y.y"
{
yyval.a_ref = asn1p_ref_new(yylineno);
asn1p_ref_add_component(yyval.a_ref, yyvsp[0].tv_str, RLT_AmpUppercase);
;
break;}
case 136:
#line 1379 "asn1p_y.y"
#line 1381 "asn1p_y.y"
{
yyval.a_ref = yyval.a_ref;
asn1p_ref_add_component(yyval.a_ref, yyvsp[0].tv_str, RLT_AmpUppercase);
;
break;}
case 137:
#line 1383 "asn1p_y.y"
#line 1385 "asn1p_y.y"
{
yyval.a_ref = yyval.a_ref;
asn1p_ref_add_component(yyval.a_ref, yyvsp[0].tv_str, RLT_Amplowercase);
;
break;}
case 138:
#line 1390 "asn1p_y.y"
#line 1392 "asn1p_y.y"
{
yyval.a_ref = asn1p_ref_new(yylineno);
asn1p_ref_add_component(yyval.a_ref, yyvsp[0].tv_str, RLT_CAPITALS);
;
break;}
case 139:
#line 1410 "asn1p_y.y"
#line 1412 "asn1p_y.y"
{
yyval.a_expr = yyvsp[-2].a_expr;
assert(yyval.a_expr->Identifier == NULL);
......@@ -2570,7 +2578,7 @@ case 139:
;
break;}
case 142:
#line 1422 "asn1p_y.y"
#line 1424 "asn1p_y.y"
{
yyval.a_value = asn1p_value_fromint(0);
checkmem(yyval.a_value);
......@@ -2580,11 +2588,11 @@ case 142:
;
break;}
case 143:
#line 1429 "asn1p_y.y"
#line 1431 "asn1p_y.y"
{ asn1p_lexer_hack_push_opaque_state(); ;
break;}
case 144:
#line 1429 "asn1p_y.y"
#line 1431 "asn1p_y.y"
{
yyval.a_value = asn1p_value_frombuf(yyvsp[0].tv_opaque.buf, yyvsp[0].tv_opaque.len, 0);
checkmem(yyval.a_value);
......@@ -2592,7 +2600,7 @@ case 144:
;
break;}
case 145:
#line 1434 "asn1p_y.y"
#line 1436 "asn1p_y.y"
{
yyval.a_value = asn1p_value_fromint(0);
checkmem(yyval.a_value);
......@@ -2600,7 +2608,7 @@ case 145:
;
break;}
case 146:
#line 1442 "asn1p_y.y"
#line 1444 "asn1p_y.y"
{
yyval.a_value = asn1p_value_fromint(0);
checkmem(yyval.a_value);
......@@ -2608,7 +2616,7 @@ case 146:
;
break;}
case 147:
#line 1447 "asn1p_y.y"
#line 1449 "asn1p_y.y"
{
yyval.a_value = asn1p_value_fromint(0);
checkmem(yyval.a_value);
......@@ -2616,33 +2624,33 @@ case 147:
;
break;}
case 148:
#line 1452 "asn1p_y.y"
#line 1454 "asn1p_y.y"
{
yyval.a_value = _convert_bitstring2binary(yyvsp[0].tv_str, 'B');
checkmem(yyval.a_value);
;
break;}
case 149:
#line 1456 "asn1p_y.y"
#line 1458 "asn1p_y.y"
{
yyval.a_value = _convert_bitstring2binary(yyvsp[0].tv_str, 'H');
checkmem(yyval.a_value);
;
break;}
case 150:
#line 1460 "asn1p_y.y"
#line 1462 "asn1p_y.y"
{
yyval.a_value = yyval.a_value;
;
break;}
case 151:
#line 1463 "asn1p_y.y"
#line 1465 "asn1p_y.y"
{
yyval.a_value = yyvsp[0].a_value;
;
break;}
case 152:
#line 1469 "asn1p_y.y"
#line 1471 "asn1p_y.y"
{
asn1p_ref_t *ref;
int ret;
......@@ -2656,7 +2664,7 @@ case 152:
;
break;}
case 153:
#line 1480 "asn1p_y.y"
#line 1482 "asn1p_y.y"
{
asn1p_ref_t *ref;
int ret;
......@@ -2673,14 +2681,14 @@ case 153:
;
break;}
case 154:
#line 1498 "asn1p_y.y"
#line 1500 "asn1p_y.y"
{
yyval.a_value = asn1p_value_frombuf(yyvsp[0].tv_opaque.buf, yyvsp[0].tv_opaque.len, 0);
checkmem(yyval.a_value);
;
break;}
case 155:
#line 1502 "asn1p_y.y"
#line 1504 "asn1p_y.y"
{
yyval.a_value = asn1p_value_fromint(yyvsp[0].a_int);
checkmem(yyval.a_value);
......@@ -2688,7 +2696,7 @@ case 155:
;
break;}
case 156:
#line 1507 "asn1p_y.y"
#line 1509 "asn1p_y.y"
{
yyval.a_value = asn1p_value_fromint(yyvsp[0].a_int);
checkmem(yyval.a_value);
......@@ -2696,7 +2704,7 @@ case 156:
;
break;}
case 157:
#line 1541 "asn1p_y.y"
#line 1543 "asn1p_y.y"
{
yyval.tv_opaque.len = yyvsp[0].tv_opaque.len + 1;
yyval.tv_opaque.buf = malloc(yyval.tv_opaque.len + 1);
......@@ -2708,7 +2716,7 @@ case 157:
;
break;}
case 158:
#line 1550 "asn1p_y.y"
#line 1552 "asn1p_y.y"
{
int newsize = yyvsp[-1].tv_opaque.len + yyvsp[0].tv_opaque.len;
char *p = malloc(newsize + 1);
......@@ -2723,71 +2731,71 @@ case 158:
;
break;}
case 159:
#line 1565 "asn1p_y.y"
#line 1567 "asn1p_y.y"
{ yyval.a_type = ASN_BASIC_BOOLEAN; ;
break;}
case 160:
#line 1566 "asn1p_y.y"
#line 1568 "asn1p_y.y"
{ yyval.a_type = ASN_BASIC_NULL; ;
break;}
case 161:
#line 1567 "asn1p_y.y"
#line 1569 "asn1p_y.y"
{ yyval.a_type = ASN_BASIC_REAL; ;
break;}
case 162:
#line 1568 "asn1p_y.y"
#line 1570 "asn1p_y.y"
{ yyval.a_type = yyvsp[0].a_type; ;
break;}
case 163:
#line 1569 "asn1p_y.y"
#line 1571 "asn1p_y.y"
{ yyval.a_type = ASN_BASIC_OCTET_STRING; ;
break;}
case 164:
#line 1570 "asn1p_y.y"
#line 1572 "asn1p_y.y"
{ yyval.a_type = ASN_BASIC_OBJECT_IDENTIFIER; ;
break;}
case 165:
#line 1571 "asn1p_y.y"
#line 1573 "asn1p_y.y"
{ yyval.a_type = ASN_BASIC_RELATIVE_OID; ;
break;}
case 166:
#line 1572 "asn1p_y.y"
#line 1574 "asn1p_y.y"
{ yyval.a_type = ASN_BASIC_EXTERNAL; ;
break;}
case 167:
#line 1573 "asn1p_y.y"
#line 1575 "asn1p_y.y"
{ yyval.a_type = ASN_BASIC_EMBEDDED_PDV; ;
break;}
case 168:
#line 1574 "asn1p_y.y"
#line 1576 "asn1p_y.y"
{ yyval.a_type = ASN_BASIC_CHARACTER_STRING; ;
break;}
case 169:
#line 1575 "asn1p_y.y"
#line 1577 "asn1p_y.y"
{ yyval.a_type = ASN_BASIC_UTCTime; ;
break;}
case 170:
#line 1576 "asn1p_y.y"
#line 1578 "asn1p_y.y"
{ yyval.a_type = ASN_BASIC_GeneralizedTime; ;
break;}
case 171:
#line 1577 "asn1p_y.y"
#line 1579 "asn1p_y.y"
{ yyval.a_type = yyvsp[0].a_type; ;
break;}
case 172:
#line 1584 "asn1p_y.y"
#line 1586 "asn1p_y.y"
{ yyval.a_type = ASN_BASIC_INTEGER; ;
break;}
case 173:
#line 1585 "asn1p_y.y"
#line 1587 "asn1p_y.y"
{ yyval.a_type = ASN_BASIC_ENUMERATED; ;
break;}
case 174:
#line 1586 "asn1p_y.y"
#line 1588 "asn1p_y.y"
{ yyval.a_type = ASN_BASIC_BIT_STRING; ;
break;}
case 175:
#line 1590 "asn1p_y.y"
#line 1592 "asn1p_y.y"
{
yyval.a_expr = asn1p_expr_new(yylineno);
checkmem(yyval.a_expr);
......@@ -2796,7 +2804,7 @@ case 175:
;
break;}
case 176:
#line 1596 "asn1p_y.y"
#line 1598 "asn1p_y.y"
{
if(yyvsp[0].a_expr) {
yyval.a_expr = yyvsp[0].a_expr;
......@@ -2809,91 +2817,91 @@ case 176:
;
break;}
case 177:
#line 1609 "asn1p_y.y"
#line 1611 "asn1p_y.y"
{ yyval.a_type = ASN_STRING_BMPString; ;
break;}
case 178:
#line 1610 "asn1p_y.y"
#line 1612 "asn1p_y.y"
{
yyval.a_type = ASN_STRING_GeneralString;
fprintf(stderr, "WARNING: GeneralString is not fully supported\n");
;
break;}
case 179:
#line 1614 "asn1p_y.y"
#line 1616 "asn1p_y.y"
{
yyval.a_type = ASN_STRING_GraphicString;
fprintf(stderr, "WARNING: GraphicString is not fully supported\n");
;
break;}
case 180:
#line 1618 "asn1p_y.y"
#line 1620 "asn1p_y.y"
{ yyval.a_type = ASN_STRING_IA5String; ;
break;}
case 181:
#line 1619 "asn1p_y.y"
#line 1621 "asn1p_y.y"
{ yyval.a_type = ASN_STRING_ISO646String; ;
break;}
case 182:
#line 1620 "asn1p_y.y"
#line 1622 "asn1p_y.y"
{ yyval.a_type = ASN_STRING_NumericString; ;
break;}
case 183:
#line 1621 "asn1p_y.y"
#line 1623 "asn1p_y.y"
{ yyval.a_type = ASN_STRING_PrintableString; ;
break;}
case 184:
#line 1622 "asn1p_y.y"
#line 1624 "asn1p_y.y"
{
yyval.a_type = ASN_STRING_T61String;
fprintf(stderr, "WARNING: T61String is not fully supported\n");
;
break;}
case 185:
#line 1626 "asn1p_y.y"
#line 1628 "asn1p_y.y"
{ yyval.a_type = ASN_STRING_TeletexString; ;
break;}
case 186:
#line 1627 "asn1p_y.y"
#line 1629 "asn1p_y.y"
{ yyval.a_type = ASN_STRING_UniversalString; ;
break;}
case 187:
#line 1628 "asn1p_y.y"
#line 1630 "asn1p_y.y"
{ yyval.a_type = ASN_STRING_UTF8String; ;
break;}
case 188:
#line 1629 "asn1p_y.y"
#line 1631 "asn1p_y.y"
{
yyval.a_type = ASN_STRING_VideotexString;
fprintf(stderr, "WARNING: VideotexString is not fully supported\n");
;
break;}
case 189:
#line 1633 "asn1p_y.y"
#line 1635 "asn1p_y.y"
{ yyval.a_type = ASN_STRING_VisibleString; ;
break;}
case 190:
#line 1634 "asn1p_y.y"
#line 1636 "asn1p_y.y"
{ yyval.a_type = ASN_STRING_ObjectDescriptor; ;
break;}
case 196:
#line 1646 "asn1p_y.y"
#line 1648 "asn1p_y.y"
{ yyval.a_constr = 0; ;
break;}
case 197:
#line 1647 "asn1p_y.y"
#line 1649 "asn1p_y.y"
{
yyval.a_constr = yyvsp[0].a_constr;
;
break;}
case 198:
#line 1653 "asn1p_y.y"
#line 1655 "asn1p_y.y"
{
CONSTRAINT_INSERT(yyval.a_constr, ACT_CA_SET, yyvsp[0].a_constr, 0);
;
break;}
case 199:
#line 1656 "asn1p_y.y"
#line 1658 "asn1p_y.y"
{
/*
* This is a special case, for compatibility purposes.
......@@ -2903,25 +2911,25 @@ case 199:
;
break;}
case 200:
#line 1666 "asn1p_y.y"
#line 1668 "asn1p_y.y"
{
yyval.a_constr = yyvsp[-1].a_constr;
;
break;}
case 201:
#line 1669 "asn1p_y.y"
#line 1671 "asn1p_y.y"
{
CONSTRAINT_INSERT(yyval.a_constr, ACT_CA_SET, yyvsp[-3].a_constr, yyvsp[-1].a_constr);
;
break;}
case 202:
#line 1675 "asn1p_y.y"
#line 1677 "asn1p_y.y"
{
yyval.a_constr = yyvsp[0].a_constr;
;
break;}
case 203:
#line 1678 "asn1p_y.y"
#line 1680 "asn1p_y.y"
{
asn1p_constraint_t *ct;
ct = asn1p_constraint_new(yylineno);
......@@ -2930,7 +2938,7 @@ case 203:
;
break;}
case 204:
#line 1684 "asn1p_y.y"
#line 1686 "asn1p_y.y"
{
asn1p_constraint_t *ct;
ct = asn1p_constraint_new(yylineno);
......@@ -2941,37 +2949,37 @@ case 204:
;
break;}
case 205:
#line 1695 "asn1p_y.y"
#line 1697 "asn1p_y.y"
{
yyval.a_constr = yyvsp[0].a_constr;
;
break;}
case 206:
#line 1698 "asn1p_y.y"
#line 1700 "asn1p_y.y"
{
CONSTRAINT_INSERT(yyval.a_constr, ACT_CA_AEX, yyvsp[0].a_constr, 0);
;
break;}
case 207:
#line 1701 "asn1p_y.y"
#line 1703 "asn1p_y.y"
{
CONSTRAINT_INSERT(yyval.a_constr, ACT_CA_UNI, yyvsp[-2].a_constr, yyvsp[0].a_constr);
;
break;}
case 208:
#line 1704 "asn1p_y.y"
#line 1706 "asn1p_y.y"
{
CONSTRAINT_INSERT(yyval.a_constr, ACT_CA_INT, yyvsp[-2].a_constr, yyvsp[0].a_constr);
;
break;}
case 209:
#line 1707 "asn1p_y.y"
#line 1709 "asn1p_y.y"
{
CONSTRAINT_INSERT(yyval.a_constr, ACT_CA_EXC, yyvsp[-2].a_constr, yyvsp[0].a_constr);
;
break;}
case 210:
#line 1713 "asn1p_y.y"
#line 1715 "asn1p_y.y"
{
int ret;
yyval.a_constr = asn1p_constraint_new(yylineno);
......@@ -2982,7 +2990,7 @@ case 210:
;
break;}
case 211:
#line 1721 "asn1p_y.y"
#line 1723 "asn1p_y.y"
{
int ret;
yyval.a_constr = asn1p_constraint_new(yylineno);
......@@ -2993,7 +3001,7 @@ case 211:
;
break;}
case 212:
#line 1729 "asn1p_y.y"
#line 1731 "asn1p_y.y"
{
yyval.a_constr = asn1p_constraint_new(yylineno);
checkmem(yyval.a_constr);
......@@ -3002,7 +3010,7 @@ case 212:
;
break;}
case 213:
#line 1735 "asn1p_y.y"
#line 1737 "asn1p_y.y"
{
yyval.a_constr = asn1p_constraint_new(yylineno);
checkmem(yyval.a_constr);
......@@ -3011,7 +3019,7 @@ case 213:
;
break;}
case 214:
#line 1741 "asn1p_y.y"
#line 1743 "asn1p_y.y"
{
yyval.a_constr = asn1p_constraint_new(yylineno);
checkmem(yyval.a_constr);
......@@ -3021,7 +3029,7 @@ case 214:
;
break;}
case 215:
#line 1748 "asn1p_y.y"
#line 1750 "asn1p_y.y"
{
yyval.a_constr = asn1p_constraint_new(yylineno);
checkmem(yyval.a_constr);
......@@ -3032,7 +3040,7 @@ case 215:
;
break;}
case 216:
#line 1756 "asn1p_y.y"
#line 1758 "asn1p_y.y"
{
yyval.a_constr = asn1p_constraint_new(yylineno);
checkmem(yyval.a_constr);
......@@ -3043,7 +3051,7 @@ case 216:
;
break;}
case 217:
#line 1764 "asn1p_y.y"
#line 1766 "asn1p_y.y"
{
yyval.a_constr = asn1p_constraint_new(yylineno);
checkmem(yyval.a_constr);
......@@ -3055,23 +3063,23 @@ case 217:
;
break;}
case 218:
#line 1773 "asn1p_y.y"
#line 1775 "asn1p_y.y"
{
yyval.a_constr = yyvsp[0].a_constr;
;
break;}
case 219:
#line 1776 "asn1p_y.y"
#line 1778 "asn1p_y.y"
{
yyval.a_constr = yyvsp[0].a_constr;
;
break;}
case 220:
#line 1780 "asn1p_y.y"
#line 1782 "asn1p_y.y"
{ asn1p_lexer_hack_push_opaque_state(); ;
break;}
case 221:
#line 1780 "asn1p_y.y"
#line 1782 "asn1p_y.y"
{
yyval.a_constr = asn1p_constraint_new(yylineno);
checkmem(yyval.a_constr);
......@@ -3082,35 +3090,35 @@ case 221:
;
break;}
case 222:
#line 1791 "asn1p_y.y"
#line 1793 "asn1p_y.y"
{ yyval.a_ctype = ACT_EL_RANGE; ;
break;}
case 223:
#line 1792 "asn1p_y.y"
#line 1794 "asn1p_y.y"
{ yyval.a_ctype = ACT_EL_RLRANGE; ;
break;}
case 224:
#line 1793 "asn1p_y.y"
#line 1795 "asn1p_y.y"
{ yyval.a_ctype = ACT_EL_LLRANGE; ;
break;}
case 225:
#line 1794 "asn1p_y.y"
#line 1796 "asn1p_y.y"
{ yyval.a_ctype = ACT_EL_ULRANGE; ;
break;}
case 226:
#line 1798 "asn1p_y.y"
#line 1800 "asn1p_y.y"
{
yyval.a_ctype = ACT_CT_SIZE;
;
break;}
case 227:
#line 1801 "asn1p_y.y"
#line 1803 "asn1p_y.y"
{
yyval.a_ctype = ACT_CT_FROM;
;
break;}
case 228:
#line 1807 "asn1p_y.y"
#line 1809 "asn1p_y.y"
{
yyval.a_value = asn1p_value_fromint(0);
checkmem(yyval.a_value);
......@@ -3118,7 +3126,7 @@ case 228:
;
break;}
case 229:
#line 1812 "asn1p_y.y"
#line 1814 "asn1p_y.y"
{
yyval.a_value = asn1p_value_fromint(1);
checkmem(yyval.a_value);
......@@ -3126,19 +3134,19 @@ case 229:
;
break;}
case 230:
#line 1817 "asn1p_y.y"
#line 1819 "asn1p_y.y"
{
yyval.a_value = yyvsp[0].a_value;
;
break;}
case 231:
#line 1820 "asn1p_y.y"
#line 1822 "asn1p_y.y"
{
yyval.a_value = yyvsp[0].a_value;
;
break;}
case 232:
#line 1823 "asn1p_y.y"
#line 1825 "asn1p_y.y"
{
asn1p_ref_t *ref;
int ret;
......@@ -3152,7 +3160,7 @@ case 232:
;
break;}
case 233:
#line 1837 "asn1p_y.y"
#line 1839 "asn1p_y.y"
{
asn1p_ref_t *ref;
int ret;
......@@ -3166,31 +3174,31 @@ case 233:
;
break;}
case 234:
#line 1851 "asn1p_y.y"
#line 1853 "asn1p_y.y"
{
CONSTRAINT_INSERT(yyval.a_constr, ACT_CT_WCOMP, yyvsp[0].a_constr, 0);
;
break;}
case 235:
#line 1854 "asn1p_y.y"
#line 1856 "asn1p_y.y"
{
CONSTRAINT_INSERT(yyval.a_constr, ACT_CT_WCOMPS, yyvsp[-1].a_constr, 0);
;
break;}
case 236:
#line 1860 "asn1p_y.y"
#line 1862 "asn1p_y.y"
{
yyval.a_constr = yyvsp[0].a_constr;
;
break;}
case 237:
#line 1863 "asn1p_y.y"
#line 1865 "asn1p_y.y"
{
CONSTRAINT_INSERT(yyval.a_constr, ACT_CT_WCOMPS, yyvsp[-2].a_constr, yyvsp[0].a_constr);
;
break;}
case 238:
#line 1869 "asn1p_y.y"
#line 1871 "asn1p_y.y"
{
yyval.a_constr = asn1p_constraint_new(yylineno);
checkmem(yyval.a_constr);
......@@ -3199,7 +3207,7 @@ case 238:
;
break;}
case 239:
#line 1875 "asn1p_y.y"
#line 1877 "asn1p_y.y"
{
yyval.a_constr = asn1p_constraint_new(yylineno);
checkmem(yyval.a_constr);
......@@ -3210,45 +3218,45 @@ case 239:
;
break;}
case 240:
#line 1889 "asn1p_y.y"
#line 1891 "asn1p_y.y"
{ yyval.a_pres = ACPRES_DEFAULT; ;
break;}
case 241:
#line 1890 "asn1p_y.y"
#line 1892 "asn1p_y.y"
{ yyval.a_pres = yyvsp[0].a_pres; ;
break;}
case 242:
#line 1894 "asn1p_y.y"
#line 1896 "asn1p_y.y"
{
yyval.a_pres = ACPRES_PRESENT;
;
break;}
case 243:
#line 1897 "asn1p_y.y"
#line 1899 "asn1p_y.y"
{
yyval.a_pres = ACPRES_ABSENT;
;
break;}
case 244:
#line 1900 "asn1p_y.y"
#line 1902 "asn1p_y.y"
{
yyval.a_pres = ACPRES_OPTIONAL;
;
break;}
case 245:
#line 1906 "asn1p_y.y"
#line 1908 "asn1p_y.y"
{
yyval.a_constr = yyvsp[0].a_constr;
;
break;}
case 246:
#line 1909 "asn1p_y.y"
#line 1911 "asn1p_y.y"
{
yyval.a_constr = yyvsp[0].a_constr;
;
break;}
case 247:
#line 1918 "asn1p_y.y"
#line 1920 "asn1p_y.y"
{
asn1p_ref_t *ref = asn1p_ref_new(yylineno);
asn1p_constraint_t *ct;
......@@ -3263,13 +3271,13 @@ case 247:
;
break;}
case 248:
#line 1933 "asn1p_y.y"
#line 1935 "asn1p_y.y"
{
CONSTRAINT_INSERT(yyval.a_constr, ACT_CA_CRC, yyvsp[-3].a_constr, yyvsp[-1].a_constr);
;
break;}
case 249:
#line 1939 "asn1p_y.y"
#line 1941 "asn1p_y.y"
{
yyval.a_constr = asn1p_constraint_new(yylineno);
checkmem(yyval.a_constr);
......@@ -3278,7 +3286,7 @@ case 249:
;
break;}
case 250:
#line 1945 "asn1p_y.y"
#line 1947 "asn1p_y.y"
{
asn1p_constraint_t *ct;
ct = asn1p_constraint_new(yylineno);
......@@ -3289,7 +3297,7 @@ case 250:
;
break;}
case 251:
#line 1959 "asn1p_y.y"
#line 1961 "asn1p_y.y"
{
char *p = malloc(strlen(yyvsp[0].tv_str) + 2);
int ret;
......@@ -3303,7 +3311,7 @@ case 251:
;
break;}
case 252:
#line 1970 "asn1p_y.y"
#line 1972 "asn1p_y.y"
{
char *p = malloc(strlen(yyvsp[0].tv_str) + 3);
int ret;
......@@ -3318,13 +3326,13 @@ case 252:
;
break;}
case 253:
#line 1986 "asn1p_y.y"
#line 1988 "asn1p_y.y"
{
yyval.tv_str = yyvsp[0].tv_str;
;
break;}
case 254:
#line 1989 "asn1p_y.y"
#line 1991 "asn1p_y.y"
{
int l1 = strlen(yyvsp[-2].tv_str);
int l3 = strlen(yyvsp[0].tv_str);
......@@ -3336,45 +3344,45 @@ case 254:
;
break;}
case 255:
#line 2007 "asn1p_y.y"
#line 2009 "asn1p_y.y"
{
yyval.a_marker.flags = EM_NOMARK;
yyval.a_marker.default_value = 0;
;
break;}
case 256:
#line 2011 "asn1p_y.y"
#line 2013 "asn1p_y.y"
{ yyval.a_marker = yyvsp[0].a_marker; ;
break;}
case 257:
#line 2015 "asn1p_y.y"
#line 2017 "asn1p_y.y"
{
yyval.a_marker.flags = EM_OPTIONAL | EM_INDIRECT;
yyval.a_marker.default_value = 0;
;
break;}
case 258:
#line 2019 "asn1p_y.y"
#line 2021 "asn1p_y.y"
{
yyval.a_marker.flags = EM_DEFAULT;
yyval.a_marker.default_value = yyvsp[0].a_value;
;
break;}
case 259:
#line 2042 "asn1p_y.y"
#line 2044 "asn1p_y.y"
{
yyval.a_expr = asn1p_expr_new(yylineno);
checkmem(yyval.a_expr);
;
break;}
case 260:
#line 2046 "asn1p_y.y"
#line 2048 "asn1p_y.y"
{
yyval.a_expr = yyvsp[-1].a_expr;
;
break;}
case 261:
#line 2052 "asn1p_y.y"
#line 2054 "asn1p_y.y"
{
yyval.a_expr = asn1p_expr_new(yylineno);
checkmem(yyval.a_expr);
......@@ -3382,14 +3390,14 @@ case 261:
;
break;}
case 262:
#line 2057 "asn1p_y.y"
#line 2059 "asn1p_y.y"
{
yyval.a_expr = yyvsp[-2].a_expr;
asn1p_expr_add(yyval.a_expr, yyvsp[0].a_expr);
;
break;}
case 263:
#line 2064 "asn1p_y.y"
#line 2066 "asn1p_y.y"
{
yyval.a_expr = asn1p_expr_new(yylineno);
checkmem(yyval.a_expr);
......@@ -3399,7 +3407,7 @@ case 263:
;
break;}
case 264:
#line 2071 "asn1p_y.y"
#line 2073 "asn1p_y.y"
{
yyval.a_expr = asn1p_expr_new(yylineno);
checkmem(yyval.a_expr);
......@@ -3410,7 +3418,7 @@ case 264:
;
break;}
case 265:
#line 2079 "asn1p_y.y"
#line 2081 "asn1p_y.y"
{
yyval.a_expr = asn1p_expr_new(yylineno);
checkmem(yyval.a_expr);
......@@ -3421,7 +3429,7 @@ case 265:
;
break;}
case 266:
#line 2087 "asn1p_y.y"
#line 2089 "asn1p_y.y"
{
yyval.a_expr = asn1p_expr_new(yylineno);
checkmem(yyval.a_expr);
......@@ -3431,7 +3439,7 @@ case 266:
;
break;}
case 267:
#line 2094 "asn1p_y.y"
#line 2096 "asn1p_y.y"
{
yyval.a_expr = asn1p_expr_new(yylineno);
checkmem(yyval.a_expr);
......@@ -3442,102 +3450,102 @@ case 267:
;
break;}
case 268:
#line 2105 "asn1p_y.y"
#line 2107 "asn1p_y.y"
{
yyval.a_value = asn1p_value_fromint(yyvsp[0].a_int);
checkmem(yyval.a_value);
;
break;}
case 269:
#line 2109 "asn1p_y.y"
#line 2111 "asn1p_y.y"
{
yyval.a_value = asn1p_value_fromint(yyvsp[0].a_int);
checkmem(yyval.a_value);
;
break;}
case 270:
#line 2140 "asn1p_y.y"
#line 2142 "asn1p_y.y"
{ memset(&yyval.a_tag, 0, sizeof(yyval.a_tag)); ;
break;}
case 271:
#line 2141 "asn1p_y.y"
#line 2143 "asn1p_y.y"
{ yyval.a_tag = yyvsp[0].a_tag; ;
break;}
case 272:
#line 2145 "asn1p_y.y"
#line 2147 "asn1p_y.y"
{
yyval.a_tag = yyvsp[-1].a_tag;
yyval.a_tag.tag_mode = yyvsp[0].a_tag.tag_mode;
;
break;}
case 273:
#line 2152 "asn1p_y.y"
#line 2154 "asn1p_y.y"
{
yyval.a_tag = yyvsp[-2].a_tag;
yyval.a_tag.tag_value = yyvsp[-1].a_int;
;
break;}
case 274:
#line 2158 "asn1p_y.y"
#line 2160 "asn1p_y.y"
{ yyval.a_tag.tag_class = TC_CONTEXT_SPECIFIC; ;
break;}
case 275:
#line 2159 "asn1p_y.y"
#line 2161 "asn1p_y.y"
{ yyval.a_tag.tag_class = TC_UNIVERSAL; ;
break;}
case 276:
#line 2160 "asn1p_y.y"
#line 2162 "asn1p_y.y"
{ yyval.a_tag.tag_class = TC_APPLICATION; ;
break;}
case 277:
#line 2161 "asn1p_y.y"
#line 2163 "asn1p_y.y"
{ yyval.a_tag.tag_class = TC_PRIVATE; ;
break;}
case 278:
#line 2165 "asn1p_y.y"
#line 2167 "asn1p_y.y"
{ yyval.a_tag.tag_mode = TM_DEFAULT; ;
break;}
case 279:
#line 2166 "asn1p_y.y"
#line 2168 "asn1p_y.y"
{ yyval.a_tag.tag_mode = TM_IMPLICIT; ;
break;}
case 280:
#line 2167 "asn1p_y.y"
#line 2169 "asn1p_y.y"
{ yyval.a_tag.tag_mode = TM_EXPLICIT; ;
break;}
case 281:
#line 2171 "asn1p_y.y"
#line 2173 "asn1p_y.y"
{
checkmem(yyvsp[0].tv_str);
yyval.tv_str = yyvsp[0].tv_str;
;
break;}
case 282:
#line 2175 "asn1p_y.y"
#line 2177 "asn1p_y.y"
{
checkmem(yyvsp[0].tv_str);
yyval.tv_str = yyvsp[0].tv_str;
;
break;}
case 283:
#line 2183 "asn1p_y.y"
#line 2185 "asn1p_y.y"
{
checkmem(yyvsp[0].tv_str);
yyval.tv_str = yyvsp[0].tv_str;
;
break;}
case 284:
#line 2190 "asn1p_y.y"
#line 2192 "asn1p_y.y"
{ yyval.tv_str = 0; ;
break;}
case 285:
#line 2191 "asn1p_y.y"
#line 2193 "asn1p_y.y"
{
yyval.tv_str = yyvsp[0].tv_str;
;
break;}
case 286:
#line 2197 "asn1p_y.y"
#line 2199 "asn1p_y.y"
{
checkmem(yyvsp[0].tv_str);
yyval.tv_str = yyvsp[0].tv_str;
......@@ -3765,7 +3773,7 @@ yyerrhandle:
}
return 1;
}
#line 2203 "asn1p_y.y"
#line 2205 "asn1p_y.y"
......
......@@ -251,7 +251,8 @@ static void _fixup_anonymous_identifier(asn1p_expr_t *expr);
%type <a_expr> Type
%type <a_expr> DataTypeReference /* Type1 ::= Type2 */
%type <a_expr> DefinedType
%type <a_expr> ValueSetDefinition /* Val INTEGER ::= {1|2} */
%type <a_constr> ValueSet /* {a|b|c}*/
%type <a_expr> ValueSetTypeAssignment /* Val INTEGER ::= {1|2} */
%type <a_expr> ValueDefinition /* val INTEGER ::= 1*/
%type <a_value> Value
%type <a_value> SimpleValue
......@@ -554,7 +555,7 @@ ModuleSpecificationElement:
* EvenNumbers INTEGER ::= { 2 | 4 | 6 | 8 }
* === EOF ===
*/
| ValueSetDefinition {
| ValueSetTypeAssignment {
$$ = asn1p_module_new();
checkmem($$);
assert($1->expr_type != A1TC_INVALID);
......@@ -712,14 +713,15 @@ ExportsElement:
;
ValueSetDefinition:
TypeRefName DefinedType TOK_PPEQ
'{' { asn1p_lexer_hack_push_opaque_state(); } Opaque /* '}' */ {
ValueSet: '{' ElementSetSpecs '}' { $$ = $2; }
ValueSetTypeAssignment:
TypeRefName DefinedType TOK_PPEQ ValueSet {
$$ = $2;
assert($$->Identifier == 0);
$$->Identifier = $1;
$$->meta_type = AMT_VALUESET;
/* take care of ValueSet body */
$$->constraints = $4;
}
;
......
......@@ -607,7 +607,6 @@ asn1print_expr(asn1p_t *asn, asn1p_module_t *mod, asn1p_expr_t *tc, enum asn1pri
*/
if(TQ_FIRST(&(tc->members))
|| (tc->expr_type & ASN_CONSTR_MASK)
|| tc->meta_type == AMT_VALUESET
|| tc->meta_type == AMT_OBJECT
|| tc->meta_type == AMT_OBJECTCLASS
|| tc->meta_type == AMT_OBJECTFIELD
......@@ -675,7 +674,11 @@ asn1print_expr(asn1p_t *asn, asn1p_module_t *mod, asn1p_expr_t *tc, enum asn1pri
if(!SEQ_OF && tc->constraints) {
printf(" ");
if(tc->meta_type == AMT_VALUESET)
printf("{");
asn1print_constraint(tc->constraints, flags);
if(tc->meta_type == AMT_VALUESET)
printf("}");
}
if(tc->unique) {
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment