aboutsummaryrefslogtreecommitdiffstats
path: root/libasn1parser
diff options
context:
space:
mode:
authorLev Walkin <vlm@lionet.info>2006-10-18 18:40:14 +0000
committerLev Walkin <vlm@lionet.info>2006-10-18 18:40:14 +0000
commit5c541f119e188d4ada807cc53938fff8a84c88a4 (patch)
tree8c297f4a583a031283ac781d71259e9343e78a24 /libasn1parser
parent5bcbda55b6f382aa18feb2723718e364937e2f81 (diff)
PatterConstraint parsing
Diffstat (limited to 'libasn1parser')
-rw-r--r--libasn1parser/asn1p_constr.c2
-rw-r--r--libasn1parser/asn1p_constr.h1
-rw-r--r--libasn1parser/asn1p_y.c1609
-rw-r--r--libasn1parser/asn1p_y.y20
4 files changed, 848 insertions, 784 deletions
diff --git a/libasn1parser/asn1p_constr.c b/libasn1parser/asn1p_constr.c
index ee8d1ebf..0b1e8921 100644
--- a/libasn1parser/asn1p_constr.c
+++ b/libasn1parser/asn1p_constr.c
@@ -171,6 +171,8 @@ asn1p_constraint_type2str(enum asn1p_constraint_type_e type) {
return "UserDefinedConstraint";
case ACT_CT_CTNG:
return "ContentsConstraint";
+ case ACT_CT_PATTERN:
+ return "PatternConstraint";
case ACT_CA_SET:
return "SET";
case ACT_CA_CRC:
diff --git a/libasn1parser/asn1p_constr.h b/libasn1parser/asn1p_constr.h
index bb6ba327..accee55f 100644
--- a/libasn1parser/asn1p_constr.h
+++ b/libasn1parser/asn1p_constr.h
@@ -27,6 +27,7 @@ typedef struct asn1p_constraint_s {
ACT_CT_WCOMPS, /* WITH COMPONENTS */
ACT_CT_CTDBY, /* CONSTRAINED BY */
ACT_CT_CTNG, /* CONTAINING Type */
+ ACT_CT_PATTERN, /* PATTERN Value */
/*
* Arrays of constraints.
*/
diff --git a/libasn1parser/asn1p_y.c b/libasn1parser/asn1p_y.c
index 709611c1..95d45134 100644
--- a/libasn1parser/asn1p_y.c
+++ b/libasn1parser/asn1p_y.c
@@ -523,16 +523,16 @@ union yyalloc
/* YYFINAL -- State number of the termination state. */
#define YYFINAL 7
-#define YYLAST 824
+#define YYLAST 871
/* YYNTOKENS -- Number of terminals. */
#define YYNTOKENS 121
/* YYNNTS -- Number of nonterminals. */
-#define YYNNTS 120
+#define YYNNTS 121
/* YYNRULES -- Number of rules. */
-#define YYNRULES 306
+#define YYNRULES 309
/* YYNRULES -- Number of states. */
-#define YYNSTATES 465
+#define YYNSTATES 469
/* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX. */
#define YYUNDEFTOK 2
@@ -611,23 +611,23 @@ static const unsigned short yyprhs[] =
564, 566, 568, 570, 572, 574, 575, 577, 579, 583,
585, 590, 594, 599, 601, 603, 607, 613, 615, 619,
621, 625, 627, 631, 633, 637, 642, 646, 648, 650,
- 654, 658, 662, 666, 668, 670, 672, 674, 676, 678,
- 680, 682, 684, 688, 694, 696, 700, 702, 706, 707,
- 709, 711, 713, 715, 717, 719, 721, 722, 728, 731,
- 733, 736, 739, 743, 745, 747, 751, 756, 758, 762,
- 765, 769, 771, 775, 776, 778, 780, 783, 786, 790,
- 792, 796, 798, 803, 808, 810, 812, 814, 816, 818,
- 820, 821, 823, 826, 831, 832, 834, 836, 838, 839,
- 841, 843, 845, 847, 849, 850, 852
+ 654, 658, 662, 666, 668, 670, 673, 676, 678, 680,
+ 682, 684, 686, 688, 690, 692, 696, 702, 704, 708,
+ 710, 714, 715, 717, 719, 721, 723, 725, 727, 729,
+ 730, 736, 739, 741, 744, 747, 751, 753, 755, 759,
+ 764, 766, 770, 773, 777, 779, 783, 784, 786, 788,
+ 791, 794, 798, 800, 804, 806, 811, 816, 818, 820,
+ 822, 824, 826, 828, 829, 831, 834, 839, 840, 842,
+ 844, 846, 847, 849, 851, 853, 855, 857, 858, 860
};
/* YYRHS -- A `-1'-separated list of the rules' RHS. */
static const short yyrhs[] =
{
122, 0, -1, 123, -1, 124, -1, 123, 124, -1,
- -1, 237, 125, 126, 39, 130, 3, 26, 133, 44,
+ -1, 238, 125, 126, 39, 130, 3, 26, 133, 44,
-1, -1, 127, -1, 108, 128, 109, -1, 108, 109,
- -1, 129, -1, 128, 129, -1, 240, -1, 240, 110,
+ -1, 129, -1, 128, 129, -1, 241, -1, 241, 110,
10, 111, -1, 10, -1, -1, 131, -1, 132, -1,
131, 132, -1, 46, 89, -1, 57, 89, -1, 25,
89, -1, 48, 58, -1, 16, 62, -1, -1, 134,
@@ -635,117 +635,118 @@ static const short yyrhs[] =
153, -1, 183, -1, 151, -1, -1, 43, 16, 137,
-1, 193, -1, -1, 139, -1, 59, 140, 112, -1,
59, 51, -1, -1, 141, -1, 143, -1, 141, 143,
- -1, -1, 127, -1, 144, 51, 237, 142, -1, 145,
- -1, 144, 113, 145, -1, 237, -1, 237, 108, 109,
- -1, 240, -1, -1, 147, -1, 47, 148, 112, -1,
+ -1, -1, 127, -1, 144, 51, 238, 142, -1, 145,
+ -1, 144, 113, 145, -1, 238, -1, 238, 108, 109,
+ -1, 241, -1, -1, 147, -1, 47, 148, 112, -1,
47, 22, 112, -1, 47, 112, -1, 149, -1, 148,
- 113, 149, -1, 237, -1, 237, 108, 109, -1, 240,
- -1, 108, 200, 109, -1, 237, 152, 3, 150, -1,
- 192, -1, 177, -1, 177, 108, 156, 109, -1, 237,
- 3, 173, -1, 237, 3, 163, -1, 237, 108, 154,
- 109, 3, 173, -1, 237, 108, 154, 109, 3, 163,
- -1, 155, -1, 154, 113, 155, -1, 237, -1, 237,
- 114, 240, -1, 237, 114, 237, -1, 190, 114, 240,
- -1, 190, 114, 237, -1, 157, -1, 156, 113, 157,
- -1, 173, -1, 186, -1, 240, -1, 150, -1, -1,
- 159, -1, 160, -1, 159, 113, 160, -1, 240, 173,
- 225, -1, 173, 225, -1, 35, 73, 173, -1, 172,
- -1, 162, -1, 161, 113, 162, -1, 240, 173, -1,
+ 113, 149, -1, 238, -1, 238, 108, 109, -1, 241,
+ -1, 108, 200, 109, -1, 238, 152, 3, 150, -1,
+ 192, -1, 177, -1, 177, 108, 156, 109, -1, 238,
+ 3, 173, -1, 238, 3, 163, -1, 238, 108, 154,
+ 109, 3, 173, -1, 238, 108, 154, 109, 3, 163,
+ -1, 155, -1, 154, 113, 155, -1, 238, -1, 238,
+ 114, 241, -1, 238, 114, 238, -1, 190, 114, 241,
+ -1, 190, 114, 238, -1, 157, -1, 156, 113, 157,
+ -1, 173, -1, 186, -1, 241, -1, 150, -1, -1,
+ 159, -1, 160, -1, 159, 113, 160, -1, 241, 173,
+ 226, -1, 173, 226, -1, 35, 73, 173, -1, 172,
+ -1, 162, -1, 161, 113, 162, -1, 241, 173, -1,
172, -1, 173, -1, 33, 108, 165, 109, 167, -1,
-1, 93, -1, 166, -1, 165, 113, 166, -1, 17,
- 225, -1, 18, 173, 164, 225, -1, 18, 181, 225,
- -1, 18, 182, 225, -1, 17, 181, 225, -1, 17,
- 173, 225, -1, 17, 182, 225, -1, -1, 168, -1,
+ 226, -1, 18, 173, 164, 226, -1, 18, 181, 226,
+ -1, 18, 182, 226, -1, 17, 181, 226, -1, 17,
+ 173, 226, -1, 17, 182, 226, -1, -1, 168, -1,
-1, 100, 87, 108, 169, 170, 109, -1, 171, -1,
170, 171, -1, 4, -1, 19, -1, 180, -1, 115,
170, 116, -1, 107, -1, 107, 117, 187, -1, 107,
- 117, 230, -1, 232, 175, 196, -1, -1, 174, 176,
+ 117, 231, -1, 233, 175, 196, -1, -1, 174, 176,
-1, 152, -1, 32, 108, 161, 109, -1, 83, 108,
158, 109, -1, 84, 108, 158, 109, -1, 83, 196,
- 73, 239, 232, 175, -1, 84, 196, 73, 239, 232,
- 175, -1, 23, -1, 23, 40, 30, 240, -1, 61,
- 73, 177, -1, 15, -1, 15, 118, 237, -1, 238,
- 118, 237, -1, 15, 118, 240, -1, 238, -1, 238,
+ 73, 240, 233, 175, -1, 84, 196, 73, 240, 233,
+ 175, -1, 23, -1, 23, 40, 30, 241, -1, 61,
+ 73, 177, -1, 15, -1, 15, 118, 238, -1, 239,
+ 118, 238, -1, 15, 118, 241, -1, 239, -1, 239,
118, 178, -1, 179, -1, 178, 118, 179, -1, 180,
-1, 17, -1, 18, -1, 17, -1, 181, 118, 17,
- -1, 181, 118, 18, -1, 16, -1, 240, 152, 3,
- 184, -1, 186, -1, 187, -1, 240, 114, 184, -1,
+ -1, 181, 118, 18, -1, 16, -1, 241, 152, 3,
+ 184, -1, 186, -1, 187, -1, 241, 114, 184, -1,
-1, 108, 185, 189, -1, 68, -1, 50, -1, 91,
- -1, 6, -1, 8, -1, 188, -1, 230, -1, 240,
- -1, 237, 118, 240, -1, 7, -1, 13, -1, 14,
+ -1, 6, -1, 8, -1, 188, -1, 231, -1, 241,
+ -1, 238, 118, 241, -1, 7, -1, 13, -1, 14,
-1, 5, -1, 189, 5, -1, 29, -1, 68, -1,
81, -1, 191, -1, 72, 86, -1, 70, 56, -1,
82, -1, 49, -1, 41, 76, -1, 31, 86, -1,
96, -1, 52, -1, 193, -1, 63, -1, 45, -1,
- 27, 86, -1, 190, -1, 191, 227, -1, 28, -1,
+ 27, 86, -1, 190, -1, 191, 228, -1, 28, -1,
53, -1, 54, -1, 55, -1, 64, -1, 69, -1,
79, -1, 88, -1, 90, -1, 95, -1, 97, -1,
98, -1, 99, -1, 71, -1, 104, -1, 105, -1,
102, -1, 103, -1, -1, 197, -1, 198, -1, 110,
- 214, 111, -1, 199, -1, 85, 110, 200, 111, -1,
+ 215, 111, -1, 199, -1, 85, 110, 200, 111, -1,
110, 200, 111, -1, 199, 110, 200, 111, -1, 107,
-1, 201, -1, 201, 113, 107, -1, 201, 113, 107,
113, 201, -1, 202, -1, 22, 101, 205, -1, 203,
-1, 202, 194, 203, -1, 204, -1, 203, 195, 204,
- -1, 205, -1, 205, 101, 205, -1, 206, 110, 200,
- 111, -1, 110, 200, 111, -1, 207, -1, 208, -1,
- 207, 218, 207, -1, 66, 218, 207, -1, 207, 218,
- 65, -1, 66, 218, 65, -1, 209, -1, 85, -1,
- 51, -1, 50, -1, 91, -1, 231, -1, 188, -1,
- 240, -1, 237, -1, 100, 34, 199, -1, 100, 35,
- 108, 210, 109, -1, 211, -1, 210, 113, 211, -1,
- 107, -1, 240, 196, 212, -1, -1, 213, -1, 78,
- -1, 20, -1, 74, -1, 215, -1, 219, -1, 217,
- -1, -1, 36, 30, 108, 216, 189, -1, 37, 173,
- -1, 106, -1, 106, 119, -1, 119, 106, -1, 119,
- 106, 119, -1, 220, -1, 221, -1, 108, 237, 109,
- -1, 220, 108, 222, 109, -1, 223, -1, 222, 113,
- 223, -1, 120, 224, -1, 120, 118, 224, -1, 240,
- -1, 224, 118, 240, -1, -1, 226, -1, 74, -1,
- 38, 184, -1, 108, 109, -1, 108, 228, 109, -1,
- 229, -1, 228, 113, 229, -1, 240, -1, 240, 110,
- 230, 111, -1, 240, 110, 187, 111, -1, 230, -1,
- 107, -1, 10, -1, 11, -1, 230, -1, 12, -1,
- -1, 233, -1, 234, 236, -1, 115, 235, 10, 116,
- -1, -1, 94, -1, 24, -1, 80, -1, -1, 57,
- -1, 46, -1, 15, -1, 16, -1, 16, -1, -1,
- 240, -1, 9, -1
+ -1, 205, -1, 205, 101, 205, -1, 207, 110, 200,
+ 111, -1, 110, 200, 111, -1, 208, -1, 209, -1,
+ 208, 219, 208, -1, 66, 219, 208, -1, 208, 219,
+ 65, -1, 66, 219, 65, -1, 210, -1, 206, -1,
+ 75, 7, -1, 75, 241, -1, 85, -1, 51, -1,
+ 50, -1, 91, -1, 232, -1, 188, -1, 241, -1,
+ 238, -1, 100, 34, 199, -1, 100, 35, 108, 211,
+ 109, -1, 212, -1, 211, 113, 212, -1, 107, -1,
+ 241, 196, 213, -1, -1, 214, -1, 78, -1, 20,
+ -1, 74, -1, 216, -1, 220, -1, 218, -1, -1,
+ 36, 30, 108, 217, 189, -1, 37, 173, -1, 106,
+ -1, 106, 119, -1, 119, 106, -1, 119, 106, 119,
+ -1, 221, -1, 222, -1, 108, 238, 109, -1, 221,
+ 108, 223, 109, -1, 224, -1, 223, 113, 224, -1,
+ 120, 225, -1, 120, 118, 225, -1, 241, -1, 225,
+ 118, 241, -1, -1, 227, -1, 74, -1, 38, 184,
+ -1, 108, 109, -1, 108, 229, 109, -1, 230, -1,
+ 229, 113, 230, -1, 241, -1, 241, 110, 231, 111,
+ -1, 241, 110, 187, 111, -1, 231, -1, 107, -1,
+ 10, -1, 11, -1, 231, -1, 12, -1, -1, 234,
+ -1, 235, 237, -1, 115, 236, 10, 116, -1, -1,
+ 94, -1, 24, -1, 80, -1, -1, 57, -1, 46,
+ -1, 15, -1, 16, -1, 16, -1, -1, 241, -1,
+ 9, -1
};
/* YYRLINE[YYN] -- source line where rule number YYN was defined. */
static const unsigned short yyrline[] =
{
- 0, 353, 353, 359, 365, 382, 381, 410, 412, 415,
- 419, 424, 431, 439, 444, 448, 457, 459, 467, 471,
- 479, 483, 486, 489, 493, 513, 515, 523, 532, 536,
- 551, 559, 572, 580, 579, 593, 605, 607, 609, 620,
- 625, 627, 629, 635, 641, 643, 646, 657, 663, 669,
- 676, 682, 691, 693, 704, 708, 711, 718, 724, 730,
- 737, 743, 752, 754, 764, 778, 788, 804, 814, 830,
- 836, 843, 853, 863, 868, 875, 882, 890, 900, 906,
- 912, 916, 924, 935, 957, 959, 961, 967, 973, 981,
- 987, 994, 999, 1005, 1011, 1017, 1020, 1026, 1036, 1038,
- 1041, 1049, 1056, 1069, 1080, 1090, 1101, 1111, 1122, 1133,
- 1135, 1142, 1140, 1149, 1154, 1160, 1165, 1168, 1172, 1177,
- 1186, 1195, 1206, 1228, 1235, 1254, 1258, 1264, 1270, 1276,
- 1286, 1296, 1302, 1313, 1327, 1336, 1346, 1356, 1366, 1374,
- 1395, 1404, 1413, 1415, 1422, 1429, 1435, 1439, 1445, 1465,
- 1475, 1477, 1478, 1485, 1485, 1490, 1497, 1503, 1508, 1512,
- 1516, 1519, 1524, 1536, 1553, 1558, 1563, 1596, 1606, 1620,
- 1622, 1623, 1624, 1625, 1626, 1627, 1628, 1629, 1630, 1631,
- 1632, 1633, 1639, 1641, 1642, 1645, 1652, 1664, 1666, 1670,
- 1674, 1675, 1676, 1677, 1678, 1682, 1683, 1684, 1685, 1689,
- 1690, 1697, 1697, 1698, 1698, 1700, 1702, 1707, 1709, 1714,
- 1718, 1727, 1731, 1736, 1741, 1744, 1750, 1760, 1762, 1767,
- 1769, 1774, 1776, 1782, 1784, 1789, 1798, 1806, 1812, 1818,
- 1825, 1833, 1841, 1850, 1855, 1859, 1864, 1870, 1875, 1876,
- 1877, 1890, 1904, 1908, 1913, 1917, 1922, 1929, 1942, 1944,
- 1947, 1951, 1954, 1961, 1963, 1964, 1969, 1967, 1979, 1987,
- 1989, 1990, 1991, 1993, 1997, 2005, 2020, 2026, 2033, 2046,
- 2058, 2073, 2077, 2094, 2099, 2102, 2107, 2129, 2134, 2139,
- 2145, 2151, 2159, 2167, 2175, 2182, 2192, 2197, 2203, 2205,
- 2235, 2237, 2240, 2247, 2253, 2255, 2256, 2257, 2260, 2262,
- 2263, 2266, 2271, 2278, 2285, 2287, 2292
+ 0, 354, 354, 360, 366, 383, 382, 411, 413, 416,
+ 420, 425, 432, 440, 445, 449, 458, 460, 468, 472,
+ 480, 484, 487, 490, 494, 514, 516, 524, 533, 537,
+ 552, 560, 573, 581, 580, 594, 606, 608, 610, 621,
+ 626, 628, 630, 636, 642, 644, 647, 658, 664, 670,
+ 677, 683, 692, 694, 705, 709, 712, 719, 725, 731,
+ 738, 744, 753, 755, 765, 779, 789, 805, 815, 831,
+ 837, 844, 854, 864, 869, 876, 883, 891, 901, 907,
+ 913, 917, 925, 936, 958, 960, 962, 968, 974, 982,
+ 988, 995, 1000, 1006, 1012, 1018, 1021, 1027, 1037, 1039,
+ 1042, 1050, 1057, 1070, 1081, 1091, 1102, 1112, 1123, 1134,
+ 1136, 1143, 1141, 1150, 1155, 1161, 1166, 1169, 1173, 1178,
+ 1187, 1196, 1207, 1229, 1236, 1255, 1259, 1265, 1271, 1277,
+ 1287, 1297, 1303, 1314, 1328, 1337, 1347, 1357, 1367, 1375,
+ 1396, 1405, 1414, 1416, 1423, 1430, 1436, 1440, 1446, 1466,
+ 1476, 1478, 1479, 1486, 1486, 1491, 1498, 1504, 1509, 1513,
+ 1517, 1520, 1525, 1537, 1554, 1559, 1564, 1597, 1607, 1621,
+ 1623, 1624, 1625, 1626, 1627, 1628, 1629, 1630, 1631, 1632,
+ 1633, 1634, 1640, 1642, 1643, 1646, 1653, 1665, 1667, 1671,
+ 1675, 1676, 1677, 1678, 1679, 1683, 1684, 1685, 1686, 1690,
+ 1691, 1698, 1698, 1699, 1699, 1701, 1703, 1708, 1710, 1715,
+ 1719, 1728, 1732, 1737, 1742, 1745, 1751, 1761, 1763, 1768,
+ 1770, 1775, 1777, 1783, 1785, 1790, 1799, 1807, 1813, 1819,
+ 1826, 1834, 1842, 1851, 1854, 1859, 1865, 1875, 1879, 1884,
+ 1890, 1895, 1896, 1897, 1910, 1924, 1928, 1933, 1937, 1942,
+ 1949, 1962, 1964, 1967, 1971, 1974, 1981, 1983, 1984, 1989,
+ 1987, 1999, 2007, 2009, 2010, 2011, 2013, 2017, 2025, 2040,
+ 2046, 2053, 2066, 2078, 2093, 2097, 2114, 2119, 2122, 2127,
+ 2149, 2154, 2159, 2165, 2171, 2179, 2187, 2195, 2202, 2212,
+ 2217, 2223, 2225, 2255, 2257, 2260, 2267, 2273, 2275, 2276,
+ 2277, 2280, 2282, 2283, 2286, 2291, 2298, 2305, 2307, 2312
};
#endif
@@ -806,16 +807,16 @@ static const char *const yytname[] =
"BasicString", "UnionMark", "IntersectionMark", "optConstraints",
"Constraint", "SubtypeConstraint", "SetOfConstraints",
"ElementSetSpecs", "ElementSetSpec", "Unions", "Intersections",
- "IntersectionElements", "ConstraintSubtypeElement", "ConstraintSpec",
- "SingleValue", "ContainedSubtype", "InnerTypeConstraint",
- "WithComponentsList", "WithComponentsElement", "optPresenceConstraint",
- "PresenceConstraint", "GeneralConstraint", "UserDefinedConstraint",
- "@5", "ContentsConstraint", "ConstraintRangeSpec", "TableConstraint",
- "SimpleTableConstraint", "ComponentRelationConstraint",
- "AtNotationList", "AtNotationElement", "ComponentIdList", "optMarker",
- "Marker", "UniverationDefinition", "UniverationList",
- "UniverationElement", "SignedNumber", "RealValue", "optTag", "Tag",
- "TagTypeValue", "TagClass", "TagPlicit", "TypeRefName",
+ "IntersectionElements", "ConstraintSubtypeElement", "PatternConstraint",
+ "ConstraintSpec", "SingleValue", "ContainedSubtype",
+ "InnerTypeConstraint", "WithComponentsList", "WithComponentsElement",
+ "optPresenceConstraint", "PresenceConstraint", "GeneralConstraint",
+ "UserDefinedConstraint", "@5", "ContentsConstraint",
+ "ConstraintRangeSpec", "TableConstraint", "SimpleTableConstraint",
+ "ComponentRelationConstraint", "AtNotationList", "AtNotationElement",
+ "ComponentIdList", "optMarker", "Marker", "UniverationDefinition",
+ "UniverationList", "UniverationElement", "SignedNumber", "RealValue",
+ "optTag", "Tag", "TagTypeValue", "TagClass", "TagPlicit", "TypeRefName",
"ObjectClassReference", "optIdentifier", "Identifier", 0
};
#endif
@@ -867,14 +868,14 @@ static const unsigned char yyr1[] =
193, 194, 194, 195, 195, 196, 196, 197, 197, 198,
198, 199, 199, 200, 200, 200, 200, 201, 201, 202,
202, 203, 203, 204, 204, 205, 205, 205, 205, 205,
- 205, 205, 205, 205, 206, 206, 207, 207, 207, 207,
- 207, 208, 209, 209, 210, 210, 211, 211, 212, 212,
- 213, 213, 213, 214, 214, 214, 216, 215, 217, 218,
- 218, 218, 218, 219, 219, 220, 221, 222, 222, 223,
- 223, 224, 224, 225, 225, 226, 226, 227, 227, 228,
- 228, 229, 229, 229, 229, 229, 230, 230, 231, 231,
- 232, 232, 233, 234, 235, 235, 235, 235, 236, 236,
- 236, 237, 237, 238, 239, 239, 240
+ 205, 205, 205, 205, 205, 206, 206, 207, 207, 208,
+ 208, 208, 208, 208, 209, 210, 210, 211, 211, 212,
+ 212, 213, 213, 214, 214, 214, 215, 215, 215, 217,
+ 216, 218, 219, 219, 219, 219, 220, 220, 221, 222,
+ 223, 223, 224, 224, 225, 225, 226, 226, 227, 227,
+ 228, 228, 229, 229, 230, 230, 230, 230, 230, 231,
+ 231, 232, 232, 233, 233, 234, 235, 236, 236, 236,
+ 236, 237, 237, 237, 238, 238, 239, 240, 240, 241
};
/* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN. */
@@ -903,14 +904,14 @@ static const unsigned char yyr2[] =
1, 1, 1, 1, 1, 0, 1, 1, 3, 1,
4, 3, 4, 1, 1, 3, 5, 1, 3, 1,
3, 1, 3, 1, 3, 4, 3, 1, 1, 3,
- 3, 3, 3, 1, 1, 1, 1, 1, 1, 1,
- 1, 1, 3, 5, 1, 3, 1, 3, 0, 1,
- 1, 1, 1, 1, 1, 1, 0, 5, 2, 1,
- 2, 2, 3, 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, 1, 1,
- 0, 1, 2, 4, 0, 1, 1, 1, 0, 1,
- 1, 1, 1, 1, 0, 1, 1
+ 3, 3, 3, 1, 1, 2, 2, 1, 1, 1,
+ 1, 1, 1, 1, 1, 3, 5, 1, 3, 1,
+ 3, 0, 1, 1, 1, 1, 1, 1, 1, 0,
+ 5, 2, 1, 2, 2, 3, 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, 1, 1, 0, 1, 2, 4, 0, 1, 1,
+ 1, 0, 1, 1, 1, 1, 1, 0, 1, 1
};
/* YYDEFACT[STATE-NAME] -- Default rule to reduce with in state
@@ -918,8 +919,8 @@ static const unsigned char yyr2[] =
means the default is an error. */
static const unsigned short yydefact[] =
{
- 0, 301, 302, 0, 2, 3, 5, 1, 4, 7,
- 0, 0, 8, 306, 15, 10, 0, 11, 13, 16,
+ 0, 304, 305, 0, 2, 3, 5, 1, 4, 7,
+ 0, 0, 8, 309, 15, 10, 0, 11, 13, 16,
9, 12, 0, 0, 0, 0, 0, 0, 0, 17,
18, 0, 24, 22, 20, 23, 21, 0, 19, 14,
52, 0, 0, 26, 36, 53, 0, 56, 0, 57,
@@ -928,43 +929,43 @@ static const unsigned short yydefact[] =
188, 189, 190, 191, 192, 200, 193, 194, 195, 196,
197, 198, 199, 27, 28, 32, 30, 31, 35, 0,
0, 58, 60, 38, 43, 0, 0, 0, 33, 29,
- 290, 134, 303, 0, 169, 0, 0, 183, 176, 180,
+ 293, 134, 306, 0, 169, 0, 0, 183, 176, 180,
182, 170, 0, 0, 171, 175, 179, 0, 0, 65,
185, 172, 64, 181, 138, 0, 44, 48, 50, 34,
- 0, 294, 68, 67, 123, 291, 298, 0, 184, 178,
- 177, 174, 173, 0, 71, 0, 172, 73, 0, 290,
- 0, 186, 0, 0, 45, 46, 0, 296, 297, 295,
- 0, 0, 205, 300, 299, 292, 135, 137, 0, 0,
- 0, 0, 0, 63, 158, 164, 159, 286, 287, 165,
+ 0, 297, 68, 67, 123, 294, 301, 0, 184, 178,
+ 177, 174, 173, 0, 71, 0, 172, 73, 0, 293,
+ 0, 186, 0, 0, 45, 46, 0, 299, 300, 298,
+ 0, 0, 205, 303, 302, 295, 135, 137, 0, 0,
+ 0, 0, 0, 63, 158, 164, 159, 289, 290, 165,
166, 156, 157, 83, 0, 78, 80, 81, 160, 161,
- 82, 285, 277, 0, 279, 284, 281, 143, 144, 139,
+ 82, 288, 280, 0, 282, 287, 284, 143, 144, 139,
140, 142, 136, 155, 153, 149, 150, 151, 0, 162,
- 290, 290, 0, 100, 0, 131, 0, 0, 205, 205,
- 125, 124, 0, 0, 122, 206, 207, 209, 290, 72,
- 77, 76, 75, 74, 289, 0, 236, 235, 0, 234,
- 237, 0, 213, 0, 239, 0, 214, 217, 219, 221,
- 223, 0, 227, 228, 233, 288, 238, 241, 240, 66,
- 290, 278, 0, 0, 0, 0, 0, 0, 148, 145,
- 0, 275, 273, 273, 273, 102, 274, 98, 273, 273,
- 109, 0, 293, 0, 290, 0, 290, 0, 290, 0,
- 0, 0, 290, 0, 0, 0, 253, 255, 254, 263,
- 264, 0, 70, 69, 0, 259, 0, 0, 0, 0,
- 0, 62, 0, 201, 202, 0, 203, 204, 0, 0,
- 0, 0, 79, 280, 0, 0, 162, 141, 167, 154,
- 163, 152, 276, 107, 0, 106, 108, 99, 273, 104,
- 105, 0, 97, 110, 101, 0, 119, 0, 92, 95,
- 96, 290, 133, 0, 0, 85, 86, 91, 273, 290,
- 304, 0, 304, 0, 0, 258, 0, 211, 208, 0,
- 0, 218, 260, 261, 232, 230, 0, 242, 0, 226,
- 215, 220, 222, 224, 0, 231, 229, 283, 282, 168,
- 146, 147, 103, 0, 132, 0, 126, 290, 94, 290,
- 127, 290, 89, 273, 290, 305, 128, 290, 210, 256,
- 265, 0, 0, 267, 212, 262, 246, 0, 244, 205,
- 0, 225, 111, 120, 121, 93, 90, 87, 88, 123,
- 123, 0, 0, 269, 271, 266, 0, 243, 0, 248,
- 216, 0, 129, 130, 257, 270, 0, 268, 245, 251,
- 252, 250, 247, 249, 115, 116, 0, 0, 113, 117,
- 272, 0, 112, 114, 118
+ 293, 293, 0, 100, 0, 131, 0, 0, 205, 205,
+ 125, 124, 0, 0, 122, 206, 207, 209, 293, 72,
+ 77, 76, 75, 74, 292, 0, 239, 238, 0, 0,
+ 237, 240, 0, 213, 0, 242, 0, 214, 217, 219,
+ 221, 223, 234, 0, 227, 228, 233, 291, 241, 244,
+ 243, 66, 293, 281, 0, 0, 0, 0, 0, 0,
+ 148, 145, 0, 278, 276, 276, 276, 102, 277, 98,
+ 276, 276, 109, 0, 296, 0, 293, 0, 293, 0,
+ 293, 0, 0, 0, 293, 0, 0, 0, 256, 258,
+ 257, 266, 267, 0, 70, 69, 0, 262, 0, 0,
+ 235, 236, 0, 0, 0, 62, 0, 201, 202, 0,
+ 203, 204, 0, 0, 0, 0, 79, 283, 0, 0,
+ 162, 141, 167, 154, 163, 152, 279, 107, 0, 106,
+ 108, 99, 276, 104, 105, 0, 97, 110, 101, 0,
+ 119, 0, 92, 95, 96, 293, 133, 0, 0, 85,
+ 86, 91, 276, 293, 307, 0, 307, 0, 0, 261,
+ 0, 211, 208, 0, 0, 218, 263, 264, 232, 230,
+ 0, 245, 0, 226, 215, 220, 222, 224, 0, 231,
+ 229, 286, 285, 168, 146, 147, 103, 0, 132, 0,
+ 126, 293, 94, 293, 127, 293, 89, 276, 293, 308,
+ 128, 293, 210, 259, 268, 0, 0, 270, 212, 265,
+ 249, 0, 247, 205, 0, 225, 111, 120, 121, 93,
+ 90, 87, 88, 123, 123, 0, 0, 272, 274, 269,
+ 0, 246, 0, 251, 216, 0, 129, 130, 260, 273,
+ 0, 271, 248, 254, 255, 253, 250, 252, 115, 116,
+ 0, 0, 113, 117, 275, 0, 112, 114, 118
};
/* YYDEFGOTO[NTERM-NUM]. */
@@ -973,318 +974,330 @@ static const short yydefgoto[] =
-1, 3, 4, 5, 9, 11, 12, 16, 17, 28,
29, 30, 42, 43, 83, 84, 129, 54, 55, 61,
62, 155, 63, 64, 65, 44, 45, 48, 49, 183,
- 85, 118, 86, 143, 144, 184, 185, 354, 355, 356,
- 347, 348, 132, 338, 212, 213, 342, 343, 441, 457,
- 458, 357, 358, 161, 162, 221, 119, 199, 200, 459,
- 273, 274, 87, 205, 265, 206, 207, 244, 329, 120,
- 121, 122, 123, 315, 318, 224, 225, 226, 227, 294,
- 246, 247, 248, 249, 250, 251, 252, 253, 254, 417,
- 418, 452, 453, 295, 296, 431, 297, 307, 298, 299,
- 300, 412, 413, 433, 275, 276, 151, 193, 194, 255,
- 256, 134, 135, 136, 160, 165, 257, 124, 404, 258
+ 85, 118, 86, 143, 144, 184, 185, 358, 359, 360,
+ 351, 352, 132, 342, 212, 213, 346, 347, 445, 461,
+ 462, 361, 362, 161, 162, 221, 119, 199, 200, 463,
+ 275, 276, 87, 205, 267, 206, 207, 245, 333, 120,
+ 121, 122, 123, 319, 322, 224, 225, 226, 227, 296,
+ 247, 248, 249, 250, 251, 252, 253, 254, 255, 256,
+ 421, 422, 456, 457, 297, 298, 435, 299, 309, 300,
+ 301, 302, 416, 417, 437, 277, 278, 151, 193, 194,
+ 257, 258, 134, 135, 136, 160, 165, 259, 124, 408,
+ 260
};
/* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
STATE-NUM. */
-#define YYPACT_NINF -274
+#define YYPACT_NINF -292
static const short yypact[] =
{
- 77, -274, -274, 33, 77, -274, -274, -274, -274, -52,
- 8, 107, -274, -274, -274, -274, 36, -274, 42, 267,
- -274, -274, 149, 20, 79, 96, 132, 111, 208, 267,
- -274, 105, -274, -274, -274, -274, -274, 220, -274, -274,
- 69, 72, 193, -274, 213, -274, 158, -274, 117, -274,
- 178, -274, -274, 183, 478, -274, -274, -274, 266, 182,
- -274, 181, 266, -274, -28, -274, 189, -274, -274, 292,
- -274, -274, -274, -274, -274, -274, -274, -274, -274, -274,
- -274, -274, -274, 478, -274, -274, -274, -274, -274, 345,
- 631, -274, -274, -274, -274, 77, 266, 201, -274, -274,
- -6, 194, -274, 236, -274, 248, 268, -274, -274, -274,
- -274, -274, 291, 263, -274, -274, -274, 707, 348, 247,
- -274, 251, -274, -274, 238, 354, -52, -274, -274, -274,
- 255, 83, -274, -274, -274, -274, 55, 266, -274, -274,
- -274, -274, -274, -81, -274, 252, -274, 253, 257, 58,
- 80, -274, 310, 199, -274, -274, 241, -274, -274, -274,
- 359, 555, 10, -274, -274, -274, -274, -274, 367, 707,
- 266, 266, 229, -274, -274, -274, -274, -274, -274, -274,
- -274, -274, -274, -274, 82, -274, -274, -274, -274, -274,
- -274, -274, -274, 88, -274, -274, 261, -274, -274, 259,
- -274, -274, -274, -274, -274, -274, -274, -274, 260, 265,
- 249, 41, 119, -274, 264, 335, 273, 309, 94, 109,
- -274, -274, 274, 211, -274, -274, -274, 278, -6, -274,
- -274, -274, -274, -274, -274, 288, -274, -274, 74, -274,
- -274, 282, -274, 229, -274, 283, 270, 227, 235, -274,
- 294, 293, 74, -274, -274, -274, -274, -274, -274, -274,
- 58, -274, 40, 289, 323, 388, 393, 199, -274, -274,
- 199, -274, 0, 32, 0, -274, -274, 311, 32, 0,
- 305, 241, -274, 376, 71, 327, 67, 334, 67, 337,
- 229, 381, 297, 77, 307, 308, -274, -274, -274, 312,
- -274, 229, -274, -274, 459, 302, 317, 469, 315, 321,
- 319, -274, 324, -274, -274, 459, -274, -274, 459, 459,
- 229, 733, -274, -274, 326, 336, -274, -274, -274, 427,
- -274, -274, -274, -274, 328, -274, -274, -274, 0, -274,
- -274, 347, -274, -274, -274, 393, 322, 122, -274, -274,
- -274, 297, -274, 365, 339, 332, -274, -274, 0, 297,
- 393, 340, 393, 351, 338, -274, 341, -274, -274, 331,
- 352, -274, -274, 346, -274, -274, 229, 278, 16, -274,
- 364, 235, -274, -274, 353, -274, -274, -274, -274, -274,
- -274, -274, -274, 377, -274, 289, -274, 71, -274, 297,
- -274, 68, -274, 0, 297, -274, -274, 297, -274, -274,
- -274, 12, 160, -274, -274, -274, -274, 175, -274, 10,
- 445, -274, -274, -274, -274, -274, -274, -274, -274, -274,
- -274, 388, 393, 366, -274, -274, 331, -274, 16, 91,
- -274, 43, -274, -274, 427, 366, 393, -274, -274, -274,
- -274, -274, -274, -274, -274, -274, 43, 22, -274, -274,
- -274, 18, -274, -274, -274
+ 104, -292, -292, 27, 104, -292, -292, -292, -292, -75,
+ 71, 17, -292, -292, -292, -292, 81, -292, -36, 141,
+ -292, -292, 90, 107, 134, 139, 182, 172, 181, 141,
+ -292, 156, -292, -292, -292, -292, -292, 243, -292, -292,
+ 245, 73, 235, -292, 222, -292, 171, -292, 80, -292,
+ 183, -292, -292, 167, 528, -292, -292, -292, 186, 191,
+ -292, 190, 186, -292, -21, -292, 196, -292, -292, 293,
+ -292, -292, -292, -292, -292, -292, -292, -292, -292, -292,
+ -292, -292, -292, 528, -292, -292, -292, -292, -292, 279,
+ 696, -292, -292, -292, -292, 104, 186, 204, -292, -292,
+ -5, 201, -292, 237, -292, 249, 262, -292, -292, -292,
+ -292, -292, 284, 255, -292, -292, -292, 772, 341, 238,
+ -292, 244, -292, -292, 227, 350, -75, -292, -292, -292,
+ 247, 5, -292, -292, -292, -292, -12, 186, -292, -292,
+ -292, -292, -292, 2, -292, 248, -292, 250, 251, 95,
+ 68, -292, 270, 206, -292, -292, 233, -292, -292, -292,
+ 347, 620, 36, -292, -292, -292, -292, -292, 360, 772,
+ 186, 186, 442, -292, -292, -292, -292, -292, -292, -292,
+ -292, -292, -292, -292, 121, -292, -292, -292, -292, -292,
+ -292, -292, -292, 124, -292, -292, 256, -292, -292, 252,
+ -292, -292, -292, -292, -292, -292, -292, -292, 253, 254,
+ 162, 52, 126, -292, 257, 325, 271, 307, 89, 96,
+ -292, -292, 272, 397, -292, -292, -292, 273, -5, -292,
+ -292, -292, -292, -292, -292, 280, -292, -292, 105, 57,
+ -292, -292, 277, -292, 442, -292, 275, 281, 211, 215,
+ -292, 285, -292, 278, 105, -292, -292, -292, -292, -292,
+ -292, -292, 95, -292, 30, 216, 304, 380, 381, 206,
+ -292, -292, 206, -292, 20, 76, 20, -292, -292, 299,
+ 76, 20, 296, 233, -292, 363, 58, 311, 40, 324,
+ 40, 326, 442, 368, 286, 104, 291, 292, -292, -292,
+ -292, 306, -292, 442, -292, -292, 554, 297, 309, 234,
+ -292, -292, 317, 320, 318, -292, 310, -292, -292, 554,
+ -292, -292, 554, 554, 442, 411, -292, -292, 319, 327,
+ -292, -292, -292, 426, -292, -292, -292, -292, 312, -292,
+ -292, -292, 20, -292, -292, 348, -292, -292, -292, 381,
+ 322, 129, -292, -292, -292, 286, -292, 364, 332, 323,
+ -292, -292, 20, 286, 381, 333, 381, 334, 335, -292,
+ 337, -292, -292, 330, 349, -292, -292, 340, -292, -292,
+ 442, 273, 9, -292, 331, 215, -292, -292, 351, -292,
+ -292, -292, -292, -292, -292, -292, -292, 357, -292, 216,
+ -292, 58, -292, 286, -292, 41, -292, 20, 286, -292,
+ -292, 286, -292, -292, -292, 26, 140, -292, -292, -292,
+ -292, 151, -292, 36, 509, -292, -292, -292, -292, -292,
+ -292, -292, -292, -292, -292, 380, 381, 352, -292, -292,
+ 330, -292, 9, 131, -292, 19, -292, -292, 426, 352,
+ 381, -292, -292, -292, -292, -292, -292, -292, -292, -292,
+ 19, 53, -292, -292, -292, 43, -292, -292, -292
};
/* YYPGOTO[NTERM-NUM]. */
static const short yypgoto[] =
{
- -274, -274, -274, 482, -274, -274, 362, -274, 473, -274,
- -274, 461, -274, -274, -274, 408, -274, -274, -274, -274,
- -274, -274, 430, -274, 401, -274, -274, -274, 440, 355,
- -274, -61, -274, -274, 330, -274, 240, 214, -274, 100,
- -274, 108, 276, -274, -274, 226, -274, -274, -274, 52,
- -172, -273, -96, -274, -76, -274, 228, -274, 250, -136,
- 301, 304, -274, 39, -274, -125, -253, -119, 85, -12,
- -7, -274, 21, -274, -274, -216, -274, -274, 209, -165,
- 98, -274, 205, 204, -221, -274, -140, -274, -274, -274,
- 86, -274, -274, -274, -274, -274, -274, 271, -274, -274,
- -274, -274, 90, 95, -259, -274, -274, -274, 275, -141,
- -274, -74, -274, -274, -274, -274, 1, -274, 166, -10
+ -292, -292, -292, 462, -292, -292, 342, -292, 451, -292,
+ -292, 440, -292, -292, -292, 388, -292, -292, -292, -292,
+ -292, -292, 412, -292, 377, -292, -292, -292, 417, 329,
+ -292, -68, -292, -292, 314, -292, 217, 188, -292, 75,
+ -292, 83, 258, -292, -292, 198, -292, -292, -292, 25,
+ -193, -278, -98, -292, -97, -292, 200, -292, 223, -142,
+ 283, 287, -292, 21, -292, -140, -258, -137, 55, -71,
+ -52, -292, -30, -292, -292, -215, -292, -292, 179, -161,
+ 72, -292, 176, 177, -291, -292, -292, -118, -292, -292,
+ -292, 59, -292, -292, -292, -292, -292, -292, 246, -292,
+ -292, -292, -292, 63, 70, -255, -292, -292, -292, 264,
+ -136, -292, -110, -292, -292, -292, -292, 1, -292, 143,
+ -10
};
/* YYTABLE[YYPACT[STATE-NUM]]. What to do in state STATE-NUM. If
positive, shift that token. If negative, reduce the rule which
number is the opposite. If zero, do what YYDEFACT says.
If YYTABLE_NINF, parse error. */
-#define YYTABLE_NINF -274
+#define YYTABLE_NINF -277
static const short yytable[] =
{
- 18, 6, 287, 289, 133, 6, 18, 245, 189, 195,
- 324, 349, 189, 333, 335, 336, 201, 13, 14, 339,
- 340, 13, 454, 95, 187, 13, 454, 130, 168, 125,
- 188, 51, 169, 7, 188, 197, 198, 455, 270, 197,
- 198, 455, 50, 67, 90, 13, 14, 454, 51, 13,
- 177, 178, 67, 186, 66, 89, 10, 268, 269, 50,
- 197, 198, 455, 66, 174, 175, 176, 13, 177, 178,
- 270, 179, 180, 90, 271, 88, 13, 13, 310, 392,
- 13, 13, 32, 371, 89, 96, 67, 1, 2, 13,
- 177, 178, 1, 2, 46, 222, 126, 66, 383, 402,
- 220, 163, 353, 353, 88, 145, 271, 157, 181, 131,
- 146, 449, 164, -25, 272, 277, 41, 15, 147, 189,
- 223, 195, 325, 416, 349, 363, 189, 167, 201, 189,
- 432, 462, 303, 456, 464, 187, 370, 456, 166, 190,
- 196, 188, 423, 209, 428, 20, 19, 191, 188, 182,
- 334, 188, 22, 202, 208, 384, 131, 145, 456, 31,
- 231, 233, 146, 158, 186, 450, 172, 375, 33, 451,
- 147, 230, 232, 131, 346, 346, -84, 159, 346, 222,
- 305, 386, 131, 131, 47, 34, 131, 191, 350, 192,
- 35, 259, 13, 306, 222, 260, 365, 261, 1, 2,
- 36, 262, 286, 439, 223, 174, 175, 176, 13, 177,
- 178, 37, 179, 180, 1, 2, 39, 288, 175, 223,
- 13, 177, 178, 234, 179, 180, 1, 2, 280, 57,
- 58, 396, 281, 235, 60, 397, 175, 52, 13, 177,
- 178, 234, 179, 180, 1, 2, 40, 291, 292, 181,
- 190, 235, 196, 326, 424, 398, 330, 209, 210, 211,
- 209, 236, 237, 403, 208, 268, 269, 203, 208, 435,
- 56, 208, 53, 436, 351, 13, 359, 238, 359, 236,
- 237, 1, 2, 23, 437, 463, 59, 270, 438, 463,
- 182, 92, 24, 93, 366, 238, 239, 97, 13, 177,
- 178, 350, 240, 426, 1, 2, 331, 204, 98, 332,
- 128, 241, 137, 25, 239, 26, 308, 309, 242, 293,
- 240, 243, 138, 271, 27, 1, 2, 197, 198, 241,
- 429, 313, 314, 430, 139, 394, 242, 316, 317, 243,
- 197, 198, 101, 102, 140, 390, 391, 141, 100, 142,
- 405, 148, 405, 442, 443, 149, 152, 153, -273, 150,
- 101, 102, -273, 156, 131, 172, 170, 171, 419, 214,
- 228, 263, 103, 68, 104, 283, 105, 264, 266, 267,
- 282, 284, 285, 312, 290, 326, 106, 351, 301, 304,
- 107, 359, 311, 328, 108, 319, 208, 109, 70, 71,
- 72, 434, 13, 320, 337, 341, 345, 360, 110, 73,
- 362, 364, 131, 111, 74, 112, 75, 113, 367, 368,
- 369, 372, 434, 373, 76, 376, 114, 115, 419, 378,
- 379, 380, 389, 77, 393, 78, 460, 387, 399, 395,
- 79, 116, 80, 81, 82, 401, 409, 388, 400, 406,
- 410, 411, 175, 117, 13, 177, 178, 234, 179, 180,
- 1, 2, 408, 414, 421, 415, 175, 235, 13, 177,
- 178, 234, 179, 180, 1, 2, 175, 420, 13, 177,
- 178, 234, 179, 180, 446, 422, 8, 13, 154, 21,
- 38, 99, 94, 1, 2, 236, 237, 127, 91, 229,
- 322, 427, 361, 173, 302, 425, 68, 344, 461, 236,
- 237, 238, 278, 352, 327, 279, 444, 377, 440, 236,
- 381, 69, 382, 321, 448, 238, 447, 445, 407, 0,
- 239, 70, 71, 72, 374, 0, 240, 323, 0, 0,
- 0, 0, 73, 0, 239, 241, 0, 74, 0, 75,
- 240, 0, 0, 0, 0, 243, 0, 76, 0, 241,
- 240, 0, 0, 0, 0, 0, 77, 0, 78, 243,
- 101, 102, 0, 79, 0, 80, 81, 82, 215, 0,
- 0, 0, 103, 68, 104, 0, 105, 216, 0, 0,
- 0, 0, 0, 0, 0, 0, 106, 0, 0, 0,
- 107, 0, 0, 0, 108, 0, 0, 109, 70, 71,
- 72, 0, 0, 0, 0, 0, 217, 0, 110, 73,
- 0, 0, 0, 111, 74, 112, 75, 113, 0, 0,
- 0, 0, 0, 0, 76, 0, 114, 115, 218, 219,
- 0, 0, 0, 77, 0, 78, 101, 102, 0, 0,
- 79, 116, 80, 81, 82, 0, 0, 0, 103, 68,
- 104, 0, 105, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 106, 0, 0, 0, 107, 0, 0, 0,
- 108, 0, 0, 109, 70, 71, 72, 0, 0, 0,
- 0, 0, 0, 0, 110, 73, 0, 0, 0, 111,
- 74, 112, 75, 113, 0, 0, 0, 0, 0, 0,
- 76, 0, 114, 115, 0, 0, 0, 0, 0, 77,
- 0, 78, 1, 2, 0, 0, 79, 116, 80, 81,
- 82, 0, 0, 0, 103, 68, 104, 0, 105, 0,
- 175, 0, 13, 177, 178, 234, 179, 180, 106, 0,
- 0, 0, 107, 0, 0, 0, 108, 0, 0, 109,
- 70, 71, 72, 0, 0, 0, 0, 0, 0, 0,
- 110, 73, 0, 0, 0, 111, 74, 112, 75, 113,
- 0, 0, 0, 236, 0, 0, 76, 0, 114, 115,
- 0, 0, 0, 0, 0, 77, 0, 78, 385, 0,
- 0, 0, 79, 116, 80, 81, 82, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 240
+ 18, 6, 133, 289, 291, 6, 18, 328, 353, 187,
+ 201, 246, 188, 189, 195, 375, 188, 189, 13, 337,
+ 339, 340, 125, 458, 88, 343, 344, 7, 130, 157,
+ 95, 51, 387, 10, 163, 13, 197, 198, 459, 13,
+ 177, 178, 50, 67, 90, 164, 145, 458, 51, 13,
+ 13, 186, 67, 88, 66, 89, 19, 458, 272, 50,
+ 197, 198, 459, 66, 310, 146, 13, 13, 270, 271,
+ 197, 198, 459, 90, 22, 357, 357, 13, 177, 178,
+ 13, 14, 13, 314, 89, 158, 67, 396, 1, 2,
+ 13, 14, 96, 220, 273, 46, 126, 66, 145, 159,
+ 31, 174, 175, 176, 13, 177, 178, 406, 179, 180,
+ 131, 168, 274, 279, 272, 169, 420, 146, 147, 1,
+ 2, 222, 187, 353, 201, 188, 189, 167, 195, 329,
+ 305, 367, 188, 189, 460, 188, 189, 191, 166, 190,
+ 196, 427, 374, 209, 436, 181, 223, 350, 350, -84,
+ 273, 453, 432, 202, 208, 131, 131, 23, 460, 468,
+ 231, 233, 466, 388, 186, 350, 24, 131, 460, 32,
+ 147, 230, 232, 131, 222, 191, 13, 192, 270, 271,
+ 15, 222, 1, 2, 37, 47, 182, 25, 354, 26,
+ 20, 379, 57, 58, 338, 13, 369, 288, 27, 223,
+ 272, 1, 2, 172, 290, 454, 223, 390, 443, 455,
+ 131, 307, 174, 175, 176, 13, 177, 178, 60, 179,
+ 180, 1, 2, 33, 308, 13, 177, 178, 34, 311,
+ 261, 1, 2, 263, 262, 282, 273, 264, 400, 283,
+ 35, 175, 401, 13, 177, 178, 234, 179, 180, 439,
+ 210, 211, 190, 440, 196, 330, 181, 402, 334, 209,
+ 441, 36, 209, 428, 442, 407, 208, 39, 467, 40,
+ 208, -276, 467, 208, 203, -276, 355, 131, 363, 52,
+ 363, 53, 100, 56, 236, 1, 2, 197, 198, -25,
+ 335, 59, 41, 336, 101, 102, 370, 182, 433, 378,
+ 92, 434, 93, 354, 97, 430, 103, 68, 104, 98,
+ 105, 312, 313, 128, 204, 317, 318, 320, 321, 137,
+ 106, 197, 198, 138, 107, 241, 101, 102, 108, 394,
+ 395, 109, 70, 71, 72, 139, 446, 447, 140, 398,
+ 141, 142, 110, 73, 148, 152, 149, 111, 74, 112,
+ 75, 113, 150, 153, 409, 156, 409, 214, 76, 172,
+ 114, 115, 170, 228, 171, 285, 265, 77, 269, 78,
+ 266, 268, 423, 284, 79, 116, 80, 81, 82, 286,
+ 287, 306, 292, 303, 315, 332, 323, 117, 324, 330,
+ 13, 355, 341, 349, 316, 363, 345, 364, 368, 366,
+ 208, 131, 371, 372, 175, 438, 13, 177, 178, 234,
+ 179, 180, 1, 2, 373, 377, 376, 384, 175, 235,
+ 13, 177, 178, 234, 179, 180, 438, 380, 382, 383,
+ 391, 393, 423, 293, 294, 397, 405, 403, 392, 399,
+ 464, 404, 410, 413, 424, 412, 414, 236, 237, 175,
+ 415, 13, 177, 178, 234, 179, 180, 1, 2, 419,
+ 418, 236, 425, 238, 235, 426, 8, 21, 154, 38,
+ 450, 99, 239, 127, 94, 91, 389, 173, 365, 326,
+ 431, 348, 240, 229, 429, 465, 304, 356, 241, 331,
+ 448, 381, 236, 237, 280, 385, 444, 242, 281, 386,
+ 325, 452, 241, 451, 243, 295, 449, 244, 238, 411,
+ 0, 0, 0, 0, 0, 0, 175, 239, 13, 177,
+ 178, 234, 179, 180, 1, 2, 0, 240, 327, 0,
+ 0, 235, 0, 241, 0, 0, 0, 13, 0, 0,
+ 0, 0, 242, 1, 2, 0, 0, 0, 0, 243,
+ 0, 0, 244, 0, 0, 0, 68, 0, 0, 236,
+ 237, 175, 0, 13, 177, 178, 234, 179, 180, 1,
+ 2, 69, 0, 0, 0, 238, 0, 0, 0, 0,
+ 0, 70, 71, 72, 239, 0, 0, 0, 0, 0,
+ 0, 0, 73, 0, 240, 0, 0, 74, 0, 75,
+ 241, 0, 0, 0, 236, 237, 0, 76, 0, 242,
+ 0, 0, 0, 0, 0, 0, 77, 0, 78, 244,
+ 238, 0, 0, 79, 0, 80, 81, 82, 0, 239,
+ 0, 0, 0, 0, 0, 101, 102, 0, 0, 240,
+ 0, 0, 0, 215, 0, 241, 0, 103, 68, 104,
+ 0, 105, 216, 0, 242, 0, 0, 0, 0, 0,
+ 0, 106, 0, 0, 244, 107, 0, 0, 0, 108,
+ 0, 0, 109, 70, 71, 72, 0, 0, 0, 0,
+ 0, 217, 0, 110, 73, 0, 0, 0, 111, 74,
+ 112, 75, 113, 0, 0, 0, 0, 0, 0, 76,
+ 0, 114, 115, 218, 219, 0, 0, 0, 77, 0,
+ 78, 101, 102, 0, 0, 79, 116, 80, 81, 82,
+ 0, 0, 0, 103, 68, 104, 0, 105, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 106, 0, 0,
+ 0, 107, 0, 0, 0, 108, 0, 0, 109, 70,
+ 71, 72, 0, 0, 0, 0, 0, 0, 0, 110,
+ 73, 0, 0, 0, 111, 74, 112, 75, 113, 0,
+ 0, 0, 0, 0, 0, 76, 0, 114, 115, 0,
+ 0, 0, 0, 0, 77, 0, 78, 1, 2, 0,
+ 0, 79, 116, 80, 81, 82, 0, 0, 0, 103,
+ 68, 104, 0, 105, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 106, 0, 0, 0, 107, 0, 0,
+ 0, 108, 0, 0, 109, 70, 71, 72, 0, 0,
+ 0, 0, 0, 0, 0, 110, 73, 0, 0, 0,
+ 111, 74, 112, 75, 113, 0, 0, 0, 0, 0,
+ 0, 76, 0, 114, 115, 0, 0, 0, 0, 0,
+ 77, 0, 78, 0, 0, 0, 0, 79, 116, 80,
+ 81, 82
};
static const short yycheck[] =
{
- 10, 0, 218, 219, 100, 4, 16, 172, 149, 150,
- 263, 284, 153, 272, 273, 274, 152, 9, 10, 278,
- 279, 9, 4, 51, 149, 9, 4, 33, 109, 90,
- 149, 41, 113, 0, 153, 17, 18, 19, 38, 17,
- 18, 19, 41, 53, 54, 9, 10, 4, 58, 9,
- 10, 11, 62, 149, 53, 54, 108, 16, 17, 58,
- 17, 18, 19, 62, 6, 7, 8, 9, 10, 11,
- 38, 13, 14, 83, 74, 54, 9, 9, 243, 338,
- 9, 9, 62, 304, 83, 113, 96, 15, 16, 9,
- 10, 11, 15, 16, 22, 85, 95, 96, 319, 358,
- 161, 46, 35, 35, 83, 117, 74, 24, 50, 115,
- 117, 20, 57, 44, 210, 211, 47, 109, 117, 260,
- 110, 262, 263, 107, 397, 290, 267, 137, 264, 270,
- 118, 109, 228, 115, 116, 260, 301, 115, 137, 149,
- 150, 260, 395, 153, 403, 109, 39, 107, 267, 91,
- 118, 270, 110, 152, 153, 320, 115, 169, 115, 10,
- 170, 171, 169, 80, 260, 74, 108, 307, 89, 78,
- 169, 170, 171, 115, 107, 107, 109, 94, 107, 85,
- 106, 321, 115, 115, 112, 89, 115, 107, 284, 109,
- 58, 109, 9, 119, 85, 113, 292, 109, 15, 16,
- 89, 113, 108, 419, 110, 6, 7, 8, 9, 10,
- 11, 3, 13, 14, 15, 16, 111, 108, 7, 110,
- 9, 10, 11, 12, 13, 14, 15, 16, 109, 112,
- 113, 109, 113, 22, 51, 113, 7, 44, 9, 10,
- 11, 12, 13, 14, 15, 16, 26, 36, 37, 50,
- 260, 22, 262, 263, 395, 351, 266, 267, 17, 18,
- 270, 50, 51, 359, 263, 16, 17, 68, 267, 109,
- 112, 270, 59, 113, 284, 9, 286, 66, 288, 50,
- 51, 15, 16, 16, 109, 457, 108, 38, 113, 461,
- 91, 109, 25, 112, 293, 66, 85, 108, 9, 10,
- 11, 397, 91, 399, 15, 16, 267, 108, 16, 270,
- 109, 100, 118, 46, 85, 48, 34, 35, 107, 108,
- 91, 110, 86, 74, 57, 15, 16, 17, 18, 100,
- 404, 104, 105, 407, 86, 345, 107, 102, 103, 110,
- 17, 18, 15, 16, 76, 17, 18, 56, 3, 86,
- 360, 3, 362, 429, 430, 108, 118, 3, 109, 108,
- 15, 16, 113, 108, 115, 108, 114, 114, 378, 10,
- 3, 110, 27, 28, 29, 40, 31, 118, 118, 114,
- 116, 108, 73, 113, 110, 395, 41, 397, 110, 101,
- 45, 401, 109, 5, 49, 101, 395, 52, 53, 54,
- 55, 411, 9, 110, 93, 100, 30, 73, 63, 64,
- 73, 30, 115, 68, 69, 70, 71, 72, 111, 111,
- 108, 119, 432, 106, 79, 110, 81, 82, 438, 108,
- 111, 107, 5, 88, 87, 90, 446, 111, 73, 117,
- 95, 96, 97, 98, 99, 113, 108, 111, 109, 109,
- 109, 120, 7, 108, 9, 10, 11, 12, 13, 14,
- 15, 16, 111, 111, 111, 119, 7, 22, 9, 10,
- 11, 12, 13, 14, 15, 16, 7, 113, 9, 10,
- 11, 12, 13, 14, 118, 108, 4, 9, 126, 16,
- 29, 83, 62, 15, 16, 50, 51, 96, 58, 169,
- 260, 401, 288, 148, 228, 397, 28, 281, 456, 50,
- 51, 66, 211, 285, 264, 211, 431, 308, 420, 50,
- 315, 43, 318, 252, 438, 66, 436, 432, 362, -1,
- 85, 53, 54, 55, 65, -1, 91, 262, -1, -1,
- -1, -1, 64, -1, 85, 100, -1, 69, -1, 71,
- 91, -1, -1, -1, -1, 110, -1, 79, -1, 100,
- 91, -1, -1, -1, -1, -1, 88, -1, 90, 110,
- 15, 16, -1, 95, -1, 97, 98, 99, 23, -1,
- -1, -1, 27, 28, 29, -1, 31, 32, -1, -1,
- -1, -1, -1, -1, -1, -1, 41, -1, -1, -1,
- 45, -1, -1, -1, 49, -1, -1, 52, 53, 54,
- 55, -1, -1, -1, -1, -1, 61, -1, 63, 64,
- -1, -1, -1, 68, 69, 70, 71, 72, -1, -1,
- -1, -1, -1, -1, 79, -1, 81, 82, 83, 84,
- -1, -1, -1, 88, -1, 90, 15, 16, -1, -1,
- 95, 96, 97, 98, 99, -1, -1, -1, 27, 28,
- 29, -1, 31, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, 41, -1, -1, -1, 45, -1, -1, -1,
- 49, -1, -1, 52, 53, 54, 55, -1, -1, -1,
- -1, -1, -1, -1, 63, 64, -1, -1, -1, 68,
- 69, 70, 71, 72, -1, -1, -1, -1, -1, -1,
- 79, -1, 81, 82, -1, -1, -1, -1, -1, 88,
- -1, 90, 15, 16, -1, -1, 95, 96, 97, 98,
- 99, -1, -1, -1, 27, 28, 29, -1, 31, -1,
- 7, -1, 9, 10, 11, 12, 13, 14, 41, -1,
- -1, -1, 45, -1, -1, -1, 49, -1, -1, 52,
- 53, 54, 55, -1, -1, -1, -1, -1, -1, -1,
- 63, 64, -1, -1, -1, 68, 69, 70, 71, 72,
- -1, -1, -1, 50, -1, -1, 79, -1, 81, 82,
- -1, -1, -1, -1, -1, 88, -1, 90, 65, -1,
- -1, -1, 95, 96, 97, 98, 99, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, 91
+ 10, 0, 100, 218, 219, 4, 16, 265, 286, 149,
+ 152, 172, 149, 149, 150, 306, 153, 153, 9, 274,
+ 275, 276, 90, 4, 54, 280, 281, 0, 33, 24,
+ 51, 41, 323, 108, 46, 9, 17, 18, 19, 9,
+ 10, 11, 41, 53, 54, 57, 117, 4, 58, 9,
+ 9, 149, 62, 83, 53, 54, 39, 4, 38, 58,
+ 17, 18, 19, 62, 7, 117, 9, 9, 16, 17,
+ 17, 18, 19, 83, 110, 35, 35, 9, 10, 11,
+ 9, 10, 9, 244, 83, 80, 96, 342, 15, 16,
+ 9, 10, 113, 161, 74, 22, 95, 96, 169, 94,
+ 10, 6, 7, 8, 9, 10, 11, 362, 13, 14,
+ 115, 109, 210, 211, 38, 113, 107, 169, 117, 15,
+ 16, 85, 262, 401, 266, 262, 262, 137, 264, 265,
+ 228, 292, 269, 269, 115, 272, 272, 107, 137, 149,
+ 150, 399, 303, 153, 118, 50, 110, 107, 107, 109,
+ 74, 20, 407, 152, 153, 115, 115, 16, 115, 116,
+ 170, 171, 109, 324, 262, 107, 25, 115, 115, 62,
+ 169, 170, 171, 115, 85, 107, 9, 109, 16, 17,
+ 109, 85, 15, 16, 3, 112, 91, 46, 286, 48,
+ 109, 309, 112, 113, 118, 9, 294, 108, 57, 110,
+ 38, 15, 16, 108, 108, 74, 110, 325, 423, 78,
+ 115, 106, 6, 7, 8, 9, 10, 11, 51, 13,
+ 14, 15, 16, 89, 119, 9, 10, 11, 89, 239,
+ 109, 15, 16, 109, 113, 109, 74, 113, 109, 113,
+ 58, 7, 113, 9, 10, 11, 12, 13, 14, 109,
+ 17, 18, 262, 113, 264, 265, 50, 355, 268, 269,
+ 109, 89, 272, 399, 113, 363, 265, 111, 461, 26,
+ 269, 109, 465, 272, 68, 113, 286, 115, 288, 44,
+ 290, 59, 3, 112, 50, 15, 16, 17, 18, 44,
+ 269, 108, 47, 272, 15, 16, 295, 91, 408, 65,
+ 109, 411, 112, 401, 108, 403, 27, 28, 29, 16,
+ 31, 34, 35, 109, 108, 104, 105, 102, 103, 118,
+ 41, 17, 18, 86, 45, 91, 15, 16, 49, 17,
+ 18, 52, 53, 54, 55, 86, 433, 434, 76, 349,
+ 56, 86, 63, 64, 3, 118, 108, 68, 69, 70,
+ 71, 72, 108, 3, 364, 108, 366, 10, 79, 108,
+ 81, 82, 114, 3, 114, 40, 110, 88, 114, 90,
+ 118, 118, 382, 116, 95, 96, 97, 98, 99, 108,
+ 73, 101, 110, 110, 109, 5, 101, 108, 110, 399,
+ 9, 401, 93, 30, 113, 405, 100, 73, 30, 73,
+ 399, 115, 111, 111, 7, 415, 9, 10, 11, 12,
+ 13, 14, 15, 16, 108, 106, 119, 107, 7, 22,
+ 9, 10, 11, 12, 13, 14, 436, 110, 108, 111,
+ 111, 5, 442, 36, 37, 87, 113, 73, 111, 117,
+ 450, 109, 109, 108, 113, 111, 109, 50, 51, 7,
+ 120, 9, 10, 11, 12, 13, 14, 15, 16, 119,
+ 111, 50, 111, 66, 22, 108, 4, 16, 126, 29,
+ 118, 83, 75, 96, 62, 58, 65, 148, 290, 262,
+ 405, 283, 85, 169, 401, 460, 228, 287, 91, 266,
+ 435, 312, 50, 51, 211, 319, 424, 100, 211, 322,
+ 254, 442, 91, 440, 107, 108, 436, 110, 66, 366,
+ -1, -1, -1, -1, -1, -1, 7, 75, 9, 10,
+ 11, 12, 13, 14, 15, 16, -1, 85, 264, -1,
+ -1, 22, -1, 91, -1, -1, -1, 9, -1, -1,
+ -1, -1, 100, 15, 16, -1, -1, -1, -1, 107,
+ -1, -1, 110, -1, -1, -1, 28, -1, -1, 50,
+ 51, 7, -1, 9, 10, 11, 12, 13, 14, 15,
+ 16, 43, -1, -1, -1, 66, -1, -1, -1, -1,
+ -1, 53, 54, 55, 75, -1, -1, -1, -1, -1,
+ -1, -1, 64, -1, 85, -1, -1, 69, -1, 71,
+ 91, -1, -1, -1, 50, 51, -1, 79, -1, 100,
+ -1, -1, -1, -1, -1, -1, 88, -1, 90, 110,
+ 66, -1, -1, 95, -1, 97, 98, 99, -1, 75,
+ -1, -1, -1, -1, -1, 15, 16, -1, -1, 85,
+ -1, -1, -1, 23, -1, 91, -1, 27, 28, 29,
+ -1, 31, 32, -1, 100, -1, -1, -1, -1, -1,
+ -1, 41, -1, -1, 110, 45, -1, -1, -1, 49,
+ -1, -1, 52, 53, 54, 55, -1, -1, -1, -1,
+ -1, 61, -1, 63, 64, -1, -1, -1, 68, 69,
+ 70, 71, 72, -1, -1, -1, -1, -1, -1, 79,
+ -1, 81, 82, 83, 84, -1, -1, -1, 88, -1,
+ 90, 15, 16, -1, -1, 95, 96, 97, 98, 99,
+ -1, -1, -1, 27, 28, 29, -1, 31, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, 41, -1, -1,
+ -1, 45, -1, -1, -1, 49, -1, -1, 52, 53,
+ 54, 55, -1, -1, -1, -1, -1, -1, -1, 63,
+ 64, -1, -1, -1, 68, 69, 70, 71, 72, -1,
+ -1, -1, -1, -1, -1, 79, -1, 81, 82, -1,
+ -1, -1, -1, -1, 88, -1, 90, 15, 16, -1,
+ -1, 95, 96, 97, 98, 99, -1, -1, -1, 27,
+ 28, 29, -1, 31, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, 41, -1, -1, -1, 45, -1, -1,
+ -1, 49, -1, -1, 52, 53, 54, 55, -1, -1,
+ -1, -1, -1, -1, -1, 63, 64, -1, -1, -1,
+ 68, 69, 70, 71, 72, -1, -1, -1, -1, -1,
+ -1, 79, -1, 81, 82, -1, -1, -1, -1, -1,
+ 88, -1, 90, -1, -1, -1, -1, 95, 96, 97,
+ 98, 99
};
/* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
symbol of state STATE-NUM. */
static const unsigned char yystos[] =
{
- 0, 15, 16, 122, 123, 124, 237, 0, 124, 125,
- 108, 126, 127, 9, 10, 109, 128, 129, 240, 39,
+ 0, 15, 16, 122, 123, 124, 238, 0, 124, 125,
+ 108, 126, 127, 9, 10, 109, 128, 129, 241, 39,
109, 129, 110, 16, 25, 46, 48, 57, 130, 131,
132, 10, 62, 89, 89, 58, 89, 3, 132, 111,
26, 47, 133, 134, 146, 147, 22, 112, 148, 149,
- 237, 240, 44, 59, 138, 139, 112, 112, 113, 108,
- 51, 140, 141, 143, 144, 145, 237, 240, 28, 43,
+ 238, 241, 44, 59, 138, 139, 112, 112, 113, 108,
+ 51, 140, 141, 143, 144, 145, 238, 241, 28, 43,
53, 54, 55, 64, 69, 71, 79, 88, 90, 95,
- 97, 98, 99, 135, 136, 151, 153, 183, 193, 237,
- 240, 149, 109, 112, 143, 51, 113, 108, 16, 136,
+ 97, 98, 99, 135, 136, 151, 153, 183, 193, 238,
+ 241, 149, 109, 112, 143, 51, 113, 108, 16, 136,
3, 15, 16, 27, 29, 31, 41, 45, 49, 52,
63, 68, 70, 72, 81, 82, 96, 108, 152, 177,
- 190, 191, 192, 193, 238, 152, 237, 145, 109, 137,
- 33, 115, 163, 173, 232, 233, 234, 118, 86, 86,
- 76, 56, 86, 154, 155, 190, 191, 237, 3, 108,
- 108, 227, 118, 3, 127, 142, 108, 24, 80, 94,
- 235, 174, 175, 46, 57, 236, 237, 240, 109, 113,
+ 190, 191, 192, 193, 239, 152, 238, 145, 109, 137,
+ 33, 115, 163, 173, 233, 234, 235, 118, 86, 86,
+ 76, 56, 86, 154, 155, 190, 191, 238, 3, 108,
+ 108, 228, 118, 3, 127, 142, 108, 24, 80, 94,
+ 236, 174, 175, 46, 57, 237, 238, 241, 109, 113,
114, 114, 108, 150, 6, 7, 8, 10, 11, 13,
- 14, 50, 91, 150, 156, 157, 173, 186, 188, 230,
- 240, 107, 109, 228, 229, 230, 240, 17, 18, 178,
- 179, 180, 237, 68, 108, 184, 186, 187, 237, 240,
+ 14, 50, 91, 150, 156, 157, 173, 186, 188, 231,
+ 241, 107, 109, 229, 230, 231, 241, 17, 18, 178,
+ 179, 180, 238, 68, 108, 184, 186, 187, 238, 241,
17, 18, 165, 166, 10, 23, 32, 61, 83, 84,
152, 176, 85, 110, 196, 197, 198, 199, 3, 155,
- 237, 240, 237, 240, 12, 22, 50, 51, 66, 85,
- 91, 100, 107, 110, 188, 200, 201, 202, 203, 204,
- 205, 206, 207, 208, 209, 230, 231, 237, 240, 109,
- 113, 109, 113, 110, 118, 185, 118, 114, 16, 17,
- 38, 74, 173, 181, 182, 225, 226, 173, 181, 182,
- 109, 113, 116, 40, 108, 73, 108, 196, 108, 196,
- 110, 36, 37, 108, 200, 214, 215, 217, 219, 220,
- 221, 110, 163, 173, 101, 106, 119, 218, 34, 35,
- 200, 109, 113, 104, 105, 194, 102, 103, 195, 101,
- 110, 218, 157, 229, 187, 230, 240, 179, 5, 189,
- 240, 184, 184, 225, 118, 225, 225, 93, 164, 225,
- 225, 100, 167, 168, 166, 30, 107, 161, 162, 172,
- 173, 240, 177, 35, 158, 159, 160, 172, 173, 240,
- 73, 158, 73, 200, 30, 173, 237, 111, 111, 108,
- 200, 205, 119, 106, 65, 207, 110, 199, 108, 111,
- 107, 203, 204, 205, 200, 65, 207, 111, 111, 5,
- 17, 18, 225, 87, 240, 117, 109, 113, 173, 73,
- 109, 113, 225, 173, 239, 240, 109, 239, 111, 108,
- 109, 120, 222, 223, 111, 119, 107, 210, 211, 240,
- 113, 111, 108, 187, 230, 162, 173, 160, 225, 232,
- 232, 216, 118, 224, 240, 109, 113, 109, 113, 196,
- 201, 169, 175, 175, 189, 224, 118, 223, 211, 20,
- 74, 78, 212, 213, 4, 19, 115, 170, 171, 180,
- 240, 170, 109, 171, 116
+ 238, 241, 238, 241, 12, 22, 50, 51, 66, 75,
+ 85, 91, 100, 107, 110, 188, 200, 201, 202, 203,
+ 204, 205, 206, 207, 208, 209, 210, 231, 232, 238,
+ 241, 109, 113, 109, 113, 110, 118, 185, 118, 114,
+ 16, 17, 38, 74, 173, 181, 182, 226, 227, 173,
+ 181, 182, 109, 113, 116, 40, 108, 73, 108, 196,
+ 108, 196, 110, 36, 37, 108, 200, 215, 216, 218,
+ 220, 221, 222, 110, 163, 173, 101, 106, 119, 219,
+ 7, 241, 34, 35, 200, 109, 113, 104, 105, 194,
+ 102, 103, 195, 101, 110, 219, 157, 230, 187, 231,
+ 241, 179, 5, 189, 241, 184, 184, 226, 118, 226,
+ 226, 93, 164, 226, 226, 100, 167, 168, 166, 30,
+ 107, 161, 162, 172, 173, 241, 177, 35, 158, 159,
+ 160, 172, 173, 241, 73, 158, 73, 200, 30, 173,
+ 238, 111, 111, 108, 200, 205, 119, 106, 65, 208,
+ 110, 199, 108, 111, 107, 203, 204, 205, 200, 65,
+ 208, 111, 111, 5, 17, 18, 226, 87, 241, 117,
+ 109, 113, 173, 73, 109, 113, 226, 173, 240, 241,
+ 109, 240, 111, 108, 109, 120, 223, 224, 111, 119,
+ 107, 211, 212, 241, 113, 111, 108, 187, 231, 162,
+ 173, 160, 226, 233, 233, 217, 118, 225, 241, 109,
+ 113, 109, 113, 196, 201, 169, 175, 175, 189, 225,
+ 118, 224, 212, 20, 74, 78, 213, 214, 4, 19,
+ 115, 170, 171, 180, 241, 170, 109, 171, 116
};
#if ! defined (YYSIZE_T) && defined (__SIZE_TYPE__)
@@ -1835,14 +1848,14 @@ yyreduce:
switch (yyn)
{
case 2:
-#line 354 "asn1p_y.y"
+#line 355 "asn1p_y.y"
{
*(void **)param = yyvsp[0].a_grammar;
}
break;
case 3:
-#line 360 "asn1p_y.y"
+#line 361 "asn1p_y.y"
{
yyval.a_grammar = asn1p_new();
checkmem(yyval.a_grammar);
@@ -1851,7 +1864,7 @@ yyreduce:
break;
case 4:
-#line 365 "asn1p_y.y"
+#line 366 "asn1p_y.y"
{
yyval.a_grammar = yyvsp[-1].a_grammar;
TQ_ADD(&(yyval.a_grammar->modules), yyvsp[0].a_module, mod_next);
@@ -1859,12 +1872,12 @@ yyreduce:
break;
case 5:
-#line 382 "asn1p_y.y"
+#line 383 "asn1p_y.y"
{ currentModule = asn1p_module_new(); }
break;
case 6:
-#line 387 "asn1p_y.y"
+#line 388 "asn1p_y.y"
{
yyval.a_module = currentModule;
@@ -1885,31 +1898,31 @@ yyreduce:
break;
case 7:
-#line 411 "asn1p_y.y"
+#line 412 "asn1p_y.y"
{ yyval.a_oid = 0; }
break;
case 8:
-#line 412 "asn1p_y.y"
+#line 413 "asn1p_y.y"
{ yyval.a_oid = yyvsp[0].a_oid; }
break;
case 9:
-#line 416 "asn1p_y.y"
+#line 417 "asn1p_y.y"
{
yyval.a_oid = yyvsp[-1].a_oid;
}
break;
case 10:
-#line 419 "asn1p_y.y"
+#line 420 "asn1p_y.y"
{
yyval.a_oid = 0;
}
break;
case 11:
-#line 425 "asn1p_y.y"
+#line 426 "asn1p_y.y"
{
yyval.a_oid = asn1p_oid_new();
asn1p_oid_add_arc(yyval.a_oid, &yyvsp[0].a_oid_arc);
@@ -1919,7 +1932,7 @@ yyreduce:
break;
case 12:
-#line 431 "asn1p_y.y"
+#line 432 "asn1p_y.y"
{
yyval.a_oid = yyvsp[-1].a_oid;
asn1p_oid_add_arc(yyval.a_oid, &yyvsp[0].a_oid_arc);
@@ -1929,7 +1942,7 @@ yyreduce:
break;
case 13:
-#line 440 "asn1p_y.y"
+#line 441 "asn1p_y.y"
{ /* iso */
yyval.a_oid_arc.name = yyvsp[0].tv_str;
yyval.a_oid_arc.number = -1;
@@ -1937,7 +1950,7 @@ yyreduce:
break;
case 14:
-#line 444 "asn1p_y.y"
+#line 445 "asn1p_y.y"
{ /* iso(1) */
yyval.a_oid_arc.name = yyvsp[-3].tv_str;
yyval.a_oid_arc.number = yyvsp[-1].a_int;
@@ -1945,7 +1958,7 @@ yyreduce:
break;
case 15:
-#line 448 "asn1p_y.y"
+#line 449 "asn1p_y.y"
{ /* 1 */
yyval.a_oid_arc.name = 0;
yyval.a_oid_arc.number = yyvsp[0].a_int;
@@ -1953,61 +1966,61 @@ yyreduce:
break;
case 16:
-#line 458 "asn1p_y.y"
+#line 459 "asn1p_y.y"
{ yyval.a_module_flags = MSF_NOFLAGS; }
break;
case 17:
-#line 459 "asn1p_y.y"
+#line 460 "asn1p_y.y"
{
yyval.a_module_flags = yyvsp[0].a_module_flags;
}
break;
case 18:
-#line 468 "asn1p_y.y"
+#line 469 "asn1p_y.y"
{
yyval.a_module_flags = yyvsp[0].a_module_flags;
}
break;
case 19:
-#line 471 "asn1p_y.y"
+#line 472 "asn1p_y.y"
{
yyval.a_module_flags = yyvsp[-1].a_module_flags | yyvsp[0].a_module_flags;
}
break;
case 20:
-#line 480 "asn1p_y.y"
+#line 481 "asn1p_y.y"
{
yyval.a_module_flags = MSF_EXPLICIT_TAGS;
}
break;
case 21:
-#line 483 "asn1p_y.y"
+#line 484 "asn1p_y.y"
{
yyval.a_module_flags = MSF_IMPLICIT_TAGS;
}
break;
case 22:
-#line 486 "asn1p_y.y"
+#line 487 "asn1p_y.y"
{
yyval.a_module_flags = MSF_AUTOMATIC_TAGS;
}
break;
case 23:
-#line 489 "asn1p_y.y"
+#line 490 "asn1p_y.y"
{
yyval.a_module_flags = MSF_EXTENSIBILITY_IMPLIED;
}
break;
case 24:
-#line 493 "asn1p_y.y"
+#line 494 "asn1p_y.y"
{
/* X.680Amd1 specifies TAG and XER */
if(strcmp(yyvsp[-1].tv_str, "TAG") == 0) {
@@ -2026,19 +2039,19 @@ yyreduce:
break;
case 25:
-#line 514 "asn1p_y.y"
+#line 515 "asn1p_y.y"
{ yyval.a_module = 0; }
break;
case 26:
-#line 515 "asn1p_y.y"
+#line 516 "asn1p_y.y"
{
yyval.a_module = yyvsp[0].a_module;
}
break;
case 27:
-#line 524 "asn1p_y.y"
+#line 525 "asn1p_y.y"
{
yyval.a_module = asn1p_module_new();
AL_IMPORT(yyval.a_module, exports, yyvsp[-2].a_module, xp_next);
@@ -2048,14 +2061,14 @@ yyreduce:
break;
case 28:
-#line 533 "asn1p_y.y"
+#line 534 "asn1p_y.y"
{
yyval.a_module = yyvsp[0].a_module;
}
break;
case 29:
-#line 536 "asn1p_y.y"
+#line 537 "asn1p_y.y"
{
if(yyvsp[-1].a_module) {
yyval.a_module = yyvsp[-1].a_module;
@@ -2068,7 +2081,7 @@ yyreduce:
break;
case 30:
-#line 552 "asn1p_y.y"
+#line 553 "asn1p_y.y"
{
yyval.a_module = asn1p_module_new();
checkmem(yyval.a_module);
@@ -2079,7 +2092,7 @@ yyreduce:
break;
case 31:
-#line 559 "asn1p_y.y"
+#line 560 "asn1p_y.y"
{
yyval.a_module = asn1p_module_new();
checkmem(yyval.a_module);
@@ -2090,7 +2103,7 @@ yyreduce:
break;
case 32:
-#line 572 "asn1p_y.y"
+#line 573 "asn1p_y.y"
{
yyval.a_module = asn1p_module_new();
checkmem(yyval.a_module);
@@ -2101,12 +2114,12 @@ yyreduce:
break;
case 33:
-#line 580 "asn1p_y.y"
+#line 581 "asn1p_y.y"
{ asn1p_lexer_hack_push_encoding_control(); }
break;
case 34:
-#line 581 "asn1p_y.y"
+#line 582 "asn1p_y.y"
{
fprintf(stderr,
"WARNING: ENCODING-CONTROL %s "
@@ -2118,7 +2131,7 @@ yyreduce:
break;
case 35:
-#line 593 "asn1p_y.y"
+#line 594 "asn1p_y.y"
{
return yyerror(
"Attempt to redefine a standard basic string type, "
@@ -2127,12 +2140,12 @@ yyreduce:
break;
case 36:
-#line 606 "asn1p_y.y"
+#line 607 "asn1p_y.y"
{ yyval.a_module = 0; }
break;
case 38:
-#line 610 "asn1p_y.y"
+#line 611 "asn1p_y.y"
{
if(!saved_aid && 0)
return yyerror("Unterminated IMPORTS FROM, "
@@ -2143,19 +2156,19 @@ yyreduce:
break;
case 39:
-#line 620 "asn1p_y.y"
+#line 621 "asn1p_y.y"
{
return yyerror("Empty IMPORTS list");
}
break;
case 40:
-#line 626 "asn1p_y.y"
+#line 627 "asn1p_y.y"
{ yyval.a_module = asn1p_module_new(); }
break;
case 42:
-#line 630 "asn1p_y.y"
+#line 631 "asn1p_y.y"
{
yyval.a_module = asn1p_module_new();
checkmem(yyval.a_module);
@@ -2164,7 +2177,7 @@ yyreduce:
break;
case 43:
-#line 635 "asn1p_y.y"
+#line 636 "asn1p_y.y"
{
yyval.a_module = yyvsp[-1].a_module;
TQ_ADD(&(yyval.a_module->imports), yyvsp[0].a_xports, xp_next);
@@ -2172,17 +2185,17 @@ yyreduce:
break;
case 44:
-#line 642 "asn1p_y.y"
+#line 643 "asn1p_y.y"
{ memset(&yyval.a_aid, 0, sizeof(yyval.a_aid)); }
break;
case 45:
-#line 643 "asn1p_y.y"
+#line 644 "asn1p_y.y"
{ yyval.a_aid.oid = yyvsp[0].a_oid; }
break;
case 46:
-#line 647 "asn1p_y.y"
+#line 648 "asn1p_y.y"
{
yyval.a_xports = yyvsp[-3].a_xports;
yyval.a_xports->fromModuleName = yyvsp[-1].tv_str;
@@ -2194,7 +2207,7 @@ yyreduce:
break;
case 47:
-#line 658 "asn1p_y.y"
+#line 659 "asn1p_y.y"
{
yyval.a_xports = asn1p_xports_new();
checkmem(yyval.a_xports);
@@ -2203,7 +2216,7 @@ yyreduce:
break;
case 48:
-#line 663 "asn1p_y.y"
+#line 664 "asn1p_y.y"
{
yyval.a_xports = yyvsp[-2].a_xports;
TQ_ADD(&(yyval.a_xports->members), yyvsp[0].a_expr, next);
@@ -2211,7 +2224,7 @@ yyreduce:
break;
case 49:
-#line 670 "asn1p_y.y"
+#line 671 "asn1p_y.y"
{
yyval.a_expr = NEW_EXPR();
checkmem(yyval.a_expr);
@@ -2221,7 +2234,7 @@ yyreduce:
break;
case 50:
-#line 676 "asn1p_y.y"
+#line 677 "asn1p_y.y"
{ /* Completely equivalent to above */
yyval.a_expr = NEW_EXPR();
checkmem(yyval.a_expr);
@@ -2231,7 +2244,7 @@ yyreduce:
break;
case 51:
-#line 682 "asn1p_y.y"
+#line 683 "asn1p_y.y"
{
yyval.a_expr = NEW_EXPR();
checkmem(yyval.a_expr);
@@ -2241,12 +2254,12 @@ yyreduce:
break;
case 52:
-#line 692 "asn1p_y.y"
+#line 693 "asn1p_y.y"
{ yyval.a_module = 0; }
break;
case 53:
-#line 693 "asn1p_y.y"
+#line 694 "asn1p_y.y"
{
yyval.a_module = asn1p_module_new();
checkmem(yyval.a_module);
@@ -2259,21 +2272,21 @@ yyreduce:
break;
case 54:
-#line 705 "asn1p_y.y"
+#line 706 "asn1p_y.y"
{
yyval.a_xports = yyvsp[-1].a_xports;
}
break;
case 55:
-#line 708 "asn1p_y.y"
+#line 709 "asn1p_y.y"
{
yyval.a_xports = 0;
}
break;
case 56:
-#line 711 "asn1p_y.y"
+#line 712 "asn1p_y.y"
{
/* Empty EXPORTS clause effectively prohibits export. */
yyval.a_xports = asn1p_xports_new();
@@ -2282,7 +2295,7 @@ yyreduce:
break;
case 57:
-#line 719 "asn1p_y.y"
+#line 720 "asn1p_y.y"
{
yyval.a_xports = asn1p_xports_new();
assert(yyval.a_xports);
@@ -2291,7 +2304,7 @@ yyreduce:
break;
case 58:
-#line 724 "asn1p_y.y"
+#line 725 "asn1p_y.y"
{
yyval.a_xports = yyvsp[-2].a_xports;
TQ_ADD(&(yyval.a_xports->members), yyvsp[0].a_expr, next);
@@ -2299,7 +2312,7 @@ yyreduce:
break;
case 59:
-#line 731 "asn1p_y.y"
+#line 732 "asn1p_y.y"
{
yyval.a_expr = NEW_EXPR();
checkmem(yyval.a_expr);
@@ -2309,7 +2322,7 @@ yyreduce:
break;
case 60:
-#line 737 "asn1p_y.y"
+#line 738 "asn1p_y.y"
{
yyval.a_expr = NEW_EXPR();
checkmem(yyval.a_expr);
@@ -2319,7 +2332,7 @@ yyreduce:
break;
case 61:
-#line 743 "asn1p_y.y"
+#line 744 "asn1p_y.y"
{
yyval.a_expr = NEW_EXPR();
checkmem(yyval.a_expr);
@@ -2329,12 +2342,12 @@ yyreduce:
break;
case 62:
-#line 752 "asn1p_y.y"
+#line 753 "asn1p_y.y"
{ yyval.a_constr = yyvsp[-1].a_constr; }
break;
case 63:
-#line 755 "asn1p_y.y"
+#line 756 "asn1p_y.y"
{
yyval.a_expr = yyvsp[-2].a_expr;
assert(yyval.a_expr->Identifier == 0);
@@ -2345,14 +2358,14 @@ yyreduce:
break;
case 64:
-#line 765 "asn1p_y.y"
+#line 766 "asn1p_y.y"
{
yyval.a_expr = yyvsp[0].a_expr;
}
break;
case 65:
-#line 778 "asn1p_y.y"
+#line 779 "asn1p_y.y"
{
yyval.a_expr = NEW_EXPR();
checkmem(yyval.a_expr);
@@ -2363,7 +2376,7 @@ yyreduce:
break;
case 66:
-#line 788 "asn1p_y.y"
+#line 789 "asn1p_y.y"
{
yyval.a_expr = NEW_EXPR();
checkmem(yyval.a_expr);
@@ -2375,7 +2388,7 @@ yyreduce:
break;
case 67:
-#line 808 "asn1p_y.y"
+#line 809 "asn1p_y.y"
{
yyval.a_expr = yyvsp[0].a_expr;
yyval.a_expr->Identifier = yyvsp[-2].tv_str;
@@ -2385,7 +2398,7 @@ yyreduce:
break;
case 68:
-#line 814 "asn1p_y.y"
+#line 815 "asn1p_y.y"
{
yyval.a_expr = yyvsp[0].a_expr;
yyval.a_expr->Identifier = yyvsp[-2].tv_str;
@@ -2395,7 +2408,7 @@ yyreduce:
break;
case 69:
-#line 830 "asn1p_y.y"
+#line 831 "asn1p_y.y"
{
yyval.a_expr = yyvsp[0].a_expr;
yyval.a_expr->Identifier = yyvsp[-5].tv_str;
@@ -2404,7 +2417,7 @@ yyreduce:
break;
case 70:
-#line 836 "asn1p_y.y"
+#line 837 "asn1p_y.y"
{
yyval.a_expr = yyvsp[0].a_expr;
yyval.a_expr->Identifier = yyvsp[-5].tv_str;
@@ -2413,7 +2426,7 @@ yyreduce:
break;
case 71:
-#line 844 "asn1p_y.y"
+#line 845 "asn1p_y.y"
{
int ret;
yyval.a_plist = asn1p_paramlist_new(yylineno);
@@ -2426,7 +2439,7 @@ yyreduce:
break;
case 72:
-#line 853 "asn1p_y.y"
+#line 854 "asn1p_y.y"
{
int ret;
yyval.a_plist = yyvsp[-2].a_plist;
@@ -2438,7 +2451,7 @@ yyreduce:
break;
case 73:
-#line 864 "asn1p_y.y"
+#line 865 "asn1p_y.y"
{
yyval.a_parg.governor = NULL;
yyval.a_parg.argument = yyvsp[0].tv_str;
@@ -2446,7 +2459,7 @@ yyreduce:
break;
case 74:
-#line 868 "asn1p_y.y"
+#line 869 "asn1p_y.y"
{
int ret;
yyval.a_parg.governor = asn1p_ref_new(yylineno);
@@ -2457,7 +2470,7 @@ yyreduce:
break;
case 75:
-#line 875 "asn1p_y.y"
+#line 876 "asn1p_y.y"
{
int ret;
yyval.a_parg.governor = asn1p_ref_new(yylineno);
@@ -2468,7 +2481,7 @@ yyreduce:
break;
case 76:
-#line 882 "asn1p_y.y"
+#line 883 "asn1p_y.y"
{
int ret;
yyval.a_parg.governor = asn1p_ref_new(yylineno);
@@ -2480,7 +2493,7 @@ yyreduce:
break;
case 77:
-#line 890 "asn1p_y.y"
+#line 891 "asn1p_y.y"
{
int ret;
yyval.a_parg.governor = asn1p_ref_new(yylineno);
@@ -2492,7 +2505,7 @@ yyreduce:
break;
case 78:
-#line 901 "asn1p_y.y"
+#line 902 "asn1p_y.y"
{
yyval.a_expr = NEW_EXPR();
checkmem(yyval.a_expr);
@@ -2501,7 +2514,7 @@ yyreduce:
break;
case 79:
-#line 906 "asn1p_y.y"
+#line 907 "asn1p_y.y"
{
yyval.a_expr = yyvsp[-2].a_expr;
asn1p_expr_add(yyval.a_expr, yyvsp[0].a_expr);
@@ -2509,14 +2522,14 @@ yyreduce:
break;
case 80:
-#line 913 "asn1p_y.y"
+#line 914 "asn1p_y.y"
{
yyval.a_expr = yyvsp[0].a_expr;
}
break;
case 81:
-#line 916 "asn1p_y.y"
+#line 917 "asn1p_y.y"
{
yyval.a_expr = NEW_EXPR();
checkmem(yyval.a_expr);
@@ -2528,7 +2541,7 @@ yyreduce:
break;
case 82:
-#line 924 "asn1p_y.y"
+#line 925 "asn1p_y.y"
{
asn1p_ref_t *ref;
yyval.a_expr = NEW_EXPR();
@@ -2543,7 +2556,7 @@ yyreduce:
break;
case 83:
-#line 935 "asn1p_y.y"
+#line 936 "asn1p_y.y"
{
yyval.a_expr = NEW_EXPR();
yyval.a_expr->expr_type = A1TC_VALUESET;
@@ -2553,17 +2566,17 @@ yyreduce:
break;
case 84:
-#line 958 "asn1p_y.y"
+#line 959 "asn1p_y.y"
{ yyval.a_expr = NEW_EXPR(); }
break;
case 85:
-#line 959 "asn1p_y.y"
+#line 960 "asn1p_y.y"
{ yyval.a_expr = yyvsp[0].a_expr; }
break;
case 86:
-#line 962 "asn1p_y.y"
+#line 963 "asn1p_y.y"
{
yyval.a_expr = NEW_EXPR();
checkmem(yyval.a_expr);
@@ -2572,7 +2585,7 @@ yyreduce:
break;
case 87:
-#line 967 "asn1p_y.y"
+#line 968 "asn1p_y.y"
{
yyval.a_expr = yyvsp[-2].a_expr;
asn1p_expr_add(yyval.a_expr, yyvsp[0].a_expr);
@@ -2580,7 +2593,7 @@ yyreduce:
break;
case 88:
-#line 974 "asn1p_y.y"
+#line 975 "asn1p_y.y"
{
yyval.a_expr = yyvsp[-1].a_expr;
assert(yyval.a_expr->Identifier == 0);
@@ -2591,7 +2604,7 @@ yyreduce:
break;
case 89:
-#line 981 "asn1p_y.y"
+#line 982 "asn1p_y.y"
{
yyval.a_expr = yyvsp[-1].a_expr;
yyvsp[0].a_marker.flags |= yyval.a_expr->marker.flags;
@@ -2601,7 +2614,7 @@ yyreduce:
break;
case 90:
-#line 987 "asn1p_y.y"
+#line 988 "asn1p_y.y"
{
yyval.a_expr = NEW_EXPR();
checkmem(yyval.a_expr);
@@ -2612,14 +2625,14 @@ yyreduce:
break;
case 91:
-#line 994 "asn1p_y.y"
+#line 995 "asn1p_y.y"
{
yyval.a_expr = yyvsp[0].a_expr;
}
break;
case 92:
-#line 1000 "asn1p_y.y"
+#line 1001 "asn1p_y.y"
{
yyval.a_expr = NEW_EXPR();
checkmem(yyval.a_expr);
@@ -2628,7 +2641,7 @@ yyreduce:
break;
case 93:
-#line 1005 "asn1p_y.y"
+#line 1006 "asn1p_y.y"
{
yyval.a_expr = yyvsp[-2].a_expr;
asn1p_expr_add(yyval.a_expr, yyvsp[0].a_expr);
@@ -2636,7 +2649,7 @@ yyreduce:
break;
case 94:
-#line 1012 "asn1p_y.y"
+#line 1013 "asn1p_y.y"
{
yyval.a_expr = yyvsp[0].a_expr;
assert(yyval.a_expr->Identifier == 0);
@@ -2645,14 +2658,14 @@ yyreduce:
break;
case 95:
-#line 1017 "asn1p_y.y"
+#line 1018 "asn1p_y.y"
{
yyval.a_expr = yyvsp[0].a_expr;
}
break;
case 96:
-#line 1020 "asn1p_y.y"
+#line 1021 "asn1p_y.y"
{
yyval.a_expr = yyvsp[0].a_expr;
_fixup_anonymous_identifier(yyval.a_expr);
@@ -2660,7 +2673,7 @@ yyreduce:
break;
case 97:
-#line 1027 "asn1p_y.y"
+#line 1028 "asn1p_y.y"
{
yyval.a_expr = yyvsp[-2].a_expr;
checkmem(yyval.a_expr);
@@ -2671,17 +2684,17 @@ yyreduce:
break;
case 98:
-#line 1037 "asn1p_y.y"
+#line 1038 "asn1p_y.y"
{ yyval.a_int = 0; }
break;
case 99:
-#line 1038 "asn1p_y.y"
+#line 1039 "asn1p_y.y"
{ yyval.a_int = 1; }
break;
case 100:
-#line 1042 "asn1p_y.y"
+#line 1043 "asn1p_y.y"
{
yyval.a_expr = NEW_EXPR();
checkmem(yyval.a_expr);
@@ -2692,7 +2705,7 @@ yyreduce:
break;
case 101:
-#line 1049 "asn1p_y.y"
+#line 1050 "asn1p_y.y"
{
yyval.a_expr = yyvsp[-2].a_expr;
asn1p_expr_add(yyval.a_expr, yyvsp[0].a_expr);
@@ -2700,7 +2713,7 @@ yyreduce:
break;
case 102:
-#line 1059 "asn1p_y.y"
+#line 1060 "asn1p_y.y"
{
yyval.a_expr = NEW_EXPR();
checkmem(yyval.a_expr);
@@ -2712,7 +2725,7 @@ yyreduce:
break;
case 103:
-#line 1069 "asn1p_y.y"
+#line 1070 "asn1p_y.y"
{
yyval.a_expr = NEW_EXPR();
yyval.a_expr->Identifier = yyvsp[-3].tv_str;
@@ -2725,7 +2738,7 @@ yyreduce:
break;
case 104:
-#line 1080 "asn1p_y.y"
+#line 1081 "asn1p_y.y"
{
yyval.a_expr = NEW_EXPR();
yyval.a_expr->Identifier = yyvsp[-2].tv_str;
@@ -2737,7 +2750,7 @@ yyreduce:
break;
case 105:
-#line 1090 "asn1p_y.y"
+#line 1091 "asn1p_y.y"
{
yyval.a_expr = NEW_EXPR();
checkmem(yyval.a_expr);
@@ -2750,7 +2763,7 @@ yyreduce:
break;
case 106:
-#line 1101 "asn1p_y.y"
+#line 1102 "asn1p_y.y"
{
yyval.a_expr = NEW_EXPR();
yyval.a_expr->Identifier = yyvsp[-2].tv_str;
@@ -2762,7 +2775,7 @@ yyreduce:
break;
case 107:
-#line 1111 "asn1p_y.y"
+#line 1112 "asn1p_y.y"
{
yyval.a_expr = NEW_EXPR();
checkmem(yyval.a_expr);
@@ -2775,7 +2788,7 @@ yyreduce:
break;
case 108:
-#line 1122 "asn1p_y.y"
+#line 1123 "asn1p_y.y"
{
yyval.a_expr = NEW_EXPR();
checkmem(yyval.a_expr);
@@ -2788,31 +2801,31 @@ yyreduce:
break;
case 109:
-#line 1134 "asn1p_y.y"
+#line 1135 "asn1p_y.y"
{ yyval.a_wsynt = 0; }
break;
case 110:
-#line 1135 "asn1p_y.y"
+#line 1136 "asn1p_y.y"
{
yyval.a_wsynt = yyvsp[0].a_wsynt;
}
break;
case 111:
-#line 1142 "asn1p_y.y"
+#line 1143 "asn1p_y.y"
{ asn1p_lexer_hack_enable_with_syntax(); }
break;
case 112:
-#line 1144 "asn1p_y.y"
+#line 1145 "asn1p_y.y"
{
yyval.a_wsynt = yyvsp[-1].a_wsynt;
}
break;
case 113:
-#line 1150 "asn1p_y.y"
+#line 1151 "asn1p_y.y"
{
yyval.a_wsynt = asn1p_wsyntx_new();
TQ_ADD(&(yyval.a_wsynt->chunks), yyvsp[0].a_wchunk, next);
@@ -2820,7 +2833,7 @@ yyreduce:
break;
case 114:
-#line 1154 "asn1p_y.y"
+#line 1155 "asn1p_y.y"
{
yyval.a_wsynt = yyvsp[-1].a_wsynt;
TQ_ADD(&(yyval.a_wsynt->chunks), yyvsp[0].a_wchunk, next);
@@ -2828,7 +2841,7 @@ yyreduce:
break;
case 115:
-#line 1161 "asn1p_y.y"
+#line 1162 "asn1p_y.y"
{
yyval.a_wchunk = asn1p_wsyntx_chunk_fromstring(yyvsp[0].tv_opaque.buf, 0);
yyval.a_wchunk->type = WC_WHITESPACE;
@@ -2836,14 +2849,14 @@ yyreduce:
break;
case 116:
-#line 1165 "asn1p_y.y"
+#line 1166 "asn1p_y.y"
{
yyval.a_wchunk = asn1p_wsyntx_chunk_fromstring(yyvsp[0].tv_str, 0);
}
break;
case 117:
-#line 1168 "asn1p_y.y"
+#line 1169 "asn1p_y.y"
{
yyval.a_wchunk = asn1p_wsyntx_chunk_fromstring(yyvsp[0].a_refcomp.name, 0);
yyval.a_wchunk->type = WC_FIELD;
@@ -2851,14 +2864,14 @@ yyreduce:
break;
case 118:
-#line 1172 "asn1p_y.y"
+#line 1173 "asn1p_y.y"
{
yyval.a_wchunk = asn1p_wsyntx_chunk_fromsyntax(yyvsp[-1].a_wsynt);
}
break;
case 119:
-#line 1178 "asn1p_y.y"
+#line 1179 "asn1p_y.y"
{
yyval.a_expr = NEW_EXPR();
checkmem(yyval.a_expr);
@@ -2870,7 +2883,7 @@ yyreduce:
break;
case 120:
-#line 1186 "asn1p_y.y"
+#line 1187 "asn1p_y.y"
{
yyval.a_expr = NEW_EXPR();
checkmem(yyval.a_expr);
@@ -2883,7 +2896,7 @@ yyreduce:
break;
case 121:
-#line 1195 "asn1p_y.y"
+#line 1196 "asn1p_y.y"
{
yyval.a_expr = NEW_EXPR();
checkmem(yyval.a_expr);
@@ -2896,7 +2909,7 @@ yyreduce:
break;
case 122:
-#line 1207 "asn1p_y.y"
+#line 1208 "asn1p_y.y"
{
yyval.a_expr = yyvsp[-1].a_expr;
yyval.a_expr->tag = yyvsp[-2].a_tag;
@@ -2919,7 +2932,7 @@ yyreduce:
break;
case 123:
-#line 1229 "asn1p_y.y"
+#line 1230 "asn1p_y.y"
{
yyval.a_int = asn1p_as_pointer ? EM_INDIRECT : 0;
asn1p_as_pointer = 0;
@@ -2927,7 +2940,7 @@ yyreduce:
break;
case 124:
-#line 1236 "asn1p_y.y"
+#line 1237 "asn1p_y.y"
{
yyval.a_expr = yyvsp[0].a_expr;
yyval.a_expr->marker.flags |= yyvsp[-1].a_int;
@@ -2947,14 +2960,14 @@ yyreduce:
break;
case 125:
-#line 1255 "asn1p_y.y"
+#line 1256 "asn1p_y.y"
{
yyval.a_expr = yyvsp[0].a_expr;
}
break;
case 126:
-#line 1258 "asn1p_y.y"
+#line 1259 "asn1p_y.y"
{
yyval.a_expr = yyvsp[-1].a_expr;
assert(yyval.a_expr->expr_type == A1TC_INVALID);
@@ -2964,7 +2977,7 @@ yyreduce:
break;
case 127:
-#line 1264 "asn1p_y.y"
+#line 1265 "asn1p_y.y"
{
yyval.a_expr = yyvsp[-1].a_expr;
assert(yyval.a_expr->expr_type == A1TC_INVALID);
@@ -2974,7 +2987,7 @@ yyreduce:
break;
case 128:
-#line 1270 "asn1p_y.y"
+#line 1271 "asn1p_y.y"
{
yyval.a_expr = yyvsp[-1].a_expr;
assert(yyval.a_expr->expr_type == A1TC_INVALID);
@@ -2984,7 +2997,7 @@ yyreduce:
break;
case 129:
-#line 1276 "asn1p_y.y"
+#line 1277 "asn1p_y.y"
{
yyval.a_expr = NEW_EXPR();
checkmem(yyval.a_expr);
@@ -2998,7 +3011,7 @@ yyreduce:
break;
case 130:
-#line 1286 "asn1p_y.y"
+#line 1287 "asn1p_y.y"
{
yyval.a_expr = NEW_EXPR();
checkmem(yyval.a_expr);
@@ -3012,7 +3025,7 @@ yyreduce:
break;
case 131:
-#line 1296 "asn1p_y.y"
+#line 1297 "asn1p_y.y"
{
yyval.a_expr = NEW_EXPR();
checkmem(yyval.a_expr);
@@ -3022,7 +3035,7 @@ yyreduce:
break;
case 132:
-#line 1302 "asn1p_y.y"
+#line 1303 "asn1p_y.y"
{
int ret;
yyval.a_expr = NEW_EXPR();
@@ -3037,7 +3050,7 @@ yyreduce:
break;
case 133:
-#line 1313 "asn1p_y.y"
+#line 1314 "asn1p_y.y"
{
yyval.a_expr = NEW_EXPR();
checkmem(yyval.a_expr);
@@ -3048,7 +3061,7 @@ yyreduce:
break;
case 134:
-#line 1328 "asn1p_y.y"
+#line 1329 "asn1p_y.y"
{
int ret;
yyval.a_ref = asn1p_ref_new(yylineno);
@@ -3060,7 +3073,7 @@ yyreduce:
break;
case 135:
-#line 1336 "asn1p_y.y"
+#line 1337 "asn1p_y.y"
{
int ret;
yyval.a_ref = asn1p_ref_new(yylineno);
@@ -3074,7 +3087,7 @@ yyreduce:
break;
case 136:
-#line 1346 "asn1p_y.y"
+#line 1347 "asn1p_y.y"
{
int ret;
yyval.a_ref = asn1p_ref_new(yylineno);
@@ -3088,7 +3101,7 @@ yyreduce:
break;
case 137:
-#line 1356 "asn1p_y.y"
+#line 1357 "asn1p_y.y"
{
int ret;
yyval.a_ref = asn1p_ref_new(yylineno);
@@ -3102,7 +3115,7 @@ yyreduce:
break;
case 138:
-#line 1366 "asn1p_y.y"
+#line 1367 "asn1p_y.y"
{
int ret;
yyval.a_ref = asn1p_ref_new(yylineno);
@@ -3114,7 +3127,7 @@ yyreduce:
break;
case 139:
-#line 1374 "asn1p_y.y"
+#line 1375 "asn1p_y.y"
{
int ret;
yyval.a_ref = yyvsp[0].a_ref;
@@ -3137,7 +3150,7 @@ yyreduce:
break;
case 140:
-#line 1396 "asn1p_y.y"
+#line 1397 "asn1p_y.y"
{
int ret;
yyval.a_ref = asn1p_ref_new(yylineno);
@@ -3149,7 +3162,7 @@ yyreduce:
break;
case 141:
-#line 1404 "asn1p_y.y"
+#line 1405 "asn1p_y.y"
{
int ret;
yyval.a_ref = yyvsp[-2].a_ref;
@@ -3160,7 +3173,7 @@ yyreduce:
break;
case 143:
-#line 1417 "asn1p_y.y"
+#line 1418 "asn1p_y.y"
{
yyval.a_refcomp.lex_type = RLT_AmpUppercase;
yyval.a_refcomp.name = yyvsp[0].tv_str;
@@ -3168,7 +3181,7 @@ yyreduce:
break;
case 144:
-#line 1422 "asn1p_y.y"
+#line 1423 "asn1p_y.y"
{
yyval.a_refcomp.lex_type = RLT_Amplowercase;
yyval.a_refcomp.name = yyvsp[0].tv_str;
@@ -3176,7 +3189,7 @@ yyreduce:
break;
case 145:
-#line 1431 "asn1p_y.y"
+#line 1432 "asn1p_y.y"
{
yyval.a_ref = asn1p_ref_new(yylineno);
asn1p_ref_add_component(yyval.a_ref, yyvsp[0].tv_str, RLT_AmpUppercase);
@@ -3184,7 +3197,7 @@ yyreduce:
break;
case 146:
-#line 1435 "asn1p_y.y"
+#line 1436 "asn1p_y.y"
{
yyval.a_ref = yyval.a_ref;
asn1p_ref_add_component(yyval.a_ref, yyvsp[0].tv_str, RLT_AmpUppercase);
@@ -3192,7 +3205,7 @@ yyreduce:
break;
case 147:
-#line 1439 "asn1p_y.y"
+#line 1440 "asn1p_y.y"
{
yyval.a_ref = yyval.a_ref;
asn1p_ref_add_component(yyval.a_ref, yyvsp[0].tv_str, RLT_Amplowercase);
@@ -3200,7 +3213,7 @@ yyreduce:
break;
case 148:
-#line 1446 "asn1p_y.y"
+#line 1447 "asn1p_y.y"
{
yyval.a_ref = asn1p_ref_new(yylineno);
asn1p_ref_add_component(yyval.a_ref, yyvsp[0].tv_str, RLT_CAPITALS);
@@ -3208,7 +3221,7 @@ yyreduce:
break;
case 149:
-#line 1466 "asn1p_y.y"
+#line 1467 "asn1p_y.y"
{
yyval.a_expr = yyvsp[-2].a_expr;
assert(yyval.a_expr->Identifier == NULL);
@@ -3219,7 +3232,7 @@ yyreduce:
break;
case 152:
-#line 1478 "asn1p_y.y"
+#line 1479 "asn1p_y.y"
{
yyval.a_value = asn1p_value_fromint(0);
checkmem(yyval.a_value);
@@ -3230,12 +3243,12 @@ yyreduce:
break;
case 153:
-#line 1485 "asn1p_y.y"
+#line 1486 "asn1p_y.y"
{ asn1p_lexer_hack_push_opaque_state(); }
break;
case 154:
-#line 1485 "asn1p_y.y"
+#line 1486 "asn1p_y.y"
{
yyval.a_value = asn1p_value_frombuf(yyvsp[0].tv_opaque.buf, yyvsp[0].tv_opaque.len, 0);
checkmem(yyval.a_value);
@@ -3244,7 +3257,7 @@ yyreduce:
break;
case 155:
-#line 1490 "asn1p_y.y"
+#line 1491 "asn1p_y.y"
{
yyval.a_value = asn1p_value_fromint(0);
checkmem(yyval.a_value);
@@ -3253,7 +3266,7 @@ yyreduce:
break;
case 156:
-#line 1498 "asn1p_y.y"
+#line 1499 "asn1p_y.y"
{
yyval.a_value = asn1p_value_fromint(0);
checkmem(yyval.a_value);
@@ -3262,7 +3275,7 @@ yyreduce:
break;
case 157:
-#line 1503 "asn1p_y.y"
+#line 1504 "asn1p_y.y"
{
yyval.a_value = asn1p_value_fromint(0);
checkmem(yyval.a_value);
@@ -3271,7 +3284,7 @@ yyreduce:
break;
case 158:
-#line 1508 "asn1p_y.y"
+#line 1509 "asn1p_y.y"
{
yyval.a_value = _convert_bitstring2binary(yyvsp[0].tv_str, 'B');
checkmem(yyval.a_value);
@@ -3279,7 +3292,7 @@ yyreduce:
break;
case 159:
-#line 1512 "asn1p_y.y"
+#line 1513 "asn1p_y.y"
{
yyval.a_value = _convert_bitstring2binary(yyvsp[0].tv_str, 'H');
checkmem(yyval.a_value);
@@ -3287,21 +3300,21 @@ yyreduce:
break;
case 160:
-#line 1516 "asn1p_y.y"
+#line 1517 "asn1p_y.y"
{
yyval.a_value = yyval.a_value;
}
break;
case 161:
-#line 1519 "asn1p_y.y"
+#line 1520 "asn1p_y.y"
{
yyval.a_value = yyvsp[0].a_value;
}
break;
case 162:
-#line 1525 "asn1p_y.y"
+#line 1526 "asn1p_y.y"
{
asn1p_ref_t *ref;
int ret;
@@ -3316,7 +3329,7 @@ yyreduce:
break;
case 163:
-#line 1536 "asn1p_y.y"
+#line 1537 "asn1p_y.y"
{
asn1p_ref_t *ref;
int ret;
@@ -3334,7 +3347,7 @@ yyreduce:
break;
case 164:
-#line 1554 "asn1p_y.y"
+#line 1555 "asn1p_y.y"
{
yyval.a_value = asn1p_value_frombuf(yyvsp[0].tv_opaque.buf, yyvsp[0].tv_opaque.len, 0);
checkmem(yyval.a_value);
@@ -3342,7 +3355,7 @@ yyreduce:
break;
case 165:
-#line 1558 "asn1p_y.y"
+#line 1559 "asn1p_y.y"
{
yyval.a_value = asn1p_value_fromint(yyvsp[0].a_int);
checkmem(yyval.a_value);
@@ -3351,7 +3364,7 @@ yyreduce:
break;
case 166:
-#line 1563 "asn1p_y.y"
+#line 1564 "asn1p_y.y"
{
yyval.a_value = asn1p_value_fromint(yyvsp[0].a_int);
checkmem(yyval.a_value);
@@ -3360,7 +3373,7 @@ yyreduce:
break;
case 167:
-#line 1597 "asn1p_y.y"
+#line 1598 "asn1p_y.y"
{
yyval.tv_opaque.len = yyvsp[0].tv_opaque.len + 1;
yyval.tv_opaque.buf = malloc(yyval.tv_opaque.len + 1);
@@ -3373,7 +3386,7 @@ yyreduce:
break;
case 168:
-#line 1606 "asn1p_y.y"
+#line 1607 "asn1p_y.y"
{
int newsize = yyvsp[-1].tv_opaque.len + yyvsp[0].tv_opaque.len;
char *p = malloc(newsize + 1);
@@ -3389,87 +3402,87 @@ yyreduce:
break;
case 169:
-#line 1621 "asn1p_y.y"
+#line 1622 "asn1p_y.y"
{ yyval.a_type = ASN_BASIC_BOOLEAN; }
break;
case 170:
-#line 1622 "asn1p_y.y"
+#line 1623 "asn1p_y.y"
{ yyval.a_type = ASN_BASIC_NULL; }
break;
case 171:
-#line 1623 "asn1p_y.y"
+#line 1624 "asn1p_y.y"
{ yyval.a_type = ASN_BASIC_REAL; }
break;
case 172:
-#line 1624 "asn1p_y.y"
+#line 1625 "asn1p_y.y"
{ yyval.a_type = yyvsp[0].a_type; }
break;
case 173:
-#line 1625 "asn1p_y.y"
+#line 1626 "asn1p_y.y"
{ yyval.a_type = ASN_BASIC_OCTET_STRING; }
break;
case 174:
-#line 1626 "asn1p_y.y"
+#line 1627 "asn1p_y.y"
{ yyval.a_type = ASN_BASIC_OBJECT_IDENTIFIER; }
break;
case 175:
-#line 1627 "asn1p_y.y"
+#line 1628 "asn1p_y.y"
{ yyval.a_type = ASN_BASIC_RELATIVE_OID; }
break;
case 176:
-#line 1628 "asn1p_y.y"
+#line 1629 "asn1p_y.y"
{ yyval.a_type = ASN_BASIC_EXTERNAL; }
break;
case 177:
-#line 1629 "asn1p_y.y"
+#line 1630 "asn1p_y.y"
{ yyval.a_type = ASN_BASIC_EMBEDDED_PDV; }
break;
case 178:
-#line 1630 "asn1p_y.y"
+#line 1631 "asn1p_y.y"
{ yyval.a_type = ASN_BASIC_CHARACTER_STRING; }
break;
case 179:
-#line 1631 "asn1p_y.y"
+#line 1632 "asn1p_y.y"
{ yyval.a_type = ASN_BASIC_UTCTime; }
break;
case 180:
-#line 1632 "asn1p_y.y"
+#line 1633 "asn1p_y.y"
{ yyval.a_type = ASN_BASIC_GeneralizedTime; }
break;
case 181:
-#line 1633 "asn1p_y.y"
+#line 1634 "asn1p_y.y"
{ yyval.a_type = yyvsp[0].a_type; }
break;
case 182:
-#line 1640 "asn1p_y.y"
+#line 1641 "asn1p_y.y"
{ yyval.a_type = ASN_BASIC_INTEGER; }
break;
case 183:
-#line 1641 "asn1p_y.y"
+#line 1642 "asn1p_y.y"
{ yyval.a_type = ASN_BASIC_ENUMERATED; }
break;
case 184:
-#line 1642 "asn1p_y.y"
+#line 1643 "asn1p_y.y"
{ yyval.a_type = ASN_BASIC_BIT_STRING; }
break;
case 185:
-#line 1646 "asn1p_y.y"
+#line 1647 "asn1p_y.y"
{
yyval.a_expr = NEW_EXPR();
checkmem(yyval.a_expr);
@@ -3479,7 +3492,7 @@ yyreduce:
break;
case 186:
-#line 1652 "asn1p_y.y"
+#line 1653 "asn1p_y.y"
{
if(yyvsp[0].a_expr) {
yyval.a_expr = yyvsp[0].a_expr;
@@ -3493,12 +3506,12 @@ yyreduce:
break;
case 187:
-#line 1665 "asn1p_y.y"
+#line 1666 "asn1p_y.y"
{ yyval.a_type = ASN_STRING_BMPString; }
break;
case 188:
-#line 1666 "asn1p_y.y"
+#line 1667 "asn1p_y.y"
{
yyval.a_type = ASN_STRING_GeneralString;
fprintf(stderr, "WARNING: GeneralString is not fully supported\n");
@@ -3506,7 +3519,7 @@ yyreduce:
break;
case 189:
-#line 1670 "asn1p_y.y"
+#line 1671 "asn1p_y.y"
{
yyval.a_type = ASN_STRING_GraphicString;
fprintf(stderr, "WARNING: GraphicString is not fully supported\n");
@@ -3514,27 +3527,27 @@ yyreduce:
break;
case 190:
-#line 1674 "asn1p_y.y"
+#line 1675 "asn1p_y.y"
{ yyval.a_type = ASN_STRING_IA5String; }
break;
case 191:
-#line 1675 "asn1p_y.y"
+#line 1676 "asn1p_y.y"
{ yyval.a_type = ASN_STRING_ISO646String; }
break;
case 192:
-#line 1676 "asn1p_y.y"
+#line 1677 "asn1p_y.y"
{ yyval.a_type = ASN_STRING_NumericString; }
break;
case 193:
-#line 1677 "asn1p_y.y"
+#line 1678 "asn1p_y.y"
{ yyval.a_type = ASN_STRING_PrintableString; }
break;
case 194:
-#line 1678 "asn1p_y.y"
+#line 1679 "asn1p_y.y"
{
yyval.a_type = ASN_STRING_T61String;
fprintf(stderr, "WARNING: T61String is not fully supported\n");
@@ -3542,22 +3555,22 @@ yyreduce:
break;
case 195:
-#line 1682 "asn1p_y.y"
+#line 1683 "asn1p_y.y"
{ yyval.a_type = ASN_STRING_TeletexString; }
break;
case 196:
-#line 1683 "asn1p_y.y"
+#line 1684 "asn1p_y.y"
{ yyval.a_type = ASN_STRING_UniversalString; }
break;
case 197:
-#line 1684 "asn1p_y.y"
+#line 1685 "asn1p_y.y"
{ yyval.a_type = ASN_STRING_UTF8String; }
break;
case 198:
-#line 1685 "asn1p_y.y"
+#line 1686 "asn1p_y.y"
{
yyval.a_type = ASN_STRING_VideotexString;
fprintf(stderr, "WARNING: VideotexString is not fully supported\n");
@@ -3565,43 +3578,43 @@ yyreduce:
break;
case 199:
-#line 1689 "asn1p_y.y"
+#line 1690 "asn1p_y.y"
{ yyval.a_type = ASN_STRING_VisibleString; }
break;
case 200:
-#line 1690 "asn1p_y.y"
+#line 1691 "asn1p_y.y"
{ yyval.a_type = ASN_STRING_ObjectDescriptor; }
break;
case 205:
-#line 1701 "asn1p_y.y"
+#line 1702 "asn1p_y.y"
{ yyval.a_constr = 0; }
break;
case 206:
-#line 1702 "asn1p_y.y"
+#line 1703 "asn1p_y.y"
{
yyval.a_constr = yyvsp[0].a_constr;
}
break;
case 208:
-#line 1709 "asn1p_y.y"
+#line 1710 "asn1p_y.y"
{
yyval.a_constr = yyvsp[-1].a_constr;
}
break;
case 209:
-#line 1715 "asn1p_y.y"
+#line 1716 "asn1p_y.y"
{
CONSTRAINT_INSERT(yyval.a_constr, ACT_CA_SET, yyvsp[0].a_constr, 0);
}
break;
case 210:
-#line 1718 "asn1p_y.y"
+#line 1719 "asn1p_y.y"
{
/*
* This is a special case, for compatibility purposes.
@@ -3612,21 +3625,21 @@ yyreduce:
break;
case 211:
-#line 1728 "asn1p_y.y"
+#line 1729 "asn1p_y.y"
{
yyval.a_constr = yyvsp[-1].a_constr;
}
break;
case 212:
-#line 1731 "asn1p_y.y"
+#line 1732 "asn1p_y.y"
{
CONSTRAINT_INSERT(yyval.a_constr, ACT_CA_SET, yyvsp[-3].a_constr, yyvsp[-1].a_constr);
}
break;
case 213:
-#line 1737 "asn1p_y.y"
+#line 1738 "asn1p_y.y"
{
yyval.a_constr = asn1p_constraint_new(yylineno);
yyval.a_constr->type = ACT_EL_EXT;
@@ -3634,14 +3647,14 @@ yyreduce:
break;
case 214:
-#line 1741 "asn1p_y.y"
+#line 1742 "asn1p_y.y"
{
yyval.a_constr = yyvsp[0].a_constr;
}
break;
case 215:
-#line 1744 "asn1p_y.y"
+#line 1745 "asn1p_y.y"
{
asn1p_constraint_t *ct;
ct = asn1p_constraint_new(yylineno);
@@ -3651,7 +3664,7 @@ yyreduce:
break;
case 216:
-#line 1750 "asn1p_y.y"
+#line 1751 "asn1p_y.y"
{
asn1p_constraint_t *ct;
ct = asn1p_constraint_new(yylineno);
@@ -3663,35 +3676,35 @@ yyreduce:
break;
case 218:
-#line 1762 "asn1p_y.y"
+#line 1763 "asn1p_y.y"
{
CONSTRAINT_INSERT(yyval.a_constr, ACT_CA_AEX, yyvsp[0].a_constr, 0);
}
break;
case 220:
-#line 1769 "asn1p_y.y"
+#line 1770 "asn1p_y.y"
{
CONSTRAINT_INSERT(yyval.a_constr, ACT_CA_UNI, yyvsp[-2].a_constr, yyvsp[0].a_constr);
}
break;
case 222:
-#line 1776 "asn1p_y.y"
+#line 1777 "asn1p_y.y"
{
CONSTRAINT_INSERT(yyval.a_constr, ACT_CA_INT, yyvsp[-2].a_constr, yyvsp[0].a_constr);
}
break;
case 224:
-#line 1784 "asn1p_y.y"
+#line 1785 "asn1p_y.y"
{
CONSTRAINT_INSERT(yyval.a_constr, ACT_CA_EXC, yyvsp[-2].a_constr, yyvsp[0].a_constr);
}
break;
case 225:
-#line 1790 "asn1p_y.y"
+#line 1791 "asn1p_y.y"
{
int ret;
yyval.a_constr = asn1p_constraint_new(yylineno);
@@ -3703,7 +3716,7 @@ yyreduce:
break;
case 226:
-#line 1798 "asn1p_y.y"
+#line 1799 "asn1p_y.y"
{
int ret;
yyval.a_constr = asn1p_constraint_new(yylineno);
@@ -3715,7 +3728,7 @@ yyreduce:
break;
case 227:
-#line 1806 "asn1p_y.y"
+#line 1807 "asn1p_y.y"
{
yyval.a_constr = asn1p_constraint_new(yylineno);
checkmem(yyval.a_constr);
@@ -3725,7 +3738,7 @@ yyreduce:
break;
case 228:
-#line 1812 "asn1p_y.y"
+#line 1813 "asn1p_y.y"
{
yyval.a_constr = asn1p_constraint_new(yylineno);
checkmem(yyval.a_constr);
@@ -3735,7 +3748,7 @@ yyreduce:
break;
case 229:
-#line 1818 "asn1p_y.y"
+#line 1819 "asn1p_y.y"
{
yyval.a_constr = asn1p_constraint_new(yylineno);
checkmem(yyval.a_constr);
@@ -3746,7 +3759,7 @@ yyreduce:
break;
case 230:
-#line 1825 "asn1p_y.y"
+#line 1826 "asn1p_y.y"
{
yyval.a_constr = asn1p_constraint_new(yylineno);
checkmem(yyval.a_constr);
@@ -3758,7 +3771,7 @@ yyreduce:
break;
case 231:
-#line 1833 "asn1p_y.y"
+#line 1834 "asn1p_y.y"
{
yyval.a_constr = asn1p_constraint_new(yylineno);
checkmem(yyval.a_constr);
@@ -3770,7 +3783,7 @@ yyreduce:
break;
case 232:
-#line 1841 "asn1p_y.y"
+#line 1842 "asn1p_y.y"
{
yyval.a_constr = asn1p_constraint_new(yylineno);
checkmem(yyval.a_constr);
@@ -3783,37 +3796,65 @@ yyreduce:
break;
case 233:
-#line 1850 "asn1p_y.y"
+#line 1851 "asn1p_y.y"
{
yyval.a_constr = yyvsp[0].a_constr;
}
break;
case 234:
-#line 1856 "asn1p_y.y"
+#line 1854 "asn1p_y.y"
{
- yyval.a_ctype = ACT_CT_SIZE;
+ yyval.a_constr = yyvsp[0].a_constr;
}
break;
case 235:
-#line 1859 "asn1p_y.y"
+#line 1860 "asn1p_y.y"
{
- yyval.a_ctype = ACT_CT_FROM;
+ yyval.a_constr = asn1p_constraint_new(yylineno);
+ yyval.a_constr->type = ACT_CT_PATTERN;
+ yyval.a_constr->value = asn1p_value_frombuf(yyvsp[0].tv_opaque.buf, yyvsp[0].tv_opaque.len, 0);
}
break;
case 236:
#line 1865 "asn1p_y.y"
{
+ asn1p_ref_t *ref;
+ yyval.a_constr = asn1p_constraint_new(yylineno);
+ yyval.a_constr->type = ACT_CT_PATTERN;
+ ref = asn1p_ref_new(yylineno);
+ asn1p_ref_add_component(ref, yyvsp[0].tv_str, RLT_lowercase);
+ yyval.a_constr->value = asn1p_value_fromref(ref, 0);
+ }
+ break;
+
+ case 237:
+#line 1876 "asn1p_y.y"
+ {
+ yyval.a_ctype = ACT_CT_SIZE;
+ }
+ break;
+
+ case 238:
+#line 1879 "asn1p_y.y"
+ {
+ yyval.a_ctype = ACT_CT_FROM;
+ }
+ break;
+
+ case 239:
+#line 1885 "asn1p_y.y"
+ {
yyval.a_value = asn1p_value_fromint(0);
checkmem(yyval.a_value);
yyval.a_value->type = ATV_FALSE;
}
break;
- case 237:
-#line 1870 "asn1p_y.y"
+ case 240:
+#line 1890 "asn1p_y.y"
{
yyval.a_value = asn1p_value_fromint(1);
checkmem(yyval.a_value);
@@ -3821,8 +3862,8 @@ yyreduce:
}
break;
- case 240:
-#line 1877 "asn1p_y.y"
+ case 243:
+#line 1897 "asn1p_y.y"
{
asn1p_ref_t *ref;
int ret;
@@ -3836,8 +3877,8 @@ yyreduce:
}
break;
- case 241:
-#line 1891 "asn1p_y.y"
+ case 244:
+#line 1911 "asn1p_y.y"
{
asn1p_ref_t *ref;
int ret;
@@ -3851,36 +3892,36 @@ yyreduce:
}
break;
- case 242:
-#line 1905 "asn1p_y.y"
+ case 245:
+#line 1925 "asn1p_y.y"
{
CONSTRAINT_INSERT(yyval.a_constr, ACT_CT_WCOMP, yyvsp[0].a_constr, 0);
}
break;
- case 243:
-#line 1908 "asn1p_y.y"
+ case 246:
+#line 1928 "asn1p_y.y"
{
CONSTRAINT_INSERT(yyval.a_constr, ACT_CT_WCOMPS, yyvsp[-1].a_constr, 0);
}
break;
- case 244:
-#line 1914 "asn1p_y.y"
+ case 247:
+#line 1934 "asn1p_y.y"
{
yyval.a_constr = yyvsp[0].a_constr;
}
break;
- case 245:
-#line 1917 "asn1p_y.y"
+ case 248:
+#line 1937 "asn1p_y.y"
{
CONSTRAINT_INSERT(yyval.a_constr, ACT_CT_WCOMPS, yyvsp[-2].a_constr, yyvsp[0].a_constr);
}
break;
- case 246:
-#line 1923 "asn1p_y.y"
+ case 249:
+#line 1943 "asn1p_y.y"
{
yyval.a_constr = asn1p_constraint_new(yylineno);
checkmem(yyval.a_constr);
@@ -3889,8 +3930,8 @@ yyreduce:
}
break;
- case 247:
-#line 1929 "asn1p_y.y"
+ case 250:
+#line 1949 "asn1p_y.y"
{
yyval.a_constr = asn1p_constraint_new(yylineno);
checkmem(yyval.a_constr);
@@ -3901,44 +3942,44 @@ yyreduce:
}
break;
- case 248:
-#line 1943 "asn1p_y.y"
+ case 251:
+#line 1963 "asn1p_y.y"
{ yyval.a_pres = ACPRES_DEFAULT; }
break;
- case 249:
-#line 1944 "asn1p_y.y"
+ case 252:
+#line 1964 "asn1p_y.y"
{ yyval.a_pres = yyvsp[0].a_pres; }
break;
- case 250:
-#line 1948 "asn1p_y.y"
+ case 253:
+#line 1968 "asn1p_y.y"
{
yyval.a_pres = ACPRES_PRESENT;
}
break;
- case 251:
-#line 1951 "asn1p_y.y"
+ case 254:
+#line 1971 "asn1p_y.y"
{
yyval.a_pres = ACPRES_ABSENT;
}
break;
- case 252:
-#line 1954 "asn1p_y.y"
+ case 255:
+#line 1974 "asn1p_y.y"
{
yyval.a_pres = ACPRES_OPTIONAL;
}
break;
- case 256:
-#line 1969 "asn1p_y.y"
+ case 259:
+#line 1989 "asn1p_y.y"
{ asn1p_lexer_hack_push_opaque_state(); }
break;
- case 257:
-#line 1969 "asn1p_y.y"
+ case 260:
+#line 1989 "asn1p_y.y"
{
yyval.a_constr = asn1p_constraint_new(yylineno);
checkmem(yyval.a_constr);
@@ -3949,8 +3990,8 @@ yyreduce:
}
break;
- case 258:
-#line 1980 "asn1p_y.y"
+ case 261:
+#line 2000 "asn1p_y.y"
{
yyval.a_constr = asn1p_constraint_new(yylineno);
yyval.a_constr->type = ACT_CT_CTNG;
@@ -3958,42 +3999,42 @@ yyreduce:
}
break;
- case 259:
-#line 1988 "asn1p_y.y"
+ case 262:
+#line 2008 "asn1p_y.y"
{ yyval.a_ctype = ACT_EL_RANGE; }
break;
- case 260:
-#line 1989 "asn1p_y.y"
+ case 263:
+#line 2009 "asn1p_y.y"
{ yyval.a_ctype = ACT_EL_RLRANGE; }
break;
- case 261:
-#line 1990 "asn1p_y.y"
+ case 264:
+#line 2010 "asn1p_y.y"
{ yyval.a_ctype = ACT_EL_LLRANGE; }
break;
- case 262:
-#line 1991 "asn1p_y.y"
+ case 265:
+#line 2011 "asn1p_y.y"
{ yyval.a_ctype = ACT_EL_ULRANGE; }
break;
- case 263:
-#line 1994 "asn1p_y.y"
+ case 266:
+#line 2014 "asn1p_y.y"
{
yyval.a_constr = yyvsp[0].a_constr;
}
break;
- case 264:
-#line 1997 "asn1p_y.y"
+ case 267:
+#line 2017 "asn1p_y.y"
{
yyval.a_constr = yyvsp[0].a_constr;
}
break;
- case 265:
-#line 2006 "asn1p_y.y"
+ case 268:
+#line 2026 "asn1p_y.y"
{
asn1p_ref_t *ref = asn1p_ref_new(yylineno);
asn1p_constraint_t *ct;
@@ -4008,15 +4049,15 @@ yyreduce:
}
break;
- case 266:
-#line 2021 "asn1p_y.y"
+ case 269:
+#line 2041 "asn1p_y.y"
{
CONSTRAINT_INSERT(yyval.a_constr, ACT_CA_CRC, yyvsp[-3].a_constr, yyvsp[-1].a_constr);
}
break;
- case 267:
-#line 2027 "asn1p_y.y"
+ case 270:
+#line 2047 "asn1p_y.y"
{
yyval.a_constr = asn1p_constraint_new(yylineno);
checkmem(yyval.a_constr);
@@ -4025,8 +4066,8 @@ yyreduce:
}
break;
- case 268:
-#line 2033 "asn1p_y.y"
+ case 271:
+#line 2053 "asn1p_y.y"
{
asn1p_constraint_t *ct;
ct = asn1p_constraint_new(yylineno);
@@ -4037,8 +4078,8 @@ yyreduce:
}
break;
- case 269:
-#line 2047 "asn1p_y.y"
+ case 272:
+#line 2067 "asn1p_y.y"
{
char *p = malloc(strlen(yyvsp[0].tv_str) + 2);
int ret;
@@ -4052,8 +4093,8 @@ yyreduce:
}
break;
- case 270:
-#line 2058 "asn1p_y.y"
+ case 273:
+#line 2078 "asn1p_y.y"
{
char *p = malloc(strlen(yyvsp[0].tv_str) + 3);
int ret;
@@ -4068,15 +4109,15 @@ yyreduce:
}
break;
- case 271:
-#line 2074 "asn1p_y.y"
+ case 274:
+#line 2094 "asn1p_y.y"
{
yyval.tv_str = yyvsp[0].tv_str;
}
break;
- case 272:
-#line 2077 "asn1p_y.y"
+ case 275:
+#line 2097 "asn1p_y.y"
{
int l1 = strlen(yyvsp[-2].tv_str);
int l3 = strlen(yyvsp[0].tv_str);
@@ -4088,52 +4129,52 @@ yyreduce:
}
break;
- case 273:
-#line 2095 "asn1p_y.y"
+ case 276:
+#line 2115 "asn1p_y.y"
{
yyval.a_marker.flags = EM_NOMARK;
yyval.a_marker.default_value = 0;
}
break;
- case 274:
-#line 2099 "asn1p_y.y"
+ case 277:
+#line 2119 "asn1p_y.y"
{ yyval.a_marker = yyvsp[0].a_marker; }
break;
- case 275:
-#line 2103 "asn1p_y.y"
+ case 278:
+#line 2123 "asn1p_y.y"
{
yyval.a_marker.flags = EM_OPTIONAL | EM_INDIRECT;
yyval.a_marker.default_value = 0;
}
break;
- case 276:
-#line 2107 "asn1p_y.y"
+ case 279:
+#line 2127 "asn1p_y.y"
{
yyval.a_marker.flags = EM_DEFAULT;
yyval.a_marker.default_value = yyvsp[0].a_value;
}
break;
- case 277:
-#line 2130 "asn1p_y.y"
+ case 280:
+#line 2150 "asn1p_y.y"
{
yyval.a_expr = NEW_EXPR();
checkmem(yyval.a_expr);
}
break;
- case 278:
-#line 2134 "asn1p_y.y"
+ case 281:
+#line 2154 "asn1p_y.y"
{
yyval.a_expr = yyvsp[-1].a_expr;
}
break;
- case 279:
-#line 2140 "asn1p_y.y"
+ case 282:
+#line 2160 "asn1p_y.y"
{
yyval.a_expr = NEW_EXPR();
checkmem(yyval.a_expr);
@@ -4141,16 +4182,16 @@ yyreduce:
}
break;
- case 280:
-#line 2145 "asn1p_y.y"
+ case 283:
+#line 2165 "asn1p_y.y"
{
yyval.a_expr = yyvsp[-2].a_expr;
asn1p_expr_add(yyval.a_expr, yyvsp[0].a_expr);
}
break;
- case 281:
-#line 2152 "asn1p_y.y"
+ case 284:
+#line 2172 "asn1p_y.y"
{
yyval.a_expr = NEW_EXPR();
checkmem(yyval.a_expr);
@@ -4160,8 +4201,8 @@ yyreduce:
}
break;
- case 282:
-#line 2159 "asn1p_y.y"
+ case 285:
+#line 2179 "asn1p_y.y"
{
yyval.a_expr = NEW_EXPR();
checkmem(yyval.a_expr);
@@ -4172,8 +4213,8 @@ yyreduce:
}
break;
- case 283:
-#line 2167 "asn1p_y.y"
+ case 286:
+#line 2187 "asn1p_y.y"
{
yyval.a_expr = NEW_EXPR();
checkmem(yyval.a_expr);
@@ -4184,8 +4225,8 @@ yyreduce:
}
break;
- case 284:
-#line 2175 "asn1p_y.y"
+ case 287:
+#line 2195 "asn1p_y.y"
{
yyval.a_expr = NEW_EXPR();
checkmem(yyval.a_expr);
@@ -4195,8 +4236,8 @@ yyreduce:
}
break;
- case 285:
-#line 2182 "asn1p_y.y"
+ case 288:
+#line 2202 "asn1p_y.y"
{
yyval.a_expr = NEW_EXPR();
checkmem(yyval.a_expr);
@@ -4207,129 +4248,129 @@ yyreduce:
}
break;
- case 286:
-#line 2193 "asn1p_y.y"
+ case 289:
+#line 2213 "asn1p_y.y"
{
yyval.a_value = asn1p_value_fromint(yyvsp[0].a_int);
checkmem(yyval.a_value);
}
break;
- case 287:
-#line 2197 "asn1p_y.y"
+ case 290:
+#line 2217 "asn1p_y.y"
{
yyval.a_value = asn1p_value_fromint(yyvsp[0].a_int);
checkmem(yyval.a_value);
}
break;
- case 289:
-#line 2205 "asn1p_y.y"
+ case 292:
+#line 2225 "asn1p_y.y"
{
yyval.a_value = asn1p_value_fromdouble(yyvsp[0].a_dbl);
checkmem(yyval.a_value);
}
break;
- case 290:
-#line 2236 "asn1p_y.y"
+ case 293:
+#line 2256 "asn1p_y.y"
{ memset(&yyval.a_tag, 0, sizeof(yyval.a_tag)); }
break;
- case 291:
-#line 2237 "asn1p_y.y"
+ case 294:
+#line 2257 "asn1p_y.y"
{ yyval.a_tag = yyvsp[0].a_tag; }
break;
- case 292:
-#line 2241 "asn1p_y.y"
+ case 295:
+#line 2261 "asn1p_y.y"
{
yyval.a_tag = yyvsp[-1].a_tag;
yyval.a_tag.tag_mode = yyvsp[0].a_tag.tag_mode;
}
break;
- case 293:
-#line 2248 "asn1p_y.y"
+ case 296:
+#line 2268 "asn1p_y.y"
{
yyval.a_tag = yyvsp[-2].a_tag;
yyval.a_tag.tag_value = yyvsp[-1].a_int;
}
break;
- case 294:
-#line 2254 "asn1p_y.y"
+ case 297:
+#line 2274 "asn1p_y.y"
{ yyval.a_tag.tag_class = TC_CONTEXT_SPECIFIC; }
break;
- case 295:
-#line 2255 "asn1p_y.y"
+ case 298:
+#line 2275 "asn1p_y.y"
{ yyval.a_tag.tag_class = TC_UNIVERSAL; }
break;
- case 296:
-#line 2256 "asn1p_y.y"
+ case 299:
+#line 2276 "asn1p_y.y"
{ yyval.a_tag.tag_class = TC_APPLICATION; }
break;
- case 297:
-#line 2257 "asn1p_y.y"
+ case 300:
+#line 2277 "asn1p_y.y"
{ yyval.a_tag.tag_class = TC_PRIVATE; }
break;
- case 298:
-#line 2261 "asn1p_y.y"
+ case 301:
+#line 2281 "asn1p_y.y"
{ yyval.a_tag.tag_mode = TM_DEFAULT; }
break;
- case 299:
-#line 2262 "asn1p_y.y"
+ case 302:
+#line 2282 "asn1p_y.y"
{ yyval.a_tag.tag_mode = TM_IMPLICIT; }
break;
- case 300:
-#line 2263 "asn1p_y.y"
+ case 303:
+#line 2283 "asn1p_y.y"
{ yyval.a_tag.tag_mode = TM_EXPLICIT; }
break;
- case 301:
-#line 2267 "asn1p_y.y"
+ case 304:
+#line 2287 "asn1p_y.y"
{
checkmem(yyvsp[0].tv_str);
yyval.tv_str = yyvsp[0].tv_str;
}
break;
- case 302:
-#line 2271 "asn1p_y.y"
+ case 305:
+#line 2291 "asn1p_y.y"
{
checkmem(yyvsp[0].tv_str);
yyval.tv_str = yyvsp[0].tv_str;
}
break;
- case 303:
-#line 2279 "asn1p_y.y"
+ case 306:
+#line 2299 "asn1p_y.y"
{
checkmem(yyvsp[0].tv_str);
yyval.tv_str = yyvsp[0].tv_str;
}
break;
- case 304:
-#line 2286 "asn1p_y.y"
+ case 307:
+#line 2306 "asn1p_y.y"
{ yyval.tv_str = 0; }
break;
- case 305:
-#line 2287 "asn1p_y.y"
+ case 308:
+#line 2307 "asn1p_y.y"
{
yyval.tv_str = yyvsp[0].tv_str;
}
break;
- case 306:
-#line 2293 "asn1p_y.y"
+ case 309:
+#line 2313 "asn1p_y.y"
{
checkmem(yyvsp[0].tv_str);
yyval.tv_str = yyvsp[0].tv_str;
@@ -4340,7 +4381,7 @@ yyreduce:
}
/* Line 1016 of /usr/local/share/bison/yacc.c. */
-#line 4344 "asn1p_y.c"
+#line 4385 "asn1p_y.c"
yyvsp -= yylen;
yyssp -= yylen;
@@ -4559,7 +4600,7 @@ yyreturn:
}
-#line 2299 "asn1p_y.y"
+#line 2319 "asn1p_y.y"
diff --git a/libasn1parser/asn1p_y.y b/libasn1parser/asn1p_y.y
index 7e638534..8289fa9a 100644
--- a/libasn1parser/asn1p_y.y
+++ b/libasn1parser/asn1p_y.y
@@ -325,6 +325,7 @@ static asn1p_module_t *currentModule;
%type <a_constr> UserDefinedConstraint
%type <a_constr> TableConstraint
%type <a_constr> ContentsConstraint
+%type <a_constr> PatternConstraint
%type <a_constr> InnerTypeConstraint
%type <a_constr> WithComponentsList
%type <a_constr> WithComponentsElement
@@ -1850,6 +1851,25 @@ ConstraintSubtypeElement:
| InnerTypeConstraint {
$$ = $1;
}
+ | PatternConstraint {
+ $$ = $1;
+ }
+ ;
+
+PatternConstraint:
+ TOK_PATTERN TOK_cstring {
+ $$ = asn1p_constraint_new(yylineno);
+ $$->type = ACT_CT_PATTERN;
+ $$->value = asn1p_value_frombuf($2.buf, $2.len, 0);
+ }
+ | TOK_PATTERN Identifier {
+ asn1p_ref_t *ref;
+ $$ = asn1p_constraint_new(yylineno);
+ $$->type = ACT_CT_PATTERN;
+ ref = asn1p_ref_new(yylineno);
+ asn1p_ref_add_component(ref, $2, RLT_lowercase);
+ $$->value = asn1p_value_fromref(ref, 0);
+ }
;
ConstraintSpec: