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