aboutsummaryrefslogtreecommitdiffstats
path: root/libasn1parser
diff options
context:
space:
mode:
Diffstat (limited to 'libasn1parser')
-rw-r--r--libasn1parser/asn1p_class.c6
-rw-r--r--libasn1parser/asn1p_class.h4
-rw-r--r--libasn1parser/asn1p_l.c2
-rw-r--r--libasn1parser/asn1p_l.l2
-rw-r--r--libasn1parser/asn1p_y.c1480
-rw-r--r--libasn1parser/asn1p_y.h201
-rw-r--r--libasn1parser/asn1p_y.y4
7 files changed, 859 insertions, 840 deletions
diff --git a/libasn1parser/asn1p_class.c b/libasn1parser/asn1p_class.c
index 741d98e1..c9065f66 100644
--- a/libasn1parser/asn1p_class.c
+++ b/libasn1parser/asn1p_class.c
@@ -19,7 +19,9 @@ void
asn1p_wsyntx_chunk_free(asn1p_wsyntx_chunk_t *wc) {
if(wc) {
switch(wc->type) {
- case WC_LITERAL: free(wc->content.token); break;
+ case WC_LITERAL:
+ case WC_WHITESPACE:
+ free(wc->content.token); break;
case WC_REFERENCE: asn1p_ref_free(wc->content.ref); break;
case WC_OPTIONALGROUP:
asn1p_wsyntx_free(wc->content.syntax);
@@ -35,8 +37,10 @@ asn1p_wsyntx_chunk_clone(asn1p_wsyntx_chunk_t *wc) {
nc = asn1p_wsyntx_chunk_new();
if(nc) {
+ nc->type = wc->type;
switch(wc->type) {
case WC_LITERAL:
+ case WC_WHITESPACE:
nc->content.token = malloc(strlen(wc->content.token)+1);
strcpy(nc->content.token, wc->content.token);
break;
diff --git a/libasn1parser/asn1p_class.h b/libasn1parser/asn1p_class.h
index ca311fe3..06db2d12 100644
--- a/libasn1parser/asn1p_class.h
+++ b/libasn1parser/asn1p_class.h
@@ -12,11 +12,13 @@
typedef struct asn1p_wsyntx_chunk_s {
enum {
WC_LITERAL,
+ WC_WHITESPACE,
WC_REFERENCE,
WC_OPTIONALGROUP
} type;
/*
- * WC_LITERAL -> {buf, len}
+ * WC_LITERAL -> {token}
+ * WC_WHITESPACE -> {token}
* WC_REFERENCE -> {ref}
* WC_OPTIONALGROUP -> {syntax}
*/
diff --git a/libasn1parser/asn1p_l.c b/libasn1parser/asn1p_l.c
index 9eea6cad..569bc73d 100644
--- a/libasn1parser/asn1p_l.c
+++ b/libasn1parser/asn1p_l.c
@@ -2946,7 +2946,7 @@ YY_RULE_SETUP
{
asn1p_lval.tv_opaque.buf = strdup(yytext);
asn1p_lval.tv_opaque.len = yyleng;
- return TOK_opaque;
+ return TOK_whitespace;
}
YY_BREAK
case 130:
diff --git a/libasn1parser/asn1p_l.l b/libasn1parser/asn1p_l.l
index a327277f..e440d421 100644
--- a/libasn1parser/asn1p_l.l
+++ b/libasn1parser/asn1p_l.l
@@ -413,7 +413,7 @@ WITH return TOK_WITH;
{WSP}+ {
asn1p_lval.tv_opaque.buf = strdup(yytext);
asn1p_lval.tv_opaque.len = yyleng;
- return TOK_opaque;
+ return TOK_whitespace;
}
"}" {
diff --git a/libasn1parser/asn1p_y.c b/libasn1parser/asn1p_y.c
index b5c62562..b00f051d 100644
--- a/libasn1parser/asn1p_y.c
+++ b/libasn1parser/asn1p_y.c
@@ -12,106 +12,107 @@
#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_tuple 264
-#define TOK_quadruple 265
-#define TOK_number_negative 266
-#define TOK_typereference 267
-#define TOK_capitalreference 268
-#define TOK_typefieldreference 269
-#define TOK_valuefieldreference 270
-#define TOK_Literal 271
-#define TOK_ABSENT 272
-#define TOK_ABSTRACT_SYNTAX 273
-#define TOK_ALL 274
-#define TOK_ANY 275
-#define TOK_APPLICATION 276
-#define TOK_AUTOMATIC 277
-#define TOK_BEGIN 278
-#define TOK_BIT 279
-#define TOK_BMPString 280
-#define TOK_BOOLEAN 281
-#define TOK_BY 282
-#define TOK_CHARACTER 283
-#define TOK_CHOICE 284
-#define TOK_CLASS 285
-#define TOK_COMPONENT 286
-#define TOK_COMPONENTS 287
-#define TOK_CONSTRAINED 288
-#define TOK_CONTAINING 289
-#define TOK_DEFAULT 290
-#define TOK_DEFINITIONS 291
-#define TOK_DEFINED 292
-#define TOK_EMBEDDED 293
-#define TOK_ENCODED 294
-#define TOK_ENCODING_CONTROL 295
-#define TOK_END 296
-#define TOK_ENUMERATED 297
-#define TOK_EXPLICIT 298
-#define TOK_EXPORTS 299
-#define TOK_EXTENSIBILITY 300
-#define TOK_EXTERNAL 301
-#define TOK_FALSE 302
-#define TOK_FROM 303
-#define TOK_GeneralizedTime 304
-#define TOK_GeneralString 305
-#define TOK_GraphicString 306
-#define TOK_IA5String 307
-#define TOK_IDENTIFIER 308
-#define TOK_IMPLICIT 309
-#define TOK_IMPLIED 310
-#define TOK_IMPORTS 311
-#define TOK_INCLUDES 312
-#define TOK_INSTANCE 313
-#define TOK_INSTRUCTIONS 314
-#define TOK_INTEGER 315
-#define TOK_ISO646String 316
-#define TOK_MAX 317
-#define TOK_MIN 318
-#define TOK_MINUS_INFINITY 319
-#define TOK_NULL 320
-#define TOK_NumericString 321
-#define TOK_OBJECT 322
-#define TOK_ObjectDescriptor 323
-#define TOK_OCTET 324
-#define TOK_OF 325
-#define TOK_OPTIONAL 326
-#define TOK_PATTERN 327
-#define TOK_PDV 328
-#define TOK_PLUS_INFINITY 329
-#define TOK_PRESENT 330
-#define TOK_PrintableString 331
-#define TOK_PRIVATE 332
-#define TOK_REAL 333
-#define TOK_RELATIVE_OID 334
-#define TOK_SEQUENCE 335
-#define TOK_SET 336
-#define TOK_SIZE 337
-#define TOK_STRING 338
-#define TOK_SYNTAX 339
-#define TOK_T61String 340
-#define TOK_TAGS 341
-#define TOK_TeletexString 342
-#define TOK_TRUE 343
-#define TOK_TYPE_IDENTIFIER 344
-#define TOK_UNIQUE 345
-#define TOK_UNIVERSAL 346
-#define TOK_UniversalString 347
-#define TOK_UTCTime 348
-#define TOK_UTF8String 349
-#define TOK_VideotexString 350
-#define TOK_VisibleString 351
-#define TOK_WITH 352
-#define TOK_EXCEPT 353
-#define TOK_INTERSECTION 354
-#define TOK_UNION 355
-#define TOK_TwoDots 356
-#define TOK_ThreeDots 357
+#define TOK_whitespace 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_tuple 265
+#define TOK_quadruple 266
+#define TOK_number_negative 267
+#define TOK_typereference 268
+#define TOK_capitalreference 269
+#define TOK_typefieldreference 270
+#define TOK_valuefieldreference 271
+#define TOK_Literal 272
+#define TOK_ABSENT 273
+#define TOK_ABSTRACT_SYNTAX 274
+#define TOK_ALL 275
+#define TOK_ANY 276
+#define TOK_APPLICATION 277
+#define TOK_AUTOMATIC 278
+#define TOK_BEGIN 279
+#define TOK_BIT 280
+#define TOK_BMPString 281
+#define TOK_BOOLEAN 282
+#define TOK_BY 283
+#define TOK_CHARACTER 284
+#define TOK_CHOICE 285
+#define TOK_CLASS 286
+#define TOK_COMPONENT 287
+#define TOK_COMPONENTS 288
+#define TOK_CONSTRAINED 289
+#define TOK_CONTAINING 290
+#define TOK_DEFAULT 291
+#define TOK_DEFINITIONS 292
+#define TOK_DEFINED 293
+#define TOK_EMBEDDED 294
+#define TOK_ENCODED 295
+#define TOK_ENCODING_CONTROL 296
+#define TOK_END 297
+#define TOK_ENUMERATED 298
+#define TOK_EXPLICIT 299
+#define TOK_EXPORTS 300
+#define TOK_EXTENSIBILITY 301
+#define TOK_EXTERNAL 302
+#define TOK_FALSE 303
+#define TOK_FROM 304
+#define TOK_GeneralizedTime 305
+#define TOK_GeneralString 306
+#define TOK_GraphicString 307
+#define TOK_IA5String 308
+#define TOK_IDENTIFIER 309
+#define TOK_IMPLICIT 310
+#define TOK_IMPLIED 311
+#define TOK_IMPORTS 312
+#define TOK_INCLUDES 313
+#define TOK_INSTANCE 314
+#define TOK_INSTRUCTIONS 315
+#define TOK_INTEGER 316
+#define TOK_ISO646String 317
+#define TOK_MAX 318
+#define TOK_MIN 319
+#define TOK_MINUS_INFINITY 320
+#define TOK_NULL 321
+#define TOK_NumericString 322
+#define TOK_OBJECT 323
+#define TOK_ObjectDescriptor 324
+#define TOK_OCTET 325
+#define TOK_OF 326
+#define TOK_OPTIONAL 327
+#define TOK_PATTERN 328
+#define TOK_PDV 329
+#define TOK_PLUS_INFINITY 330
+#define TOK_PRESENT 331
+#define TOK_PrintableString 332
+#define TOK_PRIVATE 333
+#define TOK_REAL 334
+#define TOK_RELATIVE_OID 335
+#define TOK_SEQUENCE 336
+#define TOK_SET 337
+#define TOK_SIZE 338
+#define TOK_STRING 339
+#define TOK_SYNTAX 340
+#define TOK_T61String 341
+#define TOK_TAGS 342
+#define TOK_TeletexString 343
+#define TOK_TRUE 344
+#define TOK_TYPE_IDENTIFIER 345
+#define TOK_UNIQUE 346
+#define TOK_UNIVERSAL 347
+#define TOK_UniversalString 348
+#define TOK_UTCTime 349
+#define TOK_UTF8String 350
+#define TOK_VideotexString 351
+#define TOK_VisibleString 352
+#define TOK_WITH 353
+#define TOK_EXCEPT 354
+#define TOK_INTERSECTION 355
+#define TOK_UNION 356
+#define TOK_TwoDots 357
+#define TOK_ThreeDots 358
#line 1 "asn1p_y.y"
@@ -224,24 +225,24 @@ typedef union {
#define YYFINAL 446
#define YYFLAG -32768
-#define YYNTBASE 119
+#define YYNTBASE 120
-#define YYTRANSLATE(x) ((unsigned)(x) <= 357 ? yytranslate[x] : 226)
+#define YYTRANSLATE(x) ((unsigned)(x) <= 358 ? yytranslate[x] : 227)
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, 115, 2, 2, 2, 2, 2, 2, 108,
- 109, 2, 2, 111, 2, 116, 2, 2, 2, 2,
- 2, 2, 2, 2, 2, 2, 2, 112, 110, 117,
- 2, 2, 2, 118, 2, 2, 2, 2, 2, 2,
+ 2, 2, 116, 2, 2, 2, 2, 2, 2, 109,
+ 110, 2, 2, 112, 2, 117, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 113, 111, 118,
+ 2, 2, 2, 119, 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,
- 113, 2, 114, 100, 2, 2, 2, 2, 2, 2,
+ 114, 2, 115, 101, 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, 106, 102, 107, 2, 2, 2, 2, 2,
+ 2, 2, 107, 103, 108, 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,
@@ -264,7 +265,7 @@ static const char yytranslate[] = { 0,
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, 94, 95, 96,
- 97, 98, 99, 101, 103, 104, 105
+ 97, 98, 99, 100, 102, 104, 105, 106
};
#if YYDEBUG != 0
@@ -300,123 +301,123 @@ static const short yyprhs[] = { 0,
792, 794, 796, 798, 799, 801
};
-static const short yyrhs[] = { 120,
- 0, 121, 0, 120, 121, 0, 222, 122, 37, 126,
- 3, 24, 129, 42, 0, 0, 123, 0, 106, 124,
- 107, 0, 106, 107, 0, 125, 0, 124, 125, 0,
- 225, 0, 225, 108, 9, 109, 0, 9, 0, 0,
- 127, 0, 128, 0, 127, 128, 0, 44, 87, 0,
- 55, 87, 0, 23, 87, 0, 46, 56, 0, 14,
- 60, 0, 0, 130, 0, 131, 0, 130, 131, 0,
- 133, 0, 139, 0, 145, 0, 176, 0, 142, 0,
- 0, 41, 14, 132, 0, 185, 0, 57, 134, 110,
- 0, 57, 49, 0, 136, 0, 134, 136, 0, 0,
- 123, 0, 137, 49, 222, 135, 0, 138, 0, 137,
- 111, 138, 0, 222, 0, 222, 106, 107, 0, 225,
- 0, 45, 140, 110, 0, 45, 20, 110, 0, 45,
- 110, 0, 141, 0, 140, 111, 141, 0, 222, 0,
- 222, 106, 107, 0, 225, 0, 0, 222, 144, 3,
- 106, 143, 181, 0, 169, 0, 182, 0, 222, 3,
- 165, 0, 222, 3, 155, 0, 222, 106, 146, 107,
- 3, 165, 0, 147, 0, 146, 111, 147, 0, 222,
- 0, 222, 112, 225, 0, 222, 112, 222, 0, 182,
- 112, 225, 0, 149, 0, 148, 111, 149, 0, 165,
- 0, 225, 0, 0, 151, 0, 152, 0, 151, 111,
- 152, 0, 225, 165, 211, 0, 165, 211, 0, 33,
- 71, 165, 0, 164, 0, 154, 0, 153, 111, 154,
- 0, 225, 165, 0, 164, 0, 165, 0, 31, 106,
- 157, 107, 159, 0, 0, 91, 0, 158, 0, 157,
- 111, 158, 0, 15, 211, 0, 16, 165, 156, 211,
- 0, 16, 174, 211, 0, 16, 175, 211, 0, 15,
- 174, 211, 0, 15, 165, 211, 0, 15, 175, 211,
- 0, 0, 160, 0, 0, 98, 85, 106, 161, 162,
- 107, 0, 163, 0, 162, 163, 0, 4, 0, 17,
- 0, 172, 0, 113, 162, 114, 0, 105, 0, 105,
- 115, 179, 0, 105, 115, 216, 0, 217, 167, 189,
- 0, 0, 166, 168, 0, 184, 0, 30, 106, 153,
- 107, 0, 81, 106, 150, 107, 0, 82, 106, 150,
- 107, 0, 81, 189, 71, 224, 217, 167, 0, 82,
- 189, 71, 224, 217, 167, 0, 21, 0, 21, 38,
- 28, 225, 0, 222, 106, 148, 107, 0, 169, 0,
- 59, 71, 169, 0, 13, 0, 13, 116, 222, 0,
- 223, 116, 222, 0, 13, 116, 225, 0, 223, 0,
- 223, 116, 170, 0, 171, 0, 170, 116, 171, 0,
- 173, 0, 173, 0, 15, 0, 16, 0, 15, 0,
- 174, 116, 15, 0, 174, 116, 16, 0, 14, 0,
- 225, 144, 3, 177, 0, 225, 112, 177, 0, 0,
- 106, 178, 181, 0, 66, 0, 48, 0, 89, 0,
- 5, 0, 7, 0, 180, 0, 216, 0, 179, 0,
- 225, 0, 222, 116, 225, 0, 6, 0, 10, 0,
- 11, 0, 4, 0, 181, 4, 0, 27, 0, 66,
- 0, 79, 0, 183, 0, 70, 84, 0, 68, 54,
- 0, 80, 0, 47, 0, 39, 74, 0, 29, 84,
- 0, 94, 0, 50, 0, 185, 0, 61, 0, 43,
- 0, 25, 84, 0, 182, 0, 183, 213, 0, 26,
- 0, 51, 0, 52, 0, 53, 0, 62, 0, 67,
- 0, 77, 0, 86, 0, 88, 0, 93, 0, 95,
- 0, 96, 0, 97, 0, 69, 0, 102, 0, 103,
- 0, 100, 0, 101, 0, 99, 0, 0, 190, 0,
- 191, 0, 83, 108, 192, 109, 0, 108, 192, 109,
- 0, 191, 108, 192, 109, 0, 193, 0, 193, 111,
- 105, 0, 193, 111, 105, 111, 193, 0, 194, 0,
- 20, 99, 194, 0, 193, 186, 194, 0, 193, 187,
- 194, 0, 194, 188, 194, 0, 197, 108, 192, 109,
- 0, 108, 192, 109, 0, 198, 0, 199, 0, 198,
- 196, 198, 0, 64, 196, 198, 0, 198, 196, 63,
- 0, 64, 196, 63, 0, 205, 0, 200, 0, 0,
- 34, 28, 106, 195, 181, 0, 104, 0, 104, 117,
- 0, 117, 104, 0, 117, 104, 117, 0, 83, 0,
- 49, 0, 48, 0, 89, 0, 216, 0, 180, 0,
- 225, 0, 222, 0, 98, 32, 191, 0, 98, 33,
- 106, 201, 107, 0, 202, 0, 201, 111, 202, 0,
- 105, 0, 225, 189, 203, 0, 0, 204, 0, 76,
- 0, 18, 0, 72, 0, 206, 0, 207, 0, 106,
- 222, 107, 0, 206, 106, 208, 107, 0, 209, 0,
- 208, 111, 209, 0, 118, 210, 0, 118, 116, 210,
- 0, 225, 0, 210, 116, 225, 0, 0, 212, 0,
- 72, 0, 36, 177, 0, 106, 107, 0, 106, 214,
- 107, 0, 215, 0, 214, 111, 215, 0, 225, 0,
- 225, 108, 216, 109, 0, 225, 108, 179, 109, 0,
- 216, 0, 105, 0, 9, 0, 12, 0, 0, 218,
- 0, 219, 221, 0, 113, 220, 9, 114, 0, 0,
- 92, 0, 22, 0, 78, 0, 0, 55, 0, 44,
- 0, 13, 0, 14, 0, 14, 0, 0, 225, 0,
- 8, 0
+static const short yyrhs[] = { 121,
+ 0, 122, 0, 121, 122, 0, 223, 123, 38, 127,
+ 3, 25, 130, 43, 0, 0, 124, 0, 107, 125,
+ 108, 0, 107, 108, 0, 126, 0, 125, 126, 0,
+ 226, 0, 226, 109, 10, 110, 0, 10, 0, 0,
+ 128, 0, 129, 0, 128, 129, 0, 45, 88, 0,
+ 56, 88, 0, 24, 88, 0, 47, 57, 0, 15,
+ 61, 0, 0, 131, 0, 132, 0, 131, 132, 0,
+ 134, 0, 140, 0, 146, 0, 177, 0, 143, 0,
+ 0, 42, 15, 133, 0, 186, 0, 58, 135, 111,
+ 0, 58, 50, 0, 137, 0, 135, 137, 0, 0,
+ 124, 0, 138, 50, 223, 136, 0, 139, 0, 138,
+ 112, 139, 0, 223, 0, 223, 107, 108, 0, 226,
+ 0, 46, 141, 111, 0, 46, 21, 111, 0, 46,
+ 111, 0, 142, 0, 141, 112, 142, 0, 223, 0,
+ 223, 107, 108, 0, 226, 0, 0, 223, 145, 3,
+ 107, 144, 182, 0, 170, 0, 183, 0, 223, 3,
+ 166, 0, 223, 3, 156, 0, 223, 107, 147, 108,
+ 3, 166, 0, 148, 0, 147, 112, 148, 0, 223,
+ 0, 223, 113, 226, 0, 223, 113, 223, 0, 183,
+ 113, 226, 0, 150, 0, 149, 112, 150, 0, 166,
+ 0, 226, 0, 0, 152, 0, 153, 0, 152, 112,
+ 153, 0, 226, 166, 212, 0, 166, 212, 0, 34,
+ 72, 166, 0, 165, 0, 155, 0, 154, 112, 155,
+ 0, 226, 166, 0, 165, 0, 166, 0, 32, 107,
+ 158, 108, 160, 0, 0, 92, 0, 159, 0, 158,
+ 112, 159, 0, 16, 212, 0, 17, 166, 157, 212,
+ 0, 17, 175, 212, 0, 17, 176, 212, 0, 16,
+ 175, 212, 0, 16, 166, 212, 0, 16, 176, 212,
+ 0, 0, 161, 0, 0, 99, 86, 107, 162, 163,
+ 108, 0, 164, 0, 163, 164, 0, 4, 0, 18,
+ 0, 173, 0, 114, 163, 115, 0, 106, 0, 106,
+ 116, 180, 0, 106, 116, 217, 0, 218, 168, 190,
+ 0, 0, 167, 169, 0, 185, 0, 31, 107, 154,
+ 108, 0, 82, 107, 151, 108, 0, 83, 107, 151,
+ 108, 0, 82, 190, 72, 225, 218, 168, 0, 83,
+ 190, 72, 225, 218, 168, 0, 22, 0, 22, 39,
+ 29, 226, 0, 223, 107, 149, 108, 0, 170, 0,
+ 60, 72, 170, 0, 14, 0, 14, 117, 223, 0,
+ 224, 117, 223, 0, 14, 117, 226, 0, 224, 0,
+ 224, 117, 171, 0, 172, 0, 171, 117, 172, 0,
+ 174, 0, 174, 0, 16, 0, 17, 0, 16, 0,
+ 175, 117, 16, 0, 175, 117, 17, 0, 15, 0,
+ 226, 145, 3, 178, 0, 226, 113, 178, 0, 0,
+ 107, 179, 182, 0, 67, 0, 49, 0, 90, 0,
+ 6, 0, 8, 0, 181, 0, 217, 0, 180, 0,
+ 226, 0, 223, 117, 226, 0, 7, 0, 11, 0,
+ 12, 0, 5, 0, 182, 5, 0, 28, 0, 67,
+ 0, 80, 0, 184, 0, 71, 85, 0, 69, 55,
+ 0, 81, 0, 48, 0, 40, 75, 0, 30, 85,
+ 0, 95, 0, 51, 0, 186, 0, 62, 0, 44,
+ 0, 26, 85, 0, 183, 0, 184, 214, 0, 27,
+ 0, 52, 0, 53, 0, 54, 0, 63, 0, 68,
+ 0, 78, 0, 87, 0, 89, 0, 94, 0, 96,
+ 0, 97, 0, 98, 0, 70, 0, 103, 0, 104,
+ 0, 101, 0, 102, 0, 100, 0, 0, 191, 0,
+ 192, 0, 84, 109, 193, 110, 0, 109, 193, 110,
+ 0, 192, 109, 193, 110, 0, 194, 0, 194, 112,
+ 106, 0, 194, 112, 106, 112, 194, 0, 195, 0,
+ 21, 100, 195, 0, 194, 187, 195, 0, 194, 188,
+ 195, 0, 195, 189, 195, 0, 198, 109, 193, 110,
+ 0, 109, 193, 110, 0, 199, 0, 200, 0, 199,
+ 197, 199, 0, 65, 197, 199, 0, 199, 197, 64,
+ 0, 65, 197, 64, 0, 206, 0, 201, 0, 0,
+ 35, 29, 107, 196, 182, 0, 105, 0, 105, 118,
+ 0, 118, 105, 0, 118, 105, 118, 0, 84, 0,
+ 50, 0, 49, 0, 90, 0, 217, 0, 181, 0,
+ 226, 0, 223, 0, 99, 33, 192, 0, 99, 34,
+ 107, 202, 108, 0, 203, 0, 202, 112, 203, 0,
+ 106, 0, 226, 190, 204, 0, 0, 205, 0, 77,
+ 0, 19, 0, 73, 0, 207, 0, 208, 0, 107,
+ 223, 108, 0, 207, 107, 209, 108, 0, 210, 0,
+ 209, 112, 210, 0, 119, 211, 0, 119, 117, 211,
+ 0, 226, 0, 211, 117, 226, 0, 0, 213, 0,
+ 73, 0, 37, 178, 0, 107, 108, 0, 107, 215,
+ 108, 0, 216, 0, 215, 112, 216, 0, 226, 0,
+ 226, 109, 217, 110, 0, 226, 109, 180, 110, 0,
+ 217, 0, 106, 0, 10, 0, 13, 0, 0, 219,
+ 0, 220, 222, 0, 114, 221, 10, 115, 0, 0,
+ 93, 0, 23, 0, 79, 0, 0, 56, 0, 45,
+ 0, 14, 0, 15, 0, 15, 0, 0, 226, 0,
+ 9, 0
};
#endif
#if YYDEBUG != 0
static const short yyrline[] = { 0,
- 323, 329, 335, 351, 376, 378, 381, 385, 390, 397,
- 405, 410, 414, 423, 425, 433, 437, 445, 449, 452,
- 455, 459, 479, 481, 489, 493, 525, 529, 538, 545,
- 558, 565, 567, 579, 591, 602, 607, 613, 619, 621,
- 624, 635, 641, 647, 654, 660, 668, 672, 675, 682,
- 688, 694, 701, 707, 716, 718, 727, 735, 749, 759,
- 775, 784, 794, 804, 809, 816, 823, 833, 839, 845,
- 849, 872, 874, 876, 882, 888, 896, 902, 909, 914,
- 920, 926, 932, 935, 941, 951, 953, 956, 964, 971,
- 984, 995, 1005, 1016, 1026, 1037, 1048, 1050, 1055, 1059,
- 1064, 1069, 1075, 1079, 1082, 1091, 1096, 1105, 1114, 1125,
- 1147, 1154, 1173, 1177, 1183, 1189, 1195, 1205, 1215, 1221,
- 1235, 1259, 1266, 1280, 1289, 1299, 1309, 1319, 1327, 1348,
- 1357, 1366, 1367, 1369, 1376, 1383, 1389, 1393, 1399, 1419,
- 1429, 1437, 1437, 1442, 1447, 1452, 1457, 1461, 1465, 1468,
- 1471, 1476, 1488, 1505, 1510, 1515, 1548, 1558, 1572, 1574,
- 1575, 1576, 1577, 1578, 1579, 1580, 1581, 1582, 1583, 1584,
- 1585, 1591, 1593, 1594, 1597, 1604, 1616, 1618, 1622, 1626,
- 1627, 1628, 1629, 1630, 1634, 1635, 1636, 1637, 1641, 1642,
- 1649, 1649, 1650, 1650, 1651, 1653, 1655, 1660, 1664, 1673,
- 1677, 1682, 1686, 1692, 1702, 1706, 1709, 1712, 1715, 1720,
- 1729, 1737, 1743, 1749, 1756, 1764, 1772, 1781, 1784, 1787,
- 1788, 1798, 1800, 1801, 1802, 1805, 1809, 1814, 1820, 1825,
- 1828, 1831, 1844, 1858, 1862, 1867, 1871, 1876, 1883, 1896,
- 1898, 1901, 1905, 1908, 1913, 1917, 1925, 1940, 1946, 1953,
- 1966, 1978, 1993, 1997, 2014, 2019, 2022, 2027, 2049, 2054,
- 2059, 2065, 2071, 2079, 2087, 2095, 2102, 2112, 2117, 2147,
- 2149, 2152, 2159, 2165, 2167, 2168, 2169, 2172, 2174, 2175,
- 2178, 2183, 2190, 2197, 2199, 2204
+ 324, 330, 336, 352, 377, 379, 382, 386, 391, 398,
+ 406, 411, 415, 424, 426, 434, 438, 446, 450, 453,
+ 456, 460, 480, 482, 490, 494, 526, 530, 539, 546,
+ 559, 566, 568, 580, 592, 603, 608, 614, 620, 622,
+ 625, 636, 642, 648, 655, 661, 669, 673, 676, 683,
+ 689, 695, 702, 708, 717, 719, 728, 736, 750, 760,
+ 776, 785, 795, 805, 810, 817, 824, 834, 840, 846,
+ 850, 873, 875, 877, 883, 889, 897, 903, 910, 915,
+ 921, 927, 933, 936, 942, 952, 954, 957, 965, 972,
+ 985, 996, 1006, 1017, 1027, 1038, 1049, 1051, 1056, 1060,
+ 1065, 1070, 1076, 1081, 1084, 1093, 1098, 1107, 1116, 1127,
+ 1149, 1156, 1175, 1179, 1185, 1191, 1197, 1207, 1217, 1223,
+ 1237, 1261, 1268, 1282, 1291, 1301, 1311, 1321, 1329, 1350,
+ 1359, 1368, 1369, 1371, 1378, 1385, 1391, 1395, 1401, 1421,
+ 1431, 1439, 1439, 1444, 1449, 1454, 1459, 1463, 1467, 1470,
+ 1473, 1478, 1490, 1507, 1512, 1517, 1550, 1560, 1574, 1576,
+ 1577, 1578, 1579, 1580, 1581, 1582, 1583, 1584, 1585, 1586,
+ 1587, 1593, 1595, 1596, 1599, 1606, 1618, 1620, 1624, 1628,
+ 1629, 1630, 1631, 1632, 1636, 1637, 1638, 1639, 1643, 1644,
+ 1651, 1651, 1652, 1652, 1653, 1655, 1657, 1662, 1666, 1675,
+ 1679, 1684, 1688, 1694, 1704, 1708, 1711, 1714, 1717, 1722,
+ 1731, 1739, 1745, 1751, 1758, 1766, 1774, 1783, 1786, 1789,
+ 1790, 1800, 1802, 1803, 1804, 1807, 1811, 1816, 1822, 1827,
+ 1830, 1833, 1846, 1860, 1864, 1869, 1873, 1878, 1885, 1898,
+ 1900, 1903, 1907, 1910, 1915, 1919, 1927, 1942, 1948, 1955,
+ 1968, 1980, 1995, 1999, 2016, 2021, 2024, 2029, 2051, 2056,
+ 2061, 2067, 2073, 2081, 2089, 2097, 2104, 2114, 2119, 2149,
+ 2151, 2154, 2161, 2167, 2169, 2170, 2171, 2174, 2176, 2177,
+ 2180, 2185, 2192, 2199, 2201, 2206
};
#endif
@@ -424,10 +425,10 @@ static const short yyrline[] = { 0,
#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_tuple","TOK_quadruple","TOK_number_negative","TOK_typereference","TOK_capitalreference",
-"TOK_typefieldreference","TOK_valuefieldreference","TOK_Literal","TOK_ABSENT",
-"TOK_ABSTRACT_SYNTAX","TOK_ALL","TOK_ANY","TOK_APPLICATION","TOK_AUTOMATIC",
+"TOK_whitespace","TOK_opaque","TOK_bstring","TOK_cstring","TOK_hstring","TOK_identifier",
+"TOK_number","TOK_tuple","TOK_quadruple","TOK_number_negative","TOK_typereference",
+"TOK_capitalreference","TOK_typefieldreference","TOK_valuefieldreference","TOK_Literal",
+"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",
@@ -471,35 +472,35 @@ static const char * const yytname[] = { "$","error","$undefined.","TOK_PPEQ",
#endif
static const short yyr1[] = { 0,
- 119, 120, 120, 121, 122, 122, 123, 123, 124, 124,
- 125, 125, 125, 126, 126, 127, 127, 128, 128, 128,
- 128, 128, 129, 129, 130, 130, 131, 131, 131, 131,
- 131, 132, 131, 131, 133, 133, 134, 134, 135, 135,
- 136, 137, 137, 138, 138, 138, 139, 139, 139, 140,
- 140, 141, 141, 141, 143, 142, 144, 144, 145, 145,
- 145, 146, 146, 147, 147, 147, 147, 148, 148, 149,
- 149, 150, 150, 151, 151, 152, 152, 152, 152, 153,
- 153, 154, 154, 154, 155, 156, 156, 157, 157, 158,
- 158, 158, 158, 158, 158, 158, 159, 159, 161, 160,
- 162, 162, 163, 163, 163, 163, 164, 164, 164, 165,
- 166, 167, 168, 168, 168, 168, 168, 168, 168, 168,
- 168, 168, 168, 169, 169, 169, 169, 169, 169, 170,
- 170, 171, 172, 173, 173, 174, 174, 174, 175, 176,
- 177, 178, 177, 177, 177, 177, 177, 177, 177, 177,
- 177, 179, 179, 180, 180, 180, 181, 181, 182, 182,
- 182, 182, 182, 182, 182, 182, 182, 182, 182, 182,
- 182, 183, 183, 183, 184, 184, 185, 185, 185, 185,
- 185, 185, 185, 185, 185, 185, 185, 185, 185, 185,
- 186, 186, 187, 187, 188, 189, 189, 190, 190, 191,
- 191, 192, 192, 192, 193, 193, 193, 193, 193, 194,
- 194, 194, 194, 194, 194, 194, 194, 194, 194, 195,
- 194, 196, 196, 196, 196, 197, 197, 198, 198, 198,
- 198, 198, 199, 200, 200, 201, 201, 202, 202, 203,
- 203, 204, 204, 204, 205, 205, 206, 207, 208, 208,
- 209, 209, 210, 210, 211, 211, 212, 212, 213, 213,
- 214, 214, 215, 215, 215, 215, 215, 216, 216, 217,
- 217, 218, 219, 220, 220, 220, 220, 221, 221, 221,
- 222, 222, 223, 224, 224, 225
+ 120, 121, 121, 122, 123, 123, 124, 124, 125, 125,
+ 126, 126, 126, 127, 127, 128, 128, 129, 129, 129,
+ 129, 129, 130, 130, 131, 131, 132, 132, 132, 132,
+ 132, 133, 132, 132, 134, 134, 135, 135, 136, 136,
+ 137, 138, 138, 139, 139, 139, 140, 140, 140, 141,
+ 141, 142, 142, 142, 144, 143, 145, 145, 146, 146,
+ 146, 147, 147, 148, 148, 148, 148, 149, 149, 150,
+ 150, 151, 151, 152, 152, 153, 153, 153, 153, 154,
+ 154, 155, 155, 155, 156, 157, 157, 158, 158, 159,
+ 159, 159, 159, 159, 159, 159, 160, 160, 162, 161,
+ 163, 163, 164, 164, 164, 164, 165, 165, 165, 166,
+ 167, 168, 169, 169, 169, 169, 169, 169, 169, 169,
+ 169, 169, 169, 170, 170, 170, 170, 170, 170, 171,
+ 171, 172, 173, 174, 174, 175, 175, 175, 176, 177,
+ 178, 179, 178, 178, 178, 178, 178, 178, 178, 178,
+ 178, 180, 180, 181, 181, 181, 182, 182, 183, 183,
+ 183, 183, 183, 183, 183, 183, 183, 183, 183, 183,
+ 183, 184, 184, 184, 185, 185, 186, 186, 186, 186,
+ 186, 186, 186, 186, 186, 186, 186, 186, 186, 186,
+ 187, 187, 188, 188, 189, 190, 190, 191, 191, 192,
+ 192, 193, 193, 193, 194, 194, 194, 194, 194, 195,
+ 195, 195, 195, 195, 195, 195, 195, 195, 195, 196,
+ 195, 197, 197, 197, 197, 198, 198, 199, 199, 199,
+ 199, 199, 200, 201, 201, 202, 202, 203, 203, 204,
+ 204, 205, 205, 205, 206, 206, 207, 208, 209, 209,
+ 210, 210, 211, 211, 212, 212, 213, 213, 214, 214,
+ 215, 215, 216, 216, 216, 216, 216, 217, 217, 218,
+ 218, 219, 220, 221, 221, 221, 221, 222, 222, 222,
+ 223, 223, 224, 225, 225, 226
};
static const short yyr2[] = { 0,
@@ -596,220 +597,228 @@ static const short yydefgoto[] = { 444,
146, 151, 265, 105, 355, 266
};
-static const short yypact[] = { 76,
--32768,-32768, 76,-32768, -55,-32768, 23, 59,-32768,-32768,
--32768,-32768, 31,-32768, 32, 350,-32768,-32768, 101, 120,
- 136, 144, 131, 152, 192, 350,-32768, 139,-32768,-32768,
--32768,-32768,-32768, 233,-32768,-32768, 394,-32768, 275, 34,
--32768,-32768,-32768, 133,-32768,-32768,-32768,-32768,-32768,-32768,
--32768,-32768,-32768,-32768, 258, 394,-32768,-32768,-32768,-32768,
--32768,-32768,-32768, 224, 547,-32768, 197,-32768, 63,-32768,
- 203,-32768,-32768, 45,-32768, 24,-32768, 205,-32768,-32768,
--32768, 21, 206,-32768, 240,-32768, 254, 266,-32768,-32768,
--32768,-32768,-32768, 288, 260,-32768,-32768,-32768, 623, 343,
--32768,-32768,-32768,-32768, 236, 352,-32768,-32768,-32768, 248,
- 251,-32768,-32768, 76, 248, 252, 257, 106,-32768,-32768,
--32768,-32768, 43, 248,-32768,-32768,-32768,-32768,-32768, 100,
--32768, 249, 256, 261, 300, 158,-32768,-32768, -55,-32768,
--32768, 189,-32768,-32768,-32768, 351, 471, -27,-32768,-32768,
--32768,-32768,-32768, 363, 623, 361, 248,-32768,-32768,-32768,
- 269,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
--32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, 277,
- 262,-32768,-32768, 70, 62, 108,-32768, 263, 80, 264,
- 357, 291, 327, -13, -9,-32768,-32768,-32768, 293,-32768,
- 294, 295, 323,-32768,-32768, 301, 297,-32768,-32768,-32768,
--32768, 407, 250, 407, 361, 158,-32768,-32768, 158,-32768,
- 14, 7, 14,-32768,-32768, 324, 7, 14, 316, 189,
--32768, 388, 8, 265, 47, 353, 47, 354, 52,-32768,
- 9, 323, 328, 395,-32768,-32768, -16,-32768,-32768, 255,
- 76, 323,-32768, 313, 99, 331, 318, -16,-32768,-32768,
--32768, 326,-32768,-32768,-32768,-32768, 323,-32768,-32768, 429,
--32768, 429,-32768,-32768,-32768,-32768, 333,-32768,-32768,-32768,
- 14,-32768,-32768, 355,-32768,-32768,-32768, 361, 321, 118,
--32768,-32768,-32768, 297,-32768, 366, 334, 337,-32768,-32768,
- 14, 297, 361, 335, 361,-32768,-32768, 162,-32768,-32768,
- 330, 173,-32768,-32768,-32768, 340, 370, 338, 341, 346,
- 234, 344, 348, 358, 364,-32768,-32768,-32768,-32768,-32768,
- 359, 370, 370,-32768, 370, 323, 380, 339, 365,-32768,
--32768,-32768,-32768, 349,-32768, 246,-32768, 8,-32768, 297,
--32768, 38,-32768, 14, 297,-32768,-32768, 297,-32768, 57,
- 246,-32768, 9,-32768,-32768,-32768,-32768, 345,-32768,-32768,
- 301, 2,-32768,-32768, 356,-32768,-32768,-32768, 368,-32768,
--32768, 17, 188,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
--32768,-32768,-32768,-32768,-32768,-32768, 372, 374,-32768, 407,
--32768,-32768, 195,-32768, -27, 323,-32768, 361, 377,-32768,
--32768, 339, 11,-32768,-32768,-32768,-32768, 429,-32768, 2,
- 121, 225, 377, 361,-32768,-32768,-32768, 11, 19,-32768,
--32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, 5,
--32768,-32768,-32768, 460, 466,-32768
+static const short yypact[] = { 223,
+-32768,-32768, 223,-32768, -76,-32768, 30, 24,-32768,-32768,
+-32768,-32768, 34,-32768, -61, 247,-32768,-32768, 61, 27,
+ 52, 71, 55, 77, 99, 247,-32768, 76,-32768,-32768,
+-32768,-32768,-32768, 181,-32768,-32768, 428,-32768, 187, 49,
+-32768,-32768,-32768, 154,-32768,-32768,-32768,-32768,-32768,-32768,
+-32768,-32768,-32768,-32768, 176, 428,-32768,-32768,-32768,-32768,
+-32768,-32768,-32768, 352, 581,-32768, 102,-32768, 199,-32768,
+ 117,-32768,-32768, 59,-32768, -26,-32768, 120,-32768,-32768,
+-32768, -15, 112,-32768, 179,-32768, 193, 165,-32768,-32768,
+-32768,-32768,-32768, 211, 208,-32768,-32768,-32768, 657, 266,
+-32768,-32768,-32768,-32768, 169, 299,-32768,-32768,-32768, 286,
+ 200,-32768,-32768, 223, 286, 206, 210, 3,-32768,-32768,
+-32768,-32768, 45, 286,-32768,-32768,-32768,-32768,-32768, -23,
+-32768, 224, 227, 239, 319, 184,-32768,-32768, -76,-32768,
+-32768, 312,-32768,-32768,-32768, 340, 505, 57,-32768,-32768,
+-32768,-32768,-32768, 354, 657, 355, 286,-32768,-32768,-32768,
+ 246,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
+-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, 259,
+ 264,-32768,-32768, 168, 37, 35,-32768, 268, 65, 274,
+ 345, 278, 314, 116, 170,-32768,-32768,-32768, 280,-32768,
+ 281, 282, 166,-32768,-32768, 285, 275,-32768,-32768,-32768,
+-32768, 385, 326, 385, 355, 184,-32768,-32768, 184,-32768,
+ 98, 94, 98,-32768,-32768, 303, 94, 98, 298, 312,
+-32768, 369, 7, 334, 16, 330, 16, 335, 56,-32768,
+ 14, 166, 310, 380,-32768,-32768, -25,-32768,-32768, 318,
+ 223, 166,-32768, 301, 203, 324, 316, -25,-32768,-32768,
+-32768, 305,-32768,-32768,-32768,-32768, 166,-32768,-32768, 421,
+-32768, 421,-32768,-32768,-32768,-32768, 344,-32768,-32768,-32768,
+ 98,-32768,-32768, 341,-32768,-32768,-32768, 355, 313, 131,
+-32768,-32768,-32768, 275,-32768, 356, 323, 322,-32768,-32768,
+ 98, 275, 355, 327, 355,-32768,-32768, 141,-32768,-32768,
+ 329, 155,-32768,-32768,-32768, 342, 309, 333, 336, 331,
+ 235, 347, 337, 343, 348,-32768,-32768,-32768,-32768,-32768,
+ 339, 309, 309,-32768, 309, 166, 248, 338, 350,-32768,
+-32768,-32768,-32768, 346,-32768, 317,-32768, 7,-32768, 275,
+-32768, 12,-32768, 98, 275,-32768,-32768, 275,-32768, 68,
+ 317,-32768, 14,-32768,-32768,-32768,-32768, 349,-32768,-32768,
+ 285, 0,-32768,-32768, 351,-32768,-32768,-32768, 358,-32768,
+-32768, 6, 177,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
+-32768,-32768,-32768,-32768,-32768,-32768, 359, 361,-32768, 385,
+-32768,-32768, 201,-32768, 57, 166,-32768, 355, 360,-32768,
+-32768, 338, 43,-32768,-32768,-32768,-32768, 421,-32768, 0,
+ 10, 267, 360, 355,-32768,-32768,-32768, 43, 38,-32768,
+-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, 18,
+-32768,-32768,-32768, 461, 462,-32768
};
static const short yypgoto[] = {-32768,
--32768, 467,-32768, 336,-32768, 459,-32768,-32768, 453,-32768,
--32768, 430,-32768,-32768,-32768,-32768, 414,-32768, 379,-32768,
--32768, 385,-32768,-32768, 434,-32768,-32768, 347,-32768, 140,
- 267,-32768, 153,-32768, 159,-32768,-32768,-32768, 276,-32768,
--32768,-32768, 81, -250, -228, -80,-32768, -44,-32768, -103,
--32768, 298,-32768, -111, 332, 342,-32768, -3,-32768, -278,
- -107, -211, 86, 369,-32768, 26,-32768,-32768,-32768, -187,
--32768, 186, -64, 107, -141,-32768, 268,-32768, -259,-32768,
--32768,-32768, 92,-32768,-32768,-32768,-32768,-32768,-32768, 103,
- 111, -209,-32768,-32768,-32768, 160, -125, -50,-32768,-32768,
--32768,-32768, 1,-32768, 220, -7
+-32768, 463,-32768, 325,-32768, 452,-32768,-32768, 446,-32768,
+-32768, 417,-32768,-32768,-32768,-32768, 401,-32768, 363,-32768,
+-32768, 366,-32768,-32768, 414,-32768,-32768, 328,-32768, 121,
+ 250,-32768, 133,-32768, 140,-32768,-32768,-32768, 260,-32768,
+-32768,-32768, 64, -285, -228, -80,-32768, -22,-32768, -137,
+-32768, 276,-32768, -115, 308, 315,-32768, -31,-32768, -207,
+ -109, -211, -71, 357,-32768, -5,-32768,-32768,-32768, -187,
+-32768, 172, -133, 89, -45,-32768, 241,-32768, -242,-32768,
+-32768,-32768, 81,-32768,-32768,-32768,-32768,-32768,-32768, 85,
+ 95, -209,-32768,-32768,-32768, 142, -125, -148,-32768,-32768,
+-32768,-32768, 1,-32768, 202, -7
};
-#define YYLAST 720
+#define YYLAST 755
static const short yytable[] = { 15,
- 5, 120, 272, 5, 292, 15, 236, 238, 426, 10,
- 179, 276, 278, 279, 426, 10, 10, 282, 283, 159,
- 160, 427, 426, 163, 10, 159, 160, 427, 178, 65,
- 10, 11, 72, 159, 160, 427, 79, 64, 10, 11,
- 71, 10, 219, 197, 78, 10, 1, 2, 65, 219,
- 7, 117, 10, 67, 10, 202, 64, 1, 2, 10,
- 168, 370, 63, 171, 10, 168, 79, 387, 171, 202,
- 296, 343, 114, 202, 78, 217, 218, 381, 220, 296,
- 203, 63, 397, 217, 218, 220, 149, 319, 1, 2,
- 179, 353, 235, 179, 203, 16, 237, 150, 203, 133,
- 320, 163, 72, 221, 226, 219, 402, 79, 178, 28,
- 71, 178, 289, 310, 139, 78, 153, 428, 443, 292,
- 118, 118, 277, 428, 152, 441, 268, 143, 181, 12,
- 295, 428, 408, 118, 115, 164, 180, 17, 434, 19,
- 10, 220, 289, 68, 393, 1, 2, 201, 209, 211,
- 118, 289, 293, -72, 112, 133, 306, 210, 307, 118,
- 314, 306, 165, 166, 167, 10, 168, 169, 170, 171,
- 1, 2, 109, 110, 118, 365, -255, 316, 442, 29,
- -255, 73, 118, 144, 132, -281, 32, 325, 418, 442,
- 376, 377, 435, 378, 34, 124, 436, 145, 327, 328,
- 329, 330, 339, 184, 185, 172, 154, 273, 181, 331,
- 155, 181, 274, 349, 229, 275, 180, 421, 230, 180,
- 388, 354, 30, 173, 347, 294, 82, 302, 348, 302,
- 31, 311, 198, 315, 310, 398, 83, 84, 33, 166,
- 132, 10, 168, 169, 170, 171, 174, 36, 85, 38,
- 86, 324, 87, 10, 168, 10, 37, 171, 1, 2,
- 1, 2, 88, 175, 159, 160, 89, 293, 359, 391,
- 90, 379, 360, 91, 41, 42, 43, 83, 84, 362,
- 345, 245, 314, 363, 92, 45, 322, 323, 66, 93,
- 46, 94, 47, 95, 411, 356, 369, 356, 412, 80,
- 48, 419, 96, 97, 394, 420, 108, 395, 111, 49,
- 116, 50, 1, 2, 159, 160, 51, 98, 52, 53,
- 54, 124, 249, 125, 327, 328, 329, 330, 166, 99,
- 10, 168, 169, 170, 171, 1, 2, 126, 389, 127,
- 294, 128, 243, 129, 302, 134, 180, 341, 342, 414,
- 415, 135, 311, 389, 136, 315, 244, 138, 141, 188,
- 156, 180, 142, 20, 405, 207, 158, 157, 10, -282,
- 245, 246, 21, 216, 410, 166, 231, 10, 168, 169,
- 170, 171, 1, 2, 213, 166, 247, 10, 168, 169,
- 170, 171, 215, 22, 232, 23, 233, 234, 239, 241,
- 410, 10, 242, 244, 24, 248, 1, 2, 267, 118,
- 269, 249, 405, 284, 280, 288, 439, 245, 246, 38,
- 250, 326, 318, 303, 305, 336, 317, 245, 251, 334,
- 252, 338, 340, 247, 39, 346, 350, 361, 40, 344,
- 351, 357, 380, 366, 41, 42, 43, 352, 364, 368,
- 44, 203, 248, 372, 386, 45, 382, 367, 249, 445,
- 46, 401, 47, 375, 373, 446, 406, 250, 249, 6,
- 48, 18, 374, 385, 182, 251, 407, 252, 35, 49,
- 416, 50, 417, 189, 190, 81, 51, 113, 52, 53,
- 54, 191, 424, 140, 137, 85, 38, 86, 106, 87,
- 192, 208, 399, 304, 392, 287, 390, 371, 440, 88,
- 271, 433, 422, 89, 425, 199, 227, 90, 423, 396,
- 91, 41, 42, 43, 358, 337, 228, 0, 0, 193,
- 0, 92, 45, 0, 0, 0, 93, 46, 94, 47,
- 95, 0, 0, 0, 0, 0, 0, 48, 0, 96,
- 97, 194, 195, 0, 0, 0, 49, 0, 50, 83,
- 84, 0, 0, 51, 98, 52, 53, 54, 0, 0,
- 0, 85, 38, 86, 0, 87, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 88, 0, 0, 0, 89,
- 0, 0, 0, 90, 0, 0, 91, 41, 42, 43,
- 0, 0, 0, 0, 0, 0, 0, 92, 45, 0,
- 0, 0, 93, 46, 94, 47, 95, 0, 0, 0,
- 0, 0, 0, 48, 0, 96, 97, 0, 0, 0,
- 0, 0, 49, 0, 50, 1, 2, 0, 0, 51,
- 98, 52, 53, 54, 0, 0, 0, 85, 38, 86,
- 0, 87, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 88, 0, 0, 0, 89, 0, 0, 0, 90,
- 0, 0, 91, 41, 42, 43, 0, 0, 0, 0,
- 0, 0, 0, 92, 45, 0, 0, 0, 93, 46,
- 94, 47, 95, 0, 0, 0, 0, 0, 0, 48,
- 0, 96, 97, 0, 0, 0, 0, 0, 49, 0,
- 50, 0, 0, 0, 0, 51, 98, 52, 53, 54
+ 5, 120, 272, 5, 292, 15, 236, 238, 10, 197,
+ 179, 276, 278, 279, 10, 10, 117, 282, 283, 163,
+ 10, 426, 10, 114, 10, 143, 178, 132, 434, 65,
+ 7, 63, 72, 159, 160, 427, 79, 64, 10, 11,
+ 71, 426, 10, 11, 78, 296, 426, 19, 65, 296,
+ 63, 217, 218, 159, 160, 427, 64, 10, 159, 160,
+ 427, 16, 1, 2, 10, 168, 79, 10, 171, 67,
+ 28, 343, 1, 2, 78, 198, 10, 168, 370, 319,
+ 171, 144, 435, 132, 154, 115, 436, 29, 155, 149,
+ 179, 353, 320, 179, 381, 145, 295, 163, 118, 133,
+ 150, 34, 72, 221, 226, 402, 178, 79, 316, 178,
+ 71, 32, 289, 310, 139, 78, 153, 289, 325, 292,
+ 118, 289, 408, -72, 152, 118, 268, 118, 181, 118,
+ 219, 428, 443, 339, 219, 164, 180, 12, 387, 30,
+ 202, 17, 229, 442, 393, 441, 230, 201, 209, 211,
+ 118, 428, 293, 397, 442, 133, 428, 210, 31, 68,
+ 314, 306, 10, 307, 33, 203, 220, 1, 2, 112,
+ 220, -281, 166, 306, 10, 168, 169, 170, 171, 1,
+ 2, 124, 217, 218, 274, 36, 243, 275, 418, 165,
+ 166, 167, 10, 168, 169, 170, 171, 1, 2, 202,
+ 244, 66, 379, 73, 219, 37, 394, 273, 181, 395,
+ 277, 181, 108, 349, 245, 246, 180, 421, 80, 180,
+ 388, 354, 235, 111, 203, 294, 116, 302, 124, 302,
+ 247, 311, 172, 315, 310, 398, 1, 2, 347, 127,
+ 220, 166, 348, 10, 168, 169, 170, 171, 359, 248,
+ 173, 324, 360, 202, 166, 249, 10, 168, 169, 170,
+ 171, 20, 362, 125, 250, 128, 363, 293, 134, 391,
+ 21, 365, 251, 174, 252, -255, 237, 126, 203, -255,
+ 345, 118, 314, 245, 411, 135, 376, 377, 412, 378,
+ 175, 22, 129, 23, 10, 356, 245, 356, 369, 1,
+ 2, 136, 24, 327, 328, 329, 330, 138, 419, 109,
+ 110, 380, 420, 141, 331, 166, 142, 10, 168, 169,
+ 170, 171, 1, 2, 249, 10, 168, 184, 185, 171,
+ 1, 2, 1, 2, 159, 160, 156, 249, 389, 157,
+ 294, 159, 160, 244, 302, 158, 180, 83, 84, 188,
+ 322, 323, 311, 389, 82, 315, 207, 245, 246, 341,
+ 342, 180, 213, 10, 405, 83, 84, 327, 328, 329,
+ 330, 414, 415, 247, 410, 215, 216, 85, 38, 86,
+ -282, 87, 231, 232, 233, 234, 239, 241, 118, 269,
+ 242, 88, 248, 267, 280, 89, 284, 288, 249, 90,
+ 410, 303, 91, 41, 42, 43, 305, 250, 318, 317,
+ 326, 338, 405, 92, 45, 251, 439, 252, 93, 46,
+ 94, 47, 95, 334, 336, 340, 344, 350, 346, 48,
+ 351, 96, 97, 352, 357, 368, 10, 361, 49, 366,
+ 50, 1, 2, 372, 375, 51, 98, 52, 53, 54,
+ 373, 364, 386, 367, 38, 203, 382, 374, 99, 385,
+ 445, 446, 406, 182, 18, 6, 401, 407, 416, 39,
+ 417, 35, 81, 40, 113, 137, 424, 140, 106, 41,
+ 42, 43, 208, 399, 392, 44, 304, 390, 271, 287,
+ 45, 440, 227, 371, 422, 46, 425, 47, 337, 228,
+ 433, 396, 423, 199, 0, 48, 358, 0, 0, 0,
+ 0, 0, 0, 0, 49, 0, 50, 0, 189, 190,
+ 0, 51, 0, 52, 53, 54, 191, 0, 0, 0,
+ 85, 38, 86, 0, 87, 192, 0, 0, 0, 0,
+ 0, 0, 0, 0, 88, 0, 0, 0, 89, 0,
+ 0, 0, 90, 0, 0, 91, 41, 42, 43, 0,
+ 0, 0, 0, 0, 193, 0, 92, 45, 0, 0,
+ 0, 93, 46, 94, 47, 95, 0, 0, 0, 0,
+ 0, 0, 48, 0, 96, 97, 194, 195, 0, 0,
+ 0, 49, 0, 50, 83, 84, 0, 0, 51, 98,
+ 52, 53, 54, 0, 0, 0, 85, 38, 86, 0,
+ 87, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 88, 0, 0, 0, 89, 0, 0, 0, 90, 0,
+ 0, 91, 41, 42, 43, 0, 0, 0, 0, 0,
+ 0, 0, 92, 45, 0, 0, 0, 93, 46, 94,
+ 47, 95, 0, 0, 0, 0, 0, 0, 48, 0,
+ 96, 97, 0, 0, 0, 0, 0, 49, 0, 50,
+ 1, 2, 0, 0, 51, 98, 52, 53, 54, 0,
+ 0, 0, 85, 38, 86, 0, 87, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 88, 0, 0, 0,
+ 89, 0, 0, 0, 90, 0, 0, 91, 41, 42,
+ 43, 0, 0, 0, 0, 0, 0, 0, 92, 45,
+ 0, 0, 0, 93, 46, 94, 47, 95, 0, 0,
+ 0, 0, 0, 0, 48, 0, 96, 97, 0, 0,
+ 0, 0, 0, 49, 0, 50, 0, 0, 0, 0,
+ 51, 98, 52, 53, 54
};
static const short yycheck[] = { 7,
- 0, 82, 214, 3, 233, 13, 194, 195, 4, 8,
- 136, 221, 222, 223, 4, 8, 8, 227, 228, 15,
- 16, 17, 4, 135, 8, 15, 16, 17, 136, 37,
- 8, 9, 40, 15, 16, 17, 44, 37, 8, 9,
- 40, 8, 36, 147, 44, 8, 13, 14, 56, 36,
- 106, 31, 8, 20, 8, 83, 56, 13, 14, 8,
- 9, 321, 37, 12, 8, 9, 74, 346, 12, 83,
- 33, 281, 49, 83, 74, 14, 15, 337, 72, 33,
- 108, 56, 361, 14, 15, 72, 44, 104, 13, 14,
- 216, 301, 106, 219, 108, 37, 106, 55, 108, 99,
- 117, 213, 110, 184, 185, 36, 105, 115, 216, 9,
- 110, 219, 105, 239, 114, 115, 124, 113, 114, 348,
- 113, 113, 116, 113, 124, 107, 207, 22, 136, 107,
- 234, 113, 116, 113, 111, 135, 136, 107, 18, 108,
- 8, 72, 105, 110, 354, 13, 14, 147, 156, 157,
- 113, 105, 233, 107, 110, 155, 105, 157, 107, 113,
- 241, 105, 5, 6, 7, 8, 9, 10, 11, 12,
- 13, 14, 110, 111, 113, 317, 107, 242, 429, 60,
- 111, 49, 113, 78, 99, 106, 56, 252, 400, 440,
- 332, 333, 72, 335, 3, 116, 76, 92, 100, 101,
- 102, 103, 267, 15, 16, 48, 107, 215, 216, 111,
- 111, 219, 216, 294, 107, 219, 216, 405, 111, 219,
- 346, 302, 87, 66, 107, 233, 3, 235, 111, 237,
- 87, 239, 147, 241, 360, 361, 13, 14, 87, 6,
- 155, 8, 9, 10, 11, 12, 89, 109, 25, 26,
- 27, 251, 29, 8, 9, 8, 24, 12, 13, 14,
- 13, 14, 39, 106, 15, 16, 43, 348, 107, 350,
- 47, 336, 111, 50, 51, 52, 53, 13, 14, 107,
- 288, 48, 363, 111, 61, 62, 32, 33, 14, 66,
- 67, 68, 69, 70, 107, 303, 63, 305, 111, 42,
- 77, 107, 79, 80, 355, 111, 110, 358, 106, 86,
- 106, 88, 13, 14, 15, 16, 93, 94, 95, 96,
- 97, 116, 89, 84, 100, 101, 102, 103, 6, 106,
- 8, 9, 10, 11, 12, 13, 14, 84, 346, 74,
- 348, 54, 20, 84, 352, 3, 346, 15, 16, 394,
- 395, 116, 360, 361, 3, 363, 34, 107, 107, 9,
- 112, 361, 106, 14, 372, 3, 106, 112, 8, 106,
- 48, 49, 23, 112, 382, 6, 114, 8, 9, 10,
- 11, 12, 13, 14, 116, 6, 64, 8, 9, 10,
- 11, 12, 116, 44, 38, 46, 106, 71, 106, 106,
- 408, 8, 108, 34, 55, 83, 13, 14, 108, 113,
- 4, 89, 420, 98, 91, 28, 424, 48, 49, 26,
- 98, 109, 28, 71, 71, 108, 99, 48, 106, 99,
- 108, 106, 4, 64, 41, 115, 71, 108, 45, 85,
- 107, 107, 63, 106, 51, 52, 53, 111, 109, 104,
- 57, 108, 83, 106, 106, 62, 118, 117, 89, 0,
- 67, 117, 69, 105, 107, 0, 111, 98, 89, 3,
- 77, 13, 109, 109, 139, 106, 109, 108, 26, 86,
- 109, 88, 109, 13, 14, 56, 93, 74, 95, 96,
- 97, 21, 116, 115, 110, 25, 26, 27, 65, 29,
- 30, 155, 363, 237, 352, 230, 348, 322, 428, 39,
- 213, 420, 406, 43, 412, 147, 185, 47, 408, 360,
- 50, 51, 52, 53, 305, 258, 185, -1, -1, 59,
- -1, 61, 62, -1, -1, -1, 66, 67, 68, 69,
- 70, -1, -1, -1, -1, -1, -1, 77, -1, 79,
- 80, 81, 82, -1, -1, -1, 86, -1, 88, 13,
- 14, -1, -1, 93, 94, 95, 96, 97, -1, -1,
- -1, 25, 26, 27, -1, 29, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, 39, -1, -1, -1, 43,
- -1, -1, -1, 47, -1, -1, 50, 51, 52, 53,
- -1, -1, -1, -1, -1, -1, -1, 61, 62, -1,
- -1, -1, 66, 67, 68, 69, 70, -1, -1, -1,
- -1, -1, -1, 77, -1, 79, 80, -1, -1, -1,
- -1, -1, 86, -1, 88, 13, 14, -1, -1, 93,
- 94, 95, 96, 97, -1, -1, -1, 25, 26, 27,
- -1, 29, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, 39, -1, -1, -1, 43, -1, -1, -1, 47,
- -1, -1, 50, 51, 52, 53, -1, -1, -1, -1,
- -1, -1, -1, 61, 62, -1, -1, -1, 66, 67,
- 68, 69, 70, -1, -1, -1, -1, -1, -1, 77,
- -1, 79, 80, -1, -1, -1, -1, -1, 86, -1,
- 88, -1, -1, -1, -1, 93, 94, 95, 96, 97
+ 0, 82, 214, 3, 233, 13, 194, 195, 9, 147,
+ 136, 221, 222, 223, 9, 9, 32, 227, 228, 135,
+ 9, 4, 9, 50, 9, 23, 136, 99, 19, 37,
+ 107, 37, 40, 16, 17, 18, 44, 37, 9, 10,
+ 40, 4, 9, 10, 44, 34, 4, 109, 56, 34,
+ 56, 15, 16, 16, 17, 18, 56, 9, 16, 17,
+ 18, 38, 14, 15, 9, 10, 74, 9, 13, 21,
+ 10, 281, 14, 15, 74, 147, 9, 10, 321, 105,
+ 13, 79, 73, 155, 108, 112, 77, 61, 112, 45,
+ 216, 301, 118, 219, 337, 93, 234, 213, 114, 99,
+ 56, 3, 110, 184, 185, 106, 216, 115, 242, 219,
+ 110, 57, 106, 239, 114, 115, 124, 106, 252, 348,
+ 114, 106, 117, 108, 124, 114, 207, 114, 136, 114,
+ 37, 114, 115, 267, 37, 135, 136, 108, 346, 88,
+ 84, 108, 108, 429, 354, 108, 112, 147, 156, 157,
+ 114, 114, 233, 361, 440, 155, 114, 157, 88, 111,
+ 241, 106, 9, 108, 88, 109, 73, 14, 15, 111,
+ 73, 107, 7, 106, 9, 10, 11, 12, 13, 14,
+ 15, 117, 15, 16, 216, 110, 21, 219, 400, 6,
+ 7, 8, 9, 10, 11, 12, 13, 14, 15, 84,
+ 35, 15, 336, 50, 37, 25, 355, 215, 216, 358,
+ 117, 219, 111, 294, 49, 50, 216, 405, 43, 219,
+ 346, 302, 107, 107, 109, 233, 107, 235, 117, 237,
+ 65, 239, 49, 241, 360, 361, 14, 15, 108, 75,
+ 73, 7, 112, 9, 10, 11, 12, 13, 108, 84,
+ 67, 251, 112, 84, 7, 90, 9, 10, 11, 12,
+ 13, 15, 108, 85, 99, 55, 112, 348, 3, 350,
+ 24, 317, 107, 90, 109, 108, 107, 85, 109, 112,
+ 288, 114, 363, 49, 108, 117, 332, 333, 112, 335,
+ 107, 45, 85, 47, 9, 303, 49, 305, 64, 14,
+ 15, 3, 56, 101, 102, 103, 104, 108, 108, 111,
+ 112, 64, 112, 108, 112, 7, 107, 9, 10, 11,
+ 12, 13, 14, 15, 90, 9, 10, 16, 17, 13,
+ 14, 15, 14, 15, 16, 17, 113, 90, 346, 113,
+ 348, 16, 17, 35, 352, 107, 346, 14, 15, 10,
+ 33, 34, 360, 361, 3, 363, 3, 49, 50, 16,
+ 17, 361, 117, 9, 372, 14, 15, 101, 102, 103,
+ 104, 394, 395, 65, 382, 117, 113, 26, 27, 28,
+ 107, 30, 115, 39, 107, 72, 107, 107, 114, 5,
+ 109, 40, 84, 109, 92, 44, 99, 29, 90, 48,
+ 408, 72, 51, 52, 53, 54, 72, 99, 29, 100,
+ 110, 107, 420, 62, 63, 107, 424, 109, 67, 68,
+ 69, 70, 71, 100, 109, 5, 86, 72, 116, 78,
+ 108, 80, 81, 112, 108, 105, 9, 109, 87, 107,
+ 89, 14, 15, 107, 106, 94, 95, 96, 97, 98,
+ 108, 110, 107, 118, 27, 109, 119, 110, 107, 110,
+ 0, 0, 112, 139, 13, 3, 118, 110, 110, 42,
+ 110, 26, 56, 46, 74, 110, 117, 115, 65, 52,
+ 53, 54, 155, 363, 352, 58, 237, 348, 213, 230,
+ 63, 428, 185, 322, 406, 68, 412, 70, 258, 185,
+ 420, 360, 408, 147, -1, 78, 305, -1, -1, -1,
+ -1, -1, -1, -1, 87, -1, 89, -1, 14, 15,
+ -1, 94, -1, 96, 97, 98, 22, -1, -1, -1,
+ 26, 27, 28, -1, 30, 31, -1, -1, -1, -1,
+ -1, -1, -1, -1, 40, -1, -1, -1, 44, -1,
+ -1, -1, 48, -1, -1, 51, 52, 53, 54, -1,
+ -1, -1, -1, -1, 60, -1, 62, 63, -1, -1,
+ -1, 67, 68, 69, 70, 71, -1, -1, -1, -1,
+ -1, -1, 78, -1, 80, 81, 82, 83, -1, -1,
+ -1, 87, -1, 89, 14, 15, -1, -1, 94, 95,
+ 96, 97, 98, -1, -1, -1, 26, 27, 28, -1,
+ 30, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ 40, -1, -1, -1, 44, -1, -1, -1, 48, -1,
+ -1, 51, 52, 53, 54, -1, -1, -1, -1, -1,
+ -1, -1, 62, 63, -1, -1, -1, 67, 68, 69,
+ 70, 71, -1, -1, -1, -1, -1, -1, 78, -1,
+ 80, 81, -1, -1, -1, -1, -1, 87, -1, 89,
+ 14, 15, -1, -1, 94, 95, 96, 97, 98, -1,
+ -1, -1, 26, 27, 28, -1, 30, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, 40, -1, -1, -1,
+ 44, -1, -1, -1, 48, -1, -1, 51, 52, 53,
+ 54, -1, -1, -1, -1, -1, -1, -1, 62, 63,
+ -1, -1, -1, 67, 68, 69, 70, 71, -1, -1,
+ -1, -1, -1, -1, 78, -1, 80, 81, -1, -1,
+ -1, -1, -1, 87, -1, 89, -1, -1, -1, -1,
+ 94, 95, 96, 97, 98
};
/* -*-C-*- Note some compilers choke on comments on `#line' lines. */
#line 3 "/usr/share/bison.simple"
@@ -1355,13 +1364,13 @@ yyreduce:
switch (yyn) {
case 1:
-#line 324 "asn1p_y.y"
+#line 325 "asn1p_y.y"
{
*(void **)param = yyvsp[0].a_grammar;
;
break;}
case 2:
-#line 330 "asn1p_y.y"
+#line 331 "asn1p_y.y"
{
yyval.a_grammar = asn1p_new();
checkmem(yyval.a_grammar);
@@ -1369,14 +1378,14 @@ case 2:
;
break;}
case 3:
-#line 335 "asn1p_y.y"
+#line 336 "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:
-#line 356 "asn1p_y.y"
+#line 357 "asn1p_y.y"
{
if(yyvsp[-1].a_module) {
@@ -1393,27 +1402,27 @@ case 4:
;
break;}
case 5:
-#line 377 "asn1p_y.y"
+#line 378 "asn1p_y.y"
{ yyval.a_oid = 0; ;
break;}
case 6:
-#line 378 "asn1p_y.y"
+#line 379 "asn1p_y.y"
{ yyval.a_oid = yyvsp[0].a_oid; ;
break;}
case 7:
-#line 382 "asn1p_y.y"
+#line 383 "asn1p_y.y"
{
yyval.a_oid = yyvsp[-1].a_oid;
;
break;}
case 8:
-#line 385 "asn1p_y.y"
+#line 386 "asn1p_y.y"
{
yyval.a_oid = 0;
;
break;}
case 9:
-#line 391 "asn1p_y.y"
+#line 392 "asn1p_y.y"
{
yyval.a_oid = asn1p_oid_new();
asn1p_oid_add_arc(yyval.a_oid, &yyvsp[0].a_oid_arc);
@@ -1422,7 +1431,7 @@ case 9:
;
break;}
case 10:
-#line 397 "asn1p_y.y"
+#line 398 "asn1p_y.y"
{
yyval.a_oid = yyvsp[-1].a_oid;
asn1p_oid_add_arc(yyval.a_oid, &yyvsp[0].a_oid_arc);
@@ -1431,74 +1440,74 @@ case 10:
;
break;}
case 11:
-#line 406 "asn1p_y.y"
+#line 407 "asn1p_y.y"
{ /* iso */
yyval.a_oid_arc.name = yyvsp[0].tv_str;
yyval.a_oid_arc.number = -1;
;
break;}
case 12:
-#line 410 "asn1p_y.y"
+#line 411 "asn1p_y.y"
{ /* iso(1) */
yyval.a_oid_arc.name = yyvsp[-3].tv_str;
yyval.a_oid_arc.number = yyvsp[-1].a_int;
;
break;}
case 13:
-#line 414 "asn1p_y.y"
+#line 415 "asn1p_y.y"
{ /* 1 */
yyval.a_oid_arc.name = 0;
yyval.a_oid_arc.number = yyvsp[0].a_int;
;
break;}
case 14:
-#line 424 "asn1p_y.y"
+#line 425 "asn1p_y.y"
{ yyval.a_module_flags = MSF_NOFLAGS; ;
break;}
case 15:
-#line 425 "asn1p_y.y"
+#line 426 "asn1p_y.y"
{
yyval.a_module_flags = yyvsp[0].a_module_flags;
;
break;}
case 16:
-#line 434 "asn1p_y.y"
+#line 435 "asn1p_y.y"
{
yyval.a_module_flags = yyvsp[0].a_module_flags;
;
break;}
case 17:
-#line 437 "asn1p_y.y"
+#line 438 "asn1p_y.y"
{
yyval.a_module_flags = yyvsp[-1].a_module_flags | yyvsp[0].a_module_flags;
;
break;}
case 18:
-#line 446 "asn1p_y.y"
+#line 447 "asn1p_y.y"
{
yyval.a_module_flags = MSF_EXPLICIT_TAGS;
;
break;}
case 19:
-#line 449 "asn1p_y.y"
+#line 450 "asn1p_y.y"
{
yyval.a_module_flags = MSF_IMPLICIT_TAGS;
;
break;}
case 20:
-#line 452 "asn1p_y.y"
+#line 453 "asn1p_y.y"
{
yyval.a_module_flags = MSF_AUTOMATIC_TAGS;
;
break;}
case 21:
-#line 455 "asn1p_y.y"
+#line 456 "asn1p_y.y"
{
yyval.a_module_flags = MSF_EXTENSIBILITY_IMPLIED;
;
break;}
case 22:
-#line 459 "asn1p_y.y"
+#line 460 "asn1p_y.y"
{
/* X.680Amd1 specifies TAG and XER */
if(strcmp(yyvsp[-1].tv_str, "TAG") == 0) {
@@ -1516,23 +1525,23 @@ case 22:
;
break;}
case 23:
-#line 480 "asn1p_y.y"
+#line 481 "asn1p_y.y"
{ yyval.a_module = 0; ;
break;}
case 24:
-#line 481 "asn1p_y.y"
+#line 482 "asn1p_y.y"
{
yyval.a_module = yyvsp[0].a_module;
;
break;}
case 25:
-#line 490 "asn1p_y.y"
+#line 491 "asn1p_y.y"
{
yyval.a_module = yyvsp[0].a_module;
;
break;}
case 26:
-#line 493 "asn1p_y.y"
+#line 494 "asn1p_y.y"
{
yyval.a_module = yyvsp[-1].a_module;
@@ -1562,13 +1571,13 @@ case 26:
;
break;}
case 27:
-#line 526 "asn1p_y.y"
+#line 527 "asn1p_y.y"
{
yyval.a_module = yyvsp[0].a_module;
;
break;}
case 28:
-#line 529 "asn1p_y.y"
+#line 530 "asn1p_y.y"
{
yyval.a_module = asn1p_module_new();
checkmem(yyval.a_module);
@@ -1580,7 +1589,7 @@ case 28:
;
break;}
case 29:
-#line 538 "asn1p_y.y"
+#line 539 "asn1p_y.y"
{
yyval.a_module = asn1p_module_new();
checkmem(yyval.a_module);
@@ -1590,7 +1599,7 @@ case 29:
;
break;}
case 30:
-#line 545 "asn1p_y.y"
+#line 546 "asn1p_y.y"
{
yyval.a_module = asn1p_module_new();
checkmem(yyval.a_module);
@@ -1600,7 +1609,7 @@ case 30:
;
break;}
case 31:
-#line 558 "asn1p_y.y"
+#line 559 "asn1p_y.y"
{
yyval.a_module = asn1p_module_new();
checkmem(yyval.a_module);
@@ -1610,11 +1619,11 @@ case 31:
;
break;}
case 32:
-#line 566 "asn1p_y.y"
+#line 567 "asn1p_y.y"
{ asn1p_lexer_hack_push_encoding_control(); ;
break;}
case 33:
-#line 567 "asn1p_y.y"
+#line 568 "asn1p_y.y"
{
fprintf(stderr,
"WARNING: ENCODING-CONTROL %s "
@@ -1625,7 +1634,7 @@ case 33:
;
break;}
case 34:
-#line 579 "asn1p_y.y"
+#line 580 "asn1p_y.y"
{
return yyerror(
"Attempt to redefine a standard basic string type, "
@@ -1633,7 +1642,7 @@ case 34:
;
break;}
case 35:
-#line 592 "asn1p_y.y"
+#line 593 "asn1p_y.y"
{
if(!saved_aid && 0)
return yyerror("Unterminated IMPORTS FROM, "
@@ -1643,13 +1652,13 @@ case 35:
;
break;}
case 36:
-#line 602 "asn1p_y.y"
+#line 603 "asn1p_y.y"
{
return yyerror("Empty IMPORTS list");
;
break;}
case 37:
-#line 608 "asn1p_y.y"
+#line 609 "asn1p_y.y"
{
yyval.a_module = asn1p_module_new();
checkmem(yyval.a_module);
@@ -1657,22 +1666,22 @@ case 37:
;
break;}
case 38:
-#line 613 "asn1p_y.y"
+#line 614 "asn1p_y.y"
{
yyval.a_module = yyvsp[-1].a_module;
TQ_ADD(&(yyval.a_module->imports), yyvsp[0].a_xports, xp_next);
;
break;}
case 39:
-#line 620 "asn1p_y.y"
+#line 621 "asn1p_y.y"
{ memset(&yyval.a_aid, 0, sizeof(yyval.a_aid)); ;
break;}
case 40:
-#line 621 "asn1p_y.y"
+#line 622 "asn1p_y.y"
{ yyval.a_aid.oid = yyvsp[0].a_oid; ;
break;}
case 41:
-#line 625 "asn1p_y.y"
+#line 626 "asn1p_y.y"
{
yyval.a_xports = yyvsp[-3].a_xports;
yyval.a_xports->fromModuleName = yyvsp[-1].tv_str;
@@ -1683,7 +1692,7 @@ case 41:
;
break;}
case 42:
-#line 636 "asn1p_y.y"
+#line 637 "asn1p_y.y"
{
yyval.a_xports = asn1p_xports_new();
checkmem(yyval.a_xports);
@@ -1691,14 +1700,14 @@ case 42:
;
break;}
case 43:
-#line 641 "asn1p_y.y"
+#line 642 "asn1p_y.y"
{
yyval.a_xports = yyvsp[-2].a_xports;
TQ_ADD(&(yyval.a_xports->members), yyvsp[0].a_expr, next);
;
break;}
case 44:
-#line 648 "asn1p_y.y"
+#line 649 "asn1p_y.y"
{
yyval.a_expr = asn1p_expr_new(yylineno);
checkmem(yyval.a_expr);
@@ -1707,7 +1716,7 @@ case 44:
;
break;}
case 45:
-#line 654 "asn1p_y.y"
+#line 655 "asn1p_y.y"
{ /* Completely equivalent to above */
yyval.a_expr = asn1p_expr_new(yylineno);
checkmem(yyval.a_expr);
@@ -1716,7 +1725,7 @@ case 45:
;
break;}
case 46:
-#line 660 "asn1p_y.y"
+#line 661 "asn1p_y.y"
{
yyval.a_expr = asn1p_expr_new(yylineno);
checkmem(yyval.a_expr);
@@ -1725,19 +1734,19 @@ case 46:
;
break;}
case 47:
-#line 669 "asn1p_y.y"
+#line 670 "asn1p_y.y"
{
yyval.a_xports = yyvsp[-1].a_xports;
;
break;}
case 48:
-#line 672 "asn1p_y.y"
+#line 673 "asn1p_y.y"
{
yyval.a_xports = 0;
;
break;}
case 49:
-#line 675 "asn1p_y.y"
+#line 676 "asn1p_y.y"
{
/* Empty EXPORTS clause effectively prohibits export. */
yyval.a_xports = asn1p_xports_new();
@@ -1745,7 +1754,7 @@ case 49:
;
break;}
case 50:
-#line 683 "asn1p_y.y"
+#line 684 "asn1p_y.y"
{
yyval.a_xports = asn1p_xports_new();
assert(yyval.a_xports);
@@ -1753,14 +1762,14 @@ case 50:
;
break;}
case 51:
-#line 688 "asn1p_y.y"
+#line 689 "asn1p_y.y"
{
yyval.a_xports = yyvsp[-2].a_xports;
TQ_ADD(&(yyval.a_xports->members), yyvsp[0].a_expr, next);
;
break;}
case 52:
-#line 695 "asn1p_y.y"
+#line 696 "asn1p_y.y"
{
yyval.a_expr = asn1p_expr_new(yylineno);
checkmem(yyval.a_expr);
@@ -1769,7 +1778,7 @@ case 52:
;
break;}
case 53:
-#line 701 "asn1p_y.y"
+#line 702 "asn1p_y.y"
{
yyval.a_expr = asn1p_expr_new(yylineno);
checkmem(yyval.a_expr);
@@ -1778,7 +1787,7 @@ case 53:
;
break;}
case 54:
-#line 707 "asn1p_y.y"
+#line 708 "asn1p_y.y"
{
yyval.a_expr = asn1p_expr_new(yylineno);
checkmem(yyval.a_expr);
@@ -1787,11 +1796,11 @@ case 54:
;
break;}
case 55:
-#line 718 "asn1p_y.y"
+#line 719 "asn1p_y.y"
{ asn1p_lexer_hack_push_opaque_state(); ;
break;}
case 56:
-#line 718 "asn1p_y.y"
+#line 719 "asn1p_y.y"
{
yyval.a_expr = yyvsp[-4].a_expr;
assert(yyval.a_expr->Identifier == 0);
@@ -1801,7 +1810,7 @@ case 56:
;
break;}
case 57:
-#line 728 "asn1p_y.y"
+#line 729 "asn1p_y.y"
{
yyval.a_expr = asn1p_expr_new(yylineno);
checkmem(yyval.a_expr);
@@ -1811,7 +1820,7 @@ case 57:
;
break;}
case 58:
-#line 735 "asn1p_y.y"
+#line 736 "asn1p_y.y"
{
yyval.a_expr = asn1p_expr_new(yylineno);
checkmem(yyval.a_expr);
@@ -1820,7 +1829,7 @@ case 58:
;
break;}
case 59:
-#line 753 "asn1p_y.y"
+#line 754 "asn1p_y.y"
{
yyval.a_expr = yyvsp[0].a_expr;
yyval.a_expr->Identifier = yyvsp[-2].tv_str;
@@ -1829,7 +1838,7 @@ case 59:
;
break;}
case 60:
-#line 759 "asn1p_y.y"
+#line 760 "asn1p_y.y"
{
yyval.a_expr = yyvsp[0].a_expr;
yyval.a_expr->Identifier = yyvsp[-2].tv_str;
@@ -1838,7 +1847,7 @@ case 60:
;
break;}
case 61:
-#line 775 "asn1p_y.y"
+#line 776 "asn1p_y.y"
{
yyval.a_expr = yyvsp[0].a_expr;
assert(yyval.a_expr->Identifier == 0);
@@ -1848,7 +1857,7 @@ case 61:
;
break;}
case 62:
-#line 785 "asn1p_y.y"
+#line 786 "asn1p_y.y"
{
int ret;
yyval.a_plist = asn1p_paramlist_new(yylineno);
@@ -1860,7 +1869,7 @@ case 62:
;
break;}
case 63:
-#line 794 "asn1p_y.y"
+#line 795 "asn1p_y.y"
{
int ret;
yyval.a_plist = yyvsp[-2].a_plist;
@@ -1871,14 +1880,14 @@ case 63:
;
break;}
case 64:
-#line 805 "asn1p_y.y"
+#line 806 "asn1p_y.y"
{
yyval.a_parg.governor = NULL;
yyval.a_parg.argument = yyvsp[0].tv_str;
;
break;}
case 65:
-#line 809 "asn1p_y.y"
+#line 810 "asn1p_y.y"
{
int ret;
yyval.a_parg.governor = asn1p_ref_new(yylineno);
@@ -1888,7 +1897,7 @@ case 65:
;
break;}
case 66:
-#line 816 "asn1p_y.y"
+#line 817 "asn1p_y.y"
{
int ret;
yyval.a_parg.governor = asn1p_ref_new(yylineno);
@@ -1898,7 +1907,7 @@ case 66:
;
break;}
case 67:
-#line 823 "asn1p_y.y"
+#line 824 "asn1p_y.y"
{
int ret;
yyval.a_parg.governor = asn1p_ref_new(yylineno);
@@ -1909,7 +1918,7 @@ case 67:
;
break;}
case 68:
-#line 834 "asn1p_y.y"
+#line 835 "asn1p_y.y"
{
yyval.a_expr = asn1p_expr_new(yylineno);
checkmem(yyval.a_expr);
@@ -1917,20 +1926,20 @@ case 68:
;
break;}
case 69:
-#line 839 "asn1p_y.y"
+#line 840 "asn1p_y.y"
{
yyval.a_expr = yyvsp[-2].a_expr;
asn1p_expr_add(yyval.a_expr, yyvsp[0].a_expr);
;
break;}
case 70:
-#line 846 "asn1p_y.y"
+#line 847 "asn1p_y.y"
{
yyval.a_expr = yyvsp[0].a_expr;
;
break;}
case 71:
-#line 849 "asn1p_y.y"
+#line 850 "asn1p_y.y"
{
yyval.a_expr = asn1p_expr_new(yylineno);
checkmem(yyval.a_expr);
@@ -1940,15 +1949,15 @@ case 71:
;
break;}
case 72:
-#line 873 "asn1p_y.y"
+#line 874 "asn1p_y.y"
{ yyval.a_expr = asn1p_expr_new(yylineno); ;
break;}
case 73:
-#line 874 "asn1p_y.y"
+#line 875 "asn1p_y.y"
{ yyval.a_expr = yyvsp[0].a_expr; ;
break;}
case 74:
-#line 877 "asn1p_y.y"
+#line 878 "asn1p_y.y"
{
yyval.a_expr = asn1p_expr_new(yylineno);
checkmem(yyval.a_expr);
@@ -1956,14 +1965,14 @@ case 74:
;
break;}
case 75:
-#line 882 "asn1p_y.y"
+#line 883 "asn1p_y.y"
{
yyval.a_expr = yyvsp[-2].a_expr;
asn1p_expr_add(yyval.a_expr, yyvsp[0].a_expr);
;
break;}
case 76:
-#line 889 "asn1p_y.y"
+#line 890 "asn1p_y.y"
{
yyval.a_expr = yyvsp[-1].a_expr;
assert(yyval.a_expr->Identifier == 0);
@@ -1973,7 +1982,7 @@ case 76:
;
break;}
case 77:
-#line 896 "asn1p_y.y"
+#line 897 "asn1p_y.y"
{
yyval.a_expr = yyvsp[-1].a_expr;
yyvsp[0].a_marker.flags |= yyval.a_expr->marker.flags;
@@ -1982,7 +1991,7 @@ case 77:
;
break;}
case 78:
-#line 902 "asn1p_y.y"
+#line 903 "asn1p_y.y"
{
yyval.a_expr = asn1p_expr_new(yylineno);
checkmem(yyval.a_expr);
@@ -1992,13 +2001,13 @@ case 78:
;
break;}
case 79:
-#line 909 "asn1p_y.y"
+#line 910 "asn1p_y.y"
{
yyval.a_expr = yyvsp[0].a_expr;
;
break;}
case 80:
-#line 915 "asn1p_y.y"
+#line 916 "asn1p_y.y"
{
yyval.a_expr = asn1p_expr_new(yylineno);
checkmem(yyval.a_expr);
@@ -2006,14 +2015,14 @@ case 80:
;
break;}
case 81:
-#line 920 "asn1p_y.y"
+#line 921 "asn1p_y.y"
{
yyval.a_expr = yyvsp[-2].a_expr;
asn1p_expr_add(yyval.a_expr, yyvsp[0].a_expr);
;
break;}
case 82:
-#line 927 "asn1p_y.y"
+#line 928 "asn1p_y.y"
{
yyval.a_expr = yyvsp[0].a_expr;
assert(yyval.a_expr->Identifier == 0);
@@ -2021,20 +2030,20 @@ case 82:
;
break;}
case 83:
-#line 932 "asn1p_y.y"
+#line 933 "asn1p_y.y"
{
yyval.a_expr = yyvsp[0].a_expr;
;
break;}
case 84:
-#line 935 "asn1p_y.y"
+#line 936 "asn1p_y.y"
{
yyval.a_expr = yyvsp[0].a_expr;
_fixup_anonymous_identifier(yyval.a_expr);
;
break;}
case 85:
-#line 942 "asn1p_y.y"
+#line 943 "asn1p_y.y"
{
yyval.a_expr = yyvsp[-2].a_expr;
checkmem(yyval.a_expr);
@@ -2044,15 +2053,15 @@ case 85:
;
break;}
case 86:
-#line 952 "asn1p_y.y"
+#line 953 "asn1p_y.y"
{ yyval.a_int = 0; ;
break;}
case 87:
-#line 953 "asn1p_y.y"
+#line 954 "asn1p_y.y"
{ yyval.a_int = 1; ;
break;}
case 88:
-#line 957 "asn1p_y.y"
+#line 958 "asn1p_y.y"
{
yyval.a_expr = asn1p_expr_new(yylineno);
checkmem(yyval.a_expr);
@@ -2062,14 +2071,14 @@ case 88:
;
break;}
case 89:
-#line 964 "asn1p_y.y"
+#line 965 "asn1p_y.y"
{
yyval.a_expr = yyvsp[-2].a_expr;
asn1p_expr_add(yyval.a_expr, yyvsp[0].a_expr);
;
break;}
case 90:
-#line 974 "asn1p_y.y"
+#line 975 "asn1p_y.y"
{
yyval.a_expr = asn1p_expr_new(yylineno);
checkmem(yyval.a_expr);
@@ -2080,7 +2089,7 @@ case 90:
;
break;}
case 91:
-#line 984 "asn1p_y.y"
+#line 985 "asn1p_y.y"
{
yyval.a_expr = asn1p_expr_new(yylineno);
yyval.a_expr->Identifier = yyvsp[-3].tv_str;
@@ -2092,7 +2101,7 @@ case 91:
;
break;}
case 92:
-#line 995 "asn1p_y.y"
+#line 996 "asn1p_y.y"
{
yyval.a_expr = asn1p_expr_new(yylineno);
yyval.a_expr->Identifier = yyvsp[-2].tv_str;
@@ -2103,7 +2112,7 @@ case 92:
;
break;}
case 93:
-#line 1005 "asn1p_y.y"
+#line 1006 "asn1p_y.y"
{
yyval.a_expr = asn1p_expr_new(yylineno);
checkmem(yyval.a_expr);
@@ -2115,7 +2124,7 @@ case 93:
;
break;}
case 94:
-#line 1016 "asn1p_y.y"
+#line 1017 "asn1p_y.y"
{
yyval.a_expr = asn1p_expr_new(yylineno);
yyval.a_expr->Identifier = yyvsp[-2].tv_str;
@@ -2126,7 +2135,7 @@ case 94:
;
break;}
case 95:
-#line 1026 "asn1p_y.y"
+#line 1027 "asn1p_y.y"
{
yyval.a_expr = asn1p_expr_new(yylineno);
checkmem(yyval.a_expr);
@@ -2138,7 +2147,7 @@ case 95:
;
break;}
case 96:
-#line 1037 "asn1p_y.y"
+#line 1038 "asn1p_y.y"
{
yyval.a_expr = asn1p_expr_new(yylineno);
checkmem(yyval.a_expr);
@@ -2150,53 +2159,54 @@ case 96:
;
break;}
case 97:
-#line 1049 "asn1p_y.y"
+#line 1050 "asn1p_y.y"
{ yyval.a_wsynt = 0; ;
break;}
case 98:
-#line 1050 "asn1p_y.y"
+#line 1051 "asn1p_y.y"
{
yyval.a_wsynt = yyvsp[0].a_wsynt;
;
break;}
case 99:
-#line 1057 "asn1p_y.y"
+#line 1058 "asn1p_y.y"
{ asn1p_lexer_hack_enable_with_syntax(); ;
break;}
case 100:
-#line 1059 "asn1p_y.y"
+#line 1060 "asn1p_y.y"
{
yyval.a_wsynt = yyvsp[-1].a_wsynt;
;
break;}
case 101:
-#line 1065 "asn1p_y.y"
+#line 1066 "asn1p_y.y"
{
yyval.a_wsynt = asn1p_wsyntx_new();
TQ_ADD(&(yyval.a_wsynt->chunks), yyvsp[0].a_wchunk, next);
;
break;}
case 102:
-#line 1069 "asn1p_y.y"
+#line 1070 "asn1p_y.y"
{
yyval.a_wsynt = yyvsp[-1].a_wsynt;
TQ_ADD(&(yyval.a_wsynt->chunks), yyvsp[0].a_wchunk, next);
;
break;}
case 103:
-#line 1076 "asn1p_y.y"
+#line 1077 "asn1p_y.y"
{
yyval.a_wchunk = asn1p_wsyntx_chunk_frombuf(yyvsp[0].tv_opaque.buf, yyvsp[0].tv_opaque.len, 0);
+ yyval.a_wchunk->type = WC_WHITESPACE;
;
break;}
case 104:
-#line 1079 "asn1p_y.y"
+#line 1081 "asn1p_y.y"
{
yyval.a_wchunk = asn1p_wsyntx_chunk_frombuf(yyvsp[0].tv_str, strlen(yyvsp[0].tv_str), 0);
;
break;}
case 105:
-#line 1082 "asn1p_y.y"
+#line 1084 "asn1p_y.y"
{
asn1p_ref_t *ref;
int ret;
@@ -2208,13 +2218,13 @@ case 105:
;
break;}
case 106:
-#line 1091 "asn1p_y.y"
+#line 1093 "asn1p_y.y"
{
yyval.a_wchunk = asn1p_wsyntx_chunk_fromsyntax(yyvsp[-1].a_wsynt);
;
break;}
case 107:
-#line 1097 "asn1p_y.y"
+#line 1099 "asn1p_y.y"
{
yyval.a_expr = asn1p_expr_new(yylineno);
checkmem(yyval.a_expr);
@@ -2225,7 +2235,7 @@ case 107:
;
break;}
case 108:
-#line 1105 "asn1p_y.y"
+#line 1107 "asn1p_y.y"
{
yyval.a_expr = asn1p_expr_new(yylineno);
checkmem(yyval.a_expr);
@@ -2237,7 +2247,7 @@ case 108:
;
break;}
case 109:
-#line 1114 "asn1p_y.y"
+#line 1116 "asn1p_y.y"
{
yyval.a_expr = asn1p_expr_new(yylineno);
checkmem(yyval.a_expr);
@@ -2249,7 +2259,7 @@ case 109:
;
break;}
case 110:
-#line 1126 "asn1p_y.y"
+#line 1128 "asn1p_y.y"
{
yyval.a_expr = yyvsp[-1].a_expr;
yyval.a_expr->tag = yyvsp[-2].a_tag;
@@ -2271,14 +2281,14 @@ case 110:
;
break;}
case 111:
-#line 1148 "asn1p_y.y"
+#line 1150 "asn1p_y.y"
{
yyval.a_int = asn1p_as_pointer ? EM_INDIRECT : 0;
asn1p_as_pointer = 0;
;
break;}
case 112:
-#line 1155 "asn1p_y.y"
+#line 1157 "asn1p_y.y"
{
yyval.a_expr = yyvsp[0].a_expr;
yyval.a_expr->marker.flags |= yyvsp[-1].a_int;
@@ -2297,13 +2307,13 @@ case 112:
;
break;}
case 113:
-#line 1174 "asn1p_y.y"
+#line 1176 "asn1p_y.y"
{
yyval.a_expr = yyvsp[0].a_expr;
;
break;}
case 114:
-#line 1177 "asn1p_y.y"
+#line 1179 "asn1p_y.y"
{
yyval.a_expr = yyvsp[-1].a_expr;
assert(yyval.a_expr->expr_type == A1TC_INVALID);
@@ -2312,7 +2322,7 @@ case 114:
;
break;}
case 115:
-#line 1183 "asn1p_y.y"
+#line 1185 "asn1p_y.y"
{
yyval.a_expr = yyvsp[-1].a_expr;
assert(yyval.a_expr->expr_type == A1TC_INVALID);
@@ -2321,7 +2331,7 @@ case 115:
;
break;}
case 116:
-#line 1189 "asn1p_y.y"
+#line 1191 "asn1p_y.y"
{
yyval.a_expr = yyvsp[-1].a_expr;
assert(yyval.a_expr->expr_type == A1TC_INVALID);
@@ -2330,7 +2340,7 @@ case 116:
;
break;}
case 117:
-#line 1195 "asn1p_y.y"
+#line 1197 "asn1p_y.y"
{
yyval.a_expr = asn1p_expr_new(yylineno);
checkmem(yyval.a_expr);
@@ -2343,7 +2353,7 @@ case 117:
;
break;}
case 118:
-#line 1205 "asn1p_y.y"
+#line 1207 "asn1p_y.y"
{
yyval.a_expr = asn1p_expr_new(yylineno);
checkmem(yyval.a_expr);
@@ -2356,7 +2366,7 @@ case 118:
;
break;}
case 119:
-#line 1215 "asn1p_y.y"
+#line 1217 "asn1p_y.y"
{
yyval.a_expr = asn1p_expr_new(yylineno);
checkmem(yyval.a_expr);
@@ -2365,7 +2375,7 @@ case 119:
;
break;}
case 120:
-#line 1221 "asn1p_y.y"
+#line 1223 "asn1p_y.y"
{
int ret;
yyval.a_expr = asn1p_expr_new(yylineno);
@@ -2379,7 +2389,7 @@ case 120:
;
break;}
case 121:
-#line 1235 "asn1p_y.y"
+#line 1237 "asn1p_y.y"
{
int ret;
yyval.a_expr = yyvsp[-1].a_expr;
@@ -2396,7 +2406,7 @@ case 121:
;
break;}
case 122:
-#line 1259 "asn1p_y.y"
+#line 1261 "asn1p_y.y"
{
yyval.a_expr = asn1p_expr_new(yylineno);
checkmem(yyval.a_expr);
@@ -2406,7 +2416,7 @@ case 122:
;
break;}
case 123:
-#line 1266 "asn1p_y.y"
+#line 1268 "asn1p_y.y"
{
yyval.a_expr = asn1p_expr_new(yylineno);
checkmem(yyval.a_expr);
@@ -2416,7 +2426,7 @@ case 123:
;
break;}
case 124:
-#line 1281 "asn1p_y.y"
+#line 1283 "asn1p_y.y"
{
int ret;
yyval.a_ref = asn1p_ref_new(yylineno);
@@ -2427,7 +2437,7 @@ case 124:
;
break;}
case 125:
-#line 1289 "asn1p_y.y"
+#line 1291 "asn1p_y.y"
{
int ret;
yyval.a_ref = asn1p_ref_new(yylineno);
@@ -2440,7 +2450,7 @@ case 125:
;
break;}
case 126:
-#line 1299 "asn1p_y.y"
+#line 1301 "asn1p_y.y"
{
int ret;
yyval.a_ref = asn1p_ref_new(yylineno);
@@ -2453,7 +2463,7 @@ case 126:
;
break;}
case 127:
-#line 1309 "asn1p_y.y"
+#line 1311 "asn1p_y.y"
{
int ret;
yyval.a_ref = asn1p_ref_new(yylineno);
@@ -2466,7 +2476,7 @@ case 127:
;
break;}
case 128:
-#line 1319 "asn1p_y.y"
+#line 1321 "asn1p_y.y"
{
int ret;
yyval.a_ref = asn1p_ref_new(yylineno);
@@ -2477,7 +2487,7 @@ case 128:
;
break;}
case 129:
-#line 1327 "asn1p_y.y"
+#line 1329 "asn1p_y.y"
{
int ret;
yyval.a_ref = yyvsp[0].a_ref;
@@ -2499,7 +2509,7 @@ case 129:
;
break;}
case 130:
-#line 1349 "asn1p_y.y"
+#line 1351 "asn1p_y.y"
{
int ret;
yyval.a_ref = asn1p_ref_new(yylineno);
@@ -2510,7 +2520,7 @@ case 130:
;
break;}
case 131:
-#line 1357 "asn1p_y.y"
+#line 1359 "asn1p_y.y"
{
int ret;
yyval.a_ref = yyvsp[-2].a_ref;
@@ -2520,49 +2530,49 @@ case 131:
;
break;}
case 134:
-#line 1371 "asn1p_y.y"
+#line 1373 "asn1p_y.y"
{
yyval.a_refcomp.lex_type = RLT_AmpUppercase;
yyval.a_refcomp.name = yyvsp[0].tv_str;
;
break;}
case 135:
-#line 1376 "asn1p_y.y"
+#line 1378 "asn1p_y.y"
{
yyval.a_refcomp.lex_type = RLT_Amplowercase;
yyval.a_refcomp.name = yyvsp[0].tv_str;
;
break;}
case 136:
-#line 1385 "asn1p_y.y"
+#line 1387 "asn1p_y.y"
{
yyval.a_ref = asn1p_ref_new(yylineno);
asn1p_ref_add_component(yyval.a_ref, yyvsp[0].tv_str, RLT_AmpUppercase);
;
break;}
case 137:
-#line 1389 "asn1p_y.y"
+#line 1391 "asn1p_y.y"
{
yyval.a_ref = yyval.a_ref;
asn1p_ref_add_component(yyval.a_ref, yyvsp[0].tv_str, RLT_AmpUppercase);
;
break;}
case 138:
-#line 1393 "asn1p_y.y"
+#line 1395 "asn1p_y.y"
{
yyval.a_ref = yyval.a_ref;
asn1p_ref_add_component(yyval.a_ref, yyvsp[0].tv_str, RLT_Amplowercase);
;
break;}
case 139:
-#line 1400 "asn1p_y.y"
+#line 1402 "asn1p_y.y"
{
yyval.a_ref = asn1p_ref_new(yylineno);
asn1p_ref_add_component(yyval.a_ref, yyvsp[0].tv_str, RLT_CAPITALS);
;
break;}
case 140:
-#line 1420 "asn1p_y.y"
+#line 1422 "asn1p_y.y"
{
yyval.a_expr = yyvsp[-2].a_expr;
assert(yyval.a_expr->Identifier == NULL);
@@ -2572,7 +2582,7 @@ case 140:
;
break;}
case 141:
-#line 1430 "asn1p_y.y"
+#line 1432 "asn1p_y.y"
{
yyval.a_value = asn1p_value_fromint(0);
checkmem(yyval.a_value);
@@ -2582,11 +2592,11 @@ case 141:
;
break;}
case 142:
-#line 1437 "asn1p_y.y"
+#line 1439 "asn1p_y.y"
{ asn1p_lexer_hack_push_opaque_state(); ;
break;}
case 143:
-#line 1437 "asn1p_y.y"
+#line 1439 "asn1p_y.y"
{
yyval.a_value = asn1p_value_frombuf(yyvsp[0].tv_opaque.buf, yyvsp[0].tv_opaque.len, 0);
checkmem(yyval.a_value);
@@ -2594,7 +2604,7 @@ case 143:
;
break;}
case 144:
-#line 1442 "asn1p_y.y"
+#line 1444 "asn1p_y.y"
{
yyval.a_value = asn1p_value_fromint(0);
checkmem(yyval.a_value);
@@ -2602,7 +2612,7 @@ case 144:
;
break;}
case 145:
-#line 1447 "asn1p_y.y"
+#line 1449 "asn1p_y.y"
{
yyval.a_value = asn1p_value_fromint(0);
checkmem(yyval.a_value);
@@ -2610,7 +2620,7 @@ case 145:
;
break;}
case 146:
-#line 1452 "asn1p_y.y"
+#line 1454 "asn1p_y.y"
{
yyval.a_value = asn1p_value_fromint(0);
checkmem(yyval.a_value);
@@ -2618,39 +2628,39 @@ case 146:
;
break;}
case 147:
-#line 1457 "asn1p_y.y"
+#line 1459 "asn1p_y.y"
{
yyval.a_value = _convert_bitstring2binary(yyvsp[0].tv_str, 'B');
checkmem(yyval.a_value);
;
break;}
case 148:
-#line 1461 "asn1p_y.y"
+#line 1463 "asn1p_y.y"
{
yyval.a_value = _convert_bitstring2binary(yyvsp[0].tv_str, 'H');
checkmem(yyval.a_value);
;
break;}
case 149:
-#line 1465 "asn1p_y.y"
+#line 1467 "asn1p_y.y"
{
yyval.a_value = yyval.a_value;
;
break;}
case 150:
-#line 1468 "asn1p_y.y"
+#line 1470 "asn1p_y.y"
{
yyval.a_value = yyvsp[0].a_value;
;
break;}
case 151:
-#line 1471 "asn1p_y.y"
+#line 1473 "asn1p_y.y"
{
yyval.a_value = yyvsp[0].a_value;
;
break;}
case 152:
-#line 1477 "asn1p_y.y"
+#line 1479 "asn1p_y.y"
{
asn1p_ref_t *ref;
int ret;
@@ -2664,7 +2674,7 @@ case 152:
;
break;}
case 153:
-#line 1488 "asn1p_y.y"
+#line 1490 "asn1p_y.y"
{
asn1p_ref_t *ref;
int ret;
@@ -2681,14 +2691,14 @@ case 153:
;
break;}
case 154:
-#line 1506 "asn1p_y.y"
+#line 1508 "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 155:
-#line 1510 "asn1p_y.y"
+#line 1512 "asn1p_y.y"
{
yyval.a_value = asn1p_value_fromint(yyvsp[0].a_int);
checkmem(yyval.a_value);
@@ -2696,7 +2706,7 @@ case 155:
;
break;}
case 156:
-#line 1515 "asn1p_y.y"
+#line 1517 "asn1p_y.y"
{
yyval.a_value = asn1p_value_fromint(yyvsp[0].a_int);
checkmem(yyval.a_value);
@@ -2704,7 +2714,7 @@ case 156:
;
break;}
case 157:
-#line 1549 "asn1p_y.y"
+#line 1551 "asn1p_y.y"
{
yyval.tv_opaque.len = yyvsp[0].tv_opaque.len + 1;
yyval.tv_opaque.buf = malloc(yyval.tv_opaque.len + 1);
@@ -2716,7 +2726,7 @@ case 157:
;
break;}
case 158:
-#line 1558 "asn1p_y.y"
+#line 1560 "asn1p_y.y"
{
int newsize = yyvsp[-1].tv_opaque.len + yyvsp[0].tv_opaque.len;
char *p = malloc(newsize + 1);
@@ -2731,71 +2741,71 @@ case 158:
;
break;}
case 159:
-#line 1573 "asn1p_y.y"
+#line 1575 "asn1p_y.y"
{ yyval.a_type = ASN_BASIC_BOOLEAN; ;
break;}
case 160:
-#line 1574 "asn1p_y.y"
+#line 1576 "asn1p_y.y"
{ yyval.a_type = ASN_BASIC_NULL; ;
break;}
case 161:
-#line 1575 "asn1p_y.y"
+#line 1577 "asn1p_y.y"
{ yyval.a_type = ASN_BASIC_REAL; ;
break;}
case 162:
-#line 1576 "asn1p_y.y"
+#line 1578 "asn1p_y.y"
{ yyval.a_type = yyvsp[0].a_type; ;
break;}
case 163:
-#line 1577 "asn1p_y.y"
+#line 1579 "asn1p_y.y"
{ yyval.a_type = ASN_BASIC_OCTET_STRING; ;
break;}
case 164:
-#line 1578 "asn1p_y.y"
+#line 1580 "asn1p_y.y"
{ yyval.a_type = ASN_BASIC_OBJECT_IDENTIFIER; ;
break;}
case 165:
-#line 1579 "asn1p_y.y"
+#line 1581 "asn1p_y.y"
{ yyval.a_type = ASN_BASIC_RELATIVE_OID; ;
break;}
case 166:
-#line 1580 "asn1p_y.y"
+#line 1582 "asn1p_y.y"
{ yyval.a_type = ASN_BASIC_EXTERNAL; ;
break;}
case 167:
-#line 1581 "asn1p_y.y"
+#line 1583 "asn1p_y.y"
{ yyval.a_type = ASN_BASIC_EMBEDDED_PDV; ;
break;}
case 168:
-#line 1582 "asn1p_y.y"
+#line 1584 "asn1p_y.y"
{ yyval.a_type = ASN_BASIC_CHARACTER_STRING; ;
break;}
case 169:
-#line 1583 "asn1p_y.y"
+#line 1585 "asn1p_y.y"
{ yyval.a_type = ASN_BASIC_UTCTime; ;
break;}
case 170:
-#line 1584 "asn1p_y.y"
+#line 1586 "asn1p_y.y"
{ yyval.a_type = ASN_BASIC_GeneralizedTime; ;
break;}
case 171:
-#line 1585 "asn1p_y.y"
+#line 1587 "asn1p_y.y"
{ yyval.a_type = yyvsp[0].a_type; ;
break;}
case 172:
-#line 1592 "asn1p_y.y"
+#line 1594 "asn1p_y.y"
{ yyval.a_type = ASN_BASIC_INTEGER; ;
break;}
case 173:
-#line 1593 "asn1p_y.y"
+#line 1595 "asn1p_y.y"
{ yyval.a_type = ASN_BASIC_ENUMERATED; ;
break;}
case 174:
-#line 1594 "asn1p_y.y"
+#line 1596 "asn1p_y.y"
{ yyval.a_type = ASN_BASIC_BIT_STRING; ;
break;}
case 175:
-#line 1598 "asn1p_y.y"
+#line 1600 "asn1p_y.y"
{
yyval.a_expr = asn1p_expr_new(yylineno);
checkmem(yyval.a_expr);
@@ -2804,7 +2814,7 @@ case 175:
;
break;}
case 176:
-#line 1604 "asn1p_y.y"
+#line 1606 "asn1p_y.y"
{
if(yyvsp[0].a_expr) {
yyval.a_expr = yyvsp[0].a_expr;
@@ -2817,91 +2827,91 @@ case 176:
;
break;}
case 177:
-#line 1617 "asn1p_y.y"
+#line 1619 "asn1p_y.y"
{ yyval.a_type = ASN_STRING_BMPString; ;
break;}
case 178:
-#line 1618 "asn1p_y.y"
+#line 1620 "asn1p_y.y"
{
yyval.a_type = ASN_STRING_GeneralString;
fprintf(stderr, "WARNING: GeneralString is not fully supported\n");
;
break;}
case 179:
-#line 1622 "asn1p_y.y"
+#line 1624 "asn1p_y.y"
{
yyval.a_type = ASN_STRING_GraphicString;
fprintf(stderr, "WARNING: GraphicString is not fully supported\n");
;
break;}
case 180:
-#line 1626 "asn1p_y.y"
+#line 1628 "asn1p_y.y"
{ yyval.a_type = ASN_STRING_IA5String; ;
break;}
case 181:
-#line 1627 "asn1p_y.y"
+#line 1629 "asn1p_y.y"
{ yyval.a_type = ASN_STRING_ISO646String; ;
break;}
case 182:
-#line 1628 "asn1p_y.y"
+#line 1630 "asn1p_y.y"
{ yyval.a_type = ASN_STRING_NumericString; ;
break;}
case 183:
-#line 1629 "asn1p_y.y"
+#line 1631 "asn1p_y.y"
{ yyval.a_type = ASN_STRING_PrintableString; ;
break;}
case 184:
-#line 1630 "asn1p_y.y"
+#line 1632 "asn1p_y.y"
{
yyval.a_type = ASN_STRING_T61String;
fprintf(stderr, "WARNING: T61String is not fully supported\n");
;
break;}
case 185:
-#line 1634 "asn1p_y.y"
+#line 1636 "asn1p_y.y"
{ yyval.a_type = ASN_STRING_TeletexString; ;
break;}
case 186:
-#line 1635 "asn1p_y.y"
+#line 1637 "asn1p_y.y"
{ yyval.a_type = ASN_STRING_UniversalString; ;
break;}
case 187:
-#line 1636 "asn1p_y.y"
+#line 1638 "asn1p_y.y"
{ yyval.a_type = ASN_STRING_UTF8String; ;
break;}
case 188:
-#line 1637 "asn1p_y.y"
+#line 1639 "asn1p_y.y"
{
yyval.a_type = ASN_STRING_VideotexString;
fprintf(stderr, "WARNING: VideotexString is not fully supported\n");
;
break;}
case 189:
-#line 1641 "asn1p_y.y"
+#line 1643 "asn1p_y.y"
{ yyval.a_type = ASN_STRING_VisibleString; ;
break;}
case 190:
-#line 1642 "asn1p_y.y"
+#line 1644 "asn1p_y.y"
{ yyval.a_type = ASN_STRING_ObjectDescriptor; ;
break;}
case 196:
-#line 1654 "asn1p_y.y"
+#line 1656 "asn1p_y.y"
{ yyval.a_constr = 0; ;
break;}
case 197:
-#line 1655 "asn1p_y.y"
+#line 1657 "asn1p_y.y"
{
yyval.a_constr = yyvsp[0].a_constr;
;
break;}
case 198:
-#line 1661 "asn1p_y.y"
+#line 1663 "asn1p_y.y"
{
CONSTRAINT_INSERT(yyval.a_constr, ACT_CA_SET, yyvsp[0].a_constr, 0);
;
break;}
case 199:
-#line 1664 "asn1p_y.y"
+#line 1666 "asn1p_y.y"
{
/*
* This is a special case, for compatibility purposes.
@@ -2911,25 +2921,25 @@ case 199:
;
break;}
case 200:
-#line 1674 "asn1p_y.y"
+#line 1676 "asn1p_y.y"
{
yyval.a_constr = yyvsp[-1].a_constr;
;
break;}
case 201:
-#line 1677 "asn1p_y.y"
+#line 1679 "asn1p_y.y"
{
CONSTRAINT_INSERT(yyval.a_constr, ACT_CA_SET, yyvsp[-3].a_constr, yyvsp[-1].a_constr);
;
break;}
case 202:
-#line 1683 "asn1p_y.y"
+#line 1685 "asn1p_y.y"
{
yyval.a_constr = yyvsp[0].a_constr;
;
break;}
case 203:
-#line 1686 "asn1p_y.y"
+#line 1688 "asn1p_y.y"
{
asn1p_constraint_t *ct;
ct = asn1p_constraint_new(yylineno);
@@ -2938,7 +2948,7 @@ case 203:
;
break;}
case 204:
-#line 1692 "asn1p_y.y"
+#line 1694 "asn1p_y.y"
{
asn1p_constraint_t *ct;
ct = asn1p_constraint_new(yylineno);
@@ -2949,37 +2959,37 @@ case 204:
;
break;}
case 205:
-#line 1703 "asn1p_y.y"
+#line 1705 "asn1p_y.y"
{
yyval.a_constr = yyvsp[0].a_constr;
;
break;}
case 206:
-#line 1706 "asn1p_y.y"
+#line 1708 "asn1p_y.y"
{
CONSTRAINT_INSERT(yyval.a_constr, ACT_CA_AEX, yyvsp[0].a_constr, 0);
;
break;}
case 207:
-#line 1709 "asn1p_y.y"
+#line 1711 "asn1p_y.y"
{
CONSTRAINT_INSERT(yyval.a_constr, ACT_CA_UNI, yyvsp[-2].a_constr, yyvsp[0].a_constr);
;
break;}
case 208:
-#line 1712 "asn1p_y.y"
+#line 1714 "asn1p_y.y"
{
CONSTRAINT_INSERT(yyval.a_constr, ACT_CA_INT, yyvsp[-2].a_constr, yyvsp[0].a_constr);
;
break;}
case 209:
-#line 1715 "asn1p_y.y"
+#line 1717 "asn1p_y.y"
{
CONSTRAINT_INSERT(yyval.a_constr, ACT_CA_EXC, yyvsp[-2].a_constr, yyvsp[0].a_constr);
;
break;}
case 210:
-#line 1721 "asn1p_y.y"
+#line 1723 "asn1p_y.y"
{
int ret;
yyval.a_constr = asn1p_constraint_new(yylineno);
@@ -2990,7 +3000,7 @@ case 210:
;
break;}
case 211:
-#line 1729 "asn1p_y.y"
+#line 1731 "asn1p_y.y"
{
int ret;
yyval.a_constr = asn1p_constraint_new(yylineno);
@@ -3001,7 +3011,7 @@ case 211:
;
break;}
case 212:
-#line 1737 "asn1p_y.y"
+#line 1739 "asn1p_y.y"
{
yyval.a_constr = asn1p_constraint_new(yylineno);
checkmem(yyval.a_constr);
@@ -3010,7 +3020,7 @@ case 212:
;
break;}
case 213:
-#line 1743 "asn1p_y.y"
+#line 1745 "asn1p_y.y"
{
yyval.a_constr = asn1p_constraint_new(yylineno);
checkmem(yyval.a_constr);
@@ -3019,7 +3029,7 @@ case 213:
;
break;}
case 214:
-#line 1749 "asn1p_y.y"
+#line 1751 "asn1p_y.y"
{
yyval.a_constr = asn1p_constraint_new(yylineno);
checkmem(yyval.a_constr);
@@ -3029,7 +3039,7 @@ case 214:
;
break;}
case 215:
-#line 1756 "asn1p_y.y"
+#line 1758 "asn1p_y.y"
{
yyval.a_constr = asn1p_constraint_new(yylineno);
checkmem(yyval.a_constr);
@@ -3040,7 +3050,7 @@ case 215:
;
break;}
case 216:
-#line 1764 "asn1p_y.y"
+#line 1766 "asn1p_y.y"
{
yyval.a_constr = asn1p_constraint_new(yylineno);
checkmem(yyval.a_constr);
@@ -3051,7 +3061,7 @@ case 216:
;
break;}
case 217:
-#line 1772 "asn1p_y.y"
+#line 1774 "asn1p_y.y"
{
yyval.a_constr = asn1p_constraint_new(yylineno);
checkmem(yyval.a_constr);
@@ -3063,23 +3073,23 @@ case 217:
;
break;}
case 218:
-#line 1781 "asn1p_y.y"
+#line 1783 "asn1p_y.y"
{
yyval.a_constr = yyvsp[0].a_constr;
;
break;}
case 219:
-#line 1784 "asn1p_y.y"
+#line 1786 "asn1p_y.y"
{
yyval.a_constr = yyvsp[0].a_constr;
;
break;}
case 220:
-#line 1788 "asn1p_y.y"
+#line 1790 "asn1p_y.y"
{ asn1p_lexer_hack_push_opaque_state(); ;
break;}
case 221:
-#line 1788 "asn1p_y.y"
+#line 1790 "asn1p_y.y"
{
yyval.a_constr = asn1p_constraint_new(yylineno);
checkmem(yyval.a_constr);
@@ -3090,35 +3100,35 @@ case 221:
;
break;}
case 222:
-#line 1799 "asn1p_y.y"
+#line 1801 "asn1p_y.y"
{ yyval.a_ctype = ACT_EL_RANGE; ;
break;}
case 223:
-#line 1800 "asn1p_y.y"
+#line 1802 "asn1p_y.y"
{ yyval.a_ctype = ACT_EL_RLRANGE; ;
break;}
case 224:
-#line 1801 "asn1p_y.y"
+#line 1803 "asn1p_y.y"
{ yyval.a_ctype = ACT_EL_LLRANGE; ;
break;}
case 225:
-#line 1802 "asn1p_y.y"
+#line 1804 "asn1p_y.y"
{ yyval.a_ctype = ACT_EL_ULRANGE; ;
break;}
case 226:
-#line 1806 "asn1p_y.y"
+#line 1808 "asn1p_y.y"
{
yyval.a_ctype = ACT_CT_SIZE;
;
break;}
case 227:
-#line 1809 "asn1p_y.y"
+#line 1811 "asn1p_y.y"
{
yyval.a_ctype = ACT_CT_FROM;
;
break;}
case 228:
-#line 1815 "asn1p_y.y"
+#line 1817 "asn1p_y.y"
{
yyval.a_value = asn1p_value_fromint(0);
checkmem(yyval.a_value);
@@ -3126,7 +3136,7 @@ case 228:
;
break;}
case 229:
-#line 1820 "asn1p_y.y"
+#line 1822 "asn1p_y.y"
{
yyval.a_value = asn1p_value_fromint(1);
checkmem(yyval.a_value);
@@ -3134,19 +3144,19 @@ case 229:
;
break;}
case 230:
-#line 1825 "asn1p_y.y"
+#line 1827 "asn1p_y.y"
{
yyval.a_value = yyvsp[0].a_value;
;
break;}
case 231:
-#line 1828 "asn1p_y.y"
+#line 1830 "asn1p_y.y"
{
yyval.a_value = yyvsp[0].a_value;
;
break;}
case 232:
-#line 1831 "asn1p_y.y"
+#line 1833 "asn1p_y.y"
{
asn1p_ref_t *ref;
int ret;
@@ -3160,7 +3170,7 @@ case 232:
;
break;}
case 233:
-#line 1845 "asn1p_y.y"
+#line 1847 "asn1p_y.y"
{
asn1p_ref_t *ref;
int ret;
@@ -3174,31 +3184,31 @@ case 233:
;
break;}
case 234:
-#line 1859 "asn1p_y.y"
+#line 1861 "asn1p_y.y"
{
CONSTRAINT_INSERT(yyval.a_constr, ACT_CT_WCOMP, yyvsp[0].a_constr, 0);
;
break;}
case 235:
-#line 1862 "asn1p_y.y"
+#line 1864 "asn1p_y.y"
{
CONSTRAINT_INSERT(yyval.a_constr, ACT_CT_WCOMPS, yyvsp[-1].a_constr, 0);
;
break;}
case 236:
-#line 1868 "asn1p_y.y"
+#line 1870 "asn1p_y.y"
{
yyval.a_constr = yyvsp[0].a_constr;
;
break;}
case 237:
-#line 1871 "asn1p_y.y"
+#line 1873 "asn1p_y.y"
{
CONSTRAINT_INSERT(yyval.a_constr, ACT_CT_WCOMPS, yyvsp[-2].a_constr, yyvsp[0].a_constr);
;
break;}
case 238:
-#line 1877 "asn1p_y.y"
+#line 1879 "asn1p_y.y"
{
yyval.a_constr = asn1p_constraint_new(yylineno);
checkmem(yyval.a_constr);
@@ -3207,7 +3217,7 @@ case 238:
;
break;}
case 239:
-#line 1883 "asn1p_y.y"
+#line 1885 "asn1p_y.y"
{
yyval.a_constr = asn1p_constraint_new(yylineno);
checkmem(yyval.a_constr);
@@ -3218,45 +3228,45 @@ case 239:
;
break;}
case 240:
-#line 1897 "asn1p_y.y"
+#line 1899 "asn1p_y.y"
{ yyval.a_pres = ACPRES_DEFAULT; ;
break;}
case 241:
-#line 1898 "asn1p_y.y"
+#line 1900 "asn1p_y.y"
{ yyval.a_pres = yyvsp[0].a_pres; ;
break;}
case 242:
-#line 1902 "asn1p_y.y"
+#line 1904 "asn1p_y.y"
{
yyval.a_pres = ACPRES_PRESENT;
;
break;}
case 243:
-#line 1905 "asn1p_y.y"
+#line 1907 "asn1p_y.y"
{
yyval.a_pres = ACPRES_ABSENT;
;
break;}
case 244:
-#line 1908 "asn1p_y.y"
+#line 1910 "asn1p_y.y"
{
yyval.a_pres = ACPRES_OPTIONAL;
;
break;}
case 245:
-#line 1914 "asn1p_y.y"
+#line 1916 "asn1p_y.y"
{
yyval.a_constr = yyvsp[0].a_constr;
;
break;}
case 246:
-#line 1917 "asn1p_y.y"
+#line 1919 "asn1p_y.y"
{
yyval.a_constr = yyvsp[0].a_constr;
;
break;}
case 247:
-#line 1926 "asn1p_y.y"
+#line 1928 "asn1p_y.y"
{
asn1p_ref_t *ref = asn1p_ref_new(yylineno);
asn1p_constraint_t *ct;
@@ -3271,13 +3281,13 @@ case 247:
;
break;}
case 248:
-#line 1941 "asn1p_y.y"
+#line 1943 "asn1p_y.y"
{
CONSTRAINT_INSERT(yyval.a_constr, ACT_CA_CRC, yyvsp[-3].a_constr, yyvsp[-1].a_constr);
;
break;}
case 249:
-#line 1947 "asn1p_y.y"
+#line 1949 "asn1p_y.y"
{
yyval.a_constr = asn1p_constraint_new(yylineno);
checkmem(yyval.a_constr);
@@ -3286,7 +3296,7 @@ case 249:
;
break;}
case 250:
-#line 1953 "asn1p_y.y"
+#line 1955 "asn1p_y.y"
{
asn1p_constraint_t *ct;
ct = asn1p_constraint_new(yylineno);
@@ -3297,7 +3307,7 @@ case 250:
;
break;}
case 251:
-#line 1967 "asn1p_y.y"
+#line 1969 "asn1p_y.y"
{
char *p = malloc(strlen(yyvsp[0].tv_str) + 2);
int ret;
@@ -3311,7 +3321,7 @@ case 251:
;
break;}
case 252:
-#line 1978 "asn1p_y.y"
+#line 1980 "asn1p_y.y"
{
char *p = malloc(strlen(yyvsp[0].tv_str) + 3);
int ret;
@@ -3326,13 +3336,13 @@ case 252:
;
break;}
case 253:
-#line 1994 "asn1p_y.y"
+#line 1996 "asn1p_y.y"
{
yyval.tv_str = yyvsp[0].tv_str;
;
break;}
case 254:
-#line 1997 "asn1p_y.y"
+#line 1999 "asn1p_y.y"
{
int l1 = strlen(yyvsp[-2].tv_str);
int l3 = strlen(yyvsp[0].tv_str);
@@ -3344,45 +3354,45 @@ case 254:
;
break;}
case 255:
-#line 2015 "asn1p_y.y"
+#line 2017 "asn1p_y.y"
{
yyval.a_marker.flags = EM_NOMARK;
yyval.a_marker.default_value = 0;
;
break;}
case 256:
-#line 2019 "asn1p_y.y"
+#line 2021 "asn1p_y.y"
{ yyval.a_marker = yyvsp[0].a_marker; ;
break;}
case 257:
-#line 2023 "asn1p_y.y"
+#line 2025 "asn1p_y.y"
{
yyval.a_marker.flags = EM_OPTIONAL | EM_INDIRECT;
yyval.a_marker.default_value = 0;
;
break;}
case 258:
-#line 2027 "asn1p_y.y"
+#line 2029 "asn1p_y.y"
{
yyval.a_marker.flags = EM_DEFAULT;
yyval.a_marker.default_value = yyvsp[0].a_value;
;
break;}
case 259:
-#line 2050 "asn1p_y.y"
+#line 2052 "asn1p_y.y"
{
yyval.a_expr = asn1p_expr_new(yylineno);
checkmem(yyval.a_expr);
;
break;}
case 260:
-#line 2054 "asn1p_y.y"
+#line 2056 "asn1p_y.y"
{
yyval.a_expr = yyvsp[-1].a_expr;
;
break;}
case 261:
-#line 2060 "asn1p_y.y"
+#line 2062 "asn1p_y.y"
{
yyval.a_expr = asn1p_expr_new(yylineno);
checkmem(yyval.a_expr);
@@ -3390,14 +3400,14 @@ case 261:
;
break;}
case 262:
-#line 2065 "asn1p_y.y"
+#line 2067 "asn1p_y.y"
{
yyval.a_expr = yyvsp[-2].a_expr;
asn1p_expr_add(yyval.a_expr, yyvsp[0].a_expr);
;
break;}
case 263:
-#line 2072 "asn1p_y.y"
+#line 2074 "asn1p_y.y"
{
yyval.a_expr = asn1p_expr_new(yylineno);
checkmem(yyval.a_expr);
@@ -3407,7 +3417,7 @@ case 263:
;
break;}
case 264:
-#line 2079 "asn1p_y.y"
+#line 2081 "asn1p_y.y"
{
yyval.a_expr = asn1p_expr_new(yylineno);
checkmem(yyval.a_expr);
@@ -3418,7 +3428,7 @@ case 264:
;
break;}
case 265:
-#line 2087 "asn1p_y.y"
+#line 2089 "asn1p_y.y"
{
yyval.a_expr = asn1p_expr_new(yylineno);
checkmem(yyval.a_expr);
@@ -3429,7 +3439,7 @@ case 265:
;
break;}
case 266:
-#line 2095 "asn1p_y.y"
+#line 2097 "asn1p_y.y"
{
yyval.a_expr = asn1p_expr_new(yylineno);
checkmem(yyval.a_expr);
@@ -3439,7 +3449,7 @@ case 266:
;
break;}
case 267:
-#line 2102 "asn1p_y.y"
+#line 2104 "asn1p_y.y"
{
yyval.a_expr = asn1p_expr_new(yylineno);
checkmem(yyval.a_expr);
@@ -3450,102 +3460,102 @@ case 267:
;
break;}
case 268:
-#line 2113 "asn1p_y.y"
+#line 2115 "asn1p_y.y"
{
yyval.a_value = asn1p_value_fromint(yyvsp[0].a_int);
checkmem(yyval.a_value);
;
break;}
case 269:
-#line 2117 "asn1p_y.y"
+#line 2119 "asn1p_y.y"
{
yyval.a_value = asn1p_value_fromint(yyvsp[0].a_int);
checkmem(yyval.a_value);
;
break;}
case 270:
-#line 2148 "asn1p_y.y"
+#line 2150 "asn1p_y.y"
{ memset(&yyval.a_tag, 0, sizeof(yyval.a_tag)); ;
break;}
case 271:
-#line 2149 "asn1p_y.y"
+#line 2151 "asn1p_y.y"
{ yyval.a_tag = yyvsp[0].a_tag; ;
break;}
case 272:
-#line 2153 "asn1p_y.y"
+#line 2155 "asn1p_y.y"
{
yyval.a_tag = yyvsp[-1].a_tag;
yyval.a_tag.tag_mode = yyvsp[0].a_tag.tag_mode;
;
break;}
case 273:
-#line 2160 "asn1p_y.y"
+#line 2162 "asn1p_y.y"
{
yyval.a_tag = yyvsp[-2].a_tag;
yyval.a_tag.tag_value = yyvsp[-1].a_int;
;
break;}
case 274:
-#line 2166 "asn1p_y.y"
+#line 2168 "asn1p_y.y"
{ yyval.a_tag.tag_class = TC_CONTEXT_SPECIFIC; ;
break;}
case 275:
-#line 2167 "asn1p_y.y"
+#line 2169 "asn1p_y.y"
{ yyval.a_tag.tag_class = TC_UNIVERSAL; ;
break;}
case 276:
-#line 2168 "asn1p_y.y"
+#line 2170 "asn1p_y.y"
{ yyval.a_tag.tag_class = TC_APPLICATION; ;
break;}
case 277:
-#line 2169 "asn1p_y.y"
+#line 2171 "asn1p_y.y"
{ yyval.a_tag.tag_class = TC_PRIVATE; ;
break;}
case 278:
-#line 2173 "asn1p_y.y"
+#line 2175 "asn1p_y.y"
{ yyval.a_tag.tag_mode = TM_DEFAULT; ;
break;}
case 279:
-#line 2174 "asn1p_y.y"
+#line 2176 "asn1p_y.y"
{ yyval.a_tag.tag_mode = TM_IMPLICIT; ;
break;}
case 280:
-#line 2175 "asn1p_y.y"
+#line 2177 "asn1p_y.y"
{ yyval.a_tag.tag_mode = TM_EXPLICIT; ;
break;}
case 281:
-#line 2179 "asn1p_y.y"
+#line 2181 "asn1p_y.y"
{
checkmem(yyvsp[0].tv_str);
yyval.tv_str = yyvsp[0].tv_str;
;
break;}
case 282:
-#line 2183 "asn1p_y.y"
+#line 2185 "asn1p_y.y"
{
checkmem(yyvsp[0].tv_str);
yyval.tv_str = yyvsp[0].tv_str;
;
break;}
case 283:
-#line 2191 "asn1p_y.y"
+#line 2193 "asn1p_y.y"
{
checkmem(yyvsp[0].tv_str);
yyval.tv_str = yyvsp[0].tv_str;
;
break;}
case 284:
-#line 2198 "asn1p_y.y"
+#line 2200 "asn1p_y.y"
{ yyval.tv_str = 0; ;
break;}
case 285:
-#line 2199 "asn1p_y.y"
+#line 2201 "asn1p_y.y"
{
yyval.tv_str = yyvsp[0].tv_str;
;
break;}
case 286:
-#line 2205 "asn1p_y.y"
+#line 2207 "asn1p_y.y"
{
checkmem(yyvsp[0].tv_str);
yyval.tv_str = yyvsp[0].tv_str;
@@ -3773,7 +3783,7 @@ yyerrhandle:
}
return 1;
}
-#line 2211 "asn1p_y.y"
+#line 2213 "asn1p_y.y"
diff --git a/libasn1parser/asn1p_y.h b/libasn1parser/asn1p_y.h
index a391f74e..41f312ee 100644
--- a/libasn1parser/asn1p_y.h
+++ b/libasn1parser/asn1p_y.h
@@ -32,106 +32,107 @@ typedef union {
} 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_tuple 264
-#define TOK_quadruple 265
-#define TOK_number_negative 266
-#define TOK_typereference 267
-#define TOK_capitalreference 268
-#define TOK_typefieldreference 269
-#define TOK_valuefieldreference 270
-#define TOK_Literal 271
-#define TOK_ABSENT 272
-#define TOK_ABSTRACT_SYNTAX 273
-#define TOK_ALL 274
-#define TOK_ANY 275
-#define TOK_APPLICATION 276
-#define TOK_AUTOMATIC 277
-#define TOK_BEGIN 278
-#define TOK_BIT 279
-#define TOK_BMPString 280
-#define TOK_BOOLEAN 281
-#define TOK_BY 282
-#define TOK_CHARACTER 283
-#define TOK_CHOICE 284
-#define TOK_CLASS 285
-#define TOK_COMPONENT 286
-#define TOK_COMPONENTS 287
-#define TOK_CONSTRAINED 288
-#define TOK_CONTAINING 289
-#define TOK_DEFAULT 290
-#define TOK_DEFINITIONS 291
-#define TOK_DEFINED 292
-#define TOK_EMBEDDED 293
-#define TOK_ENCODED 294
-#define TOK_ENCODING_CONTROL 295
-#define TOK_END 296
-#define TOK_ENUMERATED 297
-#define TOK_EXPLICIT 298
-#define TOK_EXPORTS 299
-#define TOK_EXTENSIBILITY 300
-#define TOK_EXTERNAL 301
-#define TOK_FALSE 302
-#define TOK_FROM 303
-#define TOK_GeneralizedTime 304
-#define TOK_GeneralString 305
-#define TOK_GraphicString 306
-#define TOK_IA5String 307
-#define TOK_IDENTIFIER 308
-#define TOK_IMPLICIT 309
-#define TOK_IMPLIED 310
-#define TOK_IMPORTS 311
-#define TOK_INCLUDES 312
-#define TOK_INSTANCE 313
-#define TOK_INSTRUCTIONS 314
-#define TOK_INTEGER 315
-#define TOK_ISO646String 316
-#define TOK_MAX 317
-#define TOK_MIN 318
-#define TOK_MINUS_INFINITY 319
-#define TOK_NULL 320
-#define TOK_NumericString 321
-#define TOK_OBJECT 322
-#define TOK_ObjectDescriptor 323
-#define TOK_OCTET 324
-#define TOK_OF 325
-#define TOK_OPTIONAL 326
-#define TOK_PATTERN 327
-#define TOK_PDV 328
-#define TOK_PLUS_INFINITY 329
-#define TOK_PRESENT 330
-#define TOK_PrintableString 331
-#define TOK_PRIVATE 332
-#define TOK_REAL 333
-#define TOK_RELATIVE_OID 334
-#define TOK_SEQUENCE 335
-#define TOK_SET 336
-#define TOK_SIZE 337
-#define TOK_STRING 338
-#define TOK_SYNTAX 339
-#define TOK_T61String 340
-#define TOK_TAGS 341
-#define TOK_TeletexString 342
-#define TOK_TRUE 343
-#define TOK_TYPE_IDENTIFIER 344
-#define TOK_UNIQUE 345
-#define TOK_UNIVERSAL 346
-#define TOK_UniversalString 347
-#define TOK_UTCTime 348
-#define TOK_UTF8String 349
-#define TOK_VideotexString 350
-#define TOK_VisibleString 351
-#define TOK_WITH 352
-#define TOK_EXCEPT 353
-#define TOK_INTERSECTION 354
-#define TOK_UNION 355
-#define TOK_TwoDots 356
-#define TOK_ThreeDots 357
+#define TOK_whitespace 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_tuple 265
+#define TOK_quadruple 266
+#define TOK_number_negative 267
+#define TOK_typereference 268
+#define TOK_capitalreference 269
+#define TOK_typefieldreference 270
+#define TOK_valuefieldreference 271
+#define TOK_Literal 272
+#define TOK_ABSENT 273
+#define TOK_ABSTRACT_SYNTAX 274
+#define TOK_ALL 275
+#define TOK_ANY 276
+#define TOK_APPLICATION 277
+#define TOK_AUTOMATIC 278
+#define TOK_BEGIN 279
+#define TOK_BIT 280
+#define TOK_BMPString 281
+#define TOK_BOOLEAN 282
+#define TOK_BY 283
+#define TOK_CHARACTER 284
+#define TOK_CHOICE 285
+#define TOK_CLASS 286
+#define TOK_COMPONENT 287
+#define TOK_COMPONENTS 288
+#define TOK_CONSTRAINED 289
+#define TOK_CONTAINING 290
+#define TOK_DEFAULT 291
+#define TOK_DEFINITIONS 292
+#define TOK_DEFINED 293
+#define TOK_EMBEDDED 294
+#define TOK_ENCODED 295
+#define TOK_ENCODING_CONTROL 296
+#define TOK_END 297
+#define TOK_ENUMERATED 298
+#define TOK_EXPLICIT 299
+#define TOK_EXPORTS 300
+#define TOK_EXTENSIBILITY 301
+#define TOK_EXTERNAL 302
+#define TOK_FALSE 303
+#define TOK_FROM 304
+#define TOK_GeneralizedTime 305
+#define TOK_GeneralString 306
+#define TOK_GraphicString 307
+#define TOK_IA5String 308
+#define TOK_IDENTIFIER 309
+#define TOK_IMPLICIT 310
+#define TOK_IMPLIED 311
+#define TOK_IMPORTS 312
+#define TOK_INCLUDES 313
+#define TOK_INSTANCE 314
+#define TOK_INSTRUCTIONS 315
+#define TOK_INTEGER 316
+#define TOK_ISO646String 317
+#define TOK_MAX 318
+#define TOK_MIN 319
+#define TOK_MINUS_INFINITY 320
+#define TOK_NULL 321
+#define TOK_NumericString 322
+#define TOK_OBJECT 323
+#define TOK_ObjectDescriptor 324
+#define TOK_OCTET 325
+#define TOK_OF 326
+#define TOK_OPTIONAL 327
+#define TOK_PATTERN 328
+#define TOK_PDV 329
+#define TOK_PLUS_INFINITY 330
+#define TOK_PRESENT 331
+#define TOK_PrintableString 332
+#define TOK_PRIVATE 333
+#define TOK_REAL 334
+#define TOK_RELATIVE_OID 335
+#define TOK_SEQUENCE 336
+#define TOK_SET 337
+#define TOK_SIZE 338
+#define TOK_STRING 339
+#define TOK_SYNTAX 340
+#define TOK_T61String 341
+#define TOK_TAGS 342
+#define TOK_TeletexString 343
+#define TOK_TRUE 344
+#define TOK_TYPE_IDENTIFIER 345
+#define TOK_UNIQUE 346
+#define TOK_UNIVERSAL 347
+#define TOK_UniversalString 348
+#define TOK_UTCTime 349
+#define TOK_UTF8String 350
+#define TOK_VideotexString 351
+#define TOK_VisibleString 352
+#define TOK_WITH 353
+#define TOK_EXCEPT 354
+#define TOK_INTERSECTION 355
+#define TOK_UNION 356
+#define TOK_TwoDots 357
+#define TOK_ThreeDots 358
extern YYSTYPE asn1p_lval;
diff --git a/libasn1parser/asn1p_y.y b/libasn1parser/asn1p_y.y
index f39bd12c..323ebe79 100644
--- a/libasn1parser/asn1p_y.y
+++ b/libasn1parser/asn1p_y.y
@@ -107,6 +107,7 @@ static void _fixup_anonymous_identifier(asn1p_expr_t *expr);
* Token types returned by scanner.
*/
%token TOK_PPEQ /* "::=", Pseudo Pascal EQuality */
+%token <tv_opaque> TOK_whitespace /* A span of whitespace */
%token <tv_opaque> TOK_opaque /* opaque data (driven from .y) */
%token <tv_str> TOK_bstring
%token <tv_opaque> TOK_cstring
@@ -1073,8 +1074,9 @@ WithSyntaxList:
;
WithSyntaxToken:
- TOK_opaque {
+ TOK_whitespace {
$$ = asn1p_wsyntx_chunk_frombuf($1.buf, $1.len, 0);
+ $$->type = WC_WHITESPACE;
}
| TOK_Literal {
$$ = asn1p_wsyntx_chunk_frombuf($1, strlen($1), 0);