fixed multiple imports problem

diff --git a/libasn1parser/asn1p_y.c b/libasn1parser/asn1p_y.c
index 18c744a..5e56d43 100644
--- a/libasn1parser/asn1p_y.c
+++ b/libasn1parser/asn1p_y.c
@@ -359,7 +359,7 @@
 	} tv_nametag;
 } yystype;
 /* Line 193 of /usr/local/share/bison/yacc.c.  */
-#line 363 "y.tab.c"
+#line 363 "asn1p_y.c"
 # define YYSTYPE yystype
 # define YYSTYPE_IS_TRIVIAL 1
 #endif
@@ -380,7 +380,7 @@
 
 
 /* Line 213 of /usr/local/share/bison/yacc.c.  */
-#line 384 "y.tab.c"
+#line 384 "asn1p_y.c"
 
 #if ! defined (yyoverflow) || YYERROR_VERBOSE
 
@@ -648,29 +648,29 @@
 {
        0,   297,   297,   303,   309,   325,   350,   352,   355,   359,
      364,   371,   379,   384,   388,   397,   399,   407,   411,   419,
-     423,   426,   429,   437,   439,   448,   452,   477,   481,   490,
-     497,   510,   521,   534,   541,   546,   552,   558,   567,   573,
-     579,   586,   594,   598,   601,   608,   614,   620,   627,   636,
-     646,   654,   662,   664,   676,   688,   695,   711,   721,   731,
-     741,   746,   753,   763,   769,   775,   779,   791,   797,   803,
-     813,   815,   818,   826,   832,   841,   846,   863,   865,   872,
-     870,   879,   884,   890,   894,   919,   926,   931,   939,   948,
-     957,   968,   972,   978,   986,  1010,  1017,  1031,  1040,  1050,
-    1060,  1068,  1089,  1098,  1107,  1108,  1110,  1117,  1129,  1140,
-    1139,  1146,  1150,  1154,  1158,  1161,  1166,  1178,  1194,  1205,
-    1219,  1221,  1222,  1223,  1224,  1225,  1226,  1227,  1228,  1229,
-    1230,  1231,  1237,  1239,  1240,  1243,  1250,  1262,  1264,  1268,
-    1272,  1273,  1274,  1275,  1276,  1280,  1281,  1282,  1283,  1287,
-    1288,  1291,  1298,  1304,  1310,  1318,  1326,  1332,  1348,  1350,
-    1353,  1353,  1354,  1354,  1355,  1357,  1370,  1373,  1378,  1384,
-    1388,  1395,  1403,  1408,  1417,  1419,  1421,  1426,  1428,  1434,
-    1436,  1441,  1448,  1455,  1463,  1466,  1471,  1473,  1474,  1475,
-    1478,  1482,  1487,  1491,  1502,  1506,  1511,  1516,  1521,  1528,
-    1534,  1538,  1543,  1549,  1561,  1563,  1566,  1570,  1573,  1578,
-    1582,  1590,  1605,  1611,  1618,  1631,  1643,  1658,  1662,  1679,
-    1681,  1684,  1688,  1694,  1697,  1699,  1699,  1719,  1724,  1729,
-    1735,  1741,  1749,  1757,  1765,  1772,  1782,  1787,  1817,  1819,
-    1822,  1827,  1831,  1837,  1842,  1848,  1855,  1862,  1867
+     423,   426,   429,   437,   439,   448,   452,   478,   482,   491,
+     498,   511,   522,   535,   542,   547,   553,   559,   568,   574,
+     580,   587,   595,   599,   602,   609,   615,   621,   628,   637,
+     647,   655,   663,   665,   677,   689,   696,   712,   722,   732,
+     742,   747,   754,   764,   770,   776,   780,   792,   798,   804,
+     814,   816,   819,   827,   833,   842,   847,   864,   866,   873,
+     871,   880,   885,   891,   895,   920,   927,   932,   940,   949,
+     958,   969,   973,   979,   987,  1011,  1018,  1032,  1041,  1051,
+    1061,  1069,  1090,  1099,  1108,  1109,  1111,  1118,  1130,  1141,
+    1140,  1147,  1151,  1155,  1159,  1162,  1167,  1179,  1195,  1206,
+    1220,  1222,  1223,  1224,  1225,  1226,  1227,  1228,  1229,  1230,
+    1231,  1232,  1238,  1240,  1241,  1244,  1251,  1263,  1265,  1269,
+    1273,  1274,  1275,  1276,  1277,  1281,  1282,  1283,  1284,  1288,
+    1289,  1292,  1299,  1305,  1311,  1319,  1327,  1333,  1349,  1351,
+    1354,  1354,  1355,  1355,  1356,  1358,  1371,  1374,  1379,  1385,
+    1389,  1396,  1404,  1409,  1418,  1420,  1422,  1427,  1429,  1435,
+    1437,  1442,  1449,  1456,  1464,  1467,  1472,  1474,  1475,  1476,
+    1479,  1483,  1488,  1492,  1503,  1507,  1512,  1517,  1522,  1529,
+    1535,  1539,  1544,  1550,  1562,  1564,  1567,  1571,  1574,  1579,
+    1583,  1591,  1606,  1612,  1619,  1632,  1644,  1659,  1663,  1680,
+    1682,  1685,  1689,  1695,  1698,  1700,  1700,  1720,  1725,  1730,
+    1736,  1742,  1750,  1758,  1766,  1773,  1783,  1788,  1818,  1820,
+    1823,  1828,  1832,  1838,  1843,  1849,  1856,  1863,  1868
 };
 #endif
 
@@ -1893,12 +1893,13 @@
 #error	MY_IMPORT DEFINED ELSEWHERE!
 #endif
 #define	MY_IMPORT(foo,field)	do {				\
-		if(TQ_FIRST(&(yyvsp[0].a_module->foo))) {			\
+		while(TQ_FIRST(&(yyvsp[0].a_module->foo))) {			\
 			TQ_ADD(&(yyval.a_module->foo),			\
 				TQ_REMOVE(&(yyvsp[0].a_module->foo), field),	\
 				field);				\
-			assert(TQ_FIRST(&(yyvsp[0].a_module->foo)) == 0);	\
-		} } while(0)
+		}						\
+		assert(TQ_FIRST(&(yyvsp[0].a_module->foo)) == 0);		\
+	} while(0)
 
 		MY_IMPORT(imports, xp_next);
 		MY_IMPORT(exports, xp_next);
@@ -1909,14 +1910,14 @@
     break;
 
   case 27:
-#line 478 "asn1p_y.y"
+#line 479 "asn1p_y.y"
     {
 		yyval.a_module = yyvsp[0].a_module;
 	}
     break;
 
   case 28:
-#line 481 "asn1p_y.y"
+#line 482 "asn1p_y.y"
     {
 		yyval.a_module = asn1p_module_new();
 		checkmem(yyval.a_module);
@@ -1929,7 +1930,7 @@
     break;
 
   case 29:
-#line 490 "asn1p_y.y"
+#line 491 "asn1p_y.y"
     {
 		yyval.a_module = asn1p_module_new();
 		checkmem(yyval.a_module);
@@ -1940,7 +1941,7 @@
     break;
 
   case 30:
-#line 497 "asn1p_y.y"
+#line 498 "asn1p_y.y"
     {
 		yyval.a_module = asn1p_module_new();
 		checkmem(yyval.a_module);
@@ -1951,7 +1952,7 @@
     break;
 
   case 31:
-#line 510 "asn1p_y.y"
+#line 511 "asn1p_y.y"
     {
 		yyval.a_module = asn1p_module_new();
 		checkmem(yyval.a_module);
@@ -1962,7 +1963,7 @@
     break;
 
   case 32:
-#line 521 "asn1p_y.y"
+#line 522 "asn1p_y.y"
     {
 		return yyerror(
 			"Attempt to redefine a standard basic type, "
@@ -1972,21 +1973,21 @@
     break;
 
   case 33:
-#line 535 "asn1p_y.y"
+#line 536 "asn1p_y.y"
     {
 		yyval.a_module = yyvsp[-1].a_module;
 	}
     break;
 
   case 34:
-#line 541 "asn1p_y.y"
+#line 542 "asn1p_y.y"
     {
 		return yyerror("Empty IMPORTS list");
 	}
     break;
 
   case 35:
-#line 547 "asn1p_y.y"
+#line 548 "asn1p_y.y"
     {
 		yyval.a_module = asn1p_module_new();
 		checkmem(yyval.a_module);
@@ -1995,7 +1996,7 @@
     break;
 
   case 36:
-#line 552 "asn1p_y.y"
+#line 553 "asn1p_y.y"
     {
 		yyval.a_module = yyvsp[-1].a_module;
 		TQ_ADD(&(yyval.a_module->imports), yyvsp[0].a_xports, xp_next);
@@ -2003,7 +2004,7 @@
     break;
 
   case 37:
-#line 559 "asn1p_y.y"
+#line 560 "asn1p_y.y"
     {
 		yyval.a_xports = yyvsp[-3].a_xports;
 		yyval.a_xports->from = yyvsp[-1].tv_str;
@@ -2013,7 +2014,7 @@
     break;
 
   case 38:
-#line 568 "asn1p_y.y"
+#line 569 "asn1p_y.y"
     {
 		yyval.a_xports = asn1p_xports_new();
 		checkmem(yyval.a_xports);
@@ -2022,7 +2023,7 @@
     break;
 
   case 39:
-#line 573 "asn1p_y.y"
+#line 574 "asn1p_y.y"
     {
 		yyval.a_xports = yyvsp[-2].a_xports;
 		TQ_ADD(&(yyval.a_xports->members), yyvsp[0].a_expr, next);
@@ -2030,7 +2031,7 @@
     break;
 
   case 40:
-#line 580 "asn1p_y.y"
+#line 581 "asn1p_y.y"
     {
 		yyval.a_expr = asn1p_expr_new(yylineno);
 		checkmem(yyval.a_expr);
@@ -2040,7 +2041,7 @@
     break;
 
   case 41:
-#line 586 "asn1p_y.y"
+#line 587 "asn1p_y.y"
     {
 		yyval.a_expr = asn1p_expr_new(yylineno);
 		checkmem(yyval.a_expr);
@@ -2050,21 +2051,21 @@
     break;
 
   case 42:
-#line 595 "asn1p_y.y"
+#line 596 "asn1p_y.y"
     {
 		yyval.a_xports = yyvsp[-1].a_xports;
 	}
     break;
 
   case 43:
-#line 598 "asn1p_y.y"
+#line 599 "asn1p_y.y"
     {
 		yyval.a_xports = 0;
 	}
     break;
 
   case 44:
-#line 601 "asn1p_y.y"
+#line 602 "asn1p_y.y"
     {
 		/* Empty EXPORTS clause effectively prohibits export. */
 		yyval.a_xports = asn1p_xports_new();
@@ -2073,7 +2074,7 @@
     break;
 
   case 45:
-#line 609 "asn1p_y.y"
+#line 610 "asn1p_y.y"
     {
 		yyval.a_xports = asn1p_xports_new();
 		assert(yyval.a_xports);
@@ -2082,7 +2083,7 @@
     break;
 
   case 46:
-#line 614 "asn1p_y.y"
+#line 615 "asn1p_y.y"
     {
 		yyval.a_xports = yyvsp[-2].a_xports;
 		TQ_ADD(&(yyval.a_xports->members), yyvsp[0].a_expr, next);
@@ -2090,7 +2091,7 @@
     break;
 
   case 47:
-#line 621 "asn1p_y.y"
+#line 622 "asn1p_y.y"
     {
 		yyval.a_expr = asn1p_expr_new(yylineno);
 		checkmem(yyval.a_expr);
@@ -2100,7 +2101,7 @@
     break;
 
   case 48:
-#line 627 "asn1p_y.y"
+#line 628 "asn1p_y.y"
     {
 		yyval.a_expr = asn1p_expr_new(yylineno);
 		checkmem(yyval.a_expr);
@@ -2110,7 +2111,7 @@
     break;
 
   case 49:
-#line 637 "asn1p_y.y"
+#line 638 "asn1p_y.y"
     {
 		yyval.a_expr = yyvsp[-4].a_expr;
 		assert(yyval.a_expr->Identifier == 0);
@@ -2121,7 +2122,7 @@
     break;
 
   case 50:
-#line 647 "asn1p_y.y"
+#line 648 "asn1p_y.y"
     {
 		yyval.a_expr = asn1p_expr_new(yylineno);
 		checkmem(yyval.a_expr);
@@ -2132,7 +2133,7 @@
     break;
 
   case 51:
-#line 654 "asn1p_y.y"
+#line 655 "asn1p_y.y"
     {
 		yyval.a_expr = asn1p_expr_new(yylineno);
 		checkmem(yyval.a_expr);
@@ -2142,18 +2143,18 @@
     break;
 
   case 52:
-#line 663 "asn1p_y.y"
+#line 664 "asn1p_y.y"
     { }
     break;
 
   case 53:
-#line 664 "asn1p_y.y"
+#line 665 "asn1p_y.y"
     {
 	}
     break;
 
   case 54:
-#line 680 "asn1p_y.y"
+#line 681 "asn1p_y.y"
     {
 		yyval.a_expr = asn1p_expr_new(yylineno);
 		checkmem(yyval.a_expr);
@@ -2165,7 +2166,7 @@
     break;
 
   case 55:
-#line 688 "asn1p_y.y"
+#line 689 "asn1p_y.y"
     {
 		yyval.a_expr = yyvsp[0].a_expr;
 		yyval.a_expr->Identifier = yyvsp[-3].tv_str;
@@ -2176,7 +2177,7 @@
     break;
 
   case 56:
-#line 695 "asn1p_y.y"
+#line 696 "asn1p_y.y"
     {
 		yyval.a_expr = yyvsp[0].a_expr;
 		yyval.a_expr->Identifier = yyvsp[-2].tv_str;
@@ -2186,7 +2187,7 @@
     break;
 
   case 57:
-#line 712 "asn1p_y.y"
+#line 713 "asn1p_y.y"
     {
 		yyval.a_expr = yyvsp[0].a_expr;
 		assert(yyval.a_expr->Identifier == 0);
@@ -2197,7 +2198,7 @@
     break;
 
   case 58:
-#line 722 "asn1p_y.y"
+#line 723 "asn1p_y.y"
     {
 		int ret;
 		yyval.a_plist = asn1p_paramlist_new(yylineno);
@@ -2210,7 +2211,7 @@
     break;
 
   case 59:
-#line 731 "asn1p_y.y"
+#line 732 "asn1p_y.y"
     {
 		int ret;
 		yyval.a_plist = yyvsp[-2].a_plist;
@@ -2222,7 +2223,7 @@
     break;
 
   case 60:
-#line 742 "asn1p_y.y"
+#line 743 "asn1p_y.y"
     {
 		yyval.a_parg.governor = NULL;
 		yyval.a_parg.argument = yyvsp[0].tv_str;
@@ -2230,7 +2231,7 @@
     break;
 
   case 61:
-#line 746 "asn1p_y.y"
+#line 747 "asn1p_y.y"
     {
 		int ret;
 		yyval.a_parg.governor = asn1p_ref_new(yylineno);
@@ -2241,7 +2242,7 @@
     break;
 
   case 62:
-#line 753 "asn1p_y.y"
+#line 754 "asn1p_y.y"
     {
 		int ret;
 		yyval.a_parg.governor = asn1p_ref_new(yylineno);
@@ -2253,7 +2254,7 @@
     break;
 
   case 63:
-#line 764 "asn1p_y.y"
+#line 765 "asn1p_y.y"
     {
 		yyval.a_expr = asn1p_expr_new(yylineno);
 		checkmem(yyval.a_expr);
@@ -2262,7 +2263,7 @@
     break;
 
   case 64:
-#line 769 "asn1p_y.y"
+#line 770 "asn1p_y.y"
     {
 		yyval.a_expr = yyvsp[-2].a_expr;
 		TQ_ADD(&(yyval.a_expr->members), yyvsp[0].a_expr, next);
@@ -2270,14 +2271,14 @@
     break;
 
   case 65:
-#line 776 "asn1p_y.y"
+#line 777 "asn1p_y.y"
     {
 		yyval.a_expr = yyvsp[0].a_expr;
 	}
     break;
 
   case 66:
-#line 779 "asn1p_y.y"
+#line 780 "asn1p_y.y"
     {
 		yyval.a_expr = asn1p_expr_new(yylineno);
 		checkmem(yyval.a_expr);
@@ -2288,7 +2289,7 @@
     break;
 
   case 67:
-#line 792 "asn1p_y.y"
+#line 793 "asn1p_y.y"
     {
 		yyval.a_expr = asn1p_expr_new(yylineno);
 		checkmem(yyval.a_expr);
@@ -2297,7 +2298,7 @@
     break;
 
   case 68:
-#line 797 "asn1p_y.y"
+#line 798 "asn1p_y.y"
     {
 		yyval.a_expr = yyvsp[-2].a_expr;
 		TQ_ADD(&(yyval.a_expr->members), yyvsp[0].a_expr, next);
@@ -2305,7 +2306,7 @@
     break;
 
   case 69:
-#line 804 "asn1p_y.y"
+#line 805 "asn1p_y.y"
     {
 		yyval.a_expr = yyvsp[-2].a_expr;
 		checkmem(yyval.a_expr);
@@ -2316,17 +2317,17 @@
     break;
 
   case 70:
-#line 814 "asn1p_y.y"
+#line 815 "asn1p_y.y"
     { yyval.a_int = 0; }
     break;
 
   case 71:
-#line 815 "asn1p_y.y"
+#line 816 "asn1p_y.y"
     { yyval.a_int = 1; }
     break;
 
   case 72:
-#line 819 "asn1p_y.y"
+#line 820 "asn1p_y.y"
     {
 		yyval.a_expr = asn1p_expr_new(yylineno);
 		checkmem(yyval.a_expr);
@@ -2337,7 +2338,7 @@
     break;
 
   case 73:
-#line 826 "asn1p_y.y"
+#line 827 "asn1p_y.y"
     {
 		yyval.a_expr = yyvsp[-2].a_expr;
 		TQ_ADD(&(yyval.a_expr->members), yyvsp[0].a_expr, next);
@@ -2345,7 +2346,7 @@
     break;
 
   case 74:
-#line 833 "asn1p_y.y"
+#line 834 "asn1p_y.y"
     {
 		yyval.a_expr = asn1p_expr_new(yylineno);
 		checkmem(yyval.a_expr);
@@ -2357,7 +2358,7 @@
     break;
 
   case 75:
-#line 841 "asn1p_y.y"
+#line 842 "asn1p_y.y"
     {
 		yyval.a_expr = yyvsp[-1].a_expr;
 		yyval.a_expr->Identifier = yyvsp[-2].a_refcomp.name;
@@ -2366,7 +2367,7 @@
     break;
 
   case 76:
-#line 846 "asn1p_y.y"
+#line 847 "asn1p_y.y"
     {
 		int ret;
 		yyval.a_expr = asn1p_expr_new(yylineno);
@@ -2385,31 +2386,31 @@
     break;
 
   case 77:
-#line 864 "asn1p_y.y"
+#line 865 "asn1p_y.y"
     { yyval.a_wsynt = 0; }
     break;
 
   case 78:
-#line 865 "asn1p_y.y"
+#line 866 "asn1p_y.y"
     {
 		yyval.a_wsynt = yyvsp[0].a_wsynt;
 	}
     break;
 
   case 79:
-#line 872 "asn1p_y.y"
+#line 873 "asn1p_y.y"
     { asn1p_lexer_hack_enable_with_syntax(); }
     break;
 
   case 80:
-#line 874 "asn1p_y.y"
+#line 875 "asn1p_y.y"
     {
 		yyval.a_wsynt = yyvsp[-1].a_wsynt;
 	}
     break;
 
   case 81:
-#line 880 "asn1p_y.y"
+#line 881 "asn1p_y.y"
     {
 		yyval.a_wsynt = asn1p_wsyntx_new();
 		TQ_ADD(&(yyval.a_wsynt->chunks), yyvsp[0].a_wchunk, next);
@@ -2417,7 +2418,7 @@
     break;
 
   case 82:
-#line 884 "asn1p_y.y"
+#line 885 "asn1p_y.y"
     {
 		yyval.a_wsynt = yyvsp[-1].a_wsynt;
 		TQ_ADD(&(yyval.a_wsynt->chunks), yyvsp[0].a_wchunk, next);
@@ -2425,14 +2426,14 @@
     break;
 
   case 83:
-#line 891 "asn1p_y.y"
+#line 892 "asn1p_y.y"
     {
 		yyval.a_wchunk = asn1p_wsyntx_chunk_frombuf(yyvsp[0].tv_opaque.buf, yyvsp[0].tv_opaque.len, 0);
 	}
     break;
 
   case 84:
-#line 894 "asn1p_y.y"
+#line 895 "asn1p_y.y"
     {
 		asn1p_ref_t *ref;
 		int ret;
@@ -2445,7 +2446,7 @@
     break;
 
   case 85:
-#line 920 "asn1p_y.y"
+#line 921 "asn1p_y.y"
     {
 		yyval.a_expr = yyvsp[0].a_expr;
 		assert(yyval.a_expr->Identifier == 0);
@@ -2455,14 +2456,14 @@
     break;
 
   case 86:
-#line 926 "asn1p_y.y"
+#line 927 "asn1p_y.y"
     {
 		yyval.a_expr = yyvsp[0].a_expr;
 	}
     break;
 
   case 87:
-#line 932 "asn1p_y.y"
+#line 933 "asn1p_y.y"
     {
 		yyval.a_expr = yyvsp[-2].a_expr;
 		yyval.a_expr->constraints = yyvsp[-1].a_constr;
@@ -2471,7 +2472,7 @@
     break;
 
   case 88:
-#line 940 "asn1p_y.y"
+#line 941 "asn1p_y.y"
     {
 		yyval.a_expr = asn1p_expr_new(asn1p_lineno);
 		checkmem(yyval.a_expr);
@@ -2483,7 +2484,7 @@
     break;
 
   case 89:
-#line 948 "asn1p_y.y"
+#line 949 "asn1p_y.y"
     {
 		yyval.a_expr = asn1p_expr_new(asn1p_lineno);
 		checkmem(yyval.a_expr);
@@ -2496,7 +2497,7 @@
     break;
 
   case 90:
-#line 957 "asn1p_y.y"
+#line 958 "asn1p_y.y"
     {
 		yyval.a_expr = asn1p_expr_new(asn1p_lineno);
 		checkmem(yyval.a_expr);
@@ -2509,14 +2510,14 @@
     break;
 
   case 91:
-#line 969 "asn1p_y.y"
+#line 970 "asn1p_y.y"
     {
 		yyval.a_expr = yyvsp[0].a_expr;
 	}
     break;
 
   case 92:
-#line 972 "asn1p_y.y"
+#line 973 "asn1p_y.y"
     {
 		yyval.a_expr = asn1p_expr_new(yylineno);
 		checkmem(yyval.a_expr);
@@ -2526,7 +2527,7 @@
     break;
 
   case 93:
-#line 978 "asn1p_y.y"
+#line 979 "asn1p_y.y"
     {
 		yyval.a_expr = yyvsp[0].a_expr;
 		checkmem(yyval.a_expr);
@@ -2535,7 +2536,7 @@
     break;
 
   case 94:
-#line 986 "asn1p_y.y"
+#line 987 "asn1p_y.y"
     {
 		int ret;
 		yyval.a_expr = yyvsp[-1].a_expr;
@@ -2553,7 +2554,7 @@
     break;
 
   case 95:
-#line 1010 "asn1p_y.y"
+#line 1011 "asn1p_y.y"
     {
 		yyval.a_expr = asn1p_expr_new(yylineno);
 		checkmem(yyval.a_expr);
@@ -2564,7 +2565,7 @@
     break;
 
   case 96:
-#line 1017 "asn1p_y.y"
+#line 1018 "asn1p_y.y"
     {
 		yyval.a_expr = asn1p_expr_new(yylineno);
 		checkmem(yyval.a_expr);
@@ -2575,7 +2576,7 @@
     break;
 
   case 97:
-#line 1032 "asn1p_y.y"
+#line 1033 "asn1p_y.y"
     {
 		int ret;
 		yyval.a_ref = asn1p_ref_new(yylineno);
@@ -2587,7 +2588,7 @@
     break;
 
   case 98:
-#line 1040 "asn1p_y.y"
+#line 1041 "asn1p_y.y"
     {
 		int ret;
 		yyval.a_ref = asn1p_ref_new(yylineno);
@@ -2601,7 +2602,7 @@
     break;
 
   case 99:
-#line 1050 "asn1p_y.y"
+#line 1051 "asn1p_y.y"
     {
 		int ret;
 		yyval.a_ref = asn1p_ref_new(yylineno);
@@ -2615,7 +2616,7 @@
     break;
 
   case 100:
-#line 1060 "asn1p_y.y"
+#line 1061 "asn1p_y.y"
     {
 		int ret;
 		yyval.a_ref = asn1p_ref_new(yylineno);
@@ -2627,7 +2628,7 @@
     break;
 
   case 101:
-#line 1068 "asn1p_y.y"
+#line 1069 "asn1p_y.y"
     {
 		int ret;
 		yyval.a_ref = yyvsp[0].a_ref;
@@ -2650,7 +2651,7 @@
     break;
 
   case 102:
-#line 1090 "asn1p_y.y"
+#line 1091 "asn1p_y.y"
     {
 		int ret;
 		yyval.a_ref = asn1p_ref_new(yylineno);
@@ -2662,7 +2663,7 @@
     break;
 
   case 103:
-#line 1098 "asn1p_y.y"
+#line 1099 "asn1p_y.y"
     {
 		int ret;
 		yyval.a_ref = yyvsp[-2].a_ref;
@@ -2673,7 +2674,7 @@
     break;
 
   case 106:
-#line 1112 "asn1p_y.y"
+#line 1113 "asn1p_y.y"
     {
 		yyval.a_refcomp.lex_type = RLT_AmpUppercase;
 		yyval.a_refcomp.name = yyvsp[0].tv_str;
@@ -2681,7 +2682,7 @@
     break;
 
   case 107:
-#line 1117 "asn1p_y.y"
+#line 1118 "asn1p_y.y"
     {
 		yyval.a_refcomp.lex_type = RLT_Amplowercase;
 		yyval.a_refcomp.name = yyvsp[0].tv_str;
@@ -2689,7 +2690,7 @@
     break;
 
   case 108:
-#line 1130 "asn1p_y.y"
+#line 1131 "asn1p_y.y"
     {
 		yyval.a_expr = yyvsp[-2].a_expr;
 		assert(yyval.a_expr->Identifier == NULL);
@@ -2700,12 +2701,12 @@
     break;
 
   case 109:
-#line 1140 "asn1p_y.y"
+#line 1141 "asn1p_y.y"
     { asn1p_lexer_hack_push_opaque_state(); }
     break;
 
   case 110:
-#line 1141 "asn1p_y.y"
+#line 1142 "asn1p_y.y"
     {
 		yyval.a_value = asn1p_value_frombuf(yyvsp[0].tv_opaque.buf, yyvsp[0].tv_opaque.len, 0);
 		checkmem(yyval.a_value);
@@ -2714,7 +2715,7 @@
     break;
 
   case 111:
-#line 1146 "asn1p_y.y"
+#line 1147 "asn1p_y.y"
     {
 		yyval.a_value = _convert_bitstring2binary(yyvsp[0].tv_str, 'B');
 		checkmem(yyval.a_value);
@@ -2722,7 +2723,7 @@
     break;
 
   case 112:
-#line 1150 "asn1p_y.y"
+#line 1151 "asn1p_y.y"
     {
 		yyval.a_value = _convert_bitstring2binary(yyvsp[0].tv_str, 'H');
 		checkmem(yyval.a_value);
@@ -2730,7 +2731,7 @@
     break;
 
   case 113:
-#line 1154 "asn1p_y.y"
+#line 1155 "asn1p_y.y"
     {
 		yyval.a_value = asn1p_value_frombuf(yyvsp[0].tv_opaque.buf, yyvsp[0].tv_opaque.len, 0);
 		checkmem(yyval.a_value);
@@ -2738,21 +2739,21 @@
     break;
 
   case 114:
-#line 1158 "asn1p_y.y"
+#line 1159 "asn1p_y.y"
     {
 		yyval.a_value = yyvsp[0].a_value;
 	}
     break;
 
   case 115:
-#line 1161 "asn1p_y.y"
+#line 1162 "asn1p_y.y"
     {
 		yyval.a_value = yyvsp[0].a_value;
 	}
     break;
 
   case 116:
-#line 1167 "asn1p_y.y"
+#line 1168 "asn1p_y.y"
     {
 		asn1p_ref_t *ref;
 		int ret;
@@ -2767,7 +2768,7 @@
     break;
 
   case 117:
-#line 1178 "asn1p_y.y"
+#line 1179 "asn1p_y.y"
     {
 		asn1p_ref_t *ref;
 		int ret;
@@ -2785,7 +2786,7 @@
     break;
 
   case 118:
-#line 1195 "asn1p_y.y"
+#line 1196 "asn1p_y.y"
     {
 		yyval.tv_opaque.len = yyvsp[0].tv_opaque.len + 2;
 		yyval.tv_opaque.buf = malloc(yyval.tv_opaque.len + 1);
@@ -2799,7 +2800,7 @@
     break;
 
   case 119:
-#line 1205 "asn1p_y.y"
+#line 1206 "asn1p_y.y"
     {
 		int newsize = yyvsp[-1].tv_opaque.len + yyvsp[0].tv_opaque.len;
 		char *p = malloc(newsize + 1);
@@ -2815,82 +2816,82 @@
     break;
 
   case 120:
-#line 1220 "asn1p_y.y"
+#line 1221 "asn1p_y.y"
     { yyval.a_type = ASN_BASIC_BOOLEAN; }
     break;
 
   case 121:
-#line 1221 "asn1p_y.y"
+#line 1222 "asn1p_y.y"
     { yyval.a_type = ASN_BASIC_NULL; }
     break;
 
   case 122:
-#line 1222 "asn1p_y.y"
+#line 1223 "asn1p_y.y"
     { yyval.a_type = ASN_BASIC_REAL; }
     break;
 
   case 123:
-#line 1223 "asn1p_y.y"
+#line 1224 "asn1p_y.y"
     { yyval.a_type = yyvsp[0].a_type; }
     break;
 
   case 124:
-#line 1224 "asn1p_y.y"
+#line 1225 "asn1p_y.y"
     { yyval.a_type = ASN_BASIC_OCTET_STRING; }
     break;
 
   case 125:
-#line 1225 "asn1p_y.y"
+#line 1226 "asn1p_y.y"
     { yyval.a_type = ASN_BASIC_OBJECT_IDENTIFIER; }
     break;
 
   case 126:
-#line 1226 "asn1p_y.y"
+#line 1227 "asn1p_y.y"
     { yyval.a_type = ASN_BASIC_RELATIVE_OID; }
     break;
 
   case 127:
-#line 1227 "asn1p_y.y"
+#line 1228 "asn1p_y.y"
     { yyval.a_type = ASN_BASIC_EXTERNAL; }
     break;
 
   case 128:
-#line 1228 "asn1p_y.y"
+#line 1229 "asn1p_y.y"
     { yyval.a_type = ASN_BASIC_EMBEDDED_PDV; }
     break;
 
   case 129:
-#line 1229 "asn1p_y.y"
+#line 1230 "asn1p_y.y"
     { yyval.a_type = ASN_BASIC_CHARACTER_STRING; }
     break;
 
   case 130:
-#line 1230 "asn1p_y.y"
+#line 1231 "asn1p_y.y"
     { yyval.a_type = ASN_BASIC_UTCTime; }
     break;
 
   case 131:
-#line 1231 "asn1p_y.y"
+#line 1232 "asn1p_y.y"
     { yyval.a_type = ASN_BASIC_GeneralizedTime; }
     break;
 
   case 132:
-#line 1238 "asn1p_y.y"
+#line 1239 "asn1p_y.y"
     { yyval.a_type = ASN_BASIC_INTEGER; }
     break;
 
   case 133:
-#line 1239 "asn1p_y.y"
+#line 1240 "asn1p_y.y"
     { yyval.a_type = ASN_BASIC_ENUMERATED; }
     break;
 
   case 134:
-#line 1240 "asn1p_y.y"
+#line 1241 "asn1p_y.y"
     { yyval.a_type = ASN_BASIC_BIT_STRING; }
     break;
 
   case 135:
-#line 1244 "asn1p_y.y"
+#line 1245 "asn1p_y.y"
     {
 		yyval.a_expr = asn1p_expr_new(asn1p_lineno);
 		checkmem(yyval.a_expr);
@@ -2900,7 +2901,7 @@
     break;
 
   case 136:
-#line 1250 "asn1p_y.y"
+#line 1251 "asn1p_y.y"
     {
 		if(yyvsp[0].a_expr) {
 			yyval.a_expr = yyvsp[0].a_expr;
@@ -2914,12 +2915,12 @@
     break;
 
   case 137:
-#line 1263 "asn1p_y.y"
+#line 1264 "asn1p_y.y"
     { yyval.a_type = ASN_STRING_BMPString; }
     break;
 
   case 138:
-#line 1264 "asn1p_y.y"
+#line 1265 "asn1p_y.y"
     {
 		yyval.a_type = ASN_STRING_GeneralString;
 		return yyerror("GeneralString is not supported");
@@ -2927,7 +2928,7 @@
     break;
 
   case 139:
-#line 1268 "asn1p_y.y"
+#line 1269 "asn1p_y.y"
     {
 		yyval.a_type = ASN_STRING_GraphicString;
 		return yyerror("GraphicString is not supported");
@@ -2935,27 +2936,27 @@
     break;
 
   case 140:
-#line 1272 "asn1p_y.y"
+#line 1273 "asn1p_y.y"
     { yyval.a_type = ASN_STRING_IA5String; }
     break;
 
   case 141:
-#line 1273 "asn1p_y.y"
+#line 1274 "asn1p_y.y"
     { yyval.a_type = ASN_STRING_ISO646String; }
     break;
 
   case 142:
-#line 1274 "asn1p_y.y"
+#line 1275 "asn1p_y.y"
     { yyval.a_type = ASN_STRING_NumericString; }
     break;
 
   case 143:
-#line 1275 "asn1p_y.y"
+#line 1276 "asn1p_y.y"
     { yyval.a_type = ASN_STRING_PrintableString; }
     break;
 
   case 144:
-#line 1276 "asn1p_y.y"
+#line 1277 "asn1p_y.y"
     {
 		yyval.a_type = ASN_STRING_T61String;
 		return yyerror("T61String not implemented yet");
@@ -2963,22 +2964,22 @@
     break;
 
   case 145:
-#line 1280 "asn1p_y.y"
+#line 1281 "asn1p_y.y"
     { yyval.a_type = ASN_STRING_TeletexString; }
     break;
 
   case 146:
-#line 1281 "asn1p_y.y"
+#line 1282 "asn1p_y.y"
     { yyval.a_type = ASN_STRING_UniversalString; }
     break;
 
   case 147:
-#line 1282 "asn1p_y.y"
+#line 1283 "asn1p_y.y"
     { yyval.a_type = ASN_STRING_UTF8String; }
     break;
 
   case 148:
-#line 1283 "asn1p_y.y"
+#line 1284 "asn1p_y.y"
     {
 		yyval.a_type = ASN_STRING_VideotexString;
 		return yyerror("VideotexString is no longer supported");
@@ -2986,17 +2987,17 @@
     break;
 
   case 149:
-#line 1287 "asn1p_y.y"
+#line 1288 "asn1p_y.y"
     { yyval.a_type = ASN_STRING_VisibleString; }
     break;
 
   case 150:
-#line 1288 "asn1p_y.y"
+#line 1289 "asn1p_y.y"
     { yyval.a_type = ASN_STRING_ObjectDescriptor; }
     break;
 
   case 151:
-#line 1292 "asn1p_y.y"
+#line 1293 "asn1p_y.y"
     {
 		yyval.a_expr = yyvsp[-1].a_expr;
 		assert(yyval.a_expr->expr_type == A1TC_INVALID);
@@ -3006,7 +3007,7 @@
     break;
 
   case 152:
-#line 1298 "asn1p_y.y"
+#line 1299 "asn1p_y.y"
     {
 		yyval.a_expr = yyvsp[-1].a_expr;
 		assert(yyval.a_expr->expr_type == A1TC_INVALID);
@@ -3016,7 +3017,7 @@
     break;
 
   case 153:
-#line 1304 "asn1p_y.y"
+#line 1305 "asn1p_y.y"
     {
 		yyval.a_expr = yyvsp[-1].a_expr;
 		assert(yyval.a_expr->expr_type == A1TC_INVALID);
@@ -3026,7 +3027,7 @@
     break;
 
   case 154:
-#line 1310 "asn1p_y.y"
+#line 1311 "asn1p_y.y"
     {
 		yyval.a_expr = asn1p_expr_new(asn1p_lineno);
 		checkmem(yyval.a_expr);
@@ -3038,7 +3039,7 @@
     break;
 
   case 155:
-#line 1318 "asn1p_y.y"
+#line 1319 "asn1p_y.y"
     {
 		yyval.a_expr = asn1p_expr_new(asn1p_lineno);
 		checkmem(yyval.a_expr);
@@ -3050,7 +3051,7 @@
     break;
 
   case 156:
-#line 1326 "asn1p_y.y"
+#line 1327 "asn1p_y.y"
     {
 		yyval.a_expr = asn1p_expr_new(asn1p_lineno);
 		checkmem(yyval.a_expr);
@@ -3060,7 +3061,7 @@
     break;
 
   case 157:
-#line 1332 "asn1p_y.y"
+#line 1333 "asn1p_y.y"
     {
 		int ret;
 		yyval.a_expr = asn1p_expr_new(asn1p_lineno);
@@ -3075,17 +3076,17 @@
     break;
 
   case 158:
-#line 1349 "asn1p_y.y"
+#line 1350 "asn1p_y.y"
     { yyval.a_constr = 0; }
     break;
 
   case 159:
-#line 1350 "asn1p_y.y"
+#line 1351 "asn1p_y.y"
     { yyval.a_constr = yyvsp[0].a_constr; }
     break;
 
   case 165:
-#line 1358 "asn1p_y.y"
+#line 1359 "asn1p_y.y"
     {
 		/*
 		 * This is a special case, for compatibility purposes.
@@ -3101,35 +3102,35 @@
     break;
 
   case 166:
-#line 1370 "asn1p_y.y"
+#line 1371 "asn1p_y.y"
     {
 		CONSTRAINT_INSERT(yyval.a_constr, ACT_CA_SET, yyvsp[0].a_constr, 0);
 	}
     break;
 
   case 167:
-#line 1373 "asn1p_y.y"
+#line 1374 "asn1p_y.y"
     {
 		CONSTRAINT_INSERT(yyval.a_constr, ACT_CA_SET, yyvsp[-1].a_constr, yyvsp[0].a_constr);
 	}
     break;
 
   case 168:
-#line 1379 "asn1p_y.y"
+#line 1380 "asn1p_y.y"
     {
 		yyval.a_constr = yyvsp[-1].a_constr;
 	}
     break;
 
   case 169:
-#line 1385 "asn1p_y.y"
+#line 1386 "asn1p_y.y"
     {
 		yyval.a_constr = yyvsp[0].a_constr;
 	}
     break;
 
   case 170:
-#line 1388 "asn1p_y.y"
+#line 1389 "asn1p_y.y"
     {
 		asn1p_constraint_t *ct;
 		ct = asn1p_constraint_new(yylineno);
@@ -3140,7 +3141,7 @@
     break;
 
   case 171:
-#line 1395 "asn1p_y.y"
+#line 1396 "asn1p_y.y"
     {
 		asn1p_constraint_t *ct;
 		ct = asn1p_constraint_new(yylineno);
@@ -3152,7 +3153,7 @@
     break;
 
   case 172:
-#line 1403 "asn1p_y.y"
+#line 1404 "asn1p_y.y"
     {
 		yyval.a_constr = asn1p_constraint_new(yylineno);
 		checkmem(yyval.a_constr);
@@ -3161,7 +3162,7 @@
     break;
 
   case 173:
-#line 1408 "asn1p_y.y"
+#line 1409 "asn1p_y.y"
     {
 		asn1p_constraint_t *ct;
 		ct = asn1p_constraint_new(yylineno);
@@ -3172,48 +3173,48 @@
     break;
 
   case 174:
-#line 1417 "asn1p_y.y"
+#line 1418 "asn1p_y.y"
     { yyval.a_constr = yyvsp[0].a_constr; }
     break;
 
   case 175:
-#line 1420 "asn1p_y.y"
+#line 1421 "asn1p_y.y"
     { yyval.a_constr = yyvsp[0].a_constr; }
     break;
 
   case 176:
-#line 1421 "asn1p_y.y"
+#line 1422 "asn1p_y.y"
     {
 		CONSTRAINT_INSERT(yyval.a_constr, ACT_CA_UNI, yyvsp[-2].a_constr, yyvsp[0].a_constr);
 	}
     break;
 
   case 177:
-#line 1427 "asn1p_y.y"
+#line 1428 "asn1p_y.y"
     { yyval.a_constr = yyvsp[0].a_constr; }
     break;
 
   case 178:
-#line 1429 "asn1p_y.y"
+#line 1430 "asn1p_y.y"
     {
 		CONSTRAINT_INSERT(yyval.a_constr, ACT_CA_INT, yyvsp[-2].a_constr, yyvsp[0].a_constr);
 	}
     break;
 
   case 179:
-#line 1435 "asn1p_y.y"
+#line 1436 "asn1p_y.y"
     { yyval.a_constr = yyvsp[0].a_constr; }
     break;
 
   case 180:
-#line 1436 "asn1p_y.y"
+#line 1437 "asn1p_y.y"
     {
 		CONSTRAINT_INSERT(yyval.a_constr, ACT_CA_EXC, yyvsp[-2].a_constr, yyvsp[0].a_constr);
 	}
     break;
 
   case 181:
-#line 1442 "asn1p_y.y"
+#line 1443 "asn1p_y.y"
     {
 		yyval.a_constr = asn1p_constraint_new(yylineno);
 		checkmem(yyval.a_constr);
@@ -3223,7 +3224,7 @@
     break;
 
   case 182:
-#line 1448 "asn1p_y.y"
+#line 1449 "asn1p_y.y"
     {
 		yyval.a_constr = asn1p_constraint_new(yylineno);
 		checkmem(yyval.a_constr);
@@ -3234,7 +3235,7 @@
     break;
 
   case 183:
-#line 1455 "asn1p_y.y"
+#line 1456 "asn1p_y.y"
     {
 		int ret;
 		yyval.a_constr = asn1p_constraint_new(yylineno);
@@ -3246,62 +3247,62 @@
     break;
 
   case 184:
-#line 1463 "asn1p_y.y"
+#line 1464 "asn1p_y.y"
     {
 		yyval.a_constr = yyvsp[0].a_constr;
 	}
     break;
 
   case 185:
-#line 1466 "asn1p_y.y"
+#line 1467 "asn1p_y.y"
     {
 		yyval.a_constr = yyvsp[0].a_constr;
 	}
     break;
 
   case 186:
-#line 1472 "asn1p_y.y"
+#line 1473 "asn1p_y.y"
     { yyval.a_ctype = ACT_EL_RANGE; }
     break;
 
   case 187:
-#line 1473 "asn1p_y.y"
+#line 1474 "asn1p_y.y"
     { yyval.a_ctype = ACT_EL_RLRANGE; }
     break;
 
   case 188:
-#line 1474 "asn1p_y.y"
+#line 1475 "asn1p_y.y"
     { yyval.a_ctype = ACT_EL_LLRANGE; }
     break;
 
   case 189:
-#line 1475 "asn1p_y.y"
+#line 1476 "asn1p_y.y"
     { yyval.a_ctype = ACT_EL_ULRANGE; }
     break;
 
   case 190:
-#line 1479 "asn1p_y.y"
+#line 1480 "asn1p_y.y"
     {
 		yyval.a_ctype = ACT_CT_SIZE;
 	}
     break;
 
   case 191:
-#line 1482 "asn1p_y.y"
+#line 1483 "asn1p_y.y"
     {
 		yyval.a_ctype = ACT_CT_FROM;
 	}
     break;
 
   case 192:
-#line 1488 "asn1p_y.y"
+#line 1489 "asn1p_y.y"
     {
 		yyval.a_value = yyvsp[0].a_value;
 	}
     break;
 
   case 193:
-#line 1491 "asn1p_y.y"
+#line 1492 "asn1p_y.y"
     {
 		asn1p_ref_t *ref;
 		int ret;
@@ -3316,7 +3317,7 @@
     break;
 
   case 194:
-#line 1502 "asn1p_y.y"
+#line 1503 "asn1p_y.y"
     {
 		yyval.a_value = asn1p_value_frombuf(yyvsp[0].tv_opaque.buf, yyvsp[0].tv_opaque.len, 0);
 		checkmem(yyval.a_value);
@@ -3324,7 +3325,7 @@
     break;
 
   case 195:
-#line 1506 "asn1p_y.y"
+#line 1507 "asn1p_y.y"
     {
 		yyval.a_value = asn1p_value_fromint(123);
 		checkmem(yyval.a_value);
@@ -3333,7 +3334,7 @@
     break;
 
   case 196:
-#line 1511 "asn1p_y.y"
+#line 1512 "asn1p_y.y"
     {
 		yyval.a_value = asn1p_value_fromint(321);
 		checkmem(yyval.a_value);
@@ -3342,7 +3343,7 @@
     break;
 
   case 197:
-#line 1516 "asn1p_y.y"
+#line 1517 "asn1p_y.y"
     {
 		yyval.a_value = asn1p_value_fromint(0);
 		checkmem(yyval.a_value);
@@ -3351,7 +3352,7 @@
     break;
 
   case 198:
-#line 1521 "asn1p_y.y"
+#line 1522 "asn1p_y.y"
     {
 		yyval.a_value = asn1p_value_fromint(1);
 		checkmem(yyval.a_value);
@@ -3360,28 +3361,28 @@
     break;
 
   case 199:
-#line 1529 "asn1p_y.y"
+#line 1530 "asn1p_y.y"
     {
 		CONSTRAINT_INSERT(yyval.a_constr, ACT_CT_WCOMPS, yyvsp[-1].a_constr, 0);
 	}
     break;
 
   case 200:
-#line 1535 "asn1p_y.y"
+#line 1536 "asn1p_y.y"
     {
 		yyval.a_constr = yyvsp[0].a_constr;
 	}
     break;
 
   case 201:
-#line 1538 "asn1p_y.y"
+#line 1539 "asn1p_y.y"
     {
 		CONSTRAINT_INSERT(yyval.a_constr, ACT_CT_WCOMPS, yyvsp[-2].a_constr, yyvsp[0].a_constr);
 	}
     break;
 
   case 202:
-#line 1544 "asn1p_y.y"
+#line 1545 "asn1p_y.y"
     {
 		yyval.a_constr = asn1p_constraint_new(yylineno);
 		checkmem(yyval.a_constr);
@@ -3390,7 +3391,7 @@
     break;
 
   case 203:
-#line 1549 "asn1p_y.y"
+#line 1550 "asn1p_y.y"
     {
 		yyval.a_constr = asn1p_constraint_new(yylineno);
 		checkmem(yyval.a_constr);
@@ -3401,52 +3402,52 @@
     break;
 
   case 204:
-#line 1562 "asn1p_y.y"
+#line 1563 "asn1p_y.y"
     { yyval.a_pres = ACPRES_DEFAULT; }
     break;
 
   case 205:
-#line 1563 "asn1p_y.y"
+#line 1564 "asn1p_y.y"
     { yyval.a_pres = yyvsp[0].a_pres; }
     break;
 
   case 206:
-#line 1567 "asn1p_y.y"
+#line 1568 "asn1p_y.y"
     {
 		yyval.a_pres = ACPRES_PRESENT;
 	}
     break;
 
   case 207:
-#line 1570 "asn1p_y.y"
+#line 1571 "asn1p_y.y"
     {
 		yyval.a_pres = ACPRES_ABSENT;
 	}
     break;
 
   case 208:
-#line 1573 "asn1p_y.y"
+#line 1574 "asn1p_y.y"
     {
 		yyval.a_pres = ACPRES_OPTIONAL;
 	}
     break;
 
   case 209:
-#line 1579 "asn1p_y.y"
+#line 1580 "asn1p_y.y"
     {
 		yyval.a_constr = yyvsp[0].a_constr;
 	}
     break;
 
   case 210:
-#line 1582 "asn1p_y.y"
+#line 1583 "asn1p_y.y"
     {
 		yyval.a_constr = yyvsp[0].a_constr;
 	}
     break;
 
   case 211:
-#line 1591 "asn1p_y.y"
+#line 1592 "asn1p_y.y"
     {
 		asn1p_ref_t *ref = asn1p_ref_new(yylineno);
 		asn1p_constraint_t *ct;
@@ -3462,14 +3463,14 @@
     break;
 
   case 212:
-#line 1606 "asn1p_y.y"
+#line 1607 "asn1p_y.y"
     {
 		CONSTRAINT_INSERT(yyval.a_constr, ACT_CA_CRC, yyvsp[-3].a_constr, yyvsp[-1].a_constr);
 	}
     break;
 
   case 213:
-#line 1612 "asn1p_y.y"
+#line 1613 "asn1p_y.y"
     {
 		yyval.a_constr = asn1p_constraint_new(yylineno);
 		checkmem(yyval.a_constr);
@@ -3479,7 +3480,7 @@
     break;
 
   case 214:
-#line 1618 "asn1p_y.y"
+#line 1619 "asn1p_y.y"
     {
 		asn1p_constraint_t *ct;
 		ct = asn1p_constraint_new(yylineno);
@@ -3491,7 +3492,7 @@
     break;
 
   case 215:
-#line 1632 "asn1p_y.y"
+#line 1633 "asn1p_y.y"
     {
 		char *p = malloc(strlen(yyvsp[0].tv_str) + 2);
 		int ret;
@@ -3506,7 +3507,7 @@
     break;
 
   case 216:
-#line 1643 "asn1p_y.y"
+#line 1644 "asn1p_y.y"
     {
 		char *p = malloc(strlen(yyvsp[0].tv_str) + 3);
 		int ret;
@@ -3522,14 +3523,14 @@
     break;
 
   case 217:
-#line 1659 "asn1p_y.y"
+#line 1660 "asn1p_y.y"
     {
 		yyval.tv_str = yyvsp[0].tv_str;
 	}
     break;
 
   case 218:
-#line 1662 "asn1p_y.y"
+#line 1663 "asn1p_y.y"
     {
 		int l1 = strlen(yyvsp[-2].tv_str);
 		int l3 = strlen(yyvsp[0].tv_str);
@@ -3542,24 +3543,24 @@
     break;
 
   case 219:
-#line 1680 "asn1p_y.y"
+#line 1681 "asn1p_y.y"
     { yyval.a_marker = EM_NOMARK; }
     break;
 
   case 220:
-#line 1681 "asn1p_y.y"
+#line 1682 "asn1p_y.y"
     { yyval.a_marker = yyvsp[0].a_marker; }
     break;
 
   case 221:
-#line 1685 "asn1p_y.y"
+#line 1686 "asn1p_y.y"
     {
 		yyval.a_marker = EM_OPTIONAL;
 	}
     break;
 
   case 222:
-#line 1688 "asn1p_y.y"
+#line 1689 "asn1p_y.y"
     {
 		yyval.a_marker = EM_DEFAULT;
 		/* FIXME: store DefaultValue somewhere */
@@ -3567,30 +3568,30 @@
     break;
 
   case 223:
-#line 1695 "asn1p_y.y"
+#line 1696 "asn1p_y.y"
     {
 	}
     break;
 
   case 224:
-#line 1697 "asn1p_y.y"
+#line 1698 "asn1p_y.y"
     {
 	}
     break;
 
   case 225:
-#line 1699 "asn1p_y.y"
+#line 1700 "asn1p_y.y"
     { asn1p_lexer_hack_push_opaque_state(); }
     break;
 
   case 226:
-#line 1699 "asn1p_y.y"
+#line 1700 "asn1p_y.y"
     {
 	}
     break;
 
   case 227:
-#line 1720 "asn1p_y.y"
+#line 1721 "asn1p_y.y"
     {
 		yyval.a_expr = asn1p_expr_new(asn1p_lineno);
 		checkmem(yyval.a_expr);
@@ -3598,14 +3599,14 @@
     break;
 
   case 228:
-#line 1724 "asn1p_y.y"
+#line 1725 "asn1p_y.y"
     {
 		yyval.a_expr = yyvsp[-1].a_expr;
 	}
     break;
 
   case 229:
-#line 1730 "asn1p_y.y"
+#line 1731 "asn1p_y.y"
     {
 		yyval.a_expr = asn1p_expr_new(asn1p_lineno);
 		checkmem(yyval.a_expr);
@@ -3614,7 +3615,7 @@
     break;
 
   case 230:
-#line 1735 "asn1p_y.y"
+#line 1736 "asn1p_y.y"
     {
 		yyval.a_expr = yyvsp[-2].a_expr;
 		TQ_ADD(&(yyval.a_expr->members), yyvsp[0].a_expr, next);
@@ -3622,7 +3623,7 @@
     break;
 
   case 231:
-#line 1742 "asn1p_y.y"
+#line 1743 "asn1p_y.y"
     {
 		yyval.a_expr = asn1p_expr_new(asn1p_lineno);
 		checkmem(yyval.a_expr);
@@ -3633,7 +3634,7 @@
     break;
 
   case 232:
-#line 1749 "asn1p_y.y"
+#line 1750 "asn1p_y.y"
     {
 		yyval.a_expr = asn1p_expr_new(asn1p_lineno);
 		checkmem(yyval.a_expr);
@@ -3645,7 +3646,7 @@
     break;
 
   case 233:
-#line 1757 "asn1p_y.y"
+#line 1758 "asn1p_y.y"
     {
 		yyval.a_expr = asn1p_expr_new(asn1p_lineno);
 		checkmem(yyval.a_expr);
@@ -3657,7 +3658,7 @@
     break;
 
   case 234:
-#line 1765 "asn1p_y.y"
+#line 1766 "asn1p_y.y"
     {
 		yyval.a_expr = asn1p_expr_new(asn1p_lineno);
 		checkmem(yyval.a_expr);
@@ -3668,7 +3669,7 @@
     break;
 
   case 235:
-#line 1772 "asn1p_y.y"
+#line 1773 "asn1p_y.y"
     {
 		yyval.a_expr = asn1p_expr_new(asn1p_lineno);
 		checkmem(yyval.a_expr);
@@ -3680,7 +3681,7 @@
     break;
 
   case 236:
-#line 1783 "asn1p_y.y"
+#line 1784 "asn1p_y.y"
     {
 		yyval.a_value = asn1p_value_fromint(yyvsp[0].a_int);
 		checkmem(yyval.a_value);
@@ -3688,7 +3689,7 @@
     break;
 
   case 237:
-#line 1787 "asn1p_y.y"
+#line 1788 "asn1p_y.y"
     {
 		yyval.a_value = asn1p_value_fromint(yyvsp[0].a_int);
 		checkmem(yyval.a_value);
@@ -3696,17 +3697,17 @@
     break;
 
   case 238:
-#line 1818 "asn1p_y.y"
+#line 1819 "asn1p_y.y"
     { memset(&yyval.a_tag, 0, sizeof(yyval.a_tag)); }
     break;
 
   case 239:
-#line 1819 "asn1p_y.y"
+#line 1820 "asn1p_y.y"
     { yyval.a_tag = yyvsp[0].a_tag; }
     break;
 
   case 240:
-#line 1823 "asn1p_y.y"
+#line 1824 "asn1p_y.y"
     {
 		yyval.a_tag = yyvsp[0].a_tag;
 		yyval.a_tag.tag_mode = TM_DEFAULT;
@@ -3714,7 +3715,7 @@
     break;
 
   case 241:
-#line 1827 "asn1p_y.y"
+#line 1828 "asn1p_y.y"
     {
 		yyval.a_tag = yyvsp[-1].a_tag;
 		yyval.a_tag.tag_mode = TM_IMPLICIT;
@@ -3722,7 +3723,7 @@
     break;
 
   case 242:
-#line 1831 "asn1p_y.y"
+#line 1832 "asn1p_y.y"
     {
 		yyval.a_tag = yyvsp[-1].a_tag;
 		yyval.a_tag.tag_mode = TM_EXPLICIT;
@@ -3730,7 +3731,7 @@
     break;
 
   case 243:
-#line 1838 "asn1p_y.y"
+#line 1839 "asn1p_y.y"
     {
 		checkmem(yyvsp[0].tv_str);
 		yyval.tv_str = yyvsp[0].tv_str;
@@ -3738,7 +3739,7 @@
     break;
 
   case 244:
-#line 1842 "asn1p_y.y"
+#line 1843 "asn1p_y.y"
     {
 		checkmem(yyvsp[0].tv_str);
 		yyval.tv_str = yyvsp[0].tv_str;
@@ -3746,7 +3747,7 @@
     break;
 
   case 245:
-#line 1849 "asn1p_y.y"
+#line 1850 "asn1p_y.y"
     {
 		checkmem(yyvsp[0].tv_str);
 		yyval.tv_str = yyvsp[0].tv_str;
@@ -3754,7 +3755,7 @@
     break;
 
   case 246:
-#line 1856 "asn1p_y.y"
+#line 1857 "asn1p_y.y"
     {
 		checkmem(yyvsp[0].tv_str);
 		yyval.tv_str = yyvsp[0].tv_str;
@@ -3762,7 +3763,7 @@
     break;
 
   case 247:
-#line 1863 "asn1p_y.y"
+#line 1864 "asn1p_y.y"
     {
 		memset(&yyval.tv_nametag, 0, sizeof(yyval.tv_nametag));
 		yyval.tv_nametag.name = yyvsp[0].tv_str;
@@ -3770,7 +3771,7 @@
     break;
 
   case 248:
-#line 1867 "asn1p_y.y"
+#line 1868 "asn1p_y.y"
     {
 		yyval.tv_nametag.name = yyvsp[-1].tv_str;
 		yyval.tv_nametag.tag = yyvsp[0].a_tag;
@@ -3781,7 +3782,7 @@
     }
 
 /* Line 1016 of /usr/local/share/bison/yacc.c.  */
-#line 3785 "y.tab.c"
+#line 3786 "asn1p_y.c"
 
   yyvsp -= yylen;
   yyssp -= yylen;
@@ -4000,7 +4001,7 @@
 }
 
 
-#line 1874 "asn1p_y.y"
+#line 1875 "asn1p_y.y"