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

valuesettypeassignment parsing

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