Commit 57074f10 authored by Lev Walkin's avatar Lev Walkin

more distinction

parent 9d542d22
......@@ -264,11 +264,13 @@ ASN_MODULE_SOURCES+=BOOLEAN.c
ASN_MODULE_HEADERS+=ENUMERATED.h
ASN_MODULE_SOURCES+=ENUMERATED.c
ASN_MODULE_HEADERS+=INTEGER.h
ASN_MODULE_HEADERS+=NativeEnumerated.h
ASN_MODULE_HEADERS+=GeneralizedTime.h
ASN_MODULE_SOURCES+=GeneralizedTime.c
ASN_MODULE_HEADERS+=IA5String.h
ASN_MODULE_SOURCES+=IA5String.c
ASN_MODULE_SOURCES+=INTEGER.c
ASN_MODULE_SOURCES+=NativeEnumerated.c
ASN_MODULE_HEADERS+=NativeInteger.h
ASN_MODULE_SOURCES+=NativeInteger.c
ASN_MODULE_HEADERS+=NumericString.h
......@@ -328,6 +330,10 @@ ASN_MODULE_HEADERS+=xer_decoder.h
ASN_MODULE_SOURCES+=xer_decoder.c
ASN_MODULE_HEADERS+=xer_encoder.h
ASN_MODULE_SOURCES+=xer_encoder.c
ASN_MODULE_HEADERS+=per_support.h
ASN_MODULE_SOURCES+=per_support.c
ASN_MODULE_HEADERS+=per_decoder.h
ASN_MODULE_SOURCES+=per_decoder.c
lib_LTLIBRARIES=libsomething.la
......
......@@ -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;
......
......@@ -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}
*/
......
......@@ -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:
......
......@@ -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;
}
"}" {
......
......@@ -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"
......
......@@ -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;
......@@ -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);
......
......@@ -415,6 +415,7 @@ asn1print_with_syntax(asn1p_wsyntx_t *wx, enum asn1print_flags flags) {
TQ_FOR(wc, &(wx->chunks), next) {
switch(wc->type) {
case WC_LITERAL:
case WC_WHITESPACE:
printf("%s", wc->content.token);
break;
case WC_REFERENCE:
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment