diff --git a/libasn1parser/asn1p_constr.c b/libasn1parser/asn1p_constr.c
index 7aa464e..ee8d1eb 100644
--- a/libasn1parser/asn1p_constr.c
+++ b/libasn1parser/asn1p_constr.c
@@ -169,6 +169,8 @@
 		return "MultipleTypeConstraints";
 	case ACT_CT_CTDBY:
 		return "UserDefinedConstraint";
+	case ACT_CT_CTNG:
+		return "ContentsConstraint";
 	case ACT_CA_SET:
 		return "SET";
 	case ACT_CA_CRC:
diff --git a/libasn1parser/asn1p_constr.h b/libasn1parser/asn1p_constr.h
index 912fd8f..bb6ba32 100644
--- a/libasn1parser/asn1p_constr.h
+++ b/libasn1parser/asn1p_constr.h
@@ -26,11 +26,12 @@
 		ACT_CT_WCOMP,		/* WITH COMPONENT */
 		ACT_CT_WCOMPS,		/* WITH COMPONENTS */
 		ACT_CT_CTDBY,		/* CONSTRAINED BY */
+		ACT_CT_CTNG,		/* CONTAINING Type */
 		/*
 		 * Arrays of constraints.
 		 */
 		ACT_CA_SET,		/* A set of constraints: (c1)(c2) */
-		ACT_CA_CRC,		/* Comp. relation c-t: ({a})({@b}) */
+		ACT_CA_CRC,		/* Comp. relation c-t: ({a}{@b}) */
 		ACT_CA_CSV,		/* Comma-separated constraints array */
 		ACT_CA_UNI,		/* UNION (|) */
 		ACT_CA_INT,		/* INTERSECTION (^) */
diff --git a/libasn1parser/asn1p_expr.c b/libasn1parser/asn1p_expr.c
index 29919a1..8760066 100644
--- a/libasn1parser/asn1p_expr.c
+++ b/libasn1parser/asn1p_expr.c
@@ -13,13 +13,14 @@
  * Construct a new empty types collection.
  */
 asn1p_expr_t *
-asn1p_expr_new(int _lineno) {
+asn1p_expr_new(int _lineno, asn1p_module_t *mod) {
 	asn1p_expr_t *expr;
 
 	expr = calloc(1, sizeof *expr);
 	if(expr) {
 		TQ_INIT(&(expr->members));
 		expr->spec_index = -1;
+		expr->module = mod;
 		expr->_lineno = _lineno;
 	}
 
@@ -96,7 +97,7 @@
 			return NULL;	/* Hard error */
 		}
 	}
-	if(!clone) clone = asn1p_expr_new(expr->_lineno);
+	if(!clone) clone = asn1p_expr_new(expr->_lineno, expr->module);
 	if(!clone) return NULL;
 
 	/*
@@ -106,7 +107,6 @@
 	CLCOPY(expr_type);
 	CLCOPY(tag);
 	CLCOPY(marker.flags);		/* OPTIONAL/DEFAULT */
-	CLCOPY(module);
 	CLCOPY(_mark);
 
 	clone->data = 0;	/* Do not clone this */
@@ -165,7 +165,7 @@
 	}
 
 	ref = value->value.reference;
-	tmpexpr = asn1p_expr_new(ref->_lineno);
+	tmpexpr = asn1p_expr_new(ref->_lineno, 0);
 	tmpexpr->meta_type = AMT_TYPEREF;
 	tmpexpr->expr_type = A1TC_REFERENCE;
 	tmpexpr->reference = ref;
diff --git a/libasn1parser/asn1p_expr.h b/libasn1parser/asn1p_expr.h
index 32645ef..babe53f 100644
--- a/libasn1parser/asn1p_expr.h
+++ b/libasn1parser/asn1p_expr.h
@@ -271,7 +271,7 @@
 /*
  * Constructor and destructor.
  */
-asn1p_expr_t *asn1p_expr_new(int _lineno);
+asn1p_expr_t *asn1p_expr_new(int _lineno, struct asn1p_module_s *);
 asn1p_expr_t *asn1p_expr_clone(asn1p_expr_t *, int skip_extensions);
 asn1p_expr_t *asn1p_expr_clone_with_resolver(asn1p_expr_t *,
 	asn1p_expr_t *(*resolver)(asn1p_expr_t *to_resolve, void *resolver_arg),
diff --git a/libasn1parser/asn1p_module.c b/libasn1parser/asn1p_module.c
index 8a47df6..d030da7 100644
--- a/libasn1parser/asn1p_module.c
+++ b/libasn1parser/asn1p_module.c
@@ -12,8 +12,8 @@
 
 	mod = calloc(1, sizeof *mod);
 	if(mod) {
-		TQ_INIT(&(mod->imports));
 		TQ_INIT(&(mod->exports));
+		TQ_INIT(&(mod->imports));
 		TQ_INIT(&(mod->members));
 	}
 	return mod;
diff --git a/libasn1parser/asn1p_module.h b/libasn1parser/asn1p_module.h
index ad9eab0..25dcf1e 100644
--- a/libasn1parser/asn1p_module.h
+++ b/libasn1parser/asn1p_module.h
@@ -4,6 +4,18 @@
 #ifndef	ASN1_PARSER_MODULE_H
 #define	ASN1_PARSER_MODULE_H
 
+struct asn1p_module_s;
+
+/*
+ * A simple container for several modules.
+ */
+typedef struct asn1p_s {
+	TQ_HEAD(struct asn1p_module_s)	modules;
+} asn1p_t;
+
+asn1p_t *asn1p_new(void);
+void asn1p_delete(asn1p_t *asn);
+
 /*
  * Flags specific to a module.
  */
@@ -71,6 +83,9 @@
 	TQ_ENTRY(struct asn1p_module_s)
 		mod_next;
 
+	/* All modules */
+	asn1p_t *asn1p;
+
 	/*
 	 * Internally useful properties.
 	 */
@@ -85,15 +100,4 @@
 asn1p_module_t *asn1p_module_new(void);
 void asn1p_module_free(asn1p_module_t *mod);
 
-/*
- * No more than a container for several modules.
- */
-typedef struct asn1p_s {
-	TQ_HEAD(struct asn1p_module_s)	modules;
-} asn1p_t;
-
-asn1p_t *asn1p_new(void);
-void asn1p_delete(asn1p_t *asn);
-
-
 #endif	/* ASN1_PARSER_MODULE_H */
diff --git a/libasn1parser/asn1p_value.c b/libasn1parser/asn1p_value.c
index cafc1f9..63c80c7 100644
--- a/libasn1parser/asn1p_value.c
+++ b/libasn1parser/asn1p_value.c
@@ -133,6 +133,16 @@
 }
 
 asn1p_value_t *
+asn1p_value_fromtype(asn1p_expr_t *expr) {
+	asn1p_value_t *v = calloc(1, sizeof *v);
+	if(v) {
+		v->value.v_type = expr;
+		v->type = ATV_TYPE;
+	}
+	return v;
+}
+
+asn1p_value_t *
 asn1p_value_clone(asn1p_value_t *v) {
 	return asn1p_value_clone_with_resolver(v, 0, 0);
 }
@@ -149,6 +159,8 @@
 			return calloc(1, sizeof(*clone));
 		case ATV_REAL:
 			return asn1p_value_fromdouble(v->value.v_double);
+		case ATV_TYPE:
+			return asn1p_value_fromtype(v->value.v_type);
 		case ATV_INTEGER:
 		case ATV_MIN:
 		case ATV_MAX:
@@ -213,6 +225,9 @@
 		case ATV_NOVALUE:
 		case ATV_NULL:
 			break;
+		case ATV_TYPE:
+			asn1p_expr_free(v->value.v_type);
+			break;
 		case ATV_REAL:
 		case ATV_INTEGER:
 		case ATV_MIN:
diff --git a/libasn1parser/asn1p_value.h b/libasn1parser/asn1p_value.h
index 1b5bbee..c260c27 100644
--- a/libasn1parser/asn1p_value.h
+++ b/libasn1parser/asn1p_value.h
@@ -5,6 +5,7 @@
 #define	ASN1_PARSER_VALUE_H
 
 struct asn1p_constraint_s;	/* Forward declaration */
+struct asn1p_expr_s;
 
 /*
  * A wrapper around various kinds of values.
@@ -15,6 +16,7 @@
 	 */
 	enum {
 		ATV_NOVALUE,
+		ATV_TYPE,	/* A type (as in CONTAINING Type) */
 		ATV_NULL,	/* A "NULL" value of type NULL. */
 		ATV_REAL,	/* A constant floating-point value */
 		ATV_INTEGER,	/* An integer constant */
@@ -34,6 +36,7 @@
 
 	union {
 		struct asn1p_constraint_s *constraint;	/* ValueSet */
+		struct asn1p_expr_s	*v_type;	/* Type */
 		asn1p_ref_t	*reference;
 		asn1c_integer_t	 v_integer;
 		double		 v_double;
@@ -68,6 +71,7 @@
 asn1p_value_t *asn1p_value_frombuf(char *buffer, int size, int do_copy);
 asn1p_value_t *asn1p_value_fromdouble(double);
 asn1p_value_t *asn1p_value_fromint(asn1c_integer_t);
+asn1p_value_t *asn1p_value_fromtype(struct asn1p_expr_s *);
 asn1p_value_t *asn1p_value_clone(asn1p_value_t *);
 asn1p_value_t *asn1p_value_clone_with_resolver(asn1p_value_t *,
 		asn1p_value_t *(*resolver)(asn1p_value_t *, void *rarg),
diff --git a/libasn1parser/asn1p_y.c b/libasn1parser/asn1p_y.c
index d1105a5..9519596 100644
--- a/libasn1parser/asn1p_y.c
+++ b/libasn1parser/asn1p_y.c
@@ -312,6 +312,9 @@
 static asn1p_value_t *_convert_bitstring2binary(char *str, int base);
 static void _fixup_anonymous_identifier(asn1p_expr_t *expr);
 
+static asn1p_module_t *currentModule;
+#define	NEW_EXPR()	(asn1p_expr_new(yylineno, currentModule))
+
 #define	checkmem(ptr)	do {						\
 		if(!(ptr))						\
 		return yyerror("Memory failure");			\
@@ -365,7 +368,7 @@
 #endif
 
 #ifndef YYSTYPE
-#line 85 "asn1p_y.y"
+#line 88 "asn1p_y.y"
 typedef union {
 	asn1p_t			*a_grammar;
 	asn1p_module_flags_e	 a_module_flags;
@@ -401,7 +404,7 @@
 	} tv_nametag;
 } yystype;
 /* Line 193 of /usr/local/share/bison/yacc.c.  */
-#line 405 "asn1p_y.c"
+#line 408 "asn1p_y.c"
 # define YYSTYPE yystype
 # define YYSTYPE_IS_TRIVIAL 1
 #endif
@@ -422,7 +425,7 @@
 
 
 /* Line 213 of /usr/local/share/bison/yacc.c.  */
-#line 426 "asn1p_y.c"
+#line 429 "asn1p_y.c"
 
 #if ! defined (yyoverflow) || YYERROR_VERBOSE
 
@@ -520,16 +523,16 @@
 
 /* YYFINAL -- State number of the termination state. */
 #define YYFINAL  7
-#define YYLAST   816
+#define YYLAST   834
 
 /* YYNTOKENS -- Number of terminals. */
 #define YYNTOKENS  121
 /* YYNNTS -- Number of nonterminals. */
-#define YYNNTS  112
+#define YYNNTS  117
 /* YYNRULES -- Number of rules. */
-#define YYNRULES  296
+#define YYNRULES  302
 /* YYNRULES -- Number of states. */
-#define YYNSTATES  453
+#define YYNSTATES  462
 
 /* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX.  */
 #define YYUNDEFTOK  2
@@ -585,160 +588,163 @@
    YYRHS.  */
 static const unsigned short yyprhs[] =
 {
-       0,     0,     3,     5,     7,    10,    19,    20,    22,    26,
-      29,    31,    34,    36,    41,    43,    44,    46,    48,    51,
-      54,    57,    60,    63,    66,    67,    69,    73,    75,    78,
-      80,    82,    84,    85,    89,    91,    92,    94,    98,   101,
-     103,   106,   107,   109,   114,   116,   120,   122,   126,   128,
-     129,   131,   135,   139,   142,   144,   148,   150,   154,   156,
-     160,   165,   167,   169,   174,   178,   182,   189,   196,   198,
-     202,   204,   208,   212,   216,   220,   222,   226,   228,   230,
-     232,   234,   235,   237,   239,   243,   247,   250,   254,   256,
-     258,   262,   265,   267,   269,   275,   276,   278,   280,   284,
-     287,   292,   296,   300,   304,   308,   312,   313,   315,   316,
-     323,   325,   328,   330,   332,   334,   338,   340,   344,   348,
-     352,   353,   356,   358,   363,   368,   373,   380,   387,   389,
-     394,   398,   400,   404,   408,   412,   414,   418,   420,   424,
-     426,   428,   430,   432,   436,   440,   442,   447,   449,   451,
-     455,   456,   460,   462,   464,   466,   468,   470,   472,   474,
-     476,   480,   482,   484,   486,   488,   491,   493,   495,   497,
-     499,   502,   505,   507,   509,   512,   515,   517,   519,   521,
-     523,   525,   528,   530,   533,   535,   537,   539,   541,   543,
+       0,     0,     3,     5,     7,    10,    11,    21,    22,    24,
+      28,    31,    33,    36,    38,    43,    45,    46,    48,    50,
+      53,    56,    59,    62,    65,    68,    69,    71,    75,    77,
+      80,    82,    84,    86,    87,    91,    93,    94,    96,   100,
+     103,   105,   108,   109,   111,   116,   118,   122,   124,   128,
+     130,   131,   133,   137,   141,   144,   146,   150,   152,   156,
+     158,   162,   167,   169,   171,   176,   180,   184,   191,   198,
+     200,   204,   206,   210,   214,   218,   222,   224,   228,   230,
+     232,   234,   236,   237,   239,   241,   245,   249,   252,   256,
+     258,   260,   264,   267,   269,   271,   277,   278,   280,   282,
+     286,   289,   294,   298,   302,   306,   310,   314,   315,   317,
+     318,   325,   327,   330,   332,   334,   336,   340,   342,   346,
+     350,   354,   355,   358,   360,   365,   370,   375,   382,   389,
+     391,   396,   400,   402,   406,   410,   414,   416,   420,   422,
+     426,   428,   430,   432,   434,   438,   442,   444,   449,   451,
+     453,   457,   458,   462,   464,   466,   468,   470,   472,   474,
+     476,   478,   482,   484,   486,   488,   490,   493,   495,   497,
+     499,   501,   504,   507,   509,   511,   514,   517,   519,   521,
+     523,   525,   527,   530,   532,   535,   537,   539,   541,   543,
      545,   547,   549,   551,   553,   555,   557,   559,   561,   563,
-     565,   567,   569,   571,   572,   574,   576,   581,   585,   590,
-     592,   594,   598,   604,   606,   610,   614,   618,   622,   627,
-     631,   633,   635,   639,   643,   647,   651,   653,   655,   656,
-     662,   664,   667,   670,   674,   676,   678,   680,   682,   684,
-     686,   688,   690,   694,   700,   702,   706,   708,   712,   713,
-     715,   717,   719,   721,   723,   725,   729,   734,   736,   740,
-     743,   747,   749,   753,   754,   756,   758,   761,   764,   768,
-     770,   774,   776,   781,   786,   788,   790,   792,   794,   796,
-     798,   799,   801,   804,   809,   810,   812,   814,   816,   817,
-     819,   821,   823,   825,   827,   828,   830
+     565,   567,   569,   571,   573,   574,   576,   578,   582,   584,
+     589,   593,   598,   600,   602,   606,   612,   614,   618,   622,
+     626,   630,   635,   639,   641,   643,   647,   651,   655,   659,
+     661,   663,   665,   667,   669,   671,   673,   675,   677,   681,
+     687,   689,   693,   695,   699,   700,   702,   704,   706,   708,
+     710,   712,   714,   715,   721,   724,   726,   729,   732,   736,
+     738,   740,   744,   749,   751,   755,   758,   762,   764,   768,
+     769,   771,   773,   776,   779,   783,   785,   789,   791,   796,
+     801,   803,   805,   807,   809,   811,   813,   814,   816,   819,
+     824,   825,   827,   829,   831,   832,   834,   836,   838,   840,
+     842,   843,   845
 };
 
 /* YYRHS -- A `-1'-separated list of the rules' RHS. */
 static const short yyrhs[] =
 {
      122,     0,    -1,   123,    -1,   124,    -1,   123,   124,    -1,
-     229,   125,    39,   129,     3,    26,   132,    44,    -1,    -1,
-     126,    -1,   108,   127,   109,    -1,   108,   109,    -1,   128,
-      -1,   127,   128,    -1,   232,    -1,   232,   110,    10,   111,
-      -1,    10,    -1,    -1,   130,    -1,   131,    -1,   130,   131,
-      -1,    46,    89,    -1,    57,    89,    -1,    25,    89,    -1,
-      48,    58,    -1,    16,    62,    -1,    -1,   133,    -1,   144,
-     137,   134,    -1,   135,    -1,   134,   135,    -1,   151,    -1,
-     181,    -1,   149,    -1,    -1,    43,    16,   136,    -1,   191,
-      -1,    -1,   138,    -1,    59,   139,   112,    -1,    59,    51,
-      -1,   141,    -1,   139,   141,    -1,    -1,   126,    -1,   142,
-      51,   229,   140,    -1,   143,    -1,   142,   113,   143,    -1,
-     229,    -1,   229,   108,   109,    -1,   232,    -1,    -1,   145,
-      -1,    47,   146,   112,    -1,    47,    22,   112,    -1,    47,
-     112,    -1,   147,    -1,   146,   113,   147,    -1,   229,    -1,
-     229,   108,   109,    -1,   232,    -1,   108,   198,   109,    -1,
-     229,   150,     3,   148,    -1,   190,    -1,   175,    -1,   175,
-     108,   154,   109,    -1,   229,     3,   171,    -1,   229,     3,
-     161,    -1,   229,   108,   152,   109,     3,   171,    -1,   229,
-     108,   152,   109,     3,   161,    -1,   153,    -1,   152,   113,
-     153,    -1,   229,    -1,   229,   114,   232,    -1,   229,   114,
-     229,    -1,   188,   114,   232,    -1,   188,   114,   229,    -1,
-     155,    -1,   154,   113,   155,    -1,   171,    -1,   184,    -1,
-     232,    -1,   148,    -1,    -1,   157,    -1,   158,    -1,   157,
-     113,   158,    -1,   232,   171,   217,    -1,   171,   217,    -1,
-      35,    73,   171,    -1,   170,    -1,   160,    -1,   159,   113,
-     160,    -1,   232,   171,    -1,   170,    -1,   171,    -1,    33,
-     108,   163,   109,   165,    -1,    -1,    93,    -1,   164,    -1,
-     163,   113,   164,    -1,    17,   217,    -1,    18,   171,   162,
-     217,    -1,    18,   179,   217,    -1,    18,   180,   217,    -1,
-      17,   179,   217,    -1,    17,   171,   217,    -1,    17,   180,
-     217,    -1,    -1,   166,    -1,    -1,   100,    87,   108,   167,
-     168,   109,    -1,   169,    -1,   168,   169,    -1,     4,    -1,
-      19,    -1,   178,    -1,   115,   168,   116,    -1,   107,    -1,
-     107,   117,   185,    -1,   107,   117,   222,    -1,   224,   173,
-     195,    -1,    -1,   172,   174,    -1,   150,    -1,    32,   108,
-     159,   109,    -1,    83,   108,   156,   109,    -1,    84,   108,
-     156,   109,    -1,    83,   195,    73,   231,   224,   173,    -1,
-      84,   195,    73,   231,   224,   173,    -1,    23,    -1,    23,
-      40,    30,   232,    -1,    61,    73,   175,    -1,    15,    -1,
-      15,   118,   229,    -1,   230,   118,   229,    -1,    15,   118,
-     232,    -1,   230,    -1,   230,   118,   176,    -1,   177,    -1,
-     176,   118,   177,    -1,   178,    -1,    17,    -1,    18,    -1,
-      17,    -1,   179,   118,    17,    -1,   179,   118,    18,    -1,
-      16,    -1,   232,   150,     3,   182,    -1,   184,    -1,   185,
-      -1,   232,   114,   182,    -1,    -1,   108,   183,   187,    -1,
-      68,    -1,    50,    -1,    91,    -1,     6,    -1,     8,    -1,
-     186,    -1,   222,    -1,   232,    -1,   229,   118,   232,    -1,
-       7,    -1,    13,    -1,    14,    -1,     5,    -1,   187,     5,
-      -1,    29,    -1,    68,    -1,    81,    -1,   189,    -1,    72,
-      86,    -1,    70,    56,    -1,    82,    -1,    49,    -1,    41,
-      76,    -1,    31,    86,    -1,    96,    -1,    52,    -1,   191,
-      -1,    63,    -1,    45,    -1,    27,    86,    -1,   188,    -1,
-     189,   219,    -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,   101,
-      -1,    -1,   196,    -1,   197,    -1,    85,   110,   198,   111,
-      -1,   110,   198,   111,    -1,   197,   110,   198,   111,    -1,
-     107,    -1,   199,    -1,   199,   113,   107,    -1,   199,   113,
-     107,   113,   199,    -1,   200,    -1,    22,   101,   200,    -1,
-     199,   192,   200,    -1,   199,   193,   200,    -1,   200,   194,
-     200,    -1,   203,   110,   198,   111,    -1,   110,   198,   111,
-      -1,   204,    -1,   205,    -1,   204,   202,   204,    -1,    66,
-     202,   204,    -1,   204,   202,    65,    -1,    66,   202,    65,
-      -1,   211,    -1,   206,    -1,    -1,    36,    30,   108,   201,
-     187,    -1,   106,    -1,   106,   119,    -1,   119,   106,    -1,
-     119,   106,   119,    -1,    85,    -1,    51,    -1,    50,    -1,
-      91,    -1,   223,    -1,   186,    -1,   232,    -1,   229,    -1,
-     100,    34,   197,    -1,   100,    35,   108,   207,   109,    -1,
-     208,    -1,   207,   113,   208,    -1,   107,    -1,   232,   195,
-     209,    -1,    -1,   210,    -1,    78,    -1,    20,    -1,    74,
-      -1,   212,    -1,   213,    -1,   108,   229,   109,    -1,   212,
-     108,   214,   109,    -1,   215,    -1,   214,   113,   215,    -1,
-     120,   216,    -1,   120,   118,   216,    -1,   232,    -1,   216,
-     118,   232,    -1,    -1,   218,    -1,    74,    -1,    38,   182,
-      -1,   108,   109,    -1,   108,   220,   109,    -1,   221,    -1,
-     220,   113,   221,    -1,   232,    -1,   232,   110,   222,   111,
-      -1,   232,   110,   185,   111,    -1,   222,    -1,   107,    -1,
-      10,    -1,    11,    -1,   222,    -1,    12,    -1,    -1,   225,
-      -1,   226,   228,    -1,   115,   227,    10,   116,    -1,    -1,
-      94,    -1,    24,    -1,    80,    -1,    -1,    57,    -1,    46,
-      -1,    15,    -1,    16,    -1,    16,    -1,    -1,   232,    -1,
-       9,    -1
+      -1,   234,   125,   126,    39,   130,     3,    26,   133,    44,
+      -1,    -1,   127,    -1,   108,   128,   109,    -1,   108,   109,
+      -1,   129,    -1,   128,   129,    -1,   237,    -1,   237,   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,
+      -1,   145,   138,   135,    -1,   136,    -1,   135,   136,    -1,
+     152,    -1,   182,    -1,   150,    -1,    -1,    43,    16,   137,
+      -1,   192,    -1,    -1,   139,    -1,    59,   140,   112,    -1,
+      59,    51,    -1,   142,    -1,   140,   142,    -1,    -1,   127,
+      -1,   143,    51,   234,   141,    -1,   144,    -1,   143,   113,
+     144,    -1,   234,    -1,   234,   108,   109,    -1,   237,    -1,
+      -1,   146,    -1,    47,   147,   112,    -1,    47,    22,   112,
+      -1,    47,   112,    -1,   148,    -1,   147,   113,   148,    -1,
+     234,    -1,   234,   108,   109,    -1,   237,    -1,   108,   200,
+     109,    -1,   234,   151,     3,   149,    -1,   191,    -1,   176,
+      -1,   176,   108,   155,   109,    -1,   234,     3,   172,    -1,
+     234,     3,   162,    -1,   234,   108,   153,   109,     3,   172,
+      -1,   234,   108,   153,   109,     3,   162,    -1,   154,    -1,
+     153,   113,   154,    -1,   234,    -1,   234,   114,   237,    -1,
+     234,   114,   234,    -1,   189,   114,   237,    -1,   189,   114,
+     234,    -1,   156,    -1,   155,   113,   156,    -1,   172,    -1,
+     185,    -1,   237,    -1,   149,    -1,    -1,   158,    -1,   159,
+      -1,   158,   113,   159,    -1,   237,   172,   222,    -1,   172,
+     222,    -1,    35,    73,   172,    -1,   171,    -1,   161,    -1,
+     160,   113,   161,    -1,   237,   172,    -1,   171,    -1,   172,
+      -1,    33,   108,   164,   109,   166,    -1,    -1,    93,    -1,
+     165,    -1,   164,   113,   165,    -1,    17,   222,    -1,    18,
+     172,   163,   222,    -1,    18,   180,   222,    -1,    18,   181,
+     222,    -1,    17,   180,   222,    -1,    17,   172,   222,    -1,
+      17,   181,   222,    -1,    -1,   167,    -1,    -1,   100,    87,
+     108,   168,   169,   109,    -1,   170,    -1,   169,   170,    -1,
+       4,    -1,    19,    -1,   179,    -1,   115,   169,   116,    -1,
+     107,    -1,   107,   117,   186,    -1,   107,   117,   227,    -1,
+     229,   174,   196,    -1,    -1,   173,   175,    -1,   151,    -1,
+      32,   108,   160,   109,    -1,    83,   108,   157,   109,    -1,
+      84,   108,   157,   109,    -1,    83,   196,    73,   236,   229,
+     174,    -1,    84,   196,    73,   236,   229,   174,    -1,    23,
+      -1,    23,    40,    30,   237,    -1,    61,    73,   176,    -1,
+      15,    -1,    15,   118,   234,    -1,   235,   118,   234,    -1,
+      15,   118,   237,    -1,   235,    -1,   235,   118,   177,    -1,
+     178,    -1,   177,   118,   178,    -1,   179,    -1,    17,    -1,
+      18,    -1,    17,    -1,   180,   118,    17,    -1,   180,   118,
+      18,    -1,    16,    -1,   237,   151,     3,   183,    -1,   185,
+      -1,   186,    -1,   237,   114,   183,    -1,    -1,   108,   184,
+     188,    -1,    68,    -1,    50,    -1,    91,    -1,     6,    -1,
+       8,    -1,   187,    -1,   227,    -1,   237,    -1,   234,   118,
+     237,    -1,     7,    -1,    13,    -1,    14,    -1,     5,    -1,
+     188,     5,    -1,    29,    -1,    68,    -1,    81,    -1,   190,
+      -1,    72,    86,    -1,    70,    56,    -1,    82,    -1,    49,
+      -1,    41,    76,    -1,    31,    86,    -1,    96,    -1,    52,
+      -1,   192,    -1,    63,    -1,    45,    -1,    27,    86,    -1,
+     189,    -1,   190,   224,    -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,   101,    -1,    -1,   197,    -1,   198,    -1,   110,   211,
+     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,   202,    -1,   201,   193,
+     202,    -1,   201,   194,   202,    -1,   202,   195,   202,    -1,
+     203,   110,   200,   111,    -1,   110,   200,   111,    -1,   204,
+      -1,   205,    -1,   204,   215,   204,    -1,    66,   215,   204,
+      -1,   204,   215,    65,    -1,    66,   215,    65,    -1,   206,
+      -1,    85,    -1,    51,    -1,    50,    -1,    91,    -1,   228,
+      -1,   187,    -1,   237,    -1,   234,    -1,   100,    34,   199,
+      -1,   100,    35,   108,   207,   109,    -1,   208,    -1,   207,
+     113,   208,    -1,   107,    -1,   237,   196,   209,    -1,    -1,
+     210,    -1,    78,    -1,    20,    -1,    74,    -1,   212,    -1,
+     216,    -1,   214,    -1,    -1,    36,    30,   108,   213,   188,
+      -1,    37,   172,    -1,   106,    -1,   106,   119,    -1,   119,
+     106,    -1,   119,   106,   119,    -1,   217,    -1,   218,    -1,
+     108,   234,   109,    -1,   217,   108,   219,   109,    -1,   220,
+      -1,   219,   113,   220,    -1,   120,   221,    -1,   120,   118,
+     221,    -1,   237,    -1,   221,   118,   237,    -1,    -1,   223,
+      -1,    74,    -1,    38,   183,    -1,   108,   109,    -1,   108,
+     225,   109,    -1,   226,    -1,   225,   113,   226,    -1,   237,
+      -1,   237,   110,   227,   111,    -1,   237,   110,   186,   111,
+      -1,   227,    -1,   107,    -1,    10,    -1,    11,    -1,   227,
+      -1,    12,    -1,    -1,   230,    -1,   231,   233,    -1,   115,
+     232,    10,   116,    -1,    -1,    94,    -1,    24,    -1,    80,
+      -1,    -1,    57,    -1,    46,    -1,    15,    -1,    16,    -1,
+      16,    -1,    -1,   237,    -1,     9,    -1
 };
 
 /* YYRLINE[YYN] -- source line where rule number YYN was defined.  */
 static const unsigned short yyrline[] =
 {
-       0,   342,   342,   348,   354,   370,   395,   397,   400,   404,
-     409,   416,   424,   429,   433,   442,   444,   452,   456,   464,
-     468,   471,   474,   478,   498,   500,   508,   517,   521,   536,
-     544,   557,   565,   564,   578,   590,   592,   594,   605,   610,
-     616,   622,   624,   627,   638,   644,   650,   657,   663,   672,
-     674,   685,   689,   692,   699,   705,   711,   718,   724,   733,
-     735,   745,   759,   769,   785,   795,   811,   817,   824,   834,
-     844,   849,   856,   863,   871,   881,   887,   893,   897,   905,
-     916,   938,   940,   942,   948,   954,   962,   968,   975,   980,
-     986,   992,   998,  1001,  1007,  1017,  1019,  1022,  1030,  1037,
-    1050,  1061,  1071,  1082,  1092,  1103,  1114,  1116,  1123,  1121,
-    1130,  1135,  1141,  1146,  1149,  1153,  1158,  1167,  1176,  1187,
-    1209,  1216,  1235,  1239,  1245,  1251,  1257,  1267,  1277,  1283,
-    1294,  1308,  1317,  1327,  1337,  1347,  1355,  1376,  1385,  1394,
-    1396,  1403,  1410,  1416,  1420,  1426,  1446,  1456,  1458,  1459,
-    1466,  1466,  1471,  1478,  1484,  1489,  1493,  1497,  1500,  1505,
-    1517,  1534,  1539,  1544,  1577,  1587,  1601,  1603,  1604,  1605,
-    1606,  1607,  1608,  1609,  1610,  1611,  1612,  1613,  1614,  1620,
-    1622,  1623,  1626,  1633,  1645,  1647,  1651,  1655,  1656,  1657,
-    1658,  1659,  1663,  1664,  1665,  1666,  1670,  1671,  1678,  1678,
-    1679,  1679,  1680,  1682,  1684,  1689,  1693,  1702,  1706,  1711,
-    1716,  1719,  1725,  1735,  1739,  1742,  1745,  1748,  1753,  1762,
-    1770,  1776,  1782,  1789,  1797,  1805,  1814,  1817,  1821,  1820,
-    1831,  1833,  1834,  1835,  1838,  1842,  1847,  1853,  1858,  1859,
-    1860,  1873,  1887,  1891,  1896,  1900,  1905,  1912,  1925,  1927,
-    1930,  1934,  1937,  1942,  1946,  1954,  1969,  1975,  1982,  1995,
-    2007,  2022,  2026,  2043,  2048,  2051,  2056,  2078,  2083,  2088,
-    2094,  2100,  2108,  2116,  2124,  2131,  2141,  2146,  2152,  2154,
-    2184,  2186,  2189,  2196,  2202,  2204,  2205,  2206,  2209,  2211,
-    2212,  2215,  2220,  2227,  2234,  2236,  2241
+       0,   349,   349,   355,   361,   378,   377,   406,   408,   411,
+     415,   420,   427,   435,   440,   444,   453,   455,   463,   467,
+     475,   479,   482,   485,   489,   509,   511,   519,   528,   532,
+     547,   555,   568,   576,   575,   589,   601,   603,   605,   616,
+     621,   627,   633,   635,   638,   649,   655,   661,   668,   674,
+     683,   685,   696,   700,   703,   710,   716,   722,   729,   735,
+     744,   746,   756,   770,   780,   796,   806,   822,   828,   835,
+     845,   855,   860,   867,   874,   882,   892,   898,   904,   908,
+     916,   927,   949,   951,   953,   959,   965,   973,   979,   986,
+     991,   997,  1003,  1009,  1012,  1018,  1028,  1030,  1033,  1041,
+    1048,  1061,  1072,  1082,  1093,  1103,  1114,  1125,  1127,  1134,
+    1132,  1141,  1146,  1152,  1157,  1160,  1164,  1169,  1178,  1187,
+    1198,  1220,  1227,  1246,  1250,  1256,  1262,  1268,  1278,  1288,
+    1294,  1305,  1319,  1328,  1338,  1348,  1358,  1366,  1387,  1396,
+    1405,  1407,  1414,  1421,  1427,  1431,  1437,  1457,  1467,  1469,
+    1470,  1477,  1477,  1482,  1489,  1495,  1500,  1504,  1508,  1511,
+    1516,  1528,  1545,  1550,  1555,  1588,  1598,  1612,  1614,  1615,
+    1616,  1617,  1618,  1619,  1620,  1621,  1622,  1623,  1624,  1625,
+    1631,  1633,  1634,  1637,  1644,  1656,  1658,  1662,  1666,  1667,
+    1668,  1669,  1670,  1674,  1675,  1676,  1677,  1681,  1682,  1689,
+    1689,  1690,  1690,  1691,  1693,  1695,  1700,  1702,  1707,  1711,
+    1720,  1724,  1729,  1734,  1737,  1743,  1753,  1757,  1760,  1763,
+    1766,  1771,  1780,  1788,  1794,  1800,  1807,  1815,  1823,  1832,
+    1837,  1841,  1846,  1852,  1857,  1858,  1859,  1872,  1886,  1890,
+    1895,  1899,  1904,  1911,  1924,  1926,  1929,  1933,  1936,  1943,
+    1945,  1946,  1951,  1949,  1961,  1969,  1971,  1972,  1973,  1975,
+    1979,  1987,  2002,  2008,  2015,  2028,  2040,  2055,  2059,  2076,
+    2081,  2084,  2089,  2111,  2116,  2121,  2127,  2133,  2141,  2149,
+    2157,  2164,  2174,  2179,  2185,  2187,  2217,  2219,  2222,  2229,
+    2235,  2237,  2238,  2239,  2242,  2244,  2245,  2248,  2253,  2260,
+    2267,  2269,  2274
 };
 #endif
 
@@ -775,11 +781,11 @@
   "TOK_EXCEPT", "'^'", "TOK_INTERSECTION", "'|'", "TOK_UNION", 
   "TOK_TwoDots", "TOK_ThreeDots", "'{'", "'}'", "'('", "')'", "';'", 
   "','", "':'", "'['", "']'", "'!'", "'.'", "'<'", "'@'", "$accept", 
-  "ParsedGrammar", "ModuleList", "ModuleDefinition", 
+  "ParsedGrammar", "ModuleList", "ModuleDefinition", "@1", 
   "optObjectIdentifier", "ObjectIdentifier", "ObjectIdentifierBody", 
   "ObjectIdentifierElement", "optModuleDefinitionFlags", 
   "ModuleDefinitionFlags", "ModuleDefinitionFlag", "optModuleBody", 
-  "ModuleBody", "AssignmentList", "Assignment", "@1", "optImports", 
+  "ModuleBody", "AssignmentList", "Assignment", "@2", "optImports", 
   "ImportsDefinition", "ImportsBundleSet", "AssignedIdentifier", 
   "ImportsBundle", "ImportsList", "ImportsElement", "optExports", 
   "ExportsDefinition", "ExportsBody", "ExportsElement", "ValueSet", 
@@ -788,20 +794,21 @@
   "ActualParameter", "optComponentTypeLists", "ComponentTypeLists", 
   "ComponentType", "AlternativeTypeLists", "AlternativeType", 
   "ObjectClass", "optUnique", "FieldSpec", "ClassField", "optWithSyntax", 
-  "WithSyntax", "@2", "WithSyntaxList", "WithSyntaxToken", 
+  "WithSyntax", "@3", "WithSyntaxList", "WithSyntaxToken", 
   "ExtensionAndException", "Type", "NSTD_IndirectMarker", 
   "TypeDeclaration", "TypeDeclarationSet", "ComplexTypeReference", 
   "ComplexTypeReferenceAmpList", "ComplexTypeReferenceElement", 
   "PrimitiveFieldReference", "FieldName", "DefinedObjectClass", 
-  "ValueDefinition", "Value", "@3", "SimpleValue", "DefinedValue", 
+  "ValueDefinition", "Value", "@4", "SimpleValue", "DefinedValue", 
   "RestrictedCharacterStringValue", "Opaque", "BasicTypeId", 
   "BasicTypeId_UniverationCompatible", "BasicType", "BasicString", 
-  "Union", "Intersection", "Except", "optConstraints", "Constraints", 
-  "SetOfConstraints", "ElementSetSpecs", "ElementSetSpec", 
-  "ConstraintSubtypeElement", "@4", "ConstraintRangeSpec", 
-  "ConstraintSpec", "SingleValue", "ContainedSubtype", 
-  "InnerTypeConstraint", "WithComponentsList", "WithComponentsElement", 
-  "optPresenceConstraint", "PresenceConstraint", "TableConstraint", 
+  "Union", "Intersection", "Except", "optConstraints", "Constraint", 
+  "SubtypeConstraint", "SetOfConstraints", "ElementSetSpecs", 
+  "ElementSetSpec", "ConstraintSubtypeElement", "ConstraintSpec", 
+  "SingleValue", "ContainedSubtype", "InnerTypeConstraint", 
+  "WithComponentsList", "WithComponentsElement", "optPresenceConstraint", 
+  "PresenceConstraint", "GeneralConstraint", "UserDefinedConstraint", 
+  "@5", "ContentsConstraint", "ConstraintRangeSpec", "TableConstraint", 
   "SimpleTableConstraint", "ComponentRelationConstraint", 
   "AtNotationList", "AtNotationElement", "ComponentIdList", "optMarker", 
   "Marker", "UniverationDefinition", "UniverationList", 
@@ -835,71 +842,73 @@
 /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives.  */
 static const unsigned char yyr1[] =
 {
-       0,   121,   122,   123,   123,   124,   125,   125,   126,   126,
-     127,   127,   128,   128,   128,   129,   129,   130,   130,   131,
-     131,   131,   131,   131,   132,   132,   133,   134,   134,   135,
-     135,   135,   136,   135,   135,   137,   137,   138,   138,   139,
-     139,   140,   140,   141,   142,   142,   143,   143,   143,   144,
-     144,   145,   145,   145,   146,   146,   147,   147,   147,   148,
-     149,   150,   150,   150,   151,   151,   151,   151,   152,   152,
-     153,   153,   153,   153,   153,   154,   154,   155,   155,   155,
-     155,   156,   156,   157,   157,   158,   158,   158,   158,   159,
-     159,   160,   160,   160,   161,   162,   162,   163,   163,   164,
-     164,   164,   164,   164,   164,   164,   165,   165,   167,   166,
-     168,   168,   169,   169,   169,   169,   170,   170,   170,   171,
-     172,   173,   174,   174,   174,   174,   174,   174,   174,   174,
-     174,   175,   175,   175,   175,   175,   175,   176,   176,   177,
-     178,   178,   179,   179,   179,   180,   181,   182,   182,   182,
-     183,   182,   182,   184,   184,   184,   184,   184,   184,   185,
-     185,   186,   186,   186,   187,   187,   188,   188,   188,   188,
-     188,   188,   188,   188,   188,   188,   188,   188,   188,   189,
-     189,   189,   190,   190,   191,   191,   191,   191,   191,   191,
-     191,   191,   191,   191,   191,   191,   191,   191,   192,   192,
-     193,   193,   194,   195,   195,   196,   196,   197,   197,   198,
-     198,   198,   198,   199,   199,   199,   199,   199,   200,   200,
-     200,   200,   200,   200,   200,   200,   200,   200,   201,   200,
-     202,   202,   202,   202,   203,   203,   204,   204,   204,   204,
-     204,   205,   206,   206,   207,   207,   208,   208,   209,   209,
-     210,   210,   210,   211,   211,   212,   213,   214,   214,   215,
-     215,   216,   216,   217,   217,   218,   218,   219,   219,   220,
-     220,   221,   221,   221,   221,   221,   222,   222,   223,   223,
-     224,   224,   225,   226,   227,   227,   227,   227,   228,   228,
-     228,   229,   229,   230,   231,   231,   232
+       0,   121,   122,   123,   123,   125,   124,   126,   126,   127,
+     127,   128,   128,   129,   129,   129,   130,   130,   131,   131,
+     132,   132,   132,   132,   132,   133,   133,   134,   135,   135,
+     136,   136,   136,   137,   136,   136,   138,   138,   139,   139,
+     140,   140,   141,   141,   142,   143,   143,   144,   144,   144,
+     145,   145,   146,   146,   146,   147,   147,   148,   148,   148,
+     149,   150,   151,   151,   151,   152,   152,   152,   152,   153,
+     153,   154,   154,   154,   154,   154,   155,   155,   156,   156,
+     156,   156,   157,   157,   158,   158,   159,   159,   159,   159,
+     160,   160,   161,   161,   161,   162,   163,   163,   164,   164,
+     165,   165,   165,   165,   165,   165,   165,   166,   166,   168,
+     167,   169,   169,   170,   170,   170,   170,   171,   171,   171,
+     172,   173,   174,   175,   175,   175,   175,   175,   175,   175,
+     175,   175,   176,   176,   176,   176,   176,   176,   177,   177,
+     178,   179,   179,   180,   180,   180,   181,   182,   183,   183,
+     183,   184,   183,   183,   185,   185,   185,   185,   185,   185,
+     186,   186,   187,   187,   187,   188,   188,   189,   189,   189,
+     189,   189,   189,   189,   189,   189,   189,   189,   189,   189,
+     190,   190,   190,   191,   191,   192,   192,   192,   192,   192,
+     192,   192,   192,   192,   192,   192,   192,   192,   192,   193,
+     193,   194,   194,   195,   196,   196,   197,   197,   198,   198,
+     199,   199,   200,   200,   200,   200,   201,   201,   201,   201,
+     201,   202,   202,   202,   202,   202,   202,   202,   202,   202,
+     203,   203,   204,   204,   204,   204,   204,   205,   206,   206,
+     207,   207,   208,   208,   209,   209,   210,   210,   210,   211,
+     211,   211,   213,   212,   214,   215,   215,   215,   215,   216,
+     216,   217,   218,   219,   219,   220,   220,   221,   221,   222,
+     222,   223,   223,   224,   224,   225,   225,   226,   226,   226,
+     226,   226,   227,   227,   228,   228,   229,   229,   230,   231,
+     232,   232,   232,   232,   233,   233,   233,   234,   234,   235,
+     236,   236,   237
 };
 
 /* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN.  */
 static const unsigned char yyr2[] =
 {
-       0,     2,     1,     1,     2,     8,     0,     1,     3,     2,
-       1,     2,     1,     4,     1,     0,     1,     1,     2,     2,
-       2,     2,     2,     2,     0,     1,     3,     1,     2,     1,
-       1,     1,     0,     3,     1,     0,     1,     3,     2,     1,
-       2,     0,     1,     4,     1,     3,     1,     3,     1,     0,
-       1,     3,     3,     2,     1,     3,     1,     3,     1,     3,
-       4,     1,     1,     4,     3,     3,     6,     6,     1,     3,
-       1,     3,     3,     3,     3,     1,     3,     1,     1,     1,
-       1,     0,     1,     1,     3,     3,     2,     3,     1,     1,
-       3,     2,     1,     1,     5,     0,     1,     1,     3,     2,
-       4,     3,     3,     3,     3,     3,     0,     1,     0,     6,
-       1,     2,     1,     1,     1,     3,     1,     3,     3,     3,
-       0,     2,     1,     4,     4,     4,     6,     6,     1,     4,
-       3,     1,     3,     3,     3,     1,     3,     1,     3,     1,
-       1,     1,     1,     3,     3,     1,     4,     1,     1,     3,
-       0,     3,     1,     1,     1,     1,     1,     1,     1,     1,
-       3,     1,     1,     1,     1,     2,     1,     1,     1,     1,
-       2,     2,     1,     1,     2,     2,     1,     1,     1,     1,
-       1,     2,     1,     2,     1,     1,     1,     1,     1,     1,
+       0,     2,     1,     1,     2,     0,     9,     0,     1,     3,
+       2,     1,     2,     1,     4,     1,     0,     1,     1,     2,
+       2,     2,     2,     2,     2,     0,     1,     3,     1,     2,
+       1,     1,     1,     0,     3,     1,     0,     1,     3,     2,
+       1,     2,     0,     1,     4,     1,     3,     1,     3,     1,
+       0,     1,     3,     3,     2,     1,     3,     1,     3,     1,
+       3,     4,     1,     1,     4,     3,     3,     6,     6,     1,
+       3,     1,     3,     3,     3,     3,     1,     3,     1,     1,
+       1,     1,     0,     1,     1,     3,     3,     2,     3,     1,
+       1,     3,     2,     1,     1,     5,     0,     1,     1,     3,
+       2,     4,     3,     3,     3,     3,     3,     0,     1,     0,
+       6,     1,     2,     1,     1,     1,     3,     1,     3,     3,
+       3,     0,     2,     1,     4,     4,     4,     6,     6,     1,
+       4,     3,     1,     3,     3,     3,     1,     3,     1,     3,
+       1,     1,     1,     1,     3,     3,     1,     4,     1,     1,
+       3,     0,     3,     1,     1,     1,     1,     1,     1,     1,
+       1,     3,     1,     1,     1,     1,     2,     1,     1,     1,
+       1,     2,     2,     1,     1,     2,     2,     1,     1,     1,
+       1,     1,     2,     1,     2,     1,     1,     1,     1,     1,
        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
-       1,     1,     1,     0,     1,     1,     4,     3,     4,     1,
-       1,     3,     5,     1,     3,     3,     3,     3,     4,     3,
-       1,     1,     3,     3,     3,     3,     1,     1,     0,     5,
-       1,     2,     2,     3,     1,     1,     1,     1,     1,     1,
-       1,     1,     3,     5,     1,     3,     1,     3,     0,     1,
-       1,     1,     1,     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
+       1,     1,     1,     1,     0,     1,     1,     3,     1,     4,
+       3,     4,     1,     1,     3,     5,     1,     3,     3,     3,
+       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
 };
 
 /* YYDEFACT[STATE-NAME] -- Default rule to reduce with in state
@@ -907,368 +916,375 @@
    means the default is an error.  */
 static const unsigned short yydefact[] =
 {
-       0,   291,   292,     0,     2,     3,     6,     1,     4,     0,
-       0,     7,   296,    14,     9,     0,    10,    12,    15,     8,
-      11,     0,     0,     0,     0,     0,     0,     0,    16,    17,
-       0,    23,    21,    19,    22,    20,     0,    18,    13,    49,
-       0,     0,    25,    35,    50,     0,    53,     0,    54,    56,
-      58,     5,     0,     0,    36,    52,    51,     0,     0,    38,
-       0,    39,     0,    44,    46,    48,   184,     0,   185,   186,
-     187,   188,   189,   197,   190,   191,   192,   193,   194,   195,
-     196,    26,    27,    31,    29,    30,    34,     0,     0,    55,
-      57,    37,    40,     0,     0,     0,    32,    28,   280,   131,
-     293,     0,   166,     0,     0,   180,   173,   177,   179,   167,
-       0,     0,   168,   172,   176,     0,     0,    62,   182,   169,
-      61,   178,   135,     0,    41,    45,    47,    33,     0,   284,
-      65,    64,   120,   281,   288,     0,   181,   175,   174,   171,
-     170,     0,    68,     0,   169,    70,     0,   280,     0,   183,
-       0,     0,    42,    43,     0,   286,   287,   285,     0,     0,
-     203,   290,   289,   282,   132,   134,     0,     0,     0,     0,
-       0,    60,   155,   161,   156,   276,   277,   162,   163,   153,
-     154,    80,     0,    75,    77,    78,   157,   158,    79,   275,
-     267,     0,   269,   274,   271,   140,   141,   136,   137,   139,
-     133,   152,   150,   146,   147,   148,     0,   159,   280,   280,
-       0,    97,     0,   128,     0,     0,   203,   203,   122,   121,
-       0,     0,   119,   204,   205,   280,    69,    74,    73,    72,
-      71,   279,     0,     0,   236,   235,     0,   234,   237,     0,
-     209,     0,     0,   239,     0,   210,   213,     0,   220,   221,
-     227,   226,   253,   254,   278,   238,   241,   240,    63,   280,
-     268,     0,     0,     0,     0,     0,     0,   145,   142,     0,
-     265,   263,   263,   263,    99,   264,    95,   263,   263,   106,
-       0,   283,     0,   280,     0,   280,     0,   280,     0,     0,
-       0,     0,    67,    66,     0,     0,   230,     0,     0,     0,
-       0,     0,     0,    59,   200,   201,   198,   199,     0,     0,
-       0,   202,     0,     0,     0,     0,    76,   270,     0,     0,
-     159,   138,   164,   151,   160,   149,   266,   104,     0,   103,
-     105,    96,   263,   101,   102,     0,    94,   107,    98,     0,
-     116,     0,    89,    92,    93,   280,   130,     0,     0,    82,
-      83,    88,   263,   280,   294,     0,   294,     0,   207,     0,
-     214,   228,   231,   232,   225,   223,   242,     0,   255,   219,
-     211,   215,   216,   217,     0,   224,   222,     0,     0,   257,
-     273,   272,   165,   143,   144,   100,     0,   129,     0,   123,
-     280,    91,   280,   124,   280,    86,   263,   280,   295,   125,
-     280,   206,   208,     0,   233,   246,     0,   244,   203,     0,
-     218,     0,   259,   261,   256,     0,   108,   117,   118,    90,
-      87,    84,    85,   120,   120,   229,   243,     0,   248,   212,
-     260,     0,   258,     0,   126,   127,   245,   251,   252,   250,
-     247,   249,   262,   112,   113,     0,     0,   110,   114,     0,
-     109,   111,   115
+       0,   297,   298,     0,     2,     3,     5,     1,     4,     7,
+       0,     0,     8,   302,    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,
+      50,     0,     0,    26,    36,    51,     0,    54,     0,    55,
+      57,    59,     6,     0,     0,    37,    53,    52,     0,     0,
+      39,     0,    40,     0,    45,    47,    49,   185,     0,   186,
+     187,   188,   189,   190,   198,   191,   192,   193,   194,   195,
+     196,   197,    27,    28,    32,    30,    31,    35,     0,     0,
+      56,    58,    38,    41,     0,     0,     0,    33,    29,   286,
+     132,   299,     0,   167,     0,     0,   181,   174,   178,   180,
+     168,     0,     0,   169,   173,   177,     0,     0,    63,   183,
+     170,    62,   179,   136,     0,    42,    46,    48,    34,     0,
+     290,    66,    65,   121,   287,   294,     0,   182,   176,   175,
+     172,   171,     0,    69,     0,   170,    71,     0,   286,     0,
+     184,     0,     0,    43,    44,     0,   292,   293,   291,     0,
+       0,   204,   296,   295,   288,   133,   135,     0,     0,     0,
+       0,     0,    61,   156,   162,   157,   282,   283,   163,   164,
+     154,   155,    81,     0,    76,    78,    79,   158,   159,    80,
+     281,   273,     0,   275,   280,   277,   141,   142,   137,   138,
+     140,   134,   153,   151,   147,   148,   149,     0,   160,   286,
+     286,     0,    98,     0,   129,     0,     0,   204,   204,   123,
+     122,     0,     0,   120,   205,   206,   208,   286,    70,    75,
+      74,    73,    72,   285,     0,   232,   231,     0,   230,   233,
+       0,   212,     0,   235,     0,   213,   216,     0,   223,   224,
+     229,   284,   234,   237,   236,    64,   286,   274,     0,     0,
+       0,     0,     0,     0,   146,   143,     0,   271,   269,   269,
+     269,   100,   270,    96,   269,   269,   107,     0,   289,     0,
+     286,     0,   286,     0,   286,     0,     0,     0,   286,     0,
+       0,     0,   249,   251,   250,   259,   260,     0,    68,    67,
+       0,   255,     0,     0,     0,     0,     0,    60,   201,   202,
+     199,   200,     0,     0,     0,   203,     0,     0,     0,    77,
+     276,     0,     0,   160,   139,   165,   152,   161,   150,   272,
+     105,     0,   104,   106,    97,   269,   102,   103,     0,    95,
+     108,    99,     0,   117,     0,    90,    93,    94,   286,   131,
+       0,     0,    83,    84,    89,   269,   286,   300,     0,   300,
+       0,     0,   254,     0,   210,   207,     0,     0,   217,   256,
+     257,   228,   226,     0,   238,     0,   222,   214,   218,   219,
+     220,     0,   227,   225,   279,   278,   166,   144,   145,   101,
+       0,   130,     0,   124,   286,    92,   286,   125,   286,    87,
+     269,   286,   301,   126,   286,   209,   252,   261,     0,     0,
+     263,   211,   258,   242,     0,   240,   204,     0,   221,   109,
+     118,   119,    91,    88,    85,    86,   121,   121,     0,     0,
+     265,   267,   262,     0,   239,     0,   244,   215,     0,   127,
+     128,   253,   266,     0,   264,   241,   247,   248,   246,   243,
+     245,   113,   114,     0,     0,   111,   115,   268,     0,   110,
+     112,   116
 };
 
 /* YYDEFGOTO[NTERM-NUM]. */
 static const short yydefgoto[] =
 {
-      -1,     3,     4,     5,    10,    11,    15,    16,    27,    28,
-      29,    41,    42,    81,    82,   127,    53,    54,    60,   153,
-      61,    62,    63,    43,    44,    47,    48,   181,    83,   116,
-      84,   141,   142,   182,   183,   348,   349,   350,   341,   342,
-     130,   332,   210,   211,   336,   337,   433,   446,   447,   351,
-     352,   159,   160,   219,   117,   197,   198,   448,   272,   273,
-      85,   203,   264,   204,   205,   243,   323,   118,   119,   120,
-     121,   309,   310,   312,   222,   223,   224,   244,   245,   246,
-     403,   298,   247,   248,   249,   250,   406,   407,   440,   441,
-     251,   252,   253,   378,   379,   412,   274,   275,   149,   191,
-     192,   254,   255,   132,   133,   134,   158,   163,   256,   122,
-     397,   257
+      -1,     3,     4,     5,     9,    11,    12,    16,    17,    28,
+      29,    30,    42,    43,    82,    83,   128,    54,    55,    61,
+     154,    62,    63,    64,    44,    45,    48,    49,   182,    84,
+     117,    85,   142,   143,   183,   184,   351,   352,   353,   344,
+     345,   131,   335,   211,   212,   339,   340,   438,   454,   455,
+     354,   355,   160,   161,   220,   118,   198,   199,   456,   269,
+     270,    86,   204,   261,   205,   206,   243,   326,   119,   120,
+     121,   122,   313,   314,   316,   223,   224,   225,   226,   290,
+     245,   246,   247,   248,   249,   250,   414,   415,   449,   450,
+     291,   292,   428,   293,   303,   294,   295,   296,   409,   410,
+     430,   271,   272,   150,   192,   193,   251,   252,   133,   134,
+     135,   159,   164,   253,   123,   401,   254
 };
 
 /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
    STATE-NUM.  */
-#define YYPACT_NINF -357
+#define YYPACT_NINF -345
 static const short yypact[] =
 {
-      83,  -357,  -357,    18,    83,  -357,   -80,  -357,  -357,    64,
-       3,  -357,  -357,  -357,  -357,    74,  -357,     2,   266,  -357,
-    -357,   139,   100,    88,    90,   148,   142,   230,   266,  -357,
-     135,  -357,  -357,  -357,  -357,  -357,   242,  -357,  -357,   127,
-      53,   233,  -357,   238,  -357,   177,  -357,    80,  -357,   199,
-    -357,  -357,   173,   256,  -357,  -357,  -357,   213,   206,  -357,
-      55,  -357,     8,  -357,   211,  -357,  -357,   308,  -357,  -357,
-    -357,  -357,  -357,  -357,  -357,  -357,  -357,  -357,  -357,  -357,
-    -357,   256,  -357,  -357,  -357,  -357,  -357,   345,   641,  -357,
-    -357,  -357,  -357,    83,   213,   217,  -357,  -357,   -23,   222,
-    -357,   257,  -357,   271,   276,  -357,  -357,  -357,  -357,  -357,
-     303,   281,  -357,  -357,  -357,   717,   359,   261,  -357,   262,
-    -357,  -357,   253,   372,   -80,  -357,  -357,  -357,   269,     6,
-    -357,  -357,  -357,  -357,   134,   213,  -357,  -357,  -357,  -357,
-    -357,    89,  -357,   264,  -357,   273,   272,    95,    69,  -357,
-     277,   205,  -357,  -357,   300,  -357,  -357,  -357,   373,   565,
-     -61,  -357,  -357,  -357,  -357,  -357,   381,   717,   213,   213,
-     445,  -357,  -357,  -357,  -357,  -357,  -357,  -357,  -357,  -357,
-    -357,  -357,    92,  -357,  -357,  -357,  -357,  -357,  -357,  -357,
-    -357,   114,  -357,  -357,   278,  -357,  -357,   274,  -357,  -357,
-    -357,  -357,  -357,  -357,  -357,  -357,   275,   282,    72,    40,
-     117,  -357,   279,   351,   293,   330,    87,    99,  -357,  -357,
-     294,   445,  -357,  -357,   295,   -23,  -357,  -357,  -357,  -357,
-    -357,  -357,   305,   377,  -357,  -357,   -79,  -357,  -357,   287,
-    -357,    83,   445,  -357,   301,   229,   310,   302,   -79,  -357,
-    -357,  -357,   312,  -357,  -357,  -357,  -357,  -357,  -357,    95,
-    -357,    27,   270,   311,   414,   412,   205,  -357,  -357,   205,
-    -357,   116,   126,   116,  -357,  -357,   332,   126,   116,   323,
-     300,  -357,   398,    41,   334,     4,   356,     4,   357,   445,
-     320,   445,  -357,  -357,   491,   324,   315,   331,   225,   326,
-     337,   329,   328,  -357,  -357,  -357,  -357,  -357,   339,   491,
-     491,  -357,   491,   445,   291,   327,  -357,  -357,   338,   340,
-    -357,  -357,  -357,   443,  -357,  -357,  -357,  -357,   346,  -357,
-    -357,  -357,   116,  -357,  -357,   363,  -357,  -357,  -357,   412,
-     347,   138,  -357,  -357,  -357,   348,  -357,   389,   360,   352,
-    -357,  -357,   116,   348,   412,   362,   412,   355,  -357,   369,
-    -357,  -357,  -357,   349,  -357,  -357,   295,    51,  -357,  -357,
-     370,  -357,  -357,  -357,   371,  -357,  -357,    10,   145,  -357,
-    -357,  -357,  -357,  -357,  -357,  -357,   376,  -357,   270,  -357,
-      41,  -357,   348,  -357,    46,  -357,   116,   348,  -357,  -357,
-     348,  -357,  -357,   414,  -357,  -357,   174,  -357,   -61,   463,
-    -357,   412,   368,  -357,  -357,   327,  -357,  -357,  -357,  -357,
-    -357,  -357,  -357,  -357,  -357,   443,  -357,    51,   130,   234,
-     368,   412,  -357,    28,  -357,  -357,  -357,  -357,  -357,  -357,
-    -357,  -357,  -357,  -357,  -357,    28,    48,  -357,  -357,    16,
-    -357,  -357,  -357
+     179,  -345,  -345,    94,   179,  -345,  -345,  -345,  -345,   -87,
+      25,   118,  -345,  -345,  -345,  -345,    64,  -345,    37,   234,
+    -345,  -345,   106,   123,   107,   113,   164,   165,   260,   234,
+    -345,   157,  -345,  -345,  -345,  -345,  -345,   247,  -345,  -345,
+     177,    60,   235,  -345,   239,  -345,   175,  -345,   -72,  -345,
+     198,  -345,  -345,   147,   506,  -345,  -345,  -345,   246,   199,
+    -345,    21,  -345,   100,  -345,   205,  -345,  -345,   299,  -345,
+    -345,  -345,  -345,  -345,  -345,  -345,  -345,  -345,  -345,  -345,
+    -345,  -345,   506,  -345,  -345,  -345,  -345,  -345,   273,   659,
+    -345,  -345,  -345,  -345,   179,   246,   212,  -345,  -345,    16,
+     242,  -345,   237,  -345,   254,   270,  -345,  -345,  -345,  -345,
+    -345,   306,   278,  -345,  -345,  -345,   735,   376,   272,  -345,
+     275,  -345,  -345,   267,   383,   -87,  -345,  -345,  -345,   281,
+      87,  -345,  -345,  -345,  -345,    14,   246,  -345,  -345,  -345,
+    -345,  -345,    36,  -345,   276,  -345,   277,   284,    91,    77,
+    -345,   341,   201,  -345,  -345,   214,  -345,  -345,  -345,   377,
+     583,   108,  -345,  -345,  -345,  -345,  -345,   391,   735,   246,
+     246,   435,  -345,  -345,  -345,  -345,  -345,  -345,  -345,  -345,
+    -345,  -345,  -345,   134,  -345,  -345,  -345,  -345,  -345,  -345,
+    -345,  -345,   186,  -345,  -345,   285,  -345,  -345,   289,  -345,
+    -345,  -345,  -345,  -345,  -345,  -345,  -345,   290,   282,   162,
+      76,   211,  -345,   293,   370,   303,   340,   -52,    95,  -345,
+    -345,   304,   390,  -345,  -345,  -345,   305,    16,  -345,  -345,
+    -345,  -345,  -345,  -345,   315,  -345,  -345,   114,  -345,  -345,
+     210,  -345,   435,  -345,   308,   181,   317,   310,   114,  -345,
+    -345,  -345,  -345,  -345,  -345,  -345,    91,  -345,    97,   301,
+     279,   416,   413,   201,  -345,  -345,   201,  -345,   -13,    74,
+     -13,  -345,  -345,   330,    74,   -13,   324,   214,  -345,   398,
+      61,   323,    68,   356,    68,   357,   435,   401,   319,   179,
+     321,   325,  -345,  -345,  -345,   327,  -345,   435,  -345,  -345,
+     497,   318,   332,   216,   329,   335,   342,  -345,  -345,  -345,
+    -345,  -345,   345,   497,   497,  -345,   497,   435,   228,  -345,
+    -345,   343,   344,  -345,  -345,  -345,   453,  -345,  -345,  -345,
+    -345,   349,  -345,  -345,  -345,   -13,  -345,  -345,   373,  -345,
+    -345,  -345,   413,   352,   220,  -345,  -345,  -345,   319,  -345,
+     397,   362,   359,  -345,  -345,   -13,   319,   413,   364,   413,
+     365,   369,  -345,   371,  -345,  -345,   358,   368,  -345,  -345,
+     363,  -345,  -345,   435,   305,     8,  -345,   374,  -345,  -345,
+    -345,   372,  -345,  -345,  -345,  -345,  -345,  -345,  -345,  -345,
+     380,  -345,   301,  -345,    61,  -345,   319,  -345,    43,  -345,
+     -13,   319,  -345,  -345,   319,  -345,  -345,  -345,    -5,   221,
+    -345,  -345,  -345,  -345,   222,  -345,   108,   452,  -345,  -345,
+    -345,  -345,  -345,  -345,  -345,  -345,  -345,  -345,   416,   413,
+     366,  -345,  -345,   358,  -345,     8,     6,   271,    49,  -345,
+    -345,   453,   366,   413,  -345,  -345,  -345,  -345,  -345,  -345,
+    -345,  -345,  -345,    49,    46,  -345,  -345,  -345,    28,  -345,
+    -345,  -345
 };
 
 /* YYPGOTO[NTERM-NUM].  */
 static const short yypgoto[] =
 {
-    -357,  -357,  -357,   483,  -357,   364,  -357,   474,  -357,  -357,
-     462,  -357,  -357,  -357,   410,  -357,  -357,  -357,  -357,  -357,
-     432,  -357,   399,  -357,  -357,  -357,   437,   366,  -357,   -62,
-    -357,  -357,   341,  -357,   250,   210,  -357,   121,  -357,   120,
-     292,  -357,  -357,   236,  -357,  -357,  -357,    73,  -356,  -272,
-     -84,  -357,   -58,  -357,   235,  -357,   258,  -146,   313,   314,
-    -357,   -21,  -357,  -124,  -255,  -122,   122,   -38,    -1,  -357,
-      34,  -357,  -357,  -357,  -214,  -357,   221,   -25,   115,   -69,
-    -357,   280,  -357,  -207,  -357,  -357,  -357,   104,  -357,  -357,
-    -357,  -357,  -357,  -357,   111,   123,  -256,  -357,  -357,  -357,
-     283,  -139,  -357,  -138,  -357,  -357,  -357,  -357,     1,  -357,
-     176,    -9
+    -345,  -345,  -345,   485,  -345,  -345,   367,  -345,   475,  -345,
+    -345,   464,  -345,  -345,  -345,   412,  -345,  -345,  -345,  -345,
+    -345,   434,  -345,   404,  -345,  -345,  -345,   438,   378,  -345,
+     -79,  -345,  -345,   337,  -345,   258,   232,  -345,   119,  -345,
+     125,   296,  -345,  -345,   250,  -345,  -345,  -345,    71,  -344,
+    -271,   -91,  -345,   -49,  -345,   248,  -345,   268,  -132,   320,
+     322,  -345,    85,  -345,  -135,  -252,  -136,   103,   -89,   -78,
+    -345,   -43,  -345,  -345,  -345,  -215,  -345,  -345,   229,  -151,
+     121,  -126,  -345,   -84,  -345,  -345,  -345,   101,  -345,  -345,
+    -345,  -345,  -345,  -345,   291,  -345,  -345,  -345,  -345,   111,
+     112,  -246,  -345,  -345,  -345,   288,  -134,  -345,   -51,  -345,
+    -345,  -345,  -345,     1,  -345,   191,   -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 -264
+#define YYTABLE_NINF -270
 static const short yytable[] =
 {
-      17,     6,   286,   288,   199,     6,    17,   318,   187,   193,
-     128,   343,   187,    12,   131,   327,   329,   330,     7,    12,
-     443,   333,   334,   185,   220,   186,   123,   296,     9,   186,
-     155,    50,   443,   195,   196,   444,    12,   175,   176,   347,
-     297,    49,    18,    65,    88,   195,   196,   444,    50,   221,
-      12,    65,   443,    64,    87,    12,   267,   268,    49,    93,
-      12,    64,    12,   184,    12,   195,   196,   444,     1,     2,
-       1,     2,    88,    12,    13,    45,   385,   143,    12,   175,
-     176,   347,    87,    12,    13,    65,   156,    86,   267,   268,
-     451,   365,   129,   451,   124,    64,   395,   218,     1,     2,
-     157,   172,   173,   174,    12,   175,   176,   376,   177,   178,
-     269,   340,    21,   -81,   144,    86,   145,   199,   343,   129,
-     187,    94,   193,   319,   271,   276,   165,   187,   411,   143,
-     187,   445,   452,   417,   189,   185,   164,   186,   188,   194,
-     422,   293,   207,   445,   186,   179,   270,   186,   340,    30,
-     437,   200,   206,   340,   269,   129,   129,   450,   405,   228,
-     230,   129,    31,   445,   269,    46,   144,    91,   145,   227,
-     229,   -24,   220,    14,    40,   184,   189,    32,   190,    33,
-     161,  -263,    12,    19,   220,  -263,   180,   129,     1,     2,
-     270,   162,    56,    57,   428,   285,   290,   221,   166,   344,
-     270,   258,   167,   170,   438,   259,    34,   287,   439,   221,
-     129,   172,   173,   174,    12,   175,   176,   302,   177,   178,
-       1,     2,    12,   260,    59,   360,   279,   261,     1,     2,
-     280,    35,   173,    36,    12,   175,   176,   231,   177,   178,
-     371,   372,   301,   373,   328,   325,    38,   389,   326,   418,
-     188,   390,   194,   320,   414,   179,   324,   207,   415,   423,
-     207,   391,   424,   206,   357,    12,   359,   206,    39,   396,
-     206,     1,     2,   201,   345,   234,   353,    51,   353,    12,
-     175,   176,    22,   426,    66,     1,     2,   427,   374,    55,
-     364,    23,     1,     2,   195,   196,   180,    52,   173,    67,
-      12,   175,   176,   231,   177,   178,   344,    58,   420,    68,
-      69,    70,    24,   202,    25,    90,   238,   208,   209,    95,
-      71,   299,   300,    26,    96,    72,   126,    73,   195,   196,
-     387,   304,   305,   306,   307,    74,   304,   305,   306,   307,
-     135,   234,   308,   136,    75,   398,    76,   398,    98,    99,
-     100,    77,   138,    78,    79,    80,   375,   137,   408,   139,
-      99,   100,   146,   383,   384,   434,   435,   140,   413,   147,
-     148,   150,   101,    66,   102,   151,   103,   154,   168,   320,
-     170,   345,   238,   212,   225,   353,   104,   169,   262,   206,
-     105,   282,   263,   265,   106,   281,   266,   107,    68,    69,
-      70,   283,   413,   284,   289,   291,   294,   295,   108,    71,
-     303,   311,   313,   109,    72,   110,    73,   111,   408,   322,
-     315,    12,   442,   335,    74,   331,   112,   113,   339,   354,
-     356,   358,   361,    75,   362,    76,   221,   363,   368,   369,
-      77,   114,    78,    79,    80,   367,   370,   377,   382,   380,
-     386,   381,   173,   115,    12,   175,   176,   231,   177,   178,
-       1,     2,   392,   129,   388,   394,   401,   232,   404,   393,
-     173,   399,    12,   175,   176,   231,   177,   178,     1,     2,
-     402,   233,   410,   409,   416,   232,   431,     8,   152,    20,
-      37,    97,    92,   125,    89,   234,   235,   355,   173,   233,
-      12,   175,   176,   231,   177,   178,     1,     2,   226,   316,
-     419,   236,   171,   234,   235,   421,   338,   292,   449,   346,
-     366,   321,   277,   278,   429,   425,   432,   233,   314,   236,
-     237,   436,   400,     0,   430,     0,   238,     0,     0,     0,
-       0,   234,   235,     0,   317,   239,     0,     0,   237,     0,
-       0,     0,   240,   241,   238,   242,     0,   236,     0,     0,
-       0,     0,     0,   239,     0,     0,     0,     0,     0,     0,
-       0,   241,     0,   242,     0,     0,   237,     0,     0,     0,
-      99,   100,   238,     0,     0,     0,     0,     0,   213,     0,
-       0,   239,   101,    66,   102,     0,   103,   214,     0,   241,
-       0,   242,     0,     0,     0,     0,   104,     0,     0,     0,
-     105,     0,     0,     0,   106,     0,     0,   107,    68,    69,
-      70,     0,     0,     0,     0,     0,   215,     0,   108,    71,
-       0,     0,     0,   109,    72,   110,    73,   111,     0,     0,
-       0,     0,     0,     0,    74,     0,   112,   113,   216,   217,
-       0,     0,     0,    75,     0,    76,    99,   100,     0,     0,
-      77,   114,    78,    79,    80,     0,     0,     0,   101,    66,
-     102,     0,   103,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,   104,     0,     0,     0,   105,     0,     0,     0,
-     106,     0,     0,   107,    68,    69,    70,     0,     0,     0,
-       0,     0,     0,     0,   108,    71,     0,     0,     0,   109,
-      72,   110,    73,   111,     0,     0,     0,     0,     0,     0,
-      74,     0,   112,   113,     0,     0,     0,     0,     0,    75,
-       0,    76,     1,     2,     0,     0,    77,   114,    78,    79,
-      80,     0,     0,     0,   101,    66,   102,     0,   103,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,   104,     0,
-       0,     0,   105,     0,     0,     0,   106,     0,     0,   107,
-      68,    69,    70,     0,     0,     0,     0,     0,     0,     0,
-     108,    71,     0,     0,     0,   109,    72,   110,    73,   111,
-       0,     0,     0,     0,     0,     0,    74,     0,   112,   113,
-       0,     0,     0,     0,     0,    75,     0,    76,     0,     0,
-       0,     0,    77,   114,    78,    79,    80
+      18,     6,   283,   285,    13,     6,    18,   321,   132,   346,
+     124,    87,   187,   186,   188,   194,   187,    13,   188,   200,
+     244,    10,   330,   332,   333,   266,   446,   144,   336,   337,
+      13,    51,   451,   221,    13,    14,     1,     2,   145,    87,
+      57,    58,    50,    66,    89,   196,   197,   452,    51,   129,
+     451,    66,    13,   451,    65,    88,   282,   185,   222,    50,
+     162,   267,    65,   196,   197,   452,   196,   197,   452,    13,
+      13,   163,    89,    13,    14,     1,     2,    13,   350,   144,
+     447,   219,    46,    88,   448,    66,    13,   176,   177,   389,
+     145,   306,   264,   265,     7,   125,    65,   173,   174,   175,
+      13,   176,   177,   350,   178,   179,    13,   176,   177,   399,
+     460,   156,   266,   429,   460,   413,    31,   146,   268,   273,
+     187,   186,   188,   346,   194,   322,   166,   187,   200,   188,
+     187,   130,   188,    92,    15,   360,   299,   165,   189,   195,
+     420,   180,   208,   453,   461,   167,   367,    22,   267,   168,
+     343,    94,   201,   207,   425,   459,    13,    19,   130,   230,
+     232,   453,     1,     2,   453,   185,   381,   157,   343,   146,
+     229,   231,    47,    20,   368,   343,   130,   -82,   264,   265,
+     221,   158,   181,   130,   190,    32,   191,   378,   379,   347,
+     380,   130,   331,   221,     1,     2,    33,   362,    60,   171,
+     266,   436,    34,   284,   190,   222,   130,   173,   174,   175,
+      13,   176,   177,    95,   178,   179,     1,     2,   222,   372,
+     301,   -25,    35,   174,    41,    13,   176,   177,   233,   178,
+     179,   209,   210,   302,   383,   174,   267,    13,   176,   177,
+     233,   178,   179,   255,   304,   305,   189,   256,   195,   323,
+      23,   180,   327,   208,    36,    13,   208,   395,   421,    24,
+     207,     1,     2,    37,   207,   400,   235,   207,    39,   202,
+     348,  -269,   356,    40,   356,  -269,    99,   130,   235,    52,
+      25,   371,    26,   308,   309,   310,   311,    56,   100,   101,
+     363,    27,   181,   382,   312,   257,   196,   197,    53,   258,
+     102,    67,   103,   347,   104,   423,    59,   239,    91,   203,
+      13,   176,   177,    96,   105,    97,     1,     2,   106,   239,
+     276,   127,   107,   137,   277,   108,    69,    70,    71,   393,
+     432,   434,   391,   394,   433,   435,   109,    72,   100,   101,
+     138,   110,    73,   111,    74,   112,   139,   402,   328,   402,
+     426,   329,    75,   427,   113,   114,     1,     2,   196,   197,
+     136,    76,   140,    77,   141,   416,   387,   388,    78,   115,
+      79,    80,    81,   308,   309,   310,   311,   439,   440,   147,
+     148,   116,   323,   149,   348,   151,   152,   213,   356,   155,
+     169,   170,   171,   207,   227,   259,   263,   174,   431,    13,
+     176,   177,   233,   178,   179,     1,     2,   260,   262,   278,
+     279,   280,   234,   281,   286,   297,   300,   307,   315,   431,
+     317,   325,    13,   334,   338,   416,   287,   288,   342,   357,
+     359,   361,   364,   457,   130,   366,   365,   369,   370,   373,
+     235,   236,   174,   375,    13,   176,   177,   233,   178,   179,
+       1,     2,   377,   376,   384,   385,   237,   234,   386,   174,
+     390,    13,   176,   177,   233,   178,   179,     1,     2,   392,
+     396,   397,   398,   403,   234,   238,   405,   406,   408,   411,
+     407,   239,   412,   418,   443,   235,   236,   417,   419,     8,
+     240,    21,   153,    38,    98,    93,    90,   241,   289,   126,
+     242,   237,   235,   236,   174,   228,    13,   176,   177,   233,
+     178,   179,     1,     2,   319,    13,   358,   424,   237,   422,
+     238,     1,     2,   298,   458,   172,   239,   341,   324,   349,
+     274,   441,   275,   374,    67,   240,   445,   238,   437,   318,
+       0,   442,   241,   239,   444,   242,   320,   235,   236,    68,
+     404,     0,   240,     0,     0,     0,     0,     0,     0,    69,
+      70,    71,   242,   237,     0,     0,     0,     0,     0,     0,
+      72,     0,     0,     0,     0,    73,     0,    74,     0,     0,
+       0,     0,   238,     0,     0,    75,     0,     0,   239,     0,
+       0,     0,     0,     0,    76,     0,    77,   240,   100,   101,
+       0,    78,     0,    79,    80,    81,   214,   242,     0,     0,
+     102,    67,   103,     0,   104,   215,     0,     0,     0,     0,
+       0,     0,     0,     0,   105,     0,     0,     0,   106,     0,
+       0,     0,   107,     0,     0,   108,    69,    70,    71,     0,
+       0,     0,     0,     0,   216,     0,   109,    72,     0,     0,
+       0,   110,    73,   111,    74,   112,     0,     0,     0,     0,
+       0,     0,    75,     0,   113,   114,   217,   218,     0,     0,
+       0,    76,     0,    77,   100,   101,     0,     0,    78,   115,
+      79,    80,    81,     0,     0,     0,   102,    67,   103,     0,
+     104,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+     105,     0,     0,     0,   106,     0,     0,     0,   107,     0,
+       0,   108,    69,    70,    71,     0,     0,     0,     0,     0,
+       0,     0,   109,    72,     0,     0,     0,   110,    73,   111,
+      74,   112,     0,     0,     0,     0,     0,     0,    75,     0,
+     113,   114,     0,     0,     0,     0,     0,    76,     0,    77,
+       1,     2,     0,     0,    78,   115,    79,    80,    81,     0,
+       0,     0,   102,    67,   103,     0,   104,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,   105,     0,     0,     0,
+     106,     0,     0,     0,   107,     0,     0,   108,    69,    70,
+      71,     0,     0,     0,     0,     0,     0,     0,   109,    72,
+       0,     0,     0,   110,    73,   111,    74,   112,     0,     0,
+       0,     0,     0,     0,    75,     0,   113,   114,     0,     0,
+       0,     0,     0,    76,     0,    77,     0,     0,     0,     0,
+      78,   115,    79,    80,    81
 };
 
 static const short yycheck[] =
 {
-       9,     0,   216,   217,   150,     4,    15,   262,   147,   148,
-      33,   283,   151,     9,    98,   271,   272,   273,     0,     9,
-       4,   277,   278,   147,    85,   147,    88,   106,   108,   151,
-      24,    40,     4,    17,    18,    19,     9,    10,    11,    35,
-     119,    40,    39,    52,    53,    17,    18,    19,    57,   110,
-       9,    60,     4,    52,    53,     9,    16,    17,    57,    51,
-       9,    60,     9,   147,     9,    17,    18,    19,    15,    16,
-      15,    16,    81,     9,    10,    22,   332,   115,     9,    10,
-      11,    35,    81,     9,    10,    94,    80,    53,    16,    17,
-     446,   298,   115,   449,    93,    94,   352,   159,    15,    16,
-      94,     6,     7,     8,     9,    10,    11,   314,    13,    14,
-      38,   107,   110,   109,   115,    81,   115,   263,   390,   115,
-     259,   113,   261,   262,   208,   209,   135,   266,   118,   167,
-     269,   115,   116,   388,   107,   259,   135,   259,   147,   148,
-     396,   225,   151,   115,   266,    50,    74,   269,   107,    10,
-      20,   150,   151,   107,    38,   115,   115,   109,   107,   168,
-     169,   115,    62,   115,    38,   112,   167,   112,   167,   168,
-     169,    44,    85,   109,    47,   259,   107,    89,   109,    89,
-      46,   109,     9,   109,    85,   113,    91,   115,    15,    16,
-      74,    57,   112,   113,   408,   108,   221,   110,   109,   283,
-      74,   109,   113,   108,    74,   113,    58,   108,    78,   110,
-     115,     6,     7,     8,     9,    10,    11,   242,    13,    14,
-      15,    16,     9,   109,    51,   294,   109,   113,    15,    16,
-     113,    89,     7,     3,     9,    10,    11,    12,    13,    14,
-     309,   310,   241,   312,   118,   266,   111,   109,   269,   388,
-     259,   113,   261,   262,   109,    50,   265,   266,   113,   397,
-     269,   345,   400,   262,   289,     9,   291,   266,    26,   353,
-     269,    15,    16,    68,   283,    50,   285,    44,   287,     9,
-      10,    11,    16,   109,    28,    15,    16,   113,   313,   112,
-      65,    25,    15,    16,    17,    18,    91,    59,     7,    43,
-       9,    10,    11,    12,    13,    14,   390,   108,   392,    53,
-      54,    55,    46,   108,    48,   109,    91,    17,    18,   108,
-      64,    34,    35,    57,    16,    69,   109,    71,    17,    18,
-     339,   102,   103,   104,   105,    79,   102,   103,   104,   105,
-     118,    50,   113,    86,    88,   354,    90,   356,     3,    15,
-      16,    95,    76,    97,    98,    99,    65,    86,   367,    56,
-      15,    16,     3,    17,    18,   423,   424,    86,   377,   108,
-     108,   118,    27,    28,    29,     3,    31,   108,   114,   388,
-     108,   390,    91,    10,     3,   394,    41,   114,   110,   388,
-      45,    40,   118,   118,    49,   116,   114,    52,    53,    54,
-      55,   108,   411,    73,   110,   110,   101,    30,    63,    64,
-     109,   101,   110,    68,    69,    70,    71,    72,   427,     5,
-     108,     9,   431,   100,    79,    93,    81,    82,    30,    73,
-      73,   111,   108,    88,   119,    90,   110,   106,   109,   111,
-      95,    96,    97,    98,    99,   108,   107,   120,     5,   111,
-      87,   111,     7,   108,     9,    10,    11,    12,    13,    14,
-      15,    16,    73,   115,   117,   113,   111,    22,   119,   109,
-       7,   109,     9,    10,    11,    12,    13,    14,    15,    16,
-     111,    36,   111,   113,   108,    22,   118,     4,   124,    15,
-      28,    81,    60,    94,    57,    50,    51,   287,     7,    36,
-       9,    10,    11,    12,    13,    14,    15,    16,   167,   259,
-     390,    66,   146,    50,    51,   394,   280,   225,   445,   284,
-     299,   263,   209,   209,   409,   403,   415,    36,   248,    66,
-      85,   427,   356,    -1,   411,    -1,    91,    -1,    -1,    -1,
-      -1,    50,    51,    -1,   261,   100,    -1,    -1,    85,    -1,
-      -1,    -1,   107,   108,    91,   110,    -1,    66,    -1,    -1,
-      -1,    -1,    -1,   100,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,   108,    -1,   110,    -1,    -1,    85,    -1,    -1,    -1,
-      15,    16,    91,    -1,    -1,    -1,    -1,    -1,    23,    -1,
-      -1,   100,    27,    28,    29,    -1,    31,    32,    -1,   108,
-      -1,   110,    -1,    -1,    -1,    -1,    41,    -1,    -1,    -1,
+      10,     0,   217,   218,     9,     4,    16,   259,    99,   280,
+      89,    54,   148,   148,   148,   149,   152,     9,   152,   151,
+     171,   108,   268,   269,   270,    38,    20,   116,   274,   275,
+       9,    41,     4,    85,     9,    10,    15,    16,   116,    82,
+     112,   113,    41,    53,    54,    17,    18,    19,    58,    33,
+       4,    61,     9,     4,    53,    54,   108,   148,   110,    58,
+      46,    74,    61,    17,    18,    19,    17,    18,    19,     9,
+       9,    57,    82,     9,    10,    15,    16,     9,    35,   168,
+      74,   160,    22,    82,    78,    95,     9,    10,    11,   335,
+     168,   242,    16,    17,     0,    94,    95,     6,     7,     8,
+       9,    10,    11,    35,    13,    14,     9,    10,    11,   355,
+     454,    24,    38,   118,   458,   107,    10,   116,   209,   210,
+     256,   256,   256,   394,   258,   259,   136,   263,   260,   263,
+     266,   115,   266,   112,   109,   286,   227,   136,   148,   149,
+     392,    50,   152,   115,   116,   109,   297,   110,    74,   113,
+     107,    51,   151,   152,   400,   109,     9,    39,   115,   169,
+     170,   115,    15,    16,   115,   256,   317,    80,   107,   168,
+     169,   170,   112,   109,   300,   107,   115,   109,    16,    17,
+      85,    94,    91,   115,   107,    62,   109,   313,   314,   280,
+     316,   115,   118,    85,    15,    16,    89,   288,    51,   108,
+      38,   416,    89,   108,   107,   110,   115,     6,     7,     8,
+       9,    10,    11,   113,    13,    14,    15,    16,   110,   303,
+     106,    44,    58,     7,    47,     9,    10,    11,    12,    13,
+      14,    17,    18,   119,   318,     7,    74,     9,    10,    11,
+      12,    13,    14,   109,    34,    35,   256,   113,   258,   259,
+      16,    50,   262,   263,    89,     9,   266,   348,   392,    25,
+     259,    15,    16,     3,   263,   356,    50,   266,   111,    68,
+     280,   109,   282,    26,   284,   113,     3,   115,    50,    44,
+      46,    65,    48,   102,   103,   104,   105,   112,    15,    16,
+     289,    57,    91,    65,   113,   109,    17,    18,    59,   113,
+      27,    28,    29,   394,    31,   396,   108,    91,   109,   108,
+       9,    10,    11,   108,    41,    16,    15,    16,    45,    91,
+     109,   109,    49,    86,   113,    52,    53,    54,    55,   109,
+     109,   109,   342,   113,   113,   113,    63,    64,    15,    16,
+      86,    68,    69,    70,    71,    72,    76,   357,   263,   359,
+     401,   266,    79,   404,    81,    82,    15,    16,    17,    18,
+     118,    88,    56,    90,    86,   375,    17,    18,    95,    96,
+      97,    98,    99,   102,   103,   104,   105,   426,   427,     3,
+     108,   108,   392,   108,   394,   118,     3,    10,   398,   108,
+     114,   114,   108,   392,     3,   110,   114,     7,   408,     9,
+      10,    11,    12,    13,    14,    15,    16,   118,   118,   116,
+      40,   108,    22,    73,   110,   110,   101,   109,   101,   429,
+     110,     5,     9,    93,   100,   435,    36,    37,    30,    73,
+      73,    30,   111,   443,   115,   108,   111,   119,   106,   110,
+      50,    51,     7,   108,     9,    10,    11,    12,    13,    14,
+      15,    16,   107,   111,   111,   111,    66,    22,     5,     7,
+      87,     9,    10,    11,    12,    13,    14,    15,    16,   117,
+      73,   109,   113,   109,    22,    85,   111,   108,   120,   111,
+     109,    91,   119,   111,   118,    50,    51,   113,   108,     4,
+     100,    16,   125,    29,    82,    61,    58,   107,   108,    95,
+     110,    66,    50,    51,     7,   168,     9,    10,    11,    12,
+      13,    14,    15,    16,   256,     9,   284,   398,    66,   394,
+      85,    15,    16,   227,   453,   147,    91,   277,   260,   281,
+     210,   428,   210,   304,    28,   100,   435,    85,   417,   248,
+      -1,   429,   107,    91,   433,   110,   258,    50,    51,    43,
+     359,    -1,   100,    -1,    -1,    -1,    -1,    -1,    -1,    53,
+      54,    55,   110,    66,    -1,    -1,    -1,    -1,    -1,    -1,
+      64,    -1,    -1,    -1,    -1,    69,    -1,    71,    -1,    -1,
+      -1,    -1,    85,    -1,    -1,    79,    -1,    -1,    91,    -1,
+      -1,    -1,    -1,    -1,    88,    -1,    90,   100,    15,    16,
+      -1,    95,    -1,    97,    98,    99,    23,   110,    -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,    -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,
+      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,    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
+      -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,   229,     0,   124,   108,
-     125,   126,     9,    10,   109,   127,   128,   232,    39,   109,
-     128,   110,    16,    25,    46,    48,    57,   129,   130,   131,
-      10,    62,    89,    89,    58,    89,     3,   131,   111,    26,
-      47,   132,   133,   144,   145,    22,   112,   146,   147,   229,
-     232,    44,    59,   137,   138,   112,   112,   113,   108,    51,
-     139,   141,   142,   143,   229,   232,    28,    43,    53,    54,
-      55,    64,    69,    71,    79,    88,    90,    95,    97,    98,
-      99,   134,   135,   149,   151,   181,   191,   229,   232,   147,
-     109,   112,   141,    51,   113,   108,    16,   135,     3,    15,
-      16,    27,    29,    31,    41,    45,    49,    52,    63,    68,
-      70,    72,    81,    82,    96,   108,   150,   175,   188,   189,
-     190,   191,   230,   150,   229,   143,   109,   136,    33,   115,
-     161,   171,   224,   225,   226,   118,    86,    86,    76,    56,
-      86,   152,   153,   188,   189,   229,     3,   108,   108,   219,
-     118,     3,   126,   140,   108,    24,    80,    94,   227,   172,
-     173,    46,    57,   228,   229,   232,   109,   113,   114,   114,
-     108,   148,     6,     7,     8,    10,    11,    13,    14,    50,
-      91,   148,   154,   155,   171,   184,   186,   222,   232,   107,
-     109,   220,   221,   222,   232,    17,    18,   176,   177,   178,
-     229,    68,   108,   182,   184,   185,   229,   232,    17,    18,
-     163,   164,    10,    23,    32,    61,    83,    84,   150,   174,
-      85,   110,   195,   196,   197,     3,   153,   229,   232,   229,
-     232,    12,    22,    36,    50,    51,    66,    85,    91,   100,
-     107,   108,   110,   186,   198,   199,   200,   203,   204,   205,
-     206,   211,   212,   213,   222,   223,   229,   232,   109,   113,
-     109,   113,   110,   118,   183,   118,   114,    16,    17,    38,
-      74,   171,   179,   180,   217,   218,   171,   179,   180,   109,
-     113,   116,    40,   108,    73,   108,   195,   108,   195,   110,
-     198,   110,   161,   171,   101,    30,   106,   119,   202,    34,
-      35,   229,   198,   109,   102,   103,   104,   105,   113,   192,
-     193,   101,   194,   110,   202,   108,   155,   221,   185,   222,
-     232,   177,     5,   187,   232,   182,   182,   217,   118,   217,
-     217,    93,   162,   217,   217,   100,   165,   166,   164,    30,
-     107,   159,   160,   170,   171,   232,   175,    35,   156,   157,
-     158,   170,   171,   232,    73,   156,    73,   198,   111,   198,
-     200,   108,   119,   106,    65,   204,   197,   108,   109,   111,
-     107,   200,   200,   200,   198,    65,   204,   120,   214,   215,
-     111,   111,     5,    17,    18,   217,    87,   232,   117,   109,
-     113,   171,    73,   109,   113,   217,   171,   231,   232,   109,
-     231,   111,   111,   201,   119,   107,   207,   208,   232,   113,
-     111,   118,   216,   232,   109,   113,   108,   185,   222,   160,
-     171,   158,   217,   224,   224,   187,   109,   113,   195,   199,
-     216,   118,   215,   167,   173,   173,   208,    20,    74,    78,
-     209,   210,   232,     4,    19,   115,   168,   169,   178,   168,
-     109,   169,   116
+       0,    15,    16,   122,   123,   124,   234,     0,   124,   125,
+     108,   126,   127,     9,    10,   109,   128,   129,   237,    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,   145,   146,    22,   112,   147,   148,
+     234,   237,    44,    59,   138,   139,   112,   112,   113,   108,
+      51,   140,   142,   143,   144,   234,   237,    28,    43,    53,
+      54,    55,    64,    69,    71,    79,    88,    90,    95,    97,
+      98,    99,   135,   136,   150,   152,   182,   192,   234,   237,
+     148,   109,   112,   142,    51,   113,   108,    16,   136,     3,
+      15,    16,    27,    29,    31,    41,    45,    49,    52,    63,
+      68,    70,    72,    81,    82,    96,   108,   151,   176,   189,
+     190,   191,   192,   235,   151,   234,   144,   109,   137,    33,
+     115,   162,   172,   229,   230,   231,   118,    86,    86,    76,
+      56,    86,   153,   154,   189,   190,   234,     3,   108,   108,
+     224,   118,     3,   127,   141,   108,    24,    80,    94,   232,
+     173,   174,    46,    57,   233,   234,   237,   109,   113,   114,
+     114,   108,   149,     6,     7,     8,    10,    11,    13,    14,
+      50,    91,   149,   155,   156,   172,   185,   187,   227,   237,
+     107,   109,   225,   226,   227,   237,    17,    18,   177,   178,
+     179,   234,    68,   108,   183,   185,   186,   234,   237,    17,
+      18,   164,   165,    10,    23,    32,    61,    83,    84,   151,
+     175,    85,   110,   196,   197,   198,   199,     3,   154,   234,
+     237,   234,   237,    12,    22,    50,    51,    66,    85,    91,
+     100,   107,   110,   187,   200,   201,   202,   203,   204,   205,
+     206,   227,   228,   234,   237,   109,   113,   109,   113,   110,
+     118,   184,   118,   114,    16,    17,    38,    74,   172,   180,
+     181,   222,   223,   172,   180,   181,   109,   113,   116,    40,
+     108,    73,   108,   196,   108,   196,   110,    36,    37,   108,
+     200,   211,   212,   214,   216,   217,   218,   110,   162,   172,
+     101,   106,   119,   215,    34,    35,   200,   109,   102,   103,
+     104,   105,   113,   193,   194,   101,   195,   110,   215,   156,
+     226,   186,   227,   237,   178,     5,   188,   237,   183,   183,
+     222,   118,   222,   222,    93,   163,   222,   222,   100,   166,
+     167,   165,    30,   107,   160,   161,   171,   172,   237,   176,
+      35,   157,   158,   159,   171,   172,   237,    73,   157,    73,
+     200,    30,   172,   234,   111,   111,   108,   200,   202,   119,
+     106,    65,   204,   110,   199,   108,   111,   107,   202,   202,
+     202,   200,    65,   204,   111,   111,     5,    17,    18,   222,
+      87,   237,   117,   109,   113,   172,    73,   109,   113,   222,
+     172,   236,   237,   109,   236,   111,   108,   109,   120,   219,
+     220,   111,   119,   107,   207,   208,   237,   113,   111,   108,
+     186,   227,   161,   172,   159,   222,   229,   229,   213,   118,
+     221,   237,   109,   113,   109,   113,   196,   201,   168,   174,
+     174,   188,   221,   118,   220,   208,    20,    74,    78,   209,
+     210,     4,    19,   115,   169,   170,   179,   237,   169,   109,
+     170,   116
 };
 
 #if ! defined (YYSIZE_T) && defined (__SIZE_TYPE__)
@@ -1819,14 +1835,14 @@
   switch (yyn)
     {
         case 2:
-#line 343 "asn1p_y.y"
+#line 350 "asn1p_y.y"
     {
 		*(void **)param = yyvsp[0].a_grammar;
 	}
     break;
 
   case 3:
-#line 349 "asn1p_y.y"
+#line 356 "asn1p_y.y"
     {
 		yyval.a_grammar = asn1p_new();
 		checkmem(yyval.a_grammar);
@@ -1835,7 +1851,7 @@
     break;
 
   case 4:
-#line 354 "asn1p_y.y"
+#line 361 "asn1p_y.y"
     {
 		yyval.a_grammar = yyvsp[-1].a_grammar;
 		TQ_ADD(&(yyval.a_grammar->modules), yyvsp[0].a_module, mod_next);
@@ -1843,49 +1859,57 @@
     break;
 
   case 5:
-#line 375 "asn1p_y.y"
+#line 378 "asn1p_y.y"
+    { currentModule = asn1p_module_new(); }
+    break;
+
+  case 6:
+#line 383 "asn1p_y.y"
     {
 
+		yyval.a_module = currentModule;
+
 		if(yyvsp[-1].a_module) {
-			yyval.a_module = yyvsp[-1].a_module;
+			asn1p_module_t tmp = *(yyval.a_module);
+			*(yyval.a_module) = *(yyvsp[-1].a_module);
+			*(yyvsp[-1].a_module) = tmp;
+			asn1p_module_free(yyvsp[-1].a_module);
 		} else {
 			/* There's a chance that a module is just plain empty */
-			yyval.a_module = asn1p_module_new();
 		}
-		checkmem(yyval.a_module);
 
-		yyval.a_module->ModuleName = yyvsp[-7].tv_str;
+		yyval.a_module->ModuleName = yyvsp[-8].tv_str;
 		yyval.a_module->module_oid = yyvsp[-6].a_oid;
 		yyval.a_module->module_flags = yyvsp[-4].a_module_flags;
 	}
     break;
 
-  case 6:
-#line 396 "asn1p_y.y"
+  case 7:
+#line 407 "asn1p_y.y"
     { yyval.a_oid = 0; }
     break;
 
-  case 7:
-#line 397 "asn1p_y.y"
+  case 8:
+#line 408 "asn1p_y.y"
     { yyval.a_oid = yyvsp[0].a_oid; }
     break;
 
-  case 8:
-#line 401 "asn1p_y.y"
+  case 9:
+#line 412 "asn1p_y.y"
     {
 		yyval.a_oid = yyvsp[-1].a_oid;
 	}
     break;
 
-  case 9:
-#line 404 "asn1p_y.y"
+  case 10:
+#line 415 "asn1p_y.y"
     {
 		yyval.a_oid = 0;
 	}
     break;
 
-  case 10:
-#line 410 "asn1p_y.y"
+  case 11:
+#line 421 "asn1p_y.y"
     {
 		yyval.a_oid = asn1p_oid_new();
 		asn1p_oid_add_arc(yyval.a_oid, &yyvsp[0].a_oid_arc);
@@ -1894,8 +1918,8 @@
 	}
     break;
 
-  case 11:
-#line 416 "asn1p_y.y"
+  case 12:
+#line 427 "asn1p_y.y"
     {
 		yyval.a_oid = yyvsp[-1].a_oid;
 		asn1p_oid_add_arc(yyval.a_oid, &yyvsp[0].a_oid_arc);
@@ -1904,86 +1928,86 @@
 	}
     break;
 
-  case 12:
-#line 425 "asn1p_y.y"
+  case 13:
+#line 436 "asn1p_y.y"
     {					/* iso */
 		yyval.a_oid_arc.name = yyvsp[0].tv_str;
 		yyval.a_oid_arc.number = -1;
 	}
     break;
 
-  case 13:
-#line 429 "asn1p_y.y"
+  case 14:
+#line 440 "asn1p_y.y"
     {		/* iso(1) */
 		yyval.a_oid_arc.name = yyvsp[-3].tv_str;
 		yyval.a_oid_arc.number = yyvsp[-1].a_int;
 	}
     break;
 
-  case 14:
-#line 433 "asn1p_y.y"
+  case 15:
+#line 444 "asn1p_y.y"
     {					/* 1 */
 		yyval.a_oid_arc.name = 0;
 		yyval.a_oid_arc.number = yyvsp[0].a_int;
 	}
     break;
 
-  case 15:
-#line 443 "asn1p_y.y"
+  case 16:
+#line 454 "asn1p_y.y"
     { yyval.a_module_flags = MSF_NOFLAGS; }
     break;
 
-  case 16:
-#line 444 "asn1p_y.y"
-    {
-		yyval.a_module_flags = yyvsp[0].a_module_flags;
-	}
-    break;
-
   case 17:
-#line 453 "asn1p_y.y"
+#line 455 "asn1p_y.y"
     {
 		yyval.a_module_flags = yyvsp[0].a_module_flags;
 	}
     break;
 
   case 18:
-#line 456 "asn1p_y.y"
+#line 464 "asn1p_y.y"
+    {
+		yyval.a_module_flags = yyvsp[0].a_module_flags;
+	}
+    break;
+
+  case 19:
+#line 467 "asn1p_y.y"
     {
 		yyval.a_module_flags = yyvsp[-1].a_module_flags | yyvsp[0].a_module_flags;
 	}
     break;
 
-  case 19:
-#line 465 "asn1p_y.y"
+  case 20:
+#line 476 "asn1p_y.y"
     {
 		yyval.a_module_flags = MSF_EXPLICIT_TAGS;
 	}
     break;
 
-  case 20:
-#line 468 "asn1p_y.y"
+  case 21:
+#line 479 "asn1p_y.y"
     {
 		yyval.a_module_flags = MSF_IMPLICIT_TAGS;
 	}
     break;
 
-  case 21:
-#line 471 "asn1p_y.y"
+  case 22:
+#line 482 "asn1p_y.y"
     {
 		yyval.a_module_flags = MSF_AUTOMATIC_TAGS;
 	}
     break;
 
-  case 22:
-#line 474 "asn1p_y.y"
+  case 23:
+#line 485 "asn1p_y.y"
     {
 		yyval.a_module_flags = MSF_EXTENSIBILITY_IMPLIED;
 	}
     break;
 
-  case 23:
-#line 478 "asn1p_y.y"
+  case 24:
+#line 489 "asn1p_y.y"
     {
 		/* X.680Amd1 specifies TAG and XER */
 		if(strcmp(yyvsp[-1].tv_str, "TAG") == 0) {
@@ -2001,20 +2025,20 @@
 	}
     break;
 
-  case 24:
-#line 499 "asn1p_y.y"
+  case 25:
+#line 510 "asn1p_y.y"
     { yyval.a_module = 0; }
     break;
 
-  case 25:
-#line 500 "asn1p_y.y"
+  case 26:
+#line 511 "asn1p_y.y"
     {
 		yyval.a_module = yyvsp[0].a_module;
 	}
     break;
 
-  case 26:
-#line 509 "asn1p_y.y"
+  case 27:
+#line 520 "asn1p_y.y"
     {
 		yyval.a_module = asn1p_module_new();
 		AL_IMPORT(yyval.a_module, exports, yyvsp[-2].a_module, xp_next);
@@ -2023,15 +2047,15 @@
 	}
     break;
 
-  case 27:
-#line 518 "asn1p_y.y"
+  case 28:
+#line 529 "asn1p_y.y"
     {
 		yyval.a_module = yyvsp[0].a_module;
 	}
     break;
 
-  case 28:
-#line 521 "asn1p_y.y"
+  case 29:
+#line 532 "asn1p_y.y"
     {
 		if(yyvsp[-1].a_module) {
 			yyval.a_module = yyvsp[-1].a_module;
@@ -2043,19 +2067,8 @@
 	}
     break;
 
-  case 29:
-#line 537 "asn1p_y.y"
-    {
-		yyval.a_module = asn1p_module_new();
-		checkmem(yyval.a_module);
-		assert(yyvsp[0].a_expr->expr_type != A1TC_INVALID);
-		assert(yyvsp[0].a_expr->meta_type != AMT_INVALID);
-		TQ_ADD(&(yyval.a_module->members), yyvsp[0].a_expr, next);
-	}
-    break;
-
   case 30:
-#line 544 "asn1p_y.y"
+#line 548 "asn1p_y.y"
     {
 		yyval.a_module = asn1p_module_new();
 		checkmem(yyval.a_module);
@@ -2066,7 +2079,7 @@
     break;
 
   case 31:
-#line 557 "asn1p_y.y"
+#line 555 "asn1p_y.y"
     {
 		yyval.a_module = asn1p_module_new();
 		checkmem(yyval.a_module);
@@ -2077,12 +2090,23 @@
     break;
 
   case 32:
-#line 565 "asn1p_y.y"
-    { asn1p_lexer_hack_push_encoding_control(); }
+#line 568 "asn1p_y.y"
+    {
+		yyval.a_module = asn1p_module_new();
+		checkmem(yyval.a_module);
+		assert(yyvsp[0].a_expr->expr_type != A1TC_INVALID);
+		assert(yyvsp[0].a_expr->meta_type != AMT_INVALID);
+		TQ_ADD(&(yyval.a_module->members), yyvsp[0].a_expr, next);
+	}
     break;
 
   case 33:
-#line 566 "asn1p_y.y"
+#line 576 "asn1p_y.y"
+    { asn1p_lexer_hack_push_encoding_control(); }
+    break;
+
+  case 34:
+#line 577 "asn1p_y.y"
     {
 		fprintf(stderr,
 			"WARNING: ENCODING-CONTROL %s "
@@ -2093,8 +2117,8 @@
 	}
     break;
 
-  case 34:
-#line 578 "asn1p_y.y"
+  case 35:
+#line 589 "asn1p_y.y"
     {
 		return yyerror(
 			"Attempt to redefine a standard basic string type, "
@@ -2102,13 +2126,13 @@
 	}
     break;
 
-  case 35:
-#line 591 "asn1p_y.y"
+  case 36:
+#line 602 "asn1p_y.y"
     { yyval.a_module = 0; }
     break;
 
-  case 37:
-#line 595 "asn1p_y.y"
+  case 38:
+#line 606 "asn1p_y.y"
     {
 		if(!saved_aid && 0)
 			return yyerror("Unterminated IMPORTS FROM, "
@@ -2118,15 +2142,15 @@
 	}
     break;
 
-  case 38:
-#line 605 "asn1p_y.y"
+  case 39:
+#line 616 "asn1p_y.y"
     {
 		return yyerror("Empty IMPORTS list");
 	}
     break;
 
-  case 39:
-#line 611 "asn1p_y.y"
+  case 40:
+#line 622 "asn1p_y.y"
     {
 		yyval.a_module = asn1p_module_new();
 		checkmem(yyval.a_module);
@@ -2134,26 +2158,26 @@
 	}
     break;
 
-  case 40:
-#line 616 "asn1p_y.y"
+  case 41:
+#line 627 "asn1p_y.y"
     {
 		yyval.a_module = yyvsp[-1].a_module;
 		TQ_ADD(&(yyval.a_module->imports), yyvsp[0].a_xports, xp_next);
 	}
     break;
 
-  case 41:
-#line 623 "asn1p_y.y"
+  case 42:
+#line 634 "asn1p_y.y"
     { memset(&yyval.a_aid, 0, sizeof(yyval.a_aid)); }
     break;
 
-  case 42:
-#line 624 "asn1p_y.y"
+  case 43:
+#line 635 "asn1p_y.y"
     { yyval.a_aid.oid = yyvsp[0].a_oid; }
     break;
 
-  case 43:
-#line 628 "asn1p_y.y"
+  case 44:
+#line 639 "asn1p_y.y"
     {
 		yyval.a_xports = yyvsp[-3].a_xports;
 		yyval.a_xports->fromModuleName = yyvsp[-1].tv_str;
@@ -2164,8 +2188,8 @@
 	}
     break;
 
-  case 44:
-#line 639 "asn1p_y.y"
+  case 45:
+#line 650 "asn1p_y.y"
     {
 		yyval.a_xports = asn1p_xports_new();
 		checkmem(yyval.a_xports);
@@ -2173,51 +2197,51 @@
 	}
     break;
 
-  case 45:
-#line 644 "asn1p_y.y"
+  case 46:
+#line 655 "asn1p_y.y"
     {
 		yyval.a_xports = yyvsp[-2].a_xports;
 		TQ_ADD(&(yyval.a_xports->members), yyvsp[0].a_expr, next);
 	}
     break;
 
-  case 46:
-#line 651 "asn1p_y.y"
+  case 47:
+#line 662 "asn1p_y.y"
     {
-		yyval.a_expr = asn1p_expr_new(yylineno);
+		yyval.a_expr = NEW_EXPR();
 		checkmem(yyval.a_expr);
 		yyval.a_expr->Identifier = yyvsp[0].tv_str;
 		yyval.a_expr->expr_type = A1TC_REFERENCE;
 	}
     break;
 
-  case 47:
-#line 657 "asn1p_y.y"
+  case 48:
+#line 668 "asn1p_y.y"
     {		/* Completely equivalent to above */
-		yyval.a_expr = asn1p_expr_new(yylineno);
+		yyval.a_expr = NEW_EXPR();
 		checkmem(yyval.a_expr);
 		yyval.a_expr->Identifier = yyvsp[-2].tv_str;
 		yyval.a_expr->expr_type = A1TC_REFERENCE;
 	}
     break;
 
-  case 48:
-#line 663 "asn1p_y.y"
+  case 49:
+#line 674 "asn1p_y.y"
     {
-		yyval.a_expr = asn1p_expr_new(yylineno);
+		yyval.a_expr = NEW_EXPR();
 		checkmem(yyval.a_expr);
 		yyval.a_expr->Identifier = yyvsp[0].tv_str;
 		yyval.a_expr->expr_type = A1TC_REFERENCE;
 	}
     break;
 
-  case 49:
-#line 673 "asn1p_y.y"
+  case 50:
+#line 684 "asn1p_y.y"
     { yyval.a_module = 0; }
     break;
 
-  case 50:
-#line 674 "asn1p_y.y"
+  case 51:
+#line 685 "asn1p_y.y"
     {
 		yyval.a_module = asn1p_module_new();
 		checkmem(yyval.a_module);
@@ -2229,22 +2253,22 @@
 	}
     break;
 
-  case 51:
-#line 686 "asn1p_y.y"
+  case 52:
+#line 697 "asn1p_y.y"
     {
 		yyval.a_xports = yyvsp[-1].a_xports;
 	}
     break;
 
-  case 52:
-#line 689 "asn1p_y.y"
+  case 53:
+#line 700 "asn1p_y.y"
     {
 		yyval.a_xports = 0;
 	}
     break;
 
-  case 53:
-#line 692 "asn1p_y.y"
+  case 54:
+#line 703 "asn1p_y.y"
     {
 		/* Empty EXPORTS clause effectively prohibits export. */
 		yyval.a_xports = asn1p_xports_new();
@@ -2252,8 +2276,8 @@
 	}
     break;
 
-  case 54:
-#line 700 "asn1p_y.y"
+  case 55:
+#line 711 "asn1p_y.y"
     {
 		yyval.a_xports = asn1p_xports_new();
 		assert(yyval.a_xports);
@@ -2261,51 +2285,51 @@
 	}
     break;
 
-  case 55:
-#line 705 "asn1p_y.y"
+  case 56:
+#line 716 "asn1p_y.y"
     {
 		yyval.a_xports = yyvsp[-2].a_xports;
 		TQ_ADD(&(yyval.a_xports->members), yyvsp[0].a_expr, next);
 	}
     break;
 
-  case 56:
-#line 712 "asn1p_y.y"
+  case 57:
+#line 723 "asn1p_y.y"
     {
-		yyval.a_expr = asn1p_expr_new(yylineno);
+		yyval.a_expr = NEW_EXPR();
 		checkmem(yyval.a_expr);
 		yyval.a_expr->Identifier = yyvsp[0].tv_str;
 		yyval.a_expr->expr_type = A1TC_EXPORTVAR;
 	}
     break;
 
-  case 57:
-#line 718 "asn1p_y.y"
+  case 58:
+#line 729 "asn1p_y.y"
     {
-		yyval.a_expr = asn1p_expr_new(yylineno);
+		yyval.a_expr = NEW_EXPR();
 		checkmem(yyval.a_expr);
 		yyval.a_expr->Identifier = yyvsp[-2].tv_str;
 		yyval.a_expr->expr_type = A1TC_EXPORTVAR;
 	}
     break;
 
-  case 58:
-#line 724 "asn1p_y.y"
+  case 59:
+#line 735 "asn1p_y.y"
     {
-		yyval.a_expr = asn1p_expr_new(yylineno);
+		yyval.a_expr = NEW_EXPR();
 		checkmem(yyval.a_expr);
 		yyval.a_expr->Identifier = yyvsp[0].tv_str;
 		yyval.a_expr->expr_type = A1TC_EXPORTVAR;
 	}
     break;
 
-  case 59:
-#line 733 "asn1p_y.y"
+  case 60:
+#line 744 "asn1p_y.y"
     { yyval.a_constr = yyvsp[-1].a_constr; }
     break;
 
-  case 60:
-#line 736 "asn1p_y.y"
+  case 61:
+#line 747 "asn1p_y.y"
     {
 		yyval.a_expr = yyvsp[-2].a_expr;
 		assert(yyval.a_expr->Identifier == 0);
@@ -2315,17 +2339,17 @@
 	}
     break;
 
-  case 61:
-#line 746 "asn1p_y.y"
+  case 62:
+#line 757 "asn1p_y.y"
     {
 		yyval.a_expr = yyvsp[0].a_expr;
 	}
     break;
 
-  case 62:
-#line 759 "asn1p_y.y"
+  case 63:
+#line 770 "asn1p_y.y"
     {
-		yyval.a_expr = asn1p_expr_new(yylineno);
+		yyval.a_expr = NEW_EXPR();
 		checkmem(yyval.a_expr);
 		yyval.a_expr->reference = yyvsp[0].a_ref;
 		yyval.a_expr->expr_type = A1TC_REFERENCE;
@@ -2333,10 +2357,10 @@
 	}
     break;
 
-  case 63:
-#line 769 "asn1p_y.y"
+  case 64:
+#line 780 "asn1p_y.y"
     {
-		yyval.a_expr = asn1p_expr_new(yylineno);
+		yyval.a_expr = NEW_EXPR();
 		checkmem(yyval.a_expr);
 		yyval.a_expr->reference = yyvsp[-3].a_ref;
 		yyval.a_expr->rhs_pspecs = yyvsp[-1].a_expr;
@@ -2345,8 +2369,8 @@
 	}
     break;
 
-  case 64:
-#line 789 "asn1p_y.y"
+  case 65:
+#line 800 "asn1p_y.y"
     {
 		yyval.a_expr = yyvsp[0].a_expr;
 		yyval.a_expr->Identifier = yyvsp[-2].tv_str;
@@ -2355,8 +2379,8 @@
 	}
     break;
 
-  case 65:
-#line 795 "asn1p_y.y"
+  case 66:
+#line 806 "asn1p_y.y"
     {
 		yyval.a_expr = yyvsp[0].a_expr;
 		yyval.a_expr->Identifier = yyvsp[-2].tv_str;
@@ -2365,17 +2389,8 @@
 	}
     break;
 
-  case 66:
-#line 811 "asn1p_y.y"
-    {
-		yyval.a_expr = yyvsp[0].a_expr;
-		yyval.a_expr->Identifier = yyvsp[-5].tv_str;
-		yyval.a_expr->lhs_params = yyvsp[-3].a_plist;
-	}
-    break;
-
   case 67:
-#line 817 "asn1p_y.y"
+#line 822 "asn1p_y.y"
     {
 		yyval.a_expr = yyvsp[0].a_expr;
 		yyval.a_expr->Identifier = yyvsp[-5].tv_str;
@@ -2384,7 +2399,16 @@
     break;
 
   case 68:
-#line 825 "asn1p_y.y"
+#line 828 "asn1p_y.y"
+    {
+		yyval.a_expr = yyvsp[0].a_expr;
+		yyval.a_expr->Identifier = yyvsp[-5].tv_str;
+		yyval.a_expr->lhs_params = yyvsp[-3].a_plist;
+	}
+    break;
+
+  case 69:
+#line 836 "asn1p_y.y"
     {
 		int ret;
 		yyval.a_plist = asn1p_paramlist_new(yylineno);
@@ -2396,8 +2420,8 @@
 	}
     break;
 
-  case 69:
-#line 834 "asn1p_y.y"
+  case 70:
+#line 845 "asn1p_y.y"
     {
 		int ret;
 		yyval.a_plist = yyvsp[-2].a_plist;
@@ -2408,27 +2432,16 @@
 	}
     break;
 
-  case 70:
-#line 845 "asn1p_y.y"
+  case 71:
+#line 856 "asn1p_y.y"
     {
 		yyval.a_parg.governor = NULL;
 		yyval.a_parg.argument = yyvsp[0].tv_str;
 	}
     break;
 
-  case 71:
-#line 849 "asn1p_y.y"
-    {
-		int ret;
-		yyval.a_parg.governor = asn1p_ref_new(yylineno);
-		ret = asn1p_ref_add_component(yyval.a_parg.governor, yyvsp[-2].tv_str, 0);
-		checkmem(ret == 0);
-		yyval.a_parg.argument = yyvsp[0].tv_str;
-	}
-    break;
-
   case 72:
-#line 856 "asn1p_y.y"
+#line 860 "asn1p_y.y"
     {
 		int ret;
 		yyval.a_parg.governor = asn1p_ref_new(yylineno);
@@ -2439,19 +2452,18 @@
     break;
 
   case 73:
-#line 863 "asn1p_y.y"
+#line 867 "asn1p_y.y"
     {
 		int ret;
 		yyval.a_parg.governor = asn1p_ref_new(yylineno);
-		ret = asn1p_ref_add_component(yyval.a_parg.governor,
-			ASN_EXPR_TYPE2STR(yyvsp[-2].a_type), 1);
+		ret = asn1p_ref_add_component(yyval.a_parg.governor, yyvsp[-2].tv_str, 0);
 		checkmem(ret == 0);
 		yyval.a_parg.argument = yyvsp[0].tv_str;
 	}
     break;
 
   case 74:
-#line 871 "asn1p_y.y"
+#line 874 "asn1p_y.y"
     {
 		int ret;
 		yyval.a_parg.governor = asn1p_ref_new(yylineno);
@@ -2465,31 +2477,43 @@
   case 75:
 #line 882 "asn1p_y.y"
     {
-		yyval.a_expr = asn1p_expr_new(yylineno);
+		int ret;
+		yyval.a_parg.governor = asn1p_ref_new(yylineno);
+		ret = asn1p_ref_add_component(yyval.a_parg.governor,
+			ASN_EXPR_TYPE2STR(yyvsp[-2].a_type), 1);
+		checkmem(ret == 0);
+		yyval.a_parg.argument = yyvsp[0].tv_str;
+	}
+    break;
+
+  case 76:
+#line 893 "asn1p_y.y"
+    {
+		yyval.a_expr = NEW_EXPR();
 		checkmem(yyval.a_expr);
 		asn1p_expr_add(yyval.a_expr, yyvsp[0].a_expr);
 	}
     break;
 
-  case 76:
-#line 887 "asn1p_y.y"
+  case 77:
+#line 898 "asn1p_y.y"
     {
 		yyval.a_expr = yyvsp[-2].a_expr;
 		asn1p_expr_add(yyval.a_expr, yyvsp[0].a_expr);
 	}
     break;
 
-  case 77:
-#line 894 "asn1p_y.y"
+  case 78:
+#line 905 "asn1p_y.y"
     {
 		yyval.a_expr = yyvsp[0].a_expr;
 	}
     break;
 
-  case 78:
-#line 897 "asn1p_y.y"
+  case 79:
+#line 908 "asn1p_y.y"
     {
-		yyval.a_expr = asn1p_expr_new(yylineno);
+		yyval.a_expr = NEW_EXPR();
 		checkmem(yyval.a_expr);
 		yyval.a_expr->Identifier = "?";
 		yyval.a_expr->expr_type = A1TC_REFERENCE;
@@ -2498,11 +2522,11 @@
 	}
     break;
 
-  case 79:
-#line 905 "asn1p_y.y"
+  case 80:
+#line 916 "asn1p_y.y"
     {
 		asn1p_ref_t *ref;
-		yyval.a_expr = asn1p_expr_new(yylineno);
+		yyval.a_expr = NEW_EXPR();
 		checkmem(yyval.a_expr);
 		yyval.a_expr->Identifier = yyvsp[0].tv_str;
 		yyval.a_expr->expr_type = A1TC_REFERENCE;
@@ -2513,45 +2537,45 @@
 	}
     break;
 
-  case 80:
-#line 916 "asn1p_y.y"
+  case 81:
+#line 927 "asn1p_y.y"
     {
-		yyval.a_expr = asn1p_expr_new(yylineno);
+		yyval.a_expr = NEW_EXPR();
 		yyval.a_expr->expr_type = A1TC_VALUESET;
 		yyval.a_expr->meta_type = AMT_VALUESET;
 		yyval.a_expr->constraints = yyvsp[0].a_constr;
 	}
     break;
 
-  case 81:
-#line 939 "asn1p_y.y"
-    { yyval.a_expr = asn1p_expr_new(yylineno); }
-    break;
-
   case 82:
-#line 940 "asn1p_y.y"
-    { yyval.a_expr = yyvsp[0].a_expr; }
+#line 950 "asn1p_y.y"
+    { yyval.a_expr = NEW_EXPR(); }
     break;
 
   case 83:
-#line 943 "asn1p_y.y"
+#line 951 "asn1p_y.y"
+    { yyval.a_expr = yyvsp[0].a_expr; }
+    break;
+
+  case 84:
+#line 954 "asn1p_y.y"
     {
-		yyval.a_expr = asn1p_expr_new(yylineno);
+		yyval.a_expr = NEW_EXPR();
 		checkmem(yyval.a_expr);
 		asn1p_expr_add(yyval.a_expr, yyvsp[0].a_expr);
 	}
     break;
 
-  case 84:
-#line 948 "asn1p_y.y"
+  case 85:
+#line 959 "asn1p_y.y"
     {
 		yyval.a_expr = yyvsp[-2].a_expr;
 		asn1p_expr_add(yyval.a_expr, yyvsp[0].a_expr);
 	}
     break;
 
-  case 85:
-#line 955 "asn1p_y.y"
+  case 86:
+#line 966 "asn1p_y.y"
     {
 		yyval.a_expr = yyvsp[-1].a_expr;
 		assert(yyval.a_expr->Identifier == 0);
@@ -2561,8 +2585,8 @@
 	}
     break;
 
-  case 86:
-#line 962 "asn1p_y.y"
+  case 87:
+#line 973 "asn1p_y.y"
     {
 		yyval.a_expr = yyvsp[-1].a_expr;
 		yyvsp[0].a_marker.flags |= yyval.a_expr->marker.flags;
@@ -2571,10 +2595,10 @@
 	}
     break;
 
-  case 87:
-#line 968 "asn1p_y.y"
+  case 88:
+#line 979 "asn1p_y.y"
     {
-		yyval.a_expr = asn1p_expr_new(yylineno);
+		yyval.a_expr = NEW_EXPR();
 		checkmem(yyval.a_expr);
 		yyval.a_expr->meta_type = yyvsp[0].a_expr->meta_type;
 		yyval.a_expr->expr_type = A1TC_COMPONENTS_OF;
@@ -2582,32 +2606,32 @@
 	}
     break;
 
-  case 88:
-#line 975 "asn1p_y.y"
+  case 89:
+#line 986 "asn1p_y.y"
     {
 		yyval.a_expr = yyvsp[0].a_expr;
 	}
     break;
 
-  case 89:
-#line 981 "asn1p_y.y"
+  case 90:
+#line 992 "asn1p_y.y"
     {
-		yyval.a_expr = asn1p_expr_new(yylineno);
+		yyval.a_expr = NEW_EXPR();
 		checkmem(yyval.a_expr);
 		asn1p_expr_add(yyval.a_expr, yyvsp[0].a_expr);
 	}
     break;
 
-  case 90:
-#line 986 "asn1p_y.y"
+  case 91:
+#line 997 "asn1p_y.y"
     {
 		yyval.a_expr = yyvsp[-2].a_expr;
 		asn1p_expr_add(yyval.a_expr, yyvsp[0].a_expr);
 	}
     break;
 
-  case 91:
-#line 993 "asn1p_y.y"
+  case 92:
+#line 1004 "asn1p_y.y"
     {
 		yyval.a_expr = yyvsp[0].a_expr;
 		assert(yyval.a_expr->Identifier == 0);
@@ -2615,23 +2639,23 @@
 	}
     break;
 
-  case 92:
-#line 998 "asn1p_y.y"
+  case 93:
+#line 1009 "asn1p_y.y"
     {
 		yyval.a_expr = yyvsp[0].a_expr;
 	}
     break;
 
-  case 93:
-#line 1001 "asn1p_y.y"
+  case 94:
+#line 1012 "asn1p_y.y"
     {
 		yyval.a_expr = yyvsp[0].a_expr;
 		_fixup_anonymous_identifier(yyval.a_expr);
 	}
     break;
 
-  case 94:
-#line 1008 "asn1p_y.y"
+  case 95:
+#line 1019 "asn1p_y.y"
     {
 		yyval.a_expr = yyvsp[-2].a_expr;
 		checkmem(yyval.a_expr);
@@ -2641,20 +2665,20 @@
 	}
     break;
 
-  case 95:
-#line 1018 "asn1p_y.y"
+  case 96:
+#line 1029 "asn1p_y.y"
     { yyval.a_int = 0; }
     break;
 
-  case 96:
-#line 1019 "asn1p_y.y"
+  case 97:
+#line 1030 "asn1p_y.y"
     { yyval.a_int = 1; }
     break;
 
-  case 97:
-#line 1023 "asn1p_y.y"
+  case 98:
+#line 1034 "asn1p_y.y"
     {
-		yyval.a_expr = asn1p_expr_new(yylineno);
+		yyval.a_expr = NEW_EXPR();
 		checkmem(yyval.a_expr);
 		yyval.a_expr->expr_type = A1TC_CLASSDEF;
 		yyval.a_expr->meta_type = AMT_OBJECTCLASS;
@@ -2662,18 +2686,18 @@
 	}
     break;
 
-  case 98:
-#line 1030 "asn1p_y.y"
+  case 99:
+#line 1041 "asn1p_y.y"
     {
 		yyval.a_expr = yyvsp[-2].a_expr;
 		asn1p_expr_add(yyval.a_expr, yyvsp[0].a_expr);
 	}
     break;
 
-  case 99:
-#line 1040 "asn1p_y.y"
+  case 100:
+#line 1051 "asn1p_y.y"
     {
-		yyval.a_expr = asn1p_expr_new(yylineno);
+		yyval.a_expr = NEW_EXPR();
 		checkmem(yyval.a_expr);
 		yyval.a_expr->Identifier = yyvsp[-1].tv_str;
 		yyval.a_expr->meta_type = AMT_OBJECTFIELD;
@@ -2682,10 +2706,10 @@
 	}
     break;
 
-  case 100:
-#line 1050 "asn1p_y.y"
+  case 101:
+#line 1061 "asn1p_y.y"
     {
-		yyval.a_expr = asn1p_expr_new(yylineno);
+		yyval.a_expr = NEW_EXPR();
 		yyval.a_expr->Identifier = yyvsp[-3].tv_str;
 		yyval.a_expr->meta_type = AMT_OBJECTFIELD;
 		yyval.a_expr->expr_type = A1TC_CLASSFIELD_FTVFS;	/* FixedTypeValueFieldSpec */
@@ -2695,10 +2719,10 @@
 	}
     break;
 
-  case 101:
-#line 1061 "asn1p_y.y"
+  case 102:
+#line 1072 "asn1p_y.y"
     {
-		yyval.a_expr = asn1p_expr_new(yylineno);
+		yyval.a_expr = NEW_EXPR();
 		yyval.a_expr->Identifier = yyvsp[-2].tv_str;
 		yyval.a_expr->meta_type = AMT_OBJECTFIELD;
 		yyval.a_expr->expr_type = A1TC_CLASSFIELD_VTVFS;
@@ -2707,10 +2731,10 @@
 	}
     break;
 
-  case 102:
-#line 1071 "asn1p_y.y"
+  case 103:
+#line 1082 "asn1p_y.y"
     {
-		yyval.a_expr = asn1p_expr_new(yylineno);
+		yyval.a_expr = NEW_EXPR();
 		checkmem(yyval.a_expr);
 		yyval.a_expr->Identifier = yyvsp[-2].tv_str;
 		yyval.a_expr->reference = yyvsp[-1].a_ref;
@@ -2720,10 +2744,10 @@
 	}
     break;
 
-  case 103:
-#line 1082 "asn1p_y.y"
+  case 104:
+#line 1093 "asn1p_y.y"
     {
-		yyval.a_expr = asn1p_expr_new(yylineno);
+		yyval.a_expr = NEW_EXPR();
 		yyval.a_expr->Identifier = yyvsp[-2].tv_str;
 		yyval.a_expr->meta_type = AMT_OBJECTFIELD;
 		yyval.a_expr->expr_type = A1TC_CLASSFIELD_VTVSFS;
@@ -2732,10 +2756,10 @@
 	}
     break;
 
-  case 104:
-#line 1092 "asn1p_y.y"
+  case 105:
+#line 1103 "asn1p_y.y"
     {
-		yyval.a_expr = asn1p_expr_new(yylineno);
+		yyval.a_expr = NEW_EXPR();
 		checkmem(yyval.a_expr);
 		yyval.a_expr->Identifier = yyvsp[-2].tv_str;
 		yyval.a_expr->meta_type = AMT_OBJECTFIELD;
@@ -2745,10 +2769,10 @@
 	}
     break;
 
-  case 105:
-#line 1103 "asn1p_y.y"
+  case 106:
+#line 1114 "asn1p_y.y"
     {
-		yyval.a_expr = asn1p_expr_new(yylineno);
+		yyval.a_expr = NEW_EXPR();
 		checkmem(yyval.a_expr);
 		yyval.a_expr->Identifier = yyvsp[-2].tv_str;
 		yyval.a_expr->reference = yyvsp[-1].a_ref;
@@ -2758,105 +2782,105 @@
 	}
     break;
 
-  case 106:
-#line 1115 "asn1p_y.y"
+  case 107:
+#line 1126 "asn1p_y.y"
     { yyval.a_wsynt = 0; }
     break;
 
-  case 107:
-#line 1116 "asn1p_y.y"
+  case 108:
+#line 1127 "asn1p_y.y"
     {
 		yyval.a_wsynt = yyvsp[0].a_wsynt;
 	}
     break;
 
-  case 108:
-#line 1123 "asn1p_y.y"
+  case 109:
+#line 1134 "asn1p_y.y"
     { asn1p_lexer_hack_enable_with_syntax(); }
     break;
 
-  case 109:
-#line 1125 "asn1p_y.y"
+  case 110:
+#line 1136 "asn1p_y.y"
     {
 		yyval.a_wsynt = yyvsp[-1].a_wsynt;
 	}
     break;
 
-  case 110:
-#line 1131 "asn1p_y.y"
+  case 111:
+#line 1142 "asn1p_y.y"
     {
 		yyval.a_wsynt = asn1p_wsyntx_new();
 		TQ_ADD(&(yyval.a_wsynt->chunks), yyvsp[0].a_wchunk, next);
 	}
     break;
 
-  case 111:
-#line 1135 "asn1p_y.y"
+  case 112:
+#line 1146 "asn1p_y.y"
     {
 		yyval.a_wsynt = yyvsp[-1].a_wsynt;
 		TQ_ADD(&(yyval.a_wsynt->chunks), yyvsp[0].a_wchunk, next);
 	}
     break;
 
-  case 112:
-#line 1142 "asn1p_y.y"
+  case 113:
+#line 1153 "asn1p_y.y"
     {
 		yyval.a_wchunk = asn1p_wsyntx_chunk_fromstring(yyvsp[0].tv_opaque.buf, 0);
 		yyval.a_wchunk->type = WC_WHITESPACE;
 	}
     break;
 
-  case 113:
-#line 1146 "asn1p_y.y"
+  case 114:
+#line 1157 "asn1p_y.y"
     {
 		yyval.a_wchunk = asn1p_wsyntx_chunk_fromstring(yyvsp[0].tv_str, 0);
 	}
     break;
 
-  case 114:
-#line 1149 "asn1p_y.y"
+  case 115:
+#line 1160 "asn1p_y.y"
     {
 		yyval.a_wchunk = asn1p_wsyntx_chunk_fromstring(yyvsp[0].a_refcomp.name, 0);
 		yyval.a_wchunk->type = WC_FIELD;
 	}
     break;
 
-  case 115:
-#line 1153 "asn1p_y.y"
+  case 116:
+#line 1164 "asn1p_y.y"
     {
 		yyval.a_wchunk = asn1p_wsyntx_chunk_fromsyntax(yyvsp[-1].a_wsynt);
 	}
     break;
 
-  case 116:
-#line 1159 "asn1p_y.y"
-    {
-		yyval.a_expr = asn1p_expr_new(yylineno);
-		checkmem(yyval.a_expr);
-		yyval.a_expr->Identifier = strdup("...");
-		checkmem(yyval.a_expr->Identifier);
-		yyval.a_expr->expr_type = A1TC_EXTENSIBLE;
-		yyval.a_expr->meta_type = AMT_TYPE;
-	}
-    break;
-
   case 117:
-#line 1167 "asn1p_y.y"
+#line 1170 "asn1p_y.y"
     {
-		yyval.a_expr = asn1p_expr_new(yylineno);
+		yyval.a_expr = NEW_EXPR();
 		checkmem(yyval.a_expr);
 		yyval.a_expr->Identifier = strdup("...");
 		checkmem(yyval.a_expr->Identifier);
-		yyval.a_expr->value = yyvsp[0].a_value;
 		yyval.a_expr->expr_type = A1TC_EXTENSIBLE;
 		yyval.a_expr->meta_type = AMT_TYPE;
 	}
     break;
 
   case 118:
-#line 1176 "asn1p_y.y"
+#line 1178 "asn1p_y.y"
     {
-		yyval.a_expr = asn1p_expr_new(yylineno);
+		yyval.a_expr = NEW_EXPR();
+		checkmem(yyval.a_expr);
+		yyval.a_expr->Identifier = strdup("...");
+		checkmem(yyval.a_expr->Identifier);
+		yyval.a_expr->value = yyvsp[0].a_value;
+		yyval.a_expr->expr_type = A1TC_EXTENSIBLE;
+		yyval.a_expr->meta_type = AMT_TYPE;
+	}
+    break;
+
+  case 119:
+#line 1187 "asn1p_y.y"
+    {
+		yyval.a_expr = NEW_EXPR();
 		checkmem(yyval.a_expr);
 		yyval.a_expr->Identifier = strdup("...");
 		yyval.a_expr->value = yyvsp[0].a_value;
@@ -2866,8 +2890,8 @@
 	}
     break;
 
-  case 119:
-#line 1188 "asn1p_y.y"
+  case 120:
+#line 1199 "asn1p_y.y"
     {
 		yyval.a_expr = yyvsp[-1].a_expr;
 		yyval.a_expr->tag = yyvsp[-2].a_tag;
@@ -2889,16 +2913,16 @@
 	}
     break;
 
-  case 120:
-#line 1210 "asn1p_y.y"
+  case 121:
+#line 1221 "asn1p_y.y"
     {
 		yyval.a_int = asn1p_as_pointer ? EM_INDIRECT : 0;
 		asn1p_as_pointer = 0;
 	}
     break;
 
-  case 121:
-#line 1217 "asn1p_y.y"
+  case 122:
+#line 1228 "asn1p_y.y"
     {
 		yyval.a_expr = yyvsp[0].a_expr;
 		yyval.a_expr->marker.flags |= yyvsp[-1].a_int;
@@ -2917,15 +2941,15 @@
 	}
     break;
 
-  case 122:
-#line 1236 "asn1p_y.y"
+  case 123:
+#line 1247 "asn1p_y.y"
     {
 		yyval.a_expr = yyvsp[0].a_expr;
 	}
     break;
 
-  case 123:
-#line 1239 "asn1p_y.y"
+  case 124:
+#line 1250 "asn1p_y.y"
     {
 		yyval.a_expr = yyvsp[-1].a_expr;
 		assert(yyval.a_expr->expr_type == A1TC_INVALID);
@@ -2934,8 +2958,8 @@
 	}
     break;
 
-  case 124:
-#line 1245 "asn1p_y.y"
+  case 125:
+#line 1256 "asn1p_y.y"
     {
 		yyval.a_expr = yyvsp[-1].a_expr;
 		assert(yyval.a_expr->expr_type == A1TC_INVALID);
@@ -2944,8 +2968,8 @@
 	}
     break;
 
-  case 125:
-#line 1251 "asn1p_y.y"
+  case 126:
+#line 1262 "asn1p_y.y"
     {
 		yyval.a_expr = yyvsp[-1].a_expr;
 		assert(yyval.a_expr->expr_type == A1TC_INVALID);
@@ -2954,10 +2978,10 @@
 	}
     break;
 
-  case 126:
-#line 1257 "asn1p_y.y"
+  case 127:
+#line 1268 "asn1p_y.y"
     {
-		yyval.a_expr = asn1p_expr_new(yylineno);
+		yyval.a_expr = NEW_EXPR();
 		checkmem(yyval.a_expr);
 		yyval.a_expr->constraints = yyvsp[-4].a_constr;
 		yyval.a_expr->expr_type = ASN_CONSTR_SEQUENCE_OF;
@@ -2968,10 +2992,10 @@
 	}
     break;
 
-  case 127:
-#line 1267 "asn1p_y.y"
+  case 128:
+#line 1278 "asn1p_y.y"
     {
-		yyval.a_expr = asn1p_expr_new(yylineno);
+		yyval.a_expr = NEW_EXPR();
 		checkmem(yyval.a_expr);
 		yyval.a_expr->constraints = yyvsp[-4].a_constr;
 		yyval.a_expr->expr_type = ASN_CONSTR_SET_OF;
@@ -2982,21 +3006,21 @@
 	}
     break;
 
-  case 128:
-#line 1277 "asn1p_y.y"
+  case 129:
+#line 1288 "asn1p_y.y"
     {
-		yyval.a_expr = asn1p_expr_new(yylineno);
+		yyval.a_expr = NEW_EXPR();
 		checkmem(yyval.a_expr);
 		yyval.a_expr->expr_type = ASN_TYPE_ANY;
 		yyval.a_expr->meta_type = AMT_TYPE;
 	}
     break;
 
-  case 129:
-#line 1283 "asn1p_y.y"
+  case 130:
+#line 1294 "asn1p_y.y"
     {
 		int ret;
-		yyval.a_expr = asn1p_expr_new(yylineno);
+		yyval.a_expr = NEW_EXPR();
 		checkmem(yyval.a_expr);
 		yyval.a_expr->reference = asn1p_ref_new(yylineno);
 		ret = asn1p_ref_add_component(yyval.a_expr->reference,
@@ -3007,10 +3031,10 @@
 	}
     break;
 
-  case 130:
-#line 1294 "asn1p_y.y"
+  case 131:
+#line 1305 "asn1p_y.y"
     {
-		yyval.a_expr = asn1p_expr_new(yylineno);
+		yyval.a_expr = NEW_EXPR();
 		checkmem(yyval.a_expr);
 		yyval.a_expr->reference = yyvsp[0].a_ref;
 		yyval.a_expr->expr_type = A1TC_INSTANCE;
@@ -3018,8 +3042,8 @@
 	}
     break;
 
-  case 131:
-#line 1309 "asn1p_y.y"
+  case 132:
+#line 1320 "asn1p_y.y"
     {
 		int ret;
 		yyval.a_ref = asn1p_ref_new(yylineno);
@@ -3030,22 +3054,8 @@
 	}
     break;
 
-  case 132:
-#line 1317 "asn1p_y.y"
-    {
-		int ret;
-		yyval.a_ref = asn1p_ref_new(yylineno);
-		checkmem(yyval.a_ref);
-		ret = asn1p_ref_add_component(yyval.a_ref, yyvsp[-2].tv_str, RLT_UNKNOWN);
-		checkmem(ret == 0);
-		ret = asn1p_ref_add_component(yyval.a_ref, yyvsp[0].tv_str, RLT_UNKNOWN);
-		checkmem(ret == 0);
-		free(yyvsp[-2].tv_str);
-	}
-    break;
-
   case 133:
-#line 1327 "asn1p_y.y"
+#line 1328 "asn1p_y.y"
     {
 		int ret;
 		yyval.a_ref = asn1p_ref_new(yylineno);
@@ -3059,7 +3069,21 @@
     break;
 
   case 134:
-#line 1337 "asn1p_y.y"
+#line 1338 "asn1p_y.y"
+    {
+		int ret;
+		yyval.a_ref = asn1p_ref_new(yylineno);
+		checkmem(yyval.a_ref);
+		ret = asn1p_ref_add_component(yyval.a_ref, yyvsp[-2].tv_str, RLT_UNKNOWN);
+		checkmem(ret == 0);
+		ret = asn1p_ref_add_component(yyval.a_ref, yyvsp[0].tv_str, RLT_UNKNOWN);
+		checkmem(ret == 0);
+		free(yyvsp[-2].tv_str);
+	}
+    break;
+
+  case 135:
+#line 1348 "asn1p_y.y"
     {
 		int ret;
 		yyval.a_ref = asn1p_ref_new(yylineno);
@@ -3072,8 +3096,8 @@
 	}
     break;
 
-  case 135:
-#line 1347 "asn1p_y.y"
+  case 136:
+#line 1358 "asn1p_y.y"
     {
 		int ret;
 		yyval.a_ref = asn1p_ref_new(yylineno);
@@ -3084,8 +3108,8 @@
 	}
     break;
 
-  case 136:
-#line 1355 "asn1p_y.y"
+  case 137:
+#line 1366 "asn1p_y.y"
     {
 		int ret;
 		yyval.a_ref = yyvsp[0].a_ref;
@@ -3107,8 +3131,8 @@
 	}
     break;
 
-  case 137:
-#line 1377 "asn1p_y.y"
+  case 138:
+#line 1388 "asn1p_y.y"
     {
 		int ret;
 		yyval.a_ref = asn1p_ref_new(yylineno);
@@ -3119,8 +3143,8 @@
 	}
     break;
 
-  case 138:
-#line 1385 "asn1p_y.y"
+  case 139:
+#line 1396 "asn1p_y.y"
     {
 		int ret;
 		yyval.a_ref = yyvsp[-2].a_ref;
@@ -3130,56 +3154,56 @@
 	}
     break;
 
-  case 140:
-#line 1398 "asn1p_y.y"
+  case 141:
+#line 1409 "asn1p_y.y"
     {
 		yyval.a_refcomp.lex_type = RLT_AmpUppercase;
 		yyval.a_refcomp.name = yyvsp[0].tv_str;
 	}
     break;
 
-  case 141:
-#line 1403 "asn1p_y.y"
+  case 142:
+#line 1414 "asn1p_y.y"
     {
 		yyval.a_refcomp.lex_type = RLT_Amplowercase;
 		yyval.a_refcomp.name = yyvsp[0].tv_str;
 	}
     break;
 
-  case 142:
-#line 1412 "asn1p_y.y"
+  case 143:
+#line 1423 "asn1p_y.y"
     {
 		yyval.a_ref = asn1p_ref_new(yylineno);
 		asn1p_ref_add_component(yyval.a_ref, yyvsp[0].tv_str, RLT_AmpUppercase);
 	}
     break;
 
-  case 143:
-#line 1416 "asn1p_y.y"
+  case 144:
+#line 1427 "asn1p_y.y"
     {
 		yyval.a_ref = yyval.a_ref;
 		asn1p_ref_add_component(yyval.a_ref, yyvsp[0].tv_str, RLT_AmpUppercase);
 	}
     break;
 
-  case 144:
-#line 1420 "asn1p_y.y"
+  case 145:
+#line 1431 "asn1p_y.y"
     {
 		yyval.a_ref = yyval.a_ref;
 		asn1p_ref_add_component(yyval.a_ref, yyvsp[0].tv_str, RLT_Amplowercase);
 	}
     break;
 
-  case 145:
-#line 1427 "asn1p_y.y"
+  case 146:
+#line 1438 "asn1p_y.y"
     {
 		yyval.a_ref = asn1p_ref_new(yylineno);
 		asn1p_ref_add_component(yyval.a_ref, yyvsp[0].tv_str, RLT_CAPITALS);
 	}
     break;
 
-  case 146:
-#line 1447 "asn1p_y.y"
+  case 147:
+#line 1458 "asn1p_y.y"
     {
 		yyval.a_expr = yyvsp[-2].a_expr;
 		assert(yyval.a_expr->Identifier == NULL);
@@ -3189,8 +3213,8 @@
 	}
     break;
 
-  case 149:
-#line 1459 "asn1p_y.y"
+  case 150:
+#line 1470 "asn1p_y.y"
     {
 		yyval.a_value = asn1p_value_fromint(0);
 		checkmem(yyval.a_value);
@@ -3200,13 +3224,13 @@
 	}
     break;
 
-  case 150:
-#line 1466 "asn1p_y.y"
+  case 151:
+#line 1477 "asn1p_y.y"
     { asn1p_lexer_hack_push_opaque_state(); }
     break;
 
-  case 151:
-#line 1466 "asn1p_y.y"
+  case 152:
+#line 1477 "asn1p_y.y"
     {
 		yyval.a_value = asn1p_value_frombuf(yyvsp[0].tv_opaque.buf, yyvsp[0].tv_opaque.len, 0);
 		checkmem(yyval.a_value);
@@ -3214,8 +3238,8 @@
 	}
     break;
 
-  case 152:
-#line 1471 "asn1p_y.y"
+  case 153:
+#line 1482 "asn1p_y.y"
     {
 		yyval.a_value = asn1p_value_fromint(0);
 		checkmem(yyval.a_value);
@@ -3223,8 +3247,8 @@
 	}
     break;
 
-  case 153:
-#line 1479 "asn1p_y.y"
+  case 154:
+#line 1490 "asn1p_y.y"
     {
 		yyval.a_value = asn1p_value_fromint(0);
 		checkmem(yyval.a_value);
@@ -3232,8 +3256,8 @@
 	}
     break;
 
-  case 154:
-#line 1484 "asn1p_y.y"
+  case 155:
+#line 1495 "asn1p_y.y"
     {
 		yyval.a_value = asn1p_value_fromint(0);
 		checkmem(yyval.a_value);
@@ -3241,38 +3265,38 @@
 	}
     break;
 
-  case 155:
-#line 1489 "asn1p_y.y"
+  case 156:
+#line 1500 "asn1p_y.y"
     {
 		yyval.a_value = _convert_bitstring2binary(yyvsp[0].tv_str, 'B');
 		checkmem(yyval.a_value);
 	}
     break;
 
-  case 156:
-#line 1493 "asn1p_y.y"
+  case 157:
+#line 1504 "asn1p_y.y"
     {
 		yyval.a_value = _convert_bitstring2binary(yyvsp[0].tv_str, 'H');
 		checkmem(yyval.a_value);
 	}
     break;
 
-  case 157:
-#line 1497 "asn1p_y.y"
+  case 158:
+#line 1508 "asn1p_y.y"
     {
 		yyval.a_value = yyval.a_value;
 	}
     break;
 
-  case 158:
-#line 1500 "asn1p_y.y"
+  case 159:
+#line 1511 "asn1p_y.y"
     {
 		yyval.a_value = yyvsp[0].a_value;
 	}
     break;
 
-  case 159:
-#line 1506 "asn1p_y.y"
+  case 160:
+#line 1517 "asn1p_y.y"
     {
 		asn1p_ref_t *ref;
 		int ret;
@@ -3286,8 +3310,8 @@
 	}
     break;
 
-  case 160:
-#line 1517 "asn1p_y.y"
+  case 161:
+#line 1528 "asn1p_y.y"
     {
 		asn1p_ref_t *ref;
 		int ret;
@@ -3304,16 +3328,16 @@
 	}
     break;
 
-  case 161:
-#line 1535 "asn1p_y.y"
+  case 162:
+#line 1546 "asn1p_y.y"
     {
 		yyval.a_value = asn1p_value_frombuf(yyvsp[0].tv_opaque.buf, yyvsp[0].tv_opaque.len, 0);
 		checkmem(yyval.a_value);
 	}
     break;
 
-  case 162:
-#line 1539 "asn1p_y.y"
+  case 163:
+#line 1550 "asn1p_y.y"
     {
 		yyval.a_value = asn1p_value_fromint(yyvsp[0].a_int);
 		checkmem(yyval.a_value);
@@ -3321,8 +3345,8 @@
 	}
     break;
 
-  case 163:
-#line 1544 "asn1p_y.y"
+  case 164:
+#line 1555 "asn1p_y.y"
     {
 		yyval.a_value = asn1p_value_fromint(yyvsp[0].a_int);
 		checkmem(yyval.a_value);
@@ -3330,8 +3354,8 @@
 	}
     break;
 
-  case 164:
-#line 1578 "asn1p_y.y"
+  case 165:
+#line 1589 "asn1p_y.y"
     {
 		yyval.tv_opaque.len = yyvsp[0].tv_opaque.len + 1;
 		yyval.tv_opaque.buf = malloc(yyval.tv_opaque.len + 1);
@@ -3343,8 +3367,8 @@
 	}
     break;
 
-  case 165:
-#line 1587 "asn1p_y.y"
+  case 166:
+#line 1598 "asn1p_y.y"
     {
 		int newsize = yyvsp[-1].tv_opaque.len + yyvsp[0].tv_opaque.len;
 		char *p = malloc(newsize + 1);
@@ -3359,103 +3383,103 @@
 	}
     break;
 
-  case 166:
-#line 1602 "asn1p_y.y"
+  case 167:
+#line 1613 "asn1p_y.y"
     { yyval.a_type = ASN_BASIC_BOOLEAN; }
     break;
 
-  case 167:
-#line 1603 "asn1p_y.y"
+  case 168:
+#line 1614 "asn1p_y.y"
     { yyval.a_type = ASN_BASIC_NULL; }
     break;
 
-  case 168:
-#line 1604 "asn1p_y.y"
+  case 169:
+#line 1615 "asn1p_y.y"
     { yyval.a_type = ASN_BASIC_REAL; }
     break;
 
-  case 169:
-#line 1605 "asn1p_y.y"
-    { yyval.a_type = yyvsp[0].a_type; }
-    break;
-
   case 170:
-#line 1606 "asn1p_y.y"
-    { yyval.a_type = ASN_BASIC_OCTET_STRING; }
+#line 1616 "asn1p_y.y"
+    { yyval.a_type = yyvsp[0].a_type; }
     break;
 
   case 171:
-#line 1607 "asn1p_y.y"
-    { yyval.a_type = ASN_BASIC_OBJECT_IDENTIFIER; }
+#line 1617 "asn1p_y.y"
+    { yyval.a_type = ASN_BASIC_OCTET_STRING; }
     break;
 
   case 172:
-#line 1608 "asn1p_y.y"
-    { yyval.a_type = ASN_BASIC_RELATIVE_OID; }
+#line 1618 "asn1p_y.y"
+    { yyval.a_type = ASN_BASIC_OBJECT_IDENTIFIER; }
     break;
 
   case 173:
-#line 1609 "asn1p_y.y"
-    { yyval.a_type = ASN_BASIC_EXTERNAL; }
+#line 1619 "asn1p_y.y"
+    { yyval.a_type = ASN_BASIC_RELATIVE_OID; }
     break;
 
   case 174:
-#line 1610 "asn1p_y.y"
-    { yyval.a_type = ASN_BASIC_EMBEDDED_PDV; }
+#line 1620 "asn1p_y.y"
+    { yyval.a_type = ASN_BASIC_EXTERNAL; }
     break;
 
   case 175:
-#line 1611 "asn1p_y.y"
-    { yyval.a_type = ASN_BASIC_CHARACTER_STRING; }
+#line 1621 "asn1p_y.y"
+    { yyval.a_type = ASN_BASIC_EMBEDDED_PDV; }
     break;
 
   case 176:
-#line 1612 "asn1p_y.y"
-    { yyval.a_type = ASN_BASIC_UTCTime; }
+#line 1622 "asn1p_y.y"
+    { yyval.a_type = ASN_BASIC_CHARACTER_STRING; }
     break;
 
   case 177:
-#line 1613 "asn1p_y.y"
-    { yyval.a_type = ASN_BASIC_GeneralizedTime; }
+#line 1623 "asn1p_y.y"
+    { yyval.a_type = ASN_BASIC_UTCTime; }
     break;
 
   case 178:
-#line 1614 "asn1p_y.y"
-    { yyval.a_type = yyvsp[0].a_type; }
+#line 1624 "asn1p_y.y"
+    { yyval.a_type = ASN_BASIC_GeneralizedTime; }
     break;
 
   case 179:
-#line 1621 "asn1p_y.y"
-    { yyval.a_type = ASN_BASIC_INTEGER; }
+#line 1625 "asn1p_y.y"
+    { yyval.a_type = yyvsp[0].a_type; }
     break;
 
   case 180:
-#line 1622 "asn1p_y.y"
-    { yyval.a_type = ASN_BASIC_ENUMERATED; }
+#line 1632 "asn1p_y.y"
+    { yyval.a_type = ASN_BASIC_INTEGER; }
     break;
 
   case 181:
-#line 1623 "asn1p_y.y"
-    { yyval.a_type = ASN_BASIC_BIT_STRING; }
+#line 1633 "asn1p_y.y"
+    { yyval.a_type = ASN_BASIC_ENUMERATED; }
     break;
 
   case 182:
-#line 1627 "asn1p_y.y"
+#line 1634 "asn1p_y.y"
+    { yyval.a_type = ASN_BASIC_BIT_STRING; }
+    break;
+
+  case 183:
+#line 1638 "asn1p_y.y"
     {
-		yyval.a_expr = asn1p_expr_new(yylineno);
+		yyval.a_expr = NEW_EXPR();
 		checkmem(yyval.a_expr);
 		yyval.a_expr->expr_type = yyvsp[0].a_type;
 		yyval.a_expr->meta_type = AMT_TYPE;
 	}
     break;
 
-  case 183:
-#line 1633 "asn1p_y.y"
+  case 184:
+#line 1644 "asn1p_y.y"
     {
 		if(yyvsp[0].a_expr) {
 			yyval.a_expr = yyvsp[0].a_expr;
 		} else {
-			yyval.a_expr = asn1p_expr_new(yylineno);
+			yyval.a_expr = NEW_EXPR();
 			checkmem(yyval.a_expr);
 		}
 		yyval.a_expr->expr_type = yyvsp[-1].a_type;
@@ -3463,109 +3487,116 @@
 	}
     break;
 
-  case 184:
-#line 1646 "asn1p_y.y"
+  case 185:
+#line 1657 "asn1p_y.y"
     { yyval.a_type = ASN_STRING_BMPString; }
     break;
 
-  case 185:
-#line 1647 "asn1p_y.y"
+  case 186:
+#line 1658 "asn1p_y.y"
     {
 		yyval.a_type = ASN_STRING_GeneralString;
 		fprintf(stderr, "WARNING: GeneralString is not fully supported\n");
 	}
     break;
 
-  case 186:
-#line 1651 "asn1p_y.y"
+  case 187:
+#line 1662 "asn1p_y.y"
     {
 		yyval.a_type = ASN_STRING_GraphicString;
 		fprintf(stderr, "WARNING: GraphicString is not fully supported\n");
 	}
     break;
 
-  case 187:
-#line 1655 "asn1p_y.y"
+  case 188:
+#line 1666 "asn1p_y.y"
     { yyval.a_type = ASN_STRING_IA5String; }
     break;
 
-  case 188:
-#line 1656 "asn1p_y.y"
+  case 189:
+#line 1667 "asn1p_y.y"
     { yyval.a_type = ASN_STRING_ISO646String; }
     break;
 
-  case 189:
-#line 1657 "asn1p_y.y"
+  case 190:
+#line 1668 "asn1p_y.y"
     { yyval.a_type = ASN_STRING_NumericString; }
     break;
 
-  case 190:
-#line 1658 "asn1p_y.y"
+  case 191:
+#line 1669 "asn1p_y.y"
     { yyval.a_type = ASN_STRING_PrintableString; }
     break;
 
-  case 191:
-#line 1659 "asn1p_y.y"
+  case 192:
+#line 1670 "asn1p_y.y"
     {
 		yyval.a_type = ASN_STRING_T61String;
 		fprintf(stderr, "WARNING: T61String is not fully supported\n");
 	}
     break;
 
-  case 192:
-#line 1663 "asn1p_y.y"
+  case 193:
+#line 1674 "asn1p_y.y"
     { yyval.a_type = ASN_STRING_TeletexString; }
     break;
 
-  case 193:
-#line 1664 "asn1p_y.y"
+  case 194:
+#line 1675 "asn1p_y.y"
     { yyval.a_type = ASN_STRING_UniversalString; }
     break;
 
-  case 194:
-#line 1665 "asn1p_y.y"
+  case 195:
+#line 1676 "asn1p_y.y"
     { yyval.a_type = ASN_STRING_UTF8String; }
     break;
 
-  case 195:
-#line 1666 "asn1p_y.y"
+  case 196:
+#line 1677 "asn1p_y.y"
     {
 		yyval.a_type = ASN_STRING_VideotexString;
 		fprintf(stderr, "WARNING: VideotexString is not fully supported\n");
 	}
     break;
 
-  case 196:
-#line 1670 "asn1p_y.y"
+  case 197:
+#line 1681 "asn1p_y.y"
     { yyval.a_type = ASN_STRING_VisibleString; }
     break;
 
-  case 197:
-#line 1671 "asn1p_y.y"
+  case 198:
+#line 1682 "asn1p_y.y"
     { yyval.a_type = ASN_STRING_ObjectDescriptor; }
     break;
 
-  case 203:
-#line 1683 "asn1p_y.y"
+  case 204:
+#line 1694 "asn1p_y.y"
     { yyval.a_constr = 0; }
     break;
 
-  case 204:
-#line 1684 "asn1p_y.y"
+  case 205:
+#line 1695 "asn1p_y.y"
     {
 		yyval.a_constr = yyvsp[0].a_constr;
 	}
     break;
 
-  case 205:
-#line 1690 "asn1p_y.y"
+  case 207:
+#line 1702 "asn1p_y.y"
+    {
+		yyval.a_constr = yyvsp[-1].a_constr;
+	}
+    break;
+
+  case 208:
+#line 1708 "asn1p_y.y"
     {
 		CONSTRAINT_INSERT(yyval.a_constr, ACT_CA_SET, yyvsp[0].a_constr, 0);
 	}
     break;
 
-  case 206:
-#line 1693 "asn1p_y.y"
+  case 209:
+#line 1711 "asn1p_y.y"
     {
 		/*
 		 * This is a special case, for compatibility purposes.
@@ -3575,37 +3606,37 @@
 	}
     break;
 
-  case 207:
-#line 1703 "asn1p_y.y"
+  case 210:
+#line 1721 "asn1p_y.y"
     {
 		yyval.a_constr = yyvsp[-1].a_constr;
 	}
     break;
 
-  case 208:
-#line 1706 "asn1p_y.y"
+  case 211:
+#line 1724 "asn1p_y.y"
     {
 		CONSTRAINT_INSERT(yyval.a_constr, ACT_CA_SET, yyvsp[-3].a_constr, yyvsp[-1].a_constr);
 	}
     break;
 
-  case 209:
-#line 1712 "asn1p_y.y"
+  case 212:
+#line 1730 "asn1p_y.y"
     {
 		yyval.a_constr = asn1p_constraint_new(yylineno);
 		yyval.a_constr->type = ACT_EL_EXT;
 	}
     break;
 
-  case 210:
-#line 1716 "asn1p_y.y"
+  case 213:
+#line 1734 "asn1p_y.y"
     {
 		yyval.a_constr = yyvsp[0].a_constr;
 	}
     break;
 
-  case 211:
-#line 1719 "asn1p_y.y"
+  case 214:
+#line 1737 "asn1p_y.y"
     {
 		asn1p_constraint_t *ct;
 		ct = asn1p_constraint_new(yylineno);
@@ -3614,8 +3645,8 @@
 	}
     break;
 
-  case 212:
-#line 1725 "asn1p_y.y"
+  case 215:
+#line 1743 "asn1p_y.y"
     {
 		asn1p_constraint_t *ct;
 		ct = asn1p_constraint_new(yylineno);
@@ -3626,43 +3657,43 @@
 	}
     break;
 
-  case 213:
-#line 1736 "asn1p_y.y"
+  case 216:
+#line 1754 "asn1p_y.y"
     {
 		yyval.a_constr = yyvsp[0].a_constr;
 	}
     break;
 
-  case 214:
-#line 1739 "asn1p_y.y"
+  case 217:
+#line 1757 "asn1p_y.y"
     {
 		CONSTRAINT_INSERT(yyval.a_constr, ACT_CA_AEX, yyvsp[0].a_constr, 0);
 	}
     break;
 
-  case 215:
-#line 1742 "asn1p_y.y"
+  case 218:
+#line 1760 "asn1p_y.y"
     {
 		CONSTRAINT_INSERT(yyval.a_constr, ACT_CA_UNI, yyvsp[-2].a_constr, yyvsp[0].a_constr);
 	}
     break;
 
-  case 216:
-#line 1745 "asn1p_y.y"
+  case 219:
+#line 1763 "asn1p_y.y"
     {
 		CONSTRAINT_INSERT(yyval.a_constr, ACT_CA_INT, yyvsp[-2].a_constr, yyvsp[0].a_constr);
 	}
     break;
 
-  case 217:
-#line 1748 "asn1p_y.y"
+  case 220:
+#line 1766 "asn1p_y.y"
     {
 		CONSTRAINT_INSERT(yyval.a_constr, ACT_CA_EXC, yyvsp[-2].a_constr, yyvsp[0].a_constr);
 	}
     break;
 
-  case 218:
-#line 1754 "asn1p_y.y"
+  case 221:
+#line 1772 "asn1p_y.y"
     {
 		int ret;
 		yyval.a_constr = asn1p_constraint_new(yylineno);
@@ -3673,8 +3704,8 @@
 	}
     break;
 
-  case 219:
-#line 1762 "asn1p_y.y"
+  case 222:
+#line 1780 "asn1p_y.y"
     {
 		int ret;
 		yyval.a_constr = asn1p_constraint_new(yylineno);
@@ -3685,8 +3716,8 @@
 	}
     break;
 
-  case 220:
-#line 1770 "asn1p_y.y"
+  case 223:
+#line 1788 "asn1p_y.y"
     {
 		yyval.a_constr = asn1p_constraint_new(yylineno);
 		checkmem(yyval.a_constr);
@@ -3695,8 +3726,8 @@
 	}
     break;
 
-  case 221:
-#line 1776 "asn1p_y.y"
+  case 224:
+#line 1794 "asn1p_y.y"
     {
 		yyval.a_constr = asn1p_constraint_new(yylineno);
 		checkmem(yyval.a_constr);
@@ -3705,121 +3736,77 @@
 	}
     break;
 
-  case 222:
-#line 1782 "asn1p_y.y"
-    {
-		yyval.a_constr = asn1p_constraint_new(yylineno);
-		checkmem(yyval.a_constr);
-		yyval.a_constr->type = yyvsp[-1].a_ctype;
-		yyval.a_constr->range_start = yyvsp[-2].a_value;
-		yyval.a_constr->range_stop = yyvsp[0].a_value;
-	}
-    break;
-
-  case 223:
-#line 1789 "asn1p_y.y"
-    {
-		yyval.a_constr = asn1p_constraint_new(yylineno);
-		checkmem(yyval.a_constr);
-		yyval.a_constr->type = yyvsp[-1].a_ctype;
-		yyval.a_constr->range_start = asn1p_value_fromint(-123);
-		yyval.a_constr->range_stop = yyvsp[0].a_value;
-		yyval.a_constr->range_start->type = ATV_MIN;
-	}
-    break;
-
-  case 224:
-#line 1797 "asn1p_y.y"
-    {
-		yyval.a_constr = asn1p_constraint_new(yylineno);
-		checkmem(yyval.a_constr);
-		yyval.a_constr->type = yyvsp[-1].a_ctype;
-		yyval.a_constr->range_start = yyvsp[-2].a_value;
-		yyval.a_constr->range_stop = asn1p_value_fromint(321);
-		yyval.a_constr->range_stop->type = ATV_MAX;
-	}
-    break;
-
   case 225:
-#line 1805 "asn1p_y.y"
+#line 1800 "asn1p_y.y"
     {
 		yyval.a_constr = asn1p_constraint_new(yylineno);
 		checkmem(yyval.a_constr);
 		yyval.a_constr->type = yyvsp[-1].a_ctype;
-		yyval.a_constr->range_start = asn1p_value_fromint(-123);
-		yyval.a_constr->range_stop = asn1p_value_fromint(321);
-		yyval.a_constr->range_start->type = ATV_MIN;
-		yyval.a_constr->range_stop->type = ATV_MAX;
+		yyval.a_constr->range_start = yyvsp[-2].a_value;
+		yyval.a_constr->range_stop = yyvsp[0].a_value;
 	}
     break;
 
   case 226:
-#line 1814 "asn1p_y.y"
+#line 1807 "asn1p_y.y"
     {
-		yyval.a_constr = yyvsp[0].a_constr;
+		yyval.a_constr = asn1p_constraint_new(yylineno);
+		checkmem(yyval.a_constr);
+		yyval.a_constr->type = yyvsp[-1].a_ctype;
+		yyval.a_constr->range_start = asn1p_value_fromint(-123);
+		yyval.a_constr->range_stop = yyvsp[0].a_value;
+		yyval.a_constr->range_start->type = ATV_MIN;
 	}
     break;
 
   case 227:
-#line 1817 "asn1p_y.y"
+#line 1815 "asn1p_y.y"
+    {
+		yyval.a_constr = asn1p_constraint_new(yylineno);
+		checkmem(yyval.a_constr);
+		yyval.a_constr->type = yyvsp[-1].a_ctype;
+		yyval.a_constr->range_start = yyvsp[-2].a_value;
+		yyval.a_constr->range_stop = asn1p_value_fromint(321);
+		yyval.a_constr->range_stop->type = ATV_MAX;
+	}
+    break;
+
+  case 228:
+#line 1823 "asn1p_y.y"
+    {
+		yyval.a_constr = asn1p_constraint_new(yylineno);
+		checkmem(yyval.a_constr);
+		yyval.a_constr->type = yyvsp[-1].a_ctype;
+		yyval.a_constr->range_start = asn1p_value_fromint(-123);
+		yyval.a_constr->range_stop = asn1p_value_fromint(321);
+		yyval.a_constr->range_start->type = ATV_MIN;
+		yyval.a_constr->range_stop->type = ATV_MAX;
+	}
+    break;
+
+  case 229:
+#line 1832 "asn1p_y.y"
     {
 		yyval.a_constr = yyvsp[0].a_constr;
 	}
     break;
 
-  case 228:
-#line 1821 "asn1p_y.y"
-    { asn1p_lexer_hack_push_opaque_state(); }
-    break;
-
-  case 229:
-#line 1821 "asn1p_y.y"
-    {
-		yyval.a_constr = asn1p_constraint_new(yylineno);
-		checkmem(yyval.a_constr);
-		yyval.a_constr->type = ACT_CT_CTDBY;
-		yyval.a_constr->value = asn1p_value_frombuf(yyvsp[0].tv_opaque.buf, yyvsp[0].tv_opaque.len, 0);
-		checkmem(yyval.a_constr->value);
-		yyval.a_constr->value->type = ATV_UNPARSED;
-	}
-    break;
-
   case 230:
-#line 1832 "asn1p_y.y"
-    { yyval.a_ctype = ACT_EL_RANGE; }
-    break;
-
-  case 231:
-#line 1833 "asn1p_y.y"
-    { yyval.a_ctype = ACT_EL_RLRANGE; }
-    break;
-
-  case 232:
-#line 1834 "asn1p_y.y"
-    { yyval.a_ctype = ACT_EL_LLRANGE; }
-    break;
-
-  case 233:
-#line 1835 "asn1p_y.y"
-    { yyval.a_ctype = ACT_EL_ULRANGE; }
-    break;
-
-  case 234:
-#line 1839 "asn1p_y.y"
+#line 1838 "asn1p_y.y"
     {
 		yyval.a_ctype = ACT_CT_SIZE;
 	}
     break;
 
-  case 235:
-#line 1842 "asn1p_y.y"
+  case 231:
+#line 1841 "asn1p_y.y"
     {
 		yyval.a_ctype = ACT_CT_FROM;
 	}
     break;
 
-  case 236:
-#line 1848 "asn1p_y.y"
+  case 232:
+#line 1847 "asn1p_y.y"
     {
 		yyval.a_value = asn1p_value_fromint(0);
 		checkmem(yyval.a_value);
@@ -3827,8 +3814,8 @@
 	}
     break;
 
-  case 237:
-#line 1853 "asn1p_y.y"
+  case 233:
+#line 1852 "asn1p_y.y"
     {
 		yyval.a_value = asn1p_value_fromint(1);
 		checkmem(yyval.a_value);
@@ -3836,8 +3823,8 @@
 	}
     break;
 
-  case 240:
-#line 1860 "asn1p_y.y"
+  case 236:
+#line 1859 "asn1p_y.y"
     {
 		asn1p_ref_t *ref;
 		int ret;
@@ -3851,8 +3838,8 @@
 	}
     break;
 
-  case 241:
-#line 1874 "asn1p_y.y"
+  case 237:
+#line 1873 "asn1p_y.y"
     {
 		asn1p_ref_t *ref;
 		int ret;
@@ -3866,36 +3853,36 @@
 	}
     break;
 
-  case 242:
-#line 1888 "asn1p_y.y"
+  case 238:
+#line 1887 "asn1p_y.y"
     {
 		CONSTRAINT_INSERT(yyval.a_constr, ACT_CT_WCOMP, yyvsp[0].a_constr, 0);
 	}
     break;
 
-  case 243:
-#line 1891 "asn1p_y.y"
+  case 239:
+#line 1890 "asn1p_y.y"
     {
 		CONSTRAINT_INSERT(yyval.a_constr, ACT_CT_WCOMPS, yyvsp[-1].a_constr, 0);
 	}
     break;
 
-  case 244:
-#line 1897 "asn1p_y.y"
+  case 240:
+#line 1896 "asn1p_y.y"
     {
 		yyval.a_constr = yyvsp[0].a_constr;
 	}
     break;
 
-  case 245:
-#line 1900 "asn1p_y.y"
+  case 241:
+#line 1899 "asn1p_y.y"
     {
 		CONSTRAINT_INSERT(yyval.a_constr, ACT_CT_WCOMPS, yyvsp[-2].a_constr, yyvsp[0].a_constr);
 	}
     break;
 
-  case 246:
-#line 1906 "asn1p_y.y"
+  case 242:
+#line 1905 "asn1p_y.y"
     {
 		yyval.a_constr = asn1p_constraint_new(yylineno);
 		checkmem(yyval.a_constr);
@@ -3904,8 +3891,8 @@
 	}
     break;
 
-  case 247:
-#line 1912 "asn1p_y.y"
+  case 243:
+#line 1911 "asn1p_y.y"
     {
 		yyval.a_constr = asn1p_constraint_new(yylineno);
 		checkmem(yyval.a_constr);
@@ -3916,53 +3903,99 @@
 	}
     break;
 
-  case 248:
-#line 1926 "asn1p_y.y"
+  case 244:
+#line 1925 "asn1p_y.y"
     { yyval.a_pres = ACPRES_DEFAULT; }
     break;
 
-  case 249:
-#line 1927 "asn1p_y.y"
+  case 245:
+#line 1926 "asn1p_y.y"
     { yyval.a_pres = yyvsp[0].a_pres; }
     break;
 
-  case 250:
-#line 1931 "asn1p_y.y"
+  case 246:
+#line 1930 "asn1p_y.y"
     {
 		yyval.a_pres = ACPRES_PRESENT;
 	}
     break;
 
-  case 251:
-#line 1934 "asn1p_y.y"
+  case 247:
+#line 1933 "asn1p_y.y"
     {
 		yyval.a_pres = ACPRES_ABSENT;
 	}
     break;
 
-  case 252:
-#line 1937 "asn1p_y.y"
+  case 248:
+#line 1936 "asn1p_y.y"
     {
 		yyval.a_pres = ACPRES_OPTIONAL;
 	}
     break;
 
+  case 252:
+#line 1951 "asn1p_y.y"
+    { asn1p_lexer_hack_push_opaque_state(); }
+    break;
+
   case 253:
-#line 1943 "asn1p_y.y"
+#line 1951 "asn1p_y.y"
     {
-		yyval.a_constr = yyvsp[0].a_constr;
+		yyval.a_constr = asn1p_constraint_new(yylineno);
+		checkmem(yyval.a_constr);
+		yyval.a_constr->type = ACT_CT_CTDBY;
+		yyval.a_constr->value = asn1p_value_frombuf(yyvsp[0].tv_opaque.buf, yyvsp[0].tv_opaque.len, 0);
+		checkmem(yyval.a_constr->value);
+		yyval.a_constr->value->type = ATV_UNPARSED;
 	}
     break;
 
   case 254:
-#line 1946 "asn1p_y.y"
+#line 1962 "asn1p_y.y"
+    {
+		yyval.a_constr = asn1p_constraint_new(yylineno);
+		yyval.a_constr->type = ACT_CT_CTNG;
+		yyval.a_constr->value = asn1p_value_fromtype(yyvsp[0].a_expr);
+	}
+    break;
+
+  case 255:
+#line 1970 "asn1p_y.y"
+    { yyval.a_ctype = ACT_EL_RANGE; }
+    break;
+
+  case 256:
+#line 1971 "asn1p_y.y"
+    { yyval.a_ctype = ACT_EL_RLRANGE; }
+    break;
+
+  case 257:
+#line 1972 "asn1p_y.y"
+    { yyval.a_ctype = ACT_EL_LLRANGE; }
+    break;
+
+  case 258:
+#line 1973 "asn1p_y.y"
+    { yyval.a_ctype = ACT_EL_ULRANGE; }
+    break;
+
+  case 259:
+#line 1976 "asn1p_y.y"
     {
 		yyval.a_constr = yyvsp[0].a_constr;
 	}
     break;
 
-  case 255:
-#line 1955 "asn1p_y.y"
+  case 260:
+#line 1979 "asn1p_y.y"
+    {
+		yyval.a_constr = yyvsp[0].a_constr;
+	}
+    break;
+
+  case 261:
+#line 1988 "asn1p_y.y"
     {
 		asn1p_ref_t *ref = asn1p_ref_new(yylineno);
 		asn1p_constraint_t *ct;
@@ -3977,15 +4010,15 @@
 	}
     break;
 
-  case 256:
-#line 1970 "asn1p_y.y"
+  case 262:
+#line 2003 "asn1p_y.y"
     {
 		CONSTRAINT_INSERT(yyval.a_constr, ACT_CA_CRC, yyvsp[-3].a_constr, yyvsp[-1].a_constr);
 	}
     break;
 
-  case 257:
-#line 1976 "asn1p_y.y"
+  case 263:
+#line 2009 "asn1p_y.y"
     {
 		yyval.a_constr = asn1p_constraint_new(yylineno);
 		checkmem(yyval.a_constr);
@@ -3994,8 +4027,8 @@
 	}
     break;
 
-  case 258:
-#line 1982 "asn1p_y.y"
+  case 264:
+#line 2015 "asn1p_y.y"
     {
 		asn1p_constraint_t *ct;
 		ct = asn1p_constraint_new(yylineno);
@@ -4006,8 +4039,8 @@
 	}
     break;
 
-  case 259:
-#line 1996 "asn1p_y.y"
+  case 265:
+#line 2029 "asn1p_y.y"
     {
 		char *p = malloc(strlen(yyvsp[0].tv_str) + 2);
 		int ret;
@@ -4021,8 +4054,8 @@
 	}
     break;
 
-  case 260:
-#line 2007 "asn1p_y.y"
+  case 266:
+#line 2040 "asn1p_y.y"
     {
 		char *p = malloc(strlen(yyvsp[0].tv_str) + 3);
 		int ret;
@@ -4037,15 +4070,15 @@
 	}
     break;
 
-  case 261:
-#line 2023 "asn1p_y.y"
+  case 267:
+#line 2056 "asn1p_y.y"
     {
 		yyval.tv_str = yyvsp[0].tv_str;
 	}
     break;
 
-  case 262:
-#line 2026 "asn1p_y.y"
+  case 268:
+#line 2059 "asn1p_y.y"
     {
 		int l1 = strlen(yyvsp[-2].tv_str);
 		int l3 = strlen(yyvsp[0].tv_str);
@@ -4057,71 +4090,71 @@
 	}
     break;
 
-  case 263:
-#line 2044 "asn1p_y.y"
+  case 269:
+#line 2077 "asn1p_y.y"
     {
 		yyval.a_marker.flags = EM_NOMARK;
 		yyval.a_marker.default_value = 0;
 	}
     break;
 
-  case 264:
-#line 2048 "asn1p_y.y"
+  case 270:
+#line 2081 "asn1p_y.y"
     { yyval.a_marker = yyvsp[0].a_marker; }
     break;
 
-  case 265:
-#line 2052 "asn1p_y.y"
+  case 271:
+#line 2085 "asn1p_y.y"
     {
 		yyval.a_marker.flags = EM_OPTIONAL | EM_INDIRECT;
 		yyval.a_marker.default_value = 0;
 	}
     break;
 
-  case 266:
-#line 2056 "asn1p_y.y"
+  case 272:
+#line 2089 "asn1p_y.y"
     {
 		yyval.a_marker.flags = EM_DEFAULT;
 		yyval.a_marker.default_value = yyvsp[0].a_value;
 	}
     break;
 
-  case 267:
-#line 2079 "asn1p_y.y"
+  case 273:
+#line 2112 "asn1p_y.y"
     {
-		yyval.a_expr = asn1p_expr_new(yylineno);
+		yyval.a_expr = NEW_EXPR();
 		checkmem(yyval.a_expr);
 	}
     break;
 
-  case 268:
-#line 2083 "asn1p_y.y"
+  case 274:
+#line 2116 "asn1p_y.y"
     {
 		yyval.a_expr = yyvsp[-1].a_expr;
 	}
     break;
 
-  case 269:
-#line 2089 "asn1p_y.y"
+  case 275:
+#line 2122 "asn1p_y.y"
     {
-		yyval.a_expr = asn1p_expr_new(yylineno);
+		yyval.a_expr = NEW_EXPR();
 		checkmem(yyval.a_expr);
 		asn1p_expr_add(yyval.a_expr, yyvsp[0].a_expr);
 	}
     break;
 
-  case 270:
-#line 2094 "asn1p_y.y"
+  case 276:
+#line 2127 "asn1p_y.y"
     {
 		yyval.a_expr = yyvsp[-2].a_expr;
 		asn1p_expr_add(yyval.a_expr, yyvsp[0].a_expr);
 	}
     break;
 
-  case 271:
-#line 2101 "asn1p_y.y"
+  case 277:
+#line 2134 "asn1p_y.y"
     {
-		yyval.a_expr = asn1p_expr_new(yylineno);
+		yyval.a_expr = NEW_EXPR();
 		checkmem(yyval.a_expr);
 		yyval.a_expr->expr_type = A1TC_UNIVERVAL;
 		yyval.a_expr->meta_type = AMT_VALUE;
@@ -4129,10 +4162,10 @@
 	}
     break;
 
-  case 272:
-#line 2108 "asn1p_y.y"
+  case 278:
+#line 2141 "asn1p_y.y"
     {
-		yyval.a_expr = asn1p_expr_new(yylineno);
+		yyval.a_expr = NEW_EXPR();
 		checkmem(yyval.a_expr);
 		yyval.a_expr->expr_type = A1TC_UNIVERVAL;
 		yyval.a_expr->meta_type = AMT_VALUE;
@@ -4141,10 +4174,10 @@
 	}
     break;
 
-  case 273:
-#line 2116 "asn1p_y.y"
+  case 279:
+#line 2149 "asn1p_y.y"
     {
-		yyval.a_expr = asn1p_expr_new(yylineno);
+		yyval.a_expr = NEW_EXPR();
 		checkmem(yyval.a_expr);
 		yyval.a_expr->expr_type = A1TC_UNIVERVAL;
 		yyval.a_expr->meta_type = AMT_VALUE;
@@ -4153,10 +4186,10 @@
 	}
     break;
 
-  case 274:
-#line 2124 "asn1p_y.y"
+  case 280:
+#line 2157 "asn1p_y.y"
     {
-		yyval.a_expr = asn1p_expr_new(yylineno);
+		yyval.a_expr = NEW_EXPR();
 		checkmem(yyval.a_expr);
 		yyval.a_expr->expr_type = A1TC_UNIVERVAL;
 		yyval.a_expr->meta_type = AMT_VALUE;
@@ -4164,10 +4197,10 @@
 	}
     break;
 
-  case 275:
-#line 2131 "asn1p_y.y"
+  case 281:
+#line 2164 "asn1p_y.y"
     {
-		yyval.a_expr = asn1p_expr_new(yylineno);
+		yyval.a_expr = NEW_EXPR();
 		checkmem(yyval.a_expr);
 		yyval.a_expr->Identifier = strdup("...");
 		checkmem(yyval.a_expr->Identifier);
@@ -4176,129 +4209,129 @@
 	}
     break;
 
-  case 276:
-#line 2142 "asn1p_y.y"
+  case 282:
+#line 2175 "asn1p_y.y"
     {
 		yyval.a_value = asn1p_value_fromint(yyvsp[0].a_int);
 		checkmem(yyval.a_value);
 	}
     break;
 
-  case 277:
-#line 2146 "asn1p_y.y"
+  case 283:
+#line 2179 "asn1p_y.y"
     {
 		yyval.a_value = asn1p_value_fromint(yyvsp[0].a_int);
 		checkmem(yyval.a_value);
 	}
     break;
 
-  case 279:
-#line 2154 "asn1p_y.y"
+  case 285:
+#line 2187 "asn1p_y.y"
     {
 		yyval.a_value = asn1p_value_fromdouble(yyvsp[0].a_dbl);
 		checkmem(yyval.a_value);
 	}
     break;
 
-  case 280:
-#line 2185 "asn1p_y.y"
+  case 286:
+#line 2218 "asn1p_y.y"
     { memset(&yyval.a_tag, 0, sizeof(yyval.a_tag)); }
     break;
 
-  case 281:
-#line 2186 "asn1p_y.y"
+  case 287:
+#line 2219 "asn1p_y.y"
     { yyval.a_tag = yyvsp[0].a_tag; }
     break;
 
-  case 282:
-#line 2190 "asn1p_y.y"
+  case 288:
+#line 2223 "asn1p_y.y"
     {
 		yyval.a_tag = yyvsp[-1].a_tag;
 		yyval.a_tag.tag_mode = yyvsp[0].a_tag.tag_mode;
 	}
     break;
 
-  case 283:
-#line 2197 "asn1p_y.y"
+  case 289:
+#line 2230 "asn1p_y.y"
     {
 		yyval.a_tag = yyvsp[-2].a_tag;
 		yyval.a_tag.tag_value = yyvsp[-1].a_int;
 	}
     break;
 
-  case 284:
-#line 2203 "asn1p_y.y"
+  case 290:
+#line 2236 "asn1p_y.y"
     { yyval.a_tag.tag_class = TC_CONTEXT_SPECIFIC; }
     break;
 
-  case 285:
-#line 2204 "asn1p_y.y"
+  case 291:
+#line 2237 "asn1p_y.y"
     { yyval.a_tag.tag_class = TC_UNIVERSAL; }
     break;
 
-  case 286:
-#line 2205 "asn1p_y.y"
+  case 292:
+#line 2238 "asn1p_y.y"
     { yyval.a_tag.tag_class = TC_APPLICATION; }
     break;
 
-  case 287:
-#line 2206 "asn1p_y.y"
+  case 293:
+#line 2239 "asn1p_y.y"
     { yyval.a_tag.tag_class = TC_PRIVATE; }
     break;
 
-  case 288:
-#line 2210 "asn1p_y.y"
+  case 294:
+#line 2243 "asn1p_y.y"
     { yyval.a_tag.tag_mode = TM_DEFAULT; }
     break;
 
-  case 289:
-#line 2211 "asn1p_y.y"
+  case 295:
+#line 2244 "asn1p_y.y"
     { yyval.a_tag.tag_mode = TM_IMPLICIT; }
     break;
 
-  case 290:
-#line 2212 "asn1p_y.y"
+  case 296:
+#line 2245 "asn1p_y.y"
     { yyval.a_tag.tag_mode = TM_EXPLICIT; }
     break;
 
-  case 291:
-#line 2216 "asn1p_y.y"
+  case 297:
+#line 2249 "asn1p_y.y"
     {
 		checkmem(yyvsp[0].tv_str);
 		yyval.tv_str = yyvsp[0].tv_str;
 	}
     break;
 
-  case 292:
-#line 2220 "asn1p_y.y"
+  case 298:
+#line 2253 "asn1p_y.y"
     {
 		checkmem(yyvsp[0].tv_str);
 		yyval.tv_str = yyvsp[0].tv_str;
 	}
     break;
 
-  case 293:
-#line 2228 "asn1p_y.y"
+  case 299:
+#line 2261 "asn1p_y.y"
     {
 		checkmem(yyvsp[0].tv_str);
 		yyval.tv_str = yyvsp[0].tv_str;
 	}
     break;
 
-  case 294:
-#line 2235 "asn1p_y.y"
+  case 300:
+#line 2268 "asn1p_y.y"
     { yyval.tv_str = 0; }
     break;
 
-  case 295:
-#line 2236 "asn1p_y.y"
+  case 301:
+#line 2269 "asn1p_y.y"
     {
 		yyval.tv_str = yyvsp[0].tv_str;
 	}
     break;
 
-  case 296:
-#line 2242 "asn1p_y.y"
+  case 302:
+#line 2275 "asn1p_y.y"
     {
 		checkmem(yyvsp[0].tv_str);
 		yyval.tv_str = yyvsp[0].tv_str;
@@ -4309,7 +4342,7 @@
     }
 
 /* Line 1016 of /usr/local/share/bison/yacc.c.  */
-#line 4313 "asn1p_y.c"
+#line 4346 "asn1p_y.c"
 
   yyvsp -= yylen;
   yyssp -= yylen;
@@ -4528,7 +4561,7 @@
 }
 
 
-#line 2248 "asn1p_y.y"
+#line 2281 "asn1p_y.y"
 
 
 
diff --git a/libasn1parser/asn1p_y.h b/libasn1parser/asn1p_y.h
index 19de334..ee3af65 100644
--- a/libasn1parser/asn1p_y.h
+++ b/libasn1parser/asn1p_y.h
@@ -245,7 +245,7 @@
 
 
 #ifndef YYSTYPE
-#line 85 "asn1p_y.y"
+#line 88 "asn1p_y.y"
 typedef union {
 	asn1p_t			*a_grammar;
 	asn1p_module_flags_e	 a_module_flags;
diff --git a/libasn1parser/asn1p_y.y b/libasn1parser/asn1p_y.y
index b252a73..9baa9ce 100644
--- a/libasn1parser/asn1p_y.y
+++ b/libasn1parser/asn1p_y.y
@@ -37,6 +37,9 @@
 static asn1p_value_t *_convert_bitstring2binary(char *str, int base);
 static void _fixup_anonymous_identifier(asn1p_expr_t *expr);
 
+static asn1p_module_t *currentModule;
+#define	NEW_EXPR()	(asn1p_expr_new(yylineno, currentModule))
+
 #define	checkmem(ptr)	do {						\
 		if(!(ptr))						\
 		return yyerror("Memory failure");			\
@@ -255,6 +258,7 @@
 %type	<a_expr>		ImportsElement
 %type	<a_expr>		ExportsElement
 %type	<a_expr>		ExtensionAndException
+%type	<a_expr>		Type
 %type	<a_expr>		TypeDeclaration
 %type	<a_expr>		TypeDeclarationSet
 %type	<a_ref>			ComplexTypeReference
@@ -266,7 +270,6 @@
 %type	<a_ref>			DefinedObjectClass
 %type	<a_expr>		ClassField
 %type	<a_expr>		ObjectClass
-%type	<a_expr>		Type
 %type	<a_expr>		DataTypeReference	/* Type1 ::= Type2 */
 %type	<a_expr>		DefinedType
 %type	<a_constr>		ValueSet		/* {a|b|c}*/
@@ -307,13 +310,17 @@
 %type	<a_tag>			TagClass TagTypeValue TagPlicit
 %type	<a_tag>			optTag		/* [UNIVERSAL 0] IMPLICIT */
 %type	<a_constr>		optConstraints
-%type	<a_constr>		Constraints
+%type	<a_constr>		Constraint
+%type	<a_constr>		SubtypeConstraint
+%type	<a_constr>		GeneralConstraint
 %type	<a_constr>		SetOfConstraints
 %type	<a_constr>		ElementSetSpecs		/* 1..2,...,3 */
 %type	<a_constr>		ElementSetSpec		/* 1..2,...,3 */
 %type	<a_constr>		ConstraintSubtypeElement /* 1..2 */
 %type	<a_constr>		SimpleTableConstraint
+%type	<a_constr>		UserDefinedConstraint
 %type	<a_constr>		TableConstraint
+%type	<a_constr>		ContentsConstraint
 %type	<a_constr>		InnerTypeConstraint
 %type	<a_constr>		WithComponentsList
 %type	<a_constr>		WithComponentsElement
@@ -368,23 +375,27 @@
  */
 
 ModuleDefinition:
-	TypeRefName optObjectIdentifier TOK_DEFINITIONS
+	TypeRefName { currentModule = asn1p_module_new(); }
+	optObjectIdentifier TOK_DEFINITIONS
 		optModuleDefinitionFlags
 		TOK_PPEQ TOK_BEGIN
 		optModuleBody
 		TOK_END {
 
-		if($7) {
-			$$ = $7;
+		$$ = currentModule;
+
+		if($8) {
+			asn1p_module_t tmp = *($$);
+			*($$) = *($8);
+			*($8) = tmp;
+			asn1p_module_free($8);
 		} else {
 			/* There's a chance that a module is just plain empty */
-			$$ = asn1p_module_new();
 		}
-		checkmem($$);
 
 		$$->ModuleName = $1;
-		$$->module_oid = $2;
-		$$->module_flags = $4;
+		$$->module_oid = $3;
+		$$->module_flags = $5;
 	}
 	;
 
@@ -649,19 +660,19 @@
 
 ImportsElement:
 	TypeRefName {
-		$$ = asn1p_expr_new(yylineno);
+		$$ = NEW_EXPR();
 		checkmem($$);
 		$$->Identifier = $1;
 		$$->expr_type = A1TC_REFERENCE;
 	}
 	| TypeRefName '{' '}' {		/* Completely equivalent to above */
-		$$ = asn1p_expr_new(yylineno);
+		$$ = NEW_EXPR();
 		checkmem($$);
 		$$->Identifier = $1;
 		$$->expr_type = A1TC_REFERENCE;
 	}
 	| Identifier {
-		$$ = asn1p_expr_new(yylineno);
+		$$ = NEW_EXPR();
 		checkmem($$);
 		$$->Identifier = $1;
 		$$->expr_type = A1TC_REFERENCE;
@@ -710,19 +721,19 @@
 
 ExportsElement:
 	TypeRefName {
-		$$ = asn1p_expr_new(yylineno);
+		$$ = NEW_EXPR();
 		checkmem($$);
 		$$->Identifier = $1;
 		$$->expr_type = A1TC_EXPORTVAR;
 	}
 	| TypeRefName '{' '}' {
-		$$ = asn1p_expr_new(yylineno);
+		$$ = NEW_EXPR();
 		checkmem($$);
 		$$->Identifier = $1;
 		$$->expr_type = A1TC_EXPORTVAR;
 	}
 	| Identifier {
-		$$ = asn1p_expr_new(yylineno);
+		$$ = NEW_EXPR();
 		checkmem($$);
 		$$->Identifier = $1;
 		$$->expr_type = A1TC_EXPORTVAR;
@@ -757,7 +768,7 @@
 	 * "Type"
 	 */
 	| ComplexTypeReference {
-		$$ = asn1p_expr_new(yylineno);
+		$$ = NEW_EXPR();
 		checkmem($$);
 		$$->reference = $1;
 		$$->expr_type = A1TC_REFERENCE;
@@ -767,7 +778,7 @@
 	 * A parameterized assignment.
 	 */
 	| ComplexTypeReference '{' ActualParameterList '}' {
-		$$ = asn1p_expr_new(yylineno);
+		$$ = NEW_EXPR();
 		checkmem($$);
 		$$->reference = $1;
 		$$->rhs_pspecs = $3;
@@ -880,7 +891,7 @@
 
 ActualParameterList:
 	ActualParameter {
-		$$ = asn1p_expr_new(yylineno);
+		$$ = NEW_EXPR();
 		checkmem($$);
 		asn1p_expr_add($$, $1);
 	}
@@ -895,7 +906,7 @@
 		$$ = $1;
 	}
 	| SimpleValue {
-		$$ = asn1p_expr_new(yylineno);
+		$$ = NEW_EXPR();
 		checkmem($$);
 		$$->Identifier = "?";
 		$$->expr_type = A1TC_REFERENCE;
@@ -904,7 +915,7 @@
 	}
 	| Identifier {
 		asn1p_ref_t *ref;
-		$$ = asn1p_expr_new(yylineno);
+		$$ = NEW_EXPR();
 		checkmem($$);
 		$$->Identifier = $1;
 		$$->expr_type = A1TC_REFERENCE;
@@ -914,7 +925,7 @@
 		$$->value = asn1p_value_fromref(ref, 0);
 	}
 	| ValueSet {
-		$$ = asn1p_expr_new(yylineno);
+		$$ = NEW_EXPR();
 		$$->expr_type = A1TC_VALUESET;
 		$$->meta_type = AMT_VALUESET;
 		$$->constraints = $1;
@@ -923,7 +934,7 @@
 
 /*
 	| '{' ActualParameter '}' {
-		$$ = asn1p_expr_new(yylineno);
+		$$ = NEW_EXPR();
 		checkmem($$);
 		asn1p_expr_add($$, $2);
 		$$->expr_type = A1TC_PARAMETRIZED;
@@ -936,12 +947,12 @@
  * A collection of constructed data type members.
  */
 optComponentTypeLists:
-	{ $$ = asn1p_expr_new(yylineno); }
+	{ $$ = NEW_EXPR(); }
 	| ComponentTypeLists { $$ = $1; };
 
 ComponentTypeLists:
 	ComponentType {
-		$$ = asn1p_expr_new(yylineno);
+		$$ = NEW_EXPR();
 		checkmem($$);
 		asn1p_expr_add($$, $1);
 	}
@@ -966,7 +977,7 @@
 		_fixup_anonymous_identifier($$);
 	}
 	| TOK_COMPONENTS TOK_OF Type {
-		$$ = asn1p_expr_new(yylineno);
+		$$ = NEW_EXPR();
 		checkmem($$);
 		$$->meta_type = $3->meta_type;
 		$$->expr_type = A1TC_COMPONENTS_OF;
@@ -979,7 +990,7 @@
 
 AlternativeTypeLists:
 	AlternativeType {
-		$$ = asn1p_expr_new(yylineno);
+		$$ = NEW_EXPR();
 		checkmem($$);
 		asn1p_expr_add($$, $1);
 	}
@@ -1021,7 +1032,7 @@
 
 FieldSpec:
 	ClassField {
-		$$ = asn1p_expr_new(yylineno);
+		$$ = NEW_EXPR();
 		checkmem($$);
 		$$->expr_type = A1TC_CLASSDEF;
 		$$->meta_type = AMT_OBJECTCLASS;
@@ -1038,7 +1049,7 @@
 
 	/* TypeFieldSpec ::= typefieldreference TypeOptionalitySpec? */
 	TOK_typefieldreference optMarker {
-		$$ = asn1p_expr_new(yylineno);
+		$$ = NEW_EXPR();
 		checkmem($$);
 		$$->Identifier = $1;
 		$$->meta_type = AMT_OBJECTFIELD;
@@ -1048,7 +1059,7 @@
 
 	/* FixedTypeValueFieldSpec ::= valuefieldreference Type UNIQUE ? ValueOptionalitySpec ? */
 	| TOK_valuefieldreference Type optUnique optMarker {
-		$$ = asn1p_expr_new(yylineno);
+		$$ = NEW_EXPR();
 		$$->Identifier = $1;
 		$$->meta_type = AMT_OBJECTFIELD;
 		$$->expr_type = A1TC_CLASSFIELD_FTVFS;	/* FixedTypeValueFieldSpec */
@@ -1059,7 +1070,7 @@
 
 	/* VariableTypeValueFieldSpec ::= valuefieldreference FieldName ValueOptionalitySpec ? */
 	| TOK_valuefieldreference FieldName optMarker {
-		$$ = asn1p_expr_new(yylineno);
+		$$ = NEW_EXPR();
 		$$->Identifier = $1;
 		$$->meta_type = AMT_OBJECTFIELD;
 		$$->expr_type = A1TC_CLASSFIELD_VTVFS;
@@ -1069,7 +1080,7 @@
 
 	/*  ObjectFieldSpec ::= objectfieldreference DefinedObjectClass ObjectOptionalitySpec ? */
 	| TOK_valuefieldreference DefinedObjectClass optMarker {
-		$$ = asn1p_expr_new(yylineno);
+		$$ = NEW_EXPR();
 		checkmem($$);
 		$$->Identifier = $1;
 		$$->reference = $2;
@@ -1080,7 +1091,7 @@
 
 	/* VariableTypeValueSetFieldSpec ::= valuesetfieldreference FieldName ValueOptionalitySpec ? */
 	| TOK_typefieldreference FieldName optMarker {
-		$$ = asn1p_expr_new(yylineno);
+		$$ = NEW_EXPR();
 		$$->Identifier = $1;
 		$$->meta_type = AMT_OBJECTFIELD;
 		$$->expr_type = A1TC_CLASSFIELD_VTVSFS;
@@ -1090,7 +1101,7 @@
 
 	/* FixedTypeValueSetFieldSpec ::= valuesetfieldreference Type ValueSetOptionalitySpec ? */
 	| TOK_typefieldreference Type optMarker {
-		$$ = asn1p_expr_new(yylineno);
+		$$ = NEW_EXPR();
 		checkmem($$);
 		$$->Identifier = $1;
 		$$->meta_type = AMT_OBJECTFIELD;
@@ -1101,7 +1112,7 @@
 
 	/*  ObjectSetFieldSpec ::= objectsetfieldreference DefinedObjectClass ObjectOptionalitySpec ? */
 	| TOK_typefieldreference DefinedObjectClass optMarker {
-		$$ = asn1p_expr_new(yylineno);
+		$$ = NEW_EXPR();
 		checkmem($$);
 		$$->Identifier = $1;
 		$$->reference = $2;
@@ -1157,7 +1168,7 @@
 
 ExtensionAndException:
 	TOK_ThreeDots {
-		$$ = asn1p_expr_new(yylineno);
+		$$ = NEW_EXPR();
 		checkmem($$);
 		$$->Identifier = strdup("...");
 		checkmem($$->Identifier);
@@ -1165,7 +1176,7 @@
 		$$->meta_type = AMT_TYPE;
 	}
 	| TOK_ThreeDots '!' DefinedValue {
-		$$ = asn1p_expr_new(yylineno);
+		$$ = NEW_EXPR();
 		checkmem($$);
 		$$->Identifier = strdup("...");
 		checkmem($$->Identifier);
@@ -1174,7 +1185,7 @@
 		$$->meta_type = AMT_TYPE;
 	}
 	| TOK_ThreeDots '!' SignedNumber {
-		$$ = asn1p_expr_new(yylineno);
+		$$ = NEW_EXPR();
 		checkmem($$);
 		$$->Identifier = strdup("...");
 		$$->value = $3;
@@ -1255,7 +1266,7 @@
 		$$->meta_type = AMT_TYPE;
 	}
 	| TOK_SEQUENCE optConstraints TOK_OF optIdentifier optTag TypeDeclaration {
-		$$ = asn1p_expr_new(yylineno);
+		$$ = NEW_EXPR();
 		checkmem($$);
 		$$->constraints = $2;
 		$$->expr_type = ASN_CONSTR_SEQUENCE_OF;
@@ -1265,7 +1276,7 @@
 		asn1p_expr_add($$, $6);
 	}
 	| TOK_SET optConstraints TOK_OF optIdentifier optTag TypeDeclaration {
-		$$ = asn1p_expr_new(yylineno);
+		$$ = NEW_EXPR();
 		checkmem($$);
 		$$->constraints = $2;
 		$$->expr_type = ASN_CONSTR_SET_OF;
@@ -1275,14 +1286,14 @@
 		asn1p_expr_add($$, $6);
 	}
 	| TOK_ANY 					{
-		$$ = asn1p_expr_new(yylineno);
+		$$ = NEW_EXPR();
 		checkmem($$);
 		$$->expr_type = ASN_TYPE_ANY;
 		$$->meta_type = AMT_TYPE;
 	}
 	| TOK_ANY TOK_DEFINED TOK_BY Identifier		{
 		int ret;
-		$$ = asn1p_expr_new(yylineno);
+		$$ = NEW_EXPR();
 		checkmem($$);
 		$$->reference = asn1p_ref_new(yylineno);
 		ret = asn1p_ref_add_component($$->reference,
@@ -1292,7 +1303,7 @@
 		$$->meta_type = AMT_TYPE;
 	}
 	| TOK_INSTANCE TOK_OF ComplexTypeReference {
-		$$ = asn1p_expr_new(yylineno);
+		$$ = NEW_EXPR();
 		checkmem($$);
 		$$->reference = $3;
 		$$->expr_type = A1TC_INSTANCE;
@@ -1625,7 +1636,7 @@
 
 BasicType:
 	BasicTypeId {
-		$$ = asn1p_expr_new(yylineno);
+		$$ = NEW_EXPR();
 		checkmem($$);
 		$$->expr_type = $1;
 		$$->meta_type = AMT_TYPE;
@@ -1634,7 +1645,7 @@
 		if($2) {
 			$$ = $2;
 		} else {
-			$$ = asn1p_expr_new(yylineno);
+			$$ = NEW_EXPR();
 			checkmem($$);
 		}
 		$$->expr_type = $1;
@@ -1681,12 +1692,19 @@
 
 optConstraints:
 	{ $$ = 0; }
-	| Constraints {
+	| Constraint {
 		$$ = $1;
 	}
 	;
 
-Constraints:
+Constraint:
+	SubtypeConstraint
+	| '(' GeneralConstraint ')' {
+		$$ = $2;
+	}
+	;
+
+SubtypeConstraint:
 	SetOfConstraints {
 		CONSTRAINT_INSERT($$, ACT_CA_SET, $1, 0);
 	}
@@ -1811,28 +1829,9 @@
 		$$->range_start->type = ATV_MIN;
 		$$->range_stop->type = ATV_MAX;
 	}
-	| TableConstraint {
-		$$ = $1;
-	}
 	| InnerTypeConstraint {
 		$$ = $1;
 	}
-	| TOK_CONSTRAINED TOK_BY '{'
-		{ asn1p_lexer_hack_push_opaque_state(); } Opaque /* '}' */ {
-		$$ = asn1p_constraint_new(yylineno);
-		checkmem($$);
-		$$->type = ACT_CT_CTDBY;
-		$$->value = asn1p_value_frombuf($5.buf, $5.len, 0);
-		checkmem($$->value);
-		$$->value->type = ATV_UNPARSED;
-	}
-	;
-
-ConstraintRangeSpec:
-	TOK_TwoDots		{ $$ = ACT_EL_RANGE; }
-	| TOK_TwoDots '<'	{ $$ = ACT_EL_RLRANGE; }
-	| '<' TOK_TwoDots	{ $$ = ACT_EL_LLRANGE; }
-	| '<' TOK_TwoDots '<'	{ $$ = ACT_EL_ULRANGE; }
 	;
 
 ConstraintSpec:
@@ -1939,6 +1938,40 @@
 	}
 	;
 
+
+/* X.682 */
+GeneralConstraint:
+	UserDefinedConstraint
+	| TableConstraint
+	| ContentsConstraint
+	;
+
+UserDefinedConstraint:
+	TOK_CONSTRAINED TOK_BY '{'
+		{ asn1p_lexer_hack_push_opaque_state(); } Opaque /* '}' */ {
+		$$ = asn1p_constraint_new(yylineno);
+		checkmem($$);
+		$$->type = ACT_CT_CTDBY;
+		$$->value = asn1p_value_frombuf($5.buf, $5.len, 0);
+		checkmem($$->value);
+		$$->value->type = ATV_UNPARSED;
+	}
+	;
+
+ContentsConstraint:
+	TOK_CONTAINING Type {
+		$$ = asn1p_constraint_new(yylineno);
+		$$->type = ACT_CT_CTNG;
+		$$->value = asn1p_value_fromtype($2);
+	}
+	;
+
+ConstraintRangeSpec:
+	TOK_TwoDots		{ $$ = ACT_EL_RANGE; }
+	| TOK_TwoDots '<'	{ $$ = ACT_EL_RLRANGE; }
+	| '<' TOK_TwoDots	{ $$ = ACT_EL_LLRANGE; }
+	| '<' TOK_TwoDots '<'	{ $$ = ACT_EL_ULRANGE; }
+	;
 TableConstraint:
 	SimpleTableConstraint {
 		$$ = $1;
@@ -2077,7 +2110,7 @@
 
 UniverationDefinition:
 	'{' '}' {
-		$$ = asn1p_expr_new(yylineno);
+		$$ = NEW_EXPR();
 		checkmem($$);
 	}
 	| '{' UniverationList '}' {
@@ -2087,7 +2120,7 @@
 
 UniverationList:
 	UniverationElement {
-		$$ = asn1p_expr_new(yylineno);
+		$$ = NEW_EXPR();
 		checkmem($$);
 		asn1p_expr_add($$, $1);
 	}
@@ -2099,14 +2132,14 @@
 
 UniverationElement:
 	Identifier {
-		$$ = asn1p_expr_new(yylineno);
+		$$ = NEW_EXPR();
 		checkmem($$);
 		$$->expr_type = A1TC_UNIVERVAL;
 		$$->meta_type = AMT_VALUE;
 		$$->Identifier = $1;
 	}
 	| Identifier '(' SignedNumber ')' {
-		$$ = asn1p_expr_new(yylineno);
+		$$ = NEW_EXPR();
 		checkmem($$);
 		$$->expr_type = A1TC_UNIVERVAL;
 		$$->meta_type = AMT_VALUE;
@@ -2114,7 +2147,7 @@
 		$$->value = $3;
 	}
 	| Identifier '(' DefinedValue ')' {
-		$$ = asn1p_expr_new(yylineno);
+		$$ = NEW_EXPR();
 		checkmem($$);
 		$$->expr_type = A1TC_UNIVERVAL;
 		$$->meta_type = AMT_VALUE;
@@ -2122,14 +2155,14 @@
 		$$->value = $3;
 	}
 	| SignedNumber {
-		$$ = asn1p_expr_new(yylineno);
+		$$ = NEW_EXPR();
 		checkmem($$);
 		$$->expr_type = A1TC_UNIVERVAL;
 		$$->meta_type = AMT_VALUE;
 		$$->value = $1;
 	}
 	| TOK_ThreeDots {
-		$$ = asn1p_expr_new(yylineno);
+		$$ = NEW_EXPR();
 		checkmem($$);
 		$$->Identifier = strdup("...");
 		checkmem($$->Identifier);
diff --git a/libasn1parser/asn1parser.c b/libasn1parser/asn1parser.c
index a2e2ae2..7d9a88d 100644
--- a/libasn1parser/asn1parser.c
+++ b/libasn1parser/asn1parser.c
@@ -150,45 +150,14 @@
 	return 0;
 }
 
-/*
- * Perform last touches.
- */
-static void
-_asn1p_apply_module2expr(asn1p_expr_t *expr, asn1p_module_t *mod) {
-	asn1p_expr_t *e;
-
-	expr->module = mod;	/* This is a useful thing */
-
-	/*
-	 * Do it to children also.
-	 */
-	TQ_FOR(e, &(expr->members), next) {
-		_asn1p_apply_module2expr(e, mod);
-	}
-
-	/*
-	 * Do to parameterization.
-	 */
-	if(expr->rhs_pspecs) {
-		TQ_FOR(e, &(expr->rhs_pspecs->members), next) {
-			_asn1p_apply_module2expr(e, mod);
-		}
-	}
-}
-
 static int
 _asn1p_fix_modules(asn1p_t *a, const char *fname) {
 	asn1p_module_t *mod;
 	TQ_FOR(mod, &(a->modules), mod_next) {
-		asn1p_expr_t *expr;
-
 		mod->source_file_name = strdup(fname);
 		if(mod->source_file_name == NULL)
 			return -1;
-
-		TQ_FOR(expr, &(mod->members), next) {
-			_asn1p_apply_module2expr(expr, mod);
-		}
+		mod->asn1p = a;
 	}
 	return 0;
 }
