diff --git a/asn1c/asn1c.c b/asn1c/asn1c.c
index 686509e..1d7c6b6 100644
--- a/asn1c/asn1c.c
+++ b/asn1c/asn1c.c
@@ -173,7 +173,10 @@
                 warnings_as_errors = 1;
                 break;
             } else if(strcmp(optarg, "debug-lexer") == 0) {
-                asn1_parser_flags |= A1P_LEXER_DEBUG;
+                asn1_parser_flags |= A1P_DEBUG_LEXER;
+                break;
+            } else if(strcmp(optarg, "debug-parser") == 0) {
+                asn1_parser_flags |= A1P_DEBUG_PARSER;
                 break;
             } else if(strcmp(optarg, "debug-fixer") == 0) {
                 asn1_fixer_flags |= A1F_DEBUG;
@@ -483,6 +486,7 @@
 
 "  -Werror               Treat warnings as errors; abort if any warning\n"
 "  -Wdebug-lexer         Enable verbose debugging output from lexer\n"
+"  -Wdebug-parser        Enable verbose debugging output from parser\n"
 "  -Wdebug-fixer         --//-- semantics processor\n"
 "  -Wdebug-compiler      --//-- compiler\n"
 "\n"
diff --git a/doc/man/asn1c.1 b/doc/man/asn1c.1
index f6b6268..93d47c9 100644
--- a/doc/man/asn1c.1
+++ b/doc/man/asn1c.1
@@ -78,6 +78,11 @@
 .RE
 .TP
 .B \-Wdebug\-lexer
+Enable lexer debugging during the ASN.1 lexing stage.
+.RS
+.RE
+.TP
+.B \-Wdebug\-parser
 Enable lexer debugging during the ASN.1 parsing stage.
 .RS
 .RE
diff --git a/doc/man/asn1c.man.md b/doc/man/asn1c.man.md
index ac38328..5b553bc 100644
--- a/doc/man/asn1c.man.md
+++ b/doc/man/asn1c.man.md
@@ -54,6 +54,9 @@
 :   Treat warnings as errors; abort if any warning is produced.
 
 -Wdebug-lexer
+:   Enable lexer debugging during the ASN.1 lexing stage.
+
+-Wdebug-parser
 :   Enable lexer debugging during the ASN.1 parsing stage.
 
 -Wdebug-fixer
diff --git a/libasn1parser/asn1p_y.c b/libasn1parser/asn1p_y.c
index ec688ab..fdb6a8f 100644
--- a/libasn1parser/asn1p_y.c
+++ b/libasn1parser/asn1p_y.c
@@ -302,6 +302,7 @@
 #include <stdlib.h>
 #include <stdio.h>
 #include <string.h>
+#include <stdarg.h>
 #include <errno.h>
 #include <assert.h>
 
@@ -310,6 +311,30 @@
 #define YYPARSE_PARAM	param
 #define YYPARSE_PARAM_TYPE	void **
 #define YYERROR_VERBOSE
+#define YYDEBUG 1
+#define YYFPRINTF   prefixed_fprintf
+
+/*
+ * Prefix parser debug with "PARSER: " for easier human eye scanning.
+ */
+static int
+__attribute__((format(printf, 2, 3)))
+prefixed_fprintf(FILE *f, const char *fmt, ...) {
+    static int line_ended = 1;
+    va_list ap;
+    va_start(ap, fmt);
+    if(line_ended) {
+        fprintf(f, "PARSER: ");
+        line_ended = 0;
+    }
+    size_t len = strlen(fmt);
+    if(len && fmt[len-1] == '\n') {
+        line_ended = 1;
+    }
+    int ret = vfprintf(f, fmt, ap);
+    va_end(ap);
+    return ret;
+}
 
 int yylex(void);
 int yyerror(const char *msg);
@@ -400,7 +425,7 @@
 
 #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
 typedef union YYSTYPE
-#line 90 "asn1p_y.y"
+#line 115 "asn1p_y.y"
 {
 	asn1p_t			*a_grammar;
 	asn1p_module_flags_e	 a_module_flags;
@@ -436,7 +461,7 @@
 	} tv_nametag;
 }
 /* Line 193 of yacc.c.  */
-#line 440 "asn1p_y.c"
+#line 465 "asn1p_y.c"
 	YYSTYPE;
 # define yystype YYSTYPE /* obsolescent; will be withdrawn */
 # define YYSTYPE_IS_DECLARED 1
@@ -449,7 +474,7 @@
 
 
 /* Line 216 of yacc.c.  */
-#line 453 "asn1p_y.c"
+#line 478 "asn1p_y.c"
 
 #ifdef short
 # undef short
@@ -664,16 +689,16 @@
 /* YYFINAL -- State number of the termination state.  */
 #define YYFINAL  9
 /* YYLAST -- Last index in YYTABLE.  */
-#define YYLAST   932
+#define YYLAST   921
 
 /* YYNTOKENS -- Number of terminals.  */
 #define YYNTOKENS  125
 /* YYNNTS -- Number of nonterminals.  */
-#define YYNNTS  137
+#define YYNNTS  144
 /* YYNRULES -- Number of rules.  */
-#define YYNRULES  339
+#define YYNRULES  347
 /* YYNRULES -- Number of states.  */
-#define YYNSTATES  524
+#define YYNSTATES  523
 
 /* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX.  */
 #define YYUNDEFTOK  2
@@ -750,159 +775,162 @@
      527,   529,   531,   533,   535,   537,   539,   542,   544,   549,
      554,   560,   565,   569,   571,   573,   575,   577,   579,   581,
      583,   585,   587,   589,   591,   593,   595,   597,   599,   601,
-     603,   605,   606,   608,   609,   611,   616,   618,   622,   627,
-     629,   631,   633,   635,   637,   641,   647,   649,   653,   655,
-     659,   661,   665,   667,   671,   676,   680,   682,   684,   688,
-     692,   696,   700,   702,   704,   705,   709,   712,   715,   717,
-     719,   721,   723,   725,   727,   729,   731,   733,   735,   737,
-     741,   745,   747,   749,   751,   755,   761,   763,   767,   771,
-     772,   774,   776,   778,   780,   782,   784,   786,   787,   793,
-     796,   798,   801,   804,   808,   810,   812,   816,   821,   823,
-     827,   830,   834,   836,   840,   841,   843,   845,   848,   850,
-     854,   856,   858,   862,   867,   872,   874,   878,   883,   888,
-     890,   892,   896,   898,   903,   908,   910,   912,   914,   916,
-     918,   920,   921,   923,   926,   931,   932,   934,   936,   938,
-     939,   941,   943,   945,   947,   949,   950,   952,   954,   956
+     603,   605,   606,   608,   609,   611,   612,   614,   616,   620,
+     622,   625,   627,   629,   631,   633,   635,   639,   645,   647,
+     651,   653,   657,   659,   663,   665,   669,   671,   675,   677,
+     679,   681,   683,   685,   687,   689,   690,   694,   697,   700,
+     703,   706,   710,   712,   714,   716,   718,   720,   722,   724,
+     726,   728,   730,   732,   734,   737,   738,   740,   744,   748,
+     750,   752,   754,   758,   764,   766,   770,   774,   775,   777,
+     779,   781,   783,   785,   787,   789,   790,   796,   799,   801,
+     804,   807,   811,   813,   815,   819,   824,   826,   830,   833,
+     837,   839,   843,   844,   846,   848,   851,   853,   857,   859,
+     861,   865,   870,   875,   877,   881,   886,   891,   893,   895,
+     899,   901,   906,   911,   913,   915,   917,   919,   921,   923,
+     924,   926,   929,   934,   935,   937,   939,   941,   942,   944,
+     946,   948,   950,   952,   953,   955,   957,   959
 };
 
 /* YYRHS -- A `-1'-separated list of the rules' RHS.  */
 static const yytype_int16 yyrhs[] =
 {
      126,     0,    -1,   104,   127,    -1,   127,    -1,   128,    -1,
-     127,   128,    -1,    -1,   256,   129,   130,    42,   134,     3,
+     127,   128,    -1,    -1,   263,   129,   130,    42,   134,     3,
       29,   137,    47,    -1,    -1,   131,    -1,   112,   132,   113,
-      -1,   112,   113,    -1,   133,    -1,   132,   133,    -1,   259,
-      -1,   259,   114,    12,   115,    -1,    12,    -1,    -1,   135,
+      -1,   112,   113,    -1,   133,    -1,   132,   133,    -1,   266,
+      -1,   266,   114,    12,   115,    -1,    12,    -1,    -1,   135,
       -1,   136,    -1,   135,   136,    -1,    49,    92,    -1,    60,
       92,    -1,    28,    92,    -1,    51,    61,    -1,    18,    65,
       -1,    -1,   138,    -1,   150,   142,   139,    -1,   140,    -1,
      139,   140,    -1,   157,    -1,   187,    -1,   155,    -1,    -1,
       46,    18,   141,    -1,   197,    -1,    -1,   143,    -1,    62,
      144,   116,    -1,    62,    54,    -1,    -1,   145,    -1,   147,
-      -1,   145,   147,    -1,    -1,   131,    -1,   148,    54,   256,
-     146,    -1,   149,    -1,   148,   117,   149,    -1,   256,    -1,
-     256,   112,   113,    -1,   259,    -1,    -1,   151,    -1,    50,
+      -1,   145,   147,    -1,    -1,   131,    -1,   148,    54,   263,
+     146,    -1,   149,    -1,   148,   117,   149,    -1,   263,    -1,
+     263,   112,   113,    -1,   266,    -1,    -1,   151,    -1,    50,
      152,   116,    -1,    50,    25,   116,    -1,    50,   116,    -1,
-     153,    -1,   152,   117,   153,    -1,   256,    -1,   256,   112,
-     113,    -1,   259,    -1,   112,   206,   113,    -1,   256,   156,
+     153,    -1,   152,   117,   153,    -1,   263,    -1,   263,   112,
+     113,    -1,   266,    -1,   112,   207,   113,    -1,   263,   156,
        3,   154,    -1,   196,    -1,   181,    -1,   181,   112,   160,
-     113,    -1,   256,     3,   177,    -1,   256,     3,   167,    -1,
-     256,   112,   158,   113,     3,   177,    -1,   256,   112,   158,
+     113,    -1,   263,     3,   177,    -1,   263,     3,   167,    -1,
+     263,   112,   158,   113,     3,   177,    -1,   263,   112,   158,
      113,     3,   167,    -1,   159,    -1,   158,   117,   159,    -1,
-     256,    -1,   256,   118,   259,    -1,   256,   118,   256,    -1,
-     194,   118,   259,    -1,   194,   118,   256,    -1,   161,    -1,
-     160,   117,   161,    -1,   177,    -1,   190,    -1,   259,    -1,
+     263,    -1,   263,   118,   266,    -1,   263,   118,   263,    -1,
+     194,   118,   266,    -1,   194,   118,   263,    -1,   161,    -1,
+     160,   117,   161,    -1,   177,    -1,   190,    -1,   266,    -1,
      154,    -1,    -1,   163,    -1,   164,    -1,   163,   117,   164,
-      -1,   163,   117,     4,   163,     5,    -1,   259,   177,   238,
-      -1,   177,   238,    -1,    38,    76,   177,    -1,   176,    -1,
-     166,    -1,   165,   117,   166,    -1,   259,   177,    -1,   176,
+      -1,   163,   117,     4,   163,     5,    -1,   266,   177,   245,
+      -1,   177,   245,    -1,    38,    76,   177,    -1,   176,    -1,
+     166,    -1,   165,   117,   166,    -1,   266,   177,    -1,   176,
       -1,   177,    -1,    36,   112,   169,   113,   171,    -1,    -1,
-      96,    -1,   170,    -1,   169,   117,   170,    -1,    19,   238,
-      -1,    20,   177,   168,   238,    -1,    20,   185,   238,    -1,
-      20,   186,   238,    -1,    19,   185,   238,    -1,    19,   177,
-     238,    -1,    19,   186,   238,    -1,    -1,   172,    -1,    -1,
+      96,    -1,   170,    -1,   169,   117,   170,    -1,    19,   245,
+      -1,    20,   177,   168,   245,    -1,    20,   185,   245,    -1,
+      20,   186,   245,    -1,    19,   185,   245,    -1,    19,   177,
+     245,    -1,    19,   186,   245,    -1,    -1,   172,    -1,    -1,
      103,    90,   112,   173,   174,   113,    -1,   175,    -1,   174,
      175,    -1,     6,    -1,    21,    -1,   184,    -1,   119,   174,
      120,    -1,   111,    -1,   111,   121,   191,    -1,   111,   121,
-     249,    -1,   251,   179,   200,    -1,    -1,   178,   180,    -1,
+     256,    -1,   258,   179,   201,    -1,    -1,   178,   180,    -1,
      156,    -1,    35,   112,   165,   113,    -1,    86,   112,   162,
-     113,    -1,    87,   112,   162,   113,    -1,    86,   201,    76,
-     258,   251,   179,    -1,    87,   201,    76,   258,   251,   179,
-      -1,    26,    -1,    26,    43,    33,   259,    -1,    64,    76,
-     181,    -1,    17,    -1,    17,   122,   256,    -1,   257,   122,
-     256,    -1,    17,   122,   259,    -1,   257,    -1,   257,   122,
+     113,    -1,    87,   112,   162,   113,    -1,    86,   202,    76,
+     265,   258,   179,    -1,    87,   202,    76,   265,   258,   179,
+      -1,    26,    -1,    26,    43,    33,   266,    -1,    64,    76,
+     181,    -1,    17,    -1,    17,   122,   263,    -1,   264,   122,
+     263,    -1,    17,   122,   266,    -1,   264,    -1,   264,   122,
      182,    -1,   183,    -1,   182,   122,   183,    -1,   184,    -1,
       19,    -1,    20,    -1,    19,    -1,   185,   122,    19,    -1,
-     185,   122,    20,    -1,    18,    -1,   259,   177,     3,   188,
-      -1,   190,    -1,   191,    -1,   259,   118,   188,    -1,    -1,
+     185,   122,    20,    -1,    18,    -1,   266,   177,     3,   188,
+      -1,   190,    -1,   191,    -1,   266,   118,   188,    -1,    -1,
      112,   189,   193,    -1,    71,    -1,    53,    -1,    94,    -1,
-       8,    -1,    10,    -1,   192,    -1,   249,    -1,   259,    -1,
-     256,   122,   259,    -1,     9,    -1,    15,    -1,    16,    -1,
+       8,    -1,    10,    -1,   192,    -1,   256,    -1,   266,    -1,
+     263,   122,   266,    -1,     9,    -1,    15,    -1,    16,    -1,
        7,    -1,   193,     7,    -1,    32,    -1,    71,    -1,    84,
       -1,    75,    89,    -1,    73,    59,    -1,    85,    -1,    52,
       -1,    44,    79,    -1,    34,    89,    -1,    99,    -1,    55,
       -1,   197,    -1,   195,    -1,    66,    -1,    48,    -1,    30,
-      89,    -1,   194,    -1,    66,   112,   242,   113,    -1,    48,
-     112,   246,   113,    -1,    30,    89,   112,   244,   113,    -1,
-      22,   112,   240,   113,    -1,    22,   112,   113,    -1,    31,
+      89,    -1,   194,    -1,    66,   112,   249,   113,    -1,    48,
+     112,   253,   113,    -1,    30,    89,   112,   251,   113,    -1,
+      22,   112,   247,   113,    -1,    22,   112,   113,    -1,    31,
       -1,    56,    -1,    57,    -1,    58,    -1,    67,    -1,    72,
       -1,    82,    -1,    91,    -1,    93,    -1,    98,    -1,   100,
       -1,   101,    -1,   102,    -1,    74,    -1,   108,    -1,   109,
-      -1,   106,    -1,   107,    -1,    -1,   202,    -1,    -1,   202,
-      -1,    88,   114,   204,   115,    -1,   203,    -1,   114,   204,
-     115,    -1,   203,   114,   204,   115,    -1,   205,    -1,   227,
-      -1,   206,    -1,   111,    -1,   207,    -1,   207,   117,   111,
-      -1,   207,   117,   111,   117,   207,    -1,   208,    -1,    25,
-     105,   211,    -1,   209,    -1,   208,   198,   209,    -1,   210,
-      -1,   209,   199,   210,    -1,   211,    -1,   211,   105,   211,
-      -1,   214,   114,   206,   115,    -1,   114,   206,   115,    -1,
-     215,    -1,   217,    -1,   215,   231,   215,    -1,    69,   231,
-     215,    -1,   215,   231,    68,    -1,    69,   231,    68,    -1,
-     218,    -1,   213,    -1,    -1,   112,   212,   193,    -1,    78,
-       9,    -1,    78,   259,    -1,    88,    -1,    54,    -1,    53,
-      -1,    94,    -1,   250,    -1,   192,    -1,   216,    -1,   259,
-      -1,     8,    -1,    10,    -1,   177,    -1,   103,    37,   219,
-      -1,   103,    38,   220,    -1,   202,    -1,   221,    -1,   222,
-      -1,   112,   223,   113,    -1,   112,   111,   117,   223,   113,
-      -1,   224,    -1,   223,   117,   224,    -1,   261,   200,   225,
-      -1,    -1,   226,    -1,    81,    -1,    23,    -1,    77,    -1,
-     228,    -1,   232,    -1,   230,    -1,    -1,    39,    33,   112,
-     229,   193,    -1,    40,   177,    -1,   110,    -1,   110,   123,
-      -1,   123,   110,    -1,   123,   110,   123,    -1,   233,    -1,
-     234,    -1,   112,   256,   113,    -1,   233,   112,   235,   113,
-      -1,   236,    -1,   235,   117,   236,    -1,   124,   237,    -1,
-     124,   122,   237,    -1,   259,    -1,   237,   122,   259,    -1,
-      -1,   239,    -1,    77,    -1,    41,   188,    -1,   241,    -1,
-     240,   117,   241,    -1,   259,    -1,   243,    -1,   242,   117,
-     243,    -1,   259,   114,   249,   115,    -1,   259,   114,   191,
-     115,    -1,   245,    -1,   244,   117,   245,    -1,   259,   114,
-      12,   115,    -1,   259,   114,   191,   115,    -1,   247,    -1,
-     248,    -1,   247,   117,   248,    -1,   259,    -1,   259,   114,
-     249,   115,    -1,   259,   114,   191,   115,    -1,   249,    -1,
-     111,    -1,    12,    -1,    13,    -1,   249,    -1,    14,    -1,
-      -1,   252,    -1,   253,   255,    -1,   119,   254,    12,   120,
-      -1,    -1,    97,    -1,    27,    -1,    83,    -1,    -1,    60,
-      -1,    49,    -1,    17,    -1,    18,    -1,    18,    -1,    -1,
-     259,    -1,    11,    -1,   259,    -1,   260,    -1
+      -1,   106,    -1,   107,    -1,    -1,   203,    -1,    -1,   204,
+      -1,    -1,   203,    -1,   216,    -1,   114,   205,   115,    -1,
+     203,    -1,   204,   203,    -1,   206,    -1,   234,    -1,   207,
+      -1,   111,    -1,   208,    -1,   208,   117,   111,    -1,   208,
+     117,   111,   117,   208,    -1,   209,    -1,    25,   105,   212,
+      -1,   210,    -1,   209,   198,   210,    -1,   211,    -1,   210,
+     199,   211,    -1,   212,    -1,   212,   105,   212,    -1,   213,
+      -1,   114,   208,   115,    -1,   221,    -1,   223,    -1,   215,
+      -1,   216,    -1,   225,    -1,   217,    -1,   218,    -1,    -1,
+     112,   214,   193,    -1,    54,   203,    -1,    88,   203,    -1,
+      78,     9,    -1,    78,   266,    -1,   219,   238,   220,    -1,
+     221,    -1,    69,    -1,   221,    -1,    68,    -1,    53,    -1,
+      94,    -1,   257,    -1,   192,    -1,   222,    -1,   266,    -1,
+       8,    -1,    10,    -1,   224,   177,    -1,    -1,    63,    -1,
+     103,    37,   226,    -1,   103,    38,   227,    -1,   203,    -1,
+     228,    -1,   229,    -1,   112,   230,   113,    -1,   112,   111,
+     117,   230,   113,    -1,   231,    -1,   230,   117,   231,    -1,
+     268,   200,   232,    -1,    -1,   233,    -1,    81,    -1,    23,
+      -1,    77,    -1,   235,    -1,   239,    -1,   237,    -1,    -1,
+      39,    33,   112,   236,   193,    -1,    40,   177,    -1,   110,
+      -1,   110,   123,    -1,   123,   110,    -1,   123,   110,   123,
+      -1,   240,    -1,   241,    -1,   112,   263,   113,    -1,   240,
+     112,   242,   113,    -1,   243,    -1,   242,   117,   243,    -1,
+     124,   244,    -1,   124,   122,   244,    -1,   266,    -1,   244,
+     122,   266,    -1,    -1,   246,    -1,    77,    -1,    41,   188,
+      -1,   248,    -1,   247,   117,   248,    -1,   266,    -1,   250,
+      -1,   249,   117,   250,    -1,   266,   114,   256,   115,    -1,
+     266,   114,   191,   115,    -1,   252,    -1,   251,   117,   252,
+      -1,   266,   114,    12,   115,    -1,   266,   114,   191,   115,
+      -1,   254,    -1,   255,    -1,   254,   117,   255,    -1,   266,
+      -1,   266,   114,   256,   115,    -1,   266,   114,   191,   115,
+      -1,   256,    -1,   111,    -1,    12,    -1,    13,    -1,   256,
+      -1,    14,    -1,    -1,   259,    -1,   260,   262,    -1,   119,
+     261,    12,   120,    -1,    -1,    97,    -1,    27,    -1,    83,
+      -1,    -1,    60,    -1,    49,    -1,    17,    -1,    18,    -1,
+      18,    -1,    -1,   266,    -1,    11,    -1,   266,    -1,   267,
+      -1
 };
 
 /* YYRLINE[YYN] -- source line where rule number YYN was defined.  */
 static const yytype_uint16 yyrline[] =
 {
-       0,   378,   378,   381,   387,   392,   409,   409,   438,   439,
-     443,   446,   452,   458,   467,   471,   475,   485,   486,   495,
-     498,   507,   510,   513,   516,   520,   541,   542,   551,   564,
-     567,   584,   591,   605,   613,   612,   626,   639,   640,   643,
-     653,   659,   660,   663,   668,   675,   676,   680,   691,   696,
-     703,   709,   715,   725,   726,   738,   741,   744,   752,   757,
-     764,   770,   776,   785,   788,   798,   811,   821,   841,   847,
-     863,   869,   877,   886,   897,   901,   909,   917,   925,   936,
-     941,   948,   951,   959,   970,   993,   994,   997,  1002,  1006,
-    1014,  1021,  1027,  1034,  1040,  1045,  1052,  1057,  1060,  1067,
-    1077,  1078,  1082,  1089,  1099,  1109,  1120,  1130,  1141,  1151,
-    1162,  1174,  1175,  1182,  1181,  1190,  1194,  1201,  1205,  1208,
-    1212,  1218,  1226,  1235,  1247,  1271,  1278,  1297,  1300,  1306,
-    1312,  1318,  1328,  1338,  1344,  1356,  1371,  1379,  1390,  1401,
-    1412,  1420,  1442,  1450,  1459,  1463,  1468,  1477,  1482,  1487,
-    1495,  1518,  1528,  1529,  1530,  1537,  1537,  1542,  1550,  1555,
-    1560,  1565,  1570,  1573,  1579,  1590,  1608,  1612,  1617,  1625,
-    1634,  1649,  1650,  1651,  1652,  1653,  1654,  1655,  1656,  1657,
-    1658,  1659,  1660,  1661,  1668,  1669,  1670,  1674,  1680,  1685,
-    1690,  1695,  1700,  1709,  1710,  1714,  1718,  1719,  1720,  1721,
-    1722,  1726,  1727,  1728,  1729,  1733,  1734,  1741,  1741,  1742,
-    1742,  1746,  1747,  1751,  1752,  1753,  1759,  1765,  1768,  1773,
-    1773,  1775,  1778,  1782,  1783,  1789,  1800,  1801,  1807,  1808,
-    1814,  1815,  1822,  1823,  1829,  1837,  1845,  1851,  1857,  1864,
-    1872,  1880,  1889,  1890,  1891,  1891,  1901,  1906,  1918,  1921,
-    1927,  1932,  1937,  1938,  1939,  1940,  1954,  1959,  1967,  1978,
-    1981,  1987,  1988,  1988,  1989,  1991,  2004,  2009,  2015,  2029,
-    2030,  2034,  2037,  2040,  2048,  2049,  2050,  2055,  2054,  2066,
-    2075,  2076,  2077,  2078,  2081,  2084,  2093,  2109,  2115,  2121,
-    2135,  2146,  2162,  2165,  2185,  2189,  2193,  2197,  2204,  2209,
-    2215,  2224,  2229,  2236,  2244,  2254,  2259,  2266,  2274,  2284,
-    2299,  2304,  2311,  2318,  2326,  2334,  2341,  2352,  2356,  2363,
-    2364,  2395,  2396,  2400,  2407,  2413,  2414,  2415,  2416,  2420,
-    2421,  2422,  2426,  2430,  2438,  2445,  2446,  2452,  2459,  2465
+       0,   410,   410,   413,   419,   424,   441,   441,   470,   471,
+     475,   478,   484,   490,   499,   503,   507,   517,   518,   527,
+     530,   539,   542,   545,   548,   552,   573,   574,   583,   596,
+     599,   616,   623,   637,   645,   644,   658,   671,   672,   675,
+     685,   691,   692,   695,   700,   707,   708,   712,   723,   728,
+     735,   741,   747,   757,   758,   770,   773,   776,   784,   789,
+     796,   802,   808,   817,   820,   830,   843,   853,   873,   879,
+     895,   901,   909,   918,   929,   933,   941,   949,   957,   968,
+     973,   980,   983,   991,  1002,  1025,  1026,  1029,  1034,  1038,
+    1046,  1053,  1059,  1066,  1072,  1077,  1084,  1089,  1092,  1099,
+    1109,  1110,  1114,  1121,  1131,  1141,  1152,  1162,  1173,  1183,
+    1194,  1206,  1207,  1214,  1213,  1222,  1226,  1233,  1237,  1240,
+    1244,  1250,  1258,  1267,  1279,  1303,  1310,  1329,  1332,  1338,
+    1344,  1350,  1360,  1370,  1376,  1388,  1403,  1411,  1422,  1433,
+    1444,  1452,  1474,  1482,  1491,  1495,  1500,  1509,  1514,  1519,
+    1527,  1550,  1560,  1561,  1562,  1569,  1569,  1574,  1582,  1587,
+    1592,  1597,  1602,  1605,  1611,  1622,  1640,  1644,  1649,  1657,
+    1666,  1681,  1682,  1683,  1684,  1685,  1686,  1687,  1688,  1689,
+    1690,  1691,  1692,  1693,  1700,  1701,  1702,  1706,  1712,  1717,
+    1722,  1727,  1732,  1741,  1742,  1746,  1750,  1751,  1752,  1753,
+    1754,  1758,  1759,  1760,  1761,  1765,  1766,  1773,  1773,  1774,
+    1774,  1778,  1779,  1783,  1784,  1788,  1789,  1790,  1794,  1800,
+    1801,  1810,  1810,  1812,  1815,  1819,  1820,  1826,  1837,  1838,
+    1844,  1845,  1851,  1852,  1859,  1860,  1866,  1867,  1878,  1884,
+    1890,  1891,  1893,  1894,  1895,  1896,  1896,  1907,  1912,  1917,
+    1922,  1934,  1943,  1944,  1950,  1951,  1957,  1962,  1967,  1968,
+    1969,  1970,  1984,  1989,  1997,  2004,  2005,  2013,  2016,  2022,
+    2023,  2023,  2024,  2026,  2039,  2044,  2050,  2064,  2065,  2069,
+    2072,  2075,  2083,  2084,  2085,  2090,  2089,  2101,  2110,  2111,
+    2112,  2113,  2116,  2119,  2128,  2144,  2150,  2156,  2170,  2181,
+    2197,  2200,  2220,  2224,  2228,  2232,  2239,  2244,  2250,  2259,
+    2264,  2271,  2279,  2289,  2294,  2301,  2309,  2319,  2334,  2339,
+    2346,  2353,  2361,  2369,  2376,  2387,  2391,  2398,  2399,  2430,
+    2431,  2435,  2442,  2448,  2449,  2450,  2451,  2455,  2456,  2457,
+    2461,  2465,  2473,  2480,  2481,  2487,  2494,  2500
 };
 #endif
 
@@ -952,7 +980,7 @@
   "ParameterArgumentList", "ParameterArgumentName", "ActualParameterList",
   "ActualParameter", "optComponentTypeLists", "ComponentTypeLists",
   "ComponentType", "AlternativeTypeLists", "AlternativeType",
-  "ObjectClass", "optUnique", "FieldSpec", "ClassField", "optWithSyntax",
+  "ObjectClass", "optUNIQUE", "FieldSpec", "ClassField", "optWithSyntax",
   "WithSyntax", "@3", "WithSyntaxList", "WithSyntaxToken",
   "ExtensionAndException", "Type", "NSTD_IndirectMarker",
   "TypeDeclaration", "TypeDeclarationSet", "ComplexTypeReference",
@@ -961,12 +989,14 @@
   "ValueAssignment", "Value", "@4", "SimpleValue", "DefinedValue",
   "RestrictedCharacterStringValue", "Opaque", "BasicTypeId",
   "BasicTypeId_UniverationCompatible", "BasicType", "BasicString",
-  "UnionMark", "IntersectionMark", "optConstraints", "optSizeConstraints",
-  "Constraint", "SetOfConstraints", "ConstraintSpec", "SubtypeConstraint",
-  "ElementSetSpecs", "ElementSetSpec", "Unions", "Intersections",
-  "IntersectionElements", "ConstraintSubtypeElement", "@5",
-  "PatternConstraint", "ConstraintType", "SingleValue", "BitStringValue",
-  "ContainedSubtype", "InnerTypeConstraint", "SingleTypeConstraint",
+  "UnionMark", "IntersectionMark", "optConstraint", "optManyConstraints",
+  "optSizeOrConstraint", "Constraint", "ManyConstraints", "ConstraintSpec",
+  "SubtypeConstraint", "ElementSetSpecs", "ElementSetSpec", "Unions",
+  "Intersections", "IntersectionElements", "Elements", "SubtypeElements",
+  "@5", "PermittedAlphabet", "SizeConstraint", "PatternConstraint",
+  "ValueRange", "LowerEndValue", "UpperEndValue", "SingleValue",
+  "BitStringValue", "ContainedSubtype", "optINCLUDES",
+  "InnerTypeConstraints", "SingleTypeConstraint",
   "MultipleTypeConstraints", "FullSpecification", "PartialSpecification",
   "TypeConstraints", "NamedConstraint", "optPresenceConstraint",
   "PresenceConstraint", "GeneralConstraint", "UserDefinedConstraint", "@6",
@@ -1027,19 +1057,20 @@
      194,   194,   194,   194,   195,   195,   195,   196,   196,   196,
      196,   196,   196,   197,   197,   197,   197,   197,   197,   197,
      197,   197,   197,   197,   197,   197,   197,   198,   198,   199,
-     199,   200,   200,   201,   201,   201,   202,   203,   203,   204,
-     204,   205,   206,   206,   206,   206,   207,   207,   208,   208,
-     209,   209,   210,   210,   211,   211,   211,   211,   211,   211,
-     211,   211,   211,   211,   212,   211,   213,   213,   214,   214,
-     215,   215,   215,   215,   215,   215,   216,   216,   217,   218,
-     218,   219,   220,   220,   221,   222,   223,   223,   224,   225,
-     225,   226,   226,   226,   227,   227,   227,   229,   228,   230,
-     231,   231,   231,   231,   232,   232,   233,   234,   235,   235,
-     236,   236,   237,   237,   238,   238,   239,   239,   240,   240,
-     241,   242,   242,   243,   243,   244,   244,   245,   245,   246,
-     247,   247,   248,   248,   248,   248,   248,   249,   249,   250,
-     250,   251,   251,   252,   253,   254,   254,   254,   254,   255,
-     255,   255,   256,   256,   257,   258,   258,   259,   260,   261
+     199,   200,   200,   201,   201,   202,   202,   202,   203,   204,
+     204,   205,   205,   206,   207,   207,   207,   207,   208,   208,
+     209,   209,   210,   210,   211,   211,   212,   212,   213,   213,
+     213,   213,   213,   213,   213,   214,   213,   215,   216,   217,
+     217,   218,   219,   219,   220,   220,   221,   221,   221,   221,
+     221,   221,   222,   222,   223,   224,   224,   225,   225,   226,
+     227,   227,   228,   229,   230,   230,   231,   232,   232,   233,
+     233,   233,   234,   234,   234,   236,   235,   237,   238,   238,
+     238,   238,   239,   239,   240,   241,   242,   242,   243,   243,
+     244,   244,   245,   245,   246,   246,   247,   247,   248,   249,
+     249,   250,   250,   251,   251,   252,   252,   253,   254,   254,
+     255,   255,   255,   255,   255,   256,   256,   257,   257,   258,
+     258,   259,   260,   261,   261,   261,   261,   262,   262,   262,
+     263,   263,   264,   265,   265,   266,   267,   268
 };
 
 /* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN.  */
@@ -1066,19 +1097,20 @@
        1,     1,     1,     1,     1,     1,     2,     1,     4,     4,
        5,     4,     3,     1,     1,     1,     1,     1,     1,     1,
        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
-       1,     0,     1,     0,     1,     4,     1,     3,     4,     1,
-       1,     1,     1,     1,     3,     5,     1,     3,     1,     3,
-       1,     3,     1,     3,     4,     3,     1,     1,     3,     3,
-       3,     3,     1,     1,     0,     3,     2,     2,     1,     1,
-       1,     1,     1,     1,     1,     1,     1,     1,     1,     3,
-       3,     1,     1,     1,     3,     5,     1,     3,     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,     1,     3,
-       1,     1,     3,     4,     4,     1,     3,     4,     4,     1,
-       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,     0,     1,     0,     1,     0,     1,     1,     3,     1,
+       2,     1,     1,     1,     1,     1,     3,     5,     1,     3,
+       1,     3,     1,     3,     1,     3,     1,     3,     1,     1,
+       1,     1,     1,     1,     1,     0,     3,     2,     2,     2,
+       2,     3,     1,     1,     1,     1,     1,     1,     1,     1,
+       1,     1,     1,     1,     2,     0,     1,     3,     3,     1,
+       1,     1,     3,     5,     1,     3,     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,     1,     3,     1,     1,
+       3,     4,     4,     1,     3,     4,     4,     1,     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
 };
 
 /* YYDEFACT[STATE-NAME] -- Default rule to reduce with in state
@@ -1086,8 +1118,8 @@
    means the default is an error.  */
 static const yytype_uint16 yydefact[] =
 {
-       0,   332,   333,     0,     0,     3,     4,     6,     2,     1,
-       5,     8,     0,     0,     9,   337,    16,    11,     0,    12,
+       0,   340,   341,     0,     0,     3,     4,     6,     2,     1,
+       5,     8,     0,     0,     9,   345,    16,    11,     0,    12,
       14,    17,    10,    13,     0,     0,     0,     0,     0,     0,
        0,    18,    19,     0,    25,    23,    21,    24,    22,     0,
       20,    15,    53,     0,     0,    27,    37,    54,     0,    57,
@@ -1095,50 +1127,50 @@
        0,     0,    40,     0,    42,    43,     0,    48,    50,    52,
      193,     0,   194,   195,   196,   197,   198,   206,   199,   200,
      201,   202,   203,   204,   205,    28,    29,    33,    31,    32,
-      36,     0,   321,    59,    61,    39,    44,     0,     0,     0,
-      34,    30,   321,   136,   334,     0,     0,   171,     0,     0,
+      36,     0,   329,    59,    61,    39,    44,     0,     0,     0,
+      34,    30,   329,   136,   342,     0,     0,   171,     0,     0,
      185,   177,   181,   184,   172,     0,     0,   173,   176,   180,
-       0,     0,    66,   187,   183,    65,   182,   140,   325,     0,
-     125,   322,   329,    45,    49,    51,    35,     0,    69,    68,
+       0,     0,    66,   187,   183,    65,   182,   140,   333,     0,
+     125,   330,   337,    45,    49,    51,    35,     0,    69,    68,
        0,     0,   186,   179,   178,     0,     0,   175,   174,     0,
-     185,   184,     0,    72,     0,    74,     0,   321,     0,   327,
-     328,   326,     0,     0,     0,   211,   331,   330,   323,    46,
-      47,     0,   137,   139,   192,     0,   298,   300,     0,   317,
-     318,   316,     0,   309,   310,   315,   312,     0,   301,     0,
-     186,     0,     0,     0,     0,   321,    64,   160,   166,   161,
+     185,   184,     0,    72,     0,    74,     0,   329,     0,   335,
+     336,   334,     0,     0,     0,   213,   339,   338,   331,    46,
+      47,     0,   137,   139,   192,     0,   306,   308,     0,   325,
+     326,   324,     0,   317,   318,   323,   320,     0,   309,     0,
+     186,     0,     0,     0,     0,   265,    64,   160,   166,   161,
      167,   168,   158,   159,    84,     0,    79,    81,    82,   162,
      163,    83,   145,   146,   141,   142,   144,   138,     0,   157,
-     155,   151,   152,   153,     0,   164,   133,     0,     0,   213,
-     213,   127,   126,   321,   124,   212,   216,   321,   321,     0,
-     102,   191,     0,     0,   305,     0,   189,     0,     0,   188,
-       0,     0,   321,    73,    78,    77,    76,    75,   256,   257,
-     320,     0,   250,   249,     0,     0,   248,   251,     0,   222,
-     244,   321,   258,   253,     0,   223,   226,   228,   230,   232,
-     243,     0,   236,   254,   237,   242,   319,   252,   255,    67,
-     321,     0,   324,     0,     0,     0,     0,   321,     0,     0,
-     321,     0,   214,   321,     0,     0,   321,   244,     0,   219,
-     221,   220,   274,   276,   275,   284,   285,   321,   150,   147,
-       0,   296,   294,   294,   294,   104,   295,   100,   294,   294,
-     111,     0,   299,   190,     0,     0,   311,     0,     0,   164,
-     302,     0,     0,    71,    70,   321,   280,     0,     0,   246,
-     247,     0,     0,     0,     0,    63,     0,   207,   208,   321,
-     209,   210,   321,   321,   321,     0,    80,   143,   169,   156,
-     165,   154,     0,   121,     0,    94,    97,    98,   321,   135,
-     321,     0,     0,    86,    87,    93,   294,   321,   335,     0,
-     335,     0,   279,     0,   217,     0,     0,   297,   109,     0,
-     108,   110,   101,   294,   106,   107,     0,    99,   112,   103,
-     306,     0,     0,   314,   313,   304,   303,   227,   281,   282,
-     241,   239,   261,   259,     0,   260,   262,   263,   245,   235,
-     224,   229,   231,   233,     0,   240,   238,   170,   134,     0,
-     128,   321,    96,     0,   321,   129,   321,    91,   294,   321,
-     336,   130,   321,   277,   286,     0,     0,   288,   218,   148,
-     149,   105,     0,   307,   308,   283,     0,     0,   266,   338,
-     339,   211,   321,   234,   122,   123,    95,   215,    92,   321,
-      88,    90,   125,   125,     0,     0,   290,   292,   287,     0,
-     113,     0,   264,     0,   269,   225,     0,   131,   132,   278,
-     291,     0,   289,     0,     0,   267,   272,   273,   271,   268,
-     270,    89,   293,   117,   118,     0,     0,   115,   119,   265,
-       0,   114,   116,   120
+     155,   151,   152,   153,     0,   164,   133,     0,     0,   215,
+     215,   127,   126,   265,   124,   219,   214,   329,   329,     0,
+     102,   191,     0,     0,   313,     0,   189,     0,     0,   188,
+       0,     0,   329,    73,    78,    77,    76,    75,   262,   263,
+     328,     0,   256,     0,   266,   253,     0,     0,   257,     0,
+     224,   245,   265,   259,     0,   225,   228,   230,   232,   234,
+     236,   240,   241,   243,   244,     0,   238,   260,   239,   329,
+     242,   327,   258,   261,    67,   329,     0,   332,     0,     0,
+       0,     0,   329,     0,   329,     0,   216,   217,   329,     0,
+       0,   329,   245,     0,   221,   223,   222,   282,   284,   283,
+     292,   293,   220,   150,   147,     0,   304,   302,   302,   302,
+     104,   303,   100,   302,   302,   111,     0,   307,   190,     0,
+       0,   319,     0,     0,   164,   310,     0,     0,    71,    70,
+     265,   247,   249,   250,   248,     0,     0,     0,     0,    63,
+       0,   207,   208,   265,   209,   210,   265,   265,   288,     0,
+       0,   264,    80,   143,   169,   156,   165,   154,     0,   121,
+       0,    94,    97,    98,   329,   135,     0,     0,    86,    87,
+      93,   302,   329,   343,     0,   343,     0,   287,     0,   218,
+       0,   305,   109,     0,   108,   110,   101,   302,   106,   107,
+       0,    99,   112,   103,   314,     0,     0,   322,   321,   312,
+     311,   229,   269,   267,     0,   268,   270,   271,   246,   237,
+     226,   231,   233,   235,   289,   290,   255,   251,   254,   170,
+     134,     0,   128,   329,    96,   329,   129,   329,    91,   302,
+     329,   344,   130,   329,   285,   294,     0,     0,   296,   148,
+     149,   105,     0,   315,   316,     0,     0,   274,   346,   347,
+     211,   265,   291,   122,   123,    95,    92,   329,    88,    90,
+     125,   125,     0,     0,   298,   300,   295,     0,   113,     0,
+     272,     0,   277,   212,   227,     0,   131,   132,   286,   299,
+       0,   297,     0,     0,   275,   280,   281,   279,   276,   278,
+      89,   301,   117,   118,     0,     0,   115,   119,   273,     0,
+     114,   116,   120
 };
 
 /* YYDEFGOTO[NTERM-NUM].  */
@@ -1147,356 +1179,356 @@
       -1,     4,     5,     6,    11,    13,    14,    18,    19,    30,
       31,    32,    44,    45,    85,    86,   136,    56,    57,    63,
       64,   170,    65,    66,    67,    46,    47,    50,    51,   204,
-      87,   121,    88,   152,   153,   205,   206,   382,   383,   384,
-     374,   375,   138,   403,   239,   240,   407,   408,   503,   516,
-     517,   385,   272,   164,   165,   232,   122,   214,   215,   518,
-     323,   324,    89,   221,   293,   222,   223,   273,   369,   123,
-     124,   125,   126,   359,   362,   234,   301,   235,   236,   308,
-     309,   310,   275,   276,   277,   278,   279,   353,   280,   281,
-     282,   283,   284,   285,   423,   425,   426,   427,   467,   468,
-     509,   510,   311,   312,   484,   313,   348,   314,   315,   316,
-     456,   457,   486,   325,   326,   175,   176,   187,   188,   243,
-     244,   182,   183,   184,   286,   287,   130,   131,   132,   162,
-     168,   224,   127,   449,   288,   470,   471
+      87,   121,    88,   152,   153,   205,   206,   387,   388,   389,
+     380,   381,   138,   407,   239,   240,   411,   412,   502,   515,
+     516,   390,   391,   164,   165,   232,   122,   214,   215,   517,
+     328,   329,    89,   221,   298,   222,   223,   273,   375,   123,
+     124,   125,   126,   363,   366,   492,   234,   305,   306,   236,
+     313,   314,   274,   275,   276,   277,   278,   279,   280,   357,
+     281,   282,   283,   284,   285,   437,   286,   287,   288,   289,
+     290,   423,   425,   426,   427,   466,   467,   508,   509,   316,
+     317,   482,   318,   370,   319,   320,   321,   457,   458,   484,
+     330,   331,   175,   176,   187,   188,   243,   244,   182,   183,
+     184,   291,   292,   130,   131,   132,   162,   168,   224,   127,
+     450,   293,   469,   470
 };
 
 /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
    STATE-NUM.  */
-#define YYPACT_NINF -330
+#define YYPACT_NINF -351
 static const yytype_int16 yypact[] =
 {
-      90,  -330,  -330,   158,    53,   158,  -330,  -330,   158,  -330,
-    -330,   -47,    17,    30,  -330,  -330,  -330,  -330,    24,  -330,
-     -35,   203,  -330,  -330,    99,   122,   113,   132,   173,   148,
-     276,   203,  -330,   162,  -330,  -330,  -330,  -330,  -330,   266,
-    -330,  -330,   274,    74,   237,  -330,   238,  -330,   210,  -330,
-     116,  -330,   197,  -330,  -330,   193,   676,  -330,  -330,  -330,
-     281,   215,  -330,   236,   281,  -330,    -5,  -330,   242,  -330,
-    -330,   338,  -330,  -330,  -330,  -330,  -330,  -330,  -330,  -330,
-    -330,  -330,  -330,  -330,  -330,   676,  -330,  -330,  -330,  -330,
-    -330,   604,   240,  -330,  -330,  -330,  -330,   158,   281,   264,
-    -330,  -330,     1,   258,  -330,   269,   294,  -330,   295,   306,
-     275,  -330,  -330,   277,  -330,   327,   301,  -330,  -330,  -330,
-     830,   388,   283,  -330,  -330,  -330,  -330,   271,   140,   393,
-    -330,  -330,   123,   -47,  -330,  -330,  -330,   285,  -330,  -330,
-     281,    19,   287,  -330,  -330,    82,   389,  -330,  -330,   312,
-    -330,  -330,    71,  -330,   284,   286,   291,   106,   313,  -330,
-    -330,  -330,   394,   233,   753,   296,  -330,  -330,  -330,  -330,
-    -330,   328,  -330,  -330,  -330,    78,  -330,  -330,   389,  -330,
-    -330,  -330,   292,   297,  -330,  -330,   299,   103,  -330,   303,
-    -330,   405,   830,   281,   281,   437,  -330,  -330,  -330,  -330,
-    -330,  -330,  -330,  -330,  -330,   142,  -330,  -330,  -330,  -330,
-    -330,  -330,  -330,  -330,   289,  -330,  -330,  -330,   302,  -330,
-    -330,  -330,  -330,  -330,   308,   307,   366,   309,   343,   114,
-     115,  -330,  -330,   304,  -330,  -330,   310,   145,    22,   143,
-    -330,  -330,   389,   144,  -330,   314,  -330,    82,   263,  -330,
-     389,   263,     1,  -330,  -330,  -330,  -330,  -330,  -330,  -330,
-    -330,   321,  -330,  -330,   -20,   208,  -330,  -330,   324,  -330,
-    -330,   437,  -330,  -330,   318,   315,   255,   259,  -330,   330,
-    -330,   319,   -20,  -330,  -330,  -330,  -330,  -330,  -330,  -330,
-     106,   348,  -330,   429,   389,   233,   404,    66,   352,   325,
-      12,   362,  -330,    12,   364,   408,   240,   158,   329,  -330,
-    -330,  -330,  -330,  -330,  -330,   342,  -330,   304,  -330,  -330,
-     233,  -330,    10,    21,    10,  -330,  -330,   346,    21,    10,
-     353,   328,  -330,  -330,   389,   196,  -330,   340,   344,  -330,
-    -330,   345,   349,  -330,  -330,   555,   334,   351,   257,  -330,
-    -330,   296,   354,   429,   350,  -330,   347,  -330,  -330,   555,
-    -330,  -330,   555,   555,   437,   326,  -330,  -330,  -330,   456,
-    -330,  -330,   389,   356,   176,  -330,  -330,  -330,   240,  -330,
-     304,   392,   357,   358,  -330,  -330,    10,   240,   389,   359,
-     389,   368,  -330,   361,  -330,   360,   363,  -330,  -330,   355,
-    -330,  -330,  -330,    10,  -330,  -330,   379,  -330,  -330,  -330,
-    -330,   367,   370,  -330,  -330,  -330,  -330,  -330,  -330,   365,
-    -330,  -330,  -330,  -330,    31,  -330,  -330,  -330,   456,  -330,
-     369,   259,  -330,  -330,   372,  -330,  -330,  -330,  -330,   263,
-    -330,    66,  -330,   386,   240,  -330,    16,  -330,    10,   240,
-    -330,  -330,   240,  -330,  -330,    14,   177,  -330,  -330,  -330,
-    -330,  -330,   371,  -330,  -330,  -330,   385,   188,  -330,  -330,
-    -330,   296,   484,  -330,  -330,  -330,  -330,  -330,  -330,    46,
-    -330,  -330,  -330,  -330,   429,   389,   381,  -330,  -330,   360,
-    -330,   389,  -330,   389,    23,  -330,     9,  -330,  -330,   456,
-     381,   389,  -330,    61,   189,  -330,  -330,  -330,  -330,  -330,
-    -330,  -330,  -330,  -330,  -330,    61,    55,  -330,  -330,  -330,
-      50,  -330,  -330,  -330
+       0,  -351,  -351,   238,    59,   238,  -351,  -351,   238,  -351,
+    -351,   -21,    26,    43,  -351,  -351,  -351,  -351,    49,  -351,
+     -18,   248,  -351,  -351,   103,    70,    65,    71,   124,   113,
+     216,   248,  -351,    82,  -351,  -351,  -351,  -351,  -351,   252,
+    -351,  -351,   122,    77,   161,  -351,   172,  -351,   170,  -351,
+      63,  -351,   177,  -351,  -351,   198,   653,  -351,  -351,  -351,
+     105,   191,  -351,   196,   105,  -351,    -3,  -351,   204,  -351,
+    -351,   301,  -351,  -351,  -351,  -351,  -351,  -351,  -351,  -351,
+    -351,  -351,  -351,  -351,  -351,   653,  -351,  -351,  -351,  -351,
+    -351,   303,   212,  -351,  -351,  -351,  -351,   238,   105,   210,
+    -351,  -351,   -10,   214,  -351,   226,   253,  -351,   261,   274,
+     270,  -351,  -351,   272,  -351,   314,   297,  -351,  -351,  -351,
+     819,   386,   278,  -351,  -351,  -351,  -351,   269,    28,   389,
+    -351,  -351,    33,   -21,  -351,  -351,  -351,   281,  -351,  -351,
+     105,    13,   283,  -351,  -351,   163,   387,  -351,  -351,   308,
+    -351,  -351,    24,  -351,   282,   288,   287,   179,   250,  -351,
+    -351,  -351,   395,   232,   742,   294,  -351,  -351,  -351,  -351,
+    -351,   275,  -351,  -351,  -351,    93,  -351,  -351,   387,  -351,
+    -351,  -351,   296,   293,  -351,  -351,   299,   104,  -351,   300,
+    -351,   408,   819,   105,   105,   516,  -351,  -351,  -351,  -351,
+    -351,  -351,  -351,  -351,  -351,   112,  -351,  -351,  -351,  -351,
+    -351,  -351,  -351,  -351,   304,  -351,  -351,  -351,   307,  -351,
+    -351,  -351,  -351,  -351,   306,   298,   390,   318,   356,   -14,
+     139,  -351,  -351,   409,  -351,  -351,   294,   205,    23,   120,
+    -351,  -351,   387,   162,  -351,   322,  -351,   163,   328,  -351,
+     387,   328,   -10,  -351,  -351,  -351,  -351,  -351,  -351,  -351,
+    -351,   332,  -351,   294,  -351,  -351,   217,   294,  -351,   292,
+    -351,  -351,   537,  -351,   325,   323,   240,   256,  -351,   334,
+    -351,  -351,  -351,  -351,  -351,   -78,   -20,  -351,  -351,   212,
+    -351,  -351,  -351,  -351,  -351,   179,   337,  -351,   434,   387,
+     232,   410,    19,   347,     8,   366,  -351,  -351,     8,   369,
+     413,   212,   238,   335,  -351,  -351,  -351,  -351,  -351,  -351,
+     339,  -351,  -351,  -351,  -351,   232,  -351,    12,   109,    12,
+    -351,  -351,   351,   109,    12,   349,   275,  -351,  -351,   387,
+     260,  -351,   338,   340,  -351,  -351,   341,   342,  -351,  -351,
+     644,  -351,  -351,  -351,  -351,   294,   346,   434,   344,  -351,
+     343,  -351,  -351,   644,  -351,  -351,   644,   644,   345,   350,
+     249,  -351,  -351,  -351,  -351,   454,  -351,  -351,   387,   352,
+     167,  -351,  -351,  -351,   212,  -351,   388,   353,   357,  -351,
+    -351,    12,   212,   387,   354,   387,   358,  -351,   362,  -351,
+     359,  -351,  -351,   348,  -351,  -351,  -351,    12,  -351,  -351,
+     379,  -351,  -351,  -351,  -351,   361,   365,  -351,  -351,  -351,
+    -351,  -351,  -351,  -351,    25,  -351,  -351,  -351,   454,  -351,
+     364,   256,  -351,  -351,  -351,   363,  -351,  -351,  -351,  -351,
+    -351,   328,  -351,    19,  -351,   212,  -351,    45,  -351,    12,
+     212,  -351,  -351,   212,  -351,  -351,     2,   192,  -351,  -351,
+    -351,  -351,   370,  -351,  -351,   367,   194,  -351,  -351,  -351,
+     294,   537,  -351,  -351,  -351,  -351,  -351,    54,  -351,  -351,
+    -351,  -351,   434,   387,   368,  -351,  -351,   359,  -351,   387,
+    -351,   387,   126,  -351,  -351,     3,  -351,  -351,   454,   368,
+     387,  -351,    51,   197,  -351,  -351,  -351,  -351,  -351,  -351,
+    -351,  -351,  -351,  -351,    51,    58,  -351,  -351,  -351,    48,
+    -351,  -351,  -351
 };
 
 /* YYPGOTO[NTERM-NUM].  */
 static const yytype_int16 yypgoto[] =
 {
-    -330,  -330,   468,   184,  -330,  -330,   374,  -330,   458,  -330,
-    -330,   473,  -330,  -330,  -330,   420,  -330,  -330,  -330,  -330,
-    -330,  -330,   444,  -330,   412,  -330,  -330,  -330,   451,   373,
-    -330,   375,  -330,  -330,   320,  -330,   223,   211,    37,    72,
-    -330,    76,   267,  -330,  -330,   190,  -330,  -330,  -330,     5,
-    -213,  -289,   -91,  -330,  -111,  -330,   224,  -330,   232,  -153,
-     288,   290,  -330,  -237,  -330,  -140,  -238,  -141,  -329,   -32,
-    -330,  -330,   -30,  -330,  -330,    56,   300,  -211,  -330,  -207,
-    -330,  -193,    52,  -330,   174,   170,  -300,  -330,  -330,  -330,
-    -209,  -330,  -330,  -330,  -330,  -330,  -330,  -330,    43,    42,
-    -330,  -330,  -330,  -330,  -330,  -330,   254,  -330,  -330,  -330,
-    -330,    54,    57,  -290,  -330,  -330,   305,  -330,   311,  -330,
-     207,  -330,  -330,   298,  -142,  -330,  -103,  -330,  -330,  -330,
-    -330,     4,  -330,   154,   -12,  -330,  -330
+    -351,  -351,   482,    42,  -351,  -351,   360,  -351,   471,  -351,
+    -351,   460,  -351,  -351,  -351,   407,  -351,  -351,  -351,  -351,
+    -351,  -351,   430,  -351,   397,  -351,  -351,  -351,   436,   355,
+    -351,   336,  -351,  -351,   309,  -351,   203,   199,    22,    55,
+    -351,    61,   254,  -351,  -351,   169,  -351,  -351,  -351,    -6,
+    -297,  -299,   -91,  -351,  -109,  -351,   206,  -351,   218,  -153,
+     277,   279,  -351,  -238,  -351,  -143,  -239,  -142,  -350,   -93,
+    -351,  -351,   -27,  -351,  -351,  -351,  -351,   280,  -155,  -351,
+    -351,  -351,   285,  -270,  -351,   153,   147,  -219,  -351,  -351,
+    -351,   150,  -351,  -351,  -351,  -351,   149,  -351,  -351,  -351,
+    -351,  -351,  -351,  -351,  -351,    44,    31,  -351,  -351,  -351,
+    -351,  -351,  -351,  -351,  -351,  -351,  -351,  -351,    47,    52,
+    -294,  -351,  -351,   295,  -351,   286,  -351,   200,  -351,  -351,
+     291,  -141,  -351,  -254,  -351,  -351,  -351,  -351,    20,  -351,
+     145,   -12,  -351,  -351
 };
 
 /* 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, syntax error.  */
-#define YYTABLE_NINF -295
+#define YYTABLE_NINF -303
 static const yytype_int16 yytable[] =
 {
-      20,   129,   274,   185,     7,   216,    20,     7,   376,     7,
-     337,   139,     7,   341,   511,   210,   209,   208,   302,   302,
-     479,   210,   209,    15,   428,    15,    90,    15,    15,    16,
-      15,    53,   398,   400,   401,    15,    16,   137,   404,   405,
-     318,   319,    15,    69,    92,   417,   506,    52,    53,    97,
-     381,   320,    69,     9,   381,    90,   513,    15,   371,    68,
-      91,   513,   320,   433,    52,    12,   207,   513,    68,   212,
-     213,   514,    21,    92,   212,   213,   514,    15,   354,    24,
-     212,   213,   514,   397,   381,    15,    69,   321,   154,    91,
-     346,     1,     2,    15,   179,   180,   447,   412,   321,    48,
-     507,   133,    68,   347,   508,   185,   338,     1,     2,   342,
-     396,    33,    98,   461,   197,   198,   199,    15,   179,   180,
-     128,   200,   201,   373,   155,   -85,   446,   373,   173,   177,
-      17,   128,   174,   186,   189,   128,   485,    22,   216,   421,
-     422,   128,   466,   399,   172,   211,   322,   327,   210,   209,
-     208,   225,   376,   210,   209,   499,   436,   373,   481,   202,
-     154,   344,   217,   318,   319,   128,   245,   159,   521,   515,
-     523,   434,   166,   443,   515,     1,     2,   373,   210,   209,
-     515,   255,   257,   167,   191,   128,   320,    34,   192,    10,
-      49,   241,    10,   181,     3,   242,   155,   254,   256,   207,
-     203,   474,   299,   299,    15,    35,   377,    15,   411,   386,
-       1,     2,   386,     1,     2,   392,   249,   349,   195,    15,
-     250,    25,   321,   160,    36,   128,   300,   303,   233,   233,
-     177,    26,    59,    60,    37,   186,   339,   161,   189,   339,
-      38,   197,   198,   199,    15,   179,   180,    62,   200,   201,
-       1,     2,    27,   350,    28,   289,   330,   333,  -294,   290,
-     331,   334,  -294,    29,   128,   258,   198,   259,    15,   179,
-     180,   260,   200,   201,    15,   179,   180,    41,   211,    39,
-       1,     2,   370,   225,    54,   378,   202,   442,   387,   440,
-     488,   387,    15,   441,   489,    42,   448,   475,     1,     2,
-      55,   492,   519,   522,   219,   493,   493,   522,   225,    61,
-     262,   393,   258,   198,   259,    15,   179,   180,   260,   200,
-     201,   -26,   245,   339,    43,   420,    58,   203,    94,   261,
-       1,     2,   212,   213,   258,   198,   259,    15,   179,   180,
-     260,   200,   201,   305,   306,   220,   482,   237,   238,   483,
-     377,   267,    95,   478,    99,   386,   100,   262,   263,   128,
-     438,   351,   352,   357,   358,   360,   361,   212,   213,   103,
-     104,   497,   498,   264,   459,   460,   450,   135,   450,   262,
-     140,   141,   265,   142,   143,   144,   147,   145,   386,   146,
-     148,   156,   266,   158,   435,   157,   163,   171,   267,   178,
-      15,   190,   193,   195,   194,   246,   218,   268,   252,   296,
-     233,   291,   469,   248,   247,   269,   307,   251,   271,   298,
-     267,   297,   292,   128,   317,   295,   345,   339,   335,   378,
-     294,   355,   356,   364,   387,   363,   368,   372,   388,   380,
-     390,   391,   402,   487,   394,   258,   198,   259,    15,   179,
-     180,   260,   200,   201,   395,   413,   406,   418,   430,   414,
-     415,   419,   261,   437,   416,   429,   424,   387,   444,   462,
-     445,     8,   451,   487,   454,   446,    23,   439,   458,   469,
-     453,   469,   463,   490,   455,   464,   472,   473,   465,   512,
-     262,   263,   258,   198,   259,    15,   179,   180,   260,   200,
-     201,   477,   491,   501,    40,   101,   264,   169,    96,   261,
-     134,    93,   253,   366,   389,   265,   496,   476,   480,   343,
-     520,   409,   379,   367,   495,   266,   328,   494,   329,   196,
-     304,   267,   432,   431,   504,   505,   365,   262,   263,   231,
-     268,   410,   500,   502,   452,   336,     0,   332,   269,   270,
-       0,   271,     0,   264,     0,     0,   128,     0,     0,     0,
-       0,   340,   265,   258,   198,   259,    15,   179,   180,   260,
-     200,   201,   266,     0,     0,     0,     0,     0,   267,     0,
-       0,     0,     0,     0,     0,     0,     0,   268,     0,     0,
-       0,     0,     0,     0,     0,     0,   270,     0,   271,     0,
-       0,     0,     0,   128,     0,     0,     0,   102,   262,   263,
-       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,   103,   104,     0,   264,     0,   105,     0,     0,     0,
-       0,     0,     0,   265,   106,    70,   107,     0,   108,     0,
-       0,     0,     0,   266,     0,     0,     0,     0,   109,   267,
-       0,     0,   110,     0,     0,     0,   111,     0,   268,   112,
-      72,    73,    74,     0,     0,     0,     0,   270,     0,   271,
-     113,    75,     0,     0,   128,   114,    76,   115,    77,   116,
-       0,     0,     0,     0,     0,     0,    78,    15,   117,   118,
-       0,     0,     0,     1,     2,    79,     0,    80,     0,     0,
-       0,     0,    81,   119,    82,    83,    84,    70,     0,     0,
-       0,     0,     0,     0,     0,     0,   120,     0,     0,     0,
-       0,     0,    71,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,    72,    73,    74,     0,     0,     0,     0,     0,
-       0,     0,     0,    75,     0,     0,     0,     0,    76,     0,
-      77,     0,     0,     0,     0,     0,     0,     0,    78,     0,
-       0,     0,     0,     0,     0,     0,     0,    79,     0,    80,
-     103,   104,     0,     0,    81,   105,    82,    83,    84,   226,
-       0,     0,     0,   106,    70,   107,     0,   108,   227,     0,
-       0,     0,     0,     0,     0,     0,     0,   109,     0,     0,
-       0,   110,     0,     0,     0,   111,     0,     0,   112,    72,
-      73,    74,     0,     0,     0,     0,     0,   228,     0,   113,
-      75,     0,     0,     0,   114,    76,   115,    77,   116,     0,
-       0,     0,     0,     0,     0,    78,     0,   117,   118,   229,
-     230,     0,     0,     0,    79,     0,    80,     1,     2,     0,
-       0,    81,   119,    82,    83,    84,     0,     0,     0,     0,
-     149,    70,   107,     0,   108,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,   109,     0,     0,     0,   150,     0,
-       0,     0,   111,     0,     0,   112,    72,    73,    74,     0,
-       0,     0,     0,     0,     0,     0,   151,    75,     0,     0,
-       0,   114,    76,   115,    77,   116,     0,     0,     0,     0,
-       0,     0,    78,     0,   117,   118,     0,     0,     0,     0,
-       0,    79,     0,    80,     0,     0,     0,     0,    81,   119,
-      82,    83,    84
+      20,   129,   358,   382,   185,   216,    20,   428,   510,   342,
+     235,   139,   346,    15,   208,   209,   210,     1,     2,    15,
+       7,   209,   210,     7,    15,     7,   137,   154,     7,    90,
+      15,    53,   368,   402,   404,   405,    15,    15,    16,   408,
+     409,   323,   324,    69,    92,   369,   386,    10,    53,   477,
+      10,    97,    69,   325,   512,   159,    15,   512,    90,     9,
+      15,    16,   377,    52,   512,    15,   207,   212,   213,   513,
+     212,   213,   513,    92,   267,    68,    91,   212,   213,   513,
+      52,   322,   166,   386,    68,    21,    69,   401,    15,   326,
+    -252,    12,   386,   167,     1,     2,    24,   448,   304,   154,
+     233,   416,    48,  -252,     3,    91,   185,   343,   351,   128,
+     347,   160,   354,   461,    98,    33,    15,   133,    68,   379,
+     447,   -85,     1,     2,   483,   161,   174,   128,   173,   177,
+     379,   421,   498,   186,   189,    34,   465,   191,   128,    17,
+     155,   192,   128,   216,   382,   211,   327,   332,   433,   505,
+     325,   225,   208,   209,   210,   479,   379,    35,   209,   210,
+     172,   349,    22,    36,   128,   379,   245,   514,   522,   -26,
+     514,   520,    43,   128,    15,   179,   180,   514,   217,    59,
+      60,   255,   257,   209,   210,    37,   326,   197,   198,   199,
+      15,   179,   180,    49,   200,   201,   480,    41,   371,   481,
+     422,   494,   473,   506,   207,    38,   241,   507,    54,    15,
+     242,   383,   155,   254,   256,     1,     2,   249,   521,    39,
+     397,   250,   521,   323,   324,   294,   352,   267,    15,   295,
+     177,   403,   202,   335,    55,   186,   344,   336,   189,   344,
+     197,   198,   199,    15,   179,   180,   325,   200,   201,     1,
+       2,   308,    62,   233,   353,     1,     2,   258,   198,   259,
+      15,   179,   180,   260,   200,   201,    25,     1,     2,   212,
+     213,    15,   415,   203,   181,   338,    26,     1,     2,   339,
+     442,    42,   326,   211,   443,   202,    58,   376,   225,    61,
+     384,   195,   392,   444,   237,   238,   392,    27,   128,    28,
+     474,   449,   262,   219,    94,   486,   102,   490,    29,   487,
+     518,   491,    95,   225,   491,   493,    99,   436,  -302,   100,
+     103,   104,  -302,   135,   128,   105,   203,   245,   344,   355,
+     356,   128,   398,   106,    70,   107,   140,   108,   141,    15,
+     179,   180,   142,   268,   220,     1,     2,   109,   361,   362,
+     143,   110,   383,   144,   476,   111,   212,   213,   112,    72,
+      73,    74,   364,   365,   103,   104,   440,   459,   460,   113,
+      75,   496,   497,   147,   114,    76,   115,    77,   116,   307,
+     307,   451,   145,   451,   146,    78,   148,   117,   118,   156,
+     157,   158,   163,   171,    79,   178,    80,   190,    15,   195,
+     193,    81,   119,    82,    83,    84,   194,   218,   233,   246,
+     247,   252,   468,   248,   251,   120,   300,   258,   198,   259,
+      15,   179,   180,   260,   200,   201,   296,   297,   299,   344,
+     302,   384,   303,   301,   261,   392,   340,   350,   359,   367,
+     360,   374,   393,   378,   485,   395,   396,   406,   310,   311,
+     399,   400,   410,   417,   430,   418,   419,   420,   424,   429,
+     435,   439,   262,   263,   445,   392,   446,   452,   434,   462,
+     454,   485,   264,   441,   447,   455,   463,   468,   265,   468,
+     464,   471,   488,   456,   489,     8,   472,   266,   511,    23,
+     500,    40,   101,   169,    96,   134,    93,   267,   372,   495,
+     231,   253,   478,   268,   475,   413,   348,   394,   519,   385,
+     309,   196,   269,   432,   373,   333,   431,   334,   315,   438,
+     270,   312,   504,   272,   258,   198,   259,    15,   179,   180,
+     260,   200,   201,   503,   501,   499,   345,   337,   341,   414,
+     453,   261,     0,     0,     0,   258,   198,   259,    15,   179,
+     180,   260,   200,   201,     0,     0,     0,     0,     0,     0,
+       0,     0,   261,     0,     0,     0,     0,     0,     0,   262,
+     263,     0,     0,     0,     0,     0,     0,     0,     0,   264,
+       0,     0,     0,     0,     0,   265,     0,     0,     0,     0,
+     262,   263,     0,     0,   266,     0,     0,     0,     0,     0,
+     264,     0,     0,     0,   267,     0,   265,     0,     0,     0,
+     268,     0,     0,     0,     0,   266,     0,     0,     0,   269,
+       0,     0,     0,     0,     0,   267,     0,   270,   271,     0,
+     272,   268,     0,     0,     0,     0,     0,     0,     0,     0,
+     269,     0,     0,     0,     0,     0,     0,     0,     0,   271,
+       0,   272,   258,   198,   259,    15,   179,   180,   260,   200,
+     201,     0,     0,     0,    15,     0,     0,     0,     0,     0,
+       1,     2,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,    70,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,   262,   263,    71,
+       0,     0,     0,     0,     0,     0,     0,   264,     0,    72,
+      73,    74,     0,   265,     0,     0,     0,     0,     0,     0,
+      75,     0,   266,     0,     0,    76,     0,    77,     0,     0,
+       0,     0,   267,     0,     0,    78,     0,     0,   268,     0,
+       0,     0,     0,     0,    79,     0,    80,   269,     0,     0,
+       0,    81,     0,    82,    83,    84,   271,     0,   272,   103,
+     104,     0,     0,     0,   105,     0,     0,     0,   226,     0,
+       0,     0,   106,    70,   107,     0,   108,   227,     0,     0,
+       0,     0,     0,     0,     0,     0,   109,     0,     0,     0,
+     110,     0,     0,     0,   111,     0,     0,   112,    72,    73,
+      74,     0,     0,     0,     0,     0,   228,     0,   113,    75,
+       0,     0,     0,   114,    76,   115,    77,   116,     0,     0,
+       0,     0,     0,     0,    78,     0,   117,   118,   229,   230,
+       0,     0,     0,    79,     0,    80,     1,     2,     0,     0,
+      81,   119,    82,    83,    84,     0,     0,     0,     0,   149,
+      70,   107,     0,   108,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,   109,     0,     0,     0,   150,     0,     0,
+       0,   111,     0,     0,   112,    72,    73,    74,     0,     0,
+       0,     0,     0,     0,     0,   151,    75,     0,     0,     0,
+     114,    76,   115,    77,   116,     0,     0,     0,     0,     0,
+       0,    78,     0,   117,   118,     0,     0,     0,     0,     0,
+      79,     0,    80,     0,     0,     0,     0,    81,   119,    82,
+      83,    84
 };
 
 static const yytype_int16 yycheck[] =
 {
-      12,    92,   195,   145,     0,   158,    18,     3,   297,     5,
-     248,   102,     8,   251,     5,   157,   157,   157,   229,   230,
-       4,   163,   163,    11,   353,    11,    56,    11,    11,    12,
-      11,    43,   322,   323,   324,    11,    12,    36,   328,   329,
-      18,    19,    11,    55,    56,   345,    23,    43,    60,    54,
-      38,    41,    64,     0,    38,    85,     6,    11,   295,    55,
-      56,     6,    41,   363,    60,   112,   157,     6,    64,    19,
-      20,    21,    42,    85,    19,    20,    21,    11,   271,   114,
-      19,    20,    21,   320,    38,    11,    98,    77,   120,    85,
-     110,    17,    18,    11,    12,    13,   386,   335,    77,    25,
-      77,    97,    98,   123,    81,   247,   248,    17,    18,   251,
-     317,    12,   117,   403,     8,     9,    10,    11,    12,    13,
-     119,    15,    16,   111,   120,   113,   117,   111,   140,   141,
-     113,   119,   113,   145,   146,   119,   122,   113,   291,   348,
-     351,   119,   111,   122,   140,   157,   237,   238,   290,   290,
-     290,   163,   441,   295,   295,   484,   365,   111,   448,    53,
-     192,   252,   158,    18,    19,   119,   178,    27,   113,   119,
-     120,   364,    49,   380,   119,    17,    18,   111,   320,   320,
-     119,   193,   194,    60,   113,   119,    41,    65,   117,     5,
-     116,   113,     8,   111,   104,   117,   192,   193,   194,   290,
-      94,   439,    88,    88,    11,    92,   297,    11,    12,   300,
-      17,    18,   303,    17,    18,   306,   113,     9,   112,    11,
-     117,    18,    77,    83,    92,   119,   112,   112,   114,   114,
-     242,    28,   116,   117,    61,   247,   248,    97,   250,   251,
-      92,     8,     9,    10,    11,    12,    13,    54,    15,    16,
-      17,    18,    49,   265,    51,   113,   113,   113,   113,   117,
-     117,   117,   117,    60,   119,     8,     9,    10,    11,    12,
-      13,    14,    15,    16,    11,    12,    13,   115,   290,     3,
-      17,    18,   294,   295,    47,   297,    53,   378,   300,   113,
-     113,   303,    11,   117,   117,    29,   387,   439,    17,    18,
-      62,   113,   113,   516,    71,   117,   117,   520,   320,   112,
-      53,   307,     8,     9,    10,    11,    12,    13,    14,    15,
-      16,    47,   334,   335,    50,    68,   116,    94,   113,    25,
-      17,    18,    19,    20,     8,     9,    10,    11,    12,    13,
-      14,    15,    16,    39,    40,   112,   449,    19,    20,   452,
-     441,    94,   116,   444,   112,   446,    18,    53,    54,   119,
-     372,    37,    38,   108,   109,   106,   107,    19,    20,    17,
-      18,   482,   483,    69,    19,    20,   388,   113,   390,    53,
-     122,   112,    78,    89,    89,    79,    59,   112,   479,   112,
-      89,     3,    88,   122,    68,   112,     3,   112,    94,   112,
-      11,    89,   118,   112,   118,   113,    12,   103,     3,    43,
-     114,   122,   424,   114,   117,   111,   112,   114,   114,    76,
-      94,   112,   120,   119,   114,   118,   105,   439,   114,   441,
-     122,   113,   117,   114,   446,   105,     7,    33,    76,   114,
-      76,    33,    96,   455,   115,     8,     9,    10,    11,    12,
-      13,    14,    15,    16,   112,   115,   103,   123,   111,   115,
-     115,   110,    25,     7,   115,   115,   112,   479,    76,    90,
-     113,     3,   113,   485,   113,   117,    18,   121,   115,   491,
-     112,   493,   115,   112,   124,   115,   117,   115,   123,   501,
-      53,    54,     8,     9,    10,    11,    12,    13,    14,    15,
-      16,   115,   117,   122,    31,    85,    69,   133,    64,    25,
-      98,    60,   192,   290,   303,    78,   479,   441,   446,   252,
-     515,   331,   298,   291,   472,    88,   238,   471,   238,   156,
-     230,    94,   362,   359,   491,   493,   282,    53,    54,   164,
-     103,   334,   485,   489,   390,   247,    -1,   242,   111,   112,
-      -1,   114,    -1,    69,    -1,    -1,   119,    -1,    -1,    -1,
-      -1,   250,    78,     8,     9,    10,    11,    12,    13,    14,
-      15,    16,    88,    -1,    -1,    -1,    -1,    -1,    94,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,   103,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,   112,    -1,   114,    -1,
-      -1,    -1,    -1,   119,    -1,    -1,    -1,     3,    53,    54,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    17,    18,    -1,    69,    -1,    22,    -1,    -1,    -1,
-      -1,    -1,    -1,    78,    30,    31,    32,    -1,    34,    -1,
-      -1,    -1,    -1,    88,    -1,    -1,    -1,    -1,    44,    94,
-      -1,    -1,    48,    -1,    -1,    -1,    52,    -1,   103,    55,
-      56,    57,    58,    -1,    -1,    -1,    -1,   112,    -1,   114,
-      66,    67,    -1,    -1,   119,    71,    72,    73,    74,    75,
-      -1,    -1,    -1,    -1,    -1,    -1,    82,    11,    84,    85,
-      -1,    -1,    -1,    17,    18,    91,    -1,    93,    -1,    -1,
-      -1,    -1,    98,    99,   100,   101,   102,    31,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,   112,    -1,    -1,    -1,
-      -1,    -1,    46,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    56,    57,    58,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    67,    -1,    -1,    -1,    -1,    72,    -1,
-      74,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    82,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,    91,    -1,    93,
-      17,    18,    -1,    -1,    98,    22,   100,   101,   102,    26,
-      -1,    -1,    -1,    30,    31,    32,    -1,    34,    35,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,    44,    -1,    -1,
-      -1,    48,    -1,    -1,    -1,    52,    -1,    -1,    55,    56,
-      57,    58,    -1,    -1,    -1,    -1,    -1,    64,    -1,    66,
-      67,    -1,    -1,    -1,    71,    72,    73,    74,    75,    -1,
-      -1,    -1,    -1,    -1,    -1,    82,    -1,    84,    85,    86,
-      87,    -1,    -1,    -1,    91,    -1,    93,    17,    18,    -1,
-      -1,    98,    99,   100,   101,   102,    -1,    -1,    -1,    -1,
-      30,    31,    32,    -1,    34,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    44,    -1,    -1,    -1,    48,    -1,
-      -1,    -1,    52,    -1,    -1,    55,    56,    57,    58,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    66,    67,    -1,    -1,
-      -1,    71,    72,    73,    74,    75,    -1,    -1,    -1,    -1,
-      -1,    -1,    82,    -1,    84,    85,    -1,    -1,    -1,    -1,
-      -1,    91,    -1,    93,    -1,    -1,    -1,    -1,    98,    99,
-     100,   101,   102
+      12,    92,   272,   302,   145,   158,    18,   357,     5,   248,
+     165,   102,   251,    11,   157,   157,   157,    17,    18,    11,
+       0,   163,   163,     3,    11,     5,    36,   120,     8,    56,
+      11,    43,   110,   327,   328,   329,    11,    11,    12,   333,
+     334,    18,    19,    55,    56,   123,    38,     5,    60,     4,
+       8,    54,    64,    41,     6,    27,    11,     6,    85,     0,
+      11,    12,   300,    43,     6,    11,   157,    19,    20,    21,
+      19,    20,    21,    85,    88,    55,    56,    19,    20,    21,
+      60,   236,    49,    38,    64,    42,    98,   325,    11,    77,
+     110,   112,    38,    60,    17,    18,   114,   391,   112,   192,
+     114,   340,    25,   123,   104,    85,   247,   248,   263,   119,
+     251,    83,   267,   407,   117,    12,    11,    97,    98,   111,
+     117,   113,    17,    18,   122,    97,   113,   119,   140,   141,
+     111,   350,   482,   145,   146,    65,   111,   113,   119,   113,
+     120,   117,   119,   296,   443,   157,   237,   238,   367,    23,
+      41,   163,   295,   295,   295,   449,   111,    92,   300,   300,
+     140,   252,   113,    92,   119,   111,   178,   119,   120,    47,
+     119,   113,    50,   119,    11,    12,    13,   119,   158,   116,
+     117,   193,   194,   325,   325,    61,    77,     8,     9,    10,
+      11,    12,    13,   116,    15,    16,   450,   115,   289,   453,
+     355,   471,   441,    77,   295,    92,   113,    81,    47,    11,
+     117,   302,   192,   193,   194,    17,    18,   113,   515,     3,
+     311,   117,   519,    18,    19,   113,     9,    88,    11,   117,
+     242,   122,    53,   113,    62,   247,   248,   117,   250,   251,
+       8,     9,    10,    11,    12,    13,    41,    15,    16,    17,
+      18,   112,    54,   114,   266,    17,    18,     8,     9,    10,
+      11,    12,    13,    14,    15,    16,    18,    17,    18,    19,
+      20,    11,    12,    94,   111,   113,    28,    17,    18,   117,
+     113,    29,    77,   295,   117,    53,   116,   299,   300,   112,
+     302,   112,   304,   384,    19,    20,   308,    49,   119,    51,
+     441,   392,    53,    71,   113,   113,     3,   113,    60,   117,
+     113,   117,   116,   325,   117,   470,   112,    68,   113,    18,
+      17,    18,   117,   113,   119,    22,    94,   339,   340,    37,
+      38,   119,   312,    30,    31,    32,   122,    34,   112,    11,
+      12,    13,    89,    94,   112,    17,    18,    44,   108,   109,
+      89,    48,   443,    79,   445,    52,    19,    20,    55,    56,
+      57,    58,   106,   107,    17,    18,   378,    19,    20,    66,
+      67,   480,   481,    59,    71,    72,    73,    74,    75,   229,
+     230,   393,   112,   395,   112,    82,    89,    84,    85,     3,
+     112,   122,     3,   112,    91,   112,    93,    89,    11,   112,
+     118,    98,    99,   100,   101,   102,   118,    12,   114,   113,
+     117,     3,   424,   114,   114,   112,   118,     8,     9,    10,
+      11,    12,    13,    14,    15,    16,   122,   120,   122,   441,
+     112,   443,    76,    43,    25,   447,   114,   105,   113,   105,
+     117,     7,    76,    33,   456,    76,    33,    96,    39,    40,
+     115,   112,   103,   115,   111,   115,   115,   115,   112,   115,
+     110,     7,    53,    54,    76,   477,   113,   113,   123,    90,
+     112,   483,    63,   121,   117,   113,   115,   489,    69,   491,
+     115,   117,   112,   124,   117,     3,   123,    78,   500,    18,
+     122,    31,    85,   133,    64,    98,    60,    88,   295,   477,
+     164,   192,   447,    94,   443,   336,   252,   308,   514,   303,
+     230,   156,   103,   366,   296,   238,   363,   238,   233,   370,
+     111,   112,   491,   114,     8,     9,    10,    11,    12,    13,
+      14,    15,    16,   489,   487,   483,   250,   242,   247,   339,
+     395,    25,    -1,    -1,    -1,     8,     9,    10,    11,    12,
+      13,    14,    15,    16,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    25,    -1,    -1,    -1,    -1,    -1,    -1,    53,
+      54,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    63,
+      -1,    -1,    -1,    -1,    -1,    69,    -1,    -1,    -1,    -1,
+      53,    54,    -1,    -1,    78,    -1,    -1,    -1,    -1,    -1,
+      63,    -1,    -1,    -1,    88,    -1,    69,    -1,    -1,    -1,
+      94,    -1,    -1,    -1,    -1,    78,    -1,    -1,    -1,   103,
+      -1,    -1,    -1,    -1,    -1,    88,    -1,   111,   112,    -1,
+     114,    94,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+     103,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   112,
+      -1,   114,     8,     9,    10,    11,    12,    13,    14,    15,
+      16,    -1,    -1,    -1,    11,    -1,    -1,    -1,    -1,    -1,
+      17,    18,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    31,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    53,    54,    46,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    63,    -1,    56,
+      57,    58,    -1,    69,    -1,    -1,    -1,    -1,    -1,    -1,
+      67,    -1,    78,    -1,    -1,    72,    -1,    74,    -1,    -1,
+      -1,    -1,    88,    -1,    -1,    82,    -1,    -1,    94,    -1,
+      -1,    -1,    -1,    -1,    91,    -1,    93,   103,    -1,    -1,
+      -1,    98,    -1,   100,   101,   102,   112,    -1,   114,    17,
+      18,    -1,    -1,    -1,    22,    -1,    -1,    -1,    26,    -1,
+      -1,    -1,    30,    31,    32,    -1,    34,    35,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    44,    -1,    -1,    -1,
+      48,    -1,    -1,    -1,    52,    -1,    -1,    55,    56,    57,
+      58,    -1,    -1,    -1,    -1,    -1,    64,    -1,    66,    67,
+      -1,    -1,    -1,    71,    72,    73,    74,    75,    -1,    -1,
+      -1,    -1,    -1,    -1,    82,    -1,    84,    85,    86,    87,
+      -1,    -1,    -1,    91,    -1,    93,    17,    18,    -1,    -1,
+      98,    99,   100,   101,   102,    -1,    -1,    -1,    -1,    30,
+      31,    32,    -1,    34,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    44,    -1,    -1,    -1,    48,    -1,    -1,
+      -1,    52,    -1,    -1,    55,    56,    57,    58,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,    66,    67,    -1,    -1,    -1,
+      71,    72,    73,    74,    75,    -1,    -1,    -1,    -1,    -1,
+      -1,    82,    -1,    84,    85,    -1,    -1,    -1,    -1,    -1,
+      91,    -1,    93,    -1,    -1,    -1,    -1,    98,    99,   100,
+     101,   102
 };
 
 /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
    symbol of state STATE-NUM.  */
 static const yytype_uint16 yystos[] =
 {
-       0,    17,    18,   104,   126,   127,   128,   256,   127,     0,
+       0,    17,    18,   104,   126,   127,   128,   263,   127,     0,
      128,   129,   112,   130,   131,    11,    12,   113,   132,   133,
-     259,    42,   113,   133,   114,    18,    28,    49,    51,    60,
+     266,    42,   113,   133,   114,    18,    28,    49,    51,    60,
      134,   135,   136,    12,    65,    92,    92,    61,    92,     3,
      136,   115,    29,    50,   137,   138,   150,   151,    25,   116,
-     152,   153,   256,   259,    47,    62,   142,   143,   116,   116,
-     117,   112,    54,   144,   145,   147,   148,   149,   256,   259,
+     152,   153,   263,   266,    47,    62,   142,   143,   116,   116,
+     117,   112,    54,   144,   145,   147,   148,   149,   263,   266,
       31,    46,    56,    57,    58,    67,    72,    74,    82,    91,
       93,    98,   100,   101,   102,   139,   140,   155,   157,   187,
-     197,   256,   259,   153,   113,   116,   147,    54,   117,   112,
+     197,   263,   266,   153,   113,   116,   147,    54,   117,   112,
       18,   140,     3,    17,    18,    22,    30,    32,    34,    44,
       48,    52,    55,    66,    71,    73,    75,    84,    85,    99,
-     112,   156,   181,   194,   195,   196,   197,   257,   119,   177,
-     251,   252,   253,   256,   149,   113,   141,    36,   167,   177,
+     112,   156,   181,   194,   195,   196,   197,   264,   119,   177,
+     258,   259,   260,   263,   149,   113,   141,    36,   167,   177,
      122,   112,    89,    89,    79,   112,   112,    59,    89,    30,
-      48,    66,   158,   159,   194,   256,     3,   112,   122,    27,
-      83,    97,   254,     3,   178,   179,    49,    60,   255,   131,
-     146,   112,   256,   259,   113,   240,   241,   259,   112,    12,
-      13,   111,   246,   247,   248,   249,   259,   242,   243,   259,
+      48,    66,   158,   159,   194,   263,     3,   112,   122,    27,
+      83,    97,   261,     3,   178,   179,    49,    60,   262,   131,
+     146,   112,   263,   266,   113,   247,   248,   266,   112,    12,
+      13,   111,   253,   254,   255,   256,   266,   249,   250,   266,
       89,   113,   117,   118,   118,   112,   154,     8,     9,    10,
       15,    16,    53,    94,   154,   160,   161,   177,   190,   192,
-     249,   259,    19,    20,   182,   183,   184,   256,    12,    71,
-     112,   188,   190,   191,   256,   259,    26,    35,    64,    86,
-      87,   156,   180,   114,   200,   202,   203,    19,    20,   169,
-     170,   113,   117,   244,   245,   259,   113,   117,   114,   113,
-     117,   114,     3,   159,   256,   259,   256,   259,     8,    10,
-      14,    25,    53,    54,    69,    78,    88,    94,   103,   111,
-     112,   114,   177,   192,   206,   207,   208,   209,   210,   211,
-     213,   214,   215,   216,   217,   218,   249,   250,   259,   113,
-     117,   122,   120,   189,   122,   118,    43,   112,    76,    88,
-     112,   201,   202,   112,   201,    39,    40,   112,   204,   205,
-     206,   227,   228,   230,   232,   233,   234,   114,    18,    19,
-      41,    77,   177,   185,   186,   238,   239,   177,   185,   186,
-     113,   117,   241,   113,   117,   114,   248,   191,   249,   259,
-     243,   191,   249,   167,   177,   105,   110,   123,   231,     9,
-     259,    37,    38,   212,   206,   113,   117,   108,   109,   198,
-     106,   107,   199,   105,   114,   231,   161,   183,     7,   193,
-     259,   188,    33,   111,   165,   166,   176,   177,   259,   181,
-     114,    38,   162,   163,   164,   176,   177,   259,    76,   162,
-      76,    33,   177,   256,   115,   112,   204,   188,   238,   122,
-     238,   238,    96,   168,   238,   238,   103,   171,   172,   170,
-     245,    12,   191,   115,   115,   115,   115,   211,   123,   110,
-      68,   215,   202,   219,   112,   220,   221,   222,   193,   115,
-     111,   209,   210,   211,   206,    68,   215,     7,   259,   121,
-     113,   117,   177,   204,    76,   113,   117,   238,   177,   258,
-     259,   113,   258,   112,   113,   124,   235,   236,   115,    19,
-      20,   238,    90,   115,   115,   123,   111,   223,   224,   259,
-     260,   261,   117,   115,   191,   249,   166,   115,   177,     4,
-     164,   238,   251,   251,   229,   122,   237,   259,   113,   117,
-     112,   117,   113,   117,   200,   207,   163,   179,   179,   193,
-     237,   122,   236,   173,   223,   224,    23,    77,    81,   225,
-     226,     5,   259,     6,    21,   119,   174,   175,   184,   113,
-     174,   113,   175,   120
+     256,   266,    19,    20,   182,   183,   184,   263,    12,    71,
+     112,   188,   190,   191,   263,   266,    26,    35,    64,    86,
+      87,   156,   180,   114,   201,   203,   204,    19,    20,   169,
+     170,   113,   117,   251,   252,   266,   113,   117,   114,   113,
+     117,   114,     3,   159,   263,   266,   263,   266,     8,    10,
+      14,    25,    53,    54,    63,    69,    78,    88,    94,   103,
+     111,   112,   114,   192,   207,   208,   209,   210,   211,   212,
+     213,   215,   216,   217,   218,   219,   221,   222,   223,   224,
+     225,   256,   257,   266,   113,   117,   122,   120,   189,   122,
+     118,    43,   112,    76,   112,   202,   203,   216,   112,   202,
+      39,    40,   112,   205,   206,   207,   234,   235,   237,   239,
+     240,   241,   203,    18,    19,    41,    77,   177,   185,   186,
+     245,   246,   177,   185,   186,   113,   117,   248,   113,   117,
+     114,   255,   191,   256,   266,   250,   191,   256,   167,   177,
+     105,   203,     9,   266,   203,    37,    38,   214,   208,   113,
+     117,   108,   109,   198,   106,   107,   199,   105,   110,   123,
+     238,   177,   161,   183,     7,   193,   266,   188,    33,   111,
+     165,   166,   176,   177,   266,   181,    38,   162,   163,   164,
+     176,   177,   266,    76,   162,    76,    33,   177,   263,   115,
+     112,   188,   245,   122,   245,   245,    96,   168,   245,   245,
+     103,   171,   172,   170,   252,    12,   191,   115,   115,   115,
+     115,   212,   203,   226,   112,   227,   228,   229,   193,   115,
+     111,   210,   211,   212,   123,   110,    68,   220,   221,     7,
+     266,   121,   113,   117,   177,    76,   113,   117,   245,   177,
+     265,   266,   113,   265,   112,   113,   124,   242,   243,    19,
+      20,   245,    90,   115,   115,   111,   230,   231,   266,   267,
+     268,   117,   123,   191,   256,   166,   177,     4,   164,   245,
+     258,   258,   236,   122,   244,   266,   113,   117,   112,   117,
+     113,   117,   200,   203,   208,   163,   179,   179,   193,   244,
+     122,   243,   173,   230,   231,    23,    77,    81,   232,   233,
+       5,   266,     6,    21,   119,   174,   175,   184,   113,   174,
+     113,   175,   120
 };
 
 #define yyerrok		(yyerrstatus = 0)
@@ -2311,21 +2343,21 @@
   switch (yyn)
     {
         case 2:
-#line 378 "asn1p_y.y"
+#line 410 "asn1p_y.y"
     {
 		*(void **)param = (yyvsp[(2) - (2)].a_grammar);
 	}
     break;
 
   case 3:
-#line 381 "asn1p_y.y"
+#line 413 "asn1p_y.y"
     {
 		*(void **)param = (yyvsp[(1) - (1)].a_grammar);
 	}
     break;
 
   case 4:
-#line 387 "asn1p_y.y"
+#line 419 "asn1p_y.y"
     {
 		(yyval.a_grammar) = asn1p_new();
 		checkmem((yyval.a_grammar));
@@ -2334,7 +2366,7 @@
     break;
 
   case 5:
-#line 392 "asn1p_y.y"
+#line 424 "asn1p_y.y"
     {
 		(yyval.a_grammar) = (yyvsp[(1) - (2)].a_grammar);
 		TQ_ADD(&((yyval.a_grammar)->modules), (yyvsp[(2) - (2)].a_module), mod_next);
@@ -2342,12 +2374,12 @@
     break;
 
   case 6:
-#line 409 "asn1p_y.y"
+#line 441 "asn1p_y.y"
     { currentModule = asn1p_module_new(); }
     break;
 
   case 7:
-#line 414 "asn1p_y.y"
+#line 446 "asn1p_y.y"
     {
 
 		(yyval.a_module) = currentModule;
@@ -2368,31 +2400,31 @@
     break;
 
   case 8:
-#line 438 "asn1p_y.y"
+#line 470 "asn1p_y.y"
     { (yyval.a_oid) = 0; }
     break;
 
   case 9:
-#line 439 "asn1p_y.y"
+#line 471 "asn1p_y.y"
     { (yyval.a_oid) = (yyvsp[(1) - (1)].a_oid); }
     break;
 
   case 10:
-#line 443 "asn1p_y.y"
+#line 475 "asn1p_y.y"
     {
 		(yyval.a_oid) = (yyvsp[(2) - (3)].a_oid);
 	}
     break;
 
   case 11:
-#line 446 "asn1p_y.y"
+#line 478 "asn1p_y.y"
     {
 		(yyval.a_oid) = 0;
 	}
     break;
 
   case 12:
-#line 452 "asn1p_y.y"
+#line 484 "asn1p_y.y"
     {
 		(yyval.a_oid) = asn1p_oid_new();
 		asn1p_oid_add_arc((yyval.a_oid), &(yyvsp[(1) - (1)].a_oid_arc));
@@ -2402,7 +2434,7 @@
     break;
 
   case 13:
-#line 458 "asn1p_y.y"
+#line 490 "asn1p_y.y"
     {
 		(yyval.a_oid) = (yyvsp[(1) - (2)].a_oid);
 		asn1p_oid_add_arc((yyval.a_oid), &(yyvsp[(2) - (2)].a_oid_arc));
@@ -2412,7 +2444,7 @@
     break;
 
   case 14:
-#line 467 "asn1p_y.y"
+#line 499 "asn1p_y.y"
     {					/* iso */
 		(yyval.a_oid_arc).name = (yyvsp[(1) - (1)].tv_str);
 		(yyval.a_oid_arc).number = -1;
@@ -2420,7 +2452,7 @@
     break;
 
   case 15:
-#line 471 "asn1p_y.y"
+#line 503 "asn1p_y.y"
     {		/* iso(1) */
 		(yyval.a_oid_arc).name = (yyvsp[(1) - (4)].tv_str);
 		(yyval.a_oid_arc).number = (yyvsp[(3) - (4)].a_int);
@@ -2428,7 +2460,7 @@
     break;
 
   case 16:
-#line 475 "asn1p_y.y"
+#line 507 "asn1p_y.y"
     {					/* 1 */
 		(yyval.a_oid_arc).name = 0;
 		(yyval.a_oid_arc).number = (yyvsp[(1) - (1)].a_int);
@@ -2436,61 +2468,61 @@
     break;
 
   case 17:
-#line 485 "asn1p_y.y"
+#line 517 "asn1p_y.y"
     { (yyval.a_module_flags) = MSF_NOFLAGS; }
     break;
 
   case 18:
-#line 486 "asn1p_y.y"
+#line 518 "asn1p_y.y"
     {
 		(yyval.a_module_flags) = (yyvsp[(1) - (1)].a_module_flags);
 	}
     break;
 
   case 19:
-#line 495 "asn1p_y.y"
+#line 527 "asn1p_y.y"
     {
 		(yyval.a_module_flags) = (yyvsp[(1) - (1)].a_module_flags);
 	}
     break;
 
   case 20:
-#line 498 "asn1p_y.y"
+#line 530 "asn1p_y.y"
     {
 		(yyval.a_module_flags) = (yyvsp[(1) - (2)].a_module_flags) | (yyvsp[(2) - (2)].a_module_flags);
 	}
     break;
 
   case 21:
-#line 507 "asn1p_y.y"
+#line 539 "asn1p_y.y"
     {
 		(yyval.a_module_flags) = MSF_EXPLICIT_TAGS;
 	}
     break;
 
   case 22:
-#line 510 "asn1p_y.y"
+#line 542 "asn1p_y.y"
     {
 		(yyval.a_module_flags) = MSF_IMPLICIT_TAGS;
 	}
     break;
 
   case 23:
-#line 513 "asn1p_y.y"
+#line 545 "asn1p_y.y"
     {
 		(yyval.a_module_flags) = MSF_AUTOMATIC_TAGS;
 	}
     break;
 
   case 24:
-#line 516 "asn1p_y.y"
+#line 548 "asn1p_y.y"
     {
 		(yyval.a_module_flags) = MSF_EXTENSIBILITY_IMPLIED;
 	}
     break;
 
   case 25:
-#line 520 "asn1p_y.y"
+#line 552 "asn1p_y.y"
     {
 		/* X.680Amd1 specifies TAG and XER */
 		if(strcmp((yyvsp[(1) - (2)].tv_str), "TAG") == 0) {
@@ -2509,19 +2541,19 @@
     break;
 
   case 26:
-#line 541 "asn1p_y.y"
+#line 573 "asn1p_y.y"
     { (yyval.a_module) = 0; }
     break;
 
   case 27:
-#line 542 "asn1p_y.y"
+#line 574 "asn1p_y.y"
     {
 		(yyval.a_module) = (yyvsp[(1) - (1)].a_module);
 	}
     break;
 
   case 28:
-#line 551 "asn1p_y.y"
+#line 583 "asn1p_y.y"
     {
 		(yyval.a_module) = asn1p_module_new();
 		AL_IMPORT((yyval.a_module), exports, (yyvsp[(1) - (3)].a_module), xp_next);
@@ -2535,14 +2567,14 @@
     break;
 
   case 29:
-#line 564 "asn1p_y.y"
+#line 596 "asn1p_y.y"
     {
 		(yyval.a_module) = (yyvsp[(1) - (1)].a_module);
 	}
     break;
 
   case 30:
-#line 567 "asn1p_y.y"
+#line 599 "asn1p_y.y"
     {
 		if((yyvsp[(1) - (2)].a_module)) {
 			(yyval.a_module) = (yyvsp[(1) - (2)].a_module);
@@ -2556,7 +2588,7 @@
     break;
 
   case 31:
-#line 584 "asn1p_y.y"
+#line 616 "asn1p_y.y"
     {
 		(yyval.a_module) = asn1p_module_new();
 		checkmem((yyval.a_module));
@@ -2567,7 +2599,7 @@
     break;
 
   case 32:
-#line 591 "asn1p_y.y"
+#line 623 "asn1p_y.y"
     {
 		(yyval.a_module) = asn1p_module_new();
 		checkmem((yyval.a_module));
@@ -2578,7 +2610,7 @@
     break;
 
   case 33:
-#line 605 "asn1p_y.y"
+#line 637 "asn1p_y.y"
     {
 		(yyval.a_module) = asn1p_module_new();
 		checkmem((yyval.a_module));
@@ -2589,12 +2621,12 @@
     break;
 
   case 34:
-#line 613 "asn1p_y.y"
+#line 645 "asn1p_y.y"
     { asn1p_lexer_hack_push_encoding_control(); }
     break;
 
   case 35:
-#line 614 "asn1p_y.y"
+#line 646 "asn1p_y.y"
     {
 		fprintf(stderr,
 			"WARNING: ENCODING-CONTROL %s "
@@ -2606,7 +2638,7 @@
     break;
 
   case 36:
-#line 626 "asn1p_y.y"
+#line 658 "asn1p_y.y"
     {
 		return yyerror(
 			"Attempt to redefine a standard basic string type, "
@@ -2615,12 +2647,12 @@
     break;
 
   case 37:
-#line 639 "asn1p_y.y"
+#line 671 "asn1p_y.y"
     { (yyval.a_module) = 0; }
     break;
 
   case 39:
-#line 643 "asn1p_y.y"
+#line 675 "asn1p_y.y"
     {
 		if(!saved_aid && 0)
 			return yyerror("Unterminated IMPORTS FROM, "
@@ -2631,19 +2663,19 @@
     break;
 
   case 40:
-#line 653 "asn1p_y.y"
+#line 685 "asn1p_y.y"
     {
 		return yyerror("Empty IMPORTS list");
 	}
     break;
 
   case 41:
-#line 659 "asn1p_y.y"
+#line 691 "asn1p_y.y"
     { (yyval.a_module) = asn1p_module_new(); }
     break;
 
   case 43:
-#line 663 "asn1p_y.y"
+#line 695 "asn1p_y.y"
     {
 		(yyval.a_module) = asn1p_module_new();
 		checkmem((yyval.a_module));
@@ -2652,7 +2684,7 @@
     break;
 
   case 44:
-#line 668 "asn1p_y.y"
+#line 700 "asn1p_y.y"
     {
 		(yyval.a_module) = (yyvsp[(1) - (2)].a_module);
 		TQ_ADD(&((yyval.a_module)->imports), (yyvsp[(2) - (2)].a_xports), xp_next);
@@ -2660,17 +2692,17 @@
     break;
 
   case 45:
-#line 675 "asn1p_y.y"
+#line 707 "asn1p_y.y"
     { memset(&(yyval.a_aid), 0, sizeof((yyval.a_aid))); }
     break;
 
   case 46:
-#line 676 "asn1p_y.y"
+#line 708 "asn1p_y.y"
     { (yyval.a_aid).oid = (yyvsp[(1) - (1)].a_oid); }
     break;
 
   case 47:
-#line 680 "asn1p_y.y"
+#line 712 "asn1p_y.y"
     {
 		(yyval.a_xports) = (yyvsp[(1) - (4)].a_xports);
 		(yyval.a_xports)->fromModuleName = (yyvsp[(3) - (4)].tv_str);
@@ -2682,7 +2714,7 @@
     break;
 
   case 48:
-#line 691 "asn1p_y.y"
+#line 723 "asn1p_y.y"
     {
 		(yyval.a_xports) = asn1p_xports_new();
 		checkmem((yyval.a_xports));
@@ -2691,7 +2723,7 @@
     break;
 
   case 49:
-#line 696 "asn1p_y.y"
+#line 728 "asn1p_y.y"
     {
 		(yyval.a_xports) = (yyvsp[(1) - (3)].a_xports);
 		TQ_ADD(&((yyval.a_xports)->members), (yyvsp[(3) - (3)].a_expr), next);
@@ -2699,7 +2731,7 @@
     break;
 
   case 50:
-#line 703 "asn1p_y.y"
+#line 735 "asn1p_y.y"
     {
 		(yyval.a_expr) = NEW_EXPR();
 		checkmem((yyval.a_expr));
@@ -2709,7 +2741,7 @@
     break;
 
   case 51:
-#line 709 "asn1p_y.y"
+#line 741 "asn1p_y.y"
     {		/* Completely equivalent to above */
 		(yyval.a_expr) = NEW_EXPR();
 		checkmem((yyval.a_expr));
@@ -2719,7 +2751,7 @@
     break;
 
   case 52:
-#line 715 "asn1p_y.y"
+#line 747 "asn1p_y.y"
     {
 		(yyval.a_expr) = NEW_EXPR();
 		checkmem((yyval.a_expr));
@@ -2729,12 +2761,12 @@
     break;
 
   case 53:
-#line 725 "asn1p_y.y"
+#line 757 "asn1p_y.y"
     { (yyval.a_module) = 0; }
     break;
 
   case 54:
-#line 726 "asn1p_y.y"
+#line 758 "asn1p_y.y"
     {
 		(yyval.a_module) = asn1p_module_new();
 		checkmem((yyval.a_module));
@@ -2747,21 +2779,21 @@
     break;
 
   case 55:
-#line 738 "asn1p_y.y"
+#line 770 "asn1p_y.y"
     {
 		(yyval.a_xports) = (yyvsp[(2) - (3)].a_xports);
 	}
     break;
 
   case 56:
-#line 741 "asn1p_y.y"
+#line 773 "asn1p_y.y"
     {
 		(yyval.a_xports) = 0;
 	}
     break;
 
   case 57:
-#line 744 "asn1p_y.y"
+#line 776 "asn1p_y.y"
     {
 		/* Empty EXPORTS clause effectively prohibits export. */
 		(yyval.a_xports) = asn1p_xports_new();
@@ -2770,7 +2802,7 @@
     break;
 
   case 58:
-#line 752 "asn1p_y.y"
+#line 784 "asn1p_y.y"
     {
 		(yyval.a_xports) = asn1p_xports_new();
 		assert((yyval.a_xports));
@@ -2779,7 +2811,7 @@
     break;
 
   case 59:
-#line 757 "asn1p_y.y"
+#line 789 "asn1p_y.y"
     {
 		(yyval.a_xports) = (yyvsp[(1) - (3)].a_xports);
 		TQ_ADD(&((yyval.a_xports)->members), (yyvsp[(3) - (3)].a_expr), next);
@@ -2787,7 +2819,7 @@
     break;
 
   case 60:
-#line 764 "asn1p_y.y"
+#line 796 "asn1p_y.y"
     {
 		(yyval.a_expr) = NEW_EXPR();
 		checkmem((yyval.a_expr));
@@ -2797,7 +2829,7 @@
     break;
 
   case 61:
-#line 770 "asn1p_y.y"
+#line 802 "asn1p_y.y"
     {
 		(yyval.a_expr) = NEW_EXPR();
 		checkmem((yyval.a_expr));
@@ -2807,7 +2839,7 @@
     break;
 
   case 62:
-#line 776 "asn1p_y.y"
+#line 808 "asn1p_y.y"
     {
 		(yyval.a_expr) = NEW_EXPR();
 		checkmem((yyval.a_expr));
@@ -2817,12 +2849,12 @@
     break;
 
   case 63:
-#line 785 "asn1p_y.y"
+#line 817 "asn1p_y.y"
     { (yyval.a_constr) = (yyvsp[(2) - (3)].a_constr); }
     break;
 
   case 64:
-#line 788 "asn1p_y.y"
+#line 820 "asn1p_y.y"
     {
 		(yyval.a_expr) = (yyvsp[(2) - (4)].a_expr);
 		assert((yyval.a_expr)->Identifier == 0);
@@ -2833,14 +2865,14 @@
     break;
 
   case 65:
-#line 798 "asn1p_y.y"
+#line 830 "asn1p_y.y"
     {
 		(yyval.a_expr) = (yyvsp[(1) - (1)].a_expr);
 	}
     break;
 
   case 66:
-#line 811 "asn1p_y.y"
+#line 843 "asn1p_y.y"
     {
 		(yyval.a_expr) = NEW_EXPR();
 		checkmem((yyval.a_expr));
@@ -2851,7 +2883,7 @@
     break;
 
   case 67:
-#line 821 "asn1p_y.y"
+#line 853 "asn1p_y.y"
     {
 		(yyval.a_expr) = NEW_EXPR();
 		checkmem((yyval.a_expr));
@@ -2863,7 +2895,7 @@
     break;
 
   case 68:
-#line 841 "asn1p_y.y"
+#line 873 "asn1p_y.y"
     {
 		(yyval.a_expr) = (yyvsp[(3) - (3)].a_expr);
 		(yyval.a_expr)->Identifier = (yyvsp[(1) - (3)].tv_str);
@@ -2873,7 +2905,7 @@
     break;
 
   case 69:
-#line 847 "asn1p_y.y"
+#line 879 "asn1p_y.y"
     {
 		(yyval.a_expr) = (yyvsp[(3) - (3)].a_expr);
 		(yyval.a_expr)->Identifier = (yyvsp[(1) - (3)].tv_str);
@@ -2883,7 +2915,7 @@
     break;
 
   case 70:
-#line 863 "asn1p_y.y"
+#line 895 "asn1p_y.y"
     {
 		(yyval.a_expr) = (yyvsp[(6) - (6)].a_expr);
 		(yyval.a_expr)->Identifier = (yyvsp[(1) - (6)].tv_str);
@@ -2892,7 +2924,7 @@
     break;
 
   case 71:
-#line 869 "asn1p_y.y"
+#line 901 "asn1p_y.y"
     {
 		(yyval.a_expr) = (yyvsp[(6) - (6)].a_expr);
 		(yyval.a_expr)->Identifier = (yyvsp[(1) - (6)].tv_str);
@@ -2901,7 +2933,7 @@
     break;
 
   case 72:
-#line 877 "asn1p_y.y"
+#line 909 "asn1p_y.y"
     {
 		int ret;
 		(yyval.a_plist) = asn1p_paramlist_new(yylineno);
@@ -2914,7 +2946,7 @@
     break;
 
   case 73:
-#line 886 "asn1p_y.y"
+#line 918 "asn1p_y.y"
     {
 		int ret;
 		(yyval.a_plist) = (yyvsp[(1) - (3)].a_plist);
@@ -2926,7 +2958,7 @@
     break;
 
   case 74:
-#line 897 "asn1p_y.y"
+#line 929 "asn1p_y.y"
     {
 		(yyval.a_parg).governor = NULL;
 		(yyval.a_parg).argument = (yyvsp[(1) - (1)].tv_str);
@@ -2934,7 +2966,7 @@
     break;
 
   case 75:
-#line 901 "asn1p_y.y"
+#line 933 "asn1p_y.y"
     {
 		int ret;
 		(yyval.a_parg).governor = asn1p_ref_new(yylineno, currentModule);
@@ -2946,7 +2978,7 @@
     break;
 
   case 76:
-#line 909 "asn1p_y.y"
+#line 941 "asn1p_y.y"
     {
 		int ret;
 		(yyval.a_parg).governor = asn1p_ref_new(yylineno, currentModule);
@@ -2958,7 +2990,7 @@
     break;
 
   case 77:
-#line 917 "asn1p_y.y"
+#line 949 "asn1p_y.y"
     {
 		int ret;
 		(yyval.a_parg).governor = asn1p_ref_new(yylineno, currentModule);
@@ -2970,7 +3002,7 @@
     break;
 
   case 78:
-#line 925 "asn1p_y.y"
+#line 957 "asn1p_y.y"
     {
 		int ret;
 		(yyval.a_parg).governor = asn1p_ref_new(yylineno, currentModule);
@@ -2982,7 +3014,7 @@
     break;
 
   case 79:
-#line 936 "asn1p_y.y"
+#line 968 "asn1p_y.y"
     {
 		(yyval.a_expr) = NEW_EXPR();
 		checkmem((yyval.a_expr));
@@ -2991,7 +3023,7 @@
     break;
 
   case 80:
-#line 941 "asn1p_y.y"
+#line 973 "asn1p_y.y"
     {
 		(yyval.a_expr) = (yyvsp[(1) - (3)].a_expr);
 		asn1p_expr_add((yyval.a_expr), (yyvsp[(3) - (3)].a_expr));
@@ -2999,14 +3031,14 @@
     break;
 
   case 81:
-#line 948 "asn1p_y.y"
+#line 980 "asn1p_y.y"
     {
 		(yyval.a_expr) = (yyvsp[(1) - (1)].a_expr);
 	}
     break;
 
   case 82:
-#line 951 "asn1p_y.y"
+#line 983 "asn1p_y.y"
     {
 		(yyval.a_expr) = NEW_EXPR();
 		checkmem((yyval.a_expr));
@@ -3018,7 +3050,7 @@
     break;
 
   case 83:
-#line 959 "asn1p_y.y"
+#line 991 "asn1p_y.y"
     {
 		asn1p_ref_t *ref;
 		(yyval.a_expr) = NEW_EXPR();
@@ -3033,7 +3065,7 @@
     break;
 
   case 84:
-#line 970 "asn1p_y.y"
+#line 1002 "asn1p_y.y"
     {
 		(yyval.a_expr) = NEW_EXPR();
 		(yyval.a_expr)->expr_type = A1TC_VALUESET;
@@ -3043,17 +3075,17 @@
     break;
 
   case 85:
-#line 993 "asn1p_y.y"
+#line 1025 "asn1p_y.y"
     { (yyval.a_expr) = NEW_EXPR(); }
     break;
 
   case 86:
-#line 994 "asn1p_y.y"
+#line 1026 "asn1p_y.y"
     { (yyval.a_expr) = (yyvsp[(1) - (1)].a_expr); }
     break;
 
   case 87:
-#line 997 "asn1p_y.y"
+#line 1029 "asn1p_y.y"
     {
 		(yyval.a_expr) = NEW_EXPR();
 		checkmem((yyval.a_expr));
@@ -3062,7 +3094,7 @@
     break;
 
   case 88:
-#line 1002 "asn1p_y.y"
+#line 1034 "asn1p_y.y"
     {
 		(yyval.a_expr) = (yyvsp[(1) - (3)].a_expr);
 		asn1p_expr_add((yyval.a_expr), (yyvsp[(3) - (3)].a_expr));
@@ -3070,7 +3102,7 @@
     break;
 
   case 89:
-#line 1006 "asn1p_y.y"
+#line 1038 "asn1p_y.y"
     {
 		(yyval.a_expr) = (yyvsp[(1) - (5)].a_expr);
 		asn1p_expr_add_many((yyval.a_expr), (yyvsp[(4) - (5)].a_expr));
@@ -3079,7 +3111,7 @@
     break;
 
   case 90:
-#line 1014 "asn1p_y.y"
+#line 1046 "asn1p_y.y"
     {
 		(yyval.a_expr) = (yyvsp[(2) - (3)].a_expr);
 		assert((yyval.a_expr)->Identifier == 0);
@@ -3090,7 +3122,7 @@
     break;
 
   case 91:
-#line 1021 "asn1p_y.y"
+#line 1053 "asn1p_y.y"
     {
 		(yyval.a_expr) = (yyvsp[(1) - (2)].a_expr);
 		(yyvsp[(2) - (2)].a_marker).flags |= (yyval.a_expr)->marker.flags;
@@ -3100,7 +3132,7 @@
     break;
 
   case 92:
-#line 1027 "asn1p_y.y"
+#line 1059 "asn1p_y.y"
     {
 		(yyval.a_expr) = NEW_EXPR();
 		checkmem((yyval.a_expr));
@@ -3111,14 +3143,14 @@
     break;
 
   case 93:
-#line 1034 "asn1p_y.y"
+#line 1066 "asn1p_y.y"
     {
 		(yyval.a_expr) = (yyvsp[(1) - (1)].a_expr);
 	}
     break;
 
   case 94:
-#line 1040 "asn1p_y.y"
+#line 1072 "asn1p_y.y"
     {
 		(yyval.a_expr) = NEW_EXPR();
 		checkmem((yyval.a_expr));
@@ -3127,7 +3159,7 @@
     break;
 
   case 95:
-#line 1045 "asn1p_y.y"
+#line 1077 "asn1p_y.y"
     {
 		(yyval.a_expr) = (yyvsp[(1) - (3)].a_expr);
 		asn1p_expr_add((yyval.a_expr), (yyvsp[(3) - (3)].a_expr));
@@ -3135,7 +3167,7 @@
     break;
 
   case 96:
-#line 1052 "asn1p_y.y"
+#line 1084 "asn1p_y.y"
     {
 		(yyval.a_expr) = (yyvsp[(2) - (2)].a_expr);
 		assert((yyval.a_expr)->Identifier == 0);
@@ -3144,14 +3176,14 @@
     break;
 
   case 97:
-#line 1057 "asn1p_y.y"
+#line 1089 "asn1p_y.y"
     {
 		(yyval.a_expr) = (yyvsp[(1) - (1)].a_expr);
 	}
     break;
 
   case 98:
-#line 1060 "asn1p_y.y"
+#line 1092 "asn1p_y.y"
     {
 		(yyval.a_expr) = (yyvsp[(1) - (1)].a_expr);
 		_fixup_anonymous_identifier((yyval.a_expr));
@@ -3159,7 +3191,7 @@
     break;
 
   case 99:
-#line 1067 "asn1p_y.y"
+#line 1099 "asn1p_y.y"
     {
 		(yyval.a_expr) = (yyvsp[(3) - (5)].a_expr);
 		checkmem((yyval.a_expr));
@@ -3170,17 +3202,17 @@
     break;
 
   case 100:
-#line 1077 "asn1p_y.y"
+#line 1109 "asn1p_y.y"
     { (yyval.a_int) = 0; }
     break;
 
   case 101:
-#line 1078 "asn1p_y.y"
+#line 1110 "asn1p_y.y"
     { (yyval.a_int) = 1; }
     break;
 
   case 102:
-#line 1082 "asn1p_y.y"
+#line 1114 "asn1p_y.y"
     {
 		(yyval.a_expr) = NEW_EXPR();
 		checkmem((yyval.a_expr));
@@ -3191,7 +3223,7 @@
     break;
 
   case 103:
-#line 1089 "asn1p_y.y"
+#line 1121 "asn1p_y.y"
     {
 		(yyval.a_expr) = (yyvsp[(1) - (3)].a_expr);
 		asn1p_expr_add((yyval.a_expr), (yyvsp[(3) - (3)].a_expr));
@@ -3199,7 +3231,7 @@
     break;
 
   case 104:
-#line 1099 "asn1p_y.y"
+#line 1131 "asn1p_y.y"
     {
 		(yyval.a_expr) = NEW_EXPR();
 		checkmem((yyval.a_expr));
@@ -3211,7 +3243,7 @@
     break;
 
   case 105:
-#line 1109 "asn1p_y.y"
+#line 1141 "asn1p_y.y"
     {
 		(yyval.a_expr) = NEW_EXPR();
 		(yyval.a_expr)->Identifier = (yyvsp[(1) - (4)].tv_str);
@@ -3224,7 +3256,7 @@
     break;
 
   case 106:
-#line 1120 "asn1p_y.y"
+#line 1152 "asn1p_y.y"
     {
 		(yyval.a_expr) = NEW_EXPR();
 		(yyval.a_expr)->Identifier = (yyvsp[(1) - (3)].tv_str);
@@ -3236,7 +3268,7 @@
     break;
 
   case 107:
-#line 1130 "asn1p_y.y"
+#line 1162 "asn1p_y.y"
     {
 		(yyval.a_expr) = NEW_EXPR();
 		checkmem((yyval.a_expr));
@@ -3249,7 +3281,7 @@
     break;
 
   case 108:
-#line 1141 "asn1p_y.y"
+#line 1173 "asn1p_y.y"
     {
 		(yyval.a_expr) = NEW_EXPR();
 		(yyval.a_expr)->Identifier = (yyvsp[(1) - (3)].tv_str);
@@ -3261,7 +3293,7 @@
     break;
 
   case 109:
-#line 1151 "asn1p_y.y"
+#line 1183 "asn1p_y.y"
     {
 		(yyval.a_expr) = NEW_EXPR();
 		checkmem((yyval.a_expr));
@@ -3274,7 +3306,7 @@
     break;
 
   case 110:
-#line 1162 "asn1p_y.y"
+#line 1194 "asn1p_y.y"
     {
 		(yyval.a_expr) = NEW_EXPR();
 		checkmem((yyval.a_expr));
@@ -3287,31 +3319,31 @@
     break;
 
   case 111:
-#line 1174 "asn1p_y.y"
+#line 1206 "asn1p_y.y"
     { (yyval.a_wsynt) = 0; }
     break;
 
   case 112:
-#line 1175 "asn1p_y.y"
+#line 1207 "asn1p_y.y"
     {
 		(yyval.a_wsynt) = (yyvsp[(1) - (1)].a_wsynt);
 	}
     break;
 
   case 113:
-#line 1182 "asn1p_y.y"
+#line 1214 "asn1p_y.y"
     { asn1p_lexer_hack_enable_with_syntax(); }
     break;
 
   case 114:
-#line 1184 "asn1p_y.y"
+#line 1216 "asn1p_y.y"
     {
 		(yyval.a_wsynt) = (yyvsp[(5) - (6)].a_wsynt);
 	}
     break;
 
   case 115:
-#line 1190 "asn1p_y.y"
+#line 1222 "asn1p_y.y"
     {
 		(yyval.a_wsynt) = asn1p_wsyntx_new();
 		TQ_ADD(&((yyval.a_wsynt)->chunks), (yyvsp[(1) - (1)].a_wchunk), next);
@@ -3319,7 +3351,7 @@
     break;
 
   case 116:
-#line 1194 "asn1p_y.y"
+#line 1226 "asn1p_y.y"
     {
 		(yyval.a_wsynt) = (yyvsp[(1) - (2)].a_wsynt);
 		TQ_ADD(&((yyval.a_wsynt)->chunks), (yyvsp[(2) - (2)].a_wchunk), next);
@@ -3327,7 +3359,7 @@
     break;
 
   case 117:
-#line 1201 "asn1p_y.y"
+#line 1233 "asn1p_y.y"
     {
 		(yyval.a_wchunk) = asn1p_wsyntx_chunk_fromstring((yyvsp[(1) - (1)].tv_opaque).buf, 0);
 		(yyval.a_wchunk)->type = WC_WHITESPACE;
@@ -3335,14 +3367,14 @@
     break;
 
   case 118:
-#line 1205 "asn1p_y.y"
+#line 1237 "asn1p_y.y"
     {
 		(yyval.a_wchunk) = asn1p_wsyntx_chunk_fromstring((yyvsp[(1) - (1)].tv_str), 0);
 	}
     break;
 
   case 119:
-#line 1208 "asn1p_y.y"
+#line 1240 "asn1p_y.y"
     {
 		(yyval.a_wchunk) = asn1p_wsyntx_chunk_fromstring((yyvsp[(1) - (1)].a_refcomp).name, 0);
 		(yyval.a_wchunk)->type = WC_FIELD;
@@ -3350,14 +3382,14 @@
     break;
 
   case 120:
-#line 1212 "asn1p_y.y"
+#line 1244 "asn1p_y.y"
     {
 		(yyval.a_wchunk) = asn1p_wsyntx_chunk_fromsyntax((yyvsp[(2) - (3)].a_wsynt));
 	}
     break;
 
   case 121:
-#line 1218 "asn1p_y.y"
+#line 1250 "asn1p_y.y"
     {
 		(yyval.a_expr) = NEW_EXPR();
 		checkmem((yyval.a_expr));
@@ -3369,7 +3401,7 @@
     break;
 
   case 122:
-#line 1226 "asn1p_y.y"
+#line 1258 "asn1p_y.y"
     {
 		(yyval.a_expr) = NEW_EXPR();
 		checkmem((yyval.a_expr));
@@ -3382,7 +3414,7 @@
     break;
 
   case 123:
-#line 1235 "asn1p_y.y"
+#line 1267 "asn1p_y.y"
     {
 		(yyval.a_expr) = NEW_EXPR();
 		checkmem((yyval.a_expr));
@@ -3395,7 +3427,7 @@
     break;
 
   case 124:
-#line 1247 "asn1p_y.y"
+#line 1279 "asn1p_y.y"
     {
 		(yyval.a_expr) = (yyvsp[(2) - (3)].a_expr);
 		(yyval.a_expr)->tag = (yyvsp[(1) - (3)].a_tag);
@@ -3410,7 +3442,7 @@
 		} else {
 			if((yyval.a_expr)->constraints) {
 				assert(!(yyvsp[(2) - (3)].a_expr));
-				/* Check this : optConstraints is not used ?! */
+				/* Check this : optManyConstraints is not used ?! */
 				asn1p_constraint_free((yyvsp[(3) - (3)].a_constr));
 			} else {
 				(yyval.a_expr)->constraints = (yyvsp[(3) - (3)].a_constr);
@@ -3420,7 +3452,7 @@
     break;
 
   case 125:
-#line 1271 "asn1p_y.y"
+#line 1303 "asn1p_y.y"
     {
 		(yyval.a_int) = asn1p_as_pointer ? EM_INDIRECT : 0;
 		asn1p_as_pointer = 0;
@@ -3428,7 +3460,7 @@
     break;
 
   case 126:
-#line 1278 "asn1p_y.y"
+#line 1310 "asn1p_y.y"
     {
 		(yyval.a_expr) = (yyvsp[(2) - (2)].a_expr);
 		(yyval.a_expr)->marker.flags |= (yyvsp[(1) - (2)].a_int);
@@ -3448,14 +3480,14 @@
     break;
 
   case 127:
-#line 1297 "asn1p_y.y"
+#line 1329 "asn1p_y.y"
     {
 		(yyval.a_expr) = (yyvsp[(1) - (1)].a_expr);
 	}
     break;
 
   case 128:
-#line 1300 "asn1p_y.y"
+#line 1332 "asn1p_y.y"
     {
 		(yyval.a_expr) = (yyvsp[(3) - (4)].a_expr);
 		assert((yyval.a_expr)->expr_type == A1TC_INVALID);
@@ -3465,7 +3497,7 @@
     break;
 
   case 129:
-#line 1306 "asn1p_y.y"
+#line 1338 "asn1p_y.y"
     {
 		(yyval.a_expr) = (yyvsp[(3) - (4)].a_expr);
 		assert((yyval.a_expr)->expr_type == A1TC_INVALID);
@@ -3475,7 +3507,7 @@
     break;
 
   case 130:
-#line 1312 "asn1p_y.y"
+#line 1344 "asn1p_y.y"
     {
 		(yyval.a_expr) = (yyvsp[(3) - (4)].a_expr);
 		assert((yyval.a_expr)->expr_type == A1TC_INVALID);
@@ -3485,7 +3517,7 @@
     break;
 
   case 131:
-#line 1318 "asn1p_y.y"
+#line 1350 "asn1p_y.y"
     {
 		(yyval.a_expr) = NEW_EXPR();
 		checkmem((yyval.a_expr));
@@ -3499,7 +3531,7 @@
     break;
 
   case 132:
-#line 1328 "asn1p_y.y"
+#line 1360 "asn1p_y.y"
     {
 		(yyval.a_expr) = NEW_EXPR();
 		checkmem((yyval.a_expr));
@@ -3513,7 +3545,7 @@
     break;
 
   case 133:
-#line 1338 "asn1p_y.y"
+#line 1370 "asn1p_y.y"
     {
 		(yyval.a_expr) = NEW_EXPR();
 		checkmem((yyval.a_expr));
@@ -3523,7 +3555,7 @@
     break;
 
   case 134:
-#line 1344 "asn1p_y.y"
+#line 1376 "asn1p_y.y"
     {
 		int ret;
 		(yyval.a_expr) = NEW_EXPR();
@@ -3539,7 +3571,7 @@
     break;
 
   case 135:
-#line 1356 "asn1p_y.y"
+#line 1388 "asn1p_y.y"
     {
 		(yyval.a_expr) = NEW_EXPR();
 		checkmem((yyval.a_expr));
@@ -3550,7 +3582,7 @@
     break;
 
   case 136:
-#line 1371 "asn1p_y.y"
+#line 1403 "asn1p_y.y"
     {
 		int ret;
 		(yyval.a_ref) = asn1p_ref_new(yylineno, currentModule);
@@ -3562,7 +3594,7 @@
     break;
 
   case 137:
-#line 1379 "asn1p_y.y"
+#line 1411 "asn1p_y.y"
     {
 		int ret;
 		(yyval.a_ref) = asn1p_ref_new(yylineno, currentModule);
@@ -3577,7 +3609,7 @@
     break;
 
   case 138:
-#line 1390 "asn1p_y.y"
+#line 1422 "asn1p_y.y"
     {
 		int ret;
 		(yyval.a_ref) = asn1p_ref_new(yylineno, currentModule);
@@ -3592,7 +3624,7 @@
     break;
 
   case 139:
-#line 1401 "asn1p_y.y"
+#line 1433 "asn1p_y.y"
     {
 		int ret;
 		(yyval.a_ref) = asn1p_ref_new(yylineno, currentModule);
@@ -3607,7 +3639,7 @@
     break;
 
   case 140:
-#line 1412 "asn1p_y.y"
+#line 1444 "asn1p_y.y"
     {
 		int ret;
 		(yyval.a_ref) = asn1p_ref_new(yylineno, currentModule);
@@ -3619,7 +3651,7 @@
     break;
 
   case 141:
-#line 1420 "asn1p_y.y"
+#line 1452 "asn1p_y.y"
     {
 		int ret;
 		(yyval.a_ref) = (yyvsp[(3) - (3)].a_ref);
@@ -3642,7 +3674,7 @@
     break;
 
   case 142:
-#line 1442 "asn1p_y.y"
+#line 1474 "asn1p_y.y"
     {
 		int ret;
 		(yyval.a_ref) = asn1p_ref_new(yylineno, currentModule);
@@ -3654,7 +3686,7 @@
     break;
 
   case 143:
-#line 1450 "asn1p_y.y"
+#line 1482 "asn1p_y.y"
     {
 		int ret;
 		(yyval.a_ref) = (yyvsp[(1) - (3)].a_ref);
@@ -3665,7 +3697,7 @@
     break;
 
   case 145:
-#line 1463 "asn1p_y.y"
+#line 1495 "asn1p_y.y"
     {
 		(yyval.a_refcomp).lex_type = RLT_AmpUppercase;
 		(yyval.a_refcomp).name = (yyvsp[(1) - (1)].tv_str);
@@ -3673,7 +3705,7 @@
     break;
 
   case 146:
-#line 1468 "asn1p_y.y"
+#line 1500 "asn1p_y.y"
     {
 		(yyval.a_refcomp).lex_type = RLT_Amplowercase;
 		(yyval.a_refcomp).name = (yyvsp[(1) - (1)].tv_str);
@@ -3681,7 +3713,7 @@
     break;
 
   case 147:
-#line 1477 "asn1p_y.y"
+#line 1509 "asn1p_y.y"
     {
 		(yyval.a_ref) = asn1p_ref_new(yylineno, currentModule);
 		asn1p_ref_add_component((yyval.a_ref), (yyvsp[(1) - (1)].tv_str), RLT_AmpUppercase);
@@ -3690,7 +3722,7 @@
     break;
 
   case 148:
-#line 1482 "asn1p_y.y"
+#line 1514 "asn1p_y.y"
     {
 		(yyval.a_ref) = (yyval.a_ref);
 		asn1p_ref_add_component((yyval.a_ref), (yyvsp[(3) - (3)].tv_str), RLT_AmpUppercase);
@@ -3699,7 +3731,7 @@
     break;
 
   case 149:
-#line 1487 "asn1p_y.y"
+#line 1519 "asn1p_y.y"
     {
 		(yyval.a_ref) = (yyval.a_ref);
 		asn1p_ref_add_component((yyval.a_ref), (yyvsp[(3) - (3)].tv_str), RLT_Amplowercase);
@@ -3708,7 +3740,7 @@
     break;
 
   case 150:
-#line 1495 "asn1p_y.y"
+#line 1527 "asn1p_y.y"
     {
 		(yyval.a_ref) = asn1p_ref_new(yylineno, currentModule);
 		asn1p_ref_add_component((yyval.a_ref), (yyvsp[(1) - (1)].tv_str), RLT_CAPITALS);
@@ -3717,7 +3749,7 @@
     break;
 
   case 151:
-#line 1518 "asn1p_y.y"
+#line 1550 "asn1p_y.y"
     {
 		(yyval.a_expr) = (yyvsp[(2) - (4)].a_expr);
 		assert((yyval.a_expr)->Identifier == NULL);
@@ -3728,7 +3760,7 @@
     break;
 
   case 154:
-#line 1530 "asn1p_y.y"
+#line 1562 "asn1p_y.y"
     {
 		(yyval.a_value) = asn1p_value_fromint(0);
 		checkmem((yyval.a_value));
@@ -3739,12 +3771,12 @@
     break;
 
   case 155:
-#line 1537 "asn1p_y.y"
+#line 1569 "asn1p_y.y"
     { asn1p_lexer_hack_push_opaque_state(); }
     break;
 
   case 156:
-#line 1537 "asn1p_y.y"
+#line 1569 "asn1p_y.y"
     {
 		(yyval.a_value) = asn1p_value_frombuf((yyvsp[(3) - (3)].tv_opaque).buf, (yyvsp[(3) - (3)].tv_opaque).len, 0);
 		checkmem((yyval.a_value));
@@ -3753,7 +3785,7 @@
     break;
 
   case 157:
-#line 1542 "asn1p_y.y"
+#line 1574 "asn1p_y.y"
     {
 		(yyval.a_value) = asn1p_value_fromint(0);
 		checkmem((yyval.a_value));
@@ -3762,7 +3794,7 @@
     break;
 
   case 158:
-#line 1550 "asn1p_y.y"
+#line 1582 "asn1p_y.y"
     {
 		(yyval.a_value) = asn1p_value_fromint(0);
 		checkmem((yyval.a_value));
@@ -3771,7 +3803,7 @@
     break;
 
   case 159:
-#line 1555 "asn1p_y.y"
+#line 1587 "asn1p_y.y"
     {
 		(yyval.a_value) = asn1p_value_fromint(0);
 		checkmem((yyval.a_value));
@@ -3780,7 +3812,7 @@
     break;
 
   case 160:
-#line 1560 "asn1p_y.y"
+#line 1592 "asn1p_y.y"
     {
 		(yyval.a_value) = _convert_bitstring2binary((yyvsp[(1) - (1)].tv_str), 'B');
 		checkmem((yyval.a_value));
@@ -3789,7 +3821,7 @@
     break;
 
   case 161:
-#line 1565 "asn1p_y.y"
+#line 1597 "asn1p_y.y"
     {
 		(yyval.a_value) = _convert_bitstring2binary((yyvsp[(1) - (1)].tv_str), 'H');
 		checkmem((yyval.a_value));
@@ -3798,21 +3830,21 @@
     break;
 
   case 162:
-#line 1570 "asn1p_y.y"
+#line 1602 "asn1p_y.y"
     {
 		(yyval.a_value) = (yyval.a_value);
 	}
     break;
 
   case 163:
-#line 1573 "asn1p_y.y"
+#line 1605 "asn1p_y.y"
     {
 		(yyval.a_value) = (yyvsp[(1) - (1)].a_value);
 	}
     break;
 
   case 164:
-#line 1579 "asn1p_y.y"
+#line 1611 "asn1p_y.y"
     {
 		asn1p_ref_t *ref;
 		int ret;
@@ -3827,7 +3859,7 @@
     break;
 
   case 165:
-#line 1590 "asn1p_y.y"
+#line 1622 "asn1p_y.y"
     {
 		asn1p_ref_t *ref;
 		int ret;
@@ -3845,7 +3877,7 @@
     break;
 
   case 166:
-#line 1608 "asn1p_y.y"
+#line 1640 "asn1p_y.y"
     {
 		(yyval.a_value) = asn1p_value_frombuf((yyvsp[(1) - (1)].tv_opaque).buf, (yyvsp[(1) - (1)].tv_opaque).len, 0);
 		checkmem((yyval.a_value));
@@ -3853,7 +3885,7 @@
     break;
 
   case 167:
-#line 1612 "asn1p_y.y"
+#line 1644 "asn1p_y.y"
     {
 		(yyval.a_value) = asn1p_value_fromint((yyvsp[(1) - (1)].a_int));
 		checkmem((yyval.a_value));
@@ -3862,7 +3894,7 @@
     break;
 
   case 168:
-#line 1617 "asn1p_y.y"
+#line 1649 "asn1p_y.y"
     {
 		(yyval.a_value) = asn1p_value_fromint((yyvsp[(1) - (1)].a_int));
 		checkmem((yyval.a_value));
@@ -3871,7 +3903,7 @@
     break;
 
   case 169:
-#line 1625 "asn1p_y.y"
+#line 1657 "asn1p_y.y"
     {
 		(yyval.tv_opaque).len = (yyvsp[(1) - (1)].tv_opaque).len + 1;
 		(yyval.tv_opaque).buf = malloc((yyval.tv_opaque).len + 1);
@@ -3884,7 +3916,7 @@
     break;
 
   case 170:
-#line 1634 "asn1p_y.y"
+#line 1666 "asn1p_y.y"
     {
 		int newsize = (yyvsp[(1) - (2)].tv_opaque).len + (yyvsp[(2) - (2)].tv_opaque).len;
 		char *p = malloc(newsize + 1);
@@ -3900,77 +3932,77 @@
     break;
 
   case 171:
-#line 1649 "asn1p_y.y"
+#line 1681 "asn1p_y.y"
     { (yyval.a_type) = ASN_BASIC_BOOLEAN; }
     break;
 
   case 172:
-#line 1650 "asn1p_y.y"
+#line 1682 "asn1p_y.y"
     { (yyval.a_type) = ASN_BASIC_NULL; }
     break;
 
   case 173:
-#line 1651 "asn1p_y.y"
+#line 1683 "asn1p_y.y"
     { (yyval.a_type) = ASN_BASIC_REAL; }
     break;
 
   case 174:
-#line 1652 "asn1p_y.y"
+#line 1684 "asn1p_y.y"
     { (yyval.a_type) = ASN_BASIC_OCTET_STRING; }
     break;
 
   case 175:
-#line 1653 "asn1p_y.y"
+#line 1685 "asn1p_y.y"
     { (yyval.a_type) = ASN_BASIC_OBJECT_IDENTIFIER; }
     break;
 
   case 176:
-#line 1654 "asn1p_y.y"
+#line 1686 "asn1p_y.y"
     { (yyval.a_type) = ASN_BASIC_RELATIVE_OID; }
     break;
 
   case 177:
-#line 1655 "asn1p_y.y"
+#line 1687 "asn1p_y.y"
     { (yyval.a_type) = ASN_BASIC_EXTERNAL; }
     break;
 
   case 178:
-#line 1656 "asn1p_y.y"
+#line 1688 "asn1p_y.y"
     { (yyval.a_type) = ASN_BASIC_EMBEDDED_PDV; }
     break;
 
   case 179:
-#line 1657 "asn1p_y.y"
+#line 1689 "asn1p_y.y"
     { (yyval.a_type) = ASN_BASIC_CHARACTER_STRING; }
     break;
 
   case 180:
-#line 1658 "asn1p_y.y"
+#line 1690 "asn1p_y.y"
     { (yyval.a_type) = ASN_BASIC_UTCTime; }
     break;
 
   case 181:
-#line 1659 "asn1p_y.y"
+#line 1691 "asn1p_y.y"
     { (yyval.a_type) = ASN_BASIC_GeneralizedTime; }
     break;
 
   case 184:
-#line 1668 "asn1p_y.y"
+#line 1700 "asn1p_y.y"
     { (yyval.a_type) = ASN_BASIC_INTEGER; }
     break;
 
   case 185:
-#line 1669 "asn1p_y.y"
+#line 1701 "asn1p_y.y"
     { (yyval.a_type) = ASN_BASIC_INTEGER; }
     break;
 
   case 186:
-#line 1670 "asn1p_y.y"
+#line 1702 "asn1p_y.y"
     { (yyval.a_type) = ASN_BASIC_BIT_STRING; }
     break;
 
   case 187:
-#line 1674 "asn1p_y.y"
+#line 1706 "asn1p_y.y"
     {
 		(yyval.a_expr) = NEW_EXPR();
 		checkmem((yyval.a_expr));
@@ -3980,7 +4012,7 @@
     break;
 
   case 188:
-#line 1680 "asn1p_y.y"
+#line 1712 "asn1p_y.y"
     {
         (yyval.a_expr) = (yyvsp[(3) - (4)].a_expr);
         (yyval.a_expr)->expr_type = ASN_BASIC_INTEGER;
@@ -3989,7 +4021,7 @@
     break;
 
   case 189:
-#line 1685 "asn1p_y.y"
+#line 1717 "asn1p_y.y"
     {
         (yyval.a_expr) = (yyvsp[(3) - (4)].a_expr);
         (yyval.a_expr)->expr_type = ASN_BASIC_ENUMERATED;
@@ -3998,7 +4030,7 @@
     break;
 
   case 190:
-#line 1690 "asn1p_y.y"
+#line 1722 "asn1p_y.y"
     {
         (yyval.a_expr) = (yyvsp[(4) - (5)].a_expr);
         (yyval.a_expr)->expr_type = ASN_BASIC_BIT_STRING;
@@ -4007,7 +4039,7 @@
     break;
 
   case 191:
-#line 1695 "asn1p_y.y"
+#line 1727 "asn1p_y.y"
     {
         (yyval.a_expr) = (yyvsp[(3) - (4)].a_expr);
         (yyval.a_expr)->expr_type = ASN_BASIC_BIT_STRING;
@@ -4016,7 +4048,7 @@
     break;
 
   case 192:
-#line 1700 "asn1p_y.y"
+#line 1732 "asn1p_y.y"
     {
 		(yyval.a_expr) = NEW_EXPR();
 		checkmem((yyval.a_expr));
@@ -4026,12 +4058,12 @@
     break;
 
   case 193:
-#line 1709 "asn1p_y.y"
+#line 1741 "asn1p_y.y"
     { (yyval.a_type) = ASN_STRING_BMPString; }
     break;
 
   case 194:
-#line 1710 "asn1p_y.y"
+#line 1742 "asn1p_y.y"
     {
 		(yyval.a_type) = ASN_STRING_GeneralString;
 		fprintf(stderr, "WARNING: GeneralString is not fully supported\n");
@@ -4039,7 +4071,7 @@
     break;
 
   case 195:
-#line 1714 "asn1p_y.y"
+#line 1746 "asn1p_y.y"
     {
 		(yyval.a_type) = ASN_STRING_GraphicString;
 		fprintf(stderr, "WARNING: GraphicString is not fully supported\n");
@@ -4047,27 +4079,27 @@
     break;
 
   case 196:
-#line 1718 "asn1p_y.y"
+#line 1750 "asn1p_y.y"
     { (yyval.a_type) = ASN_STRING_IA5String; }
     break;
 
   case 197:
-#line 1719 "asn1p_y.y"
+#line 1751 "asn1p_y.y"
     { (yyval.a_type) = ASN_STRING_ISO646String; }
     break;
 
   case 198:
-#line 1720 "asn1p_y.y"
+#line 1752 "asn1p_y.y"
     { (yyval.a_type) = ASN_STRING_NumericString; }
     break;
 
   case 199:
-#line 1721 "asn1p_y.y"
+#line 1753 "asn1p_y.y"
     { (yyval.a_type) = ASN_STRING_PrintableString; }
     break;
 
   case 200:
-#line 1722 "asn1p_y.y"
+#line 1754 "asn1p_y.y"
     {
 		(yyval.a_type) = ASN_STRING_T61String;
 		fprintf(stderr, "WARNING: T61String is not fully supported\n");
@@ -4075,22 +4107,22 @@
     break;
 
   case 201:
-#line 1726 "asn1p_y.y"
+#line 1758 "asn1p_y.y"
     { (yyval.a_type) = ASN_STRING_TeletexString; }
     break;
 
   case 202:
-#line 1727 "asn1p_y.y"
+#line 1759 "asn1p_y.y"
     { (yyval.a_type) = ASN_STRING_UniversalString; }
     break;
 
   case 203:
-#line 1728 "asn1p_y.y"
+#line 1760 "asn1p_y.y"
     { (yyval.a_type) = ASN_STRING_UTF8String; }
     break;
 
   case 204:
-#line 1729 "asn1p_y.y"
+#line 1761 "asn1p_y.y"
     {
 		(yyval.a_type) = ASN_STRING_VideotexString;
 		fprintf(stderr, "WARNING: VideotexString is not fully supported\n");
@@ -4098,137 +4130,120 @@
     break;
 
   case 205:
-#line 1733 "asn1p_y.y"
+#line 1765 "asn1p_y.y"
     { (yyval.a_type) = ASN_STRING_VisibleString; }
     break;
 
   case 206:
-#line 1734 "asn1p_y.y"
+#line 1766 "asn1p_y.y"
     { (yyval.a_type) = ASN_STRING_ObjectDescriptor; }
     break;
 
   case 211:
-#line 1746 "asn1p_y.y"
+#line 1778 "asn1p_y.y"
     { (yyval.a_constr) = 0; }
     break;
 
   case 213:
-#line 1751 "asn1p_y.y"
+#line 1783 "asn1p_y.y"
     { (yyval.a_constr) = 0; }
     break;
 
   case 215:
-#line 1753 "asn1p_y.y"
-    {
-		CONSTRAINT_INSERT((yyval.a_constr), ACT_CT_SIZE, (yyvsp[(3) - (4)].a_constr), 0);
-	}
-    break;
-
-  case 216:
-#line 1759 "asn1p_y.y"
-    {
-		CONSTRAINT_INSERT((yyval.a_constr), ACT_CA_SET, (yyvsp[(1) - (1)].a_constr), 0);
-    }
-    break;
-
-  case 217:
-#line 1765 "asn1p_y.y"
-    {
-		(yyval.a_constr) = (yyvsp[(2) - (3)].a_constr);
-	}
+#line 1788 "asn1p_y.y"
+    { (yyval.a_constr) = 0; }
     break;
 
   case 218:
-#line 1768 "asn1p_y.y"
+#line 1794 "asn1p_y.y"
     {
-		CONSTRAINT_INSERT((yyval.a_constr), ACT_CA_SET, (yyvsp[(1) - (4)].a_constr), (yyvsp[(3) - (4)].a_constr));
+		CONSTRAINT_INSERT((yyval.a_constr), ACT_CA_SET, (yyvsp[(2) - (3)].a_constr), 0);
+    }
+    break;
+
+  case 220:
+#line 1801 "asn1p_y.y"
+    {
+        if((yyvsp[(2) - (2)].a_constr)->type == ACT_CA_SET && (yyvsp[(2) - (2)].a_constr)->el_count == 1) {
+            CONSTRAINT_INSERT((yyval.a_constr), ACT_CA_SET, (yyvsp[(1) - (2)].a_constr), (yyvsp[(2) - (2)].a_constr)->elements[0]);
+        } else {
+            CONSTRAINT_INSERT((yyval.a_constr), ACT_CA_SET, (yyvsp[(1) - (2)].a_constr), (yyvsp[(2) - (2)].a_constr));
+        }
 	}
     break;
 
-  case 222:
-#line 1778 "asn1p_y.y"
+  case 224:
+#line 1815 "asn1p_y.y"
     {
 		(yyval.a_constr) = asn1p_constraint_new(yylineno, currentModule);
 		(yyval.a_constr)->type = ACT_EL_EXT;
 	}
     break;
 
-  case 224:
-#line 1783 "asn1p_y.y"
+  case 226:
+#line 1820 "asn1p_y.y"
     {
-		asn1p_constraint_t *ct;
-		ct = asn1p_constraint_new(yylineno, currentModule);
-		ct->type = ACT_EL_EXT;
-		CONSTRAINT_INSERT((yyval.a_constr), ACT_CA_CSV, (yyvsp[(1) - (3)].a_constr), ct);
-	}
-    break;
-
-  case 225:
-#line 1789 "asn1p_y.y"
-    {
-		asn1p_constraint_t *ct;
-		ct = asn1p_constraint_new(yylineno, currentModule);
-		ct->type = ACT_EL_EXT;
-		CONSTRAINT_INSERT((yyval.a_constr), ACT_CA_CSV, (yyvsp[(1) - (5)].a_constr), ct);
-		ct = (yyval.a_constr);
-		CONSTRAINT_INSERT((yyval.a_constr), ACT_CA_CSV, ct, (yyvsp[(5) - (5)].a_constr));
-	}
+       asn1p_constraint_t *ct;
+       ct = asn1p_constraint_new(yylineno, currentModule);
+       ct->type = ACT_EL_EXT;
+       CONSTRAINT_INSERT((yyval.a_constr), ACT_CA_CSV, (yyvsp[(1) - (3)].a_constr), ct);
+   }
     break;
 
   case 227:
-#line 1801 "asn1p_y.y"
+#line 1826 "asn1p_y.y"
+    {
+       asn1p_constraint_t *ct;
+       ct = asn1p_constraint_new(yylineno, currentModule);
+       ct->type = ACT_EL_EXT;
+       CONSTRAINT_INSERT((yyval.a_constr), ACT_CA_CSV, (yyvsp[(1) - (5)].a_constr), ct);
+       ct = (yyval.a_constr);
+       CONSTRAINT_INSERT((yyval.a_constr), ACT_CA_CSV, ct, (yyvsp[(5) - (5)].a_constr));
+   }
+    break;
+
+  case 229:
+#line 1838 "asn1p_y.y"
     {
 		CONSTRAINT_INSERT((yyval.a_constr), ACT_CA_AEX, (yyvsp[(3) - (3)].a_constr), 0);
 	}
     break;
 
-  case 229:
-#line 1808 "asn1p_y.y"
+  case 231:
+#line 1845 "asn1p_y.y"
     {
 		CONSTRAINT_INSERT((yyval.a_constr), ACT_CA_UNI, (yyvsp[(1) - (3)].a_constr), (yyvsp[(3) - (3)].a_constr));
 	}
     break;
 
-  case 231:
-#line 1815 "asn1p_y.y"
+  case 233:
+#line 1852 "asn1p_y.y"
     {
 		CONSTRAINT_INSERT((yyval.a_constr), ACT_CA_INT, (yyvsp[(1) - (3)].a_constr), (yyvsp[(3) - (3)].a_constr));
 	}
     break;
 
-  case 233:
-#line 1823 "asn1p_y.y"
+  case 235:
+#line 1860 "asn1p_y.y"
     {
 		CONSTRAINT_INSERT((yyval.a_constr), ACT_CA_EXC, (yyvsp[(1) - (3)].a_constr), (yyvsp[(3) - (3)].a_constr));
 	}
     break;
 
-  case 234:
-#line 1829 "asn1p_y.y"
+  case 237:
+#line 1867 "asn1p_y.y"
     {
-		int ret;
-		(yyval.a_constr) = asn1p_constraint_new(yylineno, currentModule);
-		checkmem((yyval.a_constr));
-		(yyval.a_constr)->type = (yyvsp[(1) - (4)].a_ctype);
-		ret = asn1p_constraint_insert((yyval.a_constr), (yyvsp[(3) - (4)].a_constr));
-		checkmem(ret == 0);
-	}
+        int ret;
+        (yyval.a_constr) = asn1p_constraint_new(yylineno, currentModule);
+        checkmem((yyval.a_constr));
+        (yyval.a_constr)->type = ACT_CA_SET;
+        ret = asn1p_constraint_insert((yyval.a_constr), (yyvsp[(2) - (3)].a_constr));
+        checkmem(ret == 0);
+    }
     break;
 
-  case 235:
-#line 1837 "asn1p_y.y"
-    {
-		int ret;
-		(yyval.a_constr) = asn1p_constraint_new(yylineno, currentModule);
-		checkmem((yyval.a_constr));
-		(yyval.a_constr)->type = ACT_CA_SET;
-		ret = asn1p_constraint_insert((yyval.a_constr), (yyvsp[(2) - (3)].a_constr));
-		checkmem(ret == 0);
-	}
-    break;
-
-  case 236:
-#line 1845 "asn1p_y.y"
+  case 238:
+#line 1878 "asn1p_y.y"
     {
 		(yyval.a_constr) = asn1p_constraint_new(yylineno, currentModule);
 		checkmem((yyval.a_constr));
@@ -4237,8 +4252,8 @@
 	}
     break;
 
-  case 237:
-#line 1851 "asn1p_y.y"
+  case 239:
+#line 1884 "asn1p_y.y"
     {
 		(yyval.a_constr) = asn1p_constraint_new(yylineno, currentModule);
 		checkmem((yyval.a_constr));
@@ -4247,61 +4262,13 @@
 	}
     break;
 
-  case 238:
-#line 1857 "asn1p_y.y"
-    {
-		(yyval.a_constr) = asn1p_constraint_new(yylineno, currentModule);
-		checkmem((yyval.a_constr));
-		(yyval.a_constr)->type = (yyvsp[(2) - (3)].a_ctype);
-		(yyval.a_constr)->range_start = (yyvsp[(1) - (3)].a_value);
-		(yyval.a_constr)->range_stop = (yyvsp[(3) - (3)].a_value);
-	}
-    break;
-
-  case 239:
-#line 1864 "asn1p_y.y"
-    {
-		(yyval.a_constr) = asn1p_constraint_new(yylineno, currentModule);
-		checkmem((yyval.a_constr));
-		(yyval.a_constr)->type = (yyvsp[(2) - (3)].a_ctype);
-		(yyval.a_constr)->range_start = asn1p_value_fromint(-123);
-		(yyval.a_constr)->range_stop = (yyvsp[(3) - (3)].a_value);
-		(yyval.a_constr)->range_start->type = ATV_MIN;
-	}
-    break;
-
-  case 240:
-#line 1872 "asn1p_y.y"
-    {
-		(yyval.a_constr) = asn1p_constraint_new(yylineno, currentModule);
-		checkmem((yyval.a_constr));
-		(yyval.a_constr)->type = (yyvsp[(2) - (3)].a_ctype);
-		(yyval.a_constr)->range_start = (yyvsp[(1) - (3)].a_value);
-		(yyval.a_constr)->range_stop = asn1p_value_fromint(321);
-		(yyval.a_constr)->range_stop->type = ATV_MAX;
-	}
-    break;
-
-  case 241:
-#line 1880 "asn1p_y.y"
-    {
-		(yyval.a_constr) = asn1p_constraint_new(yylineno, currentModule);
-		checkmem((yyval.a_constr));
-		(yyval.a_constr)->type = (yyvsp[(2) - (3)].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 244:
-#line 1891 "asn1p_y.y"
+  case 245:
+#line 1896 "asn1p_y.y"
     { asn1p_lexer_hack_push_opaque_state(); }
     break;
 
-  case 245:
-#line 1891 "asn1p_y.y"
+  case 246:
+#line 1896 "asn1p_y.y"
     {
 		(yyval.a_constr) = asn1p_constraint_new(yylineno, currentModule);
 		checkmem((yyval.a_constr));
@@ -4311,8 +4278,22 @@
 	}
     break;
 
-  case 246:
-#line 1901 "asn1p_y.y"
+  case 247:
+#line 1907 "asn1p_y.y"
+    {
+		CONSTRAINT_INSERT((yyval.a_constr), ACT_CT_FROM, (yyvsp[(2) - (2)].a_constr), 0);
+	}
+    break;
+
+  case 248:
+#line 1912 "asn1p_y.y"
+    {
+		CONSTRAINT_INSERT((yyval.a_constr), ACT_CT_SIZE, (yyvsp[(2) - (2)].a_constr), 0);
+	}
+    break;
+
+  case 249:
+#line 1917 "asn1p_y.y"
     {
 		(yyval.a_constr) = asn1p_constraint_new(yylineno, currentModule);
 		(yyval.a_constr)->type = ACT_CT_PATTERN;
@@ -4320,8 +4301,8 @@
 	}
     break;
 
-  case 247:
-#line 1906 "asn1p_y.y"
+  case 250:
+#line 1922 "asn1p_y.y"
     {
 		asn1p_ref_t *ref;
 		(yyval.a_constr) = asn1p_constraint_new(yylineno, currentModule);
@@ -4333,22 +4314,35 @@
 	}
     break;
 
-  case 248:
-#line 1918 "asn1p_y.y"
+  case 251:
+#line 1934 "asn1p_y.y"
     {
-		(yyval.a_ctype) = ACT_CT_SIZE;
-	}
+		(yyval.a_constr) = asn1p_constraint_new(yylineno, currentModule);
+		checkmem((yyval.a_constr));
+		(yyval.a_constr)->type = (yyvsp[(2) - (3)].a_ctype);
+		(yyval.a_constr)->range_start = (yyvsp[(1) - (3)].a_value);
+		(yyval.a_constr)->range_stop = (yyvsp[(3) - (3)].a_value);
+    }
     break;
 
-  case 249:
-#line 1921 "asn1p_y.y"
+  case 253:
+#line 1944 "asn1p_y.y"
     {
-		(yyval.a_ctype) = ACT_CT_FROM;
-	}
+		(yyval.a_value) = asn1p_value_fromint(-123);
+		(yyval.a_value)->type = ATV_MIN;
+    }
     break;
 
-  case 250:
-#line 1927 "asn1p_y.y"
+  case 255:
+#line 1951 "asn1p_y.y"
+    {
+		(yyval.a_value) = asn1p_value_fromint(321);
+		(yyval.a_value)->type = ATV_MAX;
+    }
+    break;
+
+  case 256:
+#line 1957 "asn1p_y.y"
     {
 		(yyval.a_value) = asn1p_value_fromint(0);
 		checkmem((yyval.a_value));
@@ -4356,8 +4350,8 @@
 	}
     break;
 
-  case 251:
-#line 1932 "asn1p_y.y"
+  case 257:
+#line 1962 "asn1p_y.y"
     {
 		(yyval.a_value) = asn1p_value_fromint(1);
 		checkmem((yyval.a_value));
@@ -4365,8 +4359,8 @@
 	}
     break;
 
-  case 255:
-#line 1940 "asn1p_y.y"
+  case 261:
+#line 1970 "asn1p_y.y"
     {
 		asn1p_ref_t *ref;
 		int ret;
@@ -4380,8 +4374,8 @@
 	}
     break;
 
-  case 256:
-#line 1954 "asn1p_y.y"
+  case 262:
+#line 1984 "asn1p_y.y"
     {
 		(yyval.a_value) = _convert_bitstring2binary((yyvsp[(1) - (1)].tv_str), 'B');
 		checkmem((yyval.a_value));
@@ -4389,8 +4383,8 @@
 	}
     break;
 
-  case 257:
-#line 1959 "asn1p_y.y"
+  case 263:
+#line 1989 "asn1p_y.y"
     {
 		(yyval.a_value) = _convert_bitstring2binary((yyvsp[(1) - (1)].tv_str), 'H');
 		checkmem((yyval.a_value));
@@ -4398,23 +4392,33 @@
 	}
     break;
 
-  case 258:
-#line 1967 "asn1p_y.y"
+  case 264:
+#line 1997 "asn1p_y.y"
     {
-		(yyval.a_value) = asn1p_value_fromtype((yyvsp[(1) - (1)].a_expr));
+		(yyval.a_value) = asn1p_value_fromtype((yyvsp[(2) - (2)].a_expr));
 		checkmem((yyval.a_value));
     }
     break;
 
-  case 259:
-#line 1978 "asn1p_y.y"
+  case 265:
+#line 2004 "asn1p_y.y"
+    { (yyval.a_int) = 0; }
+    break;
+
+  case 266:
+#line 2005 "asn1p_y.y"
+    { (yyval.a_int) = 1; }
+    break;
+
+  case 267:
+#line 2013 "asn1p_y.y"
     {
 		CONSTRAINT_INSERT((yyval.a_constr), ACT_CT_WCOMP, (yyvsp[(3) - (3)].a_constr), 0);
 	}
     break;
 
-  case 260:
-#line 1981 "asn1p_y.y"
+  case 268:
+#line 2016 "asn1p_y.y"
     {
         assert((yyvsp[(3) - (3)].a_constr)->type == ACT_CA_CSV);
         (yyvsp[(3) - (3)].a_constr)->type = ACT_CT_WCOMPS;
@@ -4422,13 +4426,13 @@
 	}
     break;
 
-  case 264:
-#line 1989 "asn1p_y.y"
+  case 272:
+#line 2024 "asn1p_y.y"
     { (yyval.a_constr) = (yyvsp[(2) - (3)].a_constr); }
     break;
 
-  case 265:
-#line 1991 "asn1p_y.y"
+  case 273:
+#line 2026 "asn1p_y.y"
     {
         assert((yyvsp[(4) - (5)].a_constr)->type == ACT_CA_CSV);
 		(yyval.a_constr) = asn1p_constraint_new(yylineno, currentModule);
@@ -4443,8 +4447,8 @@
     }
     break;
 
-  case 266:
-#line 2004 "asn1p_y.y"
+  case 274:
+#line 2039 "asn1p_y.y"
     {
         (yyval.a_constr) = asn1p_constraint_new(yylineno, currentModule);
         (yyval.a_constr)->type = ACT_CA_CSV;
@@ -4452,16 +4456,16 @@
     }
     break;
 
-  case 267:
-#line 2009 "asn1p_y.y"
+  case 275:
+#line 2044 "asn1p_y.y"
     {
         (yyval.a_constr) = (yyvsp[(1) - (3)].a_constr);
         asn1p_constraint_insert((yyval.a_constr), (yyvsp[(3) - (3)].a_constr));
 	}
     break;
 
-  case 268:
-#line 2015 "asn1p_y.y"
+  case 276:
+#line 2050 "asn1p_y.y"
     {
         (yyval.a_constr) = asn1p_constraint_new(yylineno, currentModule);
         checkmem((yyval.a_constr));
@@ -4472,44 +4476,44 @@
     }
     break;
 
-  case 269:
-#line 2029 "asn1p_y.y"
+  case 277:
+#line 2064 "asn1p_y.y"
     { (yyval.a_pres) = ACPRES_DEFAULT; }
     break;
 
-  case 270:
-#line 2030 "asn1p_y.y"
+  case 278:
+#line 2065 "asn1p_y.y"
     { (yyval.a_pres) = (yyvsp[(1) - (1)].a_pres); }
     break;
 
-  case 271:
-#line 2034 "asn1p_y.y"
+  case 279:
+#line 2069 "asn1p_y.y"
     {
 		(yyval.a_pres) = ACPRES_PRESENT;
 	}
     break;
 
-  case 272:
-#line 2037 "asn1p_y.y"
+  case 280:
+#line 2072 "asn1p_y.y"
     {
 		(yyval.a_pres) = ACPRES_ABSENT;
 	}
     break;
 
-  case 273:
-#line 2040 "asn1p_y.y"
+  case 281:
+#line 2075 "asn1p_y.y"
     {
 		(yyval.a_pres) = ACPRES_OPTIONAL;
 	}
     break;
 
-  case 277:
-#line 2055 "asn1p_y.y"
+  case 285:
+#line 2090 "asn1p_y.y"
     { asn1p_lexer_hack_push_opaque_state(); }
     break;
 
-  case 278:
-#line 2055 "asn1p_y.y"
+  case 286:
+#line 2090 "asn1p_y.y"
     {
 		(yyval.a_constr) = asn1p_constraint_new(yylineno, currentModule);
 		checkmem((yyval.a_constr));
@@ -4520,8 +4524,8 @@
 	}
     break;
 
-  case 279:
-#line 2066 "asn1p_y.y"
+  case 287:
+#line 2101 "asn1p_y.y"
     {
 		(yyval.a_constr) = asn1p_constraint_new(yylineno, currentModule);
 		(yyval.a_constr)->type = ACT_CT_CTNG;
@@ -4530,42 +4534,42 @@
 	}
     break;
 
-  case 280:
-#line 2075 "asn1p_y.y"
+  case 288:
+#line 2110 "asn1p_y.y"
     { (yyval.a_ctype) = ACT_EL_RANGE; }
     break;
 
-  case 281:
-#line 2076 "asn1p_y.y"
+  case 289:
+#line 2111 "asn1p_y.y"
     { (yyval.a_ctype) = ACT_EL_RLRANGE; }
     break;
 
-  case 282:
-#line 2077 "asn1p_y.y"
+  case 290:
+#line 2112 "asn1p_y.y"
     { (yyval.a_ctype) = ACT_EL_LLRANGE; }
     break;
 
-  case 283:
-#line 2078 "asn1p_y.y"
+  case 291:
+#line 2113 "asn1p_y.y"
     { (yyval.a_ctype) = ACT_EL_ULRANGE; }
     break;
 
-  case 284:
-#line 2081 "asn1p_y.y"
+  case 292:
+#line 2116 "asn1p_y.y"
     {
 		(yyval.a_constr) = (yyvsp[(1) - (1)].a_constr);
 	}
     break;
 
-  case 285:
-#line 2084 "asn1p_y.y"
+  case 293:
+#line 2119 "asn1p_y.y"
     {
 		(yyval.a_constr) = (yyvsp[(1) - (1)].a_constr);
 	}
     break;
 
-  case 286:
-#line 2093 "asn1p_y.y"
+  case 294:
+#line 2128 "asn1p_y.y"
     {
 		asn1p_ref_t *ref = asn1p_ref_new(yylineno, currentModule);
 		asn1p_constraint_t *ct;
@@ -4581,15 +4585,15 @@
 	}
     break;
 
-  case 287:
-#line 2109 "asn1p_y.y"
+  case 295:
+#line 2144 "asn1p_y.y"
     {
 		CONSTRAINT_INSERT((yyval.a_constr), ACT_CA_CRC, (yyvsp[(1) - (4)].a_constr), (yyvsp[(3) - (4)].a_constr));
 	}
     break;
 
-  case 288:
-#line 2115 "asn1p_y.y"
+  case 296:
+#line 2150 "asn1p_y.y"
     {
 		(yyval.a_constr) = asn1p_constraint_new(yylineno, currentModule);
 		checkmem((yyval.a_constr));
@@ -4598,8 +4602,8 @@
 	}
     break;
 
-  case 289:
-#line 2121 "asn1p_y.y"
+  case 297:
+#line 2156 "asn1p_y.y"
     {
 		asn1p_constraint_t *ct;
 		ct = asn1p_constraint_new(yylineno, currentModule);
@@ -4610,8 +4614,8 @@
 	}
     break;
 
-  case 290:
-#line 2135 "asn1p_y.y"
+  case 298:
+#line 2170 "asn1p_y.y"
     {
 		char *p = malloc(strlen((yyvsp[(2) - (2)].tv_str)) + 2);
 		int ret;
@@ -4625,8 +4629,8 @@
 	}
     break;
 
-  case 291:
-#line 2146 "asn1p_y.y"
+  case 299:
+#line 2181 "asn1p_y.y"
     {
 		char *p = malloc(strlen((yyvsp[(3) - (3)].tv_str)) + 3);
 		int ret;
@@ -4641,15 +4645,15 @@
 	}
     break;
 
-  case 292:
-#line 2162 "asn1p_y.y"
+  case 300:
+#line 2197 "asn1p_y.y"
     {
 		(yyval.tv_str) = (yyvsp[(1) - (1)].tv_str);
 	}
     break;
 
-  case 293:
-#line 2165 "asn1p_y.y"
+  case 301:
+#line 2200 "asn1p_y.y"
     {
 		int l1 = strlen((yyvsp[(1) - (3)].tv_str));
 		int l3 = strlen((yyvsp[(3) - (3)].tv_str));
@@ -4663,37 +4667,37 @@
 	}
     break;
 
-  case 294:
-#line 2185 "asn1p_y.y"
+  case 302:
+#line 2220 "asn1p_y.y"
     {
 		(yyval.a_marker).flags = EM_NOMARK;
 		(yyval.a_marker).default_value = 0;
 	}
     break;
 
-  case 295:
-#line 2189 "asn1p_y.y"
+  case 303:
+#line 2224 "asn1p_y.y"
     { (yyval.a_marker) = (yyvsp[(1) - (1)].a_marker); }
     break;
 
-  case 296:
-#line 2193 "asn1p_y.y"
+  case 304:
+#line 2228 "asn1p_y.y"
     {
 		(yyval.a_marker).flags = EM_OPTIONAL | EM_INDIRECT;
 		(yyval.a_marker).default_value = 0;
 	}
     break;
 
-  case 297:
-#line 2197 "asn1p_y.y"
+  case 305:
+#line 2232 "asn1p_y.y"
     {
 		(yyval.a_marker).flags = EM_DEFAULT;
 		(yyval.a_marker).default_value = (yyvsp[(2) - (2)].a_value);
 	}
     break;
 
-  case 298:
-#line 2204 "asn1p_y.y"
+  case 306:
+#line 2239 "asn1p_y.y"
     {
 		(yyval.a_expr) = NEW_EXPR();
 		checkmem((yyval.a_expr));
@@ -4701,16 +4705,16 @@
     }
     break;
 
-  case 299:
-#line 2209 "asn1p_y.y"
+  case 307:
+#line 2244 "asn1p_y.y"
     {
 		(yyval.a_expr) = (yyvsp[(1) - (3)].a_expr);
 		asn1p_expr_add((yyval.a_expr), (yyvsp[(3) - (3)].a_expr));
     }
     break;
 
-  case 300:
-#line 2215 "asn1p_y.y"
+  case 308:
+#line 2250 "asn1p_y.y"
     {
 		(yyval.a_expr) = NEW_EXPR();
 		checkmem((yyval.a_expr));
@@ -4720,66 +4724,66 @@
     }
     break;
 
-  case 301:
-#line 2224 "asn1p_y.y"
-    {
-		(yyval.a_expr) = NEW_EXPR();
-		checkmem((yyval.a_expr));
-		asn1p_expr_add((yyval.a_expr), (yyvsp[(1) - (1)].a_expr));
-	}
-    break;
-
-  case 302:
-#line 2229 "asn1p_y.y"
-    {
-		(yyval.a_expr) = (yyvsp[(1) - (3)].a_expr);
-		asn1p_expr_add((yyval.a_expr), (yyvsp[(3) - (3)].a_expr));
-	}
-    break;
-
-  case 303:
-#line 2236 "asn1p_y.y"
-    {
-		(yyval.a_expr) = NEW_EXPR();
-		checkmem((yyval.a_expr));
-		(yyval.a_expr)->expr_type = A1TC_UNIVERVAL;
-		(yyval.a_expr)->meta_type = AMT_VALUE;
-		(yyval.a_expr)->Identifier = (yyvsp[(1) - (4)].tv_str);
-		(yyval.a_expr)->value = (yyvsp[(3) - (4)].a_value);
-	}
-    break;
-
-  case 304:
-#line 2244 "asn1p_y.y"
-    {
-		(yyval.a_expr) = NEW_EXPR();
-		checkmem((yyval.a_expr));
-		(yyval.a_expr)->expr_type = A1TC_UNIVERVAL;
-		(yyval.a_expr)->meta_type = AMT_VALUE;
-		(yyval.a_expr)->Identifier = (yyvsp[(1) - (4)].tv_str);
-		(yyval.a_expr)->value = (yyvsp[(3) - (4)].a_value);
-	}
-    break;
-
-  case 305:
-#line 2254 "asn1p_y.y"
-    {
-		(yyval.a_expr) = NEW_EXPR();
-		checkmem((yyval.a_expr));
-		asn1p_expr_add((yyval.a_expr), (yyvsp[(1) - (1)].a_expr));
-	}
-    break;
-
-  case 306:
+  case 309:
 #line 2259 "asn1p_y.y"
     {
+		(yyval.a_expr) = NEW_EXPR();
+		checkmem((yyval.a_expr));
+		asn1p_expr_add((yyval.a_expr), (yyvsp[(1) - (1)].a_expr));
+	}
+    break;
+
+  case 310:
+#line 2264 "asn1p_y.y"
+    {
 		(yyval.a_expr) = (yyvsp[(1) - (3)].a_expr);
 		asn1p_expr_add((yyval.a_expr), (yyvsp[(3) - (3)].a_expr));
 	}
     break;
 
-  case 307:
-#line 2266 "asn1p_y.y"
+  case 311:
+#line 2271 "asn1p_y.y"
+    {
+		(yyval.a_expr) = NEW_EXPR();
+		checkmem((yyval.a_expr));
+		(yyval.a_expr)->expr_type = A1TC_UNIVERVAL;
+		(yyval.a_expr)->meta_type = AMT_VALUE;
+		(yyval.a_expr)->Identifier = (yyvsp[(1) - (4)].tv_str);
+		(yyval.a_expr)->value = (yyvsp[(3) - (4)].a_value);
+	}
+    break;
+
+  case 312:
+#line 2279 "asn1p_y.y"
+    {
+		(yyval.a_expr) = NEW_EXPR();
+		checkmem((yyval.a_expr));
+		(yyval.a_expr)->expr_type = A1TC_UNIVERVAL;
+		(yyval.a_expr)->meta_type = AMT_VALUE;
+		(yyval.a_expr)->Identifier = (yyvsp[(1) - (4)].tv_str);
+		(yyval.a_expr)->value = (yyvsp[(3) - (4)].a_value);
+	}
+    break;
+
+  case 313:
+#line 2289 "asn1p_y.y"
+    {
+		(yyval.a_expr) = NEW_EXPR();
+		checkmem((yyval.a_expr));
+		asn1p_expr_add((yyval.a_expr), (yyvsp[(1) - (1)].a_expr));
+	}
+    break;
+
+  case 314:
+#line 2294 "asn1p_y.y"
+    {
+		(yyval.a_expr) = (yyvsp[(1) - (3)].a_expr);
+		asn1p_expr_add((yyval.a_expr), (yyvsp[(3) - (3)].a_expr));
+	}
+    break;
+
+  case 315:
+#line 2301 "asn1p_y.y"
     {
 		(yyval.a_expr) = NEW_EXPR();
 		checkmem((yyval.a_expr));
@@ -4790,8 +4794,8 @@
 	}
     break;
 
-  case 308:
-#line 2274 "asn1p_y.y"
+  case 316:
+#line 2309 "asn1p_y.y"
     {
 		(yyval.a_expr) = NEW_EXPR();
 		checkmem((yyval.a_expr));
@@ -4802,8 +4806,8 @@
 	}
     break;
 
-  case 309:
-#line 2284 "asn1p_y.y"
+  case 317:
+#line 2319 "asn1p_y.y"
     {
 		(yyval.a_expr) = (yyvsp[(1) - (1)].a_expr);
         asn1p_expr_t *first_memb = TQ_FIRST(&((yyval.a_expr)->members));
@@ -4819,8 +4823,8 @@
     }
     break;
 
-  case 310:
-#line 2299 "asn1p_y.y"
+  case 318:
+#line 2334 "asn1p_y.y"
     {
 		(yyval.a_expr) = NEW_EXPR();
 		checkmem((yyval.a_expr));
@@ -4828,16 +4832,16 @@
 	}
     break;
 
-  case 311:
-#line 2304 "asn1p_y.y"
+  case 319:
+#line 2339 "asn1p_y.y"
     {
 		(yyval.a_expr) = (yyvsp[(1) - (3)].a_expr);
 		asn1p_expr_add((yyval.a_expr), (yyvsp[(3) - (3)].a_expr));
 	}
     break;
 
-  case 312:
-#line 2311 "asn1p_y.y"
+  case 320:
+#line 2346 "asn1p_y.y"
     {
 		(yyval.a_expr) = NEW_EXPR();
 		checkmem((yyval.a_expr));
@@ -4847,8 +4851,8 @@
 	}
     break;
 
-  case 313:
-#line 2318 "asn1p_y.y"
+  case 321:
+#line 2353 "asn1p_y.y"
     {
 		(yyval.a_expr) = NEW_EXPR();
 		checkmem((yyval.a_expr));
@@ -4859,8 +4863,8 @@
 	}
     break;
 
-  case 314:
-#line 2326 "asn1p_y.y"
+  case 322:
+#line 2361 "asn1p_y.y"
     {
 		(yyval.a_expr) = NEW_EXPR();
 		checkmem((yyval.a_expr));
@@ -4871,8 +4875,8 @@
 	}
     break;
 
-  case 315:
-#line 2334 "asn1p_y.y"
+  case 323:
+#line 2369 "asn1p_y.y"
     {
 		(yyval.a_expr) = NEW_EXPR();
 		checkmem((yyval.a_expr));
@@ -4882,8 +4886,8 @@
 	}
     break;
 
-  case 316:
-#line 2341 "asn1p_y.y"
+  case 324:
+#line 2376 "asn1p_y.y"
     {
 		(yyval.a_expr) = NEW_EXPR();
 		checkmem((yyval.a_expr));
@@ -4894,145 +4898,145 @@
 	}
     break;
 
-  case 317:
-#line 2352 "asn1p_y.y"
+  case 325:
+#line 2387 "asn1p_y.y"
     {
 		(yyval.a_value) = asn1p_value_fromint((yyvsp[(1) - (1)].a_int));
 		checkmem((yyval.a_value));
 	}
     break;
 
-  case 318:
-#line 2356 "asn1p_y.y"
+  case 326:
+#line 2391 "asn1p_y.y"
     {
 		(yyval.a_value) = asn1p_value_fromint((yyvsp[(1) - (1)].a_int));
 		checkmem((yyval.a_value));
 	}
     break;
 
-  case 320:
-#line 2364 "asn1p_y.y"
+  case 328:
+#line 2399 "asn1p_y.y"
     {
 		(yyval.a_value) = asn1p_value_fromdouble((yyvsp[(1) - (1)].a_dbl));
 		checkmem((yyval.a_value));
 	}
     break;
 
-  case 321:
-#line 2395 "asn1p_y.y"
+  case 329:
+#line 2430 "asn1p_y.y"
     { memset(&(yyval.a_tag), 0, sizeof((yyval.a_tag))); }
     break;
 
-  case 322:
-#line 2396 "asn1p_y.y"
+  case 330:
+#line 2431 "asn1p_y.y"
     { (yyval.a_tag) = (yyvsp[(1) - (1)].a_tag); }
     break;
 
-  case 323:
-#line 2400 "asn1p_y.y"
+  case 331:
+#line 2435 "asn1p_y.y"
     {
 		(yyval.a_tag) = (yyvsp[(1) - (2)].a_tag);
 		(yyval.a_tag).tag_mode = (yyvsp[(2) - (2)].a_tag).tag_mode;
 	}
     break;
 
-  case 324:
-#line 2407 "asn1p_y.y"
+  case 332:
+#line 2442 "asn1p_y.y"
     {
 		(yyval.a_tag) = (yyvsp[(2) - (4)].a_tag);
 		(yyval.a_tag).tag_value = (yyvsp[(3) - (4)].a_int);
 	}
     break;
 
-  case 325:
-#line 2413 "asn1p_y.y"
+  case 333:
+#line 2448 "asn1p_y.y"
     { (yyval.a_tag).tag_class = TC_CONTEXT_SPECIFIC; }
     break;
 
-  case 326:
-#line 2414 "asn1p_y.y"
+  case 334:
+#line 2449 "asn1p_y.y"
     { (yyval.a_tag).tag_class = TC_UNIVERSAL; }
     break;
 
-  case 327:
-#line 2415 "asn1p_y.y"
+  case 335:
+#line 2450 "asn1p_y.y"
     { (yyval.a_tag).tag_class = TC_APPLICATION; }
     break;
 
-  case 328:
-#line 2416 "asn1p_y.y"
+  case 336:
+#line 2451 "asn1p_y.y"
     { (yyval.a_tag).tag_class = TC_PRIVATE; }
     break;
 
-  case 329:
-#line 2420 "asn1p_y.y"
+  case 337:
+#line 2455 "asn1p_y.y"
     { (yyval.a_tag).tag_mode = TM_DEFAULT; }
     break;
 
-  case 330:
-#line 2421 "asn1p_y.y"
+  case 338:
+#line 2456 "asn1p_y.y"
     { (yyval.a_tag).tag_mode = TM_IMPLICIT; }
     break;
 
-  case 331:
-#line 2422 "asn1p_y.y"
+  case 339:
+#line 2457 "asn1p_y.y"
     { (yyval.a_tag).tag_mode = TM_EXPLICIT; }
     break;
 
-  case 332:
-#line 2426 "asn1p_y.y"
+  case 340:
+#line 2461 "asn1p_y.y"
     {
 		checkmem((yyvsp[(1) - (1)].tv_str));
 		(yyval.tv_str) = (yyvsp[(1) - (1)].tv_str);
 	}
     break;
 
-  case 333:
-#line 2430 "asn1p_y.y"
+  case 341:
+#line 2465 "asn1p_y.y"
     {
 		checkmem((yyvsp[(1) - (1)].tv_str));
 		(yyval.tv_str) = (yyvsp[(1) - (1)].tv_str);
 	}
     break;
 
-  case 334:
-#line 2438 "asn1p_y.y"
+  case 342:
+#line 2473 "asn1p_y.y"
     {
 		checkmem((yyvsp[(1) - (1)].tv_str));
 		(yyval.tv_str) = (yyvsp[(1) - (1)].tv_str);
 	}
     break;
 
-  case 335:
-#line 2445 "asn1p_y.y"
+  case 343:
+#line 2480 "asn1p_y.y"
     { (yyval.tv_str) = 0; }
     break;
 
-  case 336:
-#line 2446 "asn1p_y.y"
+  case 344:
+#line 2481 "asn1p_y.y"
     {
 		(yyval.tv_str) = (yyvsp[(1) - (1)].tv_str);
 	}
     break;
 
-  case 337:
-#line 2452 "asn1p_y.y"
+  case 345:
+#line 2487 "asn1p_y.y"
     {
 		checkmem((yyvsp[(1) - (1)].tv_str));
 		(yyval.tv_str) = (yyvsp[(1) - (1)].tv_str);
 	}
     break;
 
-  case 338:
-#line 2459 "asn1p_y.y"
+  case 346:
+#line 2494 "asn1p_y.y"
     {
 		(yyval.a_ref) = asn1p_ref_new(yylineno, currentModule);
 		asn1p_ref_add_component((yyval.a_ref), (yyvsp[(1) - (1)].tv_str), RLT_lowercase);
     }
     break;
 
-  case 339:
-#line 2465 "asn1p_y.y"
+  case 347:
+#line 2500 "asn1p_y.y"
     {
 		(yyval.a_value) = asn1p_value_fromref((yyvsp[(1) - (1)].a_ref), 0);
     }
@@ -5040,7 +5044,7 @@
 
 
 /* Line 1267 of yacc.c.  */
-#line 5044 "asn1p_y.c"
+#line 5048 "asn1p_y.c"
       default: break;
     }
   YY_SYMBOL_PRINT ("-> $$ =", yyr1[yyn], &yyval, &yyloc);
@@ -5254,7 +5258,7 @@
 }
 
 
-#line 2469 "asn1p_y.y"
+#line 2504 "asn1p_y.y"
 
 
 
diff --git a/libasn1parser/asn1p_y.h b/libasn1parser/asn1p_y.h
index 4c53acb..8581bc8 100644
--- a/libasn1parser/asn1p_y.h
+++ b/libasn1parser/asn1p_y.h
@@ -262,7 +262,7 @@
 
 #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
 typedef union YYSTYPE
-#line 90 "asn1p_y.y"
+#line 115 "asn1p_y.y"
 {
 	asn1p_t			*a_grammar;
 	asn1p_module_flags_e	 a_module_flags;
diff --git a/libasn1parser/asn1p_y.y b/libasn1parser/asn1p_y.y
index dbad995..1f213d2 100644
--- a/libasn1parser/asn1p_y.y
+++ b/libasn1parser/asn1p_y.y
@@ -3,6 +3,7 @@
 #include <stdlib.h>
 #include <stdio.h>
 #include <string.h>
+#include <stdarg.h>
 #include <errno.h>
 #include <assert.h>
 
@@ -11,6 +12,30 @@
 #define YYPARSE_PARAM	param
 #define YYPARSE_PARAM_TYPE	void **
 #define YYERROR_VERBOSE
+#define YYDEBUG 1
+#define YYFPRINTF   prefixed_fprintf
+
+/*
+ * Prefix parser debug with "PARSER: " for easier human eye scanning.
+ */
+static int
+__attribute__((format(printf, 2, 3)))
+prefixed_fprintf(FILE *f, const char *fmt, ...) {
+    static int line_ended = 1;
+    va_list ap;
+    va_start(ap, fmt);
+    if(line_ended) {
+        fprintf(f, "PARSER: ");
+        line_ended = 0;
+    }
+    size_t len = strlen(fmt);
+    if(len && fmt[len-1] == '\n') {
+        line_ended = 1;
+    }
+    int ret = vfprintf(f, fmt, ap);
+    va_end(ap);
+    return ret;
+}
 
 int yylex(void);
 int yyerror(const char *msg);
@@ -328,9 +353,13 @@
 %type	<a_tag>			Tag 		/* [UNIVERSAL 0] IMPLICIT */
 %type	<a_tag>			TagClass TagTypeValue TagPlicit
 %type	<a_tag>			optTag		/* [UNIVERSAL 0] IMPLICIT */
-%type	<a_constr>		optConstraints
-%type	<a_constr>		optSizeConstraints
+%type	<a_constr>		optConstraint
+%type	<a_constr>		optManyConstraints  /* Only for Type */
+%type	<a_constr>		ManyConstraints
+%type	<a_constr>		optSizeOrConstraint
 %type	<a_constr>		Constraint
+%type	<a_constr>		PermittedAlphabet
+%type	<a_constr>		SizeConstraint
 %type	<a_constr>		SingleTypeConstraint
 %type	<a_constr>		MultipleTypeConstraints
 %type	<a_constr>		NamedConstraint
@@ -340,25 +369,27 @@
 %type	<a_constr>		ConstraintSpec
 %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>		ElementSetSpec		/* 1..2 */
 %type	<a_constr>		Unions
 %type	<a_constr>		Intersections
 %type	<a_constr>		IntersectionElements
-%type	<a_constr>		ConstraintSubtypeElement /* 1..2 */
+%type	<a_constr>		Elements
+%type	<a_constr>		SubtypeElements /* 1..2 */
 %type	<a_constr>		SimpleTableConstraint
 %type	<a_constr>		UserDefinedConstraint
 %type	<a_constr>		TableConstraint
 %type	<a_constr>		ContentsConstraint
 %type	<a_constr>		PatternConstraint
-%type	<a_constr>		InnerTypeConstraint
+%type	<a_constr>		InnerTypeConstraints
+%type	<a_constr>		ValueRange
 %type	<a_constr>		ComponentRelationConstraint
 %type	<a_constr>		AtNotationList
 %type	<a_ref>			AtNotationElement
 %type	<a_value>		SingleValue
+%type	<a_value>		LowerEndValue
+%type	<a_value>		UpperEndValue
 %type	<a_value>		ContainedSubtype
-%type	<a_ctype>		ConstraintType
 %type	<a_ctype>		ConstraintRangeSpec
 %type	<a_value>		RestrictedCharacterStringValue
 %type	<a_wsynt>		optWithSyntax
@@ -366,7 +397,8 @@
 %type	<a_wsynt>		WithSyntaxList
 %type	<a_wchunk>		WithSyntaxToken
 %type	<a_marker>		optMarker Marker
-%type	<a_int>			optUnique
+%type	<a_int>			optUNIQUE
+%type	<a_int>			optINCLUDES
 %type	<a_pres>		optPresenceConstraint PresenceConstraint
 %type	<tv_str>		ComponentIdList
 %type	<a_int>			NSTD_IndirectMarker
@@ -1073,7 +1105,7 @@
 	}
 	;
 
-optUnique:
+optUNIQUE:
 	{ $$ = 0; }
 	| TOK_UNIQUE { $$ = 1; }
 	;
@@ -1106,7 +1138,7 @@
 	}
 
 	/* FixedTypeValueFieldSpec ::= valuefieldreference Type UNIQUE ? ValueOptionalitySpec ? */
-	| TOK_valuefieldreference Type optUnique optMarker {
+	| TOK_valuefieldreference Type optUNIQUE optMarker {
 		$$ = NEW_EXPR();
 		$$->Identifier = $1;
 		$$->meta_type = AMT_OBJECTFIELD;
@@ -1244,7 +1276,7 @@
 	;
 
 Type:
-	optTag TypeDeclaration optConstraints {
+	optTag TypeDeclaration optManyConstraints {
 		$$ = $2;
 		$$->tag = $1;
 		/*
@@ -1258,7 +1290,7 @@
 		} else {
 			if($$->constraints) {
 				assert(!$2);
-				/* Check this : optConstraints is not used ?! */
+				/* Check this : optManyConstraints is not used ?! */
 				asn1p_constraint_free($3);
 			} else {
 				$$->constraints = $3;
@@ -1315,7 +1347,7 @@
 		$$->expr_type = ASN_CONSTR_SET;
 		$$->meta_type = AMT_TYPE;
 	}
-	| TOK_SEQUENCE optSizeConstraints TOK_OF optIdentifier optTag TypeDeclaration {
+	| TOK_SEQUENCE optSizeOrConstraint TOK_OF optIdentifier optTag TypeDeclaration {
 		$$ = NEW_EXPR();
 		checkmem($$);
 		$$->constraints = $2;
@@ -1325,7 +1357,7 @@
 		$6->tag = $5;
 		asn1p_expr_add($$, $6);
 	}
-	| TOK_SET optSizeConstraints TOK_OF optIdentifier optTag TypeDeclaration {
+	| TOK_SET optSizeOrConstraint TOK_OF optIdentifier optTag TypeDeclaration {
 		$$ = NEW_EXPR();
 		checkmem($$);
 		$$->constraints = $2;
@@ -1742,31 +1774,36 @@
 IntersectionMark:	'^' | TOK_INTERSECTION;
 
 /* empty | Constraint */
-optConstraints:
+optConstraint:
 	{ $$ = 0; }
 	| Constraint;
 
+/* empty | Constraint... */
+optManyConstraints:
+	{ $$ = 0; }
+	| ManyConstraints;
+
 /* empty | Constraint | SIZE(...) */
-optSizeConstraints:
+optSizeOrConstraint:
 	{ $$ = 0; }
 	| Constraint
-	| TOK_SIZE '('  ConstraintSpec ')' {
-		CONSTRAINT_INSERT($$, ACT_CT_SIZE, $3, 0);
-	}
+	| SizeConstraint
 	;
 
 Constraint:
-    SetOfConstraints {
-		CONSTRAINT_INSERT($$, ACT_CA_SET, $1, 0);
+    '(' ConstraintSpec ')' {
+		CONSTRAINT_INSERT($$, ACT_CA_SET, $2, 0);
     }
     ;
 
-SetOfConstraints:
-	'(' ConstraintSpec ')' {
-		$$ = $2;
-	}
-	| SetOfConstraints '(' ConstraintSpec ')' {
-		CONSTRAINT_INSERT($$, ACT_CA_SET, $1, $3);
+ManyConstraints:
+    Constraint
+	| ManyConstraints Constraint {
+        if($2->type == ACT_CA_SET && $2->el_count == 1) {
+            CONSTRAINT_INSERT($$, ACT_CA_SET, $1, $2->elements[0]);
+        } else {
+            CONSTRAINT_INSERT($$, ACT_CA_SET, $1, $2);
+        }
 	}
 	;
 
@@ -1779,26 +1816,26 @@
 		$$ = asn1p_constraint_new(yylineno, currentModule);
 		$$->type = ACT_EL_EXT;
 	}
-	| ElementSetSpec
-	| ElementSetSpec ',' TOK_ThreeDots {
-		asn1p_constraint_t *ct;
-		ct = asn1p_constraint_new(yylineno, currentModule);
-		ct->type = ACT_EL_EXT;
-		CONSTRAINT_INSERT($$, ACT_CA_CSV, $1, ct);
-	}
-	| ElementSetSpec ',' TOK_ThreeDots ',' ElementSetSpec {
-		asn1p_constraint_t *ct;
-		ct = asn1p_constraint_new(yylineno, currentModule);
-		ct->type = ACT_EL_EXT;
-		CONSTRAINT_INSERT($$, ACT_CA_CSV, $1, ct);
-		ct = $$;
-		CONSTRAINT_INSERT($$, ACT_CA_CSV, ct, $5);
-	}
-	;
+   | ElementSetSpec
+   | ElementSetSpec ',' TOK_ThreeDots {
+       asn1p_constraint_t *ct;
+       ct = asn1p_constraint_new(yylineno, currentModule);
+       ct->type = ACT_EL_EXT;
+       CONSTRAINT_INSERT($$, ACT_CA_CSV, $1, ct);
+   }
+   | ElementSetSpec ',' TOK_ThreeDots ',' ElementSetSpec {
+       asn1p_constraint_t *ct;
+       ct = asn1p_constraint_new(yylineno, currentModule);
+       ct->type = ACT_EL_EXT;
+       CONSTRAINT_INSERT($$, ACT_CA_CSV, $1, ct);
+       ct = $$;
+       CONSTRAINT_INSERT($$, ACT_CA_CSV, ct, $5);
+   }
+;
 
 ElementSetSpec:
 	Unions
-	| TOK_ALL TOK_EXCEPT ConstraintSubtypeElement {
+	| TOK_ALL TOK_EXCEPT Elements {
 		CONSTRAINT_INSERT($$, ACT_CA_AEX, $3, 0);
 	}
 	;
@@ -1819,30 +1856,26 @@
 
 
 IntersectionElements:
-	ConstraintSubtypeElement
-	| ConstraintSubtypeElement TOK_EXCEPT ConstraintSubtypeElement {
+	Elements
+	| Elements TOK_EXCEPT Elements {
 		CONSTRAINT_INSERT($$, ACT_CA_EXC, $1, $3);
 	}
 	;
 
-ConstraintSubtypeElement:
-	ConstraintType '(' ElementSetSpecs ')' {
-		int ret;
-		$$ = asn1p_constraint_new(yylineno, currentModule);
-		checkmem($$);
-		$$->type = $1;
-		ret = asn1p_constraint_insert($$, $3);
-		checkmem(ret == 0);
-	}
-	| '(' ElementSetSpecs ')' {
-		int ret;
-		$$ = asn1p_constraint_new(yylineno, currentModule);
-		checkmem($$);
-		$$->type = ACT_CA_SET;
-		ret = asn1p_constraint_insert($$, $2);
-		checkmem(ret == 0);
-	}
-	| SingleValue {
+Elements:
+    SubtypeElements
+    | '(' ElementSetSpec ')' {
+        int ret;
+        $$ = asn1p_constraint_new(yylineno, currentModule);
+        checkmem($$);
+        $$->type = ACT_CA_SET;
+        ret = asn1p_constraint_insert($$, $2);
+        checkmem(ret == 0);
+    }
+    ;
+
+SubtypeElements:
+	SingleValue {
 		$$ = asn1p_constraint_new(yylineno, currentModule);
 		checkmem($$);
 		$$->type = ACT_EL_VALUE;
@@ -1854,40 +1887,12 @@
 		$$->type = ACT_EL_TYPE;
 		$$->containedSubtype = $1;
 	}
-	| SingleValue ConstraintRangeSpec SingleValue {
-		$$ = asn1p_constraint_new(yylineno, currentModule);
-		checkmem($$);
-		$$->type = $2;
-		$$->range_start = $1;
-		$$->range_stop = $3;
-	}
-	| TOK_MIN ConstraintRangeSpec SingleValue {
-		$$ = asn1p_constraint_new(yylineno, currentModule);
-		checkmem($$);
-		$$->type = $2;
-		$$->range_start = asn1p_value_fromint(-123);
-		$$->range_stop = $3;
-		$$->range_start->type = ATV_MIN;
-	}
-	| SingleValue ConstraintRangeSpec TOK_MAX {
-		$$ = asn1p_constraint_new(yylineno, currentModule);
-		checkmem($$);
-		$$->type = $2;
-		$$->range_start = $1;
-		$$->range_stop = asn1p_value_fromint(321);
-		$$->range_stop->type = ATV_MAX;
-	}
-	| TOK_MIN ConstraintRangeSpec TOK_MAX {
-		$$ = asn1p_constraint_new(yylineno, currentModule);
-		checkmem($$);
-		$$->type = $2;
-		$$->range_start = asn1p_value_fromint(-123);
-		$$->range_stop = asn1p_value_fromint(321);
-		$$->range_start->type = ATV_MIN;
-		$$->range_stop->type = ATV_MAX;
-	}
-	| InnerTypeConstraint
-	| PatternConstraint
+    | PermittedAlphabet /* FROM ... */
+    | SizeConstraint    /* SIZE ... */
+    /* | TypeConstraint is via ContainedSubtype */
+	| InnerTypeConstraints  /* WITH COMPONENT[S] ... */
+	| PatternConstraint     /* PATTERN ... */
+	| ValueRange
 	| '{' { asn1p_lexer_hack_push_opaque_state(); } Opaque /* '}' */ {
 		$$ = asn1p_constraint_new(yylineno, currentModule);
 		checkmem($$);
@@ -1897,6 +1902,17 @@
 	}
 	;
 
+
+PermittedAlphabet:
+	TOK_FROM Constraint {
+		CONSTRAINT_INSERT($$, ACT_CT_FROM, $2, 0);
+	};
+
+SizeConstraint:
+	TOK_SIZE Constraint {
+		CONSTRAINT_INSERT($$, ACT_CT_SIZE, $2, 0);
+	};
+
 PatternConstraint:
 	TOK_PATTERN TOK_cstring {
 		$$ = asn1p_constraint_new(yylineno, currentModule);
@@ -1914,14 +1930,28 @@
 	}
 	;
 
-ConstraintType:
-	TOK_SIZE {
-		$$ = ACT_CT_SIZE;
-	}
-	| TOK_FROM {
-		$$ = ACT_CT_FROM;
-	}
-	;
+ValueRange:
+    LowerEndValue ConstraintRangeSpec UpperEndValue {
+		$$ = asn1p_constraint_new(yylineno, currentModule);
+		checkmem($$);
+		$$->type = $2;
+		$$->range_start = $1;
+		$$->range_stop = $3;
+    };
+
+LowerEndValue:
+    SingleValue
+    | TOK_MIN {
+		$$ = asn1p_value_fromint(-123);
+		$$->type = ATV_MIN;
+    };
+
+UpperEndValue:
+    SingleValue
+    | TOK_MAX {
+		$$ = asn1p_value_fromint(321);
+		$$->type = ATV_MAX;
+    };
 
 SingleValue:
 	TOK_FALSE {
@@ -1964,17 +1994,22 @@
 	;
 
 ContainedSubtype:
-    Type {
-		$$ = asn1p_value_fromtype($1);
+    optINCLUDES Type {
+		$$ = asn1p_value_fromtype($2);
 		checkmem($$);
     }
 	;
 
+optINCLUDES:
+	{ $$ = 0; }
+	| TOK_INCLUDES { $$ = 1; }
+	;
+
 /*
  * X.680 08/2015
  * #51.8.5
  */
-InnerTypeConstraint:
+InnerTypeConstraints:
 	TOK_WITH TOK_COMPONENT SingleTypeConstraint {
 		CONSTRAINT_INSERT($$, ACT_CT_WCOMP, $3, 0);
 	}
@@ -2012,7 +2047,7 @@
 	}
 	;
 NamedConstraint:
-	IdentifierAsValue optConstraints optPresenceConstraint {
+	IdentifierAsValue optConstraint optPresenceConstraint {
         $$ = asn1p_constraint_new(yylineno, currentModule);
         checkmem($$);
         $$->type = ACT_EL_VALUE;
diff --git a/libasn1parser/asn1parser.c b/libasn1parser/asn1parser.c
index 32b6734..fcc59b1 100644
--- a/libasn1parser/asn1parser.c
+++ b/libasn1parser/asn1parser.c
@@ -132,6 +132,7 @@
 extern int asn1p_lexer_constructs_year;
 extern int asn1p_lexer_extended_values;
 extern int asn1p__flex_debug;
+extern int asn1p_debug;
 
 static int
 _asn1p_set_flags(enum asn1p_flags flags) {
@@ -139,15 +140,18 @@
 	asn1p_lexer_types_year = 0;
 	asn1p_lexer_constructs_year = 0;
 	asn1p__flex_debug = 0;
+	asn1p_debug = 0;
 
-	/*
-	 * Enable debugging in lexer.
-	 */
-	if(flags & A1P_LEXER_DEBUG) {
-		flags &= ~A1P_LEXER_DEBUG;
+	if(flags & A1P_DEBUG_LEXER) {
+		flags &= ~A1P_DEBUG_LEXER;
 		asn1p__flex_debug = 1;
     }
 
+	if(flags & A1P_DEBUG_PARSER) {
+		flags &= ~A1P_DEBUG_PARSER;
+		asn1p_debug = 1;
+    }
+
     if(flags & A1P_EXTENDED_VALUES) {
         flags &= ~A1P_EXTENDED_VALUES;
         asn1p_lexer_extended_values = 1;
diff --git a/libasn1parser/asn1parser.h b/libasn1parser/asn1parser.h
index ed0a9f8..0819816 100644
--- a/libasn1parser/asn1parser.h
+++ b/libasn1parser/asn1parser.h
@@ -29,13 +29,14 @@
 enum asn1p_flags {
     A1P_NOFLAGS,
     /*
-     * Enable verbose debugging output from lexer.
+     * Enable verbose debugging output from lexer and parser.
      */
-    A1P_LEXER_DEBUG = 0x01,
+    A1P_DEBUG_LEXER = 0x01,
+    A1P_DEBUG_PARSER = 0x02,
     /*
      * Unlock internal helper value types.
      */
-    A1P_EXTENDED_VALUES = 0x02
+    A1P_EXTENDED_VALUES = 0x04
 };
 
 /*
diff --git a/libasn1print/asn1print.c b/libasn1print/asn1print.c
index 92c8d0e..9696dd4 100644
--- a/libasn1print/asn1print.c
+++ b/libasn1print/asn1print.c
@@ -341,9 +341,6 @@
 
 	if(ct == 0) return 0;
 
-	if(ct->type == ACT_CA_SET)
-		safe_printf("(");
-
 	switch(ct->type) {
 	case ACT_EL_TYPE:
 		asn1print_value(ct->containedSubtype, flags);
@@ -373,14 +370,13 @@
 	case ACT_CT_SIZE:
 	case ACT_CT_FROM:
 		switch(ct->type) {
-		case ACT_CT_SIZE: safe_printf("SIZE("); break;
-		case ACT_CT_FROM: safe_printf("FROM("); break;
-		default: safe_printf("??? ("); break;
+		case ACT_CT_SIZE: safe_printf("SIZE"); break;
+		case ACT_CT_FROM: safe_printf("FROM"); break;
+		default: safe_printf("??? "); break;
 		}
 		assert(ct->el_count != 0);
 		assert(ct->el_count == 1);
 		asn1print_constraint(ct->elements[0], flags);
-		safe_printf(")");
 		break;
 	case ACT_CT_WCOMP:
 		assert(ct->el_count != 0);
@@ -431,6 +427,7 @@
 			char *symtable[] = { " EXCEPT ", " ^ ", " | ", ",",
 					"", "(" };
 			unsigned int i;
+            if(ct->type == ACT_CA_SET) safe_printf("(");
 			for(i = 0; i < ct->el_count; i++) {
 				if(i) safe_printf("%s", symtable[symno]);
 				if(ct->type == ACT_CA_CRC) safe_printf("{");
@@ -439,6 +436,7 @@
 				if(ct->type == ACT_CA_SET && i+1 < ct->el_count)
 					safe_printf(") ");
 			}
+            if(ct->type == ACT_CA_SET) safe_printf(")");
 		}
 		break;
 	case ACT_CA_AEX:
@@ -457,9 +455,6 @@
         asn1print_constraint(ct->elements[0], flags);
     }
 
-	if(ct->type == ACT_CA_SET)
-		safe_printf(")");
-
 	return 0;
 }
 
diff --git a/tests/tests-asn1c-compiler/138-oer-constraints-OK.asn1 b/tests/tests-asn1c-compiler/138-oer-constraints-OK.asn1
index ce868b5..486cbc0 100644
--- a/tests/tests-asn1c-compiler/138-oer-constraints-OK.asn1
+++ b/tests/tests-asn1c-compiler/138-oer-constraints-OK.asn1
@@ -20,13 +20,16 @@
     G-3-3 ::= INTEGER (0..10,...)(2..5,...)(3)  -- OER-visible constraint 3
     -- X.696 #8.2.4 Not OER-visible parts of INTERSECTION are ignored
     H-4-5 ::= INTEGER ((0..5) ^ (4..9))         -- OER-visible constraint 4..5
-    I-0-5 ::= INTEGER ((0..5) ^ (4..12,...))    -- OER-visible constraint 0..5
-    J-4-9 ::= INTEGER ((0..5,...) ^ (4..9))     -- OER-visible constraint 4..9
-    K-inv ::= INTEGER ((0..5,...) ^ (4..9,...)) -- Not OER-visible
+    I-1-5 ::= INTEGER ((0..5) ^ (EConstr))      -- OER-visible constraint 1..5
+    J-4-5 ::= INTEGER ((EConstr) ^ (4..9))      -- OER-visible constraint 4..5
+    K-1-4 ::= INTEGER ((FConstr) ^ (EConstr))   -- OER-visible constraint 1..4
     -- X.696 #8.2.5 UNION with exeptions are ignored
     L-0-5 ::= INTEGER ((0) | (5))               -- OER-visible constraint 0..5
-    M-inv ::= INTEGER ((0) | (5,...))           -- Not OER-visible
-    N-inv ::= INTEGER ((0..4,...) | (5))        -- Not OER-visible
-    O-inv ::= INTEGER ((0..4,...) | (5,...))    -- Not OER-visible
+    M-inv ::= INTEGER ((0) | (EConstr),...)     -- Not OER-visible
+    N-0-5 ::= INTEGER ((FConstr) | (5))         -- OER-visible constraint 0..5
+    O-inv ::= INTEGER ((FConstr) | (5), ...)    -- Not OER-visible
+
+    EConstr ::= INTEGER (1..5,...)
+    FConstr ::= INTEGER (0..4)
 
 END
diff --git a/tests/tests-asn1c-compiler/138-oer-constraints-OK.asn1.-Pgen-OER b/tests/tests-asn1c-compiler/138-oer-constraints-OK.asn1.-Pgen-OER
index 3dd913e..0cea1a6 100644
--- a/tests/tests-asn1c-compiler/138-oer-constraints-OK.asn1.-Pgen-OER
+++ b/tests/tests-asn1c-compiler/138-oer-constraints-OK.asn1.-Pgen-OER
@@ -624,31 +624,31 @@
 };
 
 
-/*** <<< INCLUDES [I-0-5] >>> ***/
+/*** <<< INCLUDES [I-1-5] >>> ***/
 
 #include <NativeInteger.h>
 
-/*** <<< TYPE-DECLS [I-0-5] >>> ***/
+/*** <<< TYPE-DECLS [I-1-5] >>> ***/
 
-typedef long	 I_0_5_t;
+typedef long	 I_1_5_t;
 
-/*** <<< FUNC-DECLS [I-0-5] >>> ***/
+/*** <<< FUNC-DECLS [I-1-5] >>> ***/
 
-extern asn_TYPE_descriptor_t asn_DEF_I_0_5;
-asn_struct_free_f I_0_5_free;
-asn_struct_print_f I_0_5_print;
-asn_constr_check_f I_0_5_constraint;
-ber_type_decoder_f I_0_5_decode_ber;
-der_type_encoder_f I_0_5_encode_der;
-xer_type_decoder_f I_0_5_decode_xer;
-xer_type_encoder_f I_0_5_encode_xer;
-oer_type_decoder_f I_0_5_decode_oer;
-oer_type_encoder_f I_0_5_encode_oer;
+extern asn_TYPE_descriptor_t asn_DEF_I_1_5;
+asn_struct_free_f I_1_5_free;
+asn_struct_print_f I_1_5_print;
+asn_constr_check_f I_1_5_constraint;
+ber_type_decoder_f I_1_5_decode_ber;
+der_type_encoder_f I_1_5_encode_der;
+xer_type_decoder_f I_1_5_decode_xer;
+xer_type_encoder_f I_1_5_encode_xer;
+oer_type_decoder_f I_1_5_decode_oer;
+oer_type_encoder_f I_1_5_encode_oer;
 
-/*** <<< CODE [I-0-5] >>> ***/
+/*** <<< CODE [I-1-5] >>> ***/
 
 int
-I_0_5_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
+I_1_5_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
 			asn_app_constraint_failed_f *ctfailcb, void *app_key) {
 	long value;
 	
@@ -661,7 +661,7 @@
 	
 	value = *(const long *)sptr;
 	
-	if((value >= 4 && value <= 5)) {
+	if((value >= 1 && value <= 5)) {
 		/* Constraint check succeeded */
 		return 0;
 	} else {
@@ -677,60 +677,60 @@
  * so here we adjust the DEF accordingly.
  */
 
-/*** <<< CTDEFS [I-0-5] >>> ***/
+/*** <<< CTDEFS [I-1-5] >>> ***/
 
-static asn_oer_constraints_t asn_OER_type_I_0_5_constr_1 GCC_NOTUSED = {
-	{ 1, 1 }	/* (0..5) */,
+static asn_oer_constraints_t asn_OER_type_I_1_5_constr_1 GCC_NOTUSED = {
+	{ 1, 1 }	/* (1..5) */,
 	-1};
 
-/*** <<< STAT-DEFS [I-0-5] >>> ***/
+/*** <<< STAT-DEFS [I-1-5] >>> ***/
 
-static const ber_tlv_tag_t asn_DEF_I_0_5_tags_1[] = {
+static const ber_tlv_tag_t asn_DEF_I_1_5_tags_1[] = {
 	(ASN_TAG_CLASS_UNIVERSAL | (2 << 2))
 };
-asn_TYPE_descriptor_t asn_DEF_I_0_5 = {
-	"I-0-5",
-	"I-0-5",
+asn_TYPE_descriptor_t asn_DEF_I_1_5 = {
+	"I-1-5",
+	"I-1-5",
 	&asn_OP_NativeInteger,
-	I_0_5_constraint,
-	asn_DEF_I_0_5_tags_1,
-	sizeof(asn_DEF_I_0_5_tags_1)
-		/sizeof(asn_DEF_I_0_5_tags_1[0]), /* 1 */
-	asn_DEF_I_0_5_tags_1,	/* Same as above */
-	sizeof(asn_DEF_I_0_5_tags_1)
-		/sizeof(asn_DEF_I_0_5_tags_1[0]), /* 1 */
-	&asn_OER_type_I_0_5_constr_1,
+	I_1_5_constraint,
+	asn_DEF_I_1_5_tags_1,
+	sizeof(asn_DEF_I_1_5_tags_1)
+		/sizeof(asn_DEF_I_1_5_tags_1[0]), /* 1 */
+	asn_DEF_I_1_5_tags_1,	/* Same as above */
+	sizeof(asn_DEF_I_1_5_tags_1)
+		/sizeof(asn_DEF_I_1_5_tags_1[0]), /* 1 */
+	&asn_OER_type_I_1_5_constr_1,
 	0,	/* No PER visible constraints */
 	0, 0,	/* No members */
 	0	/* No specifics */
 };
 
 
-/*** <<< INCLUDES [J-4-9] >>> ***/
+/*** <<< INCLUDES [J-4-5] >>> ***/
 
 #include <NativeInteger.h>
 
-/*** <<< TYPE-DECLS [J-4-9] >>> ***/
+/*** <<< TYPE-DECLS [J-4-5] >>> ***/
 
-typedef long	 J_4_9_t;
+typedef long	 J_4_5_t;
 
-/*** <<< FUNC-DECLS [J-4-9] >>> ***/
+/*** <<< FUNC-DECLS [J-4-5] >>> ***/
 
-extern asn_TYPE_descriptor_t asn_DEF_J_4_9;
-asn_struct_free_f J_4_9_free;
-asn_struct_print_f J_4_9_print;
-asn_constr_check_f J_4_9_constraint;
-ber_type_decoder_f J_4_9_decode_ber;
-der_type_encoder_f J_4_9_encode_der;
-xer_type_decoder_f J_4_9_decode_xer;
-xer_type_encoder_f J_4_9_encode_xer;
-oer_type_decoder_f J_4_9_decode_oer;
-oer_type_encoder_f J_4_9_encode_oer;
+extern asn_TYPE_descriptor_t asn_DEF_J_4_5;
+asn_struct_free_f J_4_5_free;
+asn_struct_print_f J_4_5_print;
+asn_constr_check_f J_4_5_constraint;
+ber_type_decoder_f J_4_5_decode_ber;
+der_type_encoder_f J_4_5_encode_der;
+xer_type_decoder_f J_4_5_decode_xer;
+xer_type_encoder_f J_4_5_encode_xer;
+oer_type_decoder_f J_4_5_decode_oer;
+oer_type_encoder_f J_4_5_encode_oer;
 
-/*** <<< CODE [J-4-9] >>> ***/
+/*** <<< CODE [J-4-5] >>> ***/
 
 int
-J_4_9_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
+J_4_5_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
 			asn_app_constraint_failed_f *ctfailcb, void *app_key) {
 	long value;
 	
@@ -759,60 +759,60 @@
  * so here we adjust the DEF accordingly.
  */
 
-/*** <<< CTDEFS [J-4-9] >>> ***/
+/*** <<< CTDEFS [J-4-5] >>> ***/
 
-static asn_oer_constraints_t asn_OER_type_J_4_9_constr_1 GCC_NOTUSED = {
-	{ 1, 1 }	/* (4..9) */,
+static asn_oer_constraints_t asn_OER_type_J_4_5_constr_1 GCC_NOTUSED = {
+	{ 1, 1 }	/* (4..5) */,
 	-1};
 
-/*** <<< STAT-DEFS [J-4-9] >>> ***/
+/*** <<< STAT-DEFS [J-4-5] >>> ***/
 
-static const ber_tlv_tag_t asn_DEF_J_4_9_tags_1[] = {
+static const ber_tlv_tag_t asn_DEF_J_4_5_tags_1[] = {
 	(ASN_TAG_CLASS_UNIVERSAL | (2 << 2))
 };
-asn_TYPE_descriptor_t asn_DEF_J_4_9 = {
-	"J-4-9",
-	"J-4-9",
+asn_TYPE_descriptor_t asn_DEF_J_4_5 = {
+	"J-4-5",
+	"J-4-5",
 	&asn_OP_NativeInteger,
-	J_4_9_constraint,
-	asn_DEF_J_4_9_tags_1,
-	sizeof(asn_DEF_J_4_9_tags_1)
-		/sizeof(asn_DEF_J_4_9_tags_1[0]), /* 1 */
-	asn_DEF_J_4_9_tags_1,	/* Same as above */
-	sizeof(asn_DEF_J_4_9_tags_1)
-		/sizeof(asn_DEF_J_4_9_tags_1[0]), /* 1 */
-	&asn_OER_type_J_4_9_constr_1,
+	J_4_5_constraint,
+	asn_DEF_J_4_5_tags_1,
+	sizeof(asn_DEF_J_4_5_tags_1)
+		/sizeof(asn_DEF_J_4_5_tags_1[0]), /* 1 */
+	asn_DEF_J_4_5_tags_1,	/* Same as above */
+	sizeof(asn_DEF_J_4_5_tags_1)
+		/sizeof(asn_DEF_J_4_5_tags_1[0]), /* 1 */
+	&asn_OER_type_J_4_5_constr_1,
 	0,	/* No PER visible constraints */
 	0, 0,	/* No members */
 	0	/* No specifics */
 };
 
 
-/*** <<< INCLUDES [K-inv] >>> ***/
+/*** <<< INCLUDES [K-1-4] >>> ***/
 
 #include <NativeInteger.h>
 
-/*** <<< TYPE-DECLS [K-inv] >>> ***/
+/*** <<< TYPE-DECLS [K-1-4] >>> ***/
 
-typedef long	 K_inv_t;
+typedef long	 K_1_4_t;
 
-/*** <<< FUNC-DECLS [K-inv] >>> ***/
+/*** <<< FUNC-DECLS [K-1-4] >>> ***/
 
-extern asn_TYPE_descriptor_t asn_DEF_K_inv;
-asn_struct_free_f K_inv_free;
-asn_struct_print_f K_inv_print;
-asn_constr_check_f K_inv_constraint;
-ber_type_decoder_f K_inv_decode_ber;
-der_type_encoder_f K_inv_encode_der;
-xer_type_decoder_f K_inv_decode_xer;
-xer_type_encoder_f K_inv_encode_xer;
-oer_type_decoder_f K_inv_decode_oer;
-oer_type_encoder_f K_inv_encode_oer;
+extern asn_TYPE_descriptor_t asn_DEF_K_1_4;
+asn_struct_free_f K_1_4_free;
+asn_struct_print_f K_1_4_print;
+asn_constr_check_f K_1_4_constraint;
+ber_type_decoder_f K_1_4_decode_ber;
+der_type_encoder_f K_1_4_encode_der;
+xer_type_decoder_f K_1_4_decode_xer;
+xer_type_encoder_f K_1_4_encode_xer;
+oer_type_decoder_f K_1_4_decode_oer;
+oer_type_encoder_f K_1_4_encode_oer;
 
-/*** <<< CODE [K-inv] >>> ***/
+/*** <<< CODE [K-1-4] >>> ***/
 
 int
-K_inv_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
+K_1_4_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
 			asn_app_constraint_failed_f *ctfailcb, void *app_key) {
 	long value;
 	
@@ -825,7 +825,7 @@
 	
 	value = *(const long *)sptr;
 	
-	if((value >= 4 && value <= 5)) {
+	if((value >= 1 && value <= 4)) {
 		/* Constraint check succeeded */
 		return 0;
 	} else {
@@ -841,29 +841,29 @@
  * so here we adjust the DEF accordingly.
  */
 
-/*** <<< CTDEFS [K-inv] >>> ***/
+/*** <<< CTDEFS [K-1-4] >>> ***/
 
-static asn_oer_constraints_t asn_OER_type_K_inv_constr_1 GCC_NOTUSED = {
-	{ 0, 0 },
+static asn_oer_constraints_t asn_OER_type_K_1_4_constr_1 GCC_NOTUSED = {
+	{ 1, 1 }	/* (1..4) */,
 	-1};
 
-/*** <<< STAT-DEFS [K-inv] >>> ***/
+/*** <<< STAT-DEFS [K-1-4] >>> ***/
 
-static const ber_tlv_tag_t asn_DEF_K_inv_tags_1[] = {
+static const ber_tlv_tag_t asn_DEF_K_1_4_tags_1[] = {
 	(ASN_TAG_CLASS_UNIVERSAL | (2 << 2))
 };
-asn_TYPE_descriptor_t asn_DEF_K_inv = {
-	"K-inv",
-	"K-inv",
+asn_TYPE_descriptor_t asn_DEF_K_1_4 = {
+	"K-1-4",
+	"K-1-4",
 	&asn_OP_NativeInteger,
-	K_inv_constraint,
-	asn_DEF_K_inv_tags_1,
-	sizeof(asn_DEF_K_inv_tags_1)
-		/sizeof(asn_DEF_K_inv_tags_1[0]), /* 1 */
-	asn_DEF_K_inv_tags_1,	/* Same as above */
-	sizeof(asn_DEF_K_inv_tags_1)
-		/sizeof(asn_DEF_K_inv_tags_1[0]), /* 1 */
-	&asn_OER_type_K_inv_constr_1,
+	K_1_4_constraint,
+	asn_DEF_K_1_4_tags_1,
+	sizeof(asn_DEF_K_1_4_tags_1)
+		/sizeof(asn_DEF_K_1_4_tags_1[0]), /* 1 */
+	asn_DEF_K_1_4_tags_1,	/* Same as above */
+	sizeof(asn_DEF_K_1_4_tags_1)
+		/sizeof(asn_DEF_K_1_4_tags_1[0]), /* 1 */
+	&asn_OER_type_K_1_4_constr_1,
 	0,	/* No PER visible constraints */
 	0, 0,	/* No members */
 	0	/* No specifics */
@@ -989,7 +989,7 @@
 	
 	value = *(const long *)sptr;
 	
-	if(((value == 0) || (value == 5))) {
+	if((value >= 0 && value <= 5)) {
 		/* Constraint check succeeded */
 		return 0;
 	} else {
@@ -1034,31 +1034,31 @@
 };
 
 
-/*** <<< INCLUDES [N-inv] >>> ***/
+/*** <<< INCLUDES [N-0-5] >>> ***/
 
 #include <NativeInteger.h>
 
-/*** <<< TYPE-DECLS [N-inv] >>> ***/
+/*** <<< TYPE-DECLS [N-0-5] >>> ***/
 
-typedef long	 N_inv_t;
+typedef long	 N_0_5_t;
 
-/*** <<< FUNC-DECLS [N-inv] >>> ***/
+/*** <<< FUNC-DECLS [N-0-5] >>> ***/
 
-extern asn_TYPE_descriptor_t asn_DEF_N_inv;
-asn_struct_free_f N_inv_free;
-asn_struct_print_f N_inv_print;
-asn_constr_check_f N_inv_constraint;
-ber_type_decoder_f N_inv_decode_ber;
-der_type_encoder_f N_inv_encode_der;
-xer_type_decoder_f N_inv_decode_xer;
-xer_type_encoder_f N_inv_encode_xer;
-oer_type_decoder_f N_inv_decode_oer;
-oer_type_encoder_f N_inv_encode_oer;
+extern asn_TYPE_descriptor_t asn_DEF_N_0_5;
+asn_struct_free_f N_0_5_free;
+asn_struct_print_f N_0_5_print;
+asn_constr_check_f N_0_5_constraint;
+ber_type_decoder_f N_0_5_decode_ber;
+der_type_encoder_f N_0_5_encode_der;
+xer_type_decoder_f N_0_5_decode_xer;
+xer_type_encoder_f N_0_5_encode_xer;
+oer_type_decoder_f N_0_5_decode_oer;
+oer_type_encoder_f N_0_5_encode_oer;
 
-/*** <<< CODE [N-inv] >>> ***/
+/*** <<< CODE [N-0-5] >>> ***/
 
 int
-N_inv_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
+N_0_5_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
 			asn_app_constraint_failed_f *ctfailcb, void *app_key) {
 	long value;
 	
@@ -1087,29 +1087,29 @@
  * so here we adjust the DEF accordingly.
  */
 
-/*** <<< CTDEFS [N-inv] >>> ***/
+/*** <<< CTDEFS [N-0-5] >>> ***/
 
-static asn_oer_constraints_t asn_OER_type_N_inv_constr_1 GCC_NOTUSED = {
-	{ 0, 0 },
+static asn_oer_constraints_t asn_OER_type_N_0_5_constr_1 GCC_NOTUSED = {
+	{ 1, 1 }	/* (0..5) */,
 	-1};
 
-/*** <<< STAT-DEFS [N-inv] >>> ***/
+/*** <<< STAT-DEFS [N-0-5] >>> ***/
 
-static const ber_tlv_tag_t asn_DEF_N_inv_tags_1[] = {
+static const ber_tlv_tag_t asn_DEF_N_0_5_tags_1[] = {
 	(ASN_TAG_CLASS_UNIVERSAL | (2 << 2))
 };
-asn_TYPE_descriptor_t asn_DEF_N_inv = {
-	"N-inv",
-	"N-inv",
+asn_TYPE_descriptor_t asn_DEF_N_0_5 = {
+	"N-0-5",
+	"N-0-5",
 	&asn_OP_NativeInteger,
-	N_inv_constraint,
-	asn_DEF_N_inv_tags_1,
-	sizeof(asn_DEF_N_inv_tags_1)
-		/sizeof(asn_DEF_N_inv_tags_1[0]), /* 1 */
-	asn_DEF_N_inv_tags_1,	/* Same as above */
-	sizeof(asn_DEF_N_inv_tags_1)
-		/sizeof(asn_DEF_N_inv_tags_1[0]), /* 1 */
-	&asn_OER_type_N_inv_constr_1,
+	N_0_5_constraint,
+	asn_DEF_N_0_5_tags_1,
+	sizeof(asn_DEF_N_0_5_tags_1)
+		/sizeof(asn_DEF_N_0_5_tags_1[0]), /* 1 */
+	asn_DEF_N_0_5_tags_1,	/* Same as above */
+	sizeof(asn_DEF_N_0_5_tags_1)
+		/sizeof(asn_DEF_N_0_5_tags_1[0]), /* 1 */
+	&asn_OER_type_N_0_5_constr_1,
 	0,	/* No PER visible constraints */
 	0, 0,	/* No members */
 	0	/* No specifics */
@@ -1197,3 +1197,167 @@
 	0	/* No specifics */
 };
 
+
+/*** <<< INCLUDES [EConstr] >>> ***/
+
+#include <NativeInteger.h>
+
+/*** <<< TYPE-DECLS [EConstr] >>> ***/
+
+typedef long	 EConstr_t;
+
+/*** <<< FUNC-DECLS [EConstr] >>> ***/
+
+extern asn_TYPE_descriptor_t asn_DEF_EConstr;
+asn_struct_free_f EConstr_free;
+asn_struct_print_f EConstr_print;
+asn_constr_check_f EConstr_constraint;
+ber_type_decoder_f EConstr_decode_ber;
+der_type_encoder_f EConstr_encode_der;
+xer_type_decoder_f EConstr_decode_xer;
+xer_type_encoder_f EConstr_encode_xer;
+oer_type_decoder_f EConstr_decode_oer;
+oer_type_encoder_f EConstr_encode_oer;
+
+/*** <<< CODE [EConstr] >>> ***/
+
+int
+EConstr_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
+			asn_app_constraint_failed_f *ctfailcb, void *app_key) {
+	long value;
+	
+	if(!sptr) {
+		ASN__CTFAIL(app_key, td, sptr,
+			"%s: value not given (%s:%d)",
+			td->name, __FILE__, __LINE__);
+		return -1;
+	}
+	
+	value = *(const long *)sptr;
+	
+	if((value >= 1 && value <= 5)) {
+		/* Constraint check succeeded */
+		return 0;
+	} else {
+		ASN__CTFAIL(app_key, td, sptr,
+			"%s: constraint failed (%s:%d)",
+			td->name, __FILE__, __LINE__);
+		return -1;
+	}
+}
+
+/*
+ * This type is implemented using NativeInteger,
+ * so here we adjust the DEF accordingly.
+ */
+
+/*** <<< CTDEFS [EConstr] >>> ***/
+
+static asn_oer_constraints_t asn_OER_type_EConstr_constr_1 GCC_NOTUSED = {
+	{ 0, 0 },
+	-1};
+
+/*** <<< STAT-DEFS [EConstr] >>> ***/
+
+static const ber_tlv_tag_t asn_DEF_EConstr_tags_1[] = {
+	(ASN_TAG_CLASS_UNIVERSAL | (2 << 2))
+};
+asn_TYPE_descriptor_t asn_DEF_EConstr = {
+	"EConstr",
+	"EConstr",
+	&asn_OP_NativeInteger,
+	EConstr_constraint,
+	asn_DEF_EConstr_tags_1,
+	sizeof(asn_DEF_EConstr_tags_1)
+		/sizeof(asn_DEF_EConstr_tags_1[0]), /* 1 */
+	asn_DEF_EConstr_tags_1,	/* Same as above */
+	sizeof(asn_DEF_EConstr_tags_1)
+		/sizeof(asn_DEF_EConstr_tags_1[0]), /* 1 */
+	&asn_OER_type_EConstr_constr_1,
+	0,	/* No PER visible constraints */
+	0, 0,	/* No members */
+	0	/* No specifics */
+};
+
+
+/*** <<< INCLUDES [FConstr] >>> ***/
+
+#include <NativeInteger.h>
+
+/*** <<< TYPE-DECLS [FConstr] >>> ***/
+
+typedef long	 FConstr_t;
+
+/*** <<< FUNC-DECLS [FConstr] >>> ***/
+
+extern asn_TYPE_descriptor_t asn_DEF_FConstr;
+asn_struct_free_f FConstr_free;
+asn_struct_print_f FConstr_print;
+asn_constr_check_f FConstr_constraint;
+ber_type_decoder_f FConstr_decode_ber;
+der_type_encoder_f FConstr_encode_der;
+xer_type_decoder_f FConstr_decode_xer;
+xer_type_encoder_f FConstr_encode_xer;
+oer_type_decoder_f FConstr_decode_oer;
+oer_type_encoder_f FConstr_encode_oer;
+
+/*** <<< CODE [FConstr] >>> ***/
+
+int
+FConstr_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
+			asn_app_constraint_failed_f *ctfailcb, void *app_key) {
+	long value;
+	
+	if(!sptr) {
+		ASN__CTFAIL(app_key, td, sptr,
+			"%s: value not given (%s:%d)",
+			td->name, __FILE__, __LINE__);
+		return -1;
+	}
+	
+	value = *(const long *)sptr;
+	
+	if((value >= 0 && value <= 4)) {
+		/* Constraint check succeeded */
+		return 0;
+	} else {
+		ASN__CTFAIL(app_key, td, sptr,
+			"%s: constraint failed (%s:%d)",
+			td->name, __FILE__, __LINE__);
+		return -1;
+	}
+}
+
+/*
+ * This type is implemented using NativeInteger,
+ * so here we adjust the DEF accordingly.
+ */
+
+/*** <<< CTDEFS [FConstr] >>> ***/
+
+static asn_oer_constraints_t asn_OER_type_FConstr_constr_1 GCC_NOTUSED = {
+	{ 1, 1 }	/* (0..4) */,
+	-1};
+
+/*** <<< STAT-DEFS [FConstr] >>> ***/
+
+static const ber_tlv_tag_t asn_DEF_FConstr_tags_1[] = {
+	(ASN_TAG_CLASS_UNIVERSAL | (2 << 2))
+};
+asn_TYPE_descriptor_t asn_DEF_FConstr = {
+	"FConstr",
+	"FConstr",
+	&asn_OP_NativeInteger,
+	FConstr_constraint,
+	asn_DEF_FConstr_tags_1,
+	sizeof(asn_DEF_FConstr_tags_1)
+		/sizeof(asn_DEF_FConstr_tags_1[0]), /* 1 */
+	asn_DEF_FConstr_tags_1,	/* Same as above */
+	sizeof(asn_DEF_FConstr_tags_1)
+		/sizeof(asn_DEF_FConstr_tags_1[0]), /* 1 */
+	&asn_OER_type_FConstr_constr_1,
+	0,	/* No PER visible constraints */
+	0, 0,	/* No members */
+	0	/* No specifics */
+};
+
diff --git a/tests/tests-asn1c-compiler/50-constraint-OK.asn1 b/tests/tests-asn1c-compiler/50-constraint-OK.asn1
index 62c4fdf..43c9ba4 100644
--- a/tests/tests-asn1c-compiler/50-constraint-OK.asn1
+++ b/tests/tests-asn1c-compiler/50-constraint-OK.asn1
@@ -24,7 +24,7 @@
 	other-ten Int2 ::= 10
 
 	-- G.4.3.4
-	ExtensibleExtensions ::= INTEGER ((1..256,...) INTERSECTION (1..256))  
+	ExtensibleExtensions ::= INTEGER (1..256) (1..255,...)
 
 	Str1 ::= IA5String
 	Str2 ::= Str1 (SIZE(MIN..20 | 25..30))	
diff --git a/tests/tests-asn1c-compiler/50-constraint-OK.asn1.-EFprint-constraints b/tests/tests-asn1c-compiler/50-constraint-OK.asn1.-EFprint-constraints
index aa51aa8..d77822b 100644
--- a/tests/tests-asn1c-compiler/50-constraint-OK.asn1.-EFprint-constraints
+++ b/tests/tests-asn1c-compiler/50-constraint-OK.asn1.-EFprint-constraints
Binary files differ
diff --git a/tests/tests-asn1c-compiler/50-constraint-OK.asn1.-Pfwide-types b/tests/tests-asn1c-compiler/50-constraint-OK.asn1.-Pfwide-types
index f18a21b..420e914 100644
--- a/tests/tests-asn1c-compiler/50-constraint-OK.asn1.-Pfwide-types
+++ b/tests/tests-asn1c-compiler/50-constraint-OK.asn1.-Pfwide-types
@@ -405,7 +405,7 @@
 		return -1;
 	}
 	
-	if((value >= 1 && value <= 256)) {
+	if((value >= 1 && value <= 255)) {
 		/* Constraint check succeeded */
 		return 0;
 	} else {
diff --git a/tests/tests-asn1c-compiler/50-constraint-OK.asn1.-Pgen-PER b/tests/tests-asn1c-compiler/50-constraint-OK.asn1.-Pgen-PER
index 6499e91..f198842 100644
--- a/tests/tests-asn1c-compiler/50-constraint-OK.asn1.-Pgen-PER
+++ b/tests/tests-asn1c-compiler/50-constraint-OK.asn1.-Pgen-PER
@@ -427,7 +427,7 @@
 	
 	value = *(const long *)sptr;
 	
-	if((value >= 1 && value <= 256)) {
+	if((value >= 1 && value <= 255)) {
 		/* Constraint check succeeded */
 		return 0;
 	} else {
@@ -446,7 +446,7 @@
 /*** <<< CTDEFS [ExtensibleExtensions] >>> ***/
 
 static asn_per_constraints_t asn_PER_type_ExtensibleExtensions_constr_1 GCC_NOTUSED = {
-	{ APC_CONSTRAINED | APC_EXTENSIBLE,  8,  8,  1,  256 }	/* (1..256,...) */,
+	{ APC_CONSTRAINED | APC_EXTENSIBLE,  8,  8,  1,  255 }	/* (1..255,...) */,
 	{ APC_UNCONSTRAINED,	-1, -1,  0,  0 },
 	0, 0	/* No PER value map */
 };
