aboutsummaryrefslogtreecommitdiffstats
path: root/libasn1parser
diff options
context:
space:
mode:
authorLev Walkin <vlm@lionet.info>2005-03-20 11:12:40 +0000
committerLev Walkin <vlm@lionet.info>2005-03-20 11:12:40 +0000
commitc7d939daeeb9c8f30a5e9ec0070ddb305068e036 (patch)
tree17bf8b16688744c08b3be04dffc3fff5086ece64 /libasn1parser
parenta7247f9ad2e0459b2d826952576c9dcd65ced37f (diff)
string value compatibility
Diffstat (limited to 'libasn1parser')
-rw-r--r--libasn1parser/asn1p_y.c931
-rw-r--r--libasn1parser/asn1p_y.y7
2 files changed, 476 insertions, 462 deletions
diff --git a/libasn1parser/asn1p_y.c b/libasn1parser/asn1p_y.c
index 70d1a108..82e1509d 100644
--- a/libasn1parser/asn1p_y.c
+++ b/libasn1parser/asn1p_y.c
@@ -261,12 +261,12 @@ static const short yyprhs[] = { 0,
204, 208, 210, 214, 216, 218, 219, 221, 223, 227,
231, 235, 237, 239, 243, 246, 248, 254, 255, 257,
259, 263, 266, 271, 276, 277, 279, 280, 287, 289,
- 292, 294, 296, 298, 302, 306, 310, 312, 314, 319,
- 324, 329, 336, 343, 345, 350, 355, 357, 361, 363,
- 367, 371, 375, 377, 381, 383, 387, 389, 391, 393,
- 395, 400, 404, 405, 409, 411, 413, 415, 417, 419,
- 421, 423, 425, 427, 431, 433, 436, 438, 440, 442,
- 444, 447, 450, 452, 454, 457, 460, 462, 464, 466,
+ 292, 294, 296, 298, 302, 306, 310, 312, 317, 322,
+ 327, 334, 341, 343, 348, 353, 355, 359, 361, 365,
+ 369, 373, 375, 379, 381, 385, 387, 389, 391, 393,
+ 398, 402, 403, 407, 409, 411, 413, 415, 417, 419,
+ 421, 423, 425, 429, 431, 434, 436, 438, 440, 442,
+ 445, 448, 450, 452, 455, 458, 460, 462, 464, 466,
468, 471, 473, 476, 478, 480, 482, 484, 486, 488,
490, 492, 494, 496, 498, 500, 502, 504, 506, 508,
510, 512, 514, 515, 517, 519, 524, 528, 533, 535,
@@ -312,22 +312,22 @@ static const short yyrhs[] = { 117,
82, 103, 159, 160, 104, 0, 161, 0, 160, 161,
0, 4, 0, 168, 0, 102, 0, 102, 110, 173,
0, 102, 110, 207, 0, 208, 164, 182, 0, 177,
- 0, 178, 0, 27, 103, 151, 104, 0, 78, 103,
- 148, 104, 0, 79, 103, 148, 104, 0, 78, 182,
- 68, 215, 208, 164, 0, 79, 182, 68, 215, 208,
- 164, 0, 18, 0, 18, 35, 25, 216, 0, 213,
- 103, 146, 104, 0, 165, 0, 56, 68, 165, 0,
- 11, 0, 11, 111, 213, 0, 214, 111, 213, 0,
- 11, 111, 216, 0, 214, 0, 214, 111, 166, 0,
- 167, 0, 166, 111, 167, 0, 169, 0, 169, 0,
- 13, 0, 14, 0, 216, 139, 3, 171, 0, 216,
- 109, 171, 0, 0, 103, 172, 174, 0, 63, 0,
- 45, 0, 86, 0, 5, 0, 7, 0, 6, 0,
- 207, 0, 173, 0, 216, 0, 213, 111, 216, 0,
- 4, 0, 174, 4, 0, 24, 0, 63, 0, 76,
- 0, 176, 0, 67, 81, 0, 65, 51, 0, 77,
- 0, 44, 0, 36, 71, 0, 26, 81, 0, 91,
- 0, 47, 0, 58, 0, 40, 0, 22, 81, 0,
+ 0, 27, 103, 151, 104, 0, 78, 103, 148, 104,
+ 0, 79, 103, 148, 104, 0, 78, 182, 68, 215,
+ 208, 164, 0, 79, 182, 68, 215, 208, 164, 0,
+ 18, 0, 18, 35, 25, 216, 0, 213, 103, 146,
+ 104, 0, 165, 0, 56, 68, 165, 0, 11, 0,
+ 11, 111, 213, 0, 214, 111, 213, 0, 11, 111,
+ 216, 0, 214, 0, 214, 111, 166, 0, 167, 0,
+ 166, 111, 167, 0, 169, 0, 169, 0, 13, 0,
+ 14, 0, 216, 139, 3, 171, 0, 216, 109, 171,
+ 0, 0, 103, 172, 174, 0, 63, 0, 45, 0,
+ 86, 0, 5, 0, 7, 0, 6, 0, 207, 0,
+ 173, 0, 216, 0, 213, 111, 216, 0, 4, 0,
+ 174, 4, 0, 24, 0, 63, 0, 76, 0, 176,
+ 0, 67, 81, 0, 65, 51, 0, 77, 0, 44,
+ 0, 36, 71, 0, 26, 81, 0, 91, 0, 47,
+ 0, 178, 0, 58, 0, 40, 0, 22, 81, 0,
175, 0, 176, 204, 0, 23, 0, 48, 0, 49,
0, 50, 0, 59, 0, 64, 0, 74, 0, 83,
0, 85, 0, 90, 0, 92, 0, 93, 0, 94,
@@ -374,22 +374,22 @@ static const short yyrline[] = { 0,
898, 905, 910, 916, 922, 928, 933, 943, 945, 948,
956, 962, 971, 977, 994, 996, 1001, 1005, 1010, 1015,
1021, 1025, 1036, 1045, 1054, 1065, 1087, 1091, 1097, 1103,
- 1109, 1115, 1125, 1135, 1141, 1155, 1179, 1186, 1200, 1209,
- 1219, 1229, 1239, 1247, 1268, 1277, 1286, 1287, 1289, 1296,
- 1308, 1318, 1326, 1326, 1331, 1336, 1341, 1346, 1350, 1354,
- 1358, 1361, 1366, 1378, 1394, 1405, 1419, 1421, 1422, 1423,
- 1424, 1425, 1426, 1427, 1428, 1429, 1430, 1431, 1437, 1439,
- 1440, 1443, 1450, 1462, 1464, 1468, 1472, 1473, 1474, 1475,
- 1476, 1480, 1481, 1482, 1483, 1487, 1488, 1495, 1495, 1496,
- 1496, 1497, 1499, 1501, 1506, 1510, 1519, 1523, 1528, 1532,
- 1538, 1548, 1552, 1555, 1558, 1563, 1572, 1580, 1586, 1593,
- 1601, 1609, 1618, 1621, 1626, 1628, 1629, 1630, 1633, 1637,
- 1642, 1648, 1653, 1656, 1660, 1671, 1684, 1690, 1694, 1699,
- 1705, 1717, 1719, 1722, 1726, 1729, 1734, 1738, 1746, 1761,
- 1767, 1774, 1787, 1799, 1814, 1818, 1835, 1840, 1843, 1848,
- 1870, 1875, 1880, 1886, 1892, 1900, 1908, 1916, 1923, 1933,
- 1938, 1968, 1970, 1973, 1980, 1986, 1988, 1989, 1990, 1993,
- 1995, 1996, 1999, 2004, 2011, 2018, 2020, 2024
+ 1109, 1119, 1129, 1135, 1149, 1173, 1180, 1194, 1203, 1213,
+ 1223, 1233, 1241, 1262, 1271, 1280, 1281, 1283, 1290, 1302,
+ 1312, 1320, 1320, 1325, 1330, 1335, 1340, 1344, 1348, 1352,
+ 1355, 1360, 1372, 1388, 1399, 1413, 1415, 1416, 1417, 1418,
+ 1419, 1420, 1421, 1422, 1423, 1424, 1425, 1426, 1432, 1434,
+ 1435, 1438, 1445, 1457, 1459, 1463, 1467, 1468, 1469, 1470,
+ 1471, 1475, 1476, 1477, 1478, 1482, 1483, 1490, 1490, 1491,
+ 1491, 1492, 1494, 1496, 1501, 1505, 1514, 1518, 1523, 1527,
+ 1533, 1543, 1547, 1550, 1553, 1558, 1567, 1575, 1581, 1588,
+ 1596, 1604, 1613, 1616, 1621, 1623, 1624, 1625, 1628, 1632,
+ 1637, 1643, 1648, 1651, 1655, 1666, 1679, 1685, 1689, 1694,
+ 1700, 1712, 1714, 1717, 1721, 1724, 1729, 1733, 1741, 1756,
+ 1762, 1769, 1782, 1794, 1809, 1813, 1830, 1835, 1838, 1843,
+ 1865, 1870, 1875, 1881, 1887, 1895, 1903, 1911, 1918, 1928,
+ 1933, 1963, 1965, 1968, 1975, 1981, 1983, 1984, 1985, 1988,
+ 1990, 1991, 1994, 1999, 2006, 2013, 2015, 2019
};
#endif
@@ -453,10 +453,10 @@ static const short yyr1[] = { 0,
150, 150, 151, 151, 152, 152, 153, 154, 154, 155,
155, 156, 156, 156, 157, 157, 159, 158, 160, 160,
161, 161, 162, 162, 162, 163, 164, 164, 164, 164,
- 164, 164, 164, 164, 164, 164, 164, 164, 165, 165,
- 165, 165, 165, 165, 166, 166, 167, 168, 169, 169,
- 170, 171, 172, 171, 171, 171, 171, 171, 171, 171,
- 171, 171, 173, 173, 174, 174, 175, 175, 175, 175,
+ 164, 164, 164, 164, 164, 164, 164, 165, 165, 165,
+ 165, 165, 165, 166, 166, 167, 168, 169, 169, 170,
+ 171, 172, 171, 171, 171, 171, 171, 171, 171, 171,
+ 171, 173, 173, 174, 174, 175, 175, 175, 175, 175,
175, 175, 175, 175, 175, 175, 175, 175, 176, 176,
176, 177, 177, 178, 178, 178, 178, 178, 178, 178,
178, 178, 178, 178, 178, 178, 178, 179, 179, 180,
@@ -482,12 +482,12 @@ static const short yyr2[] = { 0,
3, 1, 3, 1, 1, 0, 1, 1, 3, 3,
3, 1, 1, 3, 2, 1, 5, 0, 1, 1,
3, 2, 4, 4, 0, 1, 0, 6, 1, 2,
- 1, 1, 1, 3, 3, 3, 1, 1, 4, 4,
- 4, 6, 6, 1, 4, 4, 1, 3, 1, 3,
- 3, 3, 1, 3, 1, 3, 1, 1, 1, 1,
- 4, 3, 0, 3, 1, 1, 1, 1, 1, 1,
- 1, 1, 1, 3, 1, 2, 1, 1, 1, 1,
- 2, 2, 1, 1, 2, 2, 1, 1, 1, 1,
+ 1, 1, 1, 3, 3, 3, 1, 4, 4, 4,
+ 6, 6, 1, 4, 4, 1, 3, 1, 3, 3,
+ 3, 1, 3, 1, 3, 1, 1, 1, 1, 4,
+ 3, 0, 3, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 3, 1, 2, 1, 1, 1, 1, 2,
+ 2, 1, 1, 2, 2, 1, 1, 1, 1, 1,
2, 1, 2, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 0, 1, 1, 4, 3, 4, 1, 3,
@@ -510,235 +510,251 @@ static const short yydefact[] = { 0,
173, 174, 175, 176, 0, 24, 25, 27, 28, 31,
29, 30, 34, 0, 0, 32, 0, 47, 0, 48,
50, 52, 36, 0, 37, 0, 40, 42, 44, 4,
- 26, 252, 119, 265, 0, 147, 0, 0, 160, 154,
- 158, 159, 148, 0, 0, 149, 153, 157, 0, 0,
- 54, 55, 150, 123, 0, 33, 46, 45, 0, 0,
- 35, 38, 0, 0, 0, 0, 256, 64, 63, 0,
- 253, 260, 0, 161, 156, 155, 152, 151, 0, 66,
- 0, 68, 0, 0, 0, 49, 51, 5, 41, 43,
- 0, 258, 259, 257, 0, 119, 265, 114, 0, 0,
- 183, 183, 62, 183, 117, 162, 150, 107, 108, 0,
- 262, 261, 254, 120, 122, 0, 0, 0, 0, 56,
- 129, 130, 124, 125, 127, 121, 138, 140, 139, 250,
- 251, 136, 135, 137, 133, 131, 142, 141, 0, 143,
- 39, 0, 90, 252, 128, 0, 0, 0, 0, 0,
+ 26, 252, 118, 265, 0, 146, 0, 0, 160, 153,
+ 157, 159, 147, 0, 0, 148, 152, 156, 0, 0,
+ 54, 55, 149, 158, 122, 0, 33, 46, 45, 0,
+ 0, 35, 38, 0, 0, 0, 0, 256, 64, 63,
+ 0, 253, 260, 0, 161, 155, 154, 151, 150, 0,
+ 66, 0, 68, 0, 0, 0, 49, 51, 5, 41,
+ 43, 0, 258, 259, 257, 0, 118, 265, 113, 0,
+ 0, 183, 183, 62, 183, 116, 162, 149, 107, 0,
+ 262, 261, 254, 119, 121, 0, 0, 0, 0, 56,
+ 128, 129, 123, 124, 126, 120, 137, 139, 138, 250,
+ 251, 135, 134, 136, 132, 130, 141, 140, 0, 142,
+ 39, 0, 90, 252, 127, 0, 0, 0, 0, 0,
76, 0, 0, 184, 185, 76, 0, 106, 0, 163,
252, 252, 67, 71, 70, 69, 214, 211, 210, 0,
209, 212, 0, 60, 0, 0, 0, 57, 58, 61,
192, 0, 198, 204, 203, 227, 228, 213, 216, 215,
0, 0, 0, 0, 95, 0, 0, 239, 88, 88,
92, 238, 0, 255, 0, 103, 0, 83, 86, 252,
- 118, 0, 0, 0, 77, 78, 82, 252, 0, 189,
+ 117, 0, 0, 0, 77, 78, 82, 252, 0, 189,
266, 0, 0, 266, 249, 241, 0, 243, 248, 245,
0, 72, 74, 75, 65, 205, 0, 0, 0, 0,
0, 53, 0, 180, 181, 178, 179, 0, 0, 182,
- 0, 0, 0, 0, 126, 145, 134, 144, 132, 0,
- 87, 96, 91, 240, 89, 237, 237, 115, 0, 109,
- 0, 85, 0, 252, 110, 0, 237, 187, 0, 252,
- 267, 0, 111, 252, 242, 0, 0, 116, 252, 206,
+ 0, 0, 0, 0, 125, 144, 133, 143, 131, 0,
+ 87, 96, 91, 240, 89, 237, 237, 114, 0, 108,
+ 0, 85, 0, 252, 109, 0, 237, 187, 0, 252,
+ 267, 0, 110, 252, 242, 0, 0, 115, 252, 206,
207, 202, 200, 0, 229, 197, 59, 193, 194, 195,
- 0, 201, 199, 0, 0, 231, 146, 0, 93, 94,
- 104, 105, 143, 84, 186, 81, 79, 80, 190, 0,
+ 0, 201, 199, 0, 0, 231, 145, 0, 93, 94,
+ 104, 105, 142, 84, 186, 81, 79, 80, 190, 0,
188, 0, 244, 0, 0, 73, 208, 220, 0, 218,
- 183, 196, 0, 233, 235, 230, 0, 97, 0, 112,
- 113, 247, 246, 217, 0, 222, 234, 0, 232, 0,
+ 183, 196, 0, 233, 235, 230, 0, 97, 0, 111,
+ 112, 247, 246, 217, 0, 222, 234, 0, 232, 0,
191, 219, 225, 226, 224, 221, 223, 236, 101, 0,
99, 102, 98, 100, 0, 0, 0
};
static const short yydefgoto[] = { 415,
3, 4, 8, 9, 13, 14, 25, 26, 27, 55,
- 56, 57, 106, 58, 74, 75, 76, 77, 59, 69,
- 70, 60, 100, 227, 228, 229, 61, 129, 130, 281,
- 282, 264, 265, 266, 257, 258, 118, 316, 192, 193,
- 311, 312, 400, 410, 411, 267, 283, 154, 155, 173,
- 174, 194, 195, 62, 186, 242, 187, 307, 156, 103,
- 158, 159, 298, 299, 301, 203, 204, 205, 269, 270,
+ 56, 57, 107, 58, 74, 75, 76, 77, 59, 69,
+ 70, 60, 100, 227, 228, 229, 61, 130, 131, 281,
+ 282, 264, 265, 266, 257, 258, 119, 316, 192, 193,
+ 311, 312, 400, 410, 411, 267, 283, 155, 156, 173,
+ 174, 194, 195, 62, 186, 242, 187, 307, 157, 103,
+ 159, 104, 298, 299, 301, 203, 204, 205, 269, 270,
231, 288, 232, 233, 234, 379, 380, 406, 407, 235,
236, 237, 355, 356, 384, 251, 252, 210, 277, 278,
- 238, 253, 121, 122, 145, 163, 239, 104, 330, 240
+ 238, 253, 122, 123, 146, 163, 239, 105, 330, 240
};
-static const short yypact[] = { 148,
--32768,-32768, 148,-32768, -58,-32768, 45, 43,-32768,-32768,
--32768,-32768, 53,-32768, -13, 144,-32768,-32768, 97, 68,
- 59, 83, 84, 95, 189, 144,-32768, 89,-32768,-32768,
--32768,-32768,-32768, 180,-32768,-32768, 367,-32768, 191, 35,
--32768,-32768,-32768, 201,-32768,-32768,-32768,-32768,-32768,-32768,
--32768,-32768,-32768,-32768, 167, 367,-32768,-32768,-32768,-32768,
--32768,-32768,-32768, 257, 581,-32768, 108,-32768, 69,-32768,
- 114,-32768,-32768, 16,-32768, -23,-32768, 122,-32768,-32768,
--32768, -10, 133,-32768, 160,-32768, 165, 181,-32768,-32768,
--32768,-32768,-32768, 214, 190,-32768,-32768,-32768, 598, 271,
--32768,-32768,-32768, 171, 277,-32768,-32768,-32768, 231, 183,
--32768,-32768, 148, 231, 194, 182, 1,-32768,-32768, 444,
--32768, 28, 231,-32768,-32768,-32768,-32768,-32768, 82,-32768,
- 185, 186, 196, 350, 163,-32768,-32768, -58,-32768,-32768,
- 170,-32768,-32768,-32768, 291, -8, 199, 275, 208, 245,
- -17, 75,-32768, -55,-32768,-32768, 213,-32768,-32768, 215,
--32768,-32768,-32768,-32768,-32768, 314, 598, 313, 231, 297,
--32768,-32768, 212,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
--32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, 216, 217,
--32768, 127,-32768, 27,-32768, 220, 303, 7, 221, 226,
- 51, 102, 268,-32768, 233, 51, 273,-32768, 48,-32768,
- 6, 225,-32768,-32768,-32768,-32768,-32768,-32768,-32768, -12,
--32768,-32768, 315,-32768, 148, 102, 240, 238,-32768, 272,
- 253, 251, -12,-32768,-32768, 254,-32768,-32768,-32768,-32768,
- 170, 355, 313, 163, 270, 170, 163,-32768, 279, 279,
--32768,-32768, 521,-32768, 313, 263, 153,-32768,-32768, 225,
--32768, 102, 306, 276, 274,-32768,-32768, 225, 278, 130,
- 313, 102, 281, 313,-32768,-32768, 154,-32768,-32768, 282,
- 155,-32768,-32768,-32768,-32768, 269, 285, 210, 286, 289,
- 288,-32768, 297,-32768,-32768,-32768,-32768, 102, 102,-32768,
- 102, 102, 280, 283,-32768,-32768, 391,-32768,-32768, 316,
--32768,-32768,-32768,-32768,-32768, 9, 9,-32768, 343,-32768,
- 7,-32768, 298, 225,-32768, 51, 9,-32768, 295, 225,
--32768, 300,-32768, 225,-32768, 56, 343,-32768, 6,-32768,
- 296,-32768,-32768, 30,-32768,-32768,-32768,-32768,-32768,-32768,
- 301,-32768,-32768, 11, 168,-32768,-32768, 307,-32768,-32768,
--32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, 304, 521,
--32768, 521,-32768, 305, 308,-32768,-32768,-32768, 169,-32768,
- -55,-32768, 313, 302,-32768,-32768, 283,-32768, 102,-32768,
--32768,-32768,-32768,-32768, 30, 24, 302, 313,-32768, 125,
- 272,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, 22,
--32768,-32768,-32768,-32768, 418, 419,-32768
+static const short yypact[] = { 152,
+-32768,-32768, 152,-32768, -74,-32768, 12, 5,-32768,-32768,
+-32768,-32768, 38,-32768, -16, 54,-32768,-32768, 44, 56,
+ 47, 72, 85, 81, 141, 54,-32768, 64,-32768,-32768,
+-32768,-32768,-32768, 132,-32768,-32768, 407,-32768, 161, 33,
+-32768,-32768,-32768, 53,-32768,-32768,-32768,-32768,-32768,-32768,
+-32768,-32768,-32768,-32768, 156, 407,-32768,-32768,-32768,-32768,
+-32768,-32768,-32768, 331, 636,-32768, 118,-32768, 105,-32768,
+ 124,-32768,-32768, 16,-32768, -23,-32768, 147,-32768,-32768,
+-32768, -3, 140,-32768, 176,-32768, 182, 203,-32768,-32768,
+-32768,-32768,-32768, 225, 198,-32768,-32768,-32768, 711, 278,
+-32768,-32768,-32768,-32768, 171, 283,-32768,-32768,-32768, 65,
+ 189,-32768,-32768, 152, 65, 194, 200, 3,-32768,-32768,
+ 484,-32768, 84, 65,-32768,-32768,-32768,-32768,-32768, 67,
+-32768, 192, 195, 204, 248, 210,-32768,-32768, -74,-32768,
+-32768, 163,-32768,-32768,-32768, 306, -10, 213, 282, 215,
+ 253, -1, 69,-32768, -42,-32768,-32768, 219,-32768, 223,
+-32768,-32768,-32768,-32768,-32768, 320, 711, 319, 65, 197,
+-32768,-32768, 217,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
+-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, 222, 226,
+-32768, 82,-32768, 29,-32768, 216, 311, 7, 235, 233,
+ 10, 279, 271,-32768, 236, 10, 276,-32768, 46,-32768,
+ 1, 231,-32768,-32768,-32768,-32768,-32768,-32768,-32768, 27,
+-32768,-32768, 318,-32768, 152, 279, 245, 243,-32768, 211,
+ 256, 251, 27,-32768,-32768, 255,-32768,-32768,-32768,-32768,
+ 163, 356, 319, 210, 266, 163, 210,-32768, 274, 274,
+-32768,-32768, 561,-32768, 319, 254, 88,-32768,-32768, 231,
+-32768, 279, 295, 262, 261,-32768,-32768, 231, 264, 60,
+ 319, 279, 268, 319,-32768,-32768, 93,-32768,-32768, 272,
+ 130,-32768,-32768,-32768,-32768, 273, 285, 220, 270, 288,
+ 277,-32768, 197,-32768,-32768,-32768,-32768, 279, 279,-32768,
+ 279, 279, 260, 280,-32768,-32768, 383,-32768,-32768, 317,
+-32768,-32768,-32768,-32768,-32768, 19, 19,-32768, 173,-32768,
+ 7,-32768, 294, 231,-32768, 10, 19,-32768, 300, 231,
+-32768, 298,-32768, 231,-32768, 49, 173,-32768, 1,-32768,
+ 297,-32768,-32768, 52,-32768,-32768,-32768,-32768,-32768,-32768,
+ 304,-32768,-32768, 11, 131,-32768,-32768, 303,-32768,-32768,
+-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, 305, 561,
+-32768, 561,-32768, 314, 321,-32768,-32768,-32768, 137,-32768,
+ -42,-32768, 319, 301,-32768,-32768, 280,-32768, 279,-32768,
+-32768,-32768,-32768,-32768, 52, 17, 301, 319,-32768, 165,
+ 211,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, 22,
+-32768,-32768,-32768,-32768, 411, 417,-32768
};
static const short yypgoto[] = {-32768,
--32768, 417, 284,-32768,-32768, 410,-32768,-32768, 398,-32768,
--32768, 369,-32768,-32768,-32768, 353,-32768, 318,-32768,-32768,
- 319,-32768, 364,-32768,-32768, 137,-32768,-32768, 267,-32768,
- 96, 230,-32768, 111,-32768, 117,-32768, 192,-32768, 193,
--32768,-32768,-32768,-32768, 33, -185, -79, -300, -53,-32768,
- 203, -186, -124,-32768, -165,-32768, -246,-32768, -48, -119,
--32768, 18,-32768,-32768,-32768, -147,-32768,-32768, -178, -166,
- -200, 207,-32768, -259,-32768,-32768, 50,-32768,-32768,-32768,
--32768,-32768,-32768, 60, 63, -295,-32768,-32768,-32768, 112,
- -126, -80,-32768,-32768,-32768,-32768, 31,-32768, 175, -7
+-32768, 423, 289,-32768,-32768, 416,-32768,-32768, 405,-32768,
+-32768, 376,-32768,-32768,-32768, 359,-32768, 322,-32768,-32768,
+ 325,-32768, 371,-32768,-32768, 145,-32768,-32768, 275,-32768,
+ 100, 234,-32768, 115,-32768, 122,-32768, 196,-32768, 201,
+-32768,-32768,-32768,-32768, 34, -187, -80, -183, -52,-32768,
+ 207, -186, -121,-32768, -137,-32768, -237,-32768, -48, -118,
+-32768, 35,-32768,-32768,-32768, -148,-32768,-32768, -178, -166,
+ -4, 218,-32768, -207,-32768,-32768, 55,-32768,-32768,-32768,
+-32768,-32768,-32768, 66, 71, -247,-32768,-32768,-32768, 116,
+ -126, -81,-32768,-32768,-32768,-32768, 31,-32768, 184, -7
};
-#define YYLAST 689
+#define YYLAST 805
static const short yytable[] = { 15,
- 157, 120, 119, 230, 207, 15, 208, 250, 188, 175,
- 101, 101, 259, 10, 10, 102, 102, 116, 10, 142,
- 359, 360, 113, 10, 200, 409, 1, 2, 343, 65,
- 5, 368, 72, 5, 171, 172, 79, 10, 403, 171,
- 172, 247, 10, 353, 7, 1, 2, 291, 65, 202,
- 131, 67, 10, 11, 63, 10, 180, 181, 10, 247,
- 10, 11, 200, 10, 180, 181, 79, 64, 161, 390,
- 71, 391, 361, 63, 78, 143, 16, 248, 309, 162,
- 263, 314, 279, 323, 114, 201, 64, 202, 286, 144,
- 374, 19, 404, 332, -263, 248, 405, 348, 349, 287,
- 350, 72, 123, 117, 78, 28, 79, 217, 256, 10,
- 180, 181, 1, 2, 249, 165, 175, 188, 131, 117,
- 188, 383, 111, 351, 29, 413, 230, 190, 409, 132,
- -237, 378, 285, 157, -237, 259, 32, 171, 172, 71,
- 117, 68, 30, 138, 78, 261, 218, 219, 12, 275,
- 160, 276, 256, 164, 200, 20, 17, 275, 1, 2,
- 214, 216, 220, 21, 176, 189, 31, 177, 178, 179,
- 10, 180, 181, 1, 2, 108, 109, 206, 33, 202,
- 322, 221, 171, 172, 22, 166, 23, 222, 327, 167,
- 260, 34, 362, 268, 36, 24, 223, 132, 268, 215,
- 37, 280, 66, 284, 225, 80, 226, 182, 10, 279,
- 375, 1, 2, 412, 107, 217, 110, 10, 180, 181,
- 1, 2, 401, 412, 115, 183, 294, 295, 296, 297,
- 245, 83, 84, 396, 246, 308, 190, 329, 10, 190,
- 124, 1, 2, 123, 366, 125, 73, 318, 184, 370,
- 157, 126, 157, 372, 218, 290, 320, 335, 338, 82,
- 321, 336, 339, 331, 127, 185, 331, 83, 84, 342,
- 128, 386, 394, 133, 189, 387, 395, 189, 85, 135,
- 86, 134, 87, 160, 141, 217, 137, 10, 180, 181,
- 1, 2, 88, 168, 169, 222, 89, 140, 170, 196,
- 90, -264, 217, 91, 10, 180, 181, 1, 2, 197,
- 198, 363, 199, 260, 92, 209, 212, 211, 268, 93,
- 10, 94, 241, 95, 218, 244, 243, 255, 280, 363,
- 262, 284, 96, 97, 254, 271, 381, 272, 117, 352,
- 274, 218, 219, 292, 289, 293, 385, 98, 300, 189,
- 10, 180, 181, 1, 2, 302, 304, 220, 306, 99,
- 1, 2, 171, 172, 310, 222, 315, 189, 294, 295,
- 296, 297, 319, 324, 10, 385, 221, 1, 2, 325,
- 340, 326, 222, 328, 333, 341, 337, 381, 344, 38,
- 408, 223, 345, 346, 357, 354, 369, 358, 224, 225,
- 160, 226, 160, 365, 39, 371, 382, 377, 40, 388,
- 392, 389, 398, 393, 41, 42, 43, 416, 417, 6,
- 44, 191, 18, 35, 81, 45, 112, 136, 105, 347,
- 46, 139, 47, 213, 376, 273, 367, 364, 313, 303,
- 48, 317, 414, 305, 402, 397, 399, 373, 334, 49,
- 0, 50, 0, 0, 146, 147, 51, 0, 52, 53,
- 54, 148, 0, 0, 0, 85, 38, 86, 0, 87,
- 149, 0, 0, 0, 0, 0, 0, 0, 0, 88,
+ 121, 120, 158, 230, 207, 15, 208, 250, 10, 188,
+ 259, 101, 101, 175, 10, 102, 102, 10, 10, 10,
+ 11, 143, 114, 10, 117, 409, 1, 2, 7, 65,
+ 5, 403, 72, 5, 171, 172, 79, 200, 16, 263,
+ 10, 171, 172, 1, 2, 10, 11, 291, 65, 67,
+ 132, 247, 28, 10, 180, 181, 10, 180, 181, 10,
+ 10, 247, 202, 1, 2, 20, 79, 64, 359, 360,
+ 71, 63, 10, 21, 78, 1, 2, 144, 200, 368,
+ 343, 361, 279, 323, 115, 404, 64, 248, 19, 405,
+ 63, 145, -263, 332, 22, 353, 23, 248, 73, 374,
+ 124, 201, 72, 202, 78, 24, 309, 79, 256, 314,
+ 118, 256, 29, 249, 118, 12, 165, 188, 132, 175,
+ 188, 383, 112, 351, 161, 413, 230, 286, 190, 133,
+ 30, 285, -237, 259, 158, 162, -237, 32, 287, 68,
+ 71, 17, 118, 34, 139, 78, 261, 275, 200, 276,
+ 275, 160, 37, 378, 164, 31, 294, 295, 296, 297,
+ 214, 216, 1, 2, 33, 176, 189, 329, 409, 36,
+ 166, 206, 66, 202, 167, 171, 172, 171, 172, 322,
+ 10, 180, 181, 1, 2, 245, 390, 327, 391, 246,
+ 260, 320, 362, 268, 80, 321, 335, 133, 268, 215,
+ 336, 280, 217, 284, 10, 180, 181, 1, 2, 279,
+ 375, 109, 110, 412, 177, 178, 179, 10, 180, 181,
+ 1, 2, 401, 412, 108, 217, 111, 10, 180, 181,
+ 1, 2, 396, 338, 386, 308, 190, 339, 387, 190,
+ 394, 218, 219, 366, 395, 83, 84, 318, 370, 116,
+ 124, 158, 372, 158, 182, 290, 125, 220, 1, 2,
+ 171, 172, 126, 331, 218, 217, 331, 10, 180, 181,
+ 1, 2, 183, 127, 189, 128, 221, 189, 129, 342,
+ 134, 135, 222, 160, 217, 136, 10, 180, 181, 1,
+ 2, 223, 138, 348, 349, 184, 350, 141, 224, 225,
+ 168, 226, 142, 169, 218, 222, 170, 294, 295, 296,
+ 297, 363, 185, 260, 196, -264, 197, 198, 268, 352,
+ 199, 209, 212, 218, 219, 211, 10, 241, 280, 363,
+ 254, 284, 243, 82, 244, 255, 381, 262, 271, 220,
+ 272, 83, 84, 274, 118, 222, 385, 289, 292, 189,
+ 293, 300, 85, 38, 86, 302, 87, 304, 221, 306,
+ 310, 315, 324, 319, 222, 325, 88, 189, 326, 328,
+ 89, 333, 344, 223, 90, 385, 337, 91, 41, 42,
+ 43, 225, 346, 226, 340, 341, 357, 381, 92, 45,
+ 408, 345, 354, 93, 46, 94, 47, 95, 358, 365,
+ 160, 369, 160, 371, 48, 388, 96, 97, 377, 382,
+ 416, 398, 389, 49, 10, 50, 417, 1, 2, 392,
+ 51, 98, 52, 53, 54, 6, 393, 191, 18, 38,
+ 35, 81, 113, 99, 137, 106, 140, 347, 376, 273,
+ 367, 213, 364, 414, 39, 317, 313, 305, 40, 402,
+ 303, 373, 399, 397, 41, 42, 43, 334, 0, 0,
+ 44, 0, 0, 0, 0, 45, 0, 0, 0, 0,
+ 46, 0, 47, 0, 0, 0, 0, 0, 0, 0,
+ 48, 0, 0, 0, 0, 0, 0, 0, 0, 49,
+ 0, 50, 0, 0, 147, 148, 51, 0, 52, 53,
+ 54, 149, 0, 0, 0, 85, 38, 86, 0, 87,
+ 150, 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, 150,
+ 91, 41, 42, 43, 0, 0, 0, 0, 0, 151,
0, 92, 45, 0, 0, 0, 93, 46, 94, 47,
95, 0, 0, 0, 0, 0, 0, 48, 0, 96,
- 97, 151, 152, 0, 0, 0, 49, 0, 50, 0,
- 153, 146, 147, 51, 98, 52, 53, 54, 148, 0,
- 0, 0, 85, 38, 86, 0, 87, 149, 0, 0,
+ 97, 152, 153, 0, 0, 0, 49, 0, 50, 0,
+ 154, 147, 148, 51, 98, 52, 53, 54, 149, 0,
+ 0, 0, 85, 38, 86, 0, 87, 150, 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, 150, 0, 92, 45,
+ 43, 0, 0, 0, 0, 0, 151, 0, 92, 45,
0, 0, 0, 93, 46, 94, 47, 95, 0, 0,
- 0, 83, 84, 0, 48, 0, 96, 97, 151, 152,
- 0, 0, 85, 49, 86, 50, 87, 0, 1, 2,
- 51, 98, 52, 53, 54, 0, 88, 0, 0, 85,
- 89, 86, 0, 87, 90, 0, 0, 91, 0, 0,
- 0, 0, 0, 88, 0, 0, 0, 89, 92, 0,
- 0, 90, 0, 93, 91, 94, 0, 95, 0, 0,
- 0, 0, 0, 0, 0, 92, 96, 97, 0, 0,
- 93, 0, 94, 0, 95, 0, 0, 0, 0, 0,
- 0, 98, 0, 96, 97, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 98
+ 0, 0, 0, 0, 48, 0, 96, 97, 152, 153,
+ 0, 0, 0, 49, 0, 50, 83, 84, 0, 0,
+ 51, 98, 52, 53, 54, 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, 1, 2, 0, 0, 51, 98, 52, 53, 54,
+ 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,
- 120, 82, 82, 170, 152, 13, 154, 194, 135, 134,
- 64, 65, 198, 8, 8, 64, 65, 28, 8, 19,
- 316, 317, 46, 8, 80, 4, 11, 12, 288, 37,
- 0, 327, 40, 3, 13, 14, 44, 8, 15, 13,
- 14, 33, 8, 303, 103, 11, 12, 226, 56, 105,
- 99, 17, 8, 9, 37, 8, 9, 10, 8, 33,
- 8, 9, 80, 8, 9, 10, 74, 37, 41, 370,
- 40, 372, 319, 56, 44, 75, 34, 69, 244, 52,
- 30, 247, 209, 262, 108, 103, 56, 105, 101, 89,
- 337, 105, 69, 272, 103, 69, 73, 298, 299, 112,
- 301, 109, 111, 114, 74, 9, 114, 6, 102, 8,
- 9, 10, 11, 12, 194, 123, 241, 244, 167, 114,
- 247, 111, 107, 302, 57, 104, 293, 135, 4, 99,
- 104, 102, 212, 253, 108, 321, 53, 13, 14, 109,
- 114, 107, 84, 113, 114, 199, 45, 46, 104, 102,
- 120, 104, 102, 123, 80, 12, 104, 102, 11, 12,
- 168, 169, 61, 20, 134, 135, 84, 5, 6, 7,
- 8, 9, 10, 11, 12, 107, 108, 103, 84, 105,
- 260, 80, 13, 14, 41, 104, 43, 86, 268, 108,
- 198, 3, 319, 201, 106, 52, 95, 167, 206, 169,
- 21, 209, 12, 211, 103, 39, 105, 45, 8, 336,
- 337, 11, 12, 400, 107, 6, 103, 8, 9, 10,
- 11, 12, 389, 410, 103, 63, 97, 98, 99, 100,
- 104, 11, 12, 381, 108, 243, 244, 108, 8, 247,
- 81, 11, 12, 111, 324, 81, 46, 255, 86, 330,
- 370, 71, 372, 334, 45, 225, 104, 104, 104, 3,
- 108, 108, 108, 271, 51, 103, 274, 11, 12, 60,
- 81, 104, 104, 3, 244, 108, 108, 247, 22, 3,
- 24, 111, 26, 253, 103, 6, 104, 8, 9, 10,
- 11, 12, 36, 109, 109, 86, 40, 104, 103, 9,
- 44, 103, 6, 47, 8, 9, 10, 11, 12, 35,
- 103, 319, 68, 321, 58, 103, 3, 103, 326, 63,
- 8, 65, 111, 67, 45, 109, 111, 25, 336, 337,
- 105, 339, 76, 77, 115, 68, 344, 105, 114, 60,
- 68, 45, 46, 104, 30, 108, 354, 91, 96, 319,
- 8, 9, 10, 11, 12, 105, 103, 61, 4, 103,
- 11, 12, 13, 14, 95, 86, 88, 337, 97, 98,
- 99, 100, 110, 68, 8, 383, 80, 11, 12, 104,
- 112, 108, 86, 106, 104, 101, 105, 395, 103, 23,
- 398, 95, 104, 106, 4, 113, 102, 82, 102, 103,
- 370, 105, 372, 106, 38, 106, 106, 112, 42, 103,
- 106, 108, 111, 106, 48, 49, 50, 0, 0, 3,
- 54, 138, 13, 26, 56, 59, 74, 109, 65, 293,
- 64, 114, 66, 167, 339, 206, 326, 321, 246, 233,
- 74, 250, 410, 241, 395, 383, 387, 336, 274, 83,
+ 82, 82, 121, 170, 153, 13, 155, 194, 8, 136,
+ 198, 64, 65, 135, 8, 64, 65, 8, 8, 8,
+ 9, 19, 46, 8, 28, 4, 11, 12, 103, 37,
+ 0, 15, 40, 3, 13, 14, 44, 80, 34, 30,
+ 8, 13, 14, 11, 12, 8, 9, 226, 56, 17,
+ 99, 33, 9, 8, 9, 10, 8, 9, 10, 8,
+ 8, 33, 105, 11, 12, 12, 74, 37, 316, 317,
+ 40, 37, 8, 20, 44, 11, 12, 75, 80, 327,
+ 288, 319, 209, 262, 108, 69, 56, 69, 105, 73,
+ 56, 89, 103, 272, 41, 303, 43, 69, 46, 337,
+ 111, 103, 110, 105, 74, 52, 244, 115, 102, 247,
+ 114, 102, 57, 194, 114, 104, 124, 244, 167, 241,
+ 247, 111, 107, 302, 41, 104, 293, 101, 136, 99,
+ 84, 212, 104, 321, 253, 52, 108, 53, 112, 107,
+ 110, 104, 114, 3, 114, 115, 199, 102, 80, 104,
+ 102, 121, 21, 102, 124, 84, 97, 98, 99, 100,
+ 168, 169, 11, 12, 84, 135, 136, 108, 4, 106,
+ 104, 103, 12, 105, 108, 13, 14, 13, 14, 260,
+ 8, 9, 10, 11, 12, 104, 370, 268, 372, 108,
+ 198, 104, 319, 201, 39, 108, 104, 167, 206, 169,
+ 108, 209, 6, 211, 8, 9, 10, 11, 12, 336,
+ 337, 107, 108, 400, 5, 6, 7, 8, 9, 10,
+ 11, 12, 389, 410, 107, 6, 103, 8, 9, 10,
+ 11, 12, 381, 104, 104, 243, 244, 108, 108, 247,
+ 104, 45, 46, 324, 108, 11, 12, 255, 330, 103,
+ 111, 370, 334, 372, 45, 225, 81, 61, 11, 12,
+ 13, 14, 81, 271, 45, 6, 274, 8, 9, 10,
+ 11, 12, 63, 71, 244, 51, 80, 247, 81, 60,
+ 3, 111, 86, 253, 6, 3, 8, 9, 10, 11,
+ 12, 95, 104, 298, 299, 86, 301, 104, 102, 103,
+ 109, 105, 103, 109, 45, 86, 103, 97, 98, 99,
+ 100, 319, 103, 321, 9, 103, 35, 103, 326, 60,
+ 68, 103, 3, 45, 46, 103, 8, 111, 336, 337,
+ 115, 339, 111, 3, 109, 25, 344, 105, 68, 61,
+ 105, 11, 12, 68, 114, 86, 354, 30, 104, 319,
+ 108, 96, 22, 23, 24, 105, 26, 103, 80, 4,
+ 95, 88, 68, 110, 86, 104, 36, 337, 108, 106,
+ 40, 104, 103, 95, 44, 383, 105, 47, 48, 49,
+ 50, 103, 106, 105, 112, 101, 4, 395, 58, 59,
+ 398, 104, 113, 63, 64, 65, 66, 67, 82, 106,
+ 370, 102, 372, 106, 74, 103, 76, 77, 112, 106,
+ 0, 111, 108, 83, 8, 85, 0, 11, 12, 106,
+ 90, 91, 92, 93, 94, 3, 106, 139, 13, 23,
+ 26, 56, 74, 103, 110, 65, 115, 293, 339, 206,
+ 326, 167, 321, 410, 38, 250, 246, 241, 42, 395,
+ 233, 336, 387, 383, 48, 49, 50, 274, -1, -1,
+ 54, -1, -1, -1, -1, 59, -1, -1, -1, -1,
+ 64, -1, 66, -1, -1, -1, -1, -1, -1, -1,
+ 74, -1, -1, -1, -1, -1, -1, -1, -1, 83,
-1, 85, -1, -1, 11, 12, 90, -1, 92, 93,
94, 18, -1, -1, -1, 22, 23, 24, -1, 26,
27, -1, -1, -1, -1, -1, -1, -1, -1, 36,
@@ -753,16 +769,24 @@ static const short yycheck[] = { 7,
40, -1, -1, -1, 44, -1, -1, 47, 48, 49,
50, -1, -1, -1, -1, -1, 56, -1, 58, 59,
-1, -1, -1, 63, 64, 65, 66, 67, -1, -1,
- -1, 11, 12, -1, 74, -1, 76, 77, 78, 79,
- -1, -1, 22, 83, 24, 85, 26, -1, 11, 12,
- 90, 91, 92, 93, 94, -1, 36, -1, -1, 22,
- 40, 24, -1, 26, 44, -1, -1, 47, -1, -1,
- -1, -1, -1, 36, -1, -1, -1, 40, 58, -1,
- -1, 44, -1, 63, 47, 65, -1, 67, -1, -1,
- -1, -1, -1, -1, -1, 58, 76, 77, -1, -1,
- 63, -1, 65, -1, 67, -1, -1, -1, -1, -1,
- -1, 91, -1, 76, 77, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, 91
+ -1, -1, -1, -1, 74, -1, 76, 77, 78, 79,
+ -1, -1, -1, 83, -1, 85, 11, 12, -1, -1,
+ 90, 91, 92, 93, 94, -1, -1, 22, 23, 24,
+ -1, 26, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, 36, -1, -1, -1, 40, -1, -1, -1, 44,
+ -1, -1, 47, 48, 49, 50, -1, -1, -1, -1,
+ -1, -1, -1, 58, 59, -1, -1, -1, 63, 64,
+ 65, 66, 67, -1, -1, -1, -1, -1, -1, 74,
+ -1, 76, 77, -1, -1, -1, -1, -1, 83, -1,
+ 85, 11, 12, -1, -1, 90, 91, 92, 93, 94,
+ -1, -1, 22, 23, 24, -1, 26, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, 36, -1, -1, -1,
+ 40, -1, -1, -1, 44, -1, -1, 47, 48, 49,
+ 50, -1, -1, -1, -1, -1, -1, -1, 58, 59,
+ -1, -1, -1, 63, 64, 65, 66, 67, -1, -1,
+ -1, -1, -1, -1, 74, -1, 76, 77, -1, -1,
+ -1, -1, -1, 83, -1, 85, -1, -1, -1, -1,
+ 90, 91, 92, 93, 94
};
/* -*-C-*- Note some compilers choke on comments on `#line' lines. */
#line 3 "/usr/share/bison.simple"
@@ -2183,9 +2207,9 @@ case 107:
case 108:
#line 1091 "asn1p_y.y"
{
- yyval.a_expr = asn1p_expr_new(yylineno);
- checkmem(yyval.a_expr);
- yyval.a_expr->expr_type = yyvsp[0].a_type;
+ yyval.a_expr = yyvsp[-1].a_expr;
+ assert(yyval.a_expr->expr_type == A1TC_INVALID);
+ yyval.a_expr->expr_type = ASN_CONSTR_CHOICE;
yyval.a_expr->meta_type = AMT_TYPE;
;
break;}
@@ -2194,7 +2218,7 @@ case 109:
{
yyval.a_expr = yyvsp[-1].a_expr;
assert(yyval.a_expr->expr_type == A1TC_INVALID);
- yyval.a_expr->expr_type = ASN_CONSTR_CHOICE;
+ yyval.a_expr->expr_type = ASN_CONSTR_SEQUENCE;
yyval.a_expr->meta_type = AMT_TYPE;
;
break;}
@@ -2203,22 +2227,13 @@ case 110:
{
yyval.a_expr = yyvsp[-1].a_expr;
assert(yyval.a_expr->expr_type == A1TC_INVALID);
- yyval.a_expr->expr_type = ASN_CONSTR_SEQUENCE;
+ yyval.a_expr->expr_type = ASN_CONSTR_SET;
yyval.a_expr->meta_type = AMT_TYPE;
;
break;}
case 111:
#line 1109 "asn1p_y.y"
{
- yyval.a_expr = yyvsp[-1].a_expr;
- assert(yyval.a_expr->expr_type == A1TC_INVALID);
- yyval.a_expr->expr_type = ASN_CONSTR_SET;
- yyval.a_expr->meta_type = AMT_TYPE;
- ;
- break;}
-case 112:
-#line 1115 "asn1p_y.y"
-{
yyval.a_expr = asn1p_expr_new(yylineno);
checkmem(yyval.a_expr);
yyval.a_expr->constraints = yyvsp[-4].a_constr;
@@ -2229,8 +2244,8 @@ case 112:
asn1p_expr_add(yyval.a_expr, yyvsp[0].a_expr);
;
break;}
-case 113:
-#line 1125 "asn1p_y.y"
+case 112:
+#line 1119 "asn1p_y.y"
{
yyval.a_expr = asn1p_expr_new(yylineno);
checkmem(yyval.a_expr);
@@ -2242,8 +2257,8 @@ case 113:
asn1p_expr_add(yyval.a_expr, yyvsp[0].a_expr);
;
break;}
-case 114:
-#line 1135 "asn1p_y.y"
+case 113:
+#line 1129 "asn1p_y.y"
{
yyval.a_expr = asn1p_expr_new(yylineno);
checkmem(yyval.a_expr);
@@ -2251,8 +2266,8 @@ case 114:
yyval.a_expr->meta_type = AMT_TYPE;
;
break;}
-case 115:
-#line 1141 "asn1p_y.y"
+case 114:
+#line 1135 "asn1p_y.y"
{
int ret;
yyval.a_expr = asn1p_expr_new(yylineno);
@@ -2265,8 +2280,8 @@ case 115:
yyval.a_expr->meta_type = AMT_TYPE;
;
break;}
-case 116:
-#line 1155 "asn1p_y.y"
+case 115:
+#line 1149 "asn1p_y.y"
{
int ret;
yyval.a_expr = yyvsp[-1].a_expr;
@@ -2282,8 +2297,8 @@ case 116:
yyval.a_expr->meta_type = AMT_TYPE;
;
break;}
-case 117:
-#line 1179 "asn1p_y.y"
+case 116:
+#line 1173 "asn1p_y.y"
{
yyval.a_expr = asn1p_expr_new(yylineno);
checkmem(yyval.a_expr);
@@ -2292,8 +2307,8 @@ case 117:
yyval.a_expr->meta_type = AMT_TYPEREF;
;
break;}
-case 118:
-#line 1186 "asn1p_y.y"
+case 117:
+#line 1180 "asn1p_y.y"
{
yyval.a_expr = asn1p_expr_new(yylineno);
checkmem(yyval.a_expr);
@@ -2302,8 +2317,8 @@ case 118:
yyval.a_expr->meta_type = AMT_TYPE;
;
break;}
-case 119:
-#line 1201 "asn1p_y.y"
+case 118:
+#line 1195 "asn1p_y.y"
{
int ret;
yyval.a_ref = asn1p_ref_new(yylineno);
@@ -2313,8 +2328,8 @@ case 119:
free(yyvsp[0].tv_str);
;
break;}
-case 120:
-#line 1209 "asn1p_y.y"
+case 119:
+#line 1203 "asn1p_y.y"
{
int ret;
yyval.a_ref = asn1p_ref_new(yylineno);
@@ -2326,8 +2341,8 @@ case 120:
free(yyvsp[-2].tv_str);
;
break;}
-case 121:
-#line 1219 "asn1p_y.y"
+case 120:
+#line 1213 "asn1p_y.y"
{
int ret;
yyval.a_ref = asn1p_ref_new(yylineno);
@@ -2339,8 +2354,8 @@ case 121:
free(yyvsp[-2].tv_str);
;
break;}
-case 122:
-#line 1229 "asn1p_y.y"
+case 121:
+#line 1223 "asn1p_y.y"
{
int ret;
yyval.a_ref = asn1p_ref_new(yylineno);
@@ -2352,8 +2367,8 @@ case 122:
free(yyvsp[-2].tv_str);
;
break;}
-case 123:
-#line 1239 "asn1p_y.y"
+case 122:
+#line 1233 "asn1p_y.y"
{
int ret;
yyval.a_ref = asn1p_ref_new(yylineno);
@@ -2363,8 +2378,8 @@ case 123:
checkmem(ret == 0);
;
break;}
-case 124:
-#line 1247 "asn1p_y.y"
+case 123:
+#line 1241 "asn1p_y.y"
{
int ret;
yyval.a_ref = yyvsp[0].a_ref;
@@ -2385,8 +2400,8 @@ case 124:
}
;
break;}
-case 125:
-#line 1269 "asn1p_y.y"
+case 124:
+#line 1263 "asn1p_y.y"
{
int ret;
yyval.a_ref = asn1p_ref_new(yylineno);
@@ -2396,8 +2411,8 @@ case 125:
checkmem(ret == 0);
;
break;}
-case 126:
-#line 1277 "asn1p_y.y"
+case 125:
+#line 1271 "asn1p_y.y"
{
int ret;
yyval.a_ref = yyvsp[-2].a_ref;
@@ -2406,22 +2421,22 @@ case 126:
checkmem(ret == 0);
;
break;}
-case 129:
-#line 1291 "asn1p_y.y"
+case 128:
+#line 1285 "asn1p_y.y"
{
yyval.a_refcomp.lex_type = RLT_AmpUppercase;
yyval.a_refcomp.name = yyvsp[0].tv_str;
;
break;}
-case 130:
-#line 1296 "asn1p_y.y"
+case 129:
+#line 1290 "asn1p_y.y"
{
yyval.a_refcomp.lex_type = RLT_Amplowercase;
yyval.a_refcomp.name = yyvsp[0].tv_str;
;
break;}
-case 131:
-#line 1309 "asn1p_y.y"
+case 130:
+#line 1303 "asn1p_y.y"
{
yyval.a_expr = yyvsp[-2].a_expr;
assert(yyval.a_expr->Identifier == NULL);
@@ -2430,8 +2445,8 @@ case 131:
yyval.a_expr->value = yyvsp[0].a_value;
;
break;}
-case 132:
-#line 1319 "asn1p_y.y"
+case 131:
+#line 1313 "asn1p_y.y"
{
yyval.a_value = asn1p_value_fromint(0);
checkmem(yyval.a_value);
@@ -2440,77 +2455,77 @@ case 132:
yyval.a_value->value.choice_identifier.value = yyvsp[0].a_value;
;
break;}
-case 133:
-#line 1326 "asn1p_y.y"
+case 132:
+#line 1320 "asn1p_y.y"
{ asn1p_lexer_hack_push_opaque_state(); ;
break;}
-case 134:
-#line 1326 "asn1p_y.y"
+case 133:
+#line 1320 "asn1p_y.y"
{
yyval.a_value = asn1p_value_frombuf(yyvsp[0].tv_opaque.buf, yyvsp[0].tv_opaque.len, 0);
checkmem(yyval.a_value);
yyval.a_value->type = ATV_UNPARSED;
;
break;}
-case 135:
-#line 1331 "asn1p_y.y"
+case 134:
+#line 1325 "asn1p_y.y"
{
yyval.a_value = asn1p_value_fromint(0);
checkmem(yyval.a_value);
yyval.a_value->type = ATV_NULL;
;
break;}
-case 136:
-#line 1336 "asn1p_y.y"
+case 135:
+#line 1330 "asn1p_y.y"
{
yyval.a_value = asn1p_value_fromint(0);
checkmem(yyval.a_value);
yyval.a_value->type = ATV_FALSE;
;
break;}
-case 137:
-#line 1341 "asn1p_y.y"
+case 136:
+#line 1335 "asn1p_y.y"
{
yyval.a_value = asn1p_value_fromint(0);
checkmem(yyval.a_value);
yyval.a_value->type = ATV_TRUE;
;
break;}
-case 138:
-#line 1346 "asn1p_y.y"
+case 137:
+#line 1340 "asn1p_y.y"
{
yyval.a_value = _convert_bitstring2binary(yyvsp[0].tv_str, 'B');
checkmem(yyval.a_value);
;
break;}
-case 139:
-#line 1350 "asn1p_y.y"
+case 138:
+#line 1344 "asn1p_y.y"
{
yyval.a_value = _convert_bitstring2binary(yyvsp[0].tv_str, 'H');
checkmem(yyval.a_value);
;
break;}
-case 140:
-#line 1354 "asn1p_y.y"
+case 139:
+#line 1348 "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 141:
-#line 1358 "asn1p_y.y"
+case 140:
+#line 1352 "asn1p_y.y"
{
yyval.a_value = yyvsp[0].a_value;
;
break;}
-case 142:
-#line 1361 "asn1p_y.y"
+case 141:
+#line 1355 "asn1p_y.y"
{
yyval.a_value = yyvsp[0].a_value;
;
break;}
-case 143:
-#line 1367 "asn1p_y.y"
+case 142:
+#line 1361 "asn1p_y.y"
{
asn1p_ref_t *ref;
int ret;
@@ -2523,8 +2538,8 @@ case 143:
free(yyvsp[0].tv_str);
;
break;}
-case 144:
-#line 1378 "asn1p_y.y"
+case 143:
+#line 1372 "asn1p_y.y"
{
asn1p_ref_t *ref;
int ret;
@@ -2540,8 +2555,8 @@ case 144:
free(yyvsp[0].tv_str);
;
break;}
-case 145:
-#line 1395 "asn1p_y.y"
+case 144:
+#line 1389 "asn1p_y.y"
{
yyval.tv_opaque.len = yyvsp[0].tv_opaque.len + 2;
yyval.tv_opaque.buf = malloc(yyval.tv_opaque.len + 1);
@@ -2553,8 +2568,8 @@ case 145:
free(yyvsp[0].tv_opaque.buf);
;
break;}
-case 146:
-#line 1405 "asn1p_y.y"
+case 145:
+#line 1399 "asn1p_y.y"
{
int newsize = yyvsp[-1].tv_opaque.len + yyvsp[0].tv_opaque.len;
char *p = malloc(newsize + 1);
@@ -2568,68 +2583,72 @@ case 146:
yyval.tv_opaque.len = newsize;
;
break;}
-case 147:
-#line 1420 "asn1p_y.y"
+case 146:
+#line 1414 "asn1p_y.y"
{ yyval.a_type = ASN_BASIC_BOOLEAN; ;
break;}
-case 148:
-#line 1421 "asn1p_y.y"
+case 147:
+#line 1415 "asn1p_y.y"
{ yyval.a_type = ASN_BASIC_NULL; ;
break;}
-case 149:
-#line 1422 "asn1p_y.y"
+case 148:
+#line 1416 "asn1p_y.y"
{ yyval.a_type = ASN_BASIC_REAL; ;
break;}
-case 150:
-#line 1423 "asn1p_y.y"
+case 149:
+#line 1417 "asn1p_y.y"
{ yyval.a_type = yyvsp[0].a_type; ;
break;}
-case 151:
-#line 1424 "asn1p_y.y"
+case 150:
+#line 1418 "asn1p_y.y"
{ yyval.a_type = ASN_BASIC_OCTET_STRING; ;
break;}
-case 152:
-#line 1425 "asn1p_y.y"
+case 151:
+#line 1419 "asn1p_y.y"
{ yyval.a_type = ASN_BASIC_OBJECT_IDENTIFIER; ;
break;}
-case 153:
-#line 1426 "asn1p_y.y"
+case 152:
+#line 1420 "asn1p_y.y"
{ yyval.a_type = ASN_BASIC_RELATIVE_OID; ;
break;}
-case 154:
-#line 1427 "asn1p_y.y"
+case 153:
+#line 1421 "asn1p_y.y"
{ yyval.a_type = ASN_BASIC_EXTERNAL; ;
break;}
-case 155:
-#line 1428 "asn1p_y.y"
+case 154:
+#line 1422 "asn1p_y.y"
{ yyval.a_type = ASN_BASIC_EMBEDDED_PDV; ;
break;}
-case 156:
-#line 1429 "asn1p_y.y"
+case 155:
+#line 1423 "asn1p_y.y"
{ yyval.a_type = ASN_BASIC_CHARACTER_STRING; ;
break;}
-case 157:
-#line 1430 "asn1p_y.y"
+case 156:
+#line 1424 "asn1p_y.y"
{ yyval.a_type = ASN_BASIC_UTCTime; ;
break;}
-case 158:
-#line 1431 "asn1p_y.y"
+case 157:
+#line 1425 "asn1p_y.y"
{ yyval.a_type = ASN_BASIC_GeneralizedTime; ;
break;}
+case 158:
+#line 1426 "asn1p_y.y"
+{ yyval.a_type = yyvsp[0].a_type; ;
+ break;}
case 159:
-#line 1438 "asn1p_y.y"
+#line 1433 "asn1p_y.y"
{ yyval.a_type = ASN_BASIC_INTEGER; ;
break;}
case 160:
-#line 1439 "asn1p_y.y"
+#line 1434 "asn1p_y.y"
{ yyval.a_type = ASN_BASIC_ENUMERATED; ;
break;}
case 161:
-#line 1440 "asn1p_y.y"
+#line 1435 "asn1p_y.y"
{ yyval.a_type = ASN_BASIC_BIT_STRING; ;
break;}
case 162:
-#line 1444 "asn1p_y.y"
+#line 1439 "asn1p_y.y"
{
yyval.a_expr = asn1p_expr_new(yylineno);
checkmem(yyval.a_expr);
@@ -2638,7 +2657,7 @@ case 162:
;
break;}
case 163:
-#line 1450 "asn1p_y.y"
+#line 1445 "asn1p_y.y"
{
if(yyvsp[0].a_expr) {
yyval.a_expr = yyvsp[0].a_expr;
@@ -2651,91 +2670,91 @@ case 163:
;
break;}
case 164:
-#line 1463 "asn1p_y.y"
+#line 1458 "asn1p_y.y"
{ yyval.a_type = ASN_STRING_BMPString; ;
break;}
case 165:
-#line 1464 "asn1p_y.y"
+#line 1459 "asn1p_y.y"
{
yyval.a_type = ASN_STRING_GeneralString;
fprintf(stderr, "WARNING: GeneralString is not fully supported\n");
;
break;}
case 166:
-#line 1468 "asn1p_y.y"
+#line 1463 "asn1p_y.y"
{
yyval.a_type = ASN_STRING_GraphicString;
fprintf(stderr, "WARNING: GraphicString is not fully supported\n");
;
break;}
case 167:
-#line 1472 "asn1p_y.y"
+#line 1467 "asn1p_y.y"
{ yyval.a_type = ASN_STRING_IA5String; ;
break;}
case 168:
-#line 1473 "asn1p_y.y"
+#line 1468 "asn1p_y.y"
{ yyval.a_type = ASN_STRING_ISO646String; ;
break;}
case 169:
-#line 1474 "asn1p_y.y"
+#line 1469 "asn1p_y.y"
{ yyval.a_type = ASN_STRING_NumericString; ;
break;}
case 170:
-#line 1475 "asn1p_y.y"
+#line 1470 "asn1p_y.y"
{ yyval.a_type = ASN_STRING_PrintableString; ;
break;}
case 171:
-#line 1476 "asn1p_y.y"
+#line 1471 "asn1p_y.y"
{
yyval.a_type = ASN_STRING_T61String;
fprintf(stderr, "WARNING: T61String is not fully supported\n");
;
break;}
case 172:
-#line 1480 "asn1p_y.y"
+#line 1475 "asn1p_y.y"
{ yyval.a_type = ASN_STRING_TeletexString; ;
break;}
case 173:
-#line 1481 "asn1p_y.y"
+#line 1476 "asn1p_y.y"
{ yyval.a_type = ASN_STRING_UniversalString; ;
break;}
case 174:
-#line 1482 "asn1p_y.y"
+#line 1477 "asn1p_y.y"
{ yyval.a_type = ASN_STRING_UTF8String; ;
break;}
case 175:
-#line 1483 "asn1p_y.y"
+#line 1478 "asn1p_y.y"
{
yyval.a_type = ASN_STRING_VideotexString;
fprintf(stderr, "WARNING: VideotexString is not fully supported\n");
;
break;}
case 176:
-#line 1487 "asn1p_y.y"
+#line 1482 "asn1p_y.y"
{ yyval.a_type = ASN_STRING_VisibleString; ;
break;}
case 177:
-#line 1488 "asn1p_y.y"
+#line 1483 "asn1p_y.y"
{ yyval.a_type = ASN_STRING_ObjectDescriptor; ;
break;}
case 183:
-#line 1500 "asn1p_y.y"
+#line 1495 "asn1p_y.y"
{ yyval.a_constr = 0; ;
break;}
case 184:
-#line 1501 "asn1p_y.y"
+#line 1496 "asn1p_y.y"
{
yyval.a_constr = yyvsp[0].a_constr;
;
break;}
case 185:
-#line 1507 "asn1p_y.y"
+#line 1502 "asn1p_y.y"
{
CONSTRAINT_INSERT(yyval.a_constr, ACT_CA_SET, yyvsp[0].a_constr, 0);
;
break;}
case 186:
-#line 1510 "asn1p_y.y"
+#line 1505 "asn1p_y.y"
{
/*
* This is a special case, for compatibility purposes.
@@ -2745,25 +2764,25 @@ case 186:
;
break;}
case 187:
-#line 1520 "asn1p_y.y"
+#line 1515 "asn1p_y.y"
{
yyval.a_constr = yyvsp[-1].a_constr;
;
break;}
case 188:
-#line 1523 "asn1p_y.y"
+#line 1518 "asn1p_y.y"
{
CONSTRAINT_INSERT(yyval.a_constr, ACT_CA_SET, yyvsp[-3].a_constr, yyvsp[-1].a_constr);
;
break;}
case 189:
-#line 1529 "asn1p_y.y"
+#line 1524 "asn1p_y.y"
{
yyval.a_constr = yyvsp[0].a_constr;
;
break;}
case 190:
-#line 1532 "asn1p_y.y"
+#line 1527 "asn1p_y.y"
{
asn1p_constraint_t *ct;
ct = asn1p_constraint_new(yylineno);
@@ -2772,7 +2791,7 @@ case 190:
;
break;}
case 191:
-#line 1538 "asn1p_y.y"
+#line 1533 "asn1p_y.y"
{
asn1p_constraint_t *ct;
ct = asn1p_constraint_new(yylineno);
@@ -2783,31 +2802,31 @@ case 191:
;
break;}
case 192:
-#line 1549 "asn1p_y.y"
+#line 1544 "asn1p_y.y"
{
yyval.a_constr = yyvsp[0].a_constr;
;
break;}
case 193:
-#line 1552 "asn1p_y.y"
+#line 1547 "asn1p_y.y"
{
CONSTRAINT_INSERT(yyval.a_constr, ACT_CA_UNI, yyvsp[-2].a_constr, yyvsp[0].a_constr);
;
break;}
case 194:
-#line 1555 "asn1p_y.y"
+#line 1550 "asn1p_y.y"
{
CONSTRAINT_INSERT(yyval.a_constr, ACT_CA_INT, yyvsp[-2].a_constr, yyvsp[0].a_constr);
;
break;}
case 195:
-#line 1558 "asn1p_y.y"
+#line 1553 "asn1p_y.y"
{
CONSTRAINT_INSERT(yyval.a_constr, ACT_CA_EXC, yyvsp[-2].a_constr, yyvsp[0].a_constr);
;
break;}
case 196:
-#line 1564 "asn1p_y.y"
+#line 1559 "asn1p_y.y"
{
int ret;
yyval.a_constr = asn1p_constraint_new(yylineno);
@@ -2818,7 +2837,7 @@ case 196:
;
break;}
case 197:
-#line 1572 "asn1p_y.y"
+#line 1567 "asn1p_y.y"
{
int ret;
yyval.a_constr = asn1p_constraint_new(yylineno);
@@ -2829,7 +2848,7 @@ case 197:
;
break;}
case 198:
-#line 1580 "asn1p_y.y"
+#line 1575 "asn1p_y.y"
{
yyval.a_constr = asn1p_constraint_new(yylineno);
checkmem(yyval.a_constr);
@@ -2838,7 +2857,7 @@ case 198:
;
break;}
case 199:
-#line 1586 "asn1p_y.y"
+#line 1581 "asn1p_y.y"
{
yyval.a_constr = asn1p_constraint_new(yylineno);
checkmem(yyval.a_constr);
@@ -2848,7 +2867,7 @@ case 199:
;
break;}
case 200:
-#line 1593 "asn1p_y.y"
+#line 1588 "asn1p_y.y"
{
yyval.a_constr = asn1p_constraint_new(yylineno);
checkmem(yyval.a_constr);
@@ -2859,7 +2878,7 @@ case 200:
;
break;}
case 201:
-#line 1601 "asn1p_y.y"
+#line 1596 "asn1p_y.y"
{
yyval.a_constr = asn1p_constraint_new(yylineno);
checkmem(yyval.a_constr);
@@ -2870,7 +2889,7 @@ case 201:
;
break;}
case 202:
-#line 1609 "asn1p_y.y"
+#line 1604 "asn1p_y.y"
{
yyval.a_constr = asn1p_constraint_new(yylineno);
checkmem(yyval.a_constr);
@@ -2882,47 +2901,47 @@ case 202:
;
break;}
case 203:
-#line 1618 "asn1p_y.y"
+#line 1613 "asn1p_y.y"
{
yyval.a_constr = yyvsp[0].a_constr;
;
break;}
case 204:
-#line 1621 "asn1p_y.y"
+#line 1616 "asn1p_y.y"
{
yyval.a_constr = yyvsp[0].a_constr;
;
break;}
case 205:
-#line 1627 "asn1p_y.y"
+#line 1622 "asn1p_y.y"
{ yyval.a_ctype = ACT_EL_RANGE; ;
break;}
case 206:
-#line 1628 "asn1p_y.y"
+#line 1623 "asn1p_y.y"
{ yyval.a_ctype = ACT_EL_RLRANGE; ;
break;}
case 207:
-#line 1629 "asn1p_y.y"
+#line 1624 "asn1p_y.y"
{ yyval.a_ctype = ACT_EL_LLRANGE; ;
break;}
case 208:
-#line 1630 "asn1p_y.y"
+#line 1625 "asn1p_y.y"
{ yyval.a_ctype = ACT_EL_ULRANGE; ;
break;}
case 209:
-#line 1634 "asn1p_y.y"
+#line 1629 "asn1p_y.y"
{
yyval.a_ctype = ACT_CT_SIZE;
;
break;}
case 210:
-#line 1637 "asn1p_y.y"
+#line 1632 "asn1p_y.y"
{
yyval.a_ctype = ACT_CT_FROM;
;
break;}
case 211:
-#line 1643 "asn1p_y.y"
+#line 1638 "asn1p_y.y"
{
yyval.a_value = asn1p_value_fromint(0);
checkmem(yyval.a_value);
@@ -2930,7 +2949,7 @@ case 211:
;
break;}
case 212:
-#line 1648 "asn1p_y.y"
+#line 1643 "asn1p_y.y"
{
yyval.a_value = asn1p_value_fromint(1);
checkmem(yyval.a_value);
@@ -2938,20 +2957,20 @@ case 212:
;
break;}
case 213:
-#line 1653 "asn1p_y.y"
+#line 1648 "asn1p_y.y"
{
yyval.a_value = yyvsp[0].a_value;
;
break;}
case 214:
-#line 1656 "asn1p_y.y"
+#line 1651 "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 215:
-#line 1660 "asn1p_y.y"
+#line 1655 "asn1p_y.y"
{
asn1p_ref_t *ref;
int ret;
@@ -2965,7 +2984,7 @@ case 215:
;
break;}
case 216:
-#line 1671 "asn1p_y.y"
+#line 1666 "asn1p_y.y"
{
asn1p_ref_t *ref;
int ret;
@@ -2979,25 +2998,25 @@ case 216:
;
break;}
case 217:
-#line 1685 "asn1p_y.y"
+#line 1680 "asn1p_y.y"
{
CONSTRAINT_INSERT(yyval.a_constr, ACT_CT_WCOMPS, yyvsp[-1].a_constr, 0);
;
break;}
case 218:
-#line 1691 "asn1p_y.y"
+#line 1686 "asn1p_y.y"
{
yyval.a_constr = yyvsp[0].a_constr;
;
break;}
case 219:
-#line 1694 "asn1p_y.y"
+#line 1689 "asn1p_y.y"
{
CONSTRAINT_INSERT(yyval.a_constr, ACT_CT_WCOMPS, yyvsp[-2].a_constr, yyvsp[0].a_constr);
;
break;}
case 220:
-#line 1700 "asn1p_y.y"
+#line 1695 "asn1p_y.y"
{
yyval.a_constr = asn1p_constraint_new(yylineno);
checkmem(yyval.a_constr);
@@ -3005,7 +3024,7 @@ case 220:
;
break;}
case 221:
-#line 1705 "asn1p_y.y"
+#line 1700 "asn1p_y.y"
{
yyval.a_constr = asn1p_constraint_new(yylineno);
checkmem(yyval.a_constr);
@@ -3015,45 +3034,45 @@ case 221:
;
break;}
case 222:
-#line 1718 "asn1p_y.y"
+#line 1713 "asn1p_y.y"
{ yyval.a_pres = ACPRES_DEFAULT; ;
break;}
case 223:
-#line 1719 "asn1p_y.y"
+#line 1714 "asn1p_y.y"
{ yyval.a_pres = yyvsp[0].a_pres; ;
break;}
case 224:
-#line 1723 "asn1p_y.y"
+#line 1718 "asn1p_y.y"
{
yyval.a_pres = ACPRES_PRESENT;
;
break;}
case 225:
-#line 1726 "asn1p_y.y"
+#line 1721 "asn1p_y.y"
{
yyval.a_pres = ACPRES_ABSENT;
;
break;}
case 226:
-#line 1729 "asn1p_y.y"
+#line 1724 "asn1p_y.y"
{
yyval.a_pres = ACPRES_OPTIONAL;
;
break;}
case 227:
-#line 1735 "asn1p_y.y"
+#line 1730 "asn1p_y.y"
{
yyval.a_constr = yyvsp[0].a_constr;
;
break;}
case 228:
-#line 1738 "asn1p_y.y"
+#line 1733 "asn1p_y.y"
{
yyval.a_constr = yyvsp[0].a_constr;
;
break;}
case 229:
-#line 1747 "asn1p_y.y"
+#line 1742 "asn1p_y.y"
{
asn1p_ref_t *ref = asn1p_ref_new(yylineno);
asn1p_constraint_t *ct;
@@ -3068,13 +3087,13 @@ case 229:
;
break;}
case 230:
-#line 1762 "asn1p_y.y"
+#line 1757 "asn1p_y.y"
{
CONSTRAINT_INSERT(yyval.a_constr, ACT_CA_CRC, yyvsp[-3].a_constr, yyvsp[-1].a_constr);
;
break;}
case 231:
-#line 1768 "asn1p_y.y"
+#line 1763 "asn1p_y.y"
{
yyval.a_constr = asn1p_constraint_new(yylineno);
checkmem(yyval.a_constr);
@@ -3083,7 +3102,7 @@ case 231:
;
break;}
case 232:
-#line 1774 "asn1p_y.y"
+#line 1769 "asn1p_y.y"
{
asn1p_constraint_t *ct;
ct = asn1p_constraint_new(yylineno);
@@ -3094,7 +3113,7 @@ case 232:
;
break;}
case 233:
-#line 1788 "asn1p_y.y"
+#line 1783 "asn1p_y.y"
{
char *p = malloc(strlen(yyvsp[0].tv_str) + 2);
int ret;
@@ -3108,7 +3127,7 @@ case 233:
;
break;}
case 234:
-#line 1799 "asn1p_y.y"
+#line 1794 "asn1p_y.y"
{
char *p = malloc(strlen(yyvsp[0].tv_str) + 3);
int ret;
@@ -3123,13 +3142,13 @@ case 234:
;
break;}
case 235:
-#line 1815 "asn1p_y.y"
+#line 1810 "asn1p_y.y"
{
yyval.tv_str = yyvsp[0].tv_str;
;
break;}
case 236:
-#line 1818 "asn1p_y.y"
+#line 1813 "asn1p_y.y"
{
int l1 = strlen(yyvsp[-2].tv_str);
int l3 = strlen(yyvsp[0].tv_str);
@@ -3141,45 +3160,45 @@ case 236:
;
break;}
case 237:
-#line 1836 "asn1p_y.y"
+#line 1831 "asn1p_y.y"
{
yyval.a_marker.flags = EM_NOMARK;
yyval.a_marker.default_value = 0;
;
break;}
case 238:
-#line 1840 "asn1p_y.y"
+#line 1835 "asn1p_y.y"
{ yyval.a_marker = yyvsp[0].a_marker; ;
break;}
case 239:
-#line 1844 "asn1p_y.y"
+#line 1839 "asn1p_y.y"
{
yyval.a_marker.flags = EM_OPTIONAL;
yyval.a_marker.default_value = 0;
;
break;}
case 240:
-#line 1848 "asn1p_y.y"
+#line 1843 "asn1p_y.y"
{
yyval.a_marker.flags = EM_DEFAULT;
yyval.a_marker.default_value = yyvsp[0].a_value;
;
break;}
case 241:
-#line 1871 "asn1p_y.y"
+#line 1866 "asn1p_y.y"
{
yyval.a_expr = asn1p_expr_new(yylineno);
checkmem(yyval.a_expr);
;
break;}
case 242:
-#line 1875 "asn1p_y.y"
+#line 1870 "asn1p_y.y"
{
yyval.a_expr = yyvsp[-1].a_expr;
;
break;}
case 243:
-#line 1881 "asn1p_y.y"
+#line 1876 "asn1p_y.y"
{
yyval.a_expr = asn1p_expr_new(yylineno);
checkmem(yyval.a_expr);
@@ -3187,14 +3206,14 @@ case 243:
;
break;}
case 244:
-#line 1886 "asn1p_y.y"
+#line 1881 "asn1p_y.y"
{
yyval.a_expr = yyvsp[-2].a_expr;
asn1p_expr_add(yyval.a_expr, yyvsp[0].a_expr);
;
break;}
case 245:
-#line 1893 "asn1p_y.y"
+#line 1888 "asn1p_y.y"
{
yyval.a_expr = asn1p_expr_new(yylineno);
checkmem(yyval.a_expr);
@@ -3204,7 +3223,7 @@ case 245:
;
break;}
case 246:
-#line 1900 "asn1p_y.y"
+#line 1895 "asn1p_y.y"
{
yyval.a_expr = asn1p_expr_new(yylineno);
checkmem(yyval.a_expr);
@@ -3215,7 +3234,7 @@ case 246:
;
break;}
case 247:
-#line 1908 "asn1p_y.y"
+#line 1903 "asn1p_y.y"
{
yyval.a_expr = asn1p_expr_new(yylineno);
checkmem(yyval.a_expr);
@@ -3226,7 +3245,7 @@ case 247:
;
break;}
case 248:
-#line 1916 "asn1p_y.y"
+#line 1911 "asn1p_y.y"
{
yyval.a_expr = asn1p_expr_new(yylineno);
checkmem(yyval.a_expr);
@@ -3236,7 +3255,7 @@ case 248:
;
break;}
case 249:
-#line 1923 "asn1p_y.y"
+#line 1918 "asn1p_y.y"
{
yyval.a_expr = asn1p_expr_new(yylineno);
checkmem(yyval.a_expr);
@@ -3247,102 +3266,102 @@ case 249:
;
break;}
case 250:
-#line 1934 "asn1p_y.y"
+#line 1929 "asn1p_y.y"
{
yyval.a_value = asn1p_value_fromint(yyvsp[0].a_int);
checkmem(yyval.a_value);
;
break;}
case 251:
-#line 1938 "asn1p_y.y"
+#line 1933 "asn1p_y.y"
{
yyval.a_value = asn1p_value_fromint(yyvsp[0].a_int);
checkmem(yyval.a_value);
;
break;}
case 252:
-#line 1969 "asn1p_y.y"
+#line 1964 "asn1p_y.y"
{ memset(&yyval.a_tag, 0, sizeof(yyval.a_tag)); ;
break;}
case 253:
-#line 1970 "asn1p_y.y"
+#line 1965 "asn1p_y.y"
{ yyval.a_tag = yyvsp[0].a_tag; ;
break;}
case 254:
-#line 1974 "asn1p_y.y"
+#line 1969 "asn1p_y.y"
{
yyval.a_tag = yyvsp[-1].a_tag;
yyval.a_tag.tag_mode = yyvsp[0].a_tag.tag_mode;
;
break;}
case 255:
-#line 1981 "asn1p_y.y"
+#line 1976 "asn1p_y.y"
{
yyval.a_tag = yyvsp[-2].a_tag;
yyval.a_tag.tag_value = yyvsp[-1].a_int;
;
break;}
case 256:
-#line 1987 "asn1p_y.y"
+#line 1982 "asn1p_y.y"
{ yyval.a_tag.tag_class = TC_CONTEXT_SPECIFIC; ;
break;}
case 257:
-#line 1988 "asn1p_y.y"
+#line 1983 "asn1p_y.y"
{ yyval.a_tag.tag_class = TC_UNIVERSAL; ;
break;}
case 258:
-#line 1989 "asn1p_y.y"
+#line 1984 "asn1p_y.y"
{ yyval.a_tag.tag_class = TC_APPLICATION; ;
break;}
case 259:
-#line 1990 "asn1p_y.y"
+#line 1985 "asn1p_y.y"
{ yyval.a_tag.tag_class = TC_PRIVATE; ;
break;}
case 260:
-#line 1994 "asn1p_y.y"
+#line 1989 "asn1p_y.y"
{ yyval.a_tag.tag_mode = TM_DEFAULT; ;
break;}
case 261:
-#line 1995 "asn1p_y.y"
+#line 1990 "asn1p_y.y"
{ yyval.a_tag.tag_mode = TM_IMPLICIT; ;
break;}
case 262:
-#line 1996 "asn1p_y.y"
+#line 1991 "asn1p_y.y"
{ yyval.a_tag.tag_mode = TM_EXPLICIT; ;
break;}
case 263:
-#line 2000 "asn1p_y.y"
+#line 1995 "asn1p_y.y"
{
checkmem(yyvsp[0].tv_str);
yyval.tv_str = yyvsp[0].tv_str;
;
break;}
case 264:
-#line 2004 "asn1p_y.y"
+#line 1999 "asn1p_y.y"
{
checkmem(yyvsp[0].tv_str);
yyval.tv_str = yyvsp[0].tv_str;
;
break;}
case 265:
-#line 2012 "asn1p_y.y"
+#line 2007 "asn1p_y.y"
{
checkmem(yyvsp[0].tv_str);
yyval.tv_str = yyvsp[0].tv_str;
;
break;}
case 266:
-#line 2019 "asn1p_y.y"
+#line 2014 "asn1p_y.y"
{ yyval.tv_str = 0; ;
break;}
case 267:
-#line 2020 "asn1p_y.y"
+#line 2015 "asn1p_y.y"
{
yyval.tv_str = yyvsp[0].tv_str;
;
break;}
case 268:
-#line 2025 "asn1p_y.y"
+#line 2020 "asn1p_y.y"
{
checkmem(yyvsp[0].tv_str);
yyval.tv_str = yyvsp[0].tv_str;
@@ -3570,7 +3589,7 @@ yyerrhandle:
}
return 1;
}
-#line 2031 "asn1p_y.y"
+#line 2026 "asn1p_y.y"
diff --git a/libasn1parser/asn1p_y.y b/libasn1parser/asn1p_y.y
index e316119a..9ae5017f 100644
--- a/libasn1parser/asn1p_y.y
+++ b/libasn1parser/asn1p_y.y
@@ -1088,12 +1088,6 @@ TypeDeclaration:
BasicType {
$$ = $1;
}
- | BasicString {
- $$ = asn1p_expr_new(yylineno);
- checkmem($$);
- $$->expr_type = $1;
- $$->meta_type = AMT_TYPE;
- }
| TOK_CHOICE '{' AlternativeTypeLists '}' {
$$ = $3;
assert($$->expr_type == A1TC_INVALID);
@@ -1429,6 +1423,7 @@ BasicTypeId:
| TOK_CHARACTER TOK_STRING { $$ = ASN_BASIC_CHARACTER_STRING; }
| TOK_UTCTime { $$ = ASN_BASIC_UTCTime; }
| TOK_GeneralizedTime { $$ = ASN_BASIC_GeneralizedTime; }
+ | BasicString { $$ = $1; }
;
/*