Commit c7d939da authored by Lev Walkin's avatar Lev Walkin

string value compatibility

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