newer versions

diff --git a/libasn1parser/asn1p_l.c b/libasn1parser/asn1p_l.c
index 6a6eb44..bbddbcc 100644
--- a/libasn1parser/asn1p_l.c
+++ b/libasn1parser/asn1p_l.c
@@ -21,6 +21,7 @@
 
 /* Scanner skeleton version:
  * $Header$
+ * $FreeBSD: src/usr.bin/lex/flex.skl,v 1.4 1999/10/27 07:56:44 obrien Exp $
  */
 
 #define FLEX_SCANNER
@@ -1802,7 +1803,7 @@
 
 /* Newline */
 /* White-space */
-#line 1806 "lex.yy.c"
+#line 1807 "lex.yy.c"
 
 /* Macros after this point can all be overridden by user definitions in
  * section 1.
@@ -1956,7 +1957,7 @@
 #line 99 "asn1p_l.l"
 
 
-#line 1960 "lex.yy.c"
+#line 1961 "lex.yy.c"
 
 	if ( yy_init )
 		{
@@ -2898,7 +2899,7 @@
 #line 483 "asn1p_l.l"
 YY_FATAL_ERROR( "flex scanner jammed" );
 	YY_BREAK
-#line 2902 "lex.yy.c"
+#line 2903 "lex.yy.c"
 
 	case YY_END_OF_BUFFER:
 		{
diff --git a/libasn1parser/asn1p_y.c b/libasn1parser/asn1p_y.c
index 095c904..18c744a 100644
--- a/libasn1parser/asn1p_y.c
+++ b/libasn1parser/asn1p_y.c
@@ -1,114 +1,265 @@
+/* A Bison parser, made from asn1p_y.y, by GNU bison 1.75.  */
 
-/*  A Bison parser, made from asn1p_y.y
-    by GNU Bison version 1.28  */
+/* Skeleton parser for Yacc-like parsing with Bison,
+   Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002 Free Software Foundation, Inc.
 
-#define YYBISON 1  /* Identify Bison output.  */
+   This program is free software; you can redistribute it and/or modify
+   it under the terms of the GNU General Public License as published by
+   the Free Software Foundation; either version 2, or (at your option)
+   any later version.
 
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+   GNU General Public License for more details.
+
+   You should have received a copy of the GNU General Public License
+   along with this program; if not, write to the Free Software
+   Foundation, Inc., 59 Temple Place - Suite 330,
+   Boston, MA 02111-1307, USA.  */
+
+/* As a special exception, when this file is copied by Bison into a
+   Bison output file, you may use that output file without restriction.
+   This special exception was added by the Free Software Foundation
+   in version 1.24 of Bison.  */
+
+/* Written by Richard Stallman by simplifying the original so called
+   ``semantic'' parser.  */
+
+/* All symbols defined below should begin with yy or YY, to avoid
+   infringing on user name space.  This should be done even for local
+   variables, as they might otherwise be expanded by user macros.
+   There are some unavoidable exceptions within include files to
+   define necessary library symbols; they are noted "INFRINGES ON
+   USER NAME SPACE" below.  */
+
+/* Identify Bison output.  */
+#define YYBISON	1
+
+/* Pure parsers.  */
+#define YYPURE	0
+
+/* Using locations.  */
+#define YYLSP_NEEDED 0
+
+/* If NAME_PREFIX is specified substitute the variables and functions
+   names.  */
 #define yyparse asn1p_parse
-#define yylex asn1p_lex
+#define yylex   asn1p_lex
 #define yyerror asn1p_error
-#define yylval asn1p_lval
-#define yychar asn1p_char
+#define yylval  asn1p_lval
+#define yychar  asn1p_char
 #define yydebug asn1p_debug
 #define yynerrs asn1p_nerrs
-#define	TOK_PPEQ	257
-#define	TOK_opaque	258
-#define	TOK_bstring	259
-#define	TOK_cstring	260
-#define	TOK_hstring	261
-#define	TOK_identifier	262
-#define	TOK_number	263
-#define	TOK_number_negative	264
-#define	TOK_typereference	265
-#define	TOK_objectclassreference	266
-#define	TOK_typefieldreference	267
-#define	TOK_valuefieldreference	268
-#define	TOK_ABSENT	269
-#define	TOK_ABSTRACT_SYNTAX	270
-#define	TOK_ALL	271
-#define	TOK_ANY	272
-#define	TOK_APPLICATION	273
-#define	TOK_AUTOMATIC	274
-#define	TOK_BEGIN	275
-#define	TOK_BIT	276
-#define	TOK_BMPString	277
-#define	TOK_BOOLEAN	278
-#define	TOK_BY	279
-#define	TOK_CHARACTER	280
-#define	TOK_CHOICE	281
-#define	TOK_CLASS	282
-#define	TOK_COMPONENT	283
-#define	TOK_COMPONENTS	284
-#define	TOK_CONSTRAINED	285
-#define	TOK_CONTAINING	286
-#define	TOK_DEFAULT	287
-#define	TOK_DEFINITIONS	288
-#define	TOK_DEFINED	289
-#define	TOK_EMBEDDED	290
-#define	TOK_ENCODED	291
-#define	TOK_END	292
-#define	TOK_ENUMERATED	293
-#define	TOK_EXPLICIT	294
-#define	TOK_EXPORTS	295
-#define	TOK_EXTENSIBILITY	296
-#define	TOK_EXTERNAL	297
-#define	TOK_FALSE	298
-#define	TOK_FROM	299
-#define	TOK_GeneralizedTime	300
-#define	TOK_GeneralString	301
-#define	TOK_GraphicString	302
-#define	TOK_IA5String	303
-#define	TOK_IDENTIFIER	304
-#define	TOK_IMPLICIT	305
-#define	TOK_IMPLIED	306
-#define	TOK_IMPORTS	307
-#define	TOK_INCLUDES	308
-#define	TOK_INSTANCE	309
-#define	TOK_INTEGER	310
-#define	TOK_ISO646String	311
-#define	TOK_MAX	312
-#define	TOK_MIN	313
-#define	TOK_MINUS_INFINITY	314
-#define	TOK_NULL	315
-#define	TOK_NumericString	316
-#define	TOK_OBJECT	317
-#define	TOK_ObjectDescriptor	318
-#define	TOK_OCTET	319
-#define	TOK_OF	320
-#define	TOK_OPTIONAL	321
-#define	TOK_PATTERN	322
-#define	TOK_PDV	323
-#define	TOK_PLUS_INFINITY	324
-#define	TOK_PRESENT	325
-#define	TOK_PrintableString	326
-#define	TOK_PRIVATE	327
-#define	TOK_REAL	328
-#define	TOK_RELATIVE_OID	329
-#define	TOK_SEQUENCE	330
-#define	TOK_SET	331
-#define	TOK_SIZE	332
-#define	TOK_STRING	333
-#define	TOK_SYNTAX	334
-#define	TOK_T61String	335
-#define	TOK_TAGS	336
-#define	TOK_TeletexString	337
-#define	TOK_TRUE	338
-#define	TOK_TYPE_IDENTIFIER	339
-#define	TOK_UNIQUE	340
-#define	TOK_UNIVERSAL	341
-#define	TOK_UniversalString	342
-#define	TOK_UTCTime	343
-#define	TOK_UTF8String	344
-#define	TOK_VideotexString	345
-#define	TOK_VisibleString	346
-#define	TOK_WITH	347
-#define	TOK_UNION	348
-#define	TOK_INTERSECTION	349
-#define	TOK_EXCEPT	350
-#define	TOK_TwoDots	351
-#define	TOK_ThreeDots	352
-#define	TOK_tag	353
 
+
+/* Tokens.  */
+#ifndef YYTOKENTYPE
+# define YYTOKENTYPE
+   /* Put the tokens into the symbol table, so that GDB and other debuggers
+      know about them.  */
+   enum yytokentype {
+     TOK_PPEQ = 258,
+     TOK_opaque = 259,
+     TOK_bstring = 260,
+     TOK_cstring = 261,
+     TOK_hstring = 262,
+     TOK_identifier = 263,
+     TOK_number = 264,
+     TOK_number_negative = 265,
+     TOK_typereference = 266,
+     TOK_objectclassreference = 267,
+     TOK_typefieldreference = 268,
+     TOK_valuefieldreference = 269,
+     TOK_ABSENT = 270,
+     TOK_ABSTRACT_SYNTAX = 271,
+     TOK_ALL = 272,
+     TOK_ANY = 273,
+     TOK_APPLICATION = 274,
+     TOK_AUTOMATIC = 275,
+     TOK_BEGIN = 276,
+     TOK_BIT = 277,
+     TOK_BMPString = 278,
+     TOK_BOOLEAN = 279,
+     TOK_BY = 280,
+     TOK_CHARACTER = 281,
+     TOK_CHOICE = 282,
+     TOK_CLASS = 283,
+     TOK_COMPONENT = 284,
+     TOK_COMPONENTS = 285,
+     TOK_CONSTRAINED = 286,
+     TOK_CONTAINING = 287,
+     TOK_DEFAULT = 288,
+     TOK_DEFINITIONS = 289,
+     TOK_DEFINED = 290,
+     TOK_EMBEDDED = 291,
+     TOK_ENCODED = 292,
+     TOK_END = 293,
+     TOK_ENUMERATED = 294,
+     TOK_EXPLICIT = 295,
+     TOK_EXPORTS = 296,
+     TOK_EXTENSIBILITY = 297,
+     TOK_EXTERNAL = 298,
+     TOK_FALSE = 299,
+     TOK_FROM = 300,
+     TOK_GeneralizedTime = 301,
+     TOK_GeneralString = 302,
+     TOK_GraphicString = 303,
+     TOK_IA5String = 304,
+     TOK_IDENTIFIER = 305,
+     TOK_IMPLICIT = 306,
+     TOK_IMPLIED = 307,
+     TOK_IMPORTS = 308,
+     TOK_INCLUDES = 309,
+     TOK_INSTANCE = 310,
+     TOK_INTEGER = 311,
+     TOK_ISO646String = 312,
+     TOK_MAX = 313,
+     TOK_MIN = 314,
+     TOK_MINUS_INFINITY = 315,
+     TOK_NULL = 316,
+     TOK_NumericString = 317,
+     TOK_OBJECT = 318,
+     TOK_ObjectDescriptor = 319,
+     TOK_OCTET = 320,
+     TOK_OF = 321,
+     TOK_OPTIONAL = 322,
+     TOK_PATTERN = 323,
+     TOK_PDV = 324,
+     TOK_PLUS_INFINITY = 325,
+     TOK_PRESENT = 326,
+     TOK_PrintableString = 327,
+     TOK_PRIVATE = 328,
+     TOK_REAL = 329,
+     TOK_RELATIVE_OID = 330,
+     TOK_SEQUENCE = 331,
+     TOK_SET = 332,
+     TOK_SIZE = 333,
+     TOK_STRING = 334,
+     TOK_SYNTAX = 335,
+     TOK_T61String = 336,
+     TOK_TAGS = 337,
+     TOK_TeletexString = 338,
+     TOK_TRUE = 339,
+     TOK_TYPE_IDENTIFIER = 340,
+     TOK_UNIQUE = 341,
+     TOK_UNIVERSAL = 342,
+     TOK_UniversalString = 343,
+     TOK_UTCTime = 344,
+     TOK_UTF8String = 345,
+     TOK_VideotexString = 346,
+     TOK_VisibleString = 347,
+     TOK_WITH = 348,
+     TOK_UNION = 349,
+     TOK_INTERSECTION = 350,
+     TOK_EXCEPT = 351,
+     TOK_TwoDots = 352,
+     TOK_ThreeDots = 353,
+     TOK_tag = 354
+   };
+#endif
+#define TOK_PPEQ 258
+#define TOK_opaque 259
+#define TOK_bstring 260
+#define TOK_cstring 261
+#define TOK_hstring 262
+#define TOK_identifier 263
+#define TOK_number 264
+#define TOK_number_negative 265
+#define TOK_typereference 266
+#define TOK_objectclassreference 267
+#define TOK_typefieldreference 268
+#define TOK_valuefieldreference 269
+#define TOK_ABSENT 270
+#define TOK_ABSTRACT_SYNTAX 271
+#define TOK_ALL 272
+#define TOK_ANY 273
+#define TOK_APPLICATION 274
+#define TOK_AUTOMATIC 275
+#define TOK_BEGIN 276
+#define TOK_BIT 277
+#define TOK_BMPString 278
+#define TOK_BOOLEAN 279
+#define TOK_BY 280
+#define TOK_CHARACTER 281
+#define TOK_CHOICE 282
+#define TOK_CLASS 283
+#define TOK_COMPONENT 284
+#define TOK_COMPONENTS 285
+#define TOK_CONSTRAINED 286
+#define TOK_CONTAINING 287
+#define TOK_DEFAULT 288
+#define TOK_DEFINITIONS 289
+#define TOK_DEFINED 290
+#define TOK_EMBEDDED 291
+#define TOK_ENCODED 292
+#define TOK_END 293
+#define TOK_ENUMERATED 294
+#define TOK_EXPLICIT 295
+#define TOK_EXPORTS 296
+#define TOK_EXTENSIBILITY 297
+#define TOK_EXTERNAL 298
+#define TOK_FALSE 299
+#define TOK_FROM 300
+#define TOK_GeneralizedTime 301
+#define TOK_GeneralString 302
+#define TOK_GraphicString 303
+#define TOK_IA5String 304
+#define TOK_IDENTIFIER 305
+#define TOK_IMPLICIT 306
+#define TOK_IMPLIED 307
+#define TOK_IMPORTS 308
+#define TOK_INCLUDES 309
+#define TOK_INSTANCE 310
+#define TOK_INTEGER 311
+#define TOK_ISO646String 312
+#define TOK_MAX 313
+#define TOK_MIN 314
+#define TOK_MINUS_INFINITY 315
+#define TOK_NULL 316
+#define TOK_NumericString 317
+#define TOK_OBJECT 318
+#define TOK_ObjectDescriptor 319
+#define TOK_OCTET 320
+#define TOK_OF 321
+#define TOK_OPTIONAL 322
+#define TOK_PATTERN 323
+#define TOK_PDV 324
+#define TOK_PLUS_INFINITY 325
+#define TOK_PRESENT 326
+#define TOK_PrintableString 327
+#define TOK_PRIVATE 328
+#define TOK_REAL 329
+#define TOK_RELATIVE_OID 330
+#define TOK_SEQUENCE 331
+#define TOK_SET 332
+#define TOK_SIZE 333
+#define TOK_STRING 334
+#define TOK_SYNTAX 335
+#define TOK_T61String 336
+#define TOK_TAGS 337
+#define TOK_TeletexString 338
+#define TOK_TRUE 339
+#define TOK_TYPE_IDENTIFIER 340
+#define TOK_UNIQUE 341
+#define TOK_UNIVERSAL 342
+#define TOK_UniversalString 343
+#define TOK_UTCTime 344
+#define TOK_UTF8String 345
+#define TOK_VideotexString 346
+#define TOK_VisibleString 347
+#define TOK_WITH 348
+#define TOK_UNION 349
+#define TOK_INTERSECTION 350
+#define TOK_EXCEPT 351
+#define TOK_TwoDots 352
+#define TOK_ThreeDots 353
+#define TOK_tag 354
+
+
+
+
+/* Copy the first part of user declarations.  */
 #line 1 "asn1p_y.y"
 
 
@@ -159,6 +310,21 @@
 	} while(0)
 
 
+
+/* Enabling traces.  */
+#ifndef YYDEBUG
+# define YYDEBUG 0
+#endif
+
+/* Enabling verbose error messages.  */
+#ifdef YYERROR_VERBOSE
+# undef YYERROR_VERBOSE
+# define YYERROR_VERBOSE 1
+#else
+# define YYERROR_VERBOSE 0
+#endif
+
+#ifndef YYSTYPE
 #line 57 "asn1p_y.y"
 typedef union {
 	asn1p_t			*a_grammar;
@@ -191,801 +357,1035 @@
 		char *name;
 		struct asn1p_type_tag_s tag;
 	} tv_nametag;
-} YYSTYPE;
-#include <stdio.h>
-
-#ifndef __cplusplus
-#ifndef __STDC__
-#define const
-#endif
+} yystype;
+/* Line 193 of /usr/local/share/bison/yacc.c.  */
+#line 363 "y.tab.c"
+# define YYSTYPE yystype
+# define YYSTYPE_IS_TRIVIAL 1
 #endif
 
+#ifndef YYLTYPE
+typedef struct yyltype
+{
+  int first_line;
+  int first_column;
+  int last_line;
+  int last_column;
+} yyltype;
+# define YYLTYPE yyltype
+# define YYLTYPE_IS_TRIVIAL 1
+#endif
+
+/* Copy the second part of user declarations.  */
 
 
-#define	YYFINAL		375
-#define	YYFLAG		-32768
-#define	YYNTBASE	113
+/* Line 213 of /usr/local/share/bison/yacc.c.  */
+#line 384 "y.tab.c"
 
-#define YYTRANSLATE(x) ((unsigned)(x) <= 353 ? yytranslate[x] : 211)
+#if ! defined (yyoverflow) || YYERROR_VERBOSE
 
-static const char yytranslate[] = {     0,
-     2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
-     2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
-     2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
-     2,     2,   109,     2,     2,     2,     2,     2,     2,   104,
-   105,     2,     2,   107,     2,   110,     2,     2,     2,     2,
-     2,     2,     2,     2,     2,     2,     2,   108,   106,   111,
-     2,     2,     2,   112,     2,     2,     2,     2,     2,     2,
-     2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
-     2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
-     2,     2,     2,    96,     2,     2,     2,     2,     2,     2,
-     2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
-     2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
-     2,     2,   102,    94,   103,     2,     2,     2,     2,     2,
-     2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
-     2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
-     2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
-     2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
-     2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
-     2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
-     2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
-     2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
-     2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
-     2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
-     2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
-     2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
-     2,     2,     2,     2,     2,     1,     3,     4,     5,     6,
-     7,     8,     9,    10,    11,    12,    13,    14,    15,    16,
-    17,    18,    19,    20,    21,    22,    23,    24,    25,    26,
-    27,    28,    29,    30,    31,    32,    33,    34,    35,    36,
-    37,    38,    39,    40,    41,    42,    43,    44,    45,    46,
-    47,    48,    49,    50,    51,    52,    53,    54,    55,    56,
-    57,    58,    59,    60,    61,    62,    63,    64,    65,    66,
-    67,    68,    69,    70,    71,    72,    73,    74,    75,    76,
-    77,    78,    79,    80,    81,    82,    83,    84,    85,    86,
-    87,    88,    89,    90,    91,    92,    93,    95,    97,    98,
-    99,   100,   101
-};
+/* The parser invokes alloca or malloc; define the necessary symbols.  */
 
-#if YYDEBUG != 0
-static const short yyprhs[] = {     0,
-     0,     2,     4,     7,    16,    17,    19,    23,    26,    28,
-    31,    33,    38,    40,    41,    43,    45,    48,    51,    54,
-    57,    60,    61,    63,    65,    68,    70,    72,    74,    76,
-    78,    80,    84,    87,    89,    92,    97,    99,   103,   105,
-   107,   111,   115,   118,   120,   124,   126,   128,   135,   137,
-   139,   140,   142,   147,   152,   156,   163,   165,   169,   171,
-   175,   179,   181,   185,   187,   189,   191,   195,   201,   202,
-   204,   206,   210,   213,   217,   222,   223,   225,   226,   233,
-   235,   238,   240,   242,   245,   247,   251,   253,   257,   261,
-   263,   265,   267,   272,   274,   278,   280,   284,   288,   290,
-   294,   296,   300,   302,   304,   306,   308,   313,   314,   318,
-   320,   322,   324,   326,   328,   330,   334,   336,   339,   341,
-   343,   345,   347,   350,   353,   355,   357,   360,   363,   365,
-   367,   369,   371,   374,   376,   379,   381,   383,   385,   387,
-   389,   391,   393,   395,   397,   399,   401,   403,   405,   407,
-   412,   417,   422,   427,   432,   434,   439,   440,   442,   444,
-   446,   448,   450,   452,   457,   459,   462,   466,   468,   472,
-   478,   480,   484,   486,   488,   492,   494,   498,   500,   504,
-   506,   510,   515,   517,   519,   521,   524,   527,   531,   533,
-   535,   537,   539,   541,   543,   545,   547,   549,   555,   557,
-   561,   563,   567,   568,   570,   572,   574,   576,   578,   580,
-   584,   589,   591,   595,   598,   602,   604,   608,   609,   611,
-   613,   616,   618,   620,   621,   625,   628,   632,   634,   638,
-   640,   645,   650,   652,   654,   656,   658,   659,   661,   663,
-   666,   669,   671,   673,   675,   677,   679
-};
+# if YYSTACK_USE_ALLOCA
+#  define YYSTACK_ALLOC alloca
+# else
+#  ifndef YYSTACK_USE_ALLOCA
+#   if defined (alloca) || defined (_ALLOCA_H)
+#    define YYSTACK_ALLOC alloca
+#   else
+#    ifdef __GNUC__
+#     define YYSTACK_ALLOC __builtin_alloca
+#    endif
+#   endif
+#  endif
+# endif
 
-static const short yyrhs[] = {   114,
-     0,   115,     0,   114,   115,     0,   207,   116,    34,   120,
-     3,    21,   123,    38,     0,     0,   117,     0,   102,   118,
-   103,     0,   102,   103,     0,   119,     0,   118,   119,     0,
-   209,     0,   209,   104,     9,   105,     0,     9,     0,     0,
-   121,     0,   122,     0,   121,   122,     0,    40,    82,     0,
-    51,    82,     0,    20,    82,     0,    42,    52,     0,     0,
-   124,     0,   125,     0,   124,   125,     0,   126,     0,   131,
-     0,   137,     0,   161,     0,   134,     0,   169,     0,    53,
-   127,   106,     0,    53,    45,     0,   128,     0,   127,   128,
-     0,   129,    45,   207,   116,     0,   130,     0,   129,   107,
-   130,     0,   207,     0,   209,     0,    41,   132,   106,     0,
-    41,    17,   106,     0,    41,   106,     0,   133,     0,   132,
-   107,   133,     0,   207,     0,   209,     0,   207,   135,     3,
-   102,   136,   103,     0,   156,     0,   166,     0,     0,   177,
-     0,   207,     3,   205,    85,     0,   207,     3,   205,   153,
-     0,   207,     3,   143,     0,   207,   102,   138,   103,     3,
-   153,     0,   139,     0,   138,   107,   139,     0,   207,     0,
-   207,   108,   209,     0,   166,   108,   209,     0,   141,     0,
-   140,   107,   141,     0,   155,     0,   209,     0,   152,     0,
-   142,   107,   152,     0,    28,   102,   145,   103,   147,     0,
-     0,    86,     0,   146,     0,   145,   107,   146,     0,   159,
-   197,     0,   159,   153,   144,     0,   159,   159,   197,   144,
-     0,     0,   148,     0,     0,    93,    80,   102,   149,   150,
-   103,     0,   151,     0,   150,   151,     0,     4,     0,   159,
-     0,   210,   153,     0,   154,     0,   155,   171,   197,     0,
-   100,     0,   100,   109,   164,     0,   100,   109,   204,     0,
-   168,     0,   169,     0,   170,     0,   207,   102,   140,   103,
-     0,   156,     0,    55,    66,   156,     0,    11,     0,    11,
-   110,   207,     0,    11,   110,   209,     0,   208,     0,   208,
-   110,   157,     0,   158,     0,   157,   110,   158,     0,   160,
-     0,   160,     0,    13,     0,    14,     0,   209,   135,     3,
-   162,     0,     0,   102,   163,   165,     0,     5,     0,     7,
-     0,     6,     0,   204,     0,   164,     0,   209,     0,   207,
-   110,   209,     0,     4,     0,   165,     4,     0,    24,     0,
-    61,     0,    74,     0,   167,     0,    65,    79,     0,    63,
-    50,     0,    75,     0,    43,     0,    36,    69,     0,    26,
-    79,     0,    89,     0,    46,     0,    56,     0,    39,     0,
-    22,    79,     0,   166,     0,   167,   201,     0,    23,     0,
-    47,     0,    48,     0,    49,     0,    57,     0,    62,     0,
-    72,     0,    81,     0,    83,     0,    88,     0,    90,     0,
-    91,     0,    92,     0,    64,     0,    27,   102,   142,   103,
-     0,    76,   102,   142,   103,     0,    77,   102,   142,   103,
-     0,    76,   171,    66,   155,     0,    77,   171,    66,   155,
-     0,    18,     0,    18,    35,    25,   209,     0,     0,   175,
-     0,    94,     0,    95,     0,    96,     0,    97,     0,    98,
-     0,    78,   104,   177,   105,     0,   176,     0,   175,   176,
-     0,   104,   177,   105,     0,   178,     0,   178,   107,   100,
-     0,   178,   107,   100,   107,   178,     0,   100,     0,   100,
-   107,   178,     0,   179,     0,   180,     0,   179,   172,   180,
-     0,   181,     0,   180,   173,   181,     0,   182,     0,   181,
-   174,   182,     0,   185,     0,   185,   183,   185,     0,   184,
-   104,   177,   105,     0,   191,     0,   186,     0,    99,     0,
-    99,   111,     0,   111,    99,     0,   111,    99,   111,     0,
-    78,     0,    45,     0,   204,     0,   209,     0,     6,     0,
-    59,     0,    58,     0,    44,     0,    84,     0,    93,    30,
-   102,   187,   103,     0,   188,     0,   187,   107,   188,     0,
-   100,     0,   209,   171,   189,     0,     0,   190,     0,    71,
-     0,    15,     0,    67,     0,   192,     0,   193,     0,   102,
-   207,   103,     0,   192,   102,   194,   103,     0,   195,     0,
-   194,   107,   195,     0,   112,   196,     0,   112,   110,   196,
-     0,   209,     0,   196,   110,   209,     0,     0,   198,     0,
-    67,     0,    33,   199,     0,   185,     0,   166,     0,     0,
-   102,   200,   165,     0,   102,   103,     0,   102,   202,   103,
-     0,   203,     0,   202,   107,   203,     0,   209,     0,   209,
-   104,   204,   105,     0,   209,   104,   164,   105,     0,   204,
-     0,   100,     0,     9,     0,    10,     0,     0,   206,     0,
-   101,     0,   101,    51,     0,   101,    40,     0,    11,     0,
-    12,     0,    12,     0,     8,     0,   209,     0,   209,   206,
-     0
-};
+# ifdef YYSTACK_ALLOC
+   /* Pacify GCC's `empty if-body' warning. */
+#  define YYSTACK_FREE(Ptr) do { /* empty */; } while (0)
+# else
+#  if defined (__STDC__) || defined (__cplusplus)
+#   include <stdlib.h> /* INFRINGES ON USER NAME SPACE */
+#   define YYSIZE_T size_t
+#  endif
+#  define YYSTACK_ALLOC malloc
+#  define YYSTACK_FREE free
+# endif
+#endif /* ! defined (yyoverflow) || YYERROR_VERBOSE */
+
+
+#if (! defined (yyoverflow) \
+     && (! defined (__cplusplus) \
+	 || (YYLTYPE_IS_TRIVIAL && YYSTYPE_IS_TRIVIAL)))
+
+/* A type that is properly aligned for any stack member.  */
+union yyalloc
+{
+  short yyss;
+  YYSTYPE yyvs;
+  };
+
+/* The size of the maximum gap between one aligned stack and the next.  */
+# define YYSTACK_GAP_MAX (sizeof (union yyalloc) - 1)
+
+/* The size of an array large to enough to hold all stacks, each with
+   N elements.  */
+# define YYSTACK_BYTES(N) \
+     ((N) * (sizeof (short) + sizeof (YYSTYPE))				\
+      + YYSTACK_GAP_MAX)
+
+/* Copy COUNT objects from FROM to TO.  The source and destination do
+   not overlap.  */
+# ifndef YYCOPY
+#  if 1 < __GNUC__
+#   define YYCOPY(To, From, Count) \
+      __builtin_memcpy (To, From, (Count) * sizeof (*(From)))
+#  else
+#   define YYCOPY(To, From, Count)		\
+      do					\
+	{					\
+	  register YYSIZE_T yyi;		\
+	  for (yyi = 0; yyi < (Count); yyi++)	\
+	    (To)[yyi] = (From)[yyi];	\
+	}					\
+      while (0)
+#  endif
+# endif
+
+/* Relocate STACK from its old location to the new one.  The
+   local variables YYSIZE and YYSTACKSIZE give the old and new number of
+   elements in the stack, and YYPTR gives the new location of the
+   stack.  Advance YYPTR to a properly aligned location for the next
+   stack.  */
+# define YYSTACK_RELOCATE(Stack)					\
+    do									\
+      {									\
+	YYSIZE_T yynewbytes;						\
+	YYCOPY (&yyptr->Stack, Stack, yysize);				\
+	Stack = &yyptr->Stack;						\
+	yynewbytes = yystacksize * sizeof (*Stack) + YYSTACK_GAP_MAX;	\
+	yyptr += yynewbytes / sizeof (*yyptr);				\
+      }									\
+    while (0)
 
 #endif
 
-#if YYDEBUG != 0
-static const short yyrline[] = { 0,
-   297,   303,   309,   325,   350,   352,   355,   359,   364,   371,
-   379,   384,   388,   397,   399,   407,   411,   419,   423,   426,
-   429,   437,   439,   448,   452,   477,   481,   490,   497,   510,
-   521,   534,   541,   546,   552,   558,   567,   573,   579,   586,
-   594,   598,   601,   608,   614,   620,   627,   636,   646,   654,
-   662,   664,   676,   688,   695,   711,   721,   731,   741,   746,
-   753,   763,   769,   775,   779,   791,   797,   803,   813,   815,
-   818,   826,   832,   841,   846,   863,   865,   870,   874,   879,
-   884,   890,   894,   919,   926,   931,   939,   948,   957,   968,
-   972,   978,   986,  1010,  1017,  1031,  1040,  1050,  1060,  1068,
-  1089,  1098,  1107,  1108,  1110,  1117,  1129,  1139,  1141,  1146,
-  1150,  1154,  1158,  1161,  1166,  1178,  1194,  1205,  1219,  1221,
-  1222,  1223,  1224,  1225,  1226,  1227,  1228,  1229,  1230,  1231,
-  1237,  1239,  1240,  1243,  1250,  1262,  1264,  1268,  1272,  1273,
-  1274,  1275,  1276,  1280,  1281,  1282,  1283,  1287,  1288,  1291,
-  1298,  1304,  1310,  1318,  1326,  1332,  1348,  1350,  1353,  1353,
-  1354,  1354,  1355,  1357,  1370,  1373,  1378,  1384,  1388,  1395,
-  1403,  1408,  1417,  1419,  1421,  1426,  1428,  1434,  1436,  1441,
-  1448,  1455,  1463,  1466,  1471,  1473,  1474,  1475,  1478,  1482,
-  1487,  1491,  1502,  1506,  1511,  1516,  1521,  1528,  1534,  1538,
-  1543,  1549,  1561,  1563,  1566,  1570,  1573,  1578,  1582,  1590,
-  1605,  1611,  1618,  1631,  1643,  1658,  1662,  1679,  1681,  1684,
-  1688,  1694,  1697,  1699,  1699,  1719,  1724,  1729,  1735,  1741,
-  1749,  1757,  1765,  1772,  1782,  1787,  1817,  1819,  1822,  1827,
-  1831,  1837,  1842,  1848,  1855,  1862,  1867
-};
-#endif
-
-
-#if YYDEBUG != 0 || defined (YYERROR_VERBOSE)
-
-static const char * const yytname[] = {   "$","error","$undefined.","TOK_PPEQ",
-"TOK_opaque","TOK_bstring","TOK_cstring","TOK_hstring","TOK_identifier","TOK_number",
-"TOK_number_negative","TOK_typereference","TOK_objectclassreference","TOK_typefieldreference",
-"TOK_valuefieldreference","TOK_ABSENT","TOK_ABSTRACT_SYNTAX","TOK_ALL","TOK_ANY",
-"TOK_APPLICATION","TOK_AUTOMATIC","TOK_BEGIN","TOK_BIT","TOK_BMPString","TOK_BOOLEAN",
-"TOK_BY","TOK_CHARACTER","TOK_CHOICE","TOK_CLASS","TOK_COMPONENT","TOK_COMPONENTS",
-"TOK_CONSTRAINED","TOK_CONTAINING","TOK_DEFAULT","TOK_DEFINITIONS","TOK_DEFINED",
-"TOK_EMBEDDED","TOK_ENCODED","TOK_END","TOK_ENUMERATED","TOK_EXPLICIT","TOK_EXPORTS",
-"TOK_EXTENSIBILITY","TOK_EXTERNAL","TOK_FALSE","TOK_FROM","TOK_GeneralizedTime",
-"TOK_GeneralString","TOK_GraphicString","TOK_IA5String","TOK_IDENTIFIER","TOK_IMPLICIT",
-"TOK_IMPLIED","TOK_IMPORTS","TOK_INCLUDES","TOK_INSTANCE","TOK_INTEGER","TOK_ISO646String",
-"TOK_MAX","TOK_MIN","TOK_MINUS_INFINITY","TOK_NULL","TOK_NumericString","TOK_OBJECT",
-"TOK_ObjectDescriptor","TOK_OCTET","TOK_OF","TOK_OPTIONAL","TOK_PATTERN","TOK_PDV",
-"TOK_PLUS_INFINITY","TOK_PRESENT","TOK_PrintableString","TOK_PRIVATE","TOK_REAL",
-"TOK_RELATIVE_OID","TOK_SEQUENCE","TOK_SET","TOK_SIZE","TOK_STRING","TOK_SYNTAX",
-"TOK_T61String","TOK_TAGS","TOK_TeletexString","TOK_TRUE","TOK_TYPE_IDENTIFIER",
-"TOK_UNIQUE","TOK_UNIVERSAL","TOK_UniversalString","TOK_UTCTime","TOK_UTF8String",
-"TOK_VideotexString","TOK_VisibleString","TOK_WITH","'|'","TOK_UNION","'^'",
-"TOK_INTERSECTION","TOK_EXCEPT","TOK_TwoDots","TOK_ThreeDots","TOK_tag","'{'",
-"'}'","'('","')'","';'","','","':'","'!'","'.'","'<'","'@'","ParsedGrammar",
-"ModuleList","ModuleSpecification","optObjectIdentifier","ObjectIdentifier",
-"ObjectIdentifierBody","ObjectIdentifierElement","optModuleSpecificationFlags",
-"ModuleSpecificationFlags","ModuleSpecificationFlag","optModuleSpecificationBody",
-"ModuleSpecificationBody","ModuleSpecificationElement","ImportsDefinition","ImportsBundleSet",
-"ImportsBundle","ImportsList","ImportsElement","ExportsDefinition","ExportsBody",
-"ExportsElement","ValueSetDefinition","DefinedTypeRef","optValueSetBody","DataTypeReference",
-"ParameterArgumentList","ParameterArgumentName","ActualParameterList","ActualParameter",
-"ConstructedDataTypeDefinition","ClassDeclaration","optUnique","ClassFieldList",
-"ClassField","optWithSyntax","WithSyntax","@1","WithSyntaxFormat","WithSyntaxFormatToken",
-"DataTypeMember","ConstrainedTypeDeclaration","ExtensionAndException","TypeDeclaration",
-"ComplexTypeReference","ComplexTypeReferenceAmpList","ComplexTypeReferenceElement",
-"ClassFieldIdentifier","ClassFieldName","ValueDefinition","InlineOrDefinedValue",
-"@2","DefinedValue","Opaque","BasicTypeId","BasicTypeId_UniverationCompatible",
-"BasicType","BasicString","ConstructedType","optConstraints","Union","Intersection",
-"Except","Constraints","SingleConstraint","ConstraintElementSet","ConstraintElement",
-"ConstraintElementUnion","ConstraintElementIntersection","ConstraintElementException",
-"ConstraintSubtypeElement","ConstraintRangeSpec","ConstraintSpec","ConstraintValue",
-"WithComponents","WithComponentsList","WithComponentsElement","optPresenceConstraint",
-"PresenceConstraint","TableConstraint","SimpleTableConstraint","ComponentRelationConstraint",
-"AtNotationList","AtNotationElement","ComponentIdList","optMarker","Marker",
-"DefaultValue","@3","UniverationDefinition","UniverationList","UniverationElement",
-"SignedNumber","optTag","Tag","TypeRefName","ObjectClassReference","Identifier",
-"TaggedIdentifier", NULL
-};
-#endif
-
-static const short yyr1[] = {     0,
-   113,   114,   114,   115,   116,   116,   117,   117,   118,   118,
-   119,   119,   119,   120,   120,   121,   121,   122,   122,   122,
-   122,   123,   123,   124,   124,   125,   125,   125,   125,   125,
-   125,   126,   126,   127,   127,   128,   129,   129,   130,   130,
-   131,   131,   131,   132,   132,   133,   133,   134,   135,   135,
-   136,   136,   137,   137,   137,   137,   138,   138,   139,   139,
-   139,   140,   140,   141,   141,   142,   142,   143,   144,   144,
-   145,   145,   146,   146,   146,   147,   147,   149,   148,   150,
-   150,   151,   151,   152,   152,   153,   154,   154,   154,   155,
-   155,   155,   155,   155,   155,   156,   156,   156,   156,   156,
-   157,   157,   158,   159,   160,   160,   161,   163,   162,   162,
-   162,   162,   162,   162,   164,   164,   165,   165,   166,   166,
-   166,   166,   166,   166,   166,   166,   166,   166,   166,   166,
-   167,   167,   167,   168,   168,   169,   169,   169,   169,   169,
-   169,   169,   169,   169,   169,   169,   169,   169,   169,   170,
-   170,   170,   170,   170,   170,   170,   171,   171,   172,   172,
-   173,   173,   174,   175,   175,   175,   176,   177,   177,   177,
-   177,   177,   178,   179,   179,   180,   180,   181,   181,   182,
-   182,   182,   182,   182,   183,   183,   183,   183,   184,   184,
-   185,   185,   185,   185,   185,   185,   185,   186,   187,   187,
-   188,   188,   189,   189,   190,   190,   190,   191,   191,   192,
-   193,   194,   194,   195,   195,   196,   196,   197,   197,   198,
-   198,   199,   199,   200,   199,   201,   201,   202,   202,   203,
-   203,   203,   203,   203,   204,   204,   205,   205,   206,   206,
-   206,   207,   207,   208,   209,   210,   210
-};
-
-static const short yyr2[] = {     0,
-     1,     1,     2,     8,     0,     1,     3,     2,     1,     2,
-     1,     4,     1,     0,     1,     1,     2,     2,     2,     2,
-     2,     0,     1,     1,     2,     1,     1,     1,     1,     1,
-     1,     3,     2,     1,     2,     4,     1,     3,     1,     1,
-     3,     3,     2,     1,     3,     1,     1,     6,     1,     1,
-     0,     1,     4,     4,     3,     6,     1,     3,     1,     3,
-     3,     1,     3,     1,     1,     1,     3,     5,     0,     1,
-     1,     3,     2,     3,     4,     0,     1,     0,     6,     1,
-     2,     1,     1,     2,     1,     3,     1,     3,     3,     1,
-     1,     1,     4,     1,     3,     1,     3,     3,     1,     3,
-     1,     3,     1,     1,     1,     1,     4,     0,     3,     1,
-     1,     1,     1,     1,     1,     3,     1,     2,     1,     1,
-     1,     1,     2,     2,     1,     1,     2,     2,     1,     1,
-     1,     1,     2,     1,     2,     1,     1,     1,     1,     1,
-     1,     1,     1,     1,     1,     1,     1,     1,     1,     4,
-     4,     4,     4,     4,     1,     4,     0,     1,     1,     1,
-     1,     1,     1,     4,     1,     2,     3,     1,     3,     5,
-     1,     3,     1,     1,     3,     1,     3,     1,     3,     1,
-     3,     4,     1,     1,     1,     2,     2,     3,     1,     1,
-     1,     1,     1,     1,     1,     1,     1,     5,     1,     3,
-     1,     3,     0,     1,     1,     1,     1,     1,     1,     3,
-     4,     1,     3,     2,     3,     1,     3,     0,     1,     1,
-     2,     1,     1,     0,     3,     2,     3,     1,     3,     1,
-     4,     4,     1,     1,     1,     1,     0,     1,     1,     2,
-     2,     1,     1,     1,     1,     1,     2
-};
-
-static const short yydefact[] = {     0,
-   242,   243,     1,     2,     5,     3,     0,     0,     6,   245,
-    13,     8,     0,     9,    11,    14,     7,    10,     0,     0,
-     0,     0,     0,     0,    15,    16,     0,    20,    18,    21,
-    19,     0,    17,    12,    22,   136,     0,   137,   138,   139,
-     0,   140,   141,   149,   142,   143,   144,   145,   146,   147,
-   148,     0,    23,    24,    26,    27,    30,    28,    29,    31,
-     0,     0,     0,    43,     0,    44,    46,    47,    33,     0,
-    34,     0,    37,    39,    40,     4,    25,   237,    96,   244,
-     0,   119,     0,     0,   132,   126,   130,   131,   120,     0,
-     0,   121,   125,   129,     0,     0,    49,    50,   122,    99,
-     0,    42,    41,     0,    32,    35,     0,     0,     0,   239,
-    55,     0,   238,     0,   133,   128,   127,   124,   123,     0,
-    57,     0,    59,     0,     0,     0,    45,     5,    38,     0,
-   241,   240,    96,   244,   155,     0,     0,   157,   157,    53,
-    54,   157,    94,   134,   122,    90,    91,    92,     0,    97,
-    98,     0,     0,     0,     0,    51,   105,   106,   100,   101,
-   103,   110,   112,   111,   235,   236,   108,   107,   114,   113,
-     0,   115,    36,     0,    71,   218,   104,     0,     0,     0,
-     0,     0,     0,     0,   158,   165,     0,     0,   218,     0,
-   135,     0,     0,    58,    61,    60,   193,   196,   190,   195,
-   194,   189,   197,     0,   171,     0,     0,    52,   168,   173,
-   174,   176,   178,     0,   180,   184,   183,   208,   209,   191,
-   192,     0,     0,     0,    76,     0,     0,   220,    69,   218,
-    73,   219,     0,    87,     0,    66,    85,   246,     0,    95,
-     0,     0,     0,     0,   166,     0,     0,    86,   234,   226,
-     0,   228,   233,   230,     0,    62,    64,    65,    56,     0,
-     0,     0,    48,     0,   159,   160,     0,   161,   162,     0,
-   163,     0,     0,   185,     0,     0,     0,   102,   117,   109,
-   116,     0,    68,    77,    72,   224,   223,   222,   221,    70,
-    74,    69,   156,     0,   150,     0,   247,    84,     0,   151,
-   167,   153,   152,   154,   227,     0,     0,    93,     0,     0,
-   172,   210,   169,   175,   177,   179,     0,   186,   187,   181,
-     0,     0,   212,   118,     0,     0,    75,    88,    89,    67,
-   164,   229,     0,     0,    63,   201,     0,   199,   157,     0,
-   182,   188,     0,   214,   216,   211,     0,    78,   225,   232,
-   231,   198,     0,   203,   170,   215,     0,   213,     0,   200,
-   206,   207,   205,   202,   204,   217,    82,     0,    80,    83,
-    79,    81,     0,     0,     0
-};
-
-static const short yydefgoto[] = {   373,
-     3,     4,     8,     9,    13,    14,    24,    25,    26,    52,
-    53,    54,    55,    70,    71,    72,    73,    56,    65,    66,
-    57,    96,   207,    58,   120,   121,   255,   256,   235,   111,
-   291,   174,   175,   283,   284,   359,   368,   369,   236,   141,
-   237,   142,   143,   159,   160,   176,   177,    59,   168,   223,
-   169,   280,   144,   145,   146,   147,   148,   184,   267,   270,
-   272,   185,   186,   208,   209,   210,   211,   212,   213,   276,
-   214,   215,   216,   337,   338,   364,   365,   217,   218,   219,
-   322,   323,   344,   231,   232,   289,   326,   191,   251,   252,
-   220,   112,   113,   149,   100,   221,   239
-};
-
-static const short yypact[] = {    81,
--32768,-32768,    81,-32768,   -45,-32768,    23,    70,-32768,-32768,
--32768,-32768,    47,-32768,    31,   190,-32768,-32768,   132,    61,
-    69,   108,    86,   176,   190,-32768,    76,-32768,-32768,-32768,
--32768,   166,-32768,-32768,   442,-32768,    32,-32768,-32768,-32768,
-   121,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
--32768,   168,   442,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
-   179,   732,   103,-32768,    52,-32768,-32768,-32768,-32768,    39,
--32768,    16,-32768,-32768,-32768,-32768,-32768,   -11,   111,-32768,
-   150,-32768,   152,   142,-32768,-32768,-32768,-32768,-32768,   184,
-   159,-32768,-32768,-32768,   748,   240,-32768,-32768,-32768,   135,
-   243,-32768,-32768,   141,-32768,-32768,    81,   141,   145,    60,
--32768,   599,-32768,   141,-32768,-32768,-32768,-32768,-32768,    -1,
--32768,   143,   144,   147,   206,    68,-32768,   -45,-32768,   206,
--32768,-32768,   -42,   148,   221,   161,   198,    40,    53,-32768,
--32768,   -37,-32768,-32768,   163,-32768,-32768,-32768,   164,-32768,
--32768,   264,   748,   261,   261,   155,-32768,-32768,   160,-32768,
--32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
-   162,-32768,-32768,    64,-32768,   524,-32768,   246,    21,   212,
-   169,    21,   155,   208,   171,-32768,    21,   210,     2,    17,
--32768,   383,   674,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
--32768,-32768,-32768,   247,   172,    81,   175,-32768,   173,   133,
-   140,   185,-32768,   178,    35,-32768,-32768,   182,-32768,-32768,
--32768,   206,   281,   261,   193,   206,   301,-32768,   202,     2,
--32768,-32768,   261,   181,    66,-32768,-32768,   191,   674,-32768,
-   155,    71,   186,   674,-32768,    89,   674,-32768,-32768,-32768,
-    90,-32768,-32768,   189,    91,-32768,-32768,-32768,-32768,   192,
-   309,   194,-32768,   196,-32768,-32768,   309,-32768,-32768,   309,
--32768,   309,   155,   187,   205,    78,   200,-32768,-32768,   297,
--32768,   225,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
--32768,   202,-32768,   250,-32768,    21,-32768,-32768,   201,-32768,
--32768,-32768,-32768,-32768,-32768,    56,   250,-32768,   383,    25,
--32768,-32768,   209,   140,   185,-32768,   215,-32768,   211,-32768,
-     6,   101,-32768,-32768,   219,   281,-32768,-32768,-32768,-32768,
--32768,-32768,   223,   224,-32768,-32768,   109,-32768,   -37,   309,
--32768,-32768,   261,   203,-32768,-32768,   200,-32768,   297,-32768,
--32768,-32768,    25,    24,-32768,   203,   261,-32768,   126,-32768,
--32768,-32768,-32768,-32768,-32768,-32768,-32768,     9,-32768,-32768,
--32768,-32768,   324,   326,-32768
-};
-
-static const short yypgoto[] = {-32768,
--32768,   327,   204,-32768,-32768,   318,-32768,-32768,   308,-32768,
--32768,   282,-32768,-32768,   268,-32768,   226,-32768,-32768,   235,
--32768,   279,-32768,-32768,-32768,   195,-32768,    33,  -129,-32768,
-    51,-32768,   123,-32768,-32768,-32768,-32768,   -17,    59,  -156,
--32768,  -185,   -52,-32768,   130,  -173,  -109,-32768,-32768,-32768,
-  -209,    30,   -50,   -43,-32768,    46,-32768,  -137,-32768,-32768,
--32768,-32768,   180,  -159,  -246,-32768,    94,    88,    97,-32768,
--32768,  -206,-32768,-32768,    10,-32768,-32768,-32768,-32768,-32768,
--32768,    26,    27,  -141,-32768,-32768,-32768,-32768,-32768,    65,
-  -118,-32768,   134,     1,-32768,    -7,-32768
-};
-
-
-#define	YYLAST		837
-
-
-static const short yytable[] = {    15,
-     5,   188,   230,     5,   189,    15,   257,   170,    97,    97,
-    98,    98,   367,    10,   311,   161,   109,    99,    99,   229,
-   288,   157,   158,   243,    10,   165,   166,    62,    10,    68,
-    10,    11,    10,    75,   227,    61,   259,    67,   361,    10,
-   181,    74,     1,     2,   122,    62,    10,   248,    63,     1,
-     2,    99,   242,    61,    10,    11,     7,   246,   302,  -242,
-   107,   304,    75,    10,   165,   166,   183,   114,   228,   320,
-    74,   253,   162,   163,   164,    10,   165,   166,     1,     2,
-    60,   299,   298,   197,   328,    10,   165,   166,   292,   110,
-   362,     1,     2,   355,   363,   123,    68,   333,    60,   131,
-    75,   152,   122,    16,    67,   153,   151,   128,    74,    99,
-   132,   371,   161,   317,   150,   343,   249,   181,   172,   250,
-   234,   198,   108,   257,   336,    12,   171,   240,    10,   367,
-   181,     1,     2,   274,    19,   200,   201,    64,   157,   158,
-    27,   182,    28,   183,   105,   275,   195,   196,    10,    17,
-    29,     1,     2,   123,   187,   249,   183,   103,   104,    30,
-   197,   203,    10,   165,   166,    69,   225,    31,   295,   167,
-   226,   238,   296,   300,   238,   329,   287,   296,    32,   238,
-    34,    78,   254,    99,   258,   370,    35,   253,   334,    79,
-    80,   303,   305,   308,   370,   296,   306,   309,   198,   199,
-    81,   354,    82,   346,    83,    76,   262,   347,   102,    20,
-   117,   352,   200,   201,    84,   353,   281,    85,   157,   158,
-   114,    86,    79,    80,    87,   293,   265,   266,   115,    21,
-   116,    22,   202,   118,    88,   268,   269,   119,   203,    89,
-    23,    90,   124,    91,   125,   126,   130,   204,   156,  -243,
-   154,   155,    92,    93,   205,   178,   206,    10,   165,   166,
-     1,     2,   179,   180,   190,   192,   193,    94,    10,   222,
-   233,   224,   241,   244,   183,   247,   260,   263,   261,   264,
-    95,   273,   271,   277,   279,   282,   172,   290,   238,   294,
-   301,   110,   307,   310,   171,   313,   312,   318,   254,   172,
-   324,   258,   339,   319,   325,   331,   197,   171,    10,   165,
-   166,   321,   357,   345,   197,   340,    10,   165,   166,   341,
-   348,   342,    81,   374,    82,   375,    83,   350,   351,     6,
-    18,   173,    33,   129,    77,   345,    84,   106,   127,    85,
-   101,   335,   327,    86,   198,   339,    87,   194,   285,   366,
-   372,   278,   198,   199,   330,   349,    88,   315,   200,   201,
-   314,    89,   360,    90,   245,    91,   200,   201,   316,   356,
-   332,   297,   358,     0,    92,    93,     0,     0,     0,     0,
-     0,     0,     0,     0,   203,     0,   202,     0,     0,    94,
-    10,     0,   203,   133,   134,     0,     0,     0,     0,     0,
-   135,   204,   286,     0,    81,    36,    82,     0,    83,   136,
-   206,     0,     0,     0,     0,     0,     0,     0,    84,     0,
-     0,    85,     0,     0,     0,    86,     0,     0,    87,    38,
-    39,    40,     0,     0,     0,     0,     0,   137,    88,    42,
-     0,     0,     0,    89,    43,    90,    44,    91,     0,    10,
-     0,     0,     1,     2,    45,     0,    92,    93,   138,   139,
-     0,     0,     0,    46,    36,    47,     0,     0,     0,     0,
-    48,    94,    49,    50,    51,     0,     0,     0,     0,     0,
-     0,     0,    37,     0,     0,     0,     0,     0,    38,    39,
-    40,     0,     0,     0,    41,     0,     0,     0,    42,     0,
-     0,     0,     0,    43,     0,    44,     0,     0,     0,     0,
-     0,     0,     0,    45,     0,     0,     0,     0,     0,     0,
-     0,     0,    46,     0,    47,     0,     0,     0,     0,    48,
-     0,    49,    50,    51,   133,   134,   157,   158,     0,     0,
-     0,   135,     0,     0,     0,    81,    36,    82,     0,    83,
-   136,     0,     0,     0,     0,     0,   227,     0,     0,    84,
-     0,     0,    85,     0,     0,     0,    86,     0,     0,    87,
-    38,    39,    40,     0,     0,     0,     0,     0,   137,    88,
-    42,     0,     0,     0,    89,    43,    90,    44,    91,     0,
-   228,     0,     0,     0,     0,    45,     0,    92,    93,   138,
-   139,     0,     0,     0,    46,     0,    47,     0,     0,   133,
-   134,    48,    94,    49,    50,    51,   135,     0,     0,     0,
-    81,    36,    82,     0,    83,   136,     0,     0,     0,     0,
-     0,     0,     0,     0,    84,     0,     0,    85,     0,     0,
-     0,    86,     0,     0,    87,    38,    39,    40,     0,     0,
-     0,     0,     0,   137,    88,    42,     0,     0,     0,    89,
-    43,    90,    44,    91,     0,     0,     0,     0,     0,     0,
-    45,     0,    92,    93,   138,   139,     0,     0,     0,    46,
-     0,    47,     0,   140,   133,   134,    48,    94,    49,    50,
-    51,   135,     0,     0,     0,    81,    36,    82,     0,    83,
-   136,     0,     0,     0,     0,     0,     0,     0,     0,    84,
-     0,     0,    85,     0,     0,     0,    86,     0,     0,    87,
-    38,    39,    40,     0,     0,     0,     0,     0,   137,    88,
-    42,     0,     0,     0,    89,    43,    90,    44,    91,     0,
-     0,     0,    79,    80,     0,    45,     0,    92,    93,   138,
-   139,     0,     0,    81,    46,    82,    47,    83,     1,     2,
-     0,    48,    94,    49,    50,    51,     0,    84,     0,    81,
-    85,    82,     0,    83,    86,     0,     0,    87,     0,     0,
-     0,     0,     0,    84,     0,     0,    85,    88,     0,     0,
-    86,     0,    89,    87,    90,     0,    91,     0,     0,     0,
-     0,     0,     0,    88,     0,    92,    93,     0,    89,     0,
-    90,     0,    91,     0,     0,     0,     0,     0,     0,     0,
-    94,    92,    93,     0,     0,     0,     0,     0,     0,     0,
-     0,     0,     0,     0,     0,     0,    94
-};
-
-static const short yycheck[] = {     7,
-     0,   139,   176,     3,   142,    13,   192,   126,    61,    62,
-    61,    62,     4,     8,   261,   125,    28,    61,    62,   176,
-   227,    13,    14,   183,     8,     9,    10,    35,     8,    37,
-     8,     9,     8,    41,    33,    35,   193,    37,    15,     8,
-    78,    41,    11,    12,    95,    53,     8,   189,    17,    11,
-    12,    95,   182,    53,     8,     9,   102,   187,   244,   102,
-    45,   247,    70,     8,     9,    10,   104,   110,    67,   276,
-    70,   190,     5,     6,     7,     8,     9,    10,    11,    12,
-    35,   241,   239,     6,   294,     8,     9,    10,   230,   101,
-    67,    11,    12,   340,    71,    95,   104,   307,    53,    40,
-   108,   103,   153,    34,   104,   107,   114,   107,   108,   153,
-    51,   103,   222,   273,   114,   110,   100,    78,   126,   103,
-   100,    44,   107,   309,   100,   103,   126,   180,     8,     4,
-    78,    11,    12,    99,   104,    58,    59,   106,    13,    14,
-     9,   102,    82,   104,   106,   111,   154,   155,     8,   103,
-    82,    11,    12,   153,   102,   100,   104,   106,   107,    52,
-     6,    84,     8,     9,    10,    45,   103,    82,   103,   102,
-   107,   179,   107,   103,   182,   294,   227,   107,     3,   187,
-   105,     3,   190,   227,   192,   359,    21,   306,   307,    11,
-    12,   103,   103,   103,   368,   107,   107,   107,    44,    45,
-    22,   339,    24,   103,    26,    38,   206,   107,   106,    20,
-    69,   103,    58,    59,    36,   107,   224,    39,    13,    14,
-   110,    43,    11,    12,    46,   233,    94,    95,    79,    40,
-    79,    42,    78,    50,    56,    96,    97,    79,    84,    61,
-    51,    63,     3,    65,   110,     3,   102,    93,   102,   102,
-   108,   108,    74,    75,   100,    35,   102,     8,     9,    10,
-    11,    12,   102,    66,   102,   102,     3,    89,     8,   110,
-    25,   110,   104,    66,   104,    66,    30,   103,   107,   107,
-   102,   104,    98,   102,     4,    93,   294,    86,   296,   109,
-   105,   101,   104,   102,   294,   100,   103,   111,   306,   307,
-     4,   309,   310,    99,    80,   105,     6,   307,     8,     9,
-    10,   112,   110,   321,     6,   107,     8,     9,    10,   105,
-   102,   111,    22,     0,    24,     0,    26,   105,   105,     3,
-    13,   128,    25,   108,    53,   343,    36,    70,   104,    39,
-    62,   309,   292,    43,    44,   353,    46,   153,   226,   357,
-   368,   222,    44,    45,   296,   326,    56,   270,    58,    59,
-   267,    61,   353,    63,   185,    65,    58,    59,   272,   343,
-   306,   238,   347,    -1,    74,    75,    -1,    -1,    -1,    -1,
-    -1,    -1,    -1,    -1,    84,    -1,    78,    -1,    -1,    89,
-     8,    -1,    84,    11,    12,    -1,    -1,    -1,    -1,    -1,
-    18,    93,   102,    -1,    22,    23,    24,    -1,    26,    27,
-   102,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    36,    -1,
-    -1,    39,    -1,    -1,    -1,    43,    -1,    -1,    46,    47,
-    48,    49,    -1,    -1,    -1,    -1,    -1,    55,    56,    57,
-    -1,    -1,    -1,    61,    62,    63,    64,    65,    -1,     8,
-    -1,    -1,    11,    12,    72,    -1,    74,    75,    76,    77,
-    -1,    -1,    -1,    81,    23,    83,    -1,    -1,    -1,    -1,
-    88,    89,    90,    91,    92,    -1,    -1,    -1,    -1,    -1,
-    -1,    -1,    41,    -1,    -1,    -1,    -1,    -1,    47,    48,
-    49,    -1,    -1,    -1,    53,    -1,    -1,    -1,    57,    -1,
-    -1,    -1,    -1,    62,    -1,    64,    -1,    -1,    -1,    -1,
-    -1,    -1,    -1,    72,    -1,    -1,    -1,    -1,    -1,    -1,
-    -1,    -1,    81,    -1,    83,    -1,    -1,    -1,    -1,    88,
-    -1,    90,    91,    92,    11,    12,    13,    14,    -1,    -1,
-    -1,    18,    -1,    -1,    -1,    22,    23,    24,    -1,    26,
-    27,    -1,    -1,    -1,    -1,    -1,    33,    -1,    -1,    36,
-    -1,    -1,    39,    -1,    -1,    -1,    43,    -1,    -1,    46,
-    47,    48,    49,    -1,    -1,    -1,    -1,    -1,    55,    56,
-    57,    -1,    -1,    -1,    61,    62,    63,    64,    65,    -1,
-    67,    -1,    -1,    -1,    -1,    72,    -1,    74,    75,    76,
-    77,    -1,    -1,    -1,    81,    -1,    83,    -1,    -1,    11,
-    12,    88,    89,    90,    91,    92,    18,    -1,    -1,    -1,
-    22,    23,    24,    -1,    26,    27,    -1,    -1,    -1,    -1,
-    -1,    -1,    -1,    -1,    36,    -1,    -1,    39,    -1,    -1,
-    -1,    43,    -1,    -1,    46,    47,    48,    49,    -1,    -1,
-    -1,    -1,    -1,    55,    56,    57,    -1,    -1,    -1,    61,
-    62,    63,    64,    65,    -1,    -1,    -1,    -1,    -1,    -1,
-    72,    -1,    74,    75,    76,    77,    -1,    -1,    -1,    81,
-    -1,    83,    -1,    85,    11,    12,    88,    89,    90,    91,
-    92,    18,    -1,    -1,    -1,    22,    23,    24,    -1,    26,
-    27,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    36,
-    -1,    -1,    39,    -1,    -1,    -1,    43,    -1,    -1,    46,
-    47,    48,    49,    -1,    -1,    -1,    -1,    -1,    55,    56,
-    57,    -1,    -1,    -1,    61,    62,    63,    64,    65,    -1,
-    -1,    -1,    11,    12,    -1,    72,    -1,    74,    75,    76,
-    77,    -1,    -1,    22,    81,    24,    83,    26,    11,    12,
-    -1,    88,    89,    90,    91,    92,    -1,    36,    -1,    22,
-    39,    24,    -1,    26,    43,    -1,    -1,    46,    -1,    -1,
-    -1,    -1,    -1,    36,    -1,    -1,    39,    56,    -1,    -1,
-    43,    -1,    61,    46,    63,    -1,    65,    -1,    -1,    -1,
-    -1,    -1,    -1,    56,    -1,    74,    75,    -1,    61,    -1,
-    63,    -1,    65,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-    89,    74,    75,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-    -1,    -1,    -1,    -1,    -1,    -1,    89
-};
-/* -*-C-*-  Note some compilers choke on comments on `#line' lines.  */
-#line 3 "/usr/share/bison.simple"
-/* This file comes from bison-1.28.  */
-
-/* Skeleton output parser for bison,
-   Copyright (C) 1984, 1989, 1990 Free Software Foundation, Inc.
-
-   This program is free software; you can redistribute it and/or modify
-   it under the terms of the GNU General Public License as published by
-   the Free Software Foundation; either version 2, or (at your option)
-   any later version.
-
-   This program is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-   GNU General Public License for more details.
-
-   You should have received a copy of the GNU General Public License
-   along with this program; if not, write to the Free Software
-   Foundation, Inc., 59 Temple Place - Suite 330,
-   Boston, MA 02111-1307, USA.  */
-
-/* As a special exception, when this file is copied by Bison into a
-   Bison output file, you may use that output file without restriction.
-   This special exception was added by the Free Software Foundation
-   in version 1.24 of Bison.  */
-
-/* This is the parser code that is written into each bison parser
-  when the %semantic_parser declaration is not specified in the grammar.
-  It was written by Richard Stallman by simplifying the hairy parser
-  used when %semantic_parser is specified.  */
-
-#ifndef YYSTACK_USE_ALLOCA
-#ifdef alloca
-#define YYSTACK_USE_ALLOCA
-#else /* alloca not defined */
-#ifdef __GNUC__
-#define YYSTACK_USE_ALLOCA
-#define alloca __builtin_alloca
-#else /* not GNU C.  */
-#if (!defined (__STDC__) && defined (sparc)) || defined (__sparc__) || defined (__sparc) || defined (__sgi) || (defined (__sun) && defined (__i386))
-#define YYSTACK_USE_ALLOCA
-#include <alloca.h>
-#else /* not sparc */
-/* We think this test detects Watcom and Microsoft C.  */
-/* This used to test MSDOS, but that is a bad idea
-   since that symbol is in the user namespace.  */
-#if (defined (_MSDOS) || defined (_MSDOS_)) && !defined (__TURBOC__)
-#if 0 /* No need for malloc.h, which pollutes the namespace;
-	 instead, just don't use alloca.  */
-#include <malloc.h>
-#endif
-#else /* not MSDOS, or __TURBOC__ */
-#if defined(_AIX)
-/* I don't know what this was needed for, but it pollutes the namespace.
-   So I turned it off.   rms, 2 May 1997.  */
-/* #include <malloc.h>  */
- #pragma alloca
-#define YYSTACK_USE_ALLOCA
-#else /* not MSDOS, or __TURBOC__, or _AIX */
-#if 0
-#ifdef __hpux /* haible@ilog.fr says this works for HPUX 9.05 and up,
-		 and on HPUX 10.  Eventually we can turn this on.  */
-#define YYSTACK_USE_ALLOCA
-#define alloca __builtin_alloca
-#endif /* __hpux */
-#endif
-#endif /* not _AIX */
-#endif /* not MSDOS, or __TURBOC__ */
-#endif /* not sparc */
-#endif /* not GNU C */
-#endif /* alloca not defined */
-#endif /* YYSTACK_USE_ALLOCA not defined */
-
-#ifdef YYSTACK_USE_ALLOCA
-#define YYSTACK_ALLOC alloca
+#if defined (__STDC__) || defined (__cplusplus)
+   typedef signed char yysigned_char;
 #else
-#define YYSTACK_ALLOC malloc
+   typedef short yysigned_char;
 #endif
 
-/* Note: there must be only one dollar sign in this file.
-   It is replaced by the list of actions, each action
-   as one case of the switch.  */
+/* YYFINAL -- State number of the termination state. */
+#define YYFINAL  7
+#define YYLAST   775
+
+/* YYNTOKENS -- Number of terminals. */
+#define YYNTOKENS  113
+/* YYNNTS -- Number of nonterminals. */
+#define YYNNTS  99
+/* YYNRULES -- Number of rules. */
+#define YYNRULES  248
+/* YYNRULES -- Number of states. */
+#define YYNSTATES  375
+
+/* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX.  */
+#define YYUNDEFTOK  2
+#define YYMAXUTOK   354
+
+#define YYTRANSLATE(X) \
+  ((unsigned)(X) <= YYMAXUTOK ? yytranslate[X] : YYUNDEFTOK)
+
+/* YYTRANSLATE[YYLEX] -- Bison symbol number corresponding to YYLEX.  */
+static const unsigned char yytranslate[] =
+{
+       0,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+       2,     2,     2,   109,     2,     2,     2,     2,     2,     2,
+     104,   105,     2,     2,   107,     2,   110,     2,     2,     2,
+       2,     2,     2,     2,     2,     2,     2,     2,   108,   106,
+     111,     2,     2,     2,   112,     2,     2,     2,     2,     2,
+       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+       2,     2,     2,     2,    96,     2,     2,     2,     2,     2,
+       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+       2,     2,     2,   102,    94,   103,     2,     2,     2,     2,
+       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+       2,     2,     2,     2,     2,     2,     1,     2,     3,     4,
+       5,     6,     7,     8,     9,    10,    11,    12,    13,    14,
+      15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
+      25,    26,    27,    28,    29,    30,    31,    32,    33,    34,
+      35,    36,    37,    38,    39,    40,    41,    42,    43,    44,
+      45,    46,    47,    48,    49,    50,    51,    52,    53,    54,
+      55,    56,    57,    58,    59,    60,    61,    62,    63,    64,
+      65,    66,    67,    68,    69,    70,    71,    72,    73,    74,
+      75,    76,    77,    78,    79,    80,    81,    82,    83,    84,
+      85,    86,    87,    88,    89,    90,    91,    92,    93,    95,
+      97,    98,    99,   100,   101
+};
+
+#if YYDEBUG
+/* YYPRHS[YYN] -- Index of the first RHS symbol of rule number YYN in
+   YYRHS.  */
+static const unsigned short yyprhs[] =
+{
+       0,     0,     3,     5,     7,    10,    19,    20,    22,    26,
+      29,    31,    34,    36,    41,    43,    44,    46,    48,    51,
+      54,    57,    60,    63,    64,    66,    68,    71,    73,    75,
+      77,    79,    81,    83,    87,    90,    92,    95,   100,   102,
+     106,   108,   110,   114,   118,   121,   123,   127,   129,   131,
+     138,   140,   142,   143,   145,   150,   155,   159,   166,   168,
+     172,   174,   178,   182,   184,   188,   190,   192,   194,   198,
+     204,   205,   207,   209,   213,   216,   220,   225,   226,   228,
+     229,   236,   238,   241,   243,   245,   248,   250,   254,   256,
+     260,   264,   266,   268,   270,   275,   277,   281,   283,   287,
+     291,   293,   297,   299,   303,   305,   307,   309,   311,   316,
+     317,   321,   323,   325,   327,   329,   331,   333,   337,   339,
+     342,   344,   346,   348,   350,   353,   356,   358,   360,   363,
+     366,   368,   370,   372,   374,   377,   379,   382,   384,   386,
+     388,   390,   392,   394,   396,   398,   400,   402,   404,   406,
+     408,   410,   415,   420,   425,   430,   435,   437,   442,   443,
+     445,   447,   449,   451,   453,   455,   460,   462,   465,   469,
+     471,   475,   481,   483,   487,   489,   491,   495,   497,   501,
+     503,   507,   509,   513,   518,   520,   522,   524,   527,   530,
+     534,   536,   538,   540,   542,   544,   546,   548,   550,   552,
+     558,   560,   564,   566,   570,   571,   573,   575,   577,   579,
+     581,   583,   587,   592,   594,   598,   601,   605,   607,   611,
+     612,   614,   616,   619,   621,   623,   624,   628,   631,   635,
+     637,   641,   643,   648,   653,   655,   657,   659,   661,   662,
+     664,   666,   669,   672,   674,   676,   678,   680,   682
+};
+
+/* YYRHS -- A `-1'-separated list of the rules' RHS. */
+static const short yyrhs[] =
+{
+     114,     0,    -1,   115,    -1,   116,    -1,   115,   116,    -1,
+     208,   117,    34,   121,     3,    21,   124,    38,    -1,    -1,
+     118,    -1,   102,   119,   103,    -1,   102,   103,    -1,   120,
+      -1,   119,   120,    -1,   210,    -1,   210,   104,     9,   105,
+      -1,     9,    -1,    -1,   122,    -1,   123,    -1,   122,   123,
+      -1,    40,    82,    -1,    51,    82,    -1,    20,    82,    -1,
+      42,    52,    -1,    -1,   125,    -1,   126,    -1,   125,   126,
+      -1,   127,    -1,   132,    -1,   138,    -1,   162,    -1,   135,
+      -1,   170,    -1,    53,   128,   106,    -1,    53,    45,    -1,
+     129,    -1,   128,   129,    -1,   130,    45,   208,   117,    -1,
+     131,    -1,   130,   107,   131,    -1,   208,    -1,   210,    -1,
+      41,   133,   106,    -1,    41,    17,   106,    -1,    41,   106,
+      -1,   134,    -1,   133,   107,   134,    -1,   208,    -1,   210,
+      -1,   208,   136,     3,   102,   137,   103,    -1,   157,    -1,
+     167,    -1,    -1,   178,    -1,   208,     3,   206,    85,    -1,
+     208,     3,   206,   154,    -1,   208,     3,   144,    -1,   208,
+     102,   139,   103,     3,   154,    -1,   140,    -1,   139,   107,
+     140,    -1,   208,    -1,   208,   108,   210,    -1,   167,   108,
+     210,    -1,   142,    -1,   141,   107,   142,    -1,   156,    -1,
+     210,    -1,   153,    -1,   143,   107,   153,    -1,    28,   102,
+     146,   103,   148,    -1,    -1,    86,    -1,   147,    -1,   146,
+     107,   147,    -1,   160,   198,    -1,   160,   154,   145,    -1,
+     160,   160,   198,   145,    -1,    -1,   149,    -1,    -1,    93,
+      80,   102,   150,   151,   103,    -1,   152,    -1,   151,   152,
+      -1,     4,    -1,   160,    -1,   211,   154,    -1,   155,    -1,
+     156,   172,   198,    -1,   100,    -1,   100,   109,   165,    -1,
+     100,   109,   205,    -1,   169,    -1,   170,    -1,   171,    -1,
+     208,   102,   141,   103,    -1,   157,    -1,    55,    66,   157,
+      -1,    11,    -1,    11,   110,   208,    -1,    11,   110,   210,
+      -1,   209,    -1,   209,   110,   158,    -1,   159,    -1,   158,
+     110,   159,    -1,   161,    -1,   161,    -1,    13,    -1,    14,
+      -1,   210,   136,     3,   163,    -1,    -1,   102,   164,   166,
+      -1,     5,    -1,     7,    -1,     6,    -1,   205,    -1,   165,
+      -1,   210,    -1,   208,   110,   210,    -1,     4,    -1,   166,
+       4,    -1,    24,    -1,    61,    -1,    74,    -1,   168,    -1,
+      65,    79,    -1,    63,    50,    -1,    75,    -1,    43,    -1,
+      36,    69,    -1,    26,    79,    -1,    89,    -1,    46,    -1,
+      56,    -1,    39,    -1,    22,    79,    -1,   167,    -1,   168,
+     202,    -1,    23,    -1,    47,    -1,    48,    -1,    49,    -1,
+      57,    -1,    62,    -1,    72,    -1,    81,    -1,    83,    -1,
+      88,    -1,    90,    -1,    91,    -1,    92,    -1,    64,    -1,
+      27,   102,   143,   103,    -1,    76,   102,   143,   103,    -1,
+      77,   102,   143,   103,    -1,    76,   172,    66,   156,    -1,
+      77,   172,    66,   156,    -1,    18,    -1,    18,    35,    25,
+     210,    -1,    -1,   176,    -1,    94,    -1,    95,    -1,    96,
+      -1,    97,    -1,    98,    -1,    78,   104,   178,   105,    -1,
+     177,    -1,   176,   177,    -1,   104,   178,   105,    -1,   179,
+      -1,   179,   107,   100,    -1,   179,   107,   100,   107,   179,
+      -1,   100,    -1,   100,   107,   179,    -1,   180,    -1,   181,
+      -1,   180,   173,   181,    -1,   182,    -1,   181,   174,   182,
+      -1,   183,    -1,   182,   175,   183,    -1,   186,    -1,   186,
+     184,   186,    -1,   185,   104,   178,   105,    -1,   192,    -1,
+     187,    -1,    99,    -1,    99,   111,    -1,   111,    99,    -1,
+     111,    99,   111,    -1,    78,    -1,    45,    -1,   205,    -1,
+     210,    -1,     6,    -1,    59,    -1,    58,    -1,    44,    -1,
+      84,    -1,    93,    30,   102,   188,   103,    -1,   189,    -1,
+     188,   107,   189,    -1,   100,    -1,   210,   172,   190,    -1,
+      -1,   191,    -1,    71,    -1,    15,    -1,    67,    -1,   193,
+      -1,   194,    -1,   102,   208,   103,    -1,   193,   102,   195,
+     103,    -1,   196,    -1,   195,   107,   196,    -1,   112,   197,
+      -1,   112,   110,   197,    -1,   210,    -1,   197,   110,   210,
+      -1,    -1,   199,    -1,    67,    -1,    33,   200,    -1,   186,
+      -1,   167,    -1,    -1,   102,   201,   166,    -1,   102,   103,
+      -1,   102,   203,   103,    -1,   204,    -1,   203,   107,   204,
+      -1,   210,    -1,   210,   104,   205,   105,    -1,   210,   104,
+     165,   105,    -1,   205,    -1,   100,    -1,     9,    -1,    10,
+      -1,    -1,   207,    -1,   101,    -1,   101,    51,    -1,   101,
+      40,    -1,    11,    -1,    12,    -1,    12,    -1,     8,    -1,
+     210,    -1,   210,   207,    -1
+};
+
+/* YYRLINE[YYN] -- source line where rule number YYN was defined.  */
+static const unsigned short yyrline[] =
+{
+       0,   297,   297,   303,   309,   325,   350,   352,   355,   359,
+     364,   371,   379,   384,   388,   397,   399,   407,   411,   419,
+     423,   426,   429,   437,   439,   448,   452,   477,   481,   490,
+     497,   510,   521,   534,   541,   546,   552,   558,   567,   573,
+     579,   586,   594,   598,   601,   608,   614,   620,   627,   636,
+     646,   654,   662,   664,   676,   688,   695,   711,   721,   731,
+     741,   746,   753,   763,   769,   775,   779,   791,   797,   803,
+     813,   815,   818,   826,   832,   841,   846,   863,   865,   872,
+     870,   879,   884,   890,   894,   919,   926,   931,   939,   948,
+     957,   968,   972,   978,   986,  1010,  1017,  1031,  1040,  1050,
+    1060,  1068,  1089,  1098,  1107,  1108,  1110,  1117,  1129,  1140,
+    1139,  1146,  1150,  1154,  1158,  1161,  1166,  1178,  1194,  1205,
+    1219,  1221,  1222,  1223,  1224,  1225,  1226,  1227,  1228,  1229,
+    1230,  1231,  1237,  1239,  1240,  1243,  1250,  1262,  1264,  1268,
+    1272,  1273,  1274,  1275,  1276,  1280,  1281,  1282,  1283,  1287,
+    1288,  1291,  1298,  1304,  1310,  1318,  1326,  1332,  1348,  1350,
+    1353,  1353,  1354,  1354,  1355,  1357,  1370,  1373,  1378,  1384,
+    1388,  1395,  1403,  1408,  1417,  1419,  1421,  1426,  1428,  1434,
+    1436,  1441,  1448,  1455,  1463,  1466,  1471,  1473,  1474,  1475,
+    1478,  1482,  1487,  1491,  1502,  1506,  1511,  1516,  1521,  1528,
+    1534,  1538,  1543,  1549,  1561,  1563,  1566,  1570,  1573,  1578,
+    1582,  1590,  1605,  1611,  1618,  1631,  1643,  1658,  1662,  1679,
+    1681,  1684,  1688,  1694,  1697,  1699,  1699,  1719,  1724,  1729,
+    1735,  1741,  1749,  1757,  1765,  1772,  1782,  1787,  1817,  1819,
+    1822,  1827,  1831,  1837,  1842,  1848,  1855,  1862,  1867
+};
+#endif
+
+#if YYDEBUG || YYERROR_VERBOSE
+/* YYTNME[SYMBOL-NUM] -- String name of the symbol SYMBOL-NUM.
+   First, the terminals, then, starting at YYNTOKENS, nonterminals. */
+static const char *const yytname[] =
+{
+  "$end", "error", "$undefined", "TOK_PPEQ", "TOK_opaque", "TOK_bstring", 
+  "TOK_cstring", "TOK_hstring", "TOK_identifier", "TOK_number", 
+  "TOK_number_negative", "TOK_typereference", "TOK_objectclassreference", 
+  "TOK_typefieldreference", "TOK_valuefieldreference", "TOK_ABSENT", 
+  "TOK_ABSTRACT_SYNTAX", "TOK_ALL", "TOK_ANY", "TOK_APPLICATION", 
+  "TOK_AUTOMATIC", "TOK_BEGIN", "TOK_BIT", "TOK_BMPString", "TOK_BOOLEAN", 
+  "TOK_BY", "TOK_CHARACTER", "TOK_CHOICE", "TOK_CLASS", "TOK_COMPONENT", 
+  "TOK_COMPONENTS", "TOK_CONSTRAINED", "TOK_CONTAINING", "TOK_DEFAULT", 
+  "TOK_DEFINITIONS", "TOK_DEFINED", "TOK_EMBEDDED", "TOK_ENCODED", 
+  "TOK_END", "TOK_ENUMERATED", "TOK_EXPLICIT", "TOK_EXPORTS", 
+  "TOK_EXTENSIBILITY", "TOK_EXTERNAL", "TOK_FALSE", "TOK_FROM", 
+  "TOK_GeneralizedTime", "TOK_GeneralString", "TOK_GraphicString", 
+  "TOK_IA5String", "TOK_IDENTIFIER", "TOK_IMPLICIT", "TOK_IMPLIED", 
+  "TOK_IMPORTS", "TOK_INCLUDES", "TOK_INSTANCE", "TOK_INTEGER", 
+  "TOK_ISO646String", "TOK_MAX", "TOK_MIN", "TOK_MINUS_INFINITY", 
+  "TOK_NULL", "TOK_NumericString", "TOK_OBJECT", "TOK_ObjectDescriptor", 
+  "TOK_OCTET", "TOK_OF", "TOK_OPTIONAL", "TOK_PATTERN", "TOK_PDV", 
+  "TOK_PLUS_INFINITY", "TOK_PRESENT", "TOK_PrintableString", 
+  "TOK_PRIVATE", "TOK_REAL", "TOK_RELATIVE_OID", "TOK_SEQUENCE", 
+  "TOK_SET", "TOK_SIZE", "TOK_STRING", "TOK_SYNTAX", "TOK_T61String", 
+  "TOK_TAGS", "TOK_TeletexString", "TOK_TRUE", "TOK_TYPE_IDENTIFIER", 
+  "TOK_UNIQUE", "TOK_UNIVERSAL", "TOK_UniversalString", "TOK_UTCTime", 
+  "TOK_UTF8String", "TOK_VideotexString", "TOK_VisibleString", "TOK_WITH", 
+  "'|'", "TOK_UNION", "'^'", "TOK_INTERSECTION", "TOK_EXCEPT", 
+  "TOK_TwoDots", "TOK_ThreeDots", "TOK_tag", "'{'", "'}'", "'('", "')'", 
+  "';'", "','", "':'", "'!'", "'.'", "'<'", "'@'", "$accept", 
+  "ParsedGrammar", "ModuleList", "ModuleSpecification", 
+  "optObjectIdentifier", "ObjectIdentifier", "ObjectIdentifierBody", 
+  "ObjectIdentifierElement", "optModuleSpecificationFlags", 
+  "ModuleSpecificationFlags", "ModuleSpecificationFlag", 
+  "optModuleSpecificationBody", "ModuleSpecificationBody", 
+  "ModuleSpecificationElement", "ImportsDefinition", "ImportsBundleSet", 
+  "ImportsBundle", "ImportsList", "ImportsElement", "ExportsDefinition", 
+  "ExportsBody", "ExportsElement", "ValueSetDefinition", "DefinedTypeRef", 
+  "optValueSetBody", "DataTypeReference", "ParameterArgumentList", 
+  "ParameterArgumentName", "ActualParameterList", "ActualParameter", 
+  "ConstructedDataTypeDefinition", "ClassDeclaration", "optUnique", 
+  "ClassFieldList", "ClassField", "optWithSyntax", "WithSyntax", "@1", 
+  "WithSyntaxFormat", "WithSyntaxFormatToken", "DataTypeMember", 
+  "ConstrainedTypeDeclaration", "ExtensionAndException", 
+  "TypeDeclaration", "ComplexTypeReference", 
+  "ComplexTypeReferenceAmpList", "ComplexTypeReferenceElement", 
+  "ClassFieldIdentifier", "ClassFieldName", "ValueDefinition", 
+  "InlineOrDefinedValue", "@2", "DefinedValue", "Opaque", "BasicTypeId", 
+  "BasicTypeId_UniverationCompatible", "BasicType", "BasicString", 
+  "ConstructedType", "optConstraints", "Union", "Intersection", "Except", 
+  "Constraints", "SingleConstraint", "ConstraintElementSet", 
+  "ConstraintElement", "ConstraintElementUnion", 
+  "ConstraintElementIntersection", "ConstraintElementException", 
+  "ConstraintSubtypeElement", "ConstraintRangeSpec", "ConstraintSpec", 
+  "ConstraintValue", "WithComponents", "WithComponentsList", 
+  "WithComponentsElement", "optPresenceConstraint", "PresenceConstraint", 
+  "TableConstraint", "SimpleTableConstraint", 
+  "ComponentRelationConstraint", "AtNotationList", "AtNotationElement", 
+  "ComponentIdList", "optMarker", "Marker", "DefaultValue", "@3", 
+  "UniverationDefinition", "UniverationList", "UniverationElement", 
+  "SignedNumber", "optTag", "Tag", "TypeRefName", "ObjectClassReference", 
+  "Identifier", "TaggedIdentifier", 0
+};
+#endif
+
+# ifdef YYPRINT
+/* YYTOKNUM[YYLEX-NUM] -- Internal token number corresponding to
+   token YYLEX-NUM.  */
+static const unsigned short yytoknum[] =
+{
+       0,   256,   257,   258,   259,   260,   261,   262,   263,   264,
+     265,   266,   267,   268,   269,   270,   271,   272,   273,   274,
+     275,   276,   277,   278,   279,   280,   281,   282,   283,   284,
+     285,   286,   287,   288,   289,   290,   291,   292,   293,   294,
+     295,   296,   297,   298,   299,   300,   301,   302,   303,   304,
+     305,   306,   307,   308,   309,   310,   311,   312,   313,   314,
+     315,   316,   317,   318,   319,   320,   321,   322,   323,   324,
+     325,   326,   327,   328,   329,   330,   331,   332,   333,   334,
+     335,   336,   337,   338,   339,   340,   341,   342,   343,   344,
+     345,   346,   347,   348,   124,   349,    94,   350,   351,   352,
+     353,   354,   123,   125,    40,    41,    59,    44,    58,    33,
+      46,    60,    64
+};
+# endif
+
+/* YYR1[YYN] -- Symbol number of symbol that rule YYN derives.  */
+static const unsigned char yyr1[] =
+{
+       0,   113,   114,   115,   115,   116,   117,   117,   118,   118,
+     119,   119,   120,   120,   120,   121,   121,   122,   122,   123,
+     123,   123,   123,   124,   124,   125,   125,   126,   126,   126,
+     126,   126,   126,   127,   127,   128,   128,   129,   130,   130,
+     131,   131,   132,   132,   132,   133,   133,   134,   134,   135,
+     136,   136,   137,   137,   138,   138,   138,   138,   139,   139,
+     140,   140,   140,   141,   141,   142,   142,   143,   143,   144,
+     145,   145,   146,   146,   147,   147,   147,   148,   148,   150,
+     149,   151,   151,   152,   152,   153,   153,   154,   155,   155,
+     155,   156,   156,   156,   156,   156,   156,   157,   157,   157,
+     157,   157,   158,   158,   159,   160,   161,   161,   162,   164,
+     163,   163,   163,   163,   163,   163,   165,   165,   166,   166,
+     167,   167,   167,   167,   167,   167,   167,   167,   167,   167,
+     167,   167,   168,   168,   168,   169,   169,   170,   170,   170,
+     170,   170,   170,   170,   170,   170,   170,   170,   170,   170,
+     170,   171,   171,   171,   171,   171,   171,   171,   172,   172,
+     173,   173,   174,   174,   175,   176,   176,   176,   177,   178,
+     178,   178,   178,   178,   179,   180,   180,   181,   181,   182,
+     182,   183,   183,   183,   183,   183,   184,   184,   184,   184,
+     185,   185,   186,   186,   186,   186,   186,   186,   186,   187,
+     188,   188,   189,   189,   190,   190,   191,   191,   191,   192,
+     192,   193,   194,   195,   195,   196,   196,   197,   197,   198,
+     198,   199,   199,   200,   200,   201,   200,   202,   202,   203,
+     203,   204,   204,   204,   204,   204,   205,   205,   206,   206,
+     207,   207,   207,   208,   208,   209,   210,   211,   211
+};
+
+/* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN.  */
+static const unsigned char yyr2[] =
+{
+       0,     2,     1,     1,     2,     8,     0,     1,     3,     2,
+       1,     2,     1,     4,     1,     0,     1,     1,     2,     2,
+       2,     2,     2,     0,     1,     1,     2,     1,     1,     1,
+       1,     1,     1,     3,     2,     1,     2,     4,     1,     3,
+       1,     1,     3,     3,     2,     1,     3,     1,     1,     6,
+       1,     1,     0,     1,     4,     4,     3,     6,     1,     3,
+       1,     3,     3,     1,     3,     1,     1,     1,     3,     5,
+       0,     1,     1,     3,     2,     3,     4,     0,     1,     0,
+       6,     1,     2,     1,     1,     2,     1,     3,     1,     3,
+       3,     1,     1,     1,     4,     1,     3,     1,     3,     3,
+       1,     3,     1,     3,     1,     1,     1,     1,     4,     0,
+       3,     1,     1,     1,     1,     1,     1,     3,     1,     2,
+       1,     1,     1,     1,     2,     2,     1,     1,     2,     2,
+       1,     1,     1,     1,     2,     1,     2,     1,     1,     1,
+       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
+       1,     4,     4,     4,     4,     4,     1,     4,     0,     1,
+       1,     1,     1,     1,     1,     4,     1,     2,     3,     1,
+       3,     5,     1,     3,     1,     1,     3,     1,     3,     1,
+       3,     1,     3,     4,     1,     1,     1,     2,     2,     3,
+       1,     1,     1,     1,     1,     1,     1,     1,     1,     5,
+       1,     3,     1,     3,     0,     1,     1,     1,     1,     1,
+       1,     3,     4,     1,     3,     2,     3,     1,     3,     0,
+       1,     1,     2,     1,     1,     0,     3,     2,     3,     1,
+       3,     1,     4,     4,     1,     1,     1,     1,     0,     1,
+       1,     2,     2,     1,     1,     1,     1,     1,     2
+};
+
+/* YYDEFACT[STATE-NAME] -- Default rule to reduce with in state
+   STATE-NUM when YYTABLE doesn't specify something else to do.  Zero
+   means the default is an error.  */
+static const unsigned char yydefact[] =
+{
+       0,   243,   244,     0,     2,     3,     6,     1,     4,     0,
+       0,     7,   246,    14,     9,     0,    10,    12,    15,     8,
+      11,     0,     0,     0,     0,     0,     0,    16,    17,     0,
+      21,    19,    22,    20,     0,    18,    13,    23,   137,     0,
+     138,   139,   140,     0,   141,   142,   150,   143,   144,   145,
+     146,   147,   148,   149,     0,    24,    25,    27,    28,    31,
+      29,    30,    32,     0,     0,     0,    44,     0,    45,    47,
+      48,    34,     0,    35,     0,    38,    40,    41,     5,    26,
+     238,    97,   245,     0,   120,     0,     0,   133,   127,   131,
+     132,   121,     0,     0,   122,   126,   130,     0,     0,    50,
+      51,   123,   100,     0,    43,    42,     0,    33,    36,     0,
+       0,     0,   240,    56,     0,   239,     0,   134,   129,   128,
+     125,   124,     0,    58,     0,    60,     0,     0,     0,    46,
+       6,    39,     0,   242,   241,    97,   245,   156,     0,     0,
+     158,   158,    54,    55,   158,    95,   135,   123,    91,    92,
+      93,     0,    98,    99,     0,     0,     0,     0,    52,   106,
+     107,   101,   102,   104,   111,   113,   112,   236,   237,   109,
+     108,   115,   114,     0,   116,    37,     0,    72,   219,   105,
+       0,     0,     0,     0,     0,     0,     0,   159,   166,     0,
+       0,   219,     0,   136,     0,     0,    59,    62,    61,   194,
+     197,   191,   196,   195,   190,   198,     0,   172,     0,     0,
+      53,   169,   174,   175,   177,   179,     0,   181,   185,   184,
+     209,   210,   192,   193,     0,     0,     0,    77,     0,     0,
+     221,    70,   219,    74,   220,     0,    88,     0,    67,    86,
+     247,     0,    96,     0,     0,     0,     0,   167,     0,     0,
+      87,   235,   227,     0,   229,   234,   231,     0,    63,    65,
+      66,    57,     0,     0,     0,    49,     0,   160,   161,     0,
+     162,   163,     0,   164,     0,     0,   186,     0,     0,     0,
+     103,   118,   110,   117,     0,    69,    78,    73,   225,   224,
+     223,   222,    71,    75,    70,   157,     0,   151,     0,   248,
+      85,     0,   152,   168,   154,   153,   155,   228,     0,     0,
+      94,     0,     0,   173,   211,   170,   176,   178,   180,     0,
+     187,   188,   182,     0,     0,   213,   119,     0,     0,    76,
+      89,    90,    68,   165,   230,     0,     0,    64,   202,     0,
+     200,   158,     0,   183,   189,     0,   215,   217,   212,     0,
+      79,   226,   233,   232,   199,     0,   204,   171,   216,     0,
+     214,     0,   201,   207,   208,   206,   203,   205,   218,    83,
+       0,    81,    84,    80,    82
+};
+
+/* YYDEFGOTO[NTERM-NUM]. */
+static const short yydefgoto[] =
+{
+      -1,     3,     4,     5,    10,    11,    15,    16,    26,    27,
+      28,    54,    55,    56,    57,    72,    73,    74,    75,    58,
+      67,    68,    59,    98,   209,    60,   122,   123,   257,   258,
+     237,   113,   293,   176,   177,   285,   286,   361,   370,   371,
+     238,   143,   239,   144,   145,   161,   162,   178,   179,    61,
+     170,   225,   171,   282,   146,   147,   148,   149,   150,   186,
+     269,   272,   274,   187,   188,   210,   211,   212,   213,   214,
+     215,   278,   216,   217,   218,   339,   340,   366,   367,   219,
+     220,   221,   324,   325,   346,   233,   234,   291,   328,   193,
+     253,   254,   222,   114,   115,   151,   102,   223,   241
+};
+
+/* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
+   STATE-NUM.  */
+#define YYPACT_NINF -206
+static const short yypact[] =
+{
+     227,  -206,  -206,    27,   227,  -206,   -38,  -206,  -206,    13,
+      52,  -206,  -206,  -206,  -206,    47,  -206,   -12,    42,  -206,
+    -206,   106,    51,    76,   111,    83,   146,    42,  -206,    63,
+    -206,  -206,  -206,  -206,   152,  -206,  -206,   380,  -206,    12,
+    -206,  -206,  -206,    91,  -206,  -206,  -206,  -206,  -206,  -206,
+    -206,  -206,  -206,  -206,   160,   380,  -206,  -206,  -206,  -206,
+    -206,  -206,  -206,   131,   670,   107,  -206,   147,  -206,  -206,
+    -206,  -206,    24,  -206,   -19,  -206,  -206,  -206,  -206,  -206,
+      -3,   114,  -206,   150,  -206,   155,   174,  -206,  -206,  -206,
+    -206,  -206,   201,   184,  -206,  -206,  -206,   686,   258,  -206,
+    -206,  -206,   156,   265,  -206,  -206,   191,  -206,  -206,   227,
+     191,   168,   101,  -206,   537,  -206,   191,  -206,  -206,  -206,
+    -206,  -206,    75,  -206,   164,   166,   183,   242,    33,  -206,
+     -38,  -206,   242,  -206,  -206,    44,   186,   249,   189,   220,
+      -8,    36,  -206,  -206,   -13,  -206,  -206,   190,  -206,  -206,
+    -206,   192,  -206,  -206,   290,   686,   293,   293,   238,  -206,
+    -206,   188,  -206,  -206,  -206,  -206,  -206,  -206,  -206,  -206,
+    -206,  -206,  -206,   194,  -206,  -206,    90,  -206,   462,  -206,
+     280,    23,   246,   202,    23,   238,   243,   208,  -206,    23,
+     244,    20,    59,  -206,   321,   612,  -206,  -206,  -206,  -206,
+    -206,  -206,  -206,  -206,  -206,  -206,   283,   210,   227,   212,
+    -206,   211,   165,   182,   221,  -206,   217,   -40,  -206,  -206,
+     222,  -206,  -206,  -206,   242,   319,   293,   234,   242,   206,
+    -206,   248,    20,  -206,  -206,   293,   219,    97,  -206,  -206,
+     229,   612,  -206,   238,   115,   230,   612,  -206,   118,   612,
+    -206,  -206,  -206,   120,  -206,  -206,   233,   128,  -206,  -206,
+    -206,  -206,   239,    67,   250,  -206,   252,  -206,  -206,    67,
+    -206,  -206,    67,  -206,    67,   238,   231,   255,   267,   237,
+    -206,  -206,   351,  -206,   276,  -206,  -206,  -206,  -206,  -206,
+    -206,  -206,  -206,  -206,   248,  -206,   199,  -206,    23,  -206,
+    -206,   253,  -206,  -206,  -206,  -206,  -206,  -206,    71,   199,
+    -206,   321,    29,  -206,  -206,   254,   182,   221,  -206,   257,
+    -206,   260,  -206,    -6,   133,  -206,  -206,   261,   319,  -206,
+    -206,  -206,  -206,  -206,  -206,   268,   269,  -206,  -206,   134,
+    -206,   -13,    67,  -206,  -206,   293,   256,  -206,  -206,   237,
+    -206,   351,  -206,  -206,  -206,    29,    18,  -206,   256,   293,
+    -206,   177,  -206,  -206,  -206,  -206,  -206,  -206,  -206,  -206,
+       3,  -206,  -206,  -206,  -206
+};
+
+/* YYPGOTO[NTERM-NUM].  */
+static const short yypgoto[] =
+{
+    -206,  -206,  -206,   355,   235,  -206,  -206,   357,  -206,  -206,
+     348,  -206,  -206,   324,  -206,  -206,   308,  -206,   271,  -206,
+    -206,   281,  -206,   325,  -206,  -206,  -206,   245,  -206,    79,
+     -28,  -206,   100,  -206,   171,  -206,  -206,  -206,  -206,    31,
+     108,  -117,  -206,  -189,   -54,  -206,   181,  -175,  -115,  -206,
+    -206,  -206,  -165,    80,   -50,   -45,  -206,    58,  -206,  -140,
+    -206,  -206,  -206,  -206,   228,  -111,  -205,  -206,   138,   142,
+     143,  -206,  -206,  -178,  -206,  -206,    61,  -206,  -206,  -206,
+    -206,  -206,  -206,    69,    74,  -142,  -206,  -206,  -206,  -206,
+    -206,   112,  -120,  -206,   185,    11,  -206,    -9,  -206
+};
+
+/* YYTABLE[YYPACT[STATE-NUM]].  What to do in state STATE-NUM.  If
+   positive, shift that token.  If negative, reduce the rule which
+   number is the opposite.  If zero, do what YYDEFACT says.
+   If YYTABLE_NINF, parse error.  */
+#define YYTABLE_NINF -245
+static const short yytable[] =
+{
+      17,   190,    12,   232,   191,   259,    17,   369,   172,    99,
+      99,     6,   163,   100,   100,     6,   159,   160,   101,   101,
+      12,    12,    13,     1,     2,   111,   109,     7,    64,    65,
+      70,    12,    12,   363,    77,     1,     2,    12,   164,   165,
+     166,    12,   167,   168,     1,     2,    64,   124,    63,   250,
+      69,   290,   101,   229,    76,    12,    13,   304,   313,   276,
+     306,   231,    22,    77,     9,   183,    63,    12,   167,   168,
+     183,   277,   255,   199,   245,    12,   167,   168,   261,    12,
+     167,   168,    23,    76,    24,   364,    18,   230,   110,   365,
+     294,   185,    21,    25,   184,    62,   185,    70,   112,    12,
+     322,    77,     1,     2,   345,   124,   373,   153,   125,   163,
+     101,   200,   201,    62,   183,    29,    14,    69,    66,   174,
+     130,    76,   259,   236,   300,   202,   203,   152,   242,   338,
+     107,   330,   301,    30,    80,   169,    71,   357,   189,   173,
+     185,   133,    81,    82,   335,   204,  -243,   197,   198,    34,
+      19,   205,   134,    83,   116,    84,   244,    85,    31,   251,
+     206,   248,   252,    32,   319,    33,   125,    86,    36,   208,
+      87,   251,   240,    37,    88,   240,   331,    89,   154,   289,
+     240,   369,   155,   256,   101,   260,   372,    90,   255,   336,
+     159,   160,    91,   227,    92,   372,    93,   228,    78,    12,
+     297,   356,     1,     2,   298,    94,    95,    12,   167,   168,
+       1,     2,   199,   104,    12,   167,   168,   283,   302,   264,
+      96,   305,   298,   307,   116,   298,   295,   308,    83,   117,
+      84,   310,    85,    97,   118,   311,   348,   354,     1,     2,
+     349,   355,    86,   119,   199,    87,    12,   167,   168,    88,
+     200,   120,    89,   105,   106,   159,   160,    81,    82,   267,
+     268,   126,    90,   121,   202,   203,   127,    91,   128,    92,
+     132,    93,   156,   199,   157,    12,   167,   168,   270,   271,
+      94,    95,   200,   201,   180,   158,   182,   174,  -244,   240,
+     205,   181,   192,   195,   194,    96,   202,   203,   224,   256,
+     174,    12,   260,   341,   226,   235,   243,   173,   288,   246,
+     249,   200,   185,   262,   347,   265,   204,   263,   266,   273,
+     173,   275,   205,   281,   279,   202,   203,   284,   296,    12,
+     112,   206,   135,   136,   292,   303,   347,   309,   207,   137,
+     208,   312,   320,    83,    38,    84,   341,    85,   138,   323,
+     368,   205,   315,   314,   321,   326,   327,    86,   333,     8,
+      87,   342,   343,   350,    88,   175,   359,    89,    40,    41,
+      42,   344,    20,   352,   353,    35,   139,    90,    44,    79,
+     108,   131,    91,    45,    92,    46,    93,   129,    12,   103,
+     337,     1,     2,    47,   329,    94,    95,   140,   141,   287,
+     196,   374,    48,    38,    49,   280,   332,   316,   351,    50,
+      96,    51,    52,    53,   317,   247,   362,   318,   360,   358,
+     334,    39,     0,     0,     0,   299,     0,    40,    41,    42,
+       0,     0,     0,    43,     0,     0,     0,    44,     0,     0,
+       0,     0,    45,     0,    46,     0,     0,     0,     0,     0,
+       0,     0,    47,     0,     0,     0,     0,     0,     0,     0,
+       0,    48,     0,    49,     0,     0,     0,     0,    50,     0,
+      51,    52,    53,   135,   136,   159,   160,     0,     0,     0,
+     137,     0,     0,     0,    83,    38,    84,     0,    85,   138,
+       0,     0,     0,     0,     0,   229,     0,     0,    86,     0,
+       0,    87,     0,     0,     0,    88,     0,     0,    89,    40,
+      41,    42,     0,     0,     0,     0,     0,   139,    90,    44,
+       0,     0,     0,    91,    45,    92,    46,    93,     0,   230,
+       0,     0,     0,     0,    47,     0,    94,    95,   140,   141,
+       0,     0,     0,    48,     0,    49,     0,     0,   135,   136,
+      50,    96,    51,    52,    53,   137,     0,     0,     0,    83,
+      38,    84,     0,    85,   138,     0,     0,     0,     0,     0,
+       0,     0,     0,    86,     0,     0,    87,     0,     0,     0,
+      88,     0,     0,    89,    40,    41,    42,     0,     0,     0,
+       0,     0,   139,    90,    44,     0,     0,     0,    91,    45,
+      92,    46,    93,     0,     0,     0,     0,     0,     0,    47,
+       0,    94,    95,   140,   141,     0,     0,     0,    48,     0,
+      49,     0,   142,   135,   136,    50,    96,    51,    52,    53,
+     137,     0,     0,     0,    83,    38,    84,     0,    85,   138,
+       0,     0,     0,     0,     0,     0,     0,     0,    86,     0,
+       0,    87,     0,     0,     0,    88,     0,     0,    89,    40,
+      41,    42,     0,     0,     0,     0,     0,   139,    90,    44,
+       0,     0,     0,    91,    45,    92,    46,    93,     0,     0,
+       0,    81,    82,     0,    47,     0,    94,    95,   140,   141,
+       0,     0,    83,    48,    84,    49,    85,     1,     2,     0,
+      50,    96,    51,    52,    53,     0,    86,     0,    83,    87,
+      84,     0,    85,    88,     0,     0,    89,     0,     0,     0,
+       0,     0,    86,     0,     0,    87,    90,     0,     0,    88,
+       0,    91,    89,    92,     0,    93,     0,     0,     0,     0,
+       0,     0,    90,     0,    94,    95,     0,    91,     0,    92,
+       0,    93,     0,     0,     0,     0,     0,     0,     0,    96,
+      94,    95,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,    96
+};
+
+static const short yycheck[] =
+{
+       9,   141,     8,   178,   144,   194,    15,     4,   128,    63,
+      64,     0,   127,    63,    64,     4,    13,    14,    63,    64,
+       8,     8,     9,    11,    12,    28,    45,     0,    37,    17,
+      39,     8,     8,    15,    43,    11,    12,     8,     5,     6,
+       7,     8,     9,    10,    11,    12,    55,    97,    37,   191,
+      39,   229,    97,    33,    43,     8,     9,   246,   263,    99,
+     249,   178,    20,    72,   102,    78,    55,     8,     9,    10,
+      78,   111,   192,     6,   185,     8,     9,    10,   195,     8,
+       9,    10,    40,    72,    42,    67,    34,    67,   107,    71,
+     232,   104,   104,    51,   102,    37,   104,   106,   101,     8,
+     278,   110,    11,    12,   110,   155,   103,   116,    97,   224,
+     155,    44,    45,    55,    78,     9,   103,   106,   106,   128,
+     109,   110,   311,   100,   241,    58,    59,   116,   182,   100,
+     106,   296,   243,    82,     3,   102,    45,   342,   102,   128,
+     104,    40,    11,    12,   309,    78,   102,   156,   157,     3,
+     103,    84,    51,    22,   110,    24,   184,    26,    82,   100,
+      93,   189,   103,    52,   275,    82,   155,    36,   105,   102,
+      39,   100,   181,    21,    43,   184,   296,    46,   103,   229,
+     189,     4,   107,   192,   229,   194,   361,    56,   308,   309,
+      13,    14,    61,   103,    63,   370,    65,   107,    38,     8,
+     103,   341,    11,    12,   107,    74,    75,     8,     9,    10,
+      11,    12,     6,   106,     8,     9,    10,   226,   103,   208,
+      89,   103,   107,   103,   110,   107,   235,   107,    22,    79,
+      24,   103,    26,   102,    79,   107,   103,   103,    11,    12,
+     107,   107,    36,    69,     6,    39,     8,     9,    10,    43,
+      44,    50,    46,   106,   107,    13,    14,    11,    12,    94,
+      95,     3,    56,    79,    58,    59,   110,    61,     3,    63,
+     102,    65,   108,     6,   108,     8,     9,    10,    96,    97,
+      74,    75,    44,    45,    35,   102,    66,   296,   102,   298,
+      84,   102,   102,     3,   102,    89,    58,    59,   110,   308,
+     309,     8,   311,   312,   110,    25,   104,   296,   102,    66,
+      66,    44,   104,    30,   323,   103,    78,   107,   107,    98,
+     309,   104,    84,     4,   102,    58,    59,    93,   109,     8,
+     101,    93,    11,    12,    86,   105,   345,   104,   100,    18,
+     102,   102,   111,    22,    23,    24,   355,    26,    27,   112,
+     359,    84,   100,   103,    99,     4,    80,    36,   105,     4,
+      39,   107,   105,   102,    43,   130,   110,    46,    47,    48,
+      49,   111,    15,   105,   105,    27,    55,    56,    57,    55,
+      72,   110,    61,    62,    63,    64,    65,   106,     8,    64,
+     311,    11,    12,    72,   294,    74,    75,    76,    77,   228,
+     155,   370,    81,    23,    83,   224,   298,   269,   328,    88,
+      89,    90,    91,    92,   272,   187,   355,   274,   349,   345,
+     308,    41,    -1,    -1,    -1,   240,    -1,    47,    48,    49,
+      -1,    -1,    -1,    53,    -1,    -1,    -1,    57,    -1,    -1,
+      -1,    -1,    62,    -1,    64,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    72,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    81,    -1,    83,    -1,    -1,    -1,    -1,    88,    -1,
+      90,    91,    92,    11,    12,    13,    14,    -1,    -1,    -1,
+      18,    -1,    -1,    -1,    22,    23,    24,    -1,    26,    27,
+      -1,    -1,    -1,    -1,    -1,    33,    -1,    -1,    36,    -1,
+      -1,    39,    -1,    -1,    -1,    43,    -1,    -1,    46,    47,
+      48,    49,    -1,    -1,    -1,    -1,    -1,    55,    56,    57,
+      -1,    -1,    -1,    61,    62,    63,    64,    65,    -1,    67,
+      -1,    -1,    -1,    -1,    72,    -1,    74,    75,    76,    77,
+      -1,    -1,    -1,    81,    -1,    83,    -1,    -1,    11,    12,
+      88,    89,    90,    91,    92,    18,    -1,    -1,    -1,    22,
+      23,    24,    -1,    26,    27,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    36,    -1,    -1,    39,    -1,    -1,    -1,
+      43,    -1,    -1,    46,    47,    48,    49,    -1,    -1,    -1,
+      -1,    -1,    55,    56,    57,    -1,    -1,    -1,    61,    62,
+      63,    64,    65,    -1,    -1,    -1,    -1,    -1,    -1,    72,
+      -1,    74,    75,    76,    77,    -1,    -1,    -1,    81,    -1,
+      83,    -1,    85,    11,    12,    88,    89,    90,    91,    92,
+      18,    -1,    -1,    -1,    22,    23,    24,    -1,    26,    27,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    36,    -1,
+      -1,    39,    -1,    -1,    -1,    43,    -1,    -1,    46,    47,
+      48,    49,    -1,    -1,    -1,    -1,    -1,    55,    56,    57,
+      -1,    -1,    -1,    61,    62,    63,    64,    65,    -1,    -1,
+      -1,    11,    12,    -1,    72,    -1,    74,    75,    76,    77,
+      -1,    -1,    22,    81,    24,    83,    26,    11,    12,    -1,
+      88,    89,    90,    91,    92,    -1,    36,    -1,    22,    39,
+      24,    -1,    26,    43,    -1,    -1,    46,    -1,    -1,    -1,
+      -1,    -1,    36,    -1,    -1,    39,    56,    -1,    -1,    43,
+      -1,    61,    46,    63,    -1,    65,    -1,    -1,    -1,    -1,
+      -1,    -1,    56,    -1,    74,    75,    -1,    61,    -1,    63,
+      -1,    65,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    89,
+      74,    75,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,    89
+};
+
+/* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
+   symbol of state STATE-NUM.  */
+static const unsigned char yystos[] =
+{
+       0,    11,    12,   114,   115,   116,   208,     0,   116,   102,
+     117,   118,     8,     9,   103,   119,   120,   210,    34,   103,
+     120,   104,    20,    40,    42,    51,   121,   122,   123,     9,
+      82,    82,    52,    82,     3,   123,   105,    21,    23,    41,
+      47,    48,    49,    53,    57,    62,    64,    72,    81,    83,
+      88,    90,    91,    92,   124,   125,   126,   127,   132,   135,
+     138,   162,   170,   208,   210,    17,   106,   133,   134,   208,
+     210,    45,   128,   129,   130,   131,   208,   210,    38,   126,
+       3,    11,    12,    22,    24,    26,    36,    39,    43,    46,
+      56,    61,    63,    65,    74,    75,    89,   102,   136,   157,
+     167,   168,   209,   136,   106,   106,   107,   106,   129,    45,
+     107,    28,   101,   144,   206,   207,   110,    79,    79,    69,
+      50,    79,   139,   140,   167,   208,     3,   110,     3,   134,
+     208,   131,   102,    40,    51,    11,    12,    18,    27,    55,
+      76,    77,    85,   154,   156,   157,   167,   168,   169,   170,
+     171,   208,   208,   210,   103,   107,   108,   108,   102,    13,
+      14,   158,   159,   161,     5,     6,     7,     9,    10,   102,
+     163,   165,   205,   208,   210,   117,   146,   147,   160,   161,
+      35,   102,    66,    78,   102,   104,   172,   176,   177,   102,
+     172,   172,   102,   202,   102,     3,   140,   210,   210,     6,
+      44,    45,    58,    59,    78,    84,    93,   100,   102,   137,
+     178,   179,   180,   181,   182,   183,   185,   186,   187,   192,
+     193,   194,   205,   210,   110,   164,   110,   103,   107,    33,
+      67,   154,   160,   198,   199,    25,   100,   143,   153,   155,
+     210,   211,   157,   104,   143,   178,    66,   177,   143,    66,
+     198,   100,   103,   203,   204,   205,   210,   141,   142,   156,
+     210,   154,    30,   107,   208,   103,   107,    94,    95,   173,
+      96,    97,   174,    98,   175,   104,    99,   111,   184,   102,
+     159,     4,   166,   210,    93,   148,   149,   147,   102,   167,
+     186,   200,    86,   145,   198,   210,   109,   103,   107,   207,
+     154,   178,   103,   105,   156,   103,   156,   103,   107,   104,
+     103,   107,   102,   179,   103,   100,   181,   182,   183,   178,
+     111,    99,   186,   112,   195,   196,     4,    80,   201,   145,
+     165,   205,   153,   105,   204,   165,   205,   142,   100,   188,
+     189,   210,   107,   105,   111,   110,   197,   210,   103,   107,
+     102,   166,   105,   105,   103,   107,   172,   179,   197,   110,
+     196,   150,   189,    15,    67,    71,   190,   191,   210,     4,
+     151,   152,   160,   103,   152
+};
+
+#if ! defined (YYSIZE_T) && defined (__SIZE_TYPE__)
+# define YYSIZE_T __SIZE_TYPE__
+#endif
+#if ! defined (YYSIZE_T) && defined (size_t)
+# define YYSIZE_T size_t
+#endif
+#if ! defined (YYSIZE_T)
+# if defined (__STDC__) || defined (__cplusplus)
+#  include <stddef.h> /* INFRINGES ON USER NAME SPACE */
+#  define YYSIZE_T size_t
+# endif
+#endif
+#if ! defined (YYSIZE_T)
+# define YYSIZE_T unsigned int
+#endif
 
 #define yyerrok		(yyerrstatus = 0)
 #define yyclearin	(yychar = YYEMPTY)
 #define YYEMPTY		-2
 #define YYEOF		0
+
 #define YYACCEPT	goto yyacceptlab
-#define YYABORT 	goto yyabortlab
+#define YYABORT		goto yyabortlab
 #define YYERROR		goto yyerrlab1
-/* Like YYERROR except do call yyerror.
-   This remains here temporarily to ease the
-   transition to the new meaning of YYERROR, for GCC.
+
+/* Like YYERROR except do call yyerror.  This remains here temporarily
+   to ease the transition to the new meaning of YYERROR, for GCC.
    Once GCC version 2 has supplanted version 1, this can go.  */
+
 #define YYFAIL		goto yyerrlab
+
 #define YYRECOVERING()  (!!yyerrstatus)
-#define YYBACKUP(token, value) \
+
+#define YYBACKUP(Token, Value)					\
 do								\
   if (yychar == YYEMPTY && yylen == 1)				\
-    { yychar = (token), yylval = (value);			\
+    {								\
+      yychar = (Token);						\
+      yylval = (Value);						\
       yychar1 = YYTRANSLATE (yychar);				\
       YYPOPSTACK;						\
       goto yybackup;						\
     }								\
   else								\
-    { yyerror ("syntax error: cannot back up"); YYERROR; }	\
+    { 								\
+      yyerror ("syntax error: cannot back up");			\
+      YYERROR;							\
+    }								\
 while (0)
 
 #define YYTERROR	1
 #define YYERRCODE	256
 
-#ifndef YYPURE
-#define YYLEX		yylex()
+/* YYLLOC_DEFAULT -- Compute the default location (before the actions
+   are run).  */
+
+#ifndef YYLLOC_DEFAULT
+# define YYLLOC_DEFAULT(Current, Rhs, N)           \
+  Current.first_line   = Rhs[1].first_line;      \
+  Current.first_column = Rhs[1].first_column;    \
+  Current.last_line    = Rhs[N].last_line;       \
+  Current.last_column  = Rhs[N].last_column;
 #endif
 
-#ifdef YYPURE
-#ifdef YYLSP_NEEDED
-#ifdef YYLEX_PARAM
-#define YYLEX		yylex(&yylval, &yylloc, YYLEX_PARAM)
-#else
-#define YYLEX		yylex(&yylval, &yylloc)
-#endif
-#else /* not YYLSP_NEEDED */
-#ifdef YYLEX_PARAM
-#define YYLEX		yylex(&yylval, YYLEX_PARAM)
-#else
-#define YYLEX		yylex(&yylval)
-#endif
-#endif /* not YYLSP_NEEDED */
-#endif
+/* YYLEX -- calling `yylex' with the right arguments.  */
 
-/* If nonreentrant, generate the variables here */
+#define YYLEX	yylex ()
 
-#ifndef YYPURE
+/* Enable debugging if requested.  */
+#if YYDEBUG
 
-int	yychar;			/*  the lookahead symbol		*/
-YYSTYPE	yylval;			/*  the semantic value of the		*/
-				/*  lookahead symbol			*/
+# ifndef YYFPRINTF
+#  include <stdio.h> /* INFRINGES ON USER NAME SPACE */
+#  define YYFPRINTF fprintf
+# endif
 
-#ifdef YYLSP_NEEDED
-YYLTYPE yylloc;			/*  location data for the lookahead	*/
-				/*  symbol				*/
-#endif
+# define YYDPRINTF(Args)			\
+do {						\
+  if (yydebug)					\
+    YYFPRINTF Args;				\
+} while (0)
+# define YYDSYMPRINT(Args)			\
+do {						\
+  if (yydebug)					\
+    yysymprint Args;				\
+} while (0)
+/* Nonzero means print parse trace.  It is left uninitialized so that
+   multiple parsers can coexist.  */
+int yydebug;
+#else /* !YYDEBUG */
+# define YYDPRINTF(Args)
+# define YYDSYMPRINT(Args)
+#endif /* !YYDEBUG */
 
-int yynerrs;			/*  number of parse errors so far       */
-#endif  /* not YYPURE */
-
-#if YYDEBUG != 0
-int yydebug;			/*  nonzero means print parse trace	*/
-/* Since this is uninitialized, it does not stop multiple parsers
-   from coexisting.  */
-#endif
-
-/*  YYINITDEPTH indicates the initial size of the parser's stacks	*/
-
+/* YYINITDEPTH -- initial size of the parser's stacks.  */
 #ifndef	YYINITDEPTH
-#define YYINITDEPTH 200
+# define YYINITDEPTH 200
 #endif
 
-/*  YYMAXDEPTH is the maximum size the stacks can grow to
-    (effective only if the built-in stack extension method is used).  */
+/* YYMAXDEPTH -- maximum size the stacks can grow to (effective only
+   if the built-in stack extension method is used).
+
+   Do not make this value too large; the results are undefined if
+   SIZE_MAX < YYSTACK_BYTES (YYMAXDEPTH)
+   evaluated with infinite-precision integer arithmetic.  */
 
 #if YYMAXDEPTH == 0
-#undef YYMAXDEPTH
+# undef YYMAXDEPTH
 #endif
 
 #ifndef YYMAXDEPTH
-#define YYMAXDEPTH 10000
+# define YYMAXDEPTH 10000
 #endif
+
 
-/* Define __yy_memcpy.  Note that the size argument
-   should be passed with type unsigned int, because that is what the non-GCC
-   definitions require.  With GCC, __builtin_memcpy takes an arg
-   of type size_t, but it can handle unsigned int.  */
 
-#if __GNUC__ > 1		/* GNU C and GNU C++ define this.  */
-#define __yy_memcpy(TO,FROM,COUNT)	__builtin_memcpy(TO,FROM,COUNT)
-#else				/* not GNU C or C++ */
-#ifndef __cplusplus
+#if YYERROR_VERBOSE
 
-/* This is the most reliable way to avoid incompatibilities
-   in available built-in functions on various systems.  */
-static void
-__yy_memcpy (to, from, count)
-     char *to;
-     char *from;
-     unsigned int count;
+# ifndef yystrlen
+#  if defined (__GLIBC__) && defined (_STRING_H)
+#   define yystrlen strlen
+#  else
+/* Return the length of YYSTR.  */
+static YYSIZE_T
+#   if defined (__STDC__) || defined (__cplusplus)
+yystrlen (const char *yystr)
+#   else
+yystrlen (yystr)
+     const char *yystr;
+#   endif
 {
-  register char *f = from;
-  register char *t = to;
-  register int i = count;
+  register const char *yys = yystr;
 
-  while (i-- > 0)
-    *t++ = *f++;
+  while (*yys++ != '\0')
+    continue;
+
+  return yys - yystr - 1;
+}
+#  endif
+# endif
+
+# ifndef yystpcpy
+#  if defined (__GLIBC__) && defined (_STRING_H) && defined (_GNU_SOURCE)
+#   define yystpcpy stpcpy
+#  else
+/* Copy YYSRC to YYDEST, returning the address of the terminating '\0' in
+   YYDEST.  */
+static char *
+#   if defined (__STDC__) || defined (__cplusplus)
+yystpcpy (char *yydest, const char *yysrc)
+#   else
+yystpcpy (yydest, yysrc)
+     char *yydest;
+     const char *yysrc;
+#   endif
+{
+  register char *yyd = yydest;
+  register const char *yys = yysrc;
+
+  while ((*yyd++ = *yys++) != '\0')
+    continue;
+
+  return yyd - 1;
+}
+#  endif
+# endif
+
+#endif /* !YYERROR_VERBOSE */
+
+
+
+#if YYDEBUG
+/*-----------------------------.
+| Print this symbol on YYOUT.  |
+`-----------------------------*/
+
+static void
+#if defined (__STDC__) || defined (__cplusplus)
+yysymprint (FILE* yyout, int yytype, YYSTYPE yyvalue)
+#else
+yysymprint (yyout, yytype, yyvalue)
+    FILE* yyout;
+    int yytype;
+    YYSTYPE yyvalue;
+#endif
+{
+  /* Pacify ``unused variable'' warnings.  */
+  (void) yyvalue;
+
+  if (yytype < YYNTOKENS)
+    {
+      YYFPRINTF (yyout, "token %s (", yytname[yytype]);
+# ifdef YYPRINT
+      YYPRINT (yyout, yytoknum[yytype], yyvalue);
+# endif
+    }
+  else
+    YYFPRINTF (yyout, "nterm %s (", yytname[yytype]);
+
+  switch (yytype)
+    {
+      default:
+        break;
+    }
+  YYFPRINTF (yyout, ")");
+}
+#endif /* YYDEBUG. */
+
+
+/*-----------------------------------------------.
+| Release the memory associated to this symbol.  |
+`-----------------------------------------------*/
+
+static void
+#if defined (__STDC__) || defined (__cplusplus)
+yydestruct (int yytype, YYSTYPE yyvalue)
+#else
+yydestruct (yytype, yyvalue)
+    int yytype;
+    YYSTYPE yyvalue;
+#endif
+{
+  /* Pacify ``unused variable'' warnings.  */
+  (void) yyvalue;
+
+  switch (yytype)
+    {
+      default:
+        break;
+    }
 }
 
-#else /* __cplusplus */
-
-/* This is the most reliable way to avoid incompatibilities
-   in available built-in functions on various systems.  */
-static void
-__yy_memcpy (char *to, char *from, unsigned int count)
-{
-  register char *t = to;
-  register char *f = from;
-  register int i = count;
-
-  while (i-- > 0)
-    *t++ = *f++;
-}
-
-#endif
-#endif
 
-#line 217 "/usr/share/bison.simple"
 
 /* The user can define YYPARSE_PARAM as the name of an argument to be passed
    into yyparse.  The argument should have type void *.
@@ -994,76 +1394,85 @@
    to the proper pointer type.  */
 
 #ifdef YYPARSE_PARAM
-#ifdef __cplusplus
-#define YYPARSE_PARAM_ARG void *YYPARSE_PARAM
-#define YYPARSE_PARAM_DECL
-#else /* not __cplusplus */
-#define YYPARSE_PARAM_ARG YYPARSE_PARAM
-#define YYPARSE_PARAM_DECL void *YYPARSE_PARAM;
-#endif /* not __cplusplus */
-#else /* not YYPARSE_PARAM */
-#define YYPARSE_PARAM_ARG
-#define YYPARSE_PARAM_DECL
-#endif /* not YYPARSE_PARAM */
+# if defined (__STDC__) || defined (__cplusplus)
+#  define YYPARSE_PARAM_ARG void *YYPARSE_PARAM
+#  define YYPARSE_PARAM_DECL
+# else
+#  define YYPARSE_PARAM_ARG YYPARSE_PARAM
+#  define YYPARSE_PARAM_DECL void *YYPARSE_PARAM;
+# endif
+#else /* !YYPARSE_PARAM */
+# define YYPARSE_PARAM_ARG
+# define YYPARSE_PARAM_DECL
+#endif /* !YYPARSE_PARAM */
 
 /* Prevent warning if -Wstrict-prototypes.  */
 #ifdef __GNUC__
-#ifdef YYPARSE_PARAM
+# ifdef YYPARSE_PARAM
 int yyparse (void *);
-#else
+# else
 int yyparse (void);
+# endif
 #endif
-#endif
+
+
+/* The lookahead symbol.  */
+int yychar;
+
+/* The semantic value of the lookahead symbol.  */
+YYSTYPE yylval;
+
+/* Number of parse errors so far.  */
+int yynerrs;
+
 
 int
-yyparse(YYPARSE_PARAM_ARG)
+yyparse (YYPARSE_PARAM_ARG)
      YYPARSE_PARAM_DECL
 {
+  
   register int yystate;
   register int yyn;
+  int yyresult;
+  /* Number of tokens to shift before error messages enabled.  */
+  int yyerrstatus;
+  /* Lookahead token as an internal (translated) token number.  */
+  int yychar1 = 0;
+
+  /* Three stacks and their tools:
+     `yyss': related to states,
+     `yyvs': related to semantic values,
+     `yyls': related to locations.
+
+     Refer to the stacks thru separate pointers, to allow yyoverflow
+     to reallocate them elsewhere.  */
+
+  /* The state stack.  */
+  short	yyssa[YYINITDEPTH];
+  short *yyss = yyssa;
   register short *yyssp;
+
+  /* The semantic value stack.  */
+  YYSTYPE yyvsa[YYINITDEPTH];
+  YYSTYPE *yyvs = yyvsa;
   register YYSTYPE *yyvsp;
-  int yyerrstatus;	/*  number of tokens to shift before error messages enabled */
-  int yychar1 = 0;		/*  lookahead token as an internal (translated) token number */
 
-  short	yyssa[YYINITDEPTH];	/*  the state stack			*/
-  YYSTYPE yyvsa[YYINITDEPTH];	/*  the semantic value stack		*/
 
-  short *yyss = yyssa;		/*  refer to the stacks thru separate pointers */
-  YYSTYPE *yyvs = yyvsa;	/*  to allow yyoverflow to reallocate them elsewhere */
 
-#ifdef YYLSP_NEEDED
-  YYLTYPE yylsa[YYINITDEPTH];	/*  the location stack			*/
-  YYLTYPE *yyls = yylsa;
-  YYLTYPE *yylsp;
-
-#define YYPOPSTACK   (yyvsp--, yyssp--, yylsp--)
-#else
 #define YYPOPSTACK   (yyvsp--, yyssp--)
-#endif
 
-  int yystacksize = YYINITDEPTH;
-  int yyfree_stacks = 0;
+  YYSIZE_T yystacksize = YYINITDEPTH;
 
-#ifdef YYPURE
-  int yychar;
-  YYSTYPE yylval;
-  int yynerrs;
-#ifdef YYLSP_NEEDED
-  YYLTYPE yylloc;
-#endif
-#endif
+  /* The variables used to return semantic value and location from the
+     action routines.  */
+  YYSTYPE yyval;
 
-  YYSTYPE yyval;		/*  the variable used to return		*/
-				/*  semantic values from the action	*/
-				/*  routines				*/
 
+  /* When reducing, the number of symbols on the RHS of the reduced
+     rule.  */
   int yylen;
 
-#if YYDEBUG != 0
-  if (yydebug)
-    fprintf(stderr, "Starting parse\n");
-#endif
+  YYDPRINTF ((stderr, "Starting parse\n"));
 
   yystate = 0;
   yyerrstatus = 0;
@@ -1075,110 +1484,96 @@
      so that they stay on the same level as the state stack.
      The wasted elements are never initialized.  */
 
-  yyssp = yyss - 1;
+  yyssp = yyss;
   yyvsp = yyvs;
-#ifdef YYLSP_NEEDED
-  yylsp = yyls;
-#endif
 
-/* Push a new state, which is found in  yystate  .  */
-/* In all cases, when you get here, the value and location stacks
-   have just been pushed. so pushing a state here evens the stacks.  */
-yynewstate:
+  goto yysetstate;
 
-  *++yyssp = yystate;
+/*------------------------------------------------------------.
+| yynewstate -- Push a new state, which is found in yystate.  |
+`------------------------------------------------------------*/
+ yynewstate:
+  /* In all cases, when you get here, the value and location stacks
+     have just been pushed. so pushing a state here evens the stacks.
+     */
+  yyssp++;
+
+ yysetstate:
+  *yyssp = yystate;
 
   if (yyssp >= yyss + yystacksize - 1)
     {
-      /* Give user a chance to reallocate the stack */
-      /* Use copies of these so that the &'s don't force the real ones into memory. */
-      YYSTYPE *yyvs1 = yyvs;
-      short *yyss1 = yyss;
-#ifdef YYLSP_NEEDED
-      YYLTYPE *yyls1 = yyls;
-#endif
-
       /* Get the current used size of the three stacks, in elements.  */
-      int size = yyssp - yyss + 1;
+      YYSIZE_T yysize = yyssp - yyss + 1;
 
 #ifdef yyoverflow
-      /* Each stack pointer address is followed by the size of
-	 the data in use in that stack, in bytes.  */
-#ifdef YYLSP_NEEDED
-      /* This used to be a conditional around just the two extra args,
-	 but that might be undefined if yyoverflow is a macro.  */
-      yyoverflow("parser stack overflow",
-		 &yyss1, size * sizeof (*yyssp),
-		 &yyvs1, size * sizeof (*yyvsp),
-		 &yyls1, size * sizeof (*yylsp),
-		 &yystacksize);
-#else
-      yyoverflow("parser stack overflow",
-		 &yyss1, size * sizeof (*yyssp),
-		 &yyvs1, size * sizeof (*yyvsp),
-		 &yystacksize);
-#endif
+      {
+	/* Give user a chance to reallocate the stack. Use copies of
+	   these so that the &'s don't force the real ones into
+	   memory.  */
+	YYSTYPE *yyvs1 = yyvs;
+	short *yyss1 = yyss;
 
-      yyss = yyss1; yyvs = yyvs1;
-#ifdef YYLSP_NEEDED
-      yyls = yyls1;
-#endif
+
+	/* Each stack pointer address is followed by the size of the
+	   data in use in that stack, in bytes.  This used to be a
+	   conditional around just the two extra args, but that might
+	   be undefined if yyoverflow is a macro.  */
+	yyoverflow ("parser stack overflow",
+		    &yyss1, yysize * sizeof (*yyssp),
+		    &yyvs1, yysize * sizeof (*yyvsp),
+
+		    &yystacksize);
+
+	yyss = yyss1;
+	yyvs = yyvs1;
+      }
 #else /* no yyoverflow */
+# ifndef YYSTACK_RELOCATE
+      goto yyoverflowlab;
+# else
       /* Extend the stack our own way.  */
       if (yystacksize >= YYMAXDEPTH)
-	{
-	  yyerror("parser stack overflow");
-	  if (yyfree_stacks)
-	    {
-	      free (yyss);
-	      free (yyvs);
-#ifdef YYLSP_NEEDED
-	      free (yyls);
-#endif
-	    }
-	  return 2;
-	}
+	goto yyoverflowlab;
       yystacksize *= 2;
       if (yystacksize > YYMAXDEPTH)
 	yystacksize = YYMAXDEPTH;
-#ifndef YYSTACK_USE_ALLOCA
-      yyfree_stacks = 1;
-#endif
-      yyss = (short *) YYSTACK_ALLOC (yystacksize * sizeof (*yyssp));
-      __yy_memcpy ((char *)yyss, (char *)yyss1,
-		   size * (unsigned int) sizeof (*yyssp));
-      yyvs = (YYSTYPE *) YYSTACK_ALLOC (yystacksize * sizeof (*yyvsp));
-      __yy_memcpy ((char *)yyvs, (char *)yyvs1,
-		   size * (unsigned int) sizeof (*yyvsp));
-#ifdef YYLSP_NEEDED
-      yyls = (YYLTYPE *) YYSTACK_ALLOC (yystacksize * sizeof (*yylsp));
-      __yy_memcpy ((char *)yyls, (char *)yyls1,
-		   size * (unsigned int) sizeof (*yylsp));
-#endif
+
+      {
+	short *yyss1 = yyss;
+	union yyalloc *yyptr =
+	  (union yyalloc *) YYSTACK_ALLOC (YYSTACK_BYTES (yystacksize));
+	if (! yyptr)
+	  goto yyoverflowlab;
+	YYSTACK_RELOCATE (yyss);
+	YYSTACK_RELOCATE (yyvs);
+
+#  undef YYSTACK_RELOCATE
+	if (yyss1 != yyssa)
+	  YYSTACK_FREE (yyss1);
+      }
+# endif
 #endif /* no yyoverflow */
 
-      yyssp = yyss + size - 1;
-      yyvsp = yyvs + size - 1;
-#ifdef YYLSP_NEEDED
-      yylsp = yyls + size - 1;
-#endif
+      yyssp = yyss + yysize - 1;
+      yyvsp = yyvs + yysize - 1;
 
-#if YYDEBUG != 0
-      if (yydebug)
-	fprintf(stderr, "Stack size increased to %d\n", yystacksize);
-#endif
+
+      YYDPRINTF ((stderr, "Stack size increased to %lu\n",
+		  (unsigned long int) yystacksize));
 
       if (yyssp >= yyss + yystacksize - 1)
 	YYABORT;
     }
 
-#if YYDEBUG != 0
-  if (yydebug)
-    fprintf(stderr, "Entering state %d\n", yystate);
-#endif
+  YYDPRINTF ((stderr, "Entering state %d\n", yystate));
 
   goto yybackup;
- yybackup:
+
+/*-----------.
+| yybackup.  |
+`-----------*/
+yybackup:
 
 /* Do appropriate processing given the current state.  */
 /* Read a lookahead token if we need one and don't already have one.  */
@@ -1187,7 +1582,7 @@
   /* First try to decide what to do without reference to lookahead token.  */
 
   yyn = yypact[yystate];
-  if (yyn == YYFLAG)
+  if (yyn == YYPACT_NINF)
     goto yydefault;
 
   /* Not known => get a lookahead token if don't already have one.  */
@@ -1197,146 +1592,141 @@
 
   if (yychar == YYEMPTY)
     {
-#if YYDEBUG != 0
-      if (yydebug)
-	fprintf(stderr, "Reading a token: ");
-#endif
+      YYDPRINTF ((stderr, "Reading a token: "));
       yychar = YYLEX;
     }
 
-  /* Convert token to internal form (in yychar1) for indexing tables with */
+  /* Convert token to internal form (in yychar1) for indexing tables with.  */
 
-  if (yychar <= 0)		/* This means end of input. */
+  if (yychar <= 0)		/* This means end of input.  */
     {
       yychar1 = 0;
-      yychar = YYEOF;		/* Don't call YYLEX any more */
+      yychar = YYEOF;		/* Don't call YYLEX any more.  */
 
-#if YYDEBUG != 0
-      if (yydebug)
-	fprintf(stderr, "Now at end of input.\n");
-#endif
+      YYDPRINTF ((stderr, "Now at end of input.\n"));
     }
   else
     {
-      yychar1 = YYTRANSLATE(yychar);
+      yychar1 = YYTRANSLATE (yychar);
 
-#if YYDEBUG != 0
-      if (yydebug)
-	{
-	  fprintf (stderr, "Next token is %d (%s", yychar, yytname[yychar1]);
-	  /* Give the individual parser a way to print the precise meaning
-	     of a token, for further debugging info.  */
-#ifdef YYPRINT
-	  YYPRINT (stderr, yychar, yylval);
-#endif
-	  fprintf (stderr, ")\n");
-	}
-#endif
+      /* We have to keep this `#if YYDEBUG', since we use variables
+	 which are defined only if `YYDEBUG' is set.  */
+      YYDPRINTF ((stderr, "Next token is "));
+      YYDSYMPRINT ((stderr, yychar1, yylval));
+      YYDPRINTF ((stderr, "\n"));
     }
 
+  /* If the proper action on seeing token YYCHAR1 is to reduce or to
+     detect an error, take that action.  */
   yyn += yychar1;
-  if (yyn < 0 || yyn > YYLAST || yycheck[yyn] != yychar1)
+  if (yyn < 0 || YYLAST < yyn || yycheck[yyn] != yychar1)
     goto yydefault;
-
   yyn = yytable[yyn];
-
-  /* yyn is what to do for this token type in this state.
-     Negative => reduce, -yyn is rule number.
-     Positive => shift, yyn is new state.
-       New state is final state => don't bother to shift,
-       just return success.
-     0, or most negative number => error.  */
-
-  if (yyn < 0)
+  if (yyn <= 0)
     {
-      if (yyn == YYFLAG)
+      if (yyn == 0 || yyn == YYTABLE_NINF)
 	goto yyerrlab;
       yyn = -yyn;
       goto yyreduce;
     }
-  else if (yyn == 0)
-    goto yyerrlab;
 
   if (yyn == YYFINAL)
     YYACCEPT;
 
   /* Shift the lookahead token.  */
-
-#if YYDEBUG != 0
-  if (yydebug)
-    fprintf(stderr, "Shifting token %d (%s), ", yychar, yytname[yychar1]);
-#endif
+  YYDPRINTF ((stderr, "Shifting token %d (%s), ",
+	      yychar, yytname[yychar1]));
 
   /* Discard the token being shifted unless it is eof.  */
   if (yychar != YYEOF)
     yychar = YYEMPTY;
 
   *++yyvsp = yylval;
-#ifdef YYLSP_NEEDED
-  *++yylsp = yylloc;
-#endif
 
-  /* count tokens shifted since error; after three, turn off error status.  */
-  if (yyerrstatus) yyerrstatus--;
+
+  /* Count tokens shifted since error; after three, turn off error
+     status.  */
+  if (yyerrstatus)
+    yyerrstatus--;
 
   yystate = yyn;
   goto yynewstate;
 
-/* Do the default action for the current state.  */
-yydefault:
 
+/*-----------------------------------------------------------.
+| yydefault -- do the default action for the current state.  |
+`-----------------------------------------------------------*/
+yydefault:
   yyn = yydefact[yystate];
   if (yyn == 0)
     goto yyerrlab;
+  goto yyreduce;
 
-/* Do a reduction.  yyn is the number of a rule to reduce with.  */
+
+/*-----------------------------.
+| yyreduce -- Do a reduction.  |
+`-----------------------------*/
 yyreduce:
+  /* yyn is the number of a rule to reduce with.  */
   yylen = yyr2[yyn];
-  if (yylen > 0)
-    yyval = yyvsp[1-yylen]; /* implement default value of the action */
 
-#if YYDEBUG != 0
+  /* If YYLEN is nonzero, implement the default value of the action:
+     `$$ = $1'.
+
+     Otherwise, the following line sets YYVAL to garbage.
+     This behavior is undocumented and Bison
+     users should not rely upon it.  Assigning to YYVAL
+     unconditionally makes the parser a bit smaller, and it avoids a
+     GCC warning that YYVAL may be used uninitialized.  */
+  yyval = yyvsp[1-yylen];
+
+
+
+#if YYDEBUG
+  /* We have to keep this `#if YYDEBUG', since we use variables which
+     are defined only if `YYDEBUG' is set.  */
   if (yydebug)
     {
-      int i;
+      int yyi;
 
-      fprintf (stderr, "Reducing via rule %d (line %d), ",
-	       yyn, yyrline[yyn]);
+      YYFPRINTF (stderr, "Reducing via rule %d (line %d), ",
+		 yyn - 1, yyrline[yyn]);
 
       /* Print the symbols being reduced, and their result.  */
-      for (i = yyprhs[yyn]; yyrhs[i] > 0; i++)
-	fprintf (stderr, "%s ", yytname[yyrhs[i]]);
-      fprintf (stderr, " -> %s\n", yytname[yyr1[yyn]]);
+      for (yyi = yyprhs[yyn]; yyrhs[yyi] >= 0; yyi++)
+	YYFPRINTF (stderr, "%s ", yytname[yyrhs[yyi]]);
+      YYFPRINTF (stderr, " -> %s\n", yytname[yyr1[yyn]]);
     }
 #endif
-
-
-  switch (yyn) {
-
-case 1:
+  switch (yyn)
+    {
+        case 2:
 #line 298 "asn1p_y.y"
-{
+    {
 		*(void **)param = yyvsp[0].a_grammar;
-	;
-    break;}
-case 2:
+	}
+    break;
+
+  case 3:
 #line 304 "asn1p_y.y"
-{
+    {
 		yyval.a_grammar = asn1p_new();
 		checkmem(yyval.a_grammar);
 		TQ_ADD(&(yyval.a_grammar->modules), yyvsp[0].a_module, mod_next);
-	;
-    break;}
-case 3:
+	}
+    break;
+
+  case 4:
 #line 309 "asn1p_y.y"
-{
+    {
 		yyval.a_grammar = yyvsp[-1].a_grammar;
 		TQ_ADD(&(yyval.a_grammar->modules), yyvsp[0].a_module, mod_next);
-	;
-    break;}
-case 4:
+	}
+    break;
+
+  case 5:
 #line 330 "asn1p_y.y"
-{
+    {
 
 		if(yyvsp[-1].a_module) {
 			yyval.a_module = yyvsp[-1].a_module;
@@ -1349,133 +1739,154 @@
 		yyval.a_module->Identifier = yyvsp[-7].tv_str;
 		yyval.a_module->module_oid = yyvsp[-6].a_oid;
 		yyval.a_module->module_flags = yyvsp[-4].a_module_flags;
-	;
-    break;}
-case 5:
+	}
+    break;
+
+  case 6:
 #line 351 "asn1p_y.y"
-{ yyval.a_oid = 0; ;
-    break;}
-case 6:
+    { yyval.a_oid = 0; }
+    break;
+
+  case 7:
 #line 352 "asn1p_y.y"
-{ yyval.a_oid = yyvsp[0].a_oid; ;
-    break;}
-case 7:
+    { yyval.a_oid = yyvsp[0].a_oid; }
+    break;
+
+  case 8:
 #line 356 "asn1p_y.y"
-{
+    {
 		yyval.a_oid = yyvsp[-1].a_oid;
-	;
-    break;}
-case 8:
+	}
+    break;
+
+  case 9:
 #line 359 "asn1p_y.y"
-{
+    {
 		yyval.a_oid = 0;
-	;
-    break;}
-case 9:
+	}
+    break;
+
+  case 10:
 #line 365 "asn1p_y.y"
-{
+    {
 		yyval.a_oid = asn1p_oid_new();
 		asn1p_oid_add_arc(yyval.a_oid, &yyvsp[0].a_oid_arc);
 		if(yyvsp[0].a_oid_arc.name)
 			free(yyvsp[0].a_oid_arc.name);
-	;
-    break;}
-case 10:
+	}
+    break;
+
+  case 11:
 #line 371 "asn1p_y.y"
-{
+    {
 		yyval.a_oid = yyvsp[-1].a_oid;
 		asn1p_oid_add_arc(yyval.a_oid, &yyvsp[0].a_oid_arc);
 		if(yyvsp[0].a_oid_arc.name)
 			free(yyvsp[0].a_oid_arc.name);
-	;
-    break;}
-case 11:
+	}
+    break;
+
+  case 12:
 #line 380 "asn1p_y.y"
-{					/* iso */
+    {					/* iso */
 		yyval.a_oid_arc.name = yyvsp[0].tv_str;
 		yyval.a_oid_arc.number = -1;
-	;
-    break;}
-case 12:
+	}
+    break;
+
+  case 13:
 #line 384 "asn1p_y.y"
-{		/* iso(1) */
+    {		/* iso(1) */
 		yyval.a_oid_arc.name = yyvsp[-3].tv_str;
 		yyval.a_oid_arc.number = yyvsp[-1].a_int;
-	;
-    break;}
-case 13:
+	}
+    break;
+
+  case 14:
 #line 388 "asn1p_y.y"
-{					/* 1 */
+    {					/* 1 */
 		yyval.a_oid_arc.name = 0;
 		yyval.a_oid_arc.number = yyvsp[0].a_int;
-	;
-    break;}
-case 14:
+	}
+    break;
+
+  case 15:
 #line 398 "asn1p_y.y"
-{ yyval.a_module_flags = MSF_NOFLAGS; ;
-    break;}
-case 15:
+    { yyval.a_module_flags = MSF_NOFLAGS; }
+    break;
+
+  case 16:
 #line 399 "asn1p_y.y"
-{
+    {
 		yyval.a_module_flags = yyvsp[0].a_module_flags;
-	;
-    break;}
-case 16:
+	}
+    break;
+
+  case 17:
 #line 408 "asn1p_y.y"
-{
+    {
 		yyval.a_module_flags = yyvsp[0].a_module_flags;
-	;
-    break;}
-case 17:
+	}
+    break;
+
+  case 18:
 #line 411 "asn1p_y.y"
-{
+    {
 		yyval.a_module_flags = yyvsp[-1].a_module_flags | yyvsp[0].a_module_flags;
-	;
-    break;}
-case 18:
+	}
+    break;
+
+  case 19:
 #line 420 "asn1p_y.y"
-{
+    {
 		yyval.a_module_flags = MSF_EXPLICIT_TAGS;
-	;
-    break;}
-case 19:
+	}
+    break;
+
+  case 20:
 #line 423 "asn1p_y.y"
-{
+    {
 		yyval.a_module_flags = MSF_IMPLICIT_TAGS;
-	;
-    break;}
-case 20:
+	}
+    break;
+
+  case 21:
 #line 426 "asn1p_y.y"
-{
+    {
 		yyval.a_module_flags = MSF_AUTOMATIC_TAGS;
-	;
-    break;}
-case 21:
+	}
+    break;
+
+  case 22:
 #line 429 "asn1p_y.y"
-{
+    {
 		yyval.a_module_flags = MSF_EXTENSIBILITY_IMPLIED;
-	;
-    break;}
-case 22:
+	}
+    break;
+
+  case 23:
 #line 438 "asn1p_y.y"
-{ yyval.a_module = 0; ;
-    break;}
-case 23:
+    { yyval.a_module = 0; }
+    break;
+
+  case 24:
 #line 439 "asn1p_y.y"
-{
+    {
 		assert(yyvsp[0].a_module);
 		yyval.a_module = yyvsp[0].a_module;
-	;
-    break;}
-case 24:
+	}
+    break;
+
+  case 25:
 #line 449 "asn1p_y.y"
-{
+    {
 		yyval.a_module = yyvsp[0].a_module;
-	;
-    break;}
-case 25:
+	}
+    break;
+
+  case 26:
 #line 452 "asn1p_y.y"
-{
+    {
 		yyval.a_module = yyvsp[-1].a_module;
 
 #ifdef	MY_IMPORT
@@ -1494,17 +1905,19 @@
 		MY_IMPORT(members, next);
 #undef	MY_IMPORT
 
-	;
-    break;}
-case 26:
+	}
+    break;
+
+  case 27:
 #line 478 "asn1p_y.y"
-{
+    {
 		yyval.a_module = yyvsp[0].a_module;
-	;
-    break;}
-case 27:
+	}
+    break;
+
+  case 28:
 #line 481 "asn1p_y.y"
-{
+    {
 		yyval.a_module = asn1p_module_new();
 		checkmem(yyval.a_module);
 		if(yyvsp[0].a_xports) {
@@ -1512,250 +1925,280 @@
 		} else {
 			/* "EXPORTS ALL;" ? */
 		}
-	;
-    break;}
-case 28:
+	}
+    break;
+
+  case 29:
 #line 490 "asn1p_y.y"
-{
+    {
 		yyval.a_module = asn1p_module_new();
 		checkmem(yyval.a_module);
 		assert(yyvsp[0].a_expr->expr_type != A1TC_INVALID);
 		assert(yyvsp[0].a_expr->meta_type != AMT_INVALID);
 		TQ_ADD(&(yyval.a_module->members), yyvsp[0].a_expr, next);
-	;
-    break;}
-case 29:
+	}
+    break;
+
+  case 30:
 #line 497 "asn1p_y.y"
-{
+    {
 		yyval.a_module = asn1p_module_new();
 		checkmem(yyval.a_module);
 		assert(yyvsp[0].a_expr->expr_type != A1TC_INVALID);
 		assert(yyvsp[0].a_expr->meta_type != AMT_INVALID);
 		TQ_ADD(&(yyval.a_module->members), yyvsp[0].a_expr, next);
-	;
-    break;}
-case 30:
+	}
+    break;
+
+  case 31:
 #line 510 "asn1p_y.y"
-{
+    {
 		yyval.a_module = asn1p_module_new();
 		checkmem(yyval.a_module);
 		assert(yyvsp[0].a_expr->expr_type != A1TC_INVALID);
 		assert(yyvsp[0].a_expr->meta_type != AMT_INVALID);
 		TQ_ADD(&(yyval.a_module->members), yyvsp[0].a_expr, next);
-	;
-    break;}
-case 31:
+	}
+    break;
+
+  case 32:
 #line 521 "asn1p_y.y"
-{
+    {
 		return yyerror(
 			"Attempt to redefine a standard basic type, "
 			"use -ftypesXY to switch back "
 			"to older version of ASN.1 standard");
-	;
-    break;}
-case 32:
+	}
+    break;
+
+  case 33:
 #line 535 "asn1p_y.y"
-{
+    {
 		yyval.a_module = yyvsp[-1].a_module;
-	;
-    break;}
-case 33:
+	}
+    break;
+
+  case 34:
 #line 541 "asn1p_y.y"
-{
+    {
 		return yyerror("Empty IMPORTS list");
-	;
-    break;}
-case 34:
+	}
+    break;
+
+  case 35:
 #line 547 "asn1p_y.y"
-{
+    {
 		yyval.a_module = asn1p_module_new();
 		checkmem(yyval.a_module);
 		TQ_ADD(&(yyval.a_module->imports), yyvsp[0].a_xports, xp_next);
-	;
-    break;}
-case 35:
+	}
+    break;
+
+  case 36:
 #line 552 "asn1p_y.y"
-{
+    {
 		yyval.a_module = yyvsp[-1].a_module;
 		TQ_ADD(&(yyval.a_module->imports), yyvsp[0].a_xports, xp_next);
-	;
-    break;}
-case 36:
+	}
+    break;
+
+  case 37:
 #line 559 "asn1p_y.y"
-{
+    {
 		yyval.a_xports = yyvsp[-3].a_xports;
 		yyval.a_xports->from = yyvsp[-1].tv_str;
 		yyval.a_xports->from_oid = yyvsp[0].a_oid;
 		checkmem(yyval.a_xports);
-	;
-    break;}
-case 37:
+	}
+    break;
+
+  case 38:
 #line 568 "asn1p_y.y"
-{
+    {
 		yyval.a_xports = asn1p_xports_new();
 		checkmem(yyval.a_xports);
 		TQ_ADD(&(yyval.a_xports->members), yyvsp[0].a_expr, next);
-	;
-    break;}
-case 38:
+	}
+    break;
+
+  case 39:
 #line 573 "asn1p_y.y"
-{
+    {
 		yyval.a_xports = yyvsp[-2].a_xports;
 		TQ_ADD(&(yyval.a_xports->members), yyvsp[0].a_expr, next);
-	;
-    break;}
-case 39:
+	}
+    break;
+
+  case 40:
 #line 580 "asn1p_y.y"
-{
+    {
 		yyval.a_expr = asn1p_expr_new(yylineno);
 		checkmem(yyval.a_expr);
 		yyval.a_expr->Identifier = yyvsp[0].tv_str;
 		yyval.a_expr->expr_type = A1TC_REFERENCE;
-	;
-    break;}
-case 40:
+	}
+    break;
+
+  case 41:
 #line 586 "asn1p_y.y"
-{
+    {
 		yyval.a_expr = asn1p_expr_new(yylineno);
 		checkmem(yyval.a_expr);
 		yyval.a_expr->Identifier = yyvsp[0].tv_str;
 		yyval.a_expr->expr_type = A1TC_REFERENCE;
-	;
-    break;}
-case 41:
+	}
+    break;
+
+  case 42:
 #line 595 "asn1p_y.y"
-{
+    {
 		yyval.a_xports = yyvsp[-1].a_xports;
-	;
-    break;}
-case 42:
+	}
+    break;
+
+  case 43:
 #line 598 "asn1p_y.y"
-{
+    {
 		yyval.a_xports = 0;
-	;
-    break;}
-case 43:
+	}
+    break;
+
+  case 44:
 #line 601 "asn1p_y.y"
-{
+    {
 		/* Empty EXPORTS clause effectively prohibits export. */
 		yyval.a_xports = asn1p_xports_new();
 		checkmem(yyval.a_xports);
-	;
-    break;}
-case 44:
+	}
+    break;
+
+  case 45:
 #line 609 "asn1p_y.y"
-{
+    {
 		yyval.a_xports = asn1p_xports_new();
 		assert(yyval.a_xports);
 		TQ_ADD(&(yyval.a_xports->members), yyvsp[0].a_expr, next);
-	;
-    break;}
-case 45:
+	}
+    break;
+
+  case 46:
 #line 614 "asn1p_y.y"
-{
+    {
 		yyval.a_xports = yyvsp[-2].a_xports;
 		TQ_ADD(&(yyval.a_xports->members), yyvsp[0].a_expr, next);
-	;
-    break;}
-case 46:
+	}
+    break;
+
+  case 47:
 #line 621 "asn1p_y.y"
-{
+    {
 		yyval.a_expr = asn1p_expr_new(yylineno);
 		checkmem(yyval.a_expr);
 		yyval.a_expr->Identifier = yyvsp[0].tv_str;
 		yyval.a_expr->expr_type = A1TC_EXPORTVAR;
-	;
-    break;}
-case 47:
+	}
+    break;
+
+  case 48:
 #line 627 "asn1p_y.y"
-{
+    {
 		yyval.a_expr = asn1p_expr_new(yylineno);
 		checkmem(yyval.a_expr);
 		yyval.a_expr->Identifier = yyvsp[0].tv_str;
 		yyval.a_expr->expr_type = A1TC_EXPORTVAR;
-	;
-    break;}
-case 48:
+	}
+    break;
+
+  case 49:
 #line 637 "asn1p_y.y"
-{
+    {
 		yyval.a_expr = yyvsp[-4].a_expr;
 		assert(yyval.a_expr->Identifier == 0);
 		yyval.a_expr->Identifier = yyvsp[-5].tv_str;
 		yyval.a_expr->meta_type = AMT_VALUESET;
 		// take care of optValueSetBody 
-	;
-    break;}
-case 49:
+	}
+    break;
+
+  case 50:
 #line 647 "asn1p_y.y"
-{
+    {
 		yyval.a_expr = asn1p_expr_new(yylineno);
 		checkmem(yyval.a_expr);
 		yyval.a_expr->reference = yyvsp[0].a_ref;
 		yyval.a_expr->expr_type = A1TC_REFERENCE;
 		yyval.a_expr->meta_type = AMT_TYPEREF;
-	;
-    break;}
-case 50:
+	}
+    break;
+
+  case 51:
 #line 654 "asn1p_y.y"
-{
+    {
 		yyval.a_expr = asn1p_expr_new(yylineno);
 		checkmem(yyval.a_expr);
 		yyval.a_expr->expr_type = yyvsp[0].a_type;
 		yyval.a_expr->meta_type = AMT_TYPE;
-	;
-    break;}
-case 51:
+	}
+    break;
+
+  case 52:
 #line 663 "asn1p_y.y"
-{ ;
-    break;}
-case 52:
+    { }
+    break;
+
+  case 53:
 #line 664 "asn1p_y.y"
-{
-	;
-    break;}
-case 53:
+    {
+	}
+    break;
+
+  case 54:
 #line 680 "asn1p_y.y"
-{
+    {
 		yyval.a_expr = asn1p_expr_new(yylineno);
 		checkmem(yyval.a_expr);
 		yyval.a_expr->Identifier = yyvsp[-3].tv_str;
 		yyval.a_expr->tag = yyvsp[-1].a_tag;
 		yyval.a_expr->expr_type = A1TC_TYPEID;
 		yyval.a_expr->meta_type = AMT_TYPE;
-	;
-    break;}
-case 54:
+	}
+    break;
+
+  case 55:
 #line 688 "asn1p_y.y"
-{
+    {
 		yyval.a_expr = yyvsp[0].a_expr;
 		yyval.a_expr->Identifier = yyvsp[-3].tv_str;
 		yyval.a_expr->tag = yyvsp[-1].a_tag;
 		assert(yyval.a_expr->expr_type);
 		assert(yyval.a_expr->meta_type);
-	;
-    break;}
-case 55:
+	}
+    break;
+
+  case 56:
 #line 695 "asn1p_y.y"
-{
+    {
 		yyval.a_expr = yyvsp[0].a_expr;
 		yyval.a_expr->Identifier = yyvsp[-2].tv_str;
 		assert(yyval.a_expr->expr_type == A1TC_CLASSDEF);
 		assert(yyval.a_expr->meta_type == AMT_OBJECT);
-	;
-    break;}
-case 56:
+	}
+    break;
+
+  case 57:
 #line 712 "asn1p_y.y"
-{
+    {
 		yyval.a_expr = yyvsp[0].a_expr;
 		assert(yyval.a_expr->Identifier == 0);
 		yyval.a_expr->Identifier = yyvsp[-5].tv_str;
 		yyval.a_expr->params = yyvsp[-3].a_plist;
 		yyval.a_expr->meta_type = AMT_PARAMTYPE;
-	;
-    break;}
-case 57:
+	}
+    break;
+
+  case 58:
 #line 722 "asn1p_y.y"
-{
+    {
 		int ret;
 		yyval.a_plist = asn1p_paramlist_new(yylineno);
 		checkmem(yyval.a_plist);
@@ -1763,150 +2206,168 @@
 		checkmem(ret == 0);
 		if(yyvsp[0].a_parg.governor) asn1p_ref_free(yyvsp[0].a_parg.governor);
 		if(yyvsp[0].a_parg.argument) free(yyvsp[0].a_parg.argument);
-	;
-    break;}
-case 58:
+	}
+    break;
+
+  case 59:
 #line 731 "asn1p_y.y"
-{
+    {
 		int ret;
 		yyval.a_plist = yyvsp[-2].a_plist;
 		ret = asn1p_paramlist_add_param(yyval.a_plist, yyvsp[0].a_parg.governor, yyvsp[0].a_parg.argument);
 		checkmem(ret == 0);
 		if(yyvsp[0].a_parg.governor) asn1p_ref_free(yyvsp[0].a_parg.governor);
 		if(yyvsp[0].a_parg.argument) free(yyvsp[0].a_parg.argument);
-	;
-    break;}
-case 59:
+	}
+    break;
+
+  case 60:
 #line 742 "asn1p_y.y"
-{
+    {
 		yyval.a_parg.governor = NULL;
 		yyval.a_parg.argument = yyvsp[0].tv_str;
-	;
-    break;}
-case 60:
+	}
+    break;
+
+  case 61:
 #line 746 "asn1p_y.y"
-{
+    {
 		int ret;
 		yyval.a_parg.governor = asn1p_ref_new(yylineno);
 		ret = asn1p_ref_add_component(yyval.a_parg.governor, yyvsp[-2].tv_str, 0);
 		checkmem(ret == 0);
 		yyval.a_parg.argument = yyvsp[0].tv_str;
-	;
-    break;}
-case 61:
+	}
+    break;
+
+  case 62:
 #line 753 "asn1p_y.y"
-{
+    {
 		int ret;
 		yyval.a_parg.governor = asn1p_ref_new(yylineno);
 		ret = asn1p_ref_add_component(yyval.a_parg.governor,
 			ASN_EXPR_TYPE2STR(yyvsp[-2].a_type), 1);
 		checkmem(ret == 0);
 		yyval.a_parg.argument = yyvsp[0].tv_str;
-	;
-    break;}
-case 62:
+	}
+    break;
+
+  case 63:
 #line 764 "asn1p_y.y"
-{
+    {
 		yyval.a_expr = asn1p_expr_new(yylineno);
 		checkmem(yyval.a_expr);
 		TQ_ADD(&(yyval.a_expr->members), yyvsp[0].a_expr, next);
-	;
-    break;}
-case 63:
+	}
+    break;
+
+  case 64:
 #line 769 "asn1p_y.y"
-{
+    {
 		yyval.a_expr = yyvsp[-2].a_expr;
 		TQ_ADD(&(yyval.a_expr->members), yyvsp[0].a_expr, next);
-	;
-    break;}
-case 64:
+	}
+    break;
+
+  case 65:
 #line 776 "asn1p_y.y"
-{
+    {
 		yyval.a_expr = yyvsp[0].a_expr;
-	;
-    break;}
-case 65:
+	}
+    break;
+
+  case 66:
 #line 779 "asn1p_y.y"
-{
+    {
 		yyval.a_expr = asn1p_expr_new(yylineno);
 		checkmem(yyval.a_expr);
 		yyval.a_expr->Identifier = yyvsp[0].tv_str;
 		yyval.a_expr->expr_type = A1TC_REFERENCE;
 		yyval.a_expr->meta_type = AMT_VALUE;
-	;
-    break;}
-case 66:
+	}
+    break;
+
+  case 67:
 #line 792 "asn1p_y.y"
-{
+    {
 		yyval.a_expr = asn1p_expr_new(yylineno);
 		checkmem(yyval.a_expr);
 		TQ_ADD(&(yyval.a_expr->members), yyvsp[0].a_expr, next);
-	;
-    break;}
-case 67:
+	}
+    break;
+
+  case 68:
 #line 797 "asn1p_y.y"
-{
+    {
 		yyval.a_expr = yyvsp[-2].a_expr;
 		TQ_ADD(&(yyval.a_expr->members), yyvsp[0].a_expr, next);
-	;
-    break;}
-case 68:
+	}
+    break;
+
+  case 69:
 #line 804 "asn1p_y.y"
-{
+    {
 		yyval.a_expr = yyvsp[-2].a_expr;
 		checkmem(yyval.a_expr);
 		yyval.a_expr->with_syntax = yyvsp[0].a_wsynt;
 		assert(yyval.a_expr->expr_type == A1TC_CLASSDEF);
 		assert(yyval.a_expr->meta_type == AMT_OBJECT);
-	;
-    break;}
-case 69:
+	}
+    break;
+
+  case 70:
 #line 814 "asn1p_y.y"
-{ yyval.a_int = 0; ;
-    break;}
-case 70:
+    { yyval.a_int = 0; }
+    break;
+
+  case 71:
 #line 815 "asn1p_y.y"
-{ yyval.a_int = 1; ;
-    break;}
-case 71:
+    { yyval.a_int = 1; }
+    break;
+
+  case 72:
 #line 819 "asn1p_y.y"
-{
+    {
 		yyval.a_expr = asn1p_expr_new(yylineno);
 		checkmem(yyval.a_expr);
 		yyval.a_expr->expr_type = A1TC_CLASSDEF;
 		yyval.a_expr->meta_type = AMT_OBJECT;
 		TQ_ADD(&(yyval.a_expr->members), yyvsp[0].a_expr, next);
-	;
-    break;}
-case 72:
+	}
+    break;
+
+  case 73:
 #line 826 "asn1p_y.y"
-{
+    {
 		yyval.a_expr = yyvsp[-2].a_expr;
 		TQ_ADD(&(yyval.a_expr->members), yyvsp[0].a_expr, next);
-	;
-    break;}
-case 73:
+	}
+    break;
+
+  case 74:
 #line 833 "asn1p_y.y"
-{
+    {
 		yyval.a_expr = asn1p_expr_new(yylineno);
 		checkmem(yyval.a_expr);
 		yyval.a_expr->Identifier = yyvsp[-1].a_refcomp.name;
 		yyval.a_expr->expr_type = A1TC_CLASSFIELD;
 		yyval.a_expr->meta_type = AMT_OBJECTFIELD;
 		yyval.a_expr->marker = yyvsp[0].a_marker;
-	;
-    break;}
-case 74:
+	}
+    break;
+
+  case 75:
 #line 841 "asn1p_y.y"
-{
+    {
 		yyval.a_expr = yyvsp[-1].a_expr;
 		yyval.a_expr->Identifier = yyvsp[-2].a_refcomp.name;
 		yyval.a_expr->unique = yyvsp[0].a_int;
-	;
-    break;}
-case 75:
+	}
+    break;
+
+  case 76:
 #line 846 "asn1p_y.y"
-{
+    {
 		int ret;
 		yyval.a_expr = asn1p_expr_new(yylineno);
 		checkmem(yyval.a_expr);
@@ -1920,51 +2381,59 @@
 		yyval.a_expr->meta_type = AMT_OBJECTFIELD;
 		yyval.a_expr->marker = yyvsp[-1].a_marker;
 		yyval.a_expr->unique = yyvsp[0].a_int;
-	;
-    break;}
-case 76:
+	}
+    break;
+
+  case 77:
 #line 864 "asn1p_y.y"
-{ yyval.a_wsynt = 0; ;
-    break;}
-case 77:
+    { yyval.a_wsynt = 0; }
+    break;
+
+  case 78:
 #line 865 "asn1p_y.y"
-{
+    {
 		yyval.a_wsynt = yyvsp[0].a_wsynt;
-	;
-    break;}
-case 78:
+	}
+    break;
+
+  case 79:
 #line 872 "asn1p_y.y"
-{ asn1p_lexer_hack_enable_with_syntax(); ;
-    break;}
-case 79:
+    { asn1p_lexer_hack_enable_with_syntax(); }
+    break;
+
+  case 80:
 #line 874 "asn1p_y.y"
-{
+    {
 		yyval.a_wsynt = yyvsp[-1].a_wsynt;
-	;
-    break;}
-case 80:
+	}
+    break;
+
+  case 81:
 #line 880 "asn1p_y.y"
-{
+    {
 		yyval.a_wsynt = asn1p_wsyntx_new();
 		TQ_ADD(&(yyval.a_wsynt->chunks), yyvsp[0].a_wchunk, next);
-	;
-    break;}
-case 81:
+	}
+    break;
+
+  case 82:
 #line 884 "asn1p_y.y"
-{
+    {
 		yyval.a_wsynt = yyvsp[-1].a_wsynt;
 		TQ_ADD(&(yyval.a_wsynt->chunks), yyvsp[0].a_wchunk, next);
-	;
-    break;}
-case 82:
+	}
+    break;
+
+  case 83:
 #line 891 "asn1p_y.y"
-{
+    {
 		yyval.a_wchunk = asn1p_wsyntx_chunk_frombuf(yyvsp[0].tv_opaque.buf, yyvsp[0].tv_opaque.len, 0);
-	;
-    break;}
-case 83:
+	}
+    break;
+
+  case 84:
 #line 894 "asn1p_y.y"
-{
+    {
 		asn1p_ref_t *ref;
 		int ret;
 		ref = asn1p_ref_new(yylineno);
@@ -1972,45 +2441,50 @@
 		ret = asn1p_ref_add_component(ref, yyvsp[0].a_refcomp.name, yyvsp[0].a_refcomp.lex_type);
 		checkmem(ret == 0);
 		yyval.a_wchunk = asn1p_wsyntx_chunk_fromref(ref, 0);
-	;
-    break;}
-case 84:
+	}
+    break;
+
+  case 85:
 #line 920 "asn1p_y.y"
-{
+    {
 		yyval.a_expr = yyvsp[0].a_expr;
 		assert(yyval.a_expr->Identifier == 0);
 		yyval.a_expr->Identifier = yyvsp[-1].tv_nametag.name;
 		yyval.a_expr->tag = yyvsp[-1].tv_nametag.tag;
-	;
-    break;}
-case 85:
+	}
+    break;
+
+  case 86:
 #line 926 "asn1p_y.y"
-{
+    {
 		yyval.a_expr = yyvsp[0].a_expr;
-	;
-    break;}
-case 86:
+	}
+    break;
+
+  case 87:
 #line 932 "asn1p_y.y"
-{
+    {
 		yyval.a_expr = yyvsp[-2].a_expr;
 		yyval.a_expr->constraints = yyvsp[-1].a_constr;
 		yyval.a_expr->marker = yyvsp[0].a_marker;
-	;
-    break;}
-case 87:
+	}
+    break;
+
+  case 88:
 #line 940 "asn1p_y.y"
-{
+    {
 		yyval.a_expr = asn1p_expr_new(asn1p_lineno);
 		checkmem(yyval.a_expr);
 		yyval.a_expr->Identifier = strdup("...");
 		checkmem(yyval.a_expr->Identifier);
 		yyval.a_expr->expr_type = A1TC_EXTENSIBLE;
 		yyval.a_expr->meta_type = AMT_TYPE;
-	;
-    break;}
-case 88:
+	}
+    break;
+
+  case 89:
 #line 948 "asn1p_y.y"
-{
+    {
 		yyval.a_expr = asn1p_expr_new(asn1p_lineno);
 		checkmem(yyval.a_expr);
 		yyval.a_expr->Identifier = strdup("...");
@@ -2018,11 +2492,12 @@
 		yyval.a_expr->value = yyvsp[0].a_value;
 		yyval.a_expr->expr_type = A1TC_EXTENSIBLE;
 		yyval.a_expr->meta_type = AMT_TYPE;
-	;
-    break;}
-case 89:
+	}
+    break;
+
+  case 90:
 #line 957 "asn1p_y.y"
-{
+    {
 		yyval.a_expr = asn1p_expr_new(asn1p_lineno);
 		checkmem(yyval.a_expr);
 		yyval.a_expr->Identifier = strdup("...");
@@ -2030,34 +2505,38 @@
 		checkmem(yyval.a_expr->Identifier);
 		yyval.a_expr->expr_type = A1TC_EXTENSIBLE;
 		yyval.a_expr->meta_type = AMT_TYPE;
-	;
-    break;}
-case 90:
+	}
+    break;
+
+  case 91:
 #line 969 "asn1p_y.y"
-{
+    {
 		yyval.a_expr = yyvsp[0].a_expr;
-	;
-    break;}
-case 91:
+	}
+    break;
+
+  case 92:
 #line 972 "asn1p_y.y"
-{
+    {
 		yyval.a_expr = asn1p_expr_new(yylineno);
 		checkmem(yyval.a_expr);
 		yyval.a_expr->expr_type = yyvsp[0].a_type;
 		yyval.a_expr->meta_type = AMT_TYPE;
-	;
-    break;}
-case 92:
+	}
+    break;
+
+  case 93:
 #line 978 "asn1p_y.y"
-{
+    {
 		yyval.a_expr = yyvsp[0].a_expr;
 		checkmem(yyval.a_expr);
 		assert(yyval.a_expr->meta_type);
-	;
-    break;}
-case 93:
+	}
+    break;
+
+  case 94:
 #line 986 "asn1p_y.y"
-{
+    {
 		int ret;
 		yyval.a_expr = yyvsp[-1].a_expr;
 		assert(yyval.a_expr->expr_type == 0);
@@ -2070,42 +2549,46 @@
 		free(yyvsp[-3].tv_str);
 		yyval.a_expr->expr_type = A1TC_PARAMETRIZED;
 		yyval.a_expr->meta_type = AMT_TYPE;
-	;
-    break;}
-case 94:
+	}
+    break;
+
+  case 95:
 #line 1010 "asn1p_y.y"
-{
+    {
 		yyval.a_expr = asn1p_expr_new(yylineno);
 		checkmem(yyval.a_expr);
 		yyval.a_expr->reference = yyvsp[0].a_ref;
 		yyval.a_expr->expr_type = A1TC_REFERENCE;
 		yyval.a_expr->meta_type = AMT_TYPEREF;
-	;
-    break;}
-case 95:
+	}
+    break;
+
+  case 96:
 #line 1017 "asn1p_y.y"
-{
+    {
 		yyval.a_expr = asn1p_expr_new(yylineno);
 		checkmem(yyval.a_expr);
 		yyval.a_expr->reference = yyvsp[0].a_ref;
 		yyval.a_expr->expr_type = A1TC_INSTANCE;
 		yyval.a_expr->meta_type = AMT_TYPE;
-	;
-    break;}
-case 96:
+	}
+    break;
+
+  case 97:
 #line 1032 "asn1p_y.y"
-{
+    {
 		int ret;
 		yyval.a_ref = asn1p_ref_new(yylineno);
 		checkmem(yyval.a_ref);
 		ret = asn1p_ref_add_component(yyval.a_ref, yyvsp[0].tv_str, RLT_UNKNOWN);
 		checkmem(ret == 0);
 		free(yyvsp[0].tv_str);
-	;
-    break;}
-case 97:
+	}
+    break;
+
+  case 98:
 #line 1040 "asn1p_y.y"
-{
+    {
 		int ret;
 		yyval.a_ref = asn1p_ref_new(yylineno);
 		checkmem(yyval.a_ref);
@@ -2114,11 +2597,12 @@
 		ret = asn1p_ref_add_component(yyval.a_ref, yyvsp[0].tv_str, RLT_UNKNOWN);
 		checkmem(ret == 0);
 		free(yyvsp[-2].tv_str);
-	;
-    break;}
-case 98:
+	}
+    break;
+
+  case 99:
 #line 1050 "asn1p_y.y"
-{
+    {
 		int ret;
 		yyval.a_ref = asn1p_ref_new(yylineno);
 		checkmem(yyval.a_ref);
@@ -2127,22 +2611,24 @@
 		ret = asn1p_ref_add_component(yyval.a_ref, yyvsp[0].tv_str, RLT_lowercase);
 		checkmem(ret == 0);
 		free(yyvsp[-2].tv_str);
-	;
-    break;}
-case 99:
+	}
+    break;
+
+  case 100:
 #line 1060 "asn1p_y.y"
-{
+    {
 		int ret;
 		yyval.a_ref = asn1p_ref_new(yylineno);
 		checkmem(yyval.a_ref);
 		ret = asn1p_ref_add_component(yyval.a_ref, yyvsp[0].tv_str, RLT_CAPITALS);
 		free(yyvsp[0].tv_str);
 		checkmem(ret == 0);
-	;
-    break;}
-case 100:
+	}
+    break;
+
+  case 101:
 #line 1068 "asn1p_y.y"
-{
+    {
 		int ret;
 		yyval.a_ref = yyvsp[0].a_ref;
 		ret = asn1p_ref_add_component(yyval.a_ref, yyvsp[-2].tv_str, RLT_CAPITALS);
@@ -2160,101 +2646,114 @@
 				* (yyval.a_ref->comp_count - 1));
 			yyval.a_ref->components[0] = tmp_comp;
 		}
-	;
-    break;}
-case 101:
+	}
+    break;
+
+  case 102:
 #line 1090 "asn1p_y.y"
-{
+    {
 		int ret;
 		yyval.a_ref = asn1p_ref_new(yylineno);
 		checkmem(yyval.a_ref);
 		ret = asn1p_ref_add_component(yyval.a_ref, yyvsp[0].a_refcomp.name, yyvsp[0].a_refcomp.lex_type);
 		free(yyvsp[0].a_refcomp.name);
 		checkmem(ret == 0);
-	;
-    break;}
-case 102:
+	}
+    break;
+
+  case 103:
 #line 1098 "asn1p_y.y"
-{
+    {
 		int ret;
 		yyval.a_ref = yyvsp[-2].a_ref;
 		ret = asn1p_ref_add_component(yyval.a_ref, yyvsp[0].a_refcomp.name, yyvsp[0].a_refcomp.lex_type);
 		free(yyvsp[0].a_refcomp.name);
 		checkmem(ret == 0);
-	;
-    break;}
-case 105:
+	}
+    break;
+
+  case 106:
 #line 1112 "asn1p_y.y"
-{
+    {
 		yyval.a_refcomp.lex_type = RLT_AmpUppercase;
 		yyval.a_refcomp.name = yyvsp[0].tv_str;
-	;
-    break;}
-case 106:
+	}
+    break;
+
+  case 107:
 #line 1117 "asn1p_y.y"
-{
+    {
 		yyval.a_refcomp.lex_type = RLT_Amplowercase;
 		yyval.a_refcomp.name = yyvsp[0].tv_str;
-	;
-    break;}
-case 107:
+	}
+    break;
+
+  case 108:
 #line 1130 "asn1p_y.y"
-{
+    {
 		yyval.a_expr = yyvsp[-2].a_expr;
 		assert(yyval.a_expr->Identifier == NULL);
 		yyval.a_expr->Identifier = yyvsp[-3].tv_str;
 		yyval.a_expr->meta_type = AMT_VALUE;
 		yyval.a_expr->value = yyvsp[0].a_value;
-	;
-    break;}
-case 108:
+	}
+    break;
+
+  case 109:
 #line 1140 "asn1p_y.y"
-{ asn1p_lexer_hack_push_opaque_state(); ;
-    break;}
-case 109:
+    { asn1p_lexer_hack_push_opaque_state(); }
+    break;
+
+  case 110:
 #line 1141 "asn1p_y.y"
-{
+    {
 		yyval.a_value = asn1p_value_frombuf(yyvsp[0].tv_opaque.buf, yyvsp[0].tv_opaque.len, 0);
 		checkmem(yyval.a_value);
 		yyval.a_value->type = ATV_UNPARSED;
-	;
-    break;}
-case 110:
+	}
+    break;
+
+  case 111:
 #line 1146 "asn1p_y.y"
-{
+    {
 		yyval.a_value = _convert_bitstring2binary(yyvsp[0].tv_str, 'B');
 		checkmem(yyval.a_value);
-	;
-    break;}
-case 111:
+	}
+    break;
+
+  case 112:
 #line 1150 "asn1p_y.y"
-{
+    {
 		yyval.a_value = _convert_bitstring2binary(yyvsp[0].tv_str, 'H');
 		checkmem(yyval.a_value);
-	;
-    break;}
-case 112:
+	}
+    break;
+
+  case 113:
 #line 1154 "asn1p_y.y"
-{
+    {
 		yyval.a_value = asn1p_value_frombuf(yyvsp[0].tv_opaque.buf, yyvsp[0].tv_opaque.len, 0);
 		checkmem(yyval.a_value);
-	;
-    break;}
-case 113:
+	}
+    break;
+
+  case 114:
 #line 1158 "asn1p_y.y"
-{
+    {
 		yyval.a_value = yyvsp[0].a_value;
-	;
-    break;}
-case 114:
+	}
+    break;
+
+  case 115:
 #line 1161 "asn1p_y.y"
-{
+    {
 		yyval.a_value = yyvsp[0].a_value;
-	;
-    break;}
-case 115:
+	}
+    break;
+
+  case 116:
 #line 1167 "asn1p_y.y"
-{
+    {
 		asn1p_ref_t *ref;
 		int ret;
 		ref = asn1p_ref_new(yylineno);
@@ -2264,11 +2763,12 @@
 		yyval.a_value = asn1p_value_fromref(ref, 0);
 		checkmem(yyval.a_value);
 		free(yyvsp[0].tv_str);
-	;
-    break;}
-case 116:
+	}
+    break;
+
+  case 117:
 #line 1178 "asn1p_y.y"
-{
+    {
 		asn1p_ref_t *ref;
 		int ret;
 		ref = asn1p_ref_new(yylineno);
@@ -2281,11 +2781,12 @@
 		checkmem(yyval.a_value);
 		free(yyvsp[-2].tv_str);
 		free(yyvsp[0].tv_str);
-	;
-    break;}
-case 117:
+	}
+    break;
+
+  case 118:
 #line 1195 "asn1p_y.y"
-{
+    {
 		yyval.tv_opaque.len = yyvsp[0].tv_opaque.len + 2;
 		yyval.tv_opaque.buf = malloc(yyval.tv_opaque.len + 1);
 		checkmem(yyval.tv_opaque.buf);
@@ -2294,11 +2795,12 @@
 		memcpy(yyval.tv_opaque.buf + 2, yyvsp[0].tv_opaque.buf, yyvsp[0].tv_opaque.len);
 		yyval.tv_opaque.buf[yyval.tv_opaque.len] = '\0';
 		free(yyvsp[0].tv_opaque.buf);
-	;
-    break;}
-case 118:
+	}
+    break;
+
+  case 119:
 #line 1205 "asn1p_y.y"
-{
+    {
 		int newsize = yyvsp[-1].tv_opaque.len + yyvsp[0].tv_opaque.len;
 		char *p = malloc(newsize + 1);
 		checkmem(p);
@@ -2309,80 +2811,97 @@
 		free(yyvsp[0].tv_opaque.buf);
 		yyval.tv_opaque.buf = p;
 		yyval.tv_opaque.len = newsize;
-	;
-    break;}
-case 119:
+	}
+    break;
+
+  case 120:
 #line 1220 "asn1p_y.y"
-{ yyval.a_type = ASN_BASIC_BOOLEAN; ;
-    break;}
-case 120:
+    { yyval.a_type = ASN_BASIC_BOOLEAN; }
+    break;
+
+  case 121:
 #line 1221 "asn1p_y.y"
-{ yyval.a_type = ASN_BASIC_NULL; ;
-    break;}
-case 121:
+    { yyval.a_type = ASN_BASIC_NULL; }
+    break;
+
+  case 122:
 #line 1222 "asn1p_y.y"
-{ yyval.a_type = ASN_BASIC_REAL; ;
-    break;}
-case 122:
+    { yyval.a_type = ASN_BASIC_REAL; }
+    break;
+
+  case 123:
 #line 1223 "asn1p_y.y"
-{ yyval.a_type = yyvsp[0].a_type; ;
-    break;}
-case 123:
+    { yyval.a_type = yyvsp[0].a_type; }
+    break;
+
+  case 124:
 #line 1224 "asn1p_y.y"
-{ yyval.a_type = ASN_BASIC_OCTET_STRING; ;
-    break;}
-case 124:
+    { yyval.a_type = ASN_BASIC_OCTET_STRING; }
+    break;
+
+  case 125:
 #line 1225 "asn1p_y.y"
-{ yyval.a_type = ASN_BASIC_OBJECT_IDENTIFIER; ;
-    break;}
-case 125:
+    { yyval.a_type = ASN_BASIC_OBJECT_IDENTIFIER; }
+    break;
+
+  case 126:
 #line 1226 "asn1p_y.y"
-{ yyval.a_type = ASN_BASIC_RELATIVE_OID; ;
-    break;}
-case 126:
+    { yyval.a_type = ASN_BASIC_RELATIVE_OID; }
+    break;
+
+  case 127:
 #line 1227 "asn1p_y.y"
-{ yyval.a_type = ASN_BASIC_EXTERNAL; ;
-    break;}
-case 127:
+    { yyval.a_type = ASN_BASIC_EXTERNAL; }
+    break;
+
+  case 128:
 #line 1228 "asn1p_y.y"
-{ yyval.a_type = ASN_BASIC_EMBEDDED_PDV; ;
-    break;}
-case 128:
+    { yyval.a_type = ASN_BASIC_EMBEDDED_PDV; }
+    break;
+
+  case 129:
 #line 1229 "asn1p_y.y"
-{ yyval.a_type = ASN_BASIC_CHARACTER_STRING; ;
-    break;}
-case 129:
+    { yyval.a_type = ASN_BASIC_CHARACTER_STRING; }
+    break;
+
+  case 130:
 #line 1230 "asn1p_y.y"
-{ yyval.a_type = ASN_BASIC_UTCTime; ;
-    break;}
-case 130:
+    { yyval.a_type = ASN_BASIC_UTCTime; }
+    break;
+
+  case 131:
 #line 1231 "asn1p_y.y"
-{ yyval.a_type = ASN_BASIC_GeneralizedTime; ;
-    break;}
-case 131:
+    { yyval.a_type = ASN_BASIC_GeneralizedTime; }
+    break;
+
+  case 132:
 #line 1238 "asn1p_y.y"
-{ yyval.a_type = ASN_BASIC_INTEGER; ;
-    break;}
-case 132:
+    { yyval.a_type = ASN_BASIC_INTEGER; }
+    break;
+
+  case 133:
 #line 1239 "asn1p_y.y"
-{ yyval.a_type = ASN_BASIC_ENUMERATED; ;
-    break;}
-case 133:
+    { yyval.a_type = ASN_BASIC_ENUMERATED; }
+    break;
+
+  case 134:
 #line 1240 "asn1p_y.y"
-{ yyval.a_type = ASN_BASIC_BIT_STRING; ;
-    break;}
-case 134:
+    { yyval.a_type = ASN_BASIC_BIT_STRING; }
+    break;
+
+  case 135:
 #line 1244 "asn1p_y.y"
-{
+    {
 		yyval.a_expr = asn1p_expr_new(asn1p_lineno);
 		checkmem(yyval.a_expr);
 		yyval.a_expr->expr_type = yyvsp[0].a_type;
 		yyval.a_expr->meta_type = AMT_TYPE;
-	;
-    break;}
-case 135:
+	}
+    break;
+
+  case 136:
 #line 1250 "asn1p_y.y"
-{
+    {
 		if(yyvsp[0].a_expr) {
 			yyval.a_expr = yyvsp[0].a_expr;
 		} else {
@@ -2391,137 +2910,158 @@
 		}
 		yyval.a_expr->expr_type = yyvsp[-1].a_type;
 		yyval.a_expr->meta_type = AMT_TYPE;
-	;
-    break;}
-case 136:
+	}
+    break;
+
+  case 137:
 #line 1263 "asn1p_y.y"
-{ yyval.a_type = ASN_STRING_BMPString; ;
-    break;}
-case 137:
+    { yyval.a_type = ASN_STRING_BMPString; }
+    break;
+
+  case 138:
 #line 1264 "asn1p_y.y"
-{
+    {
 		yyval.a_type = ASN_STRING_GeneralString;
 		return yyerror("GeneralString is not supported");
-	;
-    break;}
-case 138:
+	}
+    break;
+
+  case 139:
 #line 1268 "asn1p_y.y"
-{
+    {
 		yyval.a_type = ASN_STRING_GraphicString;
 		return yyerror("GraphicString is not supported");
-	;
-    break;}
-case 139:
+	}
+    break;
+
+  case 140:
 #line 1272 "asn1p_y.y"
-{ yyval.a_type = ASN_STRING_IA5String; ;
-    break;}
-case 140:
+    { yyval.a_type = ASN_STRING_IA5String; }
+    break;
+
+  case 141:
 #line 1273 "asn1p_y.y"
-{ yyval.a_type = ASN_STRING_ISO646String; ;
-    break;}
-case 141:
+    { yyval.a_type = ASN_STRING_ISO646String; }
+    break;
+
+  case 142:
 #line 1274 "asn1p_y.y"
-{ yyval.a_type = ASN_STRING_NumericString; ;
-    break;}
-case 142:
+    { yyval.a_type = ASN_STRING_NumericString; }
+    break;
+
+  case 143:
 #line 1275 "asn1p_y.y"
-{ yyval.a_type = ASN_STRING_PrintableString; ;
-    break;}
-case 143:
+    { yyval.a_type = ASN_STRING_PrintableString; }
+    break;
+
+  case 144:
 #line 1276 "asn1p_y.y"
-{
+    {
 		yyval.a_type = ASN_STRING_T61String;
 		return yyerror("T61String not implemented yet");
-	;
-    break;}
-case 144:
+	}
+    break;
+
+  case 145:
 #line 1280 "asn1p_y.y"
-{ yyval.a_type = ASN_STRING_TeletexString; ;
-    break;}
-case 145:
+    { yyval.a_type = ASN_STRING_TeletexString; }
+    break;
+
+  case 146:
 #line 1281 "asn1p_y.y"
-{ yyval.a_type = ASN_STRING_UniversalString; ;
-    break;}
-case 146:
+    { yyval.a_type = ASN_STRING_UniversalString; }
+    break;
+
+  case 147:
 #line 1282 "asn1p_y.y"
-{ yyval.a_type = ASN_STRING_UTF8String; ;
-    break;}
-case 147:
+    { yyval.a_type = ASN_STRING_UTF8String; }
+    break;
+
+  case 148:
 #line 1283 "asn1p_y.y"
-{
+    {
 		yyval.a_type = ASN_STRING_VideotexString;
 		return yyerror("VideotexString is no longer supported");
-	;
-    break;}
-case 148:
+	}
+    break;
+
+  case 149:
 #line 1287 "asn1p_y.y"
-{ yyval.a_type = ASN_STRING_VisibleString; ;
-    break;}
-case 149:
+    { yyval.a_type = ASN_STRING_VisibleString; }
+    break;
+
+  case 150:
 #line 1288 "asn1p_y.y"
-{ yyval.a_type = ASN_STRING_ObjectDescriptor; ;
-    break;}
-case 150:
+    { yyval.a_type = ASN_STRING_ObjectDescriptor; }
+    break;
+
+  case 151:
 #line 1292 "asn1p_y.y"
-{
+    {
 		yyval.a_expr = yyvsp[-1].a_expr;
 		assert(yyval.a_expr->expr_type == A1TC_INVALID);
 		yyval.a_expr->expr_type = ASN_CONSTR_CHOICE;
 		yyval.a_expr->meta_type = AMT_TYPE;
-	;
-    break;}
-case 151:
+	}
+    break;
+
+  case 152:
 #line 1298 "asn1p_y.y"
-{
+    {
 		yyval.a_expr = yyvsp[-1].a_expr;
 		assert(yyval.a_expr->expr_type == A1TC_INVALID);
 		yyval.a_expr->expr_type = ASN_CONSTR_SEQUENCE;
 		yyval.a_expr->meta_type = AMT_TYPE;
-	;
-    break;}
-case 152:
+	}
+    break;
+
+  case 153:
 #line 1304 "asn1p_y.y"
-{
+    {
 		yyval.a_expr = yyvsp[-1].a_expr;
 		assert(yyval.a_expr->expr_type == A1TC_INVALID);
 		yyval.a_expr->expr_type = ASN_CONSTR_SET;
 		yyval.a_expr->meta_type = AMT_TYPE;
-	;
-    break;}
-case 153:
+	}
+    break;
+
+  case 154:
 #line 1310 "asn1p_y.y"
-{
+    {
 		yyval.a_expr = asn1p_expr_new(asn1p_lineno);
 		checkmem(yyval.a_expr);
 		yyval.a_expr->constraints = yyvsp[-2].a_constr;
 		yyval.a_expr->expr_type = ASN_CONSTR_SEQUENCE_OF;
 		yyval.a_expr->meta_type = AMT_TYPE;
 		TQ_ADD(&(yyval.a_expr->members), yyvsp[0].a_expr, next);
-	;
-    break;}
-case 154:
+	}
+    break;
+
+  case 155:
 #line 1318 "asn1p_y.y"
-{
+    {
 		yyval.a_expr = asn1p_expr_new(asn1p_lineno);
 		checkmem(yyval.a_expr);
 		yyval.a_expr->constraints = yyvsp[-2].a_constr;
 		yyval.a_expr->expr_type = ASN_CONSTR_SET_OF;
 		yyval.a_expr->meta_type = AMT_TYPE;
 		TQ_ADD(&(yyval.a_expr->members), yyvsp[0].a_expr, next);
-	;
-    break;}
-case 155:
+	}
+    break;
+
+  case 156:
 #line 1326 "asn1p_y.y"
-{
+    {
 		yyval.a_expr = asn1p_expr_new(asn1p_lineno);
 		checkmem(yyval.a_expr);
 		yyval.a_expr->expr_type = ASN_CONSTR_ANY;
 		yyval.a_expr->meta_type = AMT_TYPE;
-	;
-    break;}
-case 156:
+	}
+    break;
+
+  case 157:
 #line 1332 "asn1p_y.y"
-{
+    {
 		int ret;
 		yyval.a_expr = asn1p_expr_new(asn1p_lineno);
 		checkmem(yyval.a_expr);
@@ -2531,19 +3071,22 @@
 		checkmem(ret == 0);
 		yyval.a_expr->expr_type = ASN_CONSTR_ANY;
 		yyval.a_expr->meta_type = AMT_TYPE;
-	;
-    break;}
-case 157:
+	}
+    break;
+
+  case 158:
 #line 1349 "asn1p_y.y"
-{ yyval.a_constr = 0; ;
-    break;}
-case 158:
+    { yyval.a_constr = 0; }
+    break;
+
+  case 159:
 #line 1350 "asn1p_y.y"
-{ yyval.a_constr = yyvsp[0].a_constr; ;
-    break;}
-case 164:
+    { yyval.a_constr = yyvsp[0].a_constr; }
+    break;
+
+  case 165:
 #line 1358 "asn1p_y.y"
-{
+    {
 		/*
 		 * This is a special case, for compatibility purposes.
 		 * It goes without parenthesis.
@@ -2554,184 +3097,212 @@
 		yyval.a_constr->type = ACT_CT_SIZE;
 		ret = asn1p_constraint_insert(yyval.a_constr, yyvsp[-1].a_constr);
 		checkmem(ret == 0);
-	;
-    break;}
-case 165:
+	}
+    break;
+
+  case 166:
 #line 1370 "asn1p_y.y"
-{
+    {
 		CONSTRAINT_INSERT(yyval.a_constr, ACT_CA_SET, yyvsp[0].a_constr, 0);
-	;
-    break;}
-case 166:
+	}
+    break;
+
+  case 167:
 #line 1373 "asn1p_y.y"
-{
+    {
 		CONSTRAINT_INSERT(yyval.a_constr, ACT_CA_SET, yyvsp[-1].a_constr, yyvsp[0].a_constr);
-	;
-    break;}
-case 167:
+	}
+    break;
+
+  case 168:
 #line 1379 "asn1p_y.y"
-{
+    {
 		yyval.a_constr = yyvsp[-1].a_constr;
-	;
-    break;}
-case 168:
+	}
+    break;
+
+  case 169:
 #line 1385 "asn1p_y.y"
-{
+    {
 		yyval.a_constr = yyvsp[0].a_constr;
-	;
-    break;}
-case 169:
+	}
+    break;
+
+  case 170:
 #line 1388 "asn1p_y.y"
-{
+    {
 		asn1p_constraint_t *ct;
 		ct = asn1p_constraint_new(yylineno);
 		checkmem(ct);
 		ct->type = ACT_EL_EXT;
 		CONSTRAINT_INSERT(yyval.a_constr, ACT_CA_CSV, yyvsp[-2].a_constr, ct);
-	;
-    break;}
-case 170:
+	}
+    break;
+
+  case 171:
 #line 1395 "asn1p_y.y"
-{
+    {
 		asn1p_constraint_t *ct;
 		ct = asn1p_constraint_new(yylineno);
 		checkmem(ct);
 		ct->type = ACT_EL_EXT;
 		CONSTRAINT_INSERT(yyval.a_constr, ACT_CA_CSV, yyvsp[-4].a_constr, ct);
 		CONSTRAINT_INSERT(yyval.a_constr, ACT_CA_CSV, yyvsp[-4].a_constr, yyvsp[0].a_constr);
-	;
-    break;}
-case 171:
+	}
+    break;
+
+  case 172:
 #line 1403 "asn1p_y.y"
-{
+    {
 		yyval.a_constr = asn1p_constraint_new(yylineno);
 		checkmem(yyval.a_constr);
 		yyval.a_constr->type = ACT_EL_EXT;
-	;
-    break;}
-case 172:
+	}
+    break;
+
+  case 173:
 #line 1408 "asn1p_y.y"
-{
+    {
 		asn1p_constraint_t *ct;
 		ct = asn1p_constraint_new(yylineno);
 		checkmem(ct);
 		ct->type = ACT_EL_EXT;
 		CONSTRAINT_INSERT(yyval.a_constr, ACT_CA_CSV, ct, yyvsp[0].a_constr);
-	;
-    break;}
-case 173:
+	}
+    break;
+
+  case 174:
 #line 1417 "asn1p_y.y"
-{ yyval.a_constr = yyvsp[0].a_constr; ;
-    break;}
-case 174:
+    { yyval.a_constr = yyvsp[0].a_constr; }
+    break;
+
+  case 175:
 #line 1420 "asn1p_y.y"
-{ yyval.a_constr = yyvsp[0].a_constr; ;
-    break;}
-case 175:
+    { yyval.a_constr = yyvsp[0].a_constr; }
+    break;
+
+  case 176:
 #line 1421 "asn1p_y.y"
-{
+    {
 		CONSTRAINT_INSERT(yyval.a_constr, ACT_CA_UNI, yyvsp[-2].a_constr, yyvsp[0].a_constr);
-	;
-    break;}
-case 176:
+	}
+    break;
+
+  case 177:
 #line 1427 "asn1p_y.y"
-{ yyval.a_constr = yyvsp[0].a_constr; ;
-    break;}
-case 177:
+    { yyval.a_constr = yyvsp[0].a_constr; }
+    break;
+
+  case 178:
 #line 1429 "asn1p_y.y"
-{
+    {
 		CONSTRAINT_INSERT(yyval.a_constr, ACT_CA_INT, yyvsp[-2].a_constr, yyvsp[0].a_constr);
-	;
-    break;}
-case 178:
+	}
+    break;
+
+  case 179:
 #line 1435 "asn1p_y.y"
-{ yyval.a_constr = yyvsp[0].a_constr; ;
-    break;}
-case 179:
+    { yyval.a_constr = yyvsp[0].a_constr; }
+    break;
+
+  case 180:
 #line 1436 "asn1p_y.y"
-{
+    {
 		CONSTRAINT_INSERT(yyval.a_constr, ACT_CA_EXC, yyvsp[-2].a_constr, yyvsp[0].a_constr);
-	;
-    break;}
-case 180:
+	}
+    break;
+
+  case 181:
 #line 1442 "asn1p_y.y"
-{
+    {
 		yyval.a_constr = asn1p_constraint_new(yylineno);
 		checkmem(yyval.a_constr);
 		yyval.a_constr->type = ACT_EL_VALUE;
 		yyval.a_constr->value = yyvsp[0].a_value;
-	;
-    break;}
-case 181:
+	}
+    break;
+
+  case 182:
 #line 1448 "asn1p_y.y"
-{
+    {
 		yyval.a_constr = asn1p_constraint_new(yylineno);
 		checkmem(yyval.a_constr);
 		yyval.a_constr->type = yyvsp[-1].a_ctype;
 		yyval.a_constr->range_start = yyvsp[-2].a_value;
 		yyval.a_constr->range_stop = yyvsp[0].a_value;
-	;
-    break;}
-case 182:
+	}
+    break;
+
+  case 183:
 #line 1455 "asn1p_y.y"
-{
+    {
 		int ret;
 		yyval.a_constr = asn1p_constraint_new(yylineno);
 		checkmem(yyval.a_constr);
 		yyval.a_constr->type = yyvsp[-3].a_ctype;
 		ret = asn1p_constraint_insert(yyval.a_constr, yyvsp[-1].a_constr);
 		checkmem(ret == 0);
-	;
-    break;}
-case 183:
+	}
+    break;
+
+  case 184:
 #line 1463 "asn1p_y.y"
-{
+    {
 		yyval.a_constr = yyvsp[0].a_constr;
-	;
-    break;}
-case 184:
+	}
+    break;
+
+  case 185:
 #line 1466 "asn1p_y.y"
-{
+    {
 		yyval.a_constr = yyvsp[0].a_constr;
-	;
-    break;}
-case 185:
+	}
+    break;
+
+  case 186:
 #line 1472 "asn1p_y.y"
-{ yyval.a_ctype = ACT_EL_RANGE; ;
-    break;}
-case 186:
+    { yyval.a_ctype = ACT_EL_RANGE; }
+    break;
+
+  case 187:
 #line 1473 "asn1p_y.y"
-{ yyval.a_ctype = ACT_EL_RLRANGE; ;
-    break;}
-case 187:
+    { yyval.a_ctype = ACT_EL_RLRANGE; }
+    break;
+
+  case 188:
 #line 1474 "asn1p_y.y"
-{ yyval.a_ctype = ACT_EL_LLRANGE; ;
-    break;}
-case 188:
+    { yyval.a_ctype = ACT_EL_LLRANGE; }
+    break;
+
+  case 189:
 #line 1475 "asn1p_y.y"
-{ yyval.a_ctype = ACT_EL_ULRANGE; ;
-    break;}
-case 189:
+    { yyval.a_ctype = ACT_EL_ULRANGE; }
+    break;
+
+  case 190:
 #line 1479 "asn1p_y.y"
-{
+    {
 		yyval.a_ctype = ACT_CT_SIZE;
-	;
-    break;}
-case 190:
+	}
+    break;
+
+  case 191:
 #line 1482 "asn1p_y.y"
-{
+    {
 		yyval.a_ctype = ACT_CT_FROM;
-	;
-    break;}
-case 191:
+	}
+    break;
+
+  case 192:
 #line 1488 "asn1p_y.y"
-{
+    {
 		yyval.a_value = yyvsp[0].a_value;
-	;
-    break;}
-case 192:
+	}
+    break;
+
+  case 193:
 #line 1491 "asn1p_y.y"
-{
+    {
 		asn1p_ref_t *ref;
 		int ret;
 		ref = asn1p_ref_new(yylineno);
@@ -2741,124 +3312,142 @@
 		yyval.a_value = asn1p_value_fromref(ref, 0);
 		checkmem(yyval.a_value);
 		free(yyvsp[0].tv_str);
-	;
-    break;}
-case 193:
+	}
+    break;
+
+  case 194:
 #line 1502 "asn1p_y.y"
-{
+    {
 		yyval.a_value = asn1p_value_frombuf(yyvsp[0].tv_opaque.buf, yyvsp[0].tv_opaque.len, 0);
 		checkmem(yyval.a_value);
-	;
-    break;}
-case 194:
+	}
+    break;
+
+  case 195:
 #line 1506 "asn1p_y.y"
-{
+    {
 		yyval.a_value = asn1p_value_fromint(123);
 		checkmem(yyval.a_value);
 		yyval.a_value->type = ATV_MIN;
-	;
-    break;}
-case 195:
+	}
+    break;
+
+  case 196:
 #line 1511 "asn1p_y.y"
-{
+    {
 		yyval.a_value = asn1p_value_fromint(321);
 		checkmem(yyval.a_value);
 		yyval.a_value->type = ATV_MAX;
-	;
-    break;}
-case 196:
+	}
+    break;
+
+  case 197:
 #line 1516 "asn1p_y.y"
-{
+    {
 		yyval.a_value = asn1p_value_fromint(0);
 		checkmem(yyval.a_value);
 		yyval.a_value->type = ATV_FALSE;
-	;
-    break;}
-case 197:
+	}
+    break;
+
+  case 198:
 #line 1521 "asn1p_y.y"
-{
+    {
 		yyval.a_value = asn1p_value_fromint(1);
 		checkmem(yyval.a_value);
 		yyval.a_value->type = ATV_TRUE;
-	;
-    break;}
-case 198:
+	}
+    break;
+
+  case 199:
 #line 1529 "asn1p_y.y"
-{
+    {
 		CONSTRAINT_INSERT(yyval.a_constr, ACT_CT_WCOMPS, yyvsp[-1].a_constr, 0);
-	;
-    break;}
-case 199:
+	}
+    break;
+
+  case 200:
 #line 1535 "asn1p_y.y"
-{
+    {
 		yyval.a_constr = yyvsp[0].a_constr;
-	;
-    break;}
-case 200:
+	}
+    break;
+
+  case 201:
 #line 1538 "asn1p_y.y"
-{
+    {
 		CONSTRAINT_INSERT(yyval.a_constr, ACT_CT_WCOMPS, yyvsp[-2].a_constr, yyvsp[0].a_constr);
-	;
-    break;}
-case 201:
+	}
+    break;
+
+  case 202:
 #line 1544 "asn1p_y.y"
-{
+    {
 		yyval.a_constr = asn1p_constraint_new(yylineno);
 		checkmem(yyval.a_constr);
 		yyval.a_constr->type = ACT_EL_EXT;
-	;
-    break;}
-case 202:
+	}
+    break;
+
+  case 203:
 #line 1549 "asn1p_y.y"
-{
+    {
 		yyval.a_constr = asn1p_constraint_new(yylineno);
 		checkmem(yyval.a_constr);
 		yyval.a_constr->type = ACT_EL_VALUE;
 		yyval.a_constr->value = asn1p_value_frombuf(yyvsp[-2].tv_str, strlen(yyvsp[-2].tv_str), 0);
 		yyval.a_constr->presence = yyvsp[0].a_pres;
-	;
-    break;}
-case 203:
+	}
+    break;
+
+  case 204:
 #line 1562 "asn1p_y.y"
-{ yyval.a_pres = ACPRES_DEFAULT; ;
-    break;}
-case 204:
+    { yyval.a_pres = ACPRES_DEFAULT; }
+    break;
+
+  case 205:
 #line 1563 "asn1p_y.y"
-{ yyval.a_pres = yyvsp[0].a_pres; ;
-    break;}
-case 205:
+    { yyval.a_pres = yyvsp[0].a_pres; }
+    break;
+
+  case 206:
 #line 1567 "asn1p_y.y"
-{
+    {
 		yyval.a_pres = ACPRES_PRESENT;
-	;
-    break;}
-case 206:
+	}
+    break;
+
+  case 207:
 #line 1570 "asn1p_y.y"
-{
+    {
 		yyval.a_pres = ACPRES_ABSENT;
-	;
-    break;}
-case 207:
+	}
+    break;
+
+  case 208:
 #line 1573 "asn1p_y.y"
-{
+    {
 		yyval.a_pres = ACPRES_OPTIONAL;
-	;
-    break;}
-case 208:
+	}
+    break;
+
+  case 209:
 #line 1579 "asn1p_y.y"
-{
+    {
 		yyval.a_constr = yyvsp[0].a_constr;
-	;
-    break;}
-case 209:
+	}
+    break;
+
+  case 210:
 #line 1582 "asn1p_y.y"
-{
+    {
 		yyval.a_constr = yyvsp[0].a_constr;
-	;
-    break;}
-case 210:
+	}
+    break;
+
+  case 211:
 #line 1591 "asn1p_y.y"
-{
+    {
 		asn1p_ref_t *ref = asn1p_ref_new(yylineno);
 		asn1p_constraint_t *ct;
 		int ret;
@@ -2869,37 +3458,41 @@
 		ct->type = ACT_EL_VALUE;
 		ct->value = asn1p_value_fromref(ref, 0);
 		CONSTRAINT_INSERT(yyval.a_constr, ACT_CA_CRC, ct, 0);
-	;
-    break;}
-case 211:
+	}
+    break;
+
+  case 212:
 #line 1606 "asn1p_y.y"
-{
+    {
 		CONSTRAINT_INSERT(yyval.a_constr, ACT_CA_CRC, yyvsp[-3].a_constr, yyvsp[-1].a_constr);
-	;
-    break;}
-case 212:
+	}
+    break;
+
+  case 213:
 #line 1612 "asn1p_y.y"
-{
+    {
 		yyval.a_constr = asn1p_constraint_new(yylineno);
 		checkmem(yyval.a_constr);
 		yyval.a_constr->type = ACT_EL_VALUE;
 		yyval.a_constr->value = asn1p_value_fromref(yyvsp[0].a_ref, 0);
-	;
-    break;}
-case 213:
+	}
+    break;
+
+  case 214:
 #line 1618 "asn1p_y.y"
-{
+    {
 		asn1p_constraint_t *ct;
 		ct = asn1p_constraint_new(yylineno);
 		checkmem(ct);
 		ct->type = ACT_EL_VALUE;
 		ct->value = asn1p_value_fromref(yyvsp[0].a_ref, 0);
 		CONSTRAINT_INSERT(yyval.a_constr, ACT_CA_CSV, yyvsp[-2].a_constr, ct);
-	;
-    break;}
-case 214:
+	}
+    break;
+
+  case 215:
 #line 1632 "asn1p_y.y"
-{
+    {
 		char *p = malloc(strlen(yyvsp[0].tv_str) + 2);
 		int ret;
 		*p = '@';
@@ -2909,11 +3502,12 @@
 		checkmem(ret == 0);
 		free(p);
 		free(yyvsp[0].tv_str);
-	;
-    break;}
-case 215:
+	}
+    break;
+
+  case 216:
 #line 1643 "asn1p_y.y"
-{
+    {
 		char *p = malloc(strlen(yyvsp[0].tv_str) + 3);
 		int ret;
 		p[0] = '@';
@@ -2924,17 +3518,19 @@
 		checkmem(ret == 0);
 		free(p);
 		free(yyvsp[0].tv_str);
-	;
-    break;}
-case 216:
+	}
+    break;
+
+  case 217:
 #line 1659 "asn1p_y.y"
-{
+    {
 		yyval.tv_str = yyvsp[0].tv_str;
-	;
-    break;}
-case 217:
+	}
+    break;
+
+  case 218:
 #line 1662 "asn1p_y.y"
-{
+    {
 		int l1 = strlen(yyvsp[-2].tv_str);
 		int l3 = strlen(yyvsp[0].tv_str);
 		yyval.tv_str = malloc(l1 + 1 + l3 + 1);
@@ -2942,436 +3538,468 @@
 		yyval.tv_str[l1] = '.';
 		memcpy(yyval.tv_str + l1 + 1, yyvsp[0].tv_str, l3);
 		yyval.tv_str[l1 + 1 + l3] = '\0';
-	;
-    break;}
-case 218:
+	}
+    break;
+
+  case 219:
 #line 1680 "asn1p_y.y"
-{ yyval.a_marker = EM_NOMARK; ;
-    break;}
-case 219:
+    { yyval.a_marker = EM_NOMARK; }
+    break;
+
+  case 220:
 #line 1681 "asn1p_y.y"
-{ yyval.a_marker = yyvsp[0].a_marker; ;
-    break;}
-case 220:
+    { yyval.a_marker = yyvsp[0].a_marker; }
+    break;
+
+  case 221:
 #line 1685 "asn1p_y.y"
-{
+    {
 		yyval.a_marker = EM_OPTIONAL;
-	;
-    break;}
-case 221:
+	}
+    break;
+
+  case 222:
 #line 1688 "asn1p_y.y"
-{
+    {
 		yyval.a_marker = EM_DEFAULT;
 		/* FIXME: store DefaultValue somewhere */
-	;
-    break;}
-case 222:
+	}
+    break;
+
+  case 223:
 #line 1695 "asn1p_y.y"
-{
-	;
-    break;}
-case 223:
+    {
+	}
+    break;
+
+  case 224:
 #line 1697 "asn1p_y.y"
-{
-	;
-    break;}
-case 224:
+    {
+	}
+    break;
+
+  case 225:
 #line 1699 "asn1p_y.y"
-{ asn1p_lexer_hack_push_opaque_state(); ;
-    break;}
-case 225:
+    { asn1p_lexer_hack_push_opaque_state(); }
+    break;
+
+  case 226:
 #line 1699 "asn1p_y.y"
-{
-	;
-    break;}
-case 226:
+    {
+	}
+    break;
+
+  case 227:
 #line 1720 "asn1p_y.y"
-{
+    {
 		yyval.a_expr = asn1p_expr_new(asn1p_lineno);
 		checkmem(yyval.a_expr);
-	;
-    break;}
-case 227:
+	}
+    break;
+
+  case 228:
 #line 1724 "asn1p_y.y"
-{
+    {
 		yyval.a_expr = yyvsp[-1].a_expr;
-	;
-    break;}
-case 228:
+	}
+    break;
+
+  case 229:
 #line 1730 "asn1p_y.y"
-{
+    {
 		yyval.a_expr = asn1p_expr_new(asn1p_lineno);
 		checkmem(yyval.a_expr);
 		TQ_ADD(&(yyval.a_expr->members), yyvsp[0].a_expr, next);
-	;
-    break;}
-case 229:
+	}
+    break;
+
+  case 230:
 #line 1735 "asn1p_y.y"
-{
+    {
 		yyval.a_expr = yyvsp[-2].a_expr;
 		TQ_ADD(&(yyval.a_expr->members), yyvsp[0].a_expr, next);
-	;
-    break;}
-case 230:
+	}
+    break;
+
+  case 231:
 #line 1742 "asn1p_y.y"
-{
+    {
 		yyval.a_expr = asn1p_expr_new(asn1p_lineno);
 		checkmem(yyval.a_expr);
 		yyval.a_expr->expr_type = A1TC_UNIVERVAL;
 		yyval.a_expr->meta_type = AMT_VALUE;
 		yyval.a_expr->Identifier = yyvsp[0].tv_str;
-	;
-    break;}
-case 231:
+	}
+    break;
+
+  case 232:
 #line 1749 "asn1p_y.y"
-{
+    {
 		yyval.a_expr = asn1p_expr_new(asn1p_lineno);
 		checkmem(yyval.a_expr);
 		yyval.a_expr->expr_type = A1TC_UNIVERVAL;
 		yyval.a_expr->meta_type = AMT_VALUE;
 		yyval.a_expr->Identifier = yyvsp[-3].tv_str;
 		yyval.a_expr->value = yyvsp[-1].a_value;
-	;
-    break;}
-case 232:
+	}
+    break;
+
+  case 233:
 #line 1757 "asn1p_y.y"
-{
+    {
 		yyval.a_expr = asn1p_expr_new(asn1p_lineno);
 		checkmem(yyval.a_expr);
 		yyval.a_expr->expr_type = A1TC_UNIVERVAL;
 		yyval.a_expr->meta_type = AMT_VALUE;
 		yyval.a_expr->Identifier = yyvsp[-3].tv_str;
 		yyval.a_expr->value = yyvsp[-1].a_value;
-	;
-    break;}
-case 233:
+	}
+    break;
+
+  case 234:
 #line 1765 "asn1p_y.y"
-{
+    {
 		yyval.a_expr = asn1p_expr_new(asn1p_lineno);
 		checkmem(yyval.a_expr);
 		yyval.a_expr->expr_type = A1TC_UNIVERVAL;
 		yyval.a_expr->meta_type = AMT_VALUE;
 		yyval.a_expr->value = yyvsp[0].a_value;
-	;
-    break;}
-case 234:
+	}
+    break;
+
+  case 235:
 #line 1772 "asn1p_y.y"
-{
+    {
 		yyval.a_expr = asn1p_expr_new(asn1p_lineno);
 		checkmem(yyval.a_expr);
 		yyval.a_expr->Identifier = strdup("...");
 		checkmem(yyval.a_expr->Identifier);
 		yyval.a_expr->expr_type = A1TC_EXTENSIBLE;
 		yyval.a_expr->meta_type = AMT_VALUE;
-	;
-    break;}
-case 235:
+	}
+    break;
+
+  case 236:
 #line 1783 "asn1p_y.y"
-{
+    {
 		yyval.a_value = asn1p_value_fromint(yyvsp[0].a_int);
 		checkmem(yyval.a_value);
-	;
-    break;}
-case 236:
+	}
+    break;
+
+  case 237:
 #line 1787 "asn1p_y.y"
-{
+    {
 		yyval.a_value = asn1p_value_fromint(yyvsp[0].a_int);
 		checkmem(yyval.a_value);
-	;
-    break;}
-case 237:
+	}
+    break;
+
+  case 238:
 #line 1818 "asn1p_y.y"
-{ memset(&yyval.a_tag, 0, sizeof(yyval.a_tag)); ;
-    break;}
-case 238:
+    { memset(&yyval.a_tag, 0, sizeof(yyval.a_tag)); }
+    break;
+
+  case 239:
 #line 1819 "asn1p_y.y"
-{ yyval.a_tag = yyvsp[0].a_tag; ;
-    break;}
-case 239:
+    { yyval.a_tag = yyvsp[0].a_tag; }
+    break;
+
+  case 240:
 #line 1823 "asn1p_y.y"
-{
+    {
 		yyval.a_tag = yyvsp[0].a_tag;
 		yyval.a_tag.tag_mode = TM_DEFAULT;
-	;
-    break;}
-case 240:
+	}
+    break;
+
+  case 241:
 #line 1827 "asn1p_y.y"
-{
+    {
 		yyval.a_tag = yyvsp[-1].a_tag;
 		yyval.a_tag.tag_mode = TM_IMPLICIT;
-	;
-    break;}
-case 241:
+	}
+    break;
+
+  case 242:
 #line 1831 "asn1p_y.y"
-{
+    {
 		yyval.a_tag = yyvsp[-1].a_tag;
 		yyval.a_tag.tag_mode = TM_EXPLICIT;
-	;
-    break;}
-case 242:
+	}
+    break;
+
+  case 243:
 #line 1838 "asn1p_y.y"
-{
+    {
 		checkmem(yyvsp[0].tv_str);
 		yyval.tv_str = yyvsp[0].tv_str;
-	;
-    break;}
-case 243:
+	}
+    break;
+
+  case 244:
 #line 1842 "asn1p_y.y"
-{
+    {
 		checkmem(yyvsp[0].tv_str);
 		yyval.tv_str = yyvsp[0].tv_str;
-	;
-    break;}
-case 244:
+	}
+    break;
+
+  case 245:
 #line 1849 "asn1p_y.y"
-{
+    {
 		checkmem(yyvsp[0].tv_str);
 		yyval.tv_str = yyvsp[0].tv_str;
-	;
-    break;}
-case 245:
+	}
+    break;
+
+  case 246:
 #line 1856 "asn1p_y.y"
-{
+    {
 		checkmem(yyvsp[0].tv_str);
 		yyval.tv_str = yyvsp[0].tv_str;
-	;
-    break;}
-case 246:
+	}
+    break;
+
+  case 247:
 #line 1863 "asn1p_y.y"
-{
+    {
 		memset(&yyval.tv_nametag, 0, sizeof(yyval.tv_nametag));
 		yyval.tv_nametag.name = yyvsp[0].tv_str;
-	;
-    break;}
-case 247:
+	}
+    break;
+
+  case 248:
 #line 1867 "asn1p_y.y"
-{
+    {
 		yyval.tv_nametag.name = yyvsp[-1].tv_str;
 		yyval.tv_nametag.tag = yyvsp[0].a_tag;
-	;
-    break;}
-}
-   /* the action file gets copied in in place of this dollarsign */
-#line 543 "/usr/share/bison.simple"
+	}
+    break;
+
+
+    }
+
+/* Line 1016 of /usr/local/share/bison/yacc.c.  */
+#line 3785 "y.tab.c"
 
   yyvsp -= yylen;
   yyssp -= yylen;
-#ifdef YYLSP_NEEDED
-  yylsp -= yylen;
-#endif
 
-#if YYDEBUG != 0
+
+#if YYDEBUG
   if (yydebug)
     {
-      short *ssp1 = yyss - 1;
-      fprintf (stderr, "state stack now");
-      while (ssp1 != yyssp)
-	fprintf (stderr, " %d", *++ssp1);
-      fprintf (stderr, "\n");
+      short *yyssp1 = yyss - 1;
+      YYFPRINTF (stderr, "state stack now");
+      while (yyssp1 != yyssp)
+	YYFPRINTF (stderr, " %d", *++yyssp1);
+      YYFPRINTF (stderr, "\n");
     }
 #endif
 
   *++yyvsp = yyval;
 
-#ifdef YYLSP_NEEDED
-  yylsp++;
-  if (yylen == 0)
-    {
-      yylsp->first_line = yylloc.first_line;
-      yylsp->first_column = yylloc.first_column;
-      yylsp->last_line = (yylsp-1)->last_line;
-      yylsp->last_column = (yylsp-1)->last_column;
-      yylsp->text = 0;
-    }
-  else
-    {
-      yylsp->last_line = (yylsp+yylen-1)->last_line;
-      yylsp->last_column = (yylsp+yylen-1)->last_column;
-    }
-#endif
 
-  /* Now "shift" the result of the reduction.
-     Determine what state that goes to,
-     based on the state we popped back to
-     and the rule number reduced by.  */
+  /* Now `shift' the result of the reduction.  Determine what state
+     that goes to, based on the state we popped back to and the rule
+     number reduced by.  */
 
   yyn = yyr1[yyn];
 
-  yystate = yypgoto[yyn - YYNTBASE] + *yyssp;
-  if (yystate >= 0 && yystate <= YYLAST && yycheck[yystate] == *yyssp)
+  yystate = yypgoto[yyn - YYNTOKENS] + *yyssp;
+  if (0 <= yystate && yystate <= YYLAST && yycheck[yystate] == *yyssp)
     yystate = yytable[yystate];
   else
-    yystate = yydefgoto[yyn - YYNTBASE];
+    yystate = yydefgoto[yyn - YYNTOKENS];
 
   goto yynewstate;
 
-yyerrlab:   /* here on detecting error */
 
-  if (! yyerrstatus)
-    /* If not already recovering from an error, report this error.  */
+/*------------------------------------.
+| yyerrlab -- here on detecting error |
+`------------------------------------*/
+yyerrlab:
+  /* If not already recovering from an error, report this error.  */
+  if (!yyerrstatus)
     {
       ++yynerrs;
-
-#ifdef YYERROR_VERBOSE
+#if YYERROR_VERBOSE
       yyn = yypact[yystate];
 
-      if (yyn > YYFLAG && yyn < YYLAST)
+      if (YYPACT_NINF < yyn && yyn < YYLAST)
 	{
-	  int size = 0;
-	  char *msg;
-	  int x, count;
+	  YYSIZE_T yysize = 0;
+	  int yytype = YYTRANSLATE (yychar);
+	  char *yymsg;
+	  int yyx, yycount;
 
-	  count = 0;
-	  /* Start X at -yyn if nec to avoid negative indexes in yycheck.  */
-	  for (x = (yyn < 0 ? -yyn : 0);
-	       x < (sizeof(yytname) / sizeof(char *)); x++)
-	    if (yycheck[x + yyn] == x)
-	      size += strlen(yytname[x]) + 15, count++;
-	  msg = (char *) malloc(size + 15);
-	  if (msg != 0)
+	  yycount = 0;
+	  /* Start YYX at -YYN if negative to avoid negative indexes in
+	     YYCHECK.  */
+	  for (yyx = yyn < 0 ? -yyn : 0;
+	       yyx < (int) (sizeof (yytname) / sizeof (char *)); yyx++)
+	    if (yycheck[yyx + yyn] == yyx && yyx != YYTERROR)
+	      yysize += yystrlen (yytname[yyx]) + 15, yycount++;
+	  yysize += yystrlen ("parse error, unexpected ") + 1;
+	  yysize += yystrlen (yytname[yytype]);
+	  yymsg = (char *) YYSTACK_ALLOC (yysize);
+	  if (yymsg != 0)
 	    {
-	      strcpy(msg, "parse error");
+	      char *yyp = yystpcpy (yymsg, "parse error, unexpected ");
+	      yyp = yystpcpy (yyp, yytname[yytype]);
 
-	      if (count < 5)
+	      if (yycount < 5)
 		{
-		  count = 0;
-		  for (x = (yyn < 0 ? -yyn : 0);
-		       x < (sizeof(yytname) / sizeof(char *)); x++)
-		    if (yycheck[x + yyn] == x)
+		  yycount = 0;
+		  for (yyx = yyn < 0 ? -yyn : 0;
+		       yyx < (int) (sizeof (yytname) / sizeof (char *));
+		       yyx++)
+		    if (yycheck[yyx + yyn] == yyx && yyx != YYTERROR)
 		      {
-			strcat(msg, count == 0 ? ", expecting `" : " or `");
-			strcat(msg, yytname[x]);
-			strcat(msg, "'");
-			count++;
+			const char *yyq = ! yycount ? ", expecting " : " or ";
+			yyp = yystpcpy (yyp, yyq);
+			yyp = yystpcpy (yyp, yytname[yyx]);
+			yycount++;
 		      }
 		}
-	      yyerror(msg);
-	      free(msg);
+	      yyerror (yymsg);
+	      YYSTACK_FREE (yymsg);
 	    }
 	  else
-	    yyerror ("parse error; also virtual memory exceeded");
+	    yyerror ("parse error; also virtual memory exhausted");
 	}
       else
 #endif /* YYERROR_VERBOSE */
-	yyerror("parse error");
+	yyerror ("parse error");
     }
-
   goto yyerrlab1;
-yyerrlab1:   /* here on error raised explicitly by an action */
 
+
+/*----------------------------------------------------.
+| yyerrlab1 -- error raised explicitly by an action.  |
+`----------------------------------------------------*/
+yyerrlab1:
   if (yyerrstatus == 3)
     {
-      /* if just tried and failed to reuse lookahead token after an error, discard it.  */
+      /* If just tried and failed to reuse lookahead token after an
+	 error, discard it.  */
 
-      /* return failure if at end of input */
+      /* Return failure if at end of input.  */
       if (yychar == YYEOF)
-	YYABORT;
+        {
+	  /* Pop the error token.  */
+          YYPOPSTACK;
+	  /* Pop the rest of the stack.  */
+	  while (yyssp > yyss)
+	    {
+	      YYDPRINTF ((stderr, "Error: popping "));
+	      YYDSYMPRINT ((stderr,
+			    yystos[*yyssp],
+			    *yyvsp));
+	      YYDPRINTF ((stderr, "\n"));
+	      yydestruct (yystos[*yyssp], *yyvsp);
+	      YYPOPSTACK;
+	    }
+	  YYABORT;
+        }
 
-#if YYDEBUG != 0
-      if (yydebug)
-	fprintf(stderr, "Discarding token %d (%s).\n", yychar, yytname[yychar1]);
-#endif
-
+      YYDPRINTF ((stderr, "Discarding token %d (%s).\n",
+		  yychar, yytname[yychar1]));
+      yydestruct (yychar1, yylval);
       yychar = YYEMPTY;
     }
 
-  /* Else will try to reuse lookahead token
-     after shifting the error token.  */
+  /* Else will try to reuse lookahead token after shifting the error
+     token.  */
 
-  yyerrstatus = 3;		/* Each real token shifted decrements this */
+  yyerrstatus = 3;	/* Each real token shifted decrements this.  */
 
-  goto yyerrhandle;
-
-yyerrdefault:  /* current state does not do anything special for the error token. */
-
-#if 0
-  /* This is wrong; only states that explicitly want error tokens
-     should shift them.  */
-  yyn = yydefact[yystate];  /* If its default is to accept any token, ok.  Otherwise pop it.*/
-  if (yyn) goto yydefault;
-#endif
-
-yyerrpop:   /* pop the current state because it cannot handle the error token */
-
-  if (yyssp == yyss) YYABORT;
-  yyvsp--;
-  yystate = *--yyssp;
-#ifdef YYLSP_NEEDED
-  yylsp--;
-#endif
-
-#if YYDEBUG != 0
-  if (yydebug)
+  for (;;)
     {
-      short *ssp1 = yyss - 1;
-      fprintf (stderr, "Error: state stack now");
-      while (ssp1 != yyssp)
-	fprintf (stderr, " %d", *++ssp1);
-      fprintf (stderr, "\n");
-    }
+      yyn = yypact[yystate];
+      if (yyn != YYPACT_NINF)
+	{
+	  yyn += YYTERROR;
+	  if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYTERROR)
+	    {
+	      yyn = yytable[yyn];
+	      if (0 < yyn)
+		break;
+	    }
+	}
+
+      /* Pop the current state because it cannot handle the error token.  */
+      if (yyssp == yyss)
+	YYABORT;
+
+      YYDPRINTF ((stderr, "Error: popping "));
+      YYDSYMPRINT ((stderr,
+		    yystos[*yyssp], *yyvsp));
+      YYDPRINTF ((stderr, "\n"));
+
+      yydestruct (yystos[yystate], *yyvsp);
+      yyvsp--;
+      yystate = *--yyssp;
+
+
+#if YYDEBUG
+      if (yydebug)
+	{
+	  short *yyssp1 = yyss - 1;
+	  YYFPRINTF (stderr, "Error: state stack now");
+	  while (yyssp1 != yyssp)
+	    YYFPRINTF (stderr, " %d", *++yyssp1);
+	  YYFPRINTF (stderr, "\n");
+	}
 #endif
-
-yyerrhandle:
-
-  yyn = yypact[yystate];
-  if (yyn == YYFLAG)
-    goto yyerrdefault;
-
-  yyn += YYTERROR;
-  if (yyn < 0 || yyn > YYLAST || yycheck[yyn] != YYTERROR)
-    goto yyerrdefault;
-
-  yyn = yytable[yyn];
-  if (yyn < 0)
-    {
-      if (yyn == YYFLAG)
-	goto yyerrpop;
-      yyn = -yyn;
-      goto yyreduce;
     }
-  else if (yyn == 0)
-    goto yyerrpop;
 
   if (yyn == YYFINAL)
     YYACCEPT;
 
-#if YYDEBUG != 0
-  if (yydebug)
-    fprintf(stderr, "Shifting error token, ");
-#endif
+  YYDPRINTF ((stderr, "Shifting error token, "));
 
   *++yyvsp = yylval;
-#ifdef YYLSP_NEEDED
-  *++yylsp = yylloc;
-#endif
+
 
   yystate = yyn;
   goto yynewstate;
 
- yyacceptlab:
-  /* YYACCEPT comes here.  */
-  if (yyfree_stacks)
-    {
-      free (yyss);
-      free (yyvs);
-#ifdef YYLSP_NEEDED
-      free (yyls);
-#endif
-    }
-  return 0;
 
- yyabortlab:
-  /* YYABORT comes here.  */
-  if (yyfree_stacks)
-    {
-      free (yyss);
-      free (yyvs);
-#ifdef YYLSP_NEEDED
-      free (yyls);
+/*-------------------------------------.
+| yyacceptlab -- YYACCEPT comes here.  |
+`-------------------------------------*/
+yyacceptlab:
+  yyresult = 0;
+  goto yyreturn;
+
+/*-----------------------------------.
+| yyabortlab -- YYABORT comes here.  |
+`-----------------------------------*/
+yyabortlab:
+  yyresult = 1;
+  goto yyreturn;
+
+#ifndef yyoverflow
+/*----------------------------------------------.
+| yyoverflowlab -- parser overflow comes here.  |
+`----------------------------------------------*/
+yyoverflowlab:
+  yyerror ("parser stack overflow");
+  yyresult = 2;
+  /* Fall through.  */
 #endif
-    }
-  return 1;
+
+yyreturn:
+#ifndef yyoverflow
+  if (yyss != yyssa)
+    YYSTACK_FREE (yyss);
+#endif
+  return yyresult;
 }
+
+
 #line 1874 "asn1p_y.y"
 
 
@@ -3482,3 +4110,4 @@
 }
 
 
+
diff --git a/libasn1parser/asn1p_y.h b/libasn1parser/asn1p_y.h
index 61679e3..09ace78 100644
--- a/libasn1parser/asn1p_y.h
+++ b/libasn1parser/asn1p_y.h
@@ -1,3 +1,239 @@
+/* A Bison parser, made from asn1p_y.y, by GNU bison 1.75.  */
+
+/* Skeleton parser for Yacc-like parsing with Bison,
+   Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002 Free Software Foundation, Inc.
+
+   This program is free software; you can redistribute it and/or modify
+   it under the terms of the GNU General Public License as published by
+   the Free Software Foundation; either version 2, or (at your option)
+   any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+   GNU General Public License for more details.
+
+   You should have received a copy of the GNU General Public License
+   along with this program; if not, write to the Free Software
+   Foundation, Inc., 59 Temple Place - Suite 330,
+   Boston, MA 02111-1307, USA.  */
+
+/* As a special exception, when this file is copied by Bison into a
+   Bison output file, you may use that output file without restriction.
+   This special exception was added by the Free Software Foundation
+   in version 1.24 of Bison.  */
+
+#ifndef BISON_Y_TAB_H
+# define BISON_Y_TAB_H
+
+/* Tokens.  */
+#ifndef YYTOKENTYPE
+# define YYTOKENTYPE
+   /* Put the tokens into the symbol table, so that GDB and other debuggers
+      know about them.  */
+   enum yytokentype {
+     TOK_PPEQ = 258,
+     TOK_opaque = 259,
+     TOK_bstring = 260,
+     TOK_cstring = 261,
+     TOK_hstring = 262,
+     TOK_identifier = 263,
+     TOK_number = 264,
+     TOK_number_negative = 265,
+     TOK_typereference = 266,
+     TOK_objectclassreference = 267,
+     TOK_typefieldreference = 268,
+     TOK_valuefieldreference = 269,
+     TOK_ABSENT = 270,
+     TOK_ABSTRACT_SYNTAX = 271,
+     TOK_ALL = 272,
+     TOK_ANY = 273,
+     TOK_APPLICATION = 274,
+     TOK_AUTOMATIC = 275,
+     TOK_BEGIN = 276,
+     TOK_BIT = 277,
+     TOK_BMPString = 278,
+     TOK_BOOLEAN = 279,
+     TOK_BY = 280,
+     TOK_CHARACTER = 281,
+     TOK_CHOICE = 282,
+     TOK_CLASS = 283,
+     TOK_COMPONENT = 284,
+     TOK_COMPONENTS = 285,
+     TOK_CONSTRAINED = 286,
+     TOK_CONTAINING = 287,
+     TOK_DEFAULT = 288,
+     TOK_DEFINITIONS = 289,
+     TOK_DEFINED = 290,
+     TOK_EMBEDDED = 291,
+     TOK_ENCODED = 292,
+     TOK_END = 293,
+     TOK_ENUMERATED = 294,
+     TOK_EXPLICIT = 295,
+     TOK_EXPORTS = 296,
+     TOK_EXTENSIBILITY = 297,
+     TOK_EXTERNAL = 298,
+     TOK_FALSE = 299,
+     TOK_FROM = 300,
+     TOK_GeneralizedTime = 301,
+     TOK_GeneralString = 302,
+     TOK_GraphicString = 303,
+     TOK_IA5String = 304,
+     TOK_IDENTIFIER = 305,
+     TOK_IMPLICIT = 306,
+     TOK_IMPLIED = 307,
+     TOK_IMPORTS = 308,
+     TOK_INCLUDES = 309,
+     TOK_INSTANCE = 310,
+     TOK_INTEGER = 311,
+     TOK_ISO646String = 312,
+     TOK_MAX = 313,
+     TOK_MIN = 314,
+     TOK_MINUS_INFINITY = 315,
+     TOK_NULL = 316,
+     TOK_NumericString = 317,
+     TOK_OBJECT = 318,
+     TOK_ObjectDescriptor = 319,
+     TOK_OCTET = 320,
+     TOK_OF = 321,
+     TOK_OPTIONAL = 322,
+     TOK_PATTERN = 323,
+     TOK_PDV = 324,
+     TOK_PLUS_INFINITY = 325,
+     TOK_PRESENT = 326,
+     TOK_PrintableString = 327,
+     TOK_PRIVATE = 328,
+     TOK_REAL = 329,
+     TOK_RELATIVE_OID = 330,
+     TOK_SEQUENCE = 331,
+     TOK_SET = 332,
+     TOK_SIZE = 333,
+     TOK_STRING = 334,
+     TOK_SYNTAX = 335,
+     TOK_T61String = 336,
+     TOK_TAGS = 337,
+     TOK_TeletexString = 338,
+     TOK_TRUE = 339,
+     TOK_TYPE_IDENTIFIER = 340,
+     TOK_UNIQUE = 341,
+     TOK_UNIVERSAL = 342,
+     TOK_UniversalString = 343,
+     TOK_UTCTime = 344,
+     TOK_UTF8String = 345,
+     TOK_VideotexString = 346,
+     TOK_VisibleString = 347,
+     TOK_WITH = 348,
+     TOK_UNION = 349,
+     TOK_INTERSECTION = 350,
+     TOK_EXCEPT = 351,
+     TOK_TwoDots = 352,
+     TOK_ThreeDots = 353,
+     TOK_tag = 354
+   };
+#endif
+#define TOK_PPEQ 258
+#define TOK_opaque 259
+#define TOK_bstring 260
+#define TOK_cstring 261
+#define TOK_hstring 262
+#define TOK_identifier 263
+#define TOK_number 264
+#define TOK_number_negative 265
+#define TOK_typereference 266
+#define TOK_objectclassreference 267
+#define TOK_typefieldreference 268
+#define TOK_valuefieldreference 269
+#define TOK_ABSENT 270
+#define TOK_ABSTRACT_SYNTAX 271
+#define TOK_ALL 272
+#define TOK_ANY 273
+#define TOK_APPLICATION 274
+#define TOK_AUTOMATIC 275
+#define TOK_BEGIN 276
+#define TOK_BIT 277
+#define TOK_BMPString 278
+#define TOK_BOOLEAN 279
+#define TOK_BY 280
+#define TOK_CHARACTER 281
+#define TOK_CHOICE 282
+#define TOK_CLASS 283
+#define TOK_COMPONENT 284
+#define TOK_COMPONENTS 285
+#define TOK_CONSTRAINED 286
+#define TOK_CONTAINING 287
+#define TOK_DEFAULT 288
+#define TOK_DEFINITIONS 289
+#define TOK_DEFINED 290
+#define TOK_EMBEDDED 291
+#define TOK_ENCODED 292
+#define TOK_END 293
+#define TOK_ENUMERATED 294
+#define TOK_EXPLICIT 295
+#define TOK_EXPORTS 296
+#define TOK_EXTENSIBILITY 297
+#define TOK_EXTERNAL 298
+#define TOK_FALSE 299
+#define TOK_FROM 300
+#define TOK_GeneralizedTime 301
+#define TOK_GeneralString 302
+#define TOK_GraphicString 303
+#define TOK_IA5String 304
+#define TOK_IDENTIFIER 305
+#define TOK_IMPLICIT 306
+#define TOK_IMPLIED 307
+#define TOK_IMPORTS 308
+#define TOK_INCLUDES 309
+#define TOK_INSTANCE 310
+#define TOK_INTEGER 311
+#define TOK_ISO646String 312
+#define TOK_MAX 313
+#define TOK_MIN 314
+#define TOK_MINUS_INFINITY 315
+#define TOK_NULL 316
+#define TOK_NumericString 317
+#define TOK_OBJECT 318
+#define TOK_ObjectDescriptor 319
+#define TOK_OCTET 320
+#define TOK_OF 321
+#define TOK_OPTIONAL 322
+#define TOK_PATTERN 323
+#define TOK_PDV 324
+#define TOK_PLUS_INFINITY 325
+#define TOK_PRESENT 326
+#define TOK_PrintableString 327
+#define TOK_PRIVATE 328
+#define TOK_REAL 329
+#define TOK_RELATIVE_OID 330
+#define TOK_SEQUENCE 331
+#define TOK_SET 332
+#define TOK_SIZE 333
+#define TOK_STRING 334
+#define TOK_SYNTAX 335
+#define TOK_T61String 336
+#define TOK_TAGS 337
+#define TOK_TeletexString 338
+#define TOK_TRUE 339
+#define TOK_TYPE_IDENTIFIER 340
+#define TOK_UNIQUE 341
+#define TOK_UNIVERSAL 342
+#define TOK_UniversalString 343
+#define TOK_UTCTime 344
+#define TOK_UTF8String 345
+#define TOK_VideotexString 346
+#define TOK_VisibleString 347
+#define TOK_WITH 348
+#define TOK_UNION 349
+#define TOK_INTERSECTION 350
+#define TOK_EXCEPT 351
+#define TOK_TwoDots 352
+#define TOK_ThreeDots 353
+#define TOK_tag 354
+
+
+
+
+#ifndef YYSTYPE
+#line 57 "asn1p_y.y"
 typedef union {
 	asn1p_t			*a_grammar;
 	asn1p_module_flags_e	 a_module_flags;
@@ -29,104 +265,14 @@
 		char *name;
 		struct asn1p_type_tag_s tag;
 	} tv_nametag;
-} YYSTYPE;
-#define	TOK_PPEQ	257
-#define	TOK_opaque	258
-#define	TOK_bstring	259
-#define	TOK_cstring	260
-#define	TOK_hstring	261
-#define	TOK_identifier	262
-#define	TOK_number	263
-#define	TOK_number_negative	264
-#define	TOK_typereference	265
-#define	TOK_objectclassreference	266
-#define	TOK_typefieldreference	267
-#define	TOK_valuefieldreference	268
-#define	TOK_ABSENT	269
-#define	TOK_ABSTRACT_SYNTAX	270
-#define	TOK_ALL	271
-#define	TOK_ANY	272
-#define	TOK_APPLICATION	273
-#define	TOK_AUTOMATIC	274
-#define	TOK_BEGIN	275
-#define	TOK_BIT	276
-#define	TOK_BMPString	277
-#define	TOK_BOOLEAN	278
-#define	TOK_BY	279
-#define	TOK_CHARACTER	280
-#define	TOK_CHOICE	281
-#define	TOK_CLASS	282
-#define	TOK_COMPONENT	283
-#define	TOK_COMPONENTS	284
-#define	TOK_CONSTRAINED	285
-#define	TOK_CONTAINING	286
-#define	TOK_DEFAULT	287
-#define	TOK_DEFINITIONS	288
-#define	TOK_DEFINED	289
-#define	TOK_EMBEDDED	290
-#define	TOK_ENCODED	291
-#define	TOK_END	292
-#define	TOK_ENUMERATED	293
-#define	TOK_EXPLICIT	294
-#define	TOK_EXPORTS	295
-#define	TOK_EXTENSIBILITY	296
-#define	TOK_EXTERNAL	297
-#define	TOK_FALSE	298
-#define	TOK_FROM	299
-#define	TOK_GeneralizedTime	300
-#define	TOK_GeneralString	301
-#define	TOK_GraphicString	302
-#define	TOK_IA5String	303
-#define	TOK_IDENTIFIER	304
-#define	TOK_IMPLICIT	305
-#define	TOK_IMPLIED	306
-#define	TOK_IMPORTS	307
-#define	TOK_INCLUDES	308
-#define	TOK_INSTANCE	309
-#define	TOK_INTEGER	310
-#define	TOK_ISO646String	311
-#define	TOK_MAX	312
-#define	TOK_MIN	313
-#define	TOK_MINUS_INFINITY	314
-#define	TOK_NULL	315
-#define	TOK_NumericString	316
-#define	TOK_OBJECT	317
-#define	TOK_ObjectDescriptor	318
-#define	TOK_OCTET	319
-#define	TOK_OF	320
-#define	TOK_OPTIONAL	321
-#define	TOK_PATTERN	322
-#define	TOK_PDV	323
-#define	TOK_PLUS_INFINITY	324
-#define	TOK_PRESENT	325
-#define	TOK_PrintableString	326
-#define	TOK_PRIVATE	327
-#define	TOK_REAL	328
-#define	TOK_RELATIVE_OID	329
-#define	TOK_SEQUENCE	330
-#define	TOK_SET	331
-#define	TOK_SIZE	332
-#define	TOK_STRING	333
-#define	TOK_SYNTAX	334
-#define	TOK_T61String	335
-#define	TOK_TAGS	336
-#define	TOK_TeletexString	337
-#define	TOK_TRUE	338
-#define	TOK_TYPE_IDENTIFIER	339
-#define	TOK_UNIQUE	340
-#define	TOK_UNIVERSAL	341
-#define	TOK_UniversalString	342
-#define	TOK_UTCTime	343
-#define	TOK_UTF8String	344
-#define	TOK_VideotexString	345
-#define	TOK_VisibleString	346
-#define	TOK_WITH	347
-#define	TOK_UNION	348
-#define	TOK_INTERSECTION	349
-#define	TOK_EXCEPT	350
-#define	TOK_TwoDots	351
-#define	TOK_ThreeDots	352
-#define	TOK_tag	353
-
+} yystype;
+/* Line 1281 of /usr/local/share/bison/yacc.c.  */
+#line 271 "y.tab.h"
+# define YYSTYPE yystype
+#endif
 
 extern YYSTYPE asn1p_lval;
+
+
+#endif /* not BISON_Y_TAB_H */
+