Commit 83cac2f5 authored by Lev Walkin's avatar Lev Walkin

NamedType support

parent 0a95d03d
......@@ -205,11 +205,11 @@ typedef union {
#define YYFINAL 399
#define YYFINAL 402
#define YYFLAG -32768
#define YYNTBASE 115
#define YYTRANSLATE(x) ((unsigned)(x) <= 355 ? yytranslate[x] : 211)
#define YYTRANSLATE(x) ((unsigned)(x) <= 355 ? yytranslate[x] : 212)
static const char yytranslate[] = { 0,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
......@@ -262,29 +262,29 @@ static const short yyprhs[] = { 0,
202, 204, 206, 208, 212, 216, 220, 222, 224, 228,
231, 233, 239, 240, 242, 244, 248, 251, 256, 261,
262, 264, 265, 272, 274, 277, 279, 281, 283, 287,
291, 295, 297, 299, 304, 309, 314, 320, 326, 328,
333, 338, 340, 344, 346, 350, 354, 358, 360, 364,
366, 370, 372, 374, 376, 378, 383, 387, 388, 392,
394, 396, 398, 400, 402, 404, 406, 408, 410, 414,
416, 419, 421, 423, 425, 427, 430, 433, 435, 437,
440, 443, 445, 447, 449, 451, 454, 456, 459, 461,
463, 465, 467, 469, 471, 473, 475, 477, 479, 481,
483, 485, 487, 489, 491, 493, 495, 497, 498, 500,
502, 507, 511, 516, 518, 522, 528, 530, 534, 538,
542, 547, 551, 553, 557, 561, 565, 569, 571, 573,
575, 578, 581, 585, 587, 589, 591, 593, 595, 597,
599, 605, 607, 611, 613, 617, 618, 620, 622, 624,
626, 628, 630, 634, 639, 641, 645, 648, 652, 654,
658, 659, 661, 663, 666, 669, 673, 675, 679, 681,
686, 691, 693, 695, 697, 699, 700, 702, 704, 707,
710, 712, 714, 716
291, 295, 297, 299, 304, 309, 314, 321, 328, 330,
335, 340, 342, 346, 348, 352, 356, 360, 362, 366,
368, 372, 374, 376, 378, 380, 385, 389, 390, 394,
396, 398, 400, 402, 404, 406, 408, 410, 412, 416,
418, 421, 423, 425, 427, 429, 432, 435, 437, 439,
442, 445, 447, 449, 451, 453, 456, 458, 461, 463,
465, 467, 469, 471, 473, 475, 477, 479, 481, 483,
485, 487, 489, 491, 493, 495, 497, 499, 500, 502,
504, 509, 513, 518, 520, 524, 530, 532, 536, 540,
544, 549, 553, 555, 559, 563, 567, 571, 573, 575,
577, 580, 583, 587, 589, 591, 593, 595, 597, 599,
601, 607, 609, 613, 615, 619, 620, 622, 624, 626,
628, 630, 632, 636, 641, 643, 647, 650, 654, 656,
660, 661, 663, 665, 668, 671, 675, 677, 681, 683,
688, 693, 695, 697, 699, 701, 702, 704, 706, 709,
712, 714, 716, 718, 719, 721
};
static const short yyrhs[] = { 116,
0, 117, 0, 116, 117, 0, 208, 118, 34, 122,
3, 21, 125, 39, 0, 0, 119, 0, 104, 120,
105, 0, 104, 105, 0, 121, 0, 120, 121, 0,
210, 0, 210, 106, 9, 107, 0, 9, 0, 0,
211, 0, 211, 106, 9, 107, 0, 9, 0, 0,
123, 0, 124, 0, 123, 124, 0, 41, 84, 0,
52, 84, 0, 20, 84, 0, 43, 53, 0, 12,
57, 0, 0, 126, 0, 127, 0, 126, 127, 0,
......@@ -292,18 +292,18 @@ static const short yyrhs[] = { 116,
0, 38, 12, 128, 0, 176, 0, 54, 130, 108,
0, 54, 46, 0, 131, 0, 130, 131, 0, 132,
46, 208, 118, 0, 133, 0, 132, 109, 133, 0,
208, 0, 210, 0, 42, 135, 108, 0, 42, 17,
208, 0, 211, 0, 42, 135, 108, 0, 42, 17,
108, 0, 42, 108, 0, 136, 0, 135, 109, 136,
0, 208, 0, 210, 0, 208, 138, 3, 104, 139,
0, 208, 0, 211, 0, 208, 138, 3, 104, 139,
105, 0, 163, 0, 173, 0, 0, 140, 0, 141,
0, 140, 109, 141, 0, 102, 0, 184, 0, 208,
3, 206, 87, 0, 208, 3, 161, 0, 208, 3,
151, 0, 208, 104, 143, 105, 3, 161, 0, 144,
0, 143, 109, 144, 0, 208, 0, 208, 110, 210,
0, 173, 110, 210, 0, 146, 0, 145, 109, 146,
0, 161, 0, 210, 0, 148, 0, 147, 109, 148,
0, 210, 161, 200, 0, 30, 68, 161, 0, 160,
0, 150, 0, 149, 109, 150, 0, 210, 161, 0,
0, 143, 109, 144, 0, 208, 0, 208, 110, 211,
0, 173, 110, 211, 0, 146, 0, 145, 109, 146,
0, 161, 0, 211, 0, 148, 0, 147, 109, 148,
0, 211, 161, 200, 0, 30, 68, 161, 0, 160,
0, 150, 0, 149, 109, 150, 0, 211, 161, 0,
160, 0, 28, 104, 153, 105, 155, 0, 0, 88,
0, 154, 0, 153, 109, 154, 0, 166, 200, 0,
166, 161, 200, 152, 0, 166, 166, 200, 152, 0,
......@@ -312,79 +312,80 @@ static const short yyrhs[] = { 116,
102, 0, 102, 111, 171, 0, 102, 111, 205, 0,
206, 162, 180, 0, 175, 0, 176, 0, 27, 104,
149, 105, 0, 78, 104, 147, 105, 0, 79, 104,
147, 105, 0, 78, 180, 68, 206, 162, 0, 79,
180, 68, 206, 162, 0, 18, 0, 18, 35, 25,
210, 0, 208, 104, 145, 105, 0, 163, 0, 56,
68, 163, 0, 11, 0, 11, 112, 208, 0, 209,
112, 208, 0, 11, 112, 210, 0, 209, 0, 209,
112, 164, 0, 165, 0, 164, 112, 165, 0, 167,
0, 167, 0, 13, 0, 14, 0, 210, 138, 3,
169, 0, 210, 110, 169, 0, 0, 104, 170, 172,
0, 63, 0, 45, 0, 86, 0, 5, 0, 7,
0, 6, 0, 205, 0, 171, 0, 210, 0, 208,
112, 210, 0, 4, 0, 172, 4, 0, 24, 0,
63, 0, 76, 0, 174, 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, 173, 0, 174, 202, 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, 0, 66, 0, 99, 0, 100, 0,
97, 0, 98, 0, 96, 0, 0, 181, 0, 182,
0, 80, 106, 183, 107, 0, 106, 183, 107, 0,
182, 106, 183, 107, 0, 184, 0, 184, 109, 102,
0, 184, 109, 102, 109, 184, 0, 185, 0, 184,
177, 185, 0, 184, 178, 185, 0, 185, 179, 185,
0, 187, 106, 183, 107, 0, 106, 183, 107, 0,
188, 0, 188, 186, 188, 0, 61, 186, 188, 0,
188, 186, 60, 0, 61, 186, 60, 0, 194, 0,
189, 0, 101, 0, 101, 113, 0, 113, 101, 0,
113, 101, 113, 0, 80, 0, 46, 0, 205, 0,
210, 0, 6, 0, 45, 0, 86, 0, 95, 30,
104, 190, 105, 0, 191, 0, 190, 109, 191, 0,
102, 0, 210, 180, 192, 0, 0, 193, 0, 73,
0, 15, 0, 69, 0, 195, 0, 196, 0, 104,
208, 105, 0, 195, 104, 197, 105, 0, 198, 0,
197, 109, 198, 0, 114, 199, 0, 114, 112, 199,
0, 210, 0, 199, 112, 210, 0, 0, 201, 0,
69, 0, 33, 169, 0, 104, 105, 0, 104, 203,
105, 0, 204, 0, 203, 109, 204, 0, 210, 0,
210, 106, 205, 107, 0, 210, 106, 171, 107, 0,
205, 0, 102, 0, 9, 0, 10, 0, 0, 207,
0, 103, 0, 103, 52, 0, 103, 41, 0, 11,
0, 12, 0, 12, 0, 8, 0
147, 105, 0, 78, 180, 68, 210, 206, 162, 0,
79, 180, 68, 210, 206, 162, 0, 18, 0, 18,
35, 25, 211, 0, 208, 104, 145, 105, 0, 163,
0, 56, 68, 163, 0, 11, 0, 11, 112, 208,
0, 209, 112, 208, 0, 11, 112, 211, 0, 209,
0, 209, 112, 164, 0, 165, 0, 164, 112, 165,
0, 167, 0, 167, 0, 13, 0, 14, 0, 211,
138, 3, 169, 0, 211, 110, 169, 0, 0, 104,
170, 172, 0, 63, 0, 45, 0, 86, 0, 5,
0, 7, 0, 6, 0, 205, 0, 171, 0, 211,
0, 208, 112, 211, 0, 4, 0, 172, 4, 0,
24, 0, 63, 0, 76, 0, 174, 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, 173, 0, 174, 202, 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, 0, 66, 0, 99, 0,
100, 0, 97, 0, 98, 0, 96, 0, 0, 181,
0, 182, 0, 80, 106, 183, 107, 0, 106, 183,
107, 0, 182, 106, 183, 107, 0, 184, 0, 184,
109, 102, 0, 184, 109, 102, 109, 184, 0, 185,
0, 184, 177, 185, 0, 184, 178, 185, 0, 185,
179, 185, 0, 187, 106, 183, 107, 0, 106, 183,
107, 0, 188, 0, 188, 186, 188, 0, 61, 186,
188, 0, 188, 186, 60, 0, 61, 186, 60, 0,
194, 0, 189, 0, 101, 0, 101, 113, 0, 113,
101, 0, 113, 101, 113, 0, 80, 0, 46, 0,
205, 0, 211, 0, 6, 0, 45, 0, 86, 0,
95, 30, 104, 190, 105, 0, 191, 0, 190, 109,
191, 0, 102, 0, 211, 180, 192, 0, 0, 193,
0, 73, 0, 15, 0, 69, 0, 195, 0, 196,
0, 104, 208, 105, 0, 195, 104, 197, 105, 0,
198, 0, 197, 109, 198, 0, 114, 199, 0, 114,
112, 199, 0, 211, 0, 199, 112, 211, 0, 0,
201, 0, 69, 0, 33, 169, 0, 104, 105, 0,
104, 203, 105, 0, 204, 0, 203, 109, 204, 0,
211, 0, 211, 106, 205, 107, 0, 211, 106, 171,
107, 0, 205, 0, 102, 0, 9, 0, 10, 0,
0, 207, 0, 103, 0, 103, 52, 0, 103, 41,
0, 11, 0, 12, 0, 12, 0, 0, 211, 0,
8, 0
};
#endif
#if YYDEBUG != 0
static const short yyrline[] = { 0,
299, 305, 311, 327, 352, 354, 357, 361, 366, 373,
381, 386, 390, 399, 401, 409, 413, 421, 425, 428,
431, 435, 455, 457, 465, 469, 501, 505, 514, 521,
534, 541, 543, 555, 568, 575, 580, 586, 592, 601,
607, 613, 620, 628, 632, 635, 642, 648, 654, 661,
670, 680, 688, 696, 698, 708, 711, 715, 718, 730,
742, 748, 764, 773, 783, 793, 798, 805, 815, 821,
827, 831, 843, 849, 855, 862, 869, 874, 880, 886,
892, 897, 907, 909, 912, 920, 926, 935, 941, 958,
960, 965, 969, 974, 979, 985, 989, 1000, 1009, 1018,
1029, 1051, 1055, 1061, 1067, 1073, 1079, 1088, 1097, 1103,
1117, 1141, 1148, 1162, 1171, 1181, 1191, 1201, 1209, 1230,
1239, 1248, 1249, 1251, 1258, 1270, 1280, 1288, 1288, 1293,
1298, 1303, 1308, 1312, 1316, 1320, 1323, 1328, 1340, 1356,
1367, 1381, 1383, 1384, 1385, 1386, 1387, 1388, 1389, 1390,
1391, 1392, 1393, 1399, 1401, 1402, 1405, 1412, 1424, 1426,
1430, 1434, 1435, 1436, 1437, 1438, 1442, 1443, 1444, 1445,
1449, 1450, 1457, 1457, 1458, 1458, 1459, 1461, 1463, 1468,
1472, 1481, 1485, 1490, 1494, 1500, 1510, 1514, 1517, 1520,
1525, 1534, 1542, 1548, 1555, 1563, 1571, 1580, 1583, 1588,
1590, 1591, 1592, 1595, 1599, 1604, 1608, 1619, 1623, 1628,
1635, 1641, 1645, 1650, 1656, 1668, 1670, 1673, 1677, 1680,
1685, 1689, 1697, 1712, 1718, 1725, 1738, 1750, 1765, 1769,
1786, 1791, 1794, 1799, 1821, 1826, 1831, 1837, 1843, 1851,
1859, 1867, 1874, 1884, 1889, 1919, 1921, 1924, 1929, 1933,
1939, 1944, 1951, 1958
300, 306, 312, 328, 353, 355, 358, 362, 367, 374,
382, 387, 391, 400, 402, 410, 414, 422, 426, 429,
432, 436, 456, 458, 466, 470, 502, 506, 515, 522,
535, 542, 544, 556, 569, 576, 581, 587, 593, 602,
608, 614, 621, 629, 633, 636, 643, 649, 655, 662,
671, 681, 689, 697, 699, 709, 712, 716, 719, 731,
743, 749, 765, 774, 784, 794, 799, 806, 816, 822,
828, 832, 844, 850, 856, 863, 870, 875, 881, 887,
893, 898, 908, 910, 913, 921, 927, 936, 942, 959,
961, 966, 970, 975, 980, 986, 990, 1001, 1010, 1019,
1030, 1052, 1056, 1062, 1068, 1074, 1080, 1090, 1100, 1106,
1120, 1144, 1151, 1165, 1174, 1184, 1194, 1204, 1212, 1233,
1242, 1251, 1252, 1254, 1261, 1273, 1283, 1291, 1291, 1296,
1301, 1306, 1311, 1315, 1319, 1323, 1326, 1331, 1343, 1359,
1370, 1384, 1386, 1387, 1388, 1389, 1390, 1391, 1392, 1393,
1394, 1395, 1396, 1402, 1404, 1405, 1408, 1415, 1427, 1429,
1433, 1437, 1438, 1439, 1440, 1441, 1445, 1446, 1447, 1448,
1452, 1453, 1460, 1460, 1461, 1461, 1462, 1464, 1466, 1471,
1475, 1484, 1488, 1493, 1497, 1503, 1513, 1517, 1520, 1523,
1528, 1537, 1545, 1551, 1558, 1566, 1574, 1583, 1586, 1591,
1593, 1594, 1595, 1598, 1602, 1607, 1611, 1622, 1626, 1631,
1638, 1644, 1648, 1653, 1659, 1671, 1673, 1676, 1680, 1683,
1688, 1692, 1700, 1715, 1721, 1728, 1741, 1753, 1768, 1772,
1789, 1794, 1797, 1802, 1824, 1829, 1834, 1840, 1846, 1854,
1862, 1870, 1877, 1887, 1892, 1922, 1924, 1927, 1932, 1936,
1942, 1947, 1954, 1961, 1963, 1967
};
#endif
......@@ -431,7 +432,8 @@ static const char * const yytname[] = { "$","error","$undefined.","TOK_PPEQ",
"optPresenceConstraint","PresenceConstraint","TableConstraint","SimpleTableConstraint",
"ComponentRelationConstraint","AtNotationList","AtNotationElement","ComponentIdList",
"optMarker","Marker","UniverationDefinition","UniverationList","UniverationElement",
"SignedNumber","optTag","Tag","TypeRefName","ObjectClassReference","Identifier", NULL
"SignedNumber","optTag","Tag","TypeRefName","ObjectClassReference","optIdentifier",
"Identifier", NULL
};
#endif
......@@ -461,7 +463,7 @@ static const short yyr1[] = { 0,
194, 194, 195, 196, 197, 197, 198, 198, 199, 199,
200, 200, 201, 201, 202, 202, 203, 203, 204, 204,
204, 204, 204, 205, 205, 206, 206, 207, 207, 207,
208, 208, 209, 210
208, 208, 209, 210, 210, 211
};
static const short yyr2[] = { 0,
......@@ -475,7 +477,7 @@ static const short yyr2[] = { 0,
1, 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, 5, 5, 1, 4,
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,
......@@ -490,11 +492,11 @@ static const short yyr2[] = { 0,
1, 1, 3, 4, 1, 3, 2, 3, 1, 3,
0, 1, 1, 2, 2, 3, 1, 3, 1, 4,
4, 1, 1, 1, 1, 0, 1, 1, 2, 2,
1, 1, 1, 1
1, 1, 1, 0, 1, 1
};
static const short yydefact[] = { 0,
251, 252, 1, 2, 5, 3, 0, 0, 6, 254,
251, 252, 1, 2, 5, 3, 0, 0, 6, 256,
13, 8, 0, 9, 11, 14, 7, 10, 0, 0,
0, 0, 0, 0, 0, 15, 16, 0, 22, 20,
18, 21, 19, 0, 17, 12, 23, 159, 0, 0,
......@@ -519,228 +521,230 @@ static const short yydefact[] = { 0,
193, 199, 198, 221, 222, 206, 207, 0, 0, 0,
0, 90, 0, 0, 233, 231, 231, 87, 232, 0,
0, 98, 0, 78, 81, 246, 113, 0, 0, 0,
73, 77, 246, 0, 184, 246, 0, 0, 246, 243,
73, 77, 246, 0, 184, 254, 0, 0, 254, 243,
235, 0, 237, 242, 239, 0, 69, 71, 72, 63,
200, 0, 0, 0, 0, 0, 51, 0, 175, 176,
173, 174, 0, 0, 177, 0, 0, 0, 0, 121,
140, 129, 139, 127, 0, 82, 91, 86, 234, 83,
83, 110, 0, 104, 0, 80, 0, 246, 105, 0,
231, 182, 0, 0, 0, 106, 0, 236, 0, 0,
111, 246, 201, 202, 197, 195, 0, 223, 192, 57,
188, 189, 190, 0, 196, 194, 0, 0, 225, 141,
0, 84, 88, 89, 99, 100, 138, 79, 181, 76,
74, 75, 185, 107, 183, 108, 238, 0, 0, 70,
203, 214, 0, 212, 178, 191, 0, 227, 229, 224,
0, 92, 0, 241, 240, 211, 0, 216, 228, 0,
226, 0, 186, 213, 219, 220, 218, 215, 217, 230,
96, 0, 94, 97, 93, 95, 0, 0, 0
231, 182, 0, 246, 255, 0, 106, 246, 236, 0,
0, 111, 246, 201, 202, 197, 195, 0, 223, 192,
57, 188, 189, 190, 0, 196, 194, 0, 0, 225,
141, 0, 84, 88, 89, 99, 100, 138, 79, 181,
76, 74, 75, 185, 0, 183, 0, 238, 0, 0,
70, 203, 214, 0, 212, 178, 191, 0, 227, 229,
224, 0, 92, 0, 107, 108, 241, 240, 211, 0,
216, 228, 0, 226, 0, 186, 213, 219, 220, 218,
215, 217, 230, 96, 0, 94, 97, 93, 95, 0,
0, 0
};
static const short yydefgoto[] = { 397,
static const short yydefgoto[] = { 400,
3, 4, 8, 9, 13, 14, 25, 26, 27, 55,
56, 57, 106, 58, 74, 75, 76, 77, 59, 69,
70, 60, 100, 215, 216, 217, 61, 126, 127, 266,
267, 250, 251, 243, 244, 116, 343, 182, 183, 296,
297, 382, 392, 393, 252, 268, 147, 148, 163, 164,
267, 250, 251, 243, 244, 116, 344, 182, 183, 296,
297, 385, 395, 396, 252, 268, 147, 148, 163, 164,
184, 185, 62, 176, 229, 177, 292, 149, 103, 151,
152, 283, 284, 286, 192, 193, 194, 254, 255, 219,
273, 220, 221, 222, 363, 364, 388, 389, 223, 224,
225, 338, 339, 368, 238, 239, 199, 262, 263, 226,
240, 119, 179, 104, 227
273, 220, 221, 222, 364, 365, 391, 392, 223, 224,
225, 339, 340, 369, 238, 239, 199, 262, 263, 226,
240, 119, 179, 104, 314, 227
};
static const short yypact[] = { 42,
-32768,-32768, 42,-32768, -6,-32768, 72, 111,-32768,-32768,
-32768,-32768, 74,-32768, -1, 162,-32768,-32768, 138, 99,
83, 91, 123, 97, 222, 162,-32768, 121,-32768,-32768,
-32768,-32768,-32768, 209,-32768,-32768, 313,-32768, 219, 33,
-32768,-32768,-32768, 96,-32768,-32768,-32768,-32768,-32768,-32768,
-32768,-32768,-32768,-32768, 210, 313,-32768,-32768,-32768,-32768,
-32768,-32768,-32768, 12, 527,-32768, 185,-32768, -18,-32768,
-32768,-32768,-32768, 49,-32768, -25,-32768,-32768,-32768,-32768,
-32768, -3, 145,-32768, 186,-32768, 202, 229,-32768,-32768,
-32768,-32768,-32768, 250, 223,-32768,-32768,-32768, 544, 302,
-32768,-32768,-32768, 194, 311,-32768,-32768,-32768, 158,-32768,
-32768, 42, 158, 214, 102,-32768,-32768, 390,-32768, 158,
-32768,-32768,-32768,-32768,-32768, 87,-32768, 213, 216, 225,
297, 254,-32768, -6,-32768, 124,-32768,-32768, -57, 231,
292, 233, 270, -12, 149,-32768, -37,-32768,-32768, 235,
-32768,-32768, 237,-32768,-32768, 339, 544, 335, 335, 152,
-32768,-32768, 232,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, 238, 236,
-32768, 90,-32768, 176,-32768, 320, 8, 207, 241, 32,
140, 281,-32768, 246, 32, 285,-32768, 63,-32768, 20,
251,-32768,-32768,-32768,-32768,-32768,-32768, -16,-32768,-32768,
326,-32768, 42, 140, 252, 255,-32768, 234, 263, 259,
-16,-32768,-32768, 264,-32768,-32768,-32768, 124, 362, 335,
254, 274, 124, 254,-32768, 18, 18,-32768,-32768, 467,
335, 260, 101,-32768,-32768, 251,-32768, 140, 306, 131,
-32768,-32768, 251, 268, 177, 251, 140, 132, 251,-32768,
-32768, 134,-32768,-32768, 272, 164,-32768,-32768,-32768,-32768,
267, 275, 242, 277, 278, 279,-32768, 152,-32768,-32768,
-32768,-32768, 140, 140,-32768, 140, 140, 262, 271,-32768,
-32768, 378,-32768,-32768, 307,-32768,-32768,-32768,-32768, 296,
296,-32768, 280,-32768, 8,-32768, 283, 251,-32768, 32,
18,-32768, 286, 467, 284,-32768, 467,-32768, 10, 280,
-32768, 20,-32768, 282,-32768,-32768, 27,-32768,-32768,-32768,
-32768,-32768,-32768, 287,-32768,-32768, 5, 173,-32768,-32768,
288,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
-32768,-32768, 290,-32768,-32768,-32768,-32768, 293, 303,-32768,
-32768,-32768, 175,-32768, -37,-32768, 335, 299,-32768,-32768,
271,-32768, 140,-32768,-32768,-32768, 27, 71, 299, 335,
-32768, 159, 234,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
-32768, 13,-32768,-32768,-32768,-32768, 393, 397,-32768
static const short yypact[] = { 93,
-32768,-32768, 93,-32768, 65,-32768, 23, 78,-32768,-32768,
-32768,-32768, 52,-32768, 68, 224,-32768,-32768, 118, 122,
51, 59, 139, 113, 203, 224,-32768, 109,-32768,-32768,
-32768,-32768,-32768, 201,-32768,-32768, 318,-32768, 220, 9,
-32768,-32768,-32768, 173,-32768,-32768,-32768,-32768,-32768,-32768,
-32768,-32768,-32768,-32768, 198, 318,-32768,-32768,-32768,-32768,
-32768,-32768,-32768, 12, 532,-32768, 135,-32768, 46,-32768,
-32768,-32768,-32768, 32,-32768, -11,-32768,-32768,-32768,-32768,
-32768, -6, 149,-32768, 196,-32768, 207, 226,-32768,-32768,
-32768,-32768,-32768, 223, 214,-32768,-32768,-32768, 549, 305,
-32768,-32768,-32768, 200, 307,-32768,-32768,-32768, 252,-32768,
-32768, 93, 252, 211, 30,-32768,-32768, 395,-32768, 252,
-32768,-32768,-32768,-32768,-32768, -25,-32768, 208, 209, 216,
293, 155,-32768, 65,-32768, 217,-32768,-32768, -5, 229,
292, 231, 268, -23, 64,-32768, -55,-32768,-32768, 233,
-32768,-32768, 234,-32768,-32768, 336, 549, 332, 332, 167,
-32768,-32768, 230,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, 232, 235,
-32768, 77,-32768, 181,-32768, 321, 8, 280, 241, 39,
248, 281,-32768, 242, 39, 282,-32768, 45,-32768, 21,
250,-32768,-32768,-32768,-32768,-32768,-32768, 29,-32768,-32768,
325,-32768, 93, 248, 246, 253,-32768, 225, 267, 258,
29,-32768,-32768, 261,-32768,-32768,-32768, 217, 365, 332,
155, 275, 217, 155,-32768, 17, 17,-32768,-32768, 472,
332, 260, 112,-32768,-32768, 250,-32768, 248, 306, 146,
-32768,-32768, 250, 271, 202, 332, 248, 161, 332,-32768,
-32768, 163,-32768,-32768, 269, 170,-32768,-32768,-32768,-32768,
266, 279, 86, 277, 278, 283,-32768, 167,-32768,-32768,
-32768,-32768, 248, 248,-32768, 248, 248, 272, 273,-32768,
-32768, 381,-32768,-32768, 304,-32768,-32768,-32768,-32768, 300,
300,-32768, 193,-32768, 8,-32768, 284, 250,-32768, 39,
17,-32768, 287, 250,-32768, 286,-32768, 250,-32768, 54,
193,-32768, 21,-32768, 285,-32768,-32768, 37,-32768,-32768,
-32768,-32768,-32768,-32768, 288,-32768,-32768, -4, 178,-32768,
-32768, 290,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
-32768,-32768,-32768, 291, 472,-32768, 472,-32768, 289, 295,
-32768,-32768,-32768, 180,-32768, -55,-32768, 332, 297,-32768,
-32768, 273,-32768, 248,-32768,-32768,-32768,-32768,-32768, 37,
76, 297, 332,-32768, 185, 225,-32768,-32768,-32768,-32768,
-32768,-32768,-32768,-32768, 14,-32768,-32768,-32768,-32768, 397,
399,-32768
};
static const short yypgoto[] = {-32768,
-32768, 401, 289,-32768,-32768, 396,-32768,-32768, 389,-32768,
-32768, 363,-32768,-32768,-32768, 344,-32768, 308,-32768,-32768,
315,-32768, 355,-32768,-32768, 144,-32768,-32768, 276,-32768,
103, 240, 117,-32768, 126,-32768, 127,-32768, 196,-32768,
-32768,-32768,-32768, 40, -173, -75, -218, -53,-32768, 208,
-180, -109,-32768, -23,-32768, -167,-32768, -33, -110,-32768,
37,-32768,-32768,-32768, -144,-32768,-32768, -93, -151, 11,
220,-32768, -210,-32768,-32768, 65,-32768,-32768,-32768,-32768,
-32768,-32768, 73, 76, -172,-32768,-32768,-32768, 128, -103,
-72,-32768, 2,-32768, -7
-32768, 401, 294,-32768,-32768, 392,-32768,-32768, 388,-32768,
-32768, 359,-32768,-32768,-32768, 342,-32768, 310,-32768,-32768,
311,-32768, 360,-32768,-32768, 148,-32768,-32768, 270,-32768,
101, 237, 119,-32768, 125,-32768, 132,-32768, 204,-32768,
-32768,-32768,-32768, 41, -173, -75, -146, -52,-32768, 206,
-175, -90,-32768, -97,-32768, -231,-32768, 1, -117,-32768,
31,-32768,-32768,-32768, -137,-32768,-32768, -61, -149, -38,
219,-32768, -195,-32768,-32768, 58,-32768,-32768,-32768,-32768,
-32768,-32768, 69, 79, -163,-32768,-32768,-32768, 126, -113,
-79,-32768, 2,-32768, 189, -7
};
#define YYLAST 635
#define YYLAST 640
static const short yytable[] = { 15,
196, 5, 197, 237, 5, 15, 117, 150, 218, 118,
101, 101, 10, 245, 82, 10, 391, 10, 170, 171,
112, 165, 83, 84, 114, 161, 162, 10, 178, 65,
102, 102, 72, 85, 10, 86, 79, 87, 64, 10,
10, 71, 189, 1, 2, 78, -251, 88, 65, 67,
234, 89, 1, 2, 120, 90, 10, 64, 91, 1,
2, 249, 326, 300, 301, 128, 79, 189, 191, 92,
10, 170, 171, 63, 93, 78, 94, 336, 95, 10,
11, 10, 11, 113, 271, 385, 235, 96, 97, 108,
109, 190, 63, 191, 264, 354, 272, 7, 356, 115,
129, 72, 98, 10, 19, 79, 1, 2, 236, 242,
71, 260, 155, 134, 78, 99, 367, 395, 165, 153,
276, 154, 115, 128, 180, 270, 218, 178, 362, 150,
178, 245, 166, 242, 247, 345, 161, 162, 352, 386,
68, 73, 137, 387, 16, 205, 28, 10, 170, 171,
203, 204, 358, 138, 307, 29, 110, 205, 129, 10,
170, 171, 391, 315, 260, 10, 30, 261, 1, 2,
306, 161, 162, 20, 31, 32, 12, 311, 17, 246,
33, 21, 253, 314, 206, 207, 317, 253, 161, 162,
265, 156, 269, 334, 232, 157, 206, 207, 233, 346,
208, 394, 22, 150, 23, 304, 150, 294, 234, 305,
299, 394, 208, 24, 275, 264, 359, 83, 84, 209,
378, 383, 293, 180, 34, 210, 180, 36, 189, 37,
66, 209, 350, 302, 211, 309, 316, 210, 318, 310,
310, 153, 319, 213, 235, 214, 211, 205, 80, 10,
170, 171, 195, 212, 191, 213, 120, 214, 167, 168,
169, 10, 170, 171, 1, 2, 121, 205, 321, 10,
170, 171, 322, 279, 280, 281, 282, 370, 115, 376,
-231, 371, 122, 377, -231, 313, 206, 10, 170, 171,
1, 2, 107, 331, 332, 347, 333, 246, 172, 123,
124, 325, 253, 125, 130, 131, 206, 1, 2, 161,
162, 265, 347, 132, 269, 153, 173, 136, 153, 365,
10, 335, 158, 1, 2, 159, 186, 210, 160, 369,
279, 280, 281, 282, -252, 38, 187, 188, 198, 174,
200, 201, 10, 228, 241, 231, 248, 210, 256, 230,
39, 257, 259, 115, 40, 274, 277, 175, 285, 369,
41, 42, 43, 278, 287, 291, 44, 289, 295, 365,
303, 45, 390, 308, 312, 324, 46, 320, 47, 323,
327, 340, 328, 342, 337, 329, 48, 353, 341, 349,
355, 372, 398, 366, 361, 49, 399, 50, 373, 374,
139, 140, 51, 6, 52, 53, 54, 141, 18, 375,
380, 85, 38, 86, 35, 87, 142, 111, 81, 105,
135, 330, 181, 133, 360, 88, 351, 344, 298, 89,
348, 396, 202, 90, 258, 290, 91, 41, 42, 43,
288, 384, 379, 381, 0, 143, 357, 92, 45, 0,
0, 0, 93, 46, 94, 47, 95, 0, 0, 0,
0, 0, 0, 48, 0, 96, 97, 144, 145, 0,
0, 0, 49, 0, 50, 0, 146, 139, 140, 51,
98, 52, 53, 54, 141, 0, 0, 0, 85, 38,
86, 0, 87, 142, 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, 143, 0, 92, 45, 0, 0, 0, 93,
46, 94, 47, 95, 0, 0, 0, 83, 84, 0,
48, 0, 96, 97, 144, 145, 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
150, 5, 118, 10, 5, 15, 117, 196, 237, 197,
218, 101, 101, 245, 82, 10, 10, 394, 178, 1,
2, 114, 83, 84, 189, 67, 161, 162, 10, 65,
10, 11, 72, 85, 112, 86, 79, 87, 64, 10,
165, 71, 1, 2, 10, 78, 10, 88, 65, 234,
191, 89, 10, 170, 171, 90, 189, 64, 91, 10,
11, 10, 170, 171, 102, 102, 79, 63, 249, 92,
137, 346, 300, 301, 93, 78, 94, 327, 95, 156,
190, 138, 191, 157, 264, 235, 63, 96, 97, 359,
388, 205, 337, 10, 170, 171, 115, 113, -251, 128,
129, 72, 98, 1, 2, 79, 120, 368, 236, 242,
71, 16, 155, 134, 78, 99, 68, 178, 398, 153,
178, 154, 150, 115, 180, 270, 28, 12, 218, 271,
206, 245, 166, 294, 30, 247, 299, 165, 363, 110,
242, 272, 31, 189, 389, 326, 260, 353, 390, 261,
203, 204, 276, 108, 109, 260, 17, 128, 129, 167,
168, 169, 10, 170, 171, 1, 2, 195, 7, 191,
306, 210, 205, 19, 10, 170, 171, 311, 29, 246,
10, 232, 253, 1, 2, 233, 307, 253, 394, 347,
265, 32, 269, 161, 162, 316, 33, 161, 162, 172,
10, 170, 171, 1, 2, 34, 264, 360, 375, 397,
376, 206, 207, 234, 275, 36, 304, 173, 73, 397,
305, 37, 293, 180, 386, 335, 180, 208, 381, 161,
162, 66, 351, 302, 355, 20, 80, 150, 357, 150,
174, 153, 107, 21, 332, 333, 209, 334, 315, 235,
309, 315, 210, 205, 310, 10, 170, 171, 175, 10,
120, 211, 1, 2, 22, 317, 23, 319, 212, 310,
213, 320, 214, 124, 322, 24, 121, 205, 323, 10,
170, 171, 371, 115, 379, -231, 372, 122, 380, -231,
83, 84, 206, 207, 125, 348, 123, 246, 279, 280,
281, 282, 253, 1, 2, 161, 162, 130, 208, 132,
313, 131, 265, 348, 136, 269, 206, 158, 159, 160,
366, 279, 280, 281, 282, 10, 186, 209, 1, 2,
370, 336, -252, 210, 187, 188, 198, 200, 201, 10,
38, 228, 211, 230, 231, 241, 248, 257, 256, 259,
277, 213, 115, 214, 274, 39, 153, 210, 153, 40,
370, 278, 285, 287, 289, 41, 42, 43, 291, 295,
303, 44, 366, 308, 321, 393, 45, 312, 324, 325,
328, 46, 329, 47, 341, 342, 338, 343, 354, 330,
350, 48, 356, 373, 367, 377, 401, 362, 402, 374,
49, 378, 50, 6, 18, 139, 140, 51, 383, 52,
53, 54, 141, 35, 81, 111, 85, 38, 86, 133,
87, 142, 135, 361, 105, 331, 202, 181, 352, 349,
88, 258, 345, 290, 89, 399, 298, 387, 90, 288,
384, 91, 41, 42, 43, 358, 382, 318, 0, 0,
143, 0, 92, 45, 0, 0, 0, 93, 46, 94,
47, 95, 0, 0, 0, 0, 0, 0, 48, 0,
96, 97, 144, 145, 0, 0, 0, 49, 0, 50,
0, 146, 139, 140, 51, 98, 52, 53, 54, 141,
0, 0, 0, 85, 38, 86, 0, 87, 142, 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, 143, 0, 92,
45, 0, 0, 0, 93, 46, 94, 47, 95, 0,
0, 0, 83, 84, 0, 48, 0, 96, 97, 144,
145, 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
};
static const short yycheck[] = { 7,
145, 0, 147, 184, 3, 13, 82, 118, 160, 82,
64, 65, 8, 187, 3, 8, 4, 8, 9, 10,
46, 131, 11, 12, 28, 13, 14, 8, 132, 37,
64, 65, 40, 22, 8, 24, 44, 26, 37, 8,
8, 40, 80, 11, 12, 44, 104, 36, 56, 17,
33, 40, 11, 12, 112, 44, 8, 56, 47, 11,
12, 30, 273, 236, 237, 99, 74, 80, 106, 58,
8, 9, 10, 37, 63, 74, 65, 288, 67, 8,
9, 8, 9, 109, 101, 15, 69, 76, 77, 108,
109, 104, 56, 106, 198, 314, 113, 104, 317, 103,
99, 109, 91, 8, 106, 113, 11, 12, 184, 102,
109, 102, 120, 112, 113, 104, 112, 105, 228, 118,
214, 120, 103, 157, 132, 201, 278, 231, 102, 240,
234, 305, 131, 102, 188, 303, 13, 14, 311, 69,
108, 46, 41, 73, 34, 6, 9, 8, 9, 10,
158, 159, 320, 52, 248, 57, 108, 6, 157, 8,
9, 10, 4, 257, 102, 8, 84, 105, 11, 12,
246, 13, 14, 12, 84, 53, 105, 253, 105, 187,
84, 20, 190, 256, 45, 46, 259, 195, 13, 14,
198, 105, 200, 287, 105, 109, 45, 46, 109, 303,
61, 382, 41, 314, 43, 105, 317, 231, 33, 109,
234, 392, 61, 52, 213, 319, 320, 11, 12, 80,
365, 373, 230, 231, 3, 86, 234, 107, 80, 21,
12, 80, 308, 241, 95, 105, 105, 86, 105, 109,
109, 240, 109, 104, 69, 106, 95, 6, 39, 8,
9, 10, 104, 102, 106, 104, 112, 106, 5, 6,
7, 8, 9, 10, 11, 12, 81, 6, 105, 8,
9, 10, 109, 97, 98, 99, 100, 105, 103, 105,
105, 109, 81, 109, 109, 109, 45, 8, 9, 10,
11, 12, 108, 283, 284, 303, 286, 305, 45, 71,
51, 60, 310, 81, 3, 112, 45, 11, 12, 13,
14, 319, 320, 3, 322, 314, 63, 104, 317, 327,
8, 60, 110, 11, 12, 110, 35, 86, 104, 337,
97, 98, 99, 100, 104, 23, 104, 68, 104, 86,
104, 3, 8, 112, 25, 110, 106, 86, 68, 112,
38, 106, 68, 103, 42, 30, 105, 104, 96, 367,
48, 49, 50, 109, 106, 4, 54, 104, 95, 377,
111, 59, 380, 68, 107, 101, 64, 106, 66, 113,
104, 4, 105, 88, 114, 107, 74, 102, 82, 107,
107, 104, 0, 107, 113, 83, 0, 85, 109, 107,
11, 12, 90, 3, 92, 93, 94, 18, 13, 107,
112, 22, 23, 24, 26, 26, 27, 74, 56, 65,
113, 278, 134, 109, 322, 36, 310, 301, 233, 40,
305, 392, 157, 44, 195, 228, 47, 48, 49, 50,
221, 377, 367, 371, -1, 56, 319, 58, 59, -1,
-1, -1, 63, 64, 65, 66, 67, -1, -1, -1,
-1, -1, -1, 74, -1, 76, 77, 78, 79, -1,
-1, -1, 83, -1, 85, -1, 87, 11, 12, 90,
91, 92, 93, 94, 18, -1, -1, -1, 22, 23,
24, -1, 26, 27, -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, 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
118, 0, 82, 8, 3, 13, 82, 145, 184, 147,
160, 64, 65, 187, 3, 8, 8, 4, 132, 11,
12, 28, 11, 12, 80, 17, 13, 14, 8, 37,
8, 9, 40, 22, 46, 24, 44, 26, 37, 8,
131, 40, 11, 12, 8, 44, 8, 36, 56, 33,
106, 40, 8, 9, 10, 44, 80, 56, 47, 8,
9, 8, 9, 10, 64, 65, 74, 37, 30, 58,
41, 303, 236, 237, 63, 74, 65, 273, 67, 105,
104, 52, 106, 109, 198, 69, 56, 76, 77, 321,
15, 6, 288, 8, 9, 10, 103, 109, 104, 99,
99, 109, 91, 11, 12, 113, 112, 112, 184, 102,
109, 34, 120, 112, 113, 104, 108, 231, 105, 118,
234, 120, 240, 103, 132, 201, 9, 105, 278, 101,
45, 305, 131, 231, 84, 188, 234, 228, 102, 108,
102, 113, 84, 80, 69, 60, 102, 311, 73, 105,
158, 159, 214, 108, 109, 102, 105, 157, 157, 5,
6, 7, 8, 9, 10, 11, 12, 104, 104, 106,
246, 86, 6, 106, 8, 9, 10, 253, 57, 187,
8, 105, 190, 11, 12, 109, 248, 195, 4, 303,
198, 53, 200, 13, 14, 257, 84, 13, 14, 45,
8, 9, 10, 11, 12, 3, 320, 321, 355, 385,
357, 45, 46, 33, 213, 107, 105, 63, 46, 395,
109, 21, 230, 231, 374, 287, 234, 61, 366, 13,
14, 12, 308, 241, 314, 12, 39, 355, 318, 357,
86, 240, 108, 20, 283, 284, 80, 286, 256, 69,
105, 259, 86, 6, 109, 8, 9, 10, 104, 8,
112, 95, 11, 12, 41, 105, 43, 105, 102, 109,
104, 109, 106, 51, 105, 52, 81, 6, 109, 8,
9, 10, 105, 103, 105, 105, 109, 81, 109, 109,
11, 12, 45, 46, 81, 303, 71, 305, 97, 98,
99, 100, 310, 11, 12, 13, 14, 3, 61, 3,
109, 112, 320, 321, 104, 323, 45, 110, 110, 104,
328, 97, 98, 99, 100, 8, 35, 80, 11, 12,
338, 60, 104, 86, 104, 68, 104, 104, 3, 8,
23, 112, 95, 112, 110, 25, 106, 106, 68, 68,
105, 104, 103, 106, 30, 38, 355, 86, 357, 42,
368, 109, 96, 106, 104, 48, 49, 50, 4, 95,
111, 54, 380, 68, 106, 383, 59, 107, 113, 101,
104, 64, 105, 66, 4, 82, 114, 88, 102, 107,
107, 74, 107, 104, 107, 107, 0, 113, 0, 109,
83, 107, 85, 3, 13, 11, 12, 90, 112, 92,
93, 94, 18, 26, 56, 74, 22, 23, 24, 109,
26, 27, 113, 323, 65, 278, 157, 134, 310, 305,
36, 195, 301, 228, 40, 395, 233, 380, 44, 221,
372, 47, 48, 49, 50, 320, 368, 259, -1, -1,
56, -1, 58, 59, -1, -1, -1, 63, 64, 65,
66, 67, -1, -1, -1, -1, -1, -1, 74, -1,
76, 77, 78, 79, -1, -1, -1, 83, -1, 85,
-1, 87, 11, 12, 90, 91, 92, 93, 94, 18,
-1, -1, -1, 22, 23, 24, -1, 26, 27, -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, 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
};
/* -*-C-*- Note some compilers choke on comments on `#line' lines. */
#line 3 "/usr/share/bison.simple"
......@@ -1286,13 +1290,13 @@ yyreduce:
switch (yyn) {
case 1:
#line 300 "asn1p_y.y"
#line 301 "asn1p_y.y"
{
*(void **)param = yyvsp[0].a_grammar;
;
break;}
case 2:
#line 306 "asn1p_y.y"
#line 307 "asn1p_y.y"
{
yyval.a_grammar = asn1p_new();
checkmem(yyval.a_grammar);
......@@ -1300,14 +1304,14 @@ case 2:
;
break;}
case 3:
#line 311 "asn1p_y.y"
#line 312 "asn1p_y.y"
{
yyval.a_grammar = yyvsp[-1].a_grammar;
TQ_ADD(&(yyval.a_grammar->modules), yyvsp[0].a_module, mod_next);
;
break;}
case 4:
#line 332 "asn1p_y.y"
#line 333 "asn1p_y.y"
{
if(yyvsp[-1].a_module) {
......@@ -1324,27 +1328,27 @@ case 4:
;
break;}
case 5:
#line 353 "asn1p_y.y"
#line 354 "asn1p_y.y"
{ yyval.a_oid = 0; ;
break;}
case 6:
#line 354 "asn1p_y.y"
#line 355 "asn1p_y.y"
{ yyval.a_oid = yyvsp[0].a_oid; ;
break;}
case 7:
#line 358 "asn1p_y.y"
#line 359 "asn1p_y.y"
{
yyval.a_oid = yyvsp[-1].a_oid;
;
break;}
case 8:
#line 361 "asn1p_y.y"
#line 362 "asn1p_y.y"
{
yyval.a_oid = 0;
;
break;}
case 9:
#line 367 "asn1p_y.y"
#line 368 "asn1p_y.y"
{
yyval.a_oid = asn1p_oid_new();
asn1p_oid_add_arc(yyval.a_oid, &yyvsp[0].a_oid_arc);
......@@ -1353,7 +1357,7 @@ case 9:
;
break;}
case 10:
#line 373 "asn1p_y.y"
#line 374 "asn1p_y.y"
{
yyval.a_oid = yyvsp[-1].a_oid;
asn1p_oid_add_arc(yyval.a_oid, &yyvsp[0].a_oid_arc);
......@@ -1362,74 +1366,74 @@ case 10:
;
break;}
case 11:
#line 382 "asn1p_y.y"
#line 383 "asn1p_y.y"
{ /* iso */
yyval.a_oid_arc.name = yyvsp[0].tv_str;
yyval.a_oid_arc.number = -1;
;
break;}
case 12:
#line 386 "asn1p_y.y"
#line 387 "asn1p_y.y"
{ /* iso(1) */
yyval.a_oid_arc.name = yyvsp[-3].tv_str;
yyval.a_oid_arc.number = yyvsp[-1].a_int;
;
break;}
case 13:
#line 390 "asn1p_y.y"
#line 391 "asn1p_y.y"
{ /* 1 */
yyval.a_oid_arc.name = 0;
yyval.a_oid_arc.number = yyvsp[0].a_int;
;
break;}
case 14:
#line 400 "asn1p_y.y"
#line 401 "asn1p_y.y"
{ yyval.a_module_flags = MSF_NOFLAGS; ;
break;}
case 15:
#line 401 "asn1p_y.y"
#line 402 "asn1p_y.y"
{
yyval.a_module_flags = yyvsp[0].a_module_flags;
;
break;}
case 16:
#line 410 "asn1p_y.y"
#line 411 "asn1p_y.y"
{
yyval.a_module_flags = yyvsp[0].a_module_flags;
;
break;}
case 17:
#line 413 "asn1p_y.y"
#line 414 "asn1p_y.y"
{
yyval.a_module_flags = yyvsp[-1].a_module_flags | yyvsp[0].a_module_flags;
;
break;}
case 18:
#line 422 "asn1p_y.y"
#line 423 "asn1p_y.y"
{
yyval.a_module_flags = MSF_EXPLICIT_TAGS;
;
break;}
case 19:
#line 425 "asn1p_y.y"
#line 426 "asn1p_y.y"
{
yyval.a_module_flags = MSF_IMPLICIT_TAGS;
;
break;}
case 20:
#line 428 "asn1p_y.y"
#line 429 "asn1p_y.y"
{
yyval.a_module_flags = MSF_AUTOMATIC_TAGS;
;
break;}
case 21:
#line 431 "asn1p_y.y"
#line 432 "asn1p_y.y"
{
yyval.a_module_flags = MSF_EXTENSIBILITY_IMPLIED;
;
break;}
case 22:
#line 435 "asn1p_y.y"
#line 436 "asn1p_y.y"
{
/* X.680Amd1 specifies TAG and XER */
if(strcmp(yyvsp[-1].tv_str, "TAG") == 0) {
......@@ -1447,23 +1451,23 @@ case 22:
;
break;}
case 23:
#line 456 "asn1p_y.y"
#line 457 "asn1p_y.y"
{ yyval.a_module = 0; ;
break;}
case 24:
#line 457 "asn1p_y.y"
#line 458 "asn1p_y.y"
{
yyval.a_module = yyvsp[0].a_module;
;
break;}
case 25:
#line 466 "asn1p_y.y"
#line 467 "asn1p_y.y"
{
yyval.a_module = yyvsp[0].a_module;
;
break;}
case 26:
#line 469 "asn1p_y.y"
#line 470 "asn1p_y.y"
{
yyval.a_module = yyvsp[-1].a_module;
......@@ -1493,13 +1497,13 @@ case 26:
;
break;}
case 27:
#line 502 "asn1p_y.y"
#line 503 "asn1p_y.y"
{
yyval.a_module = yyvsp[0].a_module;
;
break;}
case 28:
#line 505 "asn1p_y.y"
#line 506 "asn1p_y.y"
{
yyval.a_module = asn1p_module_new();
checkmem(yyval.a_module);
......@@ -1511,7 +1515,7 @@ case 28:
;
break;}
case 29:
#line 514 "asn1p_y.y"
#line 515 "asn1p_y.y"
{
yyval.a_module = asn1p_module_new();
checkmem(yyval.a_module);
......@@ -1521,7 +1525,7 @@ case 29:
;
break;}
case 30:
#line 521 "asn1p_y.y"
#line 522 "asn1p_y.y"
{
yyval.a_module = asn1p_module_new();
checkmem(yyval.a_module);
......@@ -1531,7 +1535,7 @@ case 30:
;
break;}
case 31:
#line 534 "asn1p_y.y"
#line 535 "asn1p_y.y"
{
yyval.a_module = asn1p_module_new();
checkmem(yyval.a_module);
......@@ -1541,11 +1545,11 @@ case 31:
;
break;}
case 32:
#line 542 "asn1p_y.y"
#line 543 "asn1p_y.y"
{ asn1p_lexer_hack_push_encoding_control(); ;
break;}
case 33:
#line 543 "asn1p_y.y"
#line 544 "asn1p_y.y"
{
fprintf(stderr,
"WARNING: ENCODING-CONTROL %s "
......@@ -1556,7 +1560,7 @@ case 33:
;
break;}
case 34:
#line 555 "asn1p_y.y"
#line 556 "asn1p_y.y"
{
return yyerror(
"Attempt to redefine a standard basic type, "
......@@ -1565,19 +1569,19 @@ case 34:
;
break;}
case 35:
#line 569 "asn1p_y.y"
#line 570 "asn1p_y.y"
{
yyval.a_module = yyvsp[-1].a_module;
;
break;}
case 36:
#line 575 "asn1p_y.y"
#line 576 "asn1p_y.y"
{
return yyerror("Empty IMPORTS list");
;
break;}
case 37:
#line 581 "asn1p_y.y"
#line 582 "asn1p_y.y"
{
yyval.a_module = asn1p_module_new();
checkmem(yyval.a_module);
......@@ -1585,14 +1589,14 @@ case 37:
;
break;}
case 38:
#line 586 "asn1p_y.y"
#line 587 "asn1p_y.y"
{
yyval.a_module = yyvsp[-1].a_module;
TQ_ADD(&(yyval.a_module->imports), yyvsp[0].a_xports, xp_next);
;
break;}
case 39:
#line 593 "asn1p_y.y"
#line 594 "asn1p_y.y"
{
yyval.a_xports = yyvsp[-3].a_xports;
yyval.a_xports->from = yyvsp[-1].tv_str;
......@@ -1601,7 +1605,7 @@ case 39:
;
break;}
case 40:
#line 602 "asn1p_y.y"
#line 603 "asn1p_y.y"
{
yyval.a_xports = asn1p_xports_new();
checkmem(yyval.a_xports);
......@@ -1609,14 +1613,14 @@ case 40:
;
break;}
case 41:
#line 607 "asn1p_y.y"
#line 608 "asn1p_y.y"
{
yyval.a_xports = yyvsp[-2].a_xports;
TQ_ADD(&(yyval.a_xports->members), yyvsp[0].a_expr, next);
;
break;}
case 42:
#line 614 "asn1p_y.y"
#line 615 "asn1p_y.y"
{
yyval.a_expr = asn1p_expr_new(yylineno);
checkmem(yyval.a_expr);
......@@ -1625,7 +1629,7 @@ case 42:
;
break;}
case 43:
#line 620 "asn1p_y.y"
#line 621 "asn1p_y.y"
{
yyval.a_expr = asn1p_expr_new(yylineno);
checkmem(yyval.a_expr);
......@@ -1634,19 +1638,19 @@ case 43:
;
break;}
case 44:
#line 629 "asn1p_y.y"
#line 630 "asn1p_y.y"
{
yyval.a_xports = yyvsp[-1].a_xports;
;
break;}
case 45:
#line 632 "asn1p_y.y"
#line 633 "asn1p_y.y"
{
yyval.a_xports = 0;
;
break;}
case 46:
#line 635 "asn1p_y.y"
#line 636 "asn1p_y.y"
{
/* Empty EXPORTS clause effectively prohibits export. */
yyval.a_xports = asn1p_xports_new();
......@@ -1654,7 +1658,7 @@ case 46:
;
break;}
case 47:
#line 643 "asn1p_y.y"
#line 644 "asn1p_y.y"
{
yyval.a_xports = asn1p_xports_new();
assert(yyval.a_xports);
......@@ -1662,14 +1666,14 @@ case 47:
;
break;}
case 48:
#line 648 "asn1p_y.y"
#line 649 "asn1p_y.y"
{
yyval.a_xports = yyvsp[-2].a_xports;
TQ_ADD(&(yyval.a_xports->members), yyvsp[0].a_expr, next);
;
break;}
case 49:
#line 655 "asn1p_y.y"
#line 656 "asn1p_y.y"
{
yyval.a_expr = asn1p_expr_new(yylineno);
checkmem(yyval.a_expr);
......@@ -1678,7 +1682,7 @@ case 49:
;
break;}
case 50:
#line 661 "asn1p_y.y"
#line 662 "asn1p_y.y"
{
yyval.a_expr = asn1p_expr_new(yylineno);
checkmem(yyval.a_expr);
......@@ -1687,7 +1691,7 @@ case 50:
;
break;}
case 51:
#line 671 "asn1p_y.y"
#line 672 "asn1p_y.y"
{
yyval.a_expr = yyvsp[-4].a_expr;
assert(yyval.a_expr->Identifier == 0);
......@@ -1697,7 +1701,7 @@ case 51:
;
break;}
case 52:
#line 681 "asn1p_y.y"
#line 682 "asn1p_y.y"
{
yyval.a_expr = asn1p_expr_new(yylineno);
checkmem(yyval.a_expr);
......@@ -1707,7 +1711,7 @@ case 52:
;
break;}
case 53:
#line 688 "asn1p_y.y"
#line 689 "asn1p_y.y"
{
yyval.a_expr = asn1p_expr_new(yylineno);
checkmem(yyval.a_expr);
......@@ -1716,36 +1720,36 @@ case 53:
;
break;}
case 54:
#line 697 "asn1p_y.y"
#line 698 "asn1p_y.y"
{ ;
break;}
case 55:
#line 698 "asn1p_y.y"
#line 699 "asn1p_y.y"
{
;
break;}
case 56:
#line 709 "asn1p_y.y"
#line 710 "asn1p_y.y"
{
;
break;}
case 57:
#line 711 "asn1p_y.y"
#line 712 "asn1p_y.y"
{
;
break;}
case 58:
#line 716 "asn1p_y.y"
#line 717 "asn1p_y.y"
{
;
break;}
case 59:
#line 718 "asn1p_y.y"
#line 719 "asn1p_y.y"
{
;
break;}
case 60:
#line 734 "asn1p_y.y"
#line 735 "asn1p_y.y"
{
yyval.a_expr = asn1p_expr_new(yylineno);
checkmem(yyval.a_expr);
......@@ -1756,7 +1760,7 @@ case 60:
;
break;}
case 61:
#line 742 "asn1p_y.y"
#line 743 "asn1p_y.y"
{
yyval.a_expr = yyvsp[0].a_expr;
yyval.a_expr->Identifier = yyvsp[-2].tv_str;
......@@ -1765,7 +1769,7 @@ case 61:
;
break;}
case 62:
#line 748 "asn1p_y.y"
#line 749 "asn1p_y.y"
{
yyval.a_expr = yyvsp[0].a_expr;
yyval.a_expr->Identifier = yyvsp[-2].tv_str;
......@@ -1774,7 +1778,7 @@ case 62:
;
break;}
case 63:
#line 764 "asn1p_y.y"
#line 765 "asn1p_y.y"
{
yyval.a_expr = yyvsp[0].a_expr;
assert(yyval.a_expr->Identifier == 0);
......@@ -1784,7 +1788,7 @@ case 63:
;
break;}
case 64:
#line 774 "asn1p_y.y"
#line 775 "asn1p_y.y"
{
int ret;
yyval.a_plist = asn1p_paramlist_new(yylineno);
......@@ -1796,7 +1800,7 @@ case 64:
;
break;}
case 65:
#line 783 "asn1p_y.y"
#line 784 "asn1p_y.y"
{
int ret;
yyval.a_plist = yyvsp[-2].a_plist;
......@@ -1807,14 +1811,14 @@ case 65:
;
break;}
case 66:
#line 794 "asn1p_y.y"
#line 795 "asn1p_y.y"
{
yyval.a_parg.governor = NULL;
yyval.a_parg.argument = yyvsp[0].tv_str;
;
break;}
case 67:
#line 798 "asn1p_y.y"
#line 799 "asn1p_y.y"
{
int ret;
yyval.a_parg.governor = asn1p_ref_new(yylineno);
......@@ -1824,7 +1828,7 @@ case 67:
;
break;}
case 68:
#line 805 "asn1p_y.y"
#line 806 "asn1p_y.y"
{
int ret;
yyval.a_parg.governor = asn1p_ref_new(yylineno);
......@@ -1835,7 +1839,7 @@ case 68:
;
break;}
case 69:
#line 816 "asn1p_y.y"
#line 817 "asn1p_y.y"
{
yyval.a_expr = asn1p_expr_new(yylineno);
checkmem(yyval.a_expr);
......@@ -1843,20 +1847,20 @@ case 69:
;
break;}
case 70:
#line 821 "asn1p_y.y"
#line 822 "asn1p_y.y"
{
yyval.a_expr = yyvsp[-2].a_expr;
asn1p_expr_add(yyval.a_expr, yyvsp[0].a_expr);
;
break;}
case 71:
#line 828 "asn1p_y.y"
#line 829 "asn1p_y.y"
{
yyval.a_expr = yyvsp[0].a_expr;
;
break;}
case 72:
#line 831 "asn1p_y.y"
#line 832 "asn1p_y.y"
{
yyval.a_expr = asn1p_expr_new(yylineno);
checkmem(yyval.a_expr);
......@@ -1866,7 +1870,7 @@ case 72:
;
break;}
case 73:
#line 844 "asn1p_y.y"
#line 845 "asn1p_y.y"
{
yyval.a_expr = asn1p_expr_new(yylineno);
checkmem(yyval.a_expr);
......@@ -1874,14 +1878,14 @@ case 73:
;
break;}
case 74:
#line 849 "asn1p_y.y"
#line 850 "asn1p_y.y"
{
yyval.a_expr = yyvsp[-2].a_expr;
asn1p_expr_add(yyval.a_expr, yyvsp[0].a_expr);
;
break;}
case 75:
#line 856 "asn1p_y.y"
#line 857 "asn1p_y.y"
{
yyval.a_expr = yyvsp[-1].a_expr;
assert(yyval.a_expr->Identifier == 0);
......@@ -1890,7 +1894,7 @@ case 75:
;
break;}
case 76:
#line 862 "asn1p_y.y"
#line 863 "asn1p_y.y"
{
yyval.a_expr = asn1p_expr_new(yylineno);
checkmem(yyval.a_expr);
......@@ -1900,13 +1904,13 @@ case 76:
;
break;}
case 77:
#line 869 "asn1p_y.y"
#line 870 "asn1p_y.y"
{
yyval.a_expr = yyvsp[0].a_expr;
;
break;}
case 78:
#line 875 "asn1p_y.y"
#line 876 "asn1p_y.y"
{
yyval.a_expr = asn1p_expr_new(yylineno);
checkmem(yyval.a_expr);
......@@ -1914,14 +1918,14 @@ case 78:
;
break;}
case 79:
#line 880 "asn1p_y.y"
#line 881 "asn1p_y.y"
{
yyval.a_expr = yyvsp[-2].a_expr;
asn1p_expr_add(yyval.a_expr, yyvsp[0].a_expr);
;
break;}
case 80:
#line 887 "asn1p_y.y"
#line 888 "asn1p_y.y"
{
yyval.a_expr = yyvsp[0].a_expr;
assert(yyval.a_expr->Identifier == 0);
......@@ -1929,13 +1933,13 @@ case 80:
;
break;}
case 81:
#line 892 "asn1p_y.y"
#line 893 "asn1p_y.y"
{
yyval.a_expr = yyvsp[0].a_expr;
;
break;}
case 82:
#line 898 "asn1p_y.y"
#line 899 "asn1p_y.y"
{
yyval.a_expr = yyvsp[-2].a_expr;
checkmem(yyval.a_expr);
......@@ -1945,15 +1949,15 @@ case 82:
;
break;}
case 83:
#line 908 "asn1p_y.y"
#line 909 "asn1p_y.y"
{ yyval.a_int = 0; ;
break;}
case 84:
#line 909 "asn1p_y.y"
#line 910 "asn1p_y.y"
{ yyval.a_int = 1; ;
break;}
case 85:
#line 913 "asn1p_y.y"
#line 914 "asn1p_y.y"
{
yyval.a_expr = asn1p_expr_new(yylineno);
checkmem(yyval.a_expr);
......@@ -1963,14 +1967,14 @@ case 85:
;
break;}
case 86:
#line 920 "asn1p_y.y"
#line 921 "asn1p_y.y"
{
yyval.a_expr = yyvsp[-2].a_expr;
asn1p_expr_add(yyval.a_expr, yyvsp[0].a_expr);
;
break;}
case 87:
#line 927 "asn1p_y.y"
#line 928 "asn1p_y.y"
{
yyval.a_expr = asn1p_expr_new(yylineno);
checkmem(yyval.a_expr);
......@@ -1981,7 +1985,7 @@ case 87:
;
break;}
case 88:
#line 935 "asn1p_y.y"
#line 936 "asn1p_y.y"
{
yyval.a_expr = yyvsp[-2].a_expr;
yyval.a_expr->Identifier = yyvsp[-3].a_refcomp.name;
......@@ -1990,7 +1994,7 @@ case 88:
;
break;}
case 89:
#line 941 "asn1p_y.y"
#line 942 "asn1p_y.y"
{
int ret;
yyval.a_expr = asn1p_expr_new(yylineno);
......@@ -2008,47 +2012,47 @@ case 89:
;
break;}
case 90:
#line 959 "asn1p_y.y"
#line 960 "asn1p_y.y"
{ yyval.a_wsynt = 0; ;
break;}
case 91:
#line 960 "asn1p_y.y"
#line 961 "asn1p_y.y"
{
yyval.a_wsynt = yyvsp[0].a_wsynt;
;
break;}
case 92:
#line 967 "asn1p_y.y"
#line 968 "asn1p_y.y"
{ asn1p_lexer_hack_enable_with_syntax(); ;
break;}
case 93:
#line 969 "asn1p_y.y"
#line 970 "asn1p_y.y"
{
yyval.a_wsynt = yyvsp[-1].a_wsynt;
;
break;}
case 94:
#line 975 "asn1p_y.y"
#line 976 "asn1p_y.y"
{
yyval.a_wsynt = asn1p_wsyntx_new();
TQ_ADD(&(yyval.a_wsynt->chunks), yyvsp[0].a_wchunk, next);
;
break;}
case 95:
#line 979 "asn1p_y.y"
#line 980 "asn1p_y.y"
{
yyval.a_wsynt = yyvsp[-1].a_wsynt;
TQ_ADD(&(yyval.a_wsynt->chunks), yyvsp[0].a_wchunk, next);
;
break;}
case 96:
#line 986 "asn1p_y.y"
#line 987 "asn1p_y.y"
{
yyval.a_wchunk = asn1p_wsyntx_chunk_frombuf(yyvsp[0].tv_opaque.buf, yyvsp[0].tv_opaque.len, 0);
;
break;}
case 97:
#line 989 "asn1p_y.y"
#line 990 "asn1p_y.y"
{
asn1p_ref_t *ref;
int ret;
......@@ -2060,7 +2064,7 @@ case 97:
;
break;}
case 98:
#line 1001 "asn1p_y.y"
#line 1002 "asn1p_y.y"
{
yyval.a_expr = asn1p_expr_new(yylineno);
checkmem(yyval.a_expr);
......@@ -2071,7 +2075,7 @@ case 98:
;
break;}
case 99:
#line 1009 "asn1p_y.y"
#line 1010 "asn1p_y.y"
{
yyval.a_expr = asn1p_expr_new(yylineno);
checkmem(yyval.a_expr);
......@@ -2083,7 +2087,7 @@ case 99:
;
break;}
case 100:
#line 1018 "asn1p_y.y"
#line 1019 "asn1p_y.y"
{
yyval.a_expr = asn1p_expr_new(yylineno);
checkmem(yyval.a_expr);
......@@ -2095,7 +2099,7 @@ case 100:
;
break;}
case 101:
#line 1030 "asn1p_y.y"
#line 1031 "asn1p_y.y"
{
yyval.a_expr = yyvsp[-1].a_expr;
yyval.a_expr->tag = yyvsp[-2].a_tag;
......@@ -2117,13 +2121,13 @@ case 101:
;
break;}
case 102:
#line 1052 "asn1p_y.y"
#line 1053 "asn1p_y.y"
{
yyval.a_expr = yyvsp[0].a_expr;
;
break;}
case 103:
#line 1055 "asn1p_y.y"
#line 1056 "asn1p_y.y"
{
yyval.a_expr = asn1p_expr_new(yylineno);
checkmem(yyval.a_expr);
......@@ -2132,7 +2136,7 @@ case 103:
;
break;}
case 104:
#line 1061 "asn1p_y.y"
#line 1062 "asn1p_y.y"
{
yyval.a_expr = yyvsp[-1].a_expr;
assert(yyval.a_expr->expr_type == A1TC_INVALID);
......@@ -2141,7 +2145,7 @@ case 104:
;
break;}
case 105:
#line 1067 "asn1p_y.y"
#line 1068 "asn1p_y.y"
{
yyval.a_expr = yyvsp[-1].a_expr;
assert(yyval.a_expr->expr_type == A1TC_INVALID);
......@@ -2150,7 +2154,7 @@ case 105:
;
break;}
case 106:
#line 1073 "asn1p_y.y"
#line 1074 "asn1p_y.y"
{
yyval.a_expr = yyvsp[-1].a_expr;
assert(yyval.a_expr->expr_type == A1TC_INVALID);
......@@ -2159,31 +2163,33 @@ case 106:
;
break;}
case 107:
#line 1079 "asn1p_y.y"
#line 1080 "asn1p_y.y"
{
yyval.a_expr = asn1p_expr_new(yylineno);
checkmem(yyval.a_expr);
yyval.a_expr->constraints = yyvsp[-3].a_constr;
yyval.a_expr->constraints = yyvsp[-4].a_constr;
yyval.a_expr->expr_type = ASN_CONSTR_SEQUENCE_OF;
yyval.a_expr->meta_type = AMT_TYPE;
yyvsp[0].a_expr->Identifier = yyvsp[-2].tv_str;
yyvsp[0].a_expr->tag = yyvsp[-1].a_tag;
asn1p_expr_add(yyval.a_expr, yyvsp[0].a_expr);
;
break;}
case 108:
#line 1088 "asn1p_y.y"
#line 1090 "asn1p_y.y"
{
yyval.a_expr = asn1p_expr_new(yylineno);
checkmem(yyval.a_expr);
yyval.a_expr->constraints = yyvsp[-3].a_constr;
yyval.a_expr->constraints = yyvsp[-4].a_constr;
yyval.a_expr->expr_type = ASN_CONSTR_SET_OF;
yyval.a_expr->meta_type = AMT_TYPE;
yyvsp[0].a_expr->Identifier = yyvsp[-2].tv_str;
yyvsp[0].a_expr->tag = yyvsp[-1].a_tag;
asn1p_expr_add(yyval.a_expr, yyvsp[0].a_expr);
;
break;}
case 109:
#line 1097 "asn1p_y.y"
#line 1100 "asn1p_y.y"
{
yyval.a_expr = asn1p_expr_new(yylineno);
checkmem(yyval.a_expr);
......@@ -2192,7 +2198,7 @@ case 109:
;
break;}
case 110:
#line 1103 "asn1p_y.y"
#line 1106 "asn1p_y.y"
{
int ret;
yyval.a_expr = asn1p_expr_new(yylineno);
......@@ -2206,7 +2212,7 @@ case 110:
;
break;}
case 111:
#line 1117 "asn1p_y.y"
#line 1120 "asn1p_y.y"
{
int ret;
yyval.a_expr = yyvsp[-1].a_expr;
......@@ -2223,7 +2229,7 @@ case 111:
;
break;}
case 112:
#line 1141 "asn1p_y.y"
#line 1144 "asn1p_y.y"
{
yyval.a_expr = asn1p_expr_new(yylineno);
checkmem(yyval.a_expr);
......@@ -2233,7 +2239,7 @@ case 112:
;
break;}
case 113:
#line 1148 "asn1p_y.y"
#line 1151 "asn1p_y.y"
{
yyval.a_expr = asn1p_expr_new(yylineno);
checkmem(yyval.a_expr);
......@@ -2243,7 +2249,7 @@ case 113:
;
break;}
case 114:
#line 1163 "asn1p_y.y"
#line 1166 "asn1p_y.y"
{
int ret;
yyval.a_ref = asn1p_ref_new(yylineno);
......@@ -2254,7 +2260,7 @@ case 114:
;
break;}
case 115:
#line 1171 "asn1p_y.y"
#line 1174 "asn1p_y.y"
{
int ret;
yyval.a_ref = asn1p_ref_new(yylineno);
......@@ -2267,7 +2273,7 @@ case 115:
;
break;}
case 116:
#line 1181 "asn1p_y.y"
#line 1184 "asn1p_y.y"
{
int ret;
yyval.a_ref = asn1p_ref_new(yylineno);
......@@ -2280,7 +2286,7 @@ case 116:
;
break;}
case 117:
#line 1191 "asn1p_y.y"
#line 1194 "asn1p_y.y"
{
int ret;
yyval.a_ref = asn1p_ref_new(yylineno);
......@@ -2293,7 +2299,7 @@ case 117:
;
break;}
case 118:
#line 1201 "asn1p_y.y"
#line 1204 "asn1p_y.y"
{
int ret;
yyval.a_ref = asn1p_ref_new(yylineno);
......@@ -2304,7 +2310,7 @@ case 118:
;
break;}
case 119:
#line 1209 "asn1p_y.y"
#line 1212 "asn1p_y.y"
{
int ret;
yyval.a_ref = yyvsp[0].a_ref;
......@@ -2326,7 +2332,7 @@ case 119:
;
break;}
case 120:
#line 1231 "asn1p_y.y"
#line 1234 "asn1p_y.y"
{
int ret;
yyval.a_ref = asn1p_ref_new(yylineno);
......@@ -2337,7 +2343,7 @@ case 120:
;
break;}
case 121:
#line 1239 "asn1p_y.y"
#line 1242 "asn1p_y.y"
{
int ret;
yyval.a_ref = yyvsp[-2].a_ref;
......@@ -2347,21 +2353,21 @@ case 121:
;
break;}
case 124:
#line 1253 "asn1p_y.y"
#line 1256 "asn1p_y.y"
{
yyval.a_refcomp.lex_type = RLT_AmpUppercase;
yyval.a_refcomp.name = yyvsp[0].tv_str;
;
break;}
case 125:
#line 1258 "asn1p_y.y"
#line 1261 "asn1p_y.y"
{
yyval.a_refcomp.lex_type = RLT_Amplowercase;
yyval.a_refcomp.name = yyvsp[0].tv_str;
;
break;}
case 126:
#line 1271 "asn1p_y.y"
#line 1274 "asn1p_y.y"
{
yyval.a_expr = yyvsp[-2].a_expr;
assert(yyval.a_expr->Identifier == NULL);
......@@ -2371,7 +2377,7 @@ case 126:
;
break;}
case 127:
#line 1281 "asn1p_y.y"
#line 1284 "asn1p_y.y"
{
yyval.a_value = asn1p_value_fromint(0);
checkmem(yyval.a_value);
......@@ -2381,11 +2387,11 @@ case 127:
;
break;}
case 128:
#line 1288 "asn1p_y.y"
#line 1291 "asn1p_y.y"
{ asn1p_lexer_hack_push_opaque_state(); ;
break;}
case 129:
#line 1288 "asn1p_y.y"
#line 1291 "asn1p_y.y"
{
yyval.a_value = asn1p_value_frombuf(yyvsp[0].tv_opaque.buf, yyvsp[0].tv_opaque.len, 0);
checkmem(yyval.a_value);
......@@ -2393,7 +2399,7 @@ case 129:
;
break;}
case 130:
#line 1293 "asn1p_y.y"
#line 1296 "asn1p_y.y"
{
yyval.a_value = asn1p_value_fromint(0);
checkmem(yyval.a_value);
......@@ -2401,7 +2407,7 @@ case 130:
;
break;}
case 131:
#line 1298 "asn1p_y.y"
#line 1301 "asn1p_y.y"
{
yyval.a_value = asn1p_value_fromint(0);
checkmem(yyval.a_value);
......@@ -2409,7 +2415,7 @@ case 131:
;
break;}
case 132:
#line 1303 "asn1p_y.y"
#line 1306 "asn1p_y.y"
{
yyval.a_value = asn1p_value_fromint(0);
checkmem(yyval.a_value);
......@@ -2417,40 +2423,40 @@ case 132:
;
break;}
case 133:
#line 1308 "asn1p_y.y"
#line 1311 "asn1p_y.y"
{
yyval.a_value = _convert_bitstring2binary(yyvsp[0].tv_str, 'B');
checkmem(yyval.a_value);
;
break;}
case 134:
#line 1312 "asn1p_y.y"
#line 1315 "asn1p_y.y"
{
yyval.a_value = _convert_bitstring2binary(yyvsp[0].tv_str, 'H');
checkmem(yyval.a_value);
;
break;}
case 135:
#line 1316 "asn1p_y.y"
#line 1319 "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 136:
#line 1320 "asn1p_y.y"
#line 1323 "asn1p_y.y"
{
yyval.a_value = yyvsp[0].a_value;
;
break;}
case 137:
#line 1323 "asn1p_y.y"
#line 1326 "asn1p_y.y"
{
yyval.a_value = yyvsp[0].a_value;
;
break;}
case 138:
#line 1329 "asn1p_y.y"
#line 1332 "asn1p_y.y"
{
asn1p_ref_t *ref;
int ret;
......@@ -2464,7 +2470,7 @@ case 138:
;
break;}
case 139:
#line 1340 "asn1p_y.y"
#line 1343 "asn1p_y.y"
{
asn1p_ref_t *ref;
int ret;
......@@ -2481,7 +2487,7 @@ case 139:
;
break;}
case 140:
#line 1357 "asn1p_y.y"
#line 1360 "asn1p_y.y"
{
yyval.tv_opaque.len = yyvsp[0].tv_opaque.len + 2;
yyval.tv_opaque.buf = malloc(yyval.tv_opaque.len + 1);
......@@ -2494,7 +2500,7 @@ case 140:
;
break;}
case 141:
#line 1367 "asn1p_y.y"
#line 1370 "asn1p_y.y"
{
int newsize = yyvsp[-1].tv_opaque.len + yyvsp[0].tv_opaque.len;
char *p = malloc(newsize + 1);
......@@ -2509,67 +2515,67 @@ case 141:
;
break;}
case 142:
#line 1382 "asn1p_y.y"
#line 1385 "asn1p_y.y"
{ yyval.a_type = ASN_BASIC_BOOLEAN; ;
break;}
case 143:
#line 1383 "asn1p_y.y"
#line 1386 "asn1p_y.y"
{ yyval.a_type = ASN_BASIC_NULL; ;
break;}
case 144:
#line 1384 "asn1p_y.y"
#line 1387 "asn1p_y.y"
{ yyval.a_type = ASN_BASIC_REAL; ;
break;}
case 145:
#line 1385 "asn1p_y.y"
#line 1388 "asn1p_y.y"
{ yyval.a_type = yyvsp[0].a_type; ;
break;}
case 146:
#line 1386 "asn1p_y.y"
#line 1389 "asn1p_y.y"
{ yyval.a_type = ASN_BASIC_OCTET_STRING; ;
break;}
case 147:
#line 1387 "asn1p_y.y"
#line 1390 "asn1p_y.y"
{ yyval.a_type = ASN_BASIC_OBJECT_IDENTIFIER; ;
break;}
case 148:
#line 1388 "asn1p_y.y"
#line 1391 "asn1p_y.y"
{ yyval.a_type = ASN_BASIC_RELATIVE_OID; ;
break;}
case 149:
#line 1389 "asn1p_y.y"
#line 1392 "asn1p_y.y"
{ yyval.a_type = ASN_BASIC_EXTERNAL; ;
break;}
case 150:
#line 1390 "asn1p_y.y"
#line 1393 "asn1p_y.y"
{ yyval.a_type = ASN_BASIC_EMBEDDED_PDV; ;
break;}
case 151:
#line 1391 "asn1p_y.y"
#line 1394 "asn1p_y.y"
{ yyval.a_type = ASN_BASIC_CHARACTER_STRING; ;
break;}
case 152:
#line 1392 "asn1p_y.y"
#line 1395 "asn1p_y.y"
{ yyval.a_type = ASN_BASIC_UTCTime; ;
break;}
case 153:
#line 1393 "asn1p_y.y"
#line 1396 "asn1p_y.y"
{ yyval.a_type = ASN_BASIC_GeneralizedTime; ;
break;}
case 154:
#line 1400 "asn1p_y.y"
#line 1403 "asn1p_y.y"
{ yyval.a_type = ASN_BASIC_INTEGER; ;
break;}
case 155:
#line 1401 "asn1p_y.y"
#line 1404 "asn1p_y.y"
{ yyval.a_type = ASN_BASIC_ENUMERATED; ;
break;}
case 156:
#line 1402 "asn1p_y.y"
#line 1405 "asn1p_y.y"
{ yyval.a_type = ASN_BASIC_BIT_STRING; ;
break;}
case 157:
#line 1406 "asn1p_y.y"
#line 1409 "asn1p_y.y"
{
yyval.a_expr = asn1p_expr_new(yylineno);
checkmem(yyval.a_expr);
......@@ -2578,7 +2584,7 @@ case 157:
;
break;}
case 158:
#line 1412 "asn1p_y.y"
#line 1415 "asn1p_y.y"
{
if(yyvsp[0].a_expr) {
yyval.a_expr = yyvsp[0].a_expr;
......@@ -2591,91 +2597,91 @@ case 158:
;
break;}
case 159:
#line 1425 "asn1p_y.y"
#line 1428 "asn1p_y.y"
{ yyval.a_type = ASN_STRING_BMPString; ;
break;}
case 160:
#line 1426 "asn1p_y.y"
#line 1429 "asn1p_y.y"
{
yyval.a_type = ASN_STRING_GeneralString;
fprintf(stderr, "WARNING: GeneralString is not fully supported\n");
;
break;}
case 161:
#line 1430 "asn1p_y.y"
#line 1433 "asn1p_y.y"
{
yyval.a_type = ASN_STRING_GraphicString;
fprintf(stderr, "WARNING: GraphicString is not fully supported\n");
;
break;}
case 162:
#line 1434 "asn1p_y.y"
#line 1437 "asn1p_y.y"
{ yyval.a_type = ASN_STRING_IA5String; ;
break;}
case 163:
#line 1435 "asn1p_y.y"
#line 1438 "asn1p_y.y"
{ yyval.a_type = ASN_STRING_ISO646String; ;
break;}
case 164:
#line 1436 "asn1p_y.y"
#line 1439 "asn1p_y.y"
{ yyval.a_type = ASN_STRING_NumericString; ;
break;}
case 165:
#line 1437 "asn1p_y.y"
#line 1440 "asn1p_y.y"
{ yyval.a_type = ASN_STRING_PrintableString; ;
break;}
case 166:
#line 1438 "asn1p_y.y"
#line 1441 "asn1p_y.y"
{
yyval.a_type = ASN_STRING_T61String;
fprintf(stderr, "WARNING: T61String is not fully supported\n");
;
break;}
case 167:
#line 1442 "asn1p_y.y"
#line 1445 "asn1p_y.y"
{ yyval.a_type = ASN_STRING_TeletexString; ;
break;}
case 168:
#line 1443 "asn1p_y.y"
#line 1446 "asn1p_y.y"
{ yyval.a_type = ASN_STRING_UniversalString; ;
break;}
case 169:
#line 1444 "asn1p_y.y"
#line 1447 "asn1p_y.y"
{ yyval.a_type = ASN_STRING_UTF8String; ;
break;}
case 170:
#line 1445 "asn1p_y.y"
#line 1448 "asn1p_y.y"
{
yyval.a_type = ASN_STRING_VideotexString;
fprintf(stderr, "WARNING: VideotexString is not fully supported\n");
;
break;}
case 171:
#line 1449 "asn1p_y.y"
#line 1452 "asn1p_y.y"
{ yyval.a_type = ASN_STRING_VisibleString; ;
break;}
case 172:
#line 1450 "asn1p_y.y"
#line 1453 "asn1p_y.y"
{ yyval.a_type = ASN_STRING_ObjectDescriptor; ;
break;}
case 178:
#line 1462 "asn1p_y.y"
#line 1465 "asn1p_y.y"
{ yyval.a_constr = 0; ;
break;}
case 179:
#line 1463 "asn1p_y.y"
#line 1466 "asn1p_y.y"
{
yyval.a_constr = yyvsp[0].a_constr;
;
break;}
case 180:
#line 1469 "asn1p_y.y"
#line 1472 "asn1p_y.y"
{
CONSTRAINT_INSERT(yyval.a_constr, ACT_CA_SET, yyvsp[0].a_constr, 0);
;
break;}
case 181:
#line 1472 "asn1p_y.y"
#line 1475 "asn1p_y.y"
{
/*
* This is a special case, for compatibility purposes.
......@@ -2685,25 +2691,25 @@ case 181:
;
break;}
case 182:
#line 1482 "asn1p_y.y"
#line 1485 "asn1p_y.y"
{
yyval.a_constr = yyvsp[-1].a_constr;
;
break;}
case 183:
#line 1485 "asn1p_y.y"
#line 1488 "asn1p_y.y"
{
CONSTRAINT_INSERT(yyval.a_constr, ACT_CA_SET, yyvsp[-3].a_constr, yyvsp[-1].a_constr);
;
break;}
case 184:
#line 1491 "asn1p_y.y"
#line 1494 "asn1p_y.y"
{
yyval.a_constr = yyvsp[0].a_constr;
;
break;}
case 185:
#line 1494 "asn1p_y.y"
#line 1497 "asn1p_y.y"
{
asn1p_constraint_t *ct;
ct = asn1p_constraint_new(yylineno);
......@@ -2712,7 +2718,7 @@ case 185:
;
break;}
case 186:
#line 1500 "asn1p_y.y"
#line 1503 "asn1p_y.y"
{
asn1p_constraint_t *ct;
ct = asn1p_constraint_new(yylineno);
......@@ -2723,31 +2729,31 @@ case 186:
;
break;}
case 187:
#line 1511 "asn1p_y.y"
#line 1514 "asn1p_y.y"
{
yyval.a_constr = yyvsp[0].a_constr;
;
break;}
case 188:
#line 1514 "asn1p_y.y"
#line 1517 "asn1p_y.y"
{
CONSTRAINT_INSERT(yyval.a_constr, ACT_CA_UNI, yyvsp[-2].a_constr, yyvsp[0].a_constr);
;
break;}
case 189:
#line 1517 "asn1p_y.y"
#line 1520 "asn1p_y.y"
{
CONSTRAINT_INSERT(yyval.a_constr, ACT_CA_INT, yyvsp[-2].a_constr, yyvsp[0].a_constr);
;
break;}
case 190:
#line 1520 "asn1p_y.y"
#line 1523 "asn1p_y.y"
{
CONSTRAINT_INSERT(yyval.a_constr, ACT_CA_EXC, yyvsp[-2].a_constr, yyvsp[0].a_constr);
;
break;}
case 191:
#line 1526 "asn1p_y.y"
#line 1529 "asn1p_y.y"
{
int ret;
yyval.a_constr = asn1p_constraint_new(yylineno);
......@@ -2758,7 +2764,7 @@ case 191:
;
break;}
case 192:
#line 1534 "asn1p_y.y"
#line 1537 "asn1p_y.y"
{
int ret;
yyval.a_constr = asn1p_constraint_new(yylineno);
......@@ -2769,7 +2775,7 @@ case 192:
;
break;}
case 193:
#line 1542 "asn1p_y.y"
#line 1545 "asn1p_y.y"
{
yyval.a_constr = asn1p_constraint_new(yylineno);
checkmem(yyval.a_constr);
......@@ -2778,7 +2784,7 @@ case 193:
;
break;}
case 194:
#line 1548 "asn1p_y.y"
#line 1551 "asn1p_y.y"
{
yyval.a_constr = asn1p_constraint_new(yylineno);
checkmem(yyval.a_constr);
......@@ -2788,7 +2794,7 @@ case 194:
;
break;}
case 195:
#line 1555 "asn1p_y.y"
#line 1558 "asn1p_y.y"
{
yyval.a_constr = asn1p_constraint_new(yylineno);
checkmem(yyval.a_constr);
......@@ -2799,7 +2805,7 @@ case 195:
;
break;}
case 196:
#line 1563 "asn1p_y.y"
#line 1566 "asn1p_y.y"
{
yyval.a_constr = asn1p_constraint_new(yylineno);
checkmem(yyval.a_constr);
......@@ -2810,7 +2816,7 @@ case 196:
;
break;}
case 197:
#line 1571 "asn1p_y.y"
#line 1574 "asn1p_y.y"
{
yyval.a_constr = asn1p_constraint_new(yylineno);
checkmem(yyval.a_constr);
......@@ -2822,53 +2828,53 @@ case 197:
;
break;}
case 198:
#line 1580 "asn1p_y.y"
#line 1583 "asn1p_y.y"
{
yyval.a_constr = yyvsp[0].a_constr;
;
break;}
case 199:
#line 1583 "asn1p_y.y"
#line 1586 "asn1p_y.y"
{
yyval.a_constr = yyvsp[0].a_constr;
;
break;}
case 200:
#line 1589 "asn1p_y.y"
#line 1592 "asn1p_y.y"
{ yyval.a_ctype = ACT_EL_RANGE; ;
break;}
case 201:
#line 1590 "asn1p_y.y"
#line 1593 "asn1p_y.y"
{ yyval.a_ctype = ACT_EL_RLRANGE; ;
break;}
case 202:
#line 1591 "asn1p_y.y"
#line 1594 "asn1p_y.y"
{ yyval.a_ctype = ACT_EL_LLRANGE; ;
break;}
case 203:
#line 1592 "asn1p_y.y"
#line 1595 "asn1p_y.y"
{ yyval.a_ctype = ACT_EL_ULRANGE; ;
break;}
case 204:
#line 1596 "asn1p_y.y"
#line 1599 "asn1p_y.y"
{
yyval.a_ctype = ACT_CT_SIZE;
;
break;}
case 205:
#line 1599 "asn1p_y.y"
#line 1602 "asn1p_y.y"
{
yyval.a_ctype = ACT_CT_FROM;
;
break;}
case 206:
#line 1605 "asn1p_y.y"
#line 1608 "asn1p_y.y"
{
yyval.a_value = yyvsp[0].a_value;
;
break;}
case 207:
#line 1608 "asn1p_y.y"
#line 1611 "asn1p_y.y"
{
asn1p_ref_t *ref;
int ret;
......@@ -2882,14 +2888,14 @@ case 207:
;
break;}
case 208:
#line 1619 "asn1p_y.y"
#line 1622 "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 209:
#line 1623 "asn1p_y.y"
#line 1626 "asn1p_y.y"
{
yyval.a_value = asn1p_value_fromint(0);
checkmem(yyval.a_value);
......@@ -2897,7 +2903,7 @@ case 209:
;
break;}
case 210:
#line 1628 "asn1p_y.y"
#line 1631 "asn1p_y.y"
{
yyval.a_value = asn1p_value_fromint(1);
checkmem(yyval.a_value);
......@@ -2905,25 +2911,25 @@ case 210:
;
break;}
case 211:
#line 1636 "asn1p_y.y"
#line 1639 "asn1p_y.y"
{
CONSTRAINT_INSERT(yyval.a_constr, ACT_CT_WCOMPS, yyvsp[-1].a_constr, 0);
;
break;}
case 212:
#line 1642 "asn1p_y.y"
#line 1645 "asn1p_y.y"
{
yyval.a_constr = yyvsp[0].a_constr;
;
break;}
case 213:
#line 1645 "asn1p_y.y"
#line 1648 "asn1p_y.y"
{
CONSTRAINT_INSERT(yyval.a_constr, ACT_CT_WCOMPS, yyvsp[-2].a_constr, yyvsp[0].a_constr);
;
break;}
case 214:
#line 1651 "asn1p_y.y"
#line 1654 "asn1p_y.y"
{
yyval.a_constr = asn1p_constraint_new(yylineno);
checkmem(yyval.a_constr);
......@@ -2931,7 +2937,7 @@ case 214:
;
break;}
case 215:
#line 1656 "asn1p_y.y"
#line 1659 "asn1p_y.y"
{
yyval.a_constr = asn1p_constraint_new(yylineno);
checkmem(yyval.a_constr);
......@@ -2941,45 +2947,45 @@ case 215:
;
break;}
case 216:
#line 1669 "asn1p_y.y"
#line 1672 "asn1p_y.y"
{ yyval.a_pres = ACPRES_DEFAULT; ;
break;}
case 217:
#line 1670 "asn1p_y.y"
#line 1673 "asn1p_y.y"
{ yyval.a_pres = yyvsp[0].a_pres; ;
break;}
case 218:
#line 1674 "asn1p_y.y"
#line 1677 "asn1p_y.y"
{
yyval.a_pres = ACPRES_PRESENT;
;
break;}
case 219:
#line 1677 "asn1p_y.y"
#line 1680 "asn1p_y.y"
{
yyval.a_pres = ACPRES_ABSENT;
;
break;}
case 220:
#line 1680 "asn1p_y.y"
#line 1683 "asn1p_y.y"
{
yyval.a_pres = ACPRES_OPTIONAL;
;
break;}
case 221:
#line 1686 "asn1p_y.y"
#line 1689 "asn1p_y.y"
{
yyval.a_constr = yyvsp[0].a_constr;
;
break;}
case 222:
#line 1689 "asn1p_y.y"
#line 1692 "asn1p_y.y"
{
yyval.a_constr = yyvsp[0].a_constr;
;
break;}
case 223:
#line 1698 "asn1p_y.y"
#line 1701 "asn1p_y.y"
{
asn1p_ref_t *ref = asn1p_ref_new(yylineno);
asn1p_constraint_t *ct;
......@@ -2994,13 +3000,13 @@ case 223:
;
break;}
case 224:
#line 1713 "asn1p_y.y"
#line 1716 "asn1p_y.y"
{
CONSTRAINT_INSERT(yyval.a_constr, ACT_CA_CRC, yyvsp[-3].a_constr, yyvsp[-1].a_constr);
;
break;}
case 225:
#line 1719 "asn1p_y.y"
#line 1722 "asn1p_y.y"
{
yyval.a_constr = asn1p_constraint_new(yylineno);
checkmem(yyval.a_constr);
......@@ -3009,7 +3015,7 @@ case 225:
;
break;}
case 226:
#line 1725 "asn1p_y.y"
#line 1728 "asn1p_y.y"
{
asn1p_constraint_t *ct;
ct = asn1p_constraint_new(yylineno);
......@@ -3020,7 +3026,7 @@ case 226:
;
break;}
case 227:
#line 1739 "asn1p_y.y"
#line 1742 "asn1p_y.y"
{
char *p = malloc(strlen(yyvsp[0].tv_str) + 2);
int ret;
......@@ -3034,7 +3040,7 @@ case 227:
;
break;}
case 228:
#line 1750 "asn1p_y.y"
#line 1753 "asn1p_y.y"
{
char *p = malloc(strlen(yyvsp[0].tv_str) + 3);
int ret;
......@@ -3049,13 +3055,13 @@ case 228:
;
break;}
case 229:
#line 1766 "asn1p_y.y"
#line 1769 "asn1p_y.y"
{
yyval.tv_str = yyvsp[0].tv_str;
;
break;}
case 230:
#line 1769 "asn1p_y.y"
#line 1772 "asn1p_y.y"
{
int l1 = strlen(yyvsp[-2].tv_str);
int l3 = strlen(yyvsp[0].tv_str);
......@@ -3067,45 +3073,45 @@ case 230:
;
break;}
case 231:
#line 1787 "asn1p_y.y"
#line 1790 "asn1p_y.y"
{
yyval.a_marker.flags = EM_NOMARK;
yyval.a_marker.default_value = 0;
;
break;}
case 232:
#line 1791 "asn1p_y.y"
#line 1794 "asn1p_y.y"
{ yyval.a_marker = yyvsp[0].a_marker; ;
break;}
case 233:
#line 1795 "asn1p_y.y"
#line 1798 "asn1p_y.y"
{
yyval.a_marker.flags = EM_OPTIONAL;
yyval.a_marker.default_value = 0;
;
break;}
case 234:
#line 1799 "asn1p_y.y"
#line 1802 "asn1p_y.y"
{
yyval.a_marker.flags = EM_DEFAULT;
yyval.a_marker.default_value = yyvsp[0].a_value;
;
break;}
case 235:
#line 1822 "asn1p_y.y"
#line 1825 "asn1p_y.y"
{
yyval.a_expr = asn1p_expr_new(yylineno);
checkmem(yyval.a_expr);
;
break;}
case 236:
#line 1826 "asn1p_y.y"
#line 1829 "asn1p_y.y"
{
yyval.a_expr = yyvsp[-1].a_expr;
;
break;}
case 237:
#line 1832 "asn1p_y.y"
#line 1835 "asn1p_y.y"
{
yyval.a_expr = asn1p_expr_new(yylineno);
checkmem(yyval.a_expr);
......@@ -3113,14 +3119,14 @@ case 237:
;
break;}
case 238:
#line 1837 "asn1p_y.y"
#line 1840 "asn1p_y.y"
{
yyval.a_expr = yyvsp[-2].a_expr;
asn1p_expr_add(yyval.a_expr, yyvsp[0].a_expr);
;
break;}
case 239:
#line 1844 "asn1p_y.y"
#line 1847 "asn1p_y.y"
{
yyval.a_expr = asn1p_expr_new(yylineno);
checkmem(yyval.a_expr);
......@@ -3130,7 +3136,7 @@ case 239:
;
break;}
case 240:
#line 1851 "asn1p_y.y"
#line 1854 "asn1p_y.y"
{
yyval.a_expr = asn1p_expr_new(yylineno);
checkmem(yyval.a_expr);
......@@ -3141,7 +3147,7 @@ case 240:
;
break;}
case 241:
#line 1859 "asn1p_y.y"
#line 1862 "asn1p_y.y"
{
yyval.a_expr = asn1p_expr_new(yylineno);
checkmem(yyval.a_expr);
......@@ -3152,7 +3158,7 @@ case 241:
;
break;}
case 242:
#line 1867 "asn1p_y.y"
#line 1870 "asn1p_y.y"
{
yyval.a_expr = asn1p_expr_new(yylineno);
checkmem(yyval.a_expr);
......@@ -3162,7 +3168,7 @@ case 242:
;
break;}
case 243:
#line 1874 "asn1p_y.y"
#line 1877 "asn1p_y.y"
{
yyval.a_expr = asn1p_expr_new(yylineno);
checkmem(yyval.a_expr);
......@@ -3173,71 +3179,81 @@ case 243:
;
break;}
case 244:
#line 1885 "asn1p_y.y"
#line 1888 "asn1p_y.y"
{
yyval.a_value = asn1p_value_fromint(yyvsp[0].a_int);
checkmem(yyval.a_value);
;
break;}
case 245:
#line 1889 "asn1p_y.y"
#line 1892 "asn1p_y.y"
{
yyval.a_value = asn1p_value_fromint(yyvsp[0].a_int);
checkmem(yyval.a_value);
;
break;}
case 246:
#line 1920 "asn1p_y.y"
#line 1923 "asn1p_y.y"
{ memset(&yyval.a_tag, 0, sizeof(yyval.a_tag)); ;
break;}
case 247:
#line 1921 "asn1p_y.y"
#line 1924 "asn1p_y.y"
{ yyval.a_tag = yyvsp[0].a_tag; ;
break;}
case 248:
#line 1925 "asn1p_y.y"
#line 1928 "asn1p_y.y"
{
yyval.a_tag = yyvsp[0].a_tag;
yyval.a_tag.tag_mode = TM_DEFAULT;
;
break;}
case 249:
#line 1929 "asn1p_y.y"
#line 1932 "asn1p_y.y"
{
yyval.a_tag = yyvsp[-1].a_tag;
yyval.a_tag.tag_mode = TM_IMPLICIT;
;
break;}
case 250:
#line 1933 "asn1p_y.y"
#line 1936 "asn1p_y.y"
{
yyval.a_tag = yyvsp[-1].a_tag;
yyval.a_tag.tag_mode = TM_EXPLICIT;
;
break;}
case 251:
#line 1940 "asn1p_y.y"
#line 1943 "asn1p_y.y"
{
checkmem(yyvsp[0].tv_str);
yyval.tv_str = yyvsp[0].tv_str;
;
break;}
case 252:
#line 1944 "asn1p_y.y"
#line 1947 "asn1p_y.y"
{
checkmem(yyvsp[0].tv_str);
yyval.tv_str = yyvsp[0].tv_str;
;
break;}
case 253:
#line 1952 "asn1p_y.y"
#line 1955 "asn1p_y.y"
{
checkmem(yyvsp[0].tv_str);
yyval.tv_str = yyvsp[0].tv_str;
;
break;}
case 254:
#line 1959 "asn1p_y.y"
#line 1962 "asn1p_y.y"
{ yyval.tv_str = 0; ;
break;}
case 255:
#line 1963 "asn1p_y.y"
{
yyval.tv_str = yyvsp[0].tv_str;
;
break;}
case 256:
#line 1968 "asn1p_y.y"
{
checkmem(yyvsp[0].tv_str);
yyval.tv_str = yyvsp[0].tv_str;
......@@ -3465,7 +3481,7 @@ yyerrhandle:
}
return 1;
}
#line 1965 "asn1p_y.y"
#line 1974 "asn1p_y.y"
......
......@@ -250,6 +250,7 @@ static asn1p_value_t *
%type <tv_str> TypeRefName
%type <tv_str> ObjectClassReference
%type <tv_str> Identifier
%type <tv_str> optIdentifier
%type <a_parg> ParameterArgumentName
%type <a_plist> ParameterArgumentList
%type <a_expr> ActualParameter
......@@ -1076,23 +1077,25 @@ TypeDeclaration:
$$->expr_type = ASN_CONSTR_SET;
$$->meta_type = AMT_TYPE;
}
| TOK_SEQUENCE optConstraints TOK_OF optTag TypeDeclaration {
| TOK_SEQUENCE optConstraints TOK_OF optIdentifier optTag TypeDeclaration {
$$ = asn1p_expr_new(yylineno);
checkmem($$);
$$->constraints = $2;
$$->expr_type = ASN_CONSTR_SEQUENCE_OF;
$$->meta_type = AMT_TYPE;
$5->tag = $4;
asn1p_expr_add($$, $5);
$6->Identifier = $4;
$6->tag = $5;
asn1p_expr_add($$, $6);
}
| TOK_SET optConstraints TOK_OF optTag TypeDeclaration {
| TOK_SET optConstraints TOK_OF optIdentifier optTag TypeDeclaration {
$$ = asn1p_expr_new(yylineno);
checkmem($$);
$$->constraints = $2;
$$->expr_type = ASN_CONSTR_SET_OF;
$$->meta_type = AMT_TYPE;
$5->tag = $4;
asn1p_expr_add($$, $5);
$6->Identifier = $4;
$6->tag = $5;
asn1p_expr_add($$, $6);
}
| TOK_ANY {
$$ = asn1p_expr_new(yylineno);
......@@ -1955,6 +1958,12 @@ ObjectClassReference:
}
;
optIdentifier:
{ $$ = 0; }
| Identifier {
$$ = $1;
}
Identifier:
TOK_identifier {
checkmem($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