reverting to a much more simplistic parsing
diff --git a/libasn1parser/asn1p_y.c b/libasn1parser/asn1p_y.c
index 353c4fa..1f90ec3 100644
--- a/libasn1parser/asn1p_y.c
+++ b/libasn1parser/asn1p_y.c
@@ -18,97 +18,99 @@
#define TOK_hstring 261
#define TOK_identifier 262
#define TOK_number 263
-#define TOK_number_negative 264
-#define TOK_typereference 265
-#define TOK_capitalreference 266
-#define TOK_typefieldreference 267
-#define TOK_valuefieldreference 268
-#define TOK_ABSENT 269
-#define TOK_ABSTRACT_SYNTAX 270
-#define TOK_ALL 271
-#define TOK_ANY 272
-#define TOK_APPLICATION 273
-#define TOK_AUTOMATIC 274
-#define TOK_BEGIN 275
-#define TOK_BIT 276
-#define TOK_BMPString 277
-#define TOK_BOOLEAN 278
-#define TOK_BY 279
-#define TOK_CHARACTER 280
-#define TOK_CHOICE 281
-#define TOK_CLASS 282
-#define TOK_COMPONENT 283
-#define TOK_COMPONENTS 284
-#define TOK_CONSTRAINED 285
-#define TOK_CONTAINING 286
-#define TOK_DEFAULT 287
-#define TOK_DEFINITIONS 288
-#define TOK_DEFINED 289
-#define TOK_EMBEDDED 290
-#define TOK_ENCODED 291
-#define TOK_ENCODING_CONTROL 292
-#define TOK_END 293
-#define TOK_ENUMERATED 294
-#define TOK_EXPLICIT 295
-#define TOK_EXPORTS 296
-#define TOK_EXTENSIBILITY 297
-#define TOK_EXTERNAL 298
-#define TOK_FALSE 299
-#define TOK_FROM 300
-#define TOK_GeneralizedTime 301
-#define TOK_GeneralString 302
-#define TOK_GraphicString 303
-#define TOK_IA5String 304
-#define TOK_IDENTIFIER 305
-#define TOK_IMPLICIT 306
-#define TOK_IMPLIED 307
-#define TOK_IMPORTS 308
-#define TOK_INCLUDES 309
-#define TOK_INSTANCE 310
-#define TOK_INSTRUCTIONS 311
-#define TOK_INTEGER 312
-#define TOK_ISO646String 313
-#define TOK_MAX 314
-#define TOK_MIN 315
-#define TOK_MINUS_INFINITY 316
-#define TOK_NULL 317
-#define TOK_NumericString 318
-#define TOK_OBJECT 319
-#define TOK_ObjectDescriptor 320
-#define TOK_OCTET 321
-#define TOK_OF 322
-#define TOK_OPTIONAL 323
-#define TOK_PATTERN 324
-#define TOK_PDV 325
-#define TOK_PLUS_INFINITY 326
-#define TOK_PRESENT 327
-#define TOK_PrintableString 328
-#define TOK_PRIVATE 329
-#define TOK_REAL 330
-#define TOK_RELATIVE_OID 331
-#define TOK_SEQUENCE 332
-#define TOK_SET 333
-#define TOK_SIZE 334
-#define TOK_STRING 335
-#define TOK_SYNTAX 336
-#define TOK_T61String 337
-#define TOK_TAGS 338
-#define TOK_TeletexString 339
-#define TOK_TRUE 340
-#define TOK_TYPE_IDENTIFIER 341
-#define TOK_UNIQUE 342
-#define TOK_UNIVERSAL 343
-#define TOK_UniversalString 344
-#define TOK_UTCTime 345
-#define TOK_UTF8String 346
-#define TOK_VideotexString 347
-#define TOK_VisibleString 348
-#define TOK_WITH 349
-#define TOK_EXCEPT 350
-#define TOK_INTERSECTION 351
-#define TOK_UNION 352
-#define TOK_TwoDots 353
-#define TOK_ThreeDots 354
+#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_ABSENT 271
+#define TOK_ABSTRACT_SYNTAX 272
+#define TOK_ALL 273
+#define TOK_ANY 274
+#define TOK_APPLICATION 275
+#define TOK_AUTOMATIC 276
+#define TOK_BEGIN 277
+#define TOK_BIT 278
+#define TOK_BMPString 279
+#define TOK_BOOLEAN 280
+#define TOK_BY 281
+#define TOK_CHARACTER 282
+#define TOK_CHOICE 283
+#define TOK_CLASS 284
+#define TOK_COMPONENT 285
+#define TOK_COMPONENTS 286
+#define TOK_CONSTRAINED 287
+#define TOK_CONTAINING 288
+#define TOK_DEFAULT 289
+#define TOK_DEFINITIONS 290
+#define TOK_DEFINED 291
+#define TOK_EMBEDDED 292
+#define TOK_ENCODED 293
+#define TOK_ENCODING_CONTROL 294
+#define TOK_END 295
+#define TOK_ENUMERATED 296
+#define TOK_EXPLICIT 297
+#define TOK_EXPORTS 298
+#define TOK_EXTENSIBILITY 299
+#define TOK_EXTERNAL 300
+#define TOK_FALSE 301
+#define TOK_FROM 302
+#define TOK_GeneralizedTime 303
+#define TOK_GeneralString 304
+#define TOK_GraphicString 305
+#define TOK_IA5String 306
+#define TOK_IDENTIFIER 307
+#define TOK_IMPLICIT 308
+#define TOK_IMPLIED 309
+#define TOK_IMPORTS 310
+#define TOK_INCLUDES 311
+#define TOK_INSTANCE 312
+#define TOK_INSTRUCTIONS 313
+#define TOK_INTEGER 314
+#define TOK_ISO646String 315
+#define TOK_MAX 316
+#define TOK_MIN 317
+#define TOK_MINUS_INFINITY 318
+#define TOK_NULL 319
+#define TOK_NumericString 320
+#define TOK_OBJECT 321
+#define TOK_ObjectDescriptor 322
+#define TOK_OCTET 323
+#define TOK_OF 324
+#define TOK_OPTIONAL 325
+#define TOK_PATTERN 326
+#define TOK_PDV 327
+#define TOK_PLUS_INFINITY 328
+#define TOK_PRESENT 329
+#define TOK_PrintableString 330
+#define TOK_PRIVATE 331
+#define TOK_REAL 332
+#define TOK_RELATIVE_OID 333
+#define TOK_SEQUENCE 334
+#define TOK_SET 335
+#define TOK_SIZE 336
+#define TOK_STRING 337
+#define TOK_SYNTAX 338
+#define TOK_T61String 339
+#define TOK_TAGS 340
+#define TOK_TeletexString 341
+#define TOK_TRUE 342
+#define TOK_TYPE_IDENTIFIER 343
+#define TOK_UNIQUE 344
+#define TOK_UNIVERSAL 345
+#define TOK_UniversalString 346
+#define TOK_UTCTime 347
+#define TOK_UTF8String 348
+#define TOK_VideotexString 349
+#define TOK_VisibleString 350
+#define TOK_WITH 351
+#define TOK_EXCEPT 352
+#define TOK_INTERSECTION 353
+#define TOK_UNION 354
+#define TOK_TwoDots 355
+#define TOK_ThreeDots 356
#line 1 "asn1p_y.y"
@@ -204,26 +206,26 @@
-#define YYFINAL 437
+#define YYFINAL 429
#define YYFLAG -32768
-#define YYNTBASE 116
+#define YYNTBASE 118
-#define YYTRANSLATE(x) ((unsigned)(x) <= 354 ? yytranslate[x] : 220)
+#define YYTRANSLATE(x) ((unsigned)(x) <= 356 ? yytranslate[x] : 222)
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, 110, 2, 2, 2, 2, 2, 2, 105,
- 106, 2, 2, 108, 2, 111, 2, 2, 2, 2,
- 2, 2, 2, 2, 2, 2, 2, 109, 107, 112,
- 2, 2, 2, 113, 2, 2, 2, 2, 2, 2,
+ 2, 2, 112, 2, 2, 2, 2, 2, 2, 107,
+ 108, 2, 2, 110, 2, 113, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 111, 109, 114,
+ 2, 2, 2, 115, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 114, 2, 115, 97, 2, 2, 2, 2, 2, 2,
+ 116, 2, 117, 99, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 2, 2, 103, 99, 104, 2, 2, 2, 2, 2,
+ 2, 2, 105, 101, 106, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
@@ -246,7 +248,7 @@
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,
- 98, 100, 101, 102
+ 97, 98, 100, 102, 103, 104
};
#if YYDEBUG != 0
@@ -265,136 +267,134 @@
327, 334, 341, 343, 348, 353, 355, 359, 361, 365,
369, 373, 375, 379, 381, 385, 387, 389, 391, 393,
398, 402, 403, 407, 409, 411, 413, 415, 417, 419,
- 421, 423, 425, 429, 431, 437, 447, 449, 452, 454,
- 456, 458, 460, 463, 466, 468, 470, 473, 476, 478,
- 480, 482, 484, 486, 489, 491, 494, 496, 498, 500,
- 502, 504, 506, 508, 510, 512, 514, 516, 518, 520,
- 522, 524, 526, 528, 530, 532, 533, 535, 537, 542,
- 546, 551, 553, 557, 563, 565, 569, 573, 577, 581,
- 586, 590, 592, 594, 598, 602, 606, 610, 612, 614,
- 615, 621, 623, 626, 629, 633, 635, 637, 639, 641,
- 643, 645, 647, 649, 655, 657, 661, 663, 667, 668,
- 670, 672, 674, 676, 678, 680, 684, 689, 691, 695,
- 698, 702, 704, 708, 709, 711, 713, 716, 719, 723,
- 725, 729, 731, 736, 741, 743, 745, 747, 749, 750,
- 752, 755, 760, 761, 763, 765, 767, 768, 770, 772,
- 774, 776, 778, 779, 781
+ 421, 423, 425, 429, 431, 433, 435, 437, 440, 442,
+ 444, 446, 448, 451, 454, 456, 458, 461, 464, 466,
+ 468, 470, 472, 474, 477, 479, 482, 484, 486, 488,
+ 490, 492, 494, 496, 498, 500, 502, 504, 506, 508,
+ 510, 512, 514, 516, 518, 520, 521, 523, 525, 530,
+ 534, 539, 541, 545, 551, 553, 557, 561, 565, 569,
+ 574, 578, 580, 582, 586, 590, 594, 598, 600, 602,
+ 603, 609, 611, 614, 617, 621, 623, 625, 627, 629,
+ 631, 633, 635, 637, 643, 645, 649, 651, 655, 656,
+ 658, 660, 662, 664, 666, 668, 672, 677, 679, 683,
+ 686, 690, 692, 696, 697, 699, 701, 704, 707, 711,
+ 713, 717, 719, 724, 729, 731, 733, 735, 737, 738,
+ 740, 743, 748, 749, 751, 753, 755, 756, 758, 760,
+ 762, 764, 766, 767, 769
};
-static const short yyrhs[] = { 117,
- 0, 118, 0, 117, 118, 0, 216, 119, 34, 123,
- 3, 21, 126, 39, 0, 0, 120, 0, 103, 121,
- 104, 0, 103, 104, 0, 122, 0, 121, 122, 0,
- 219, 0, 219, 105, 9, 106, 0, 9, 0, 0,
- 124, 0, 125, 0, 124, 125, 0, 41, 84, 0,
- 52, 84, 0, 20, 84, 0, 43, 53, 0, 12,
- 57, 0, 0, 127, 0, 128, 0, 127, 128, 0,
- 130, 0, 135, 0, 143, 0, 170, 0, 138, 0,
- 0, 38, 12, 129, 0, 179, 0, 54, 131, 107,
- 0, 54, 46, 0, 132, 0, 131, 132, 0, 133,
- 46, 216, 119, 0, 134, 0, 133, 108, 134, 0,
- 216, 0, 216, 103, 104, 0, 219, 0, 42, 136,
- 107, 0, 42, 17, 107, 0, 42, 107, 0, 137,
- 0, 136, 108, 137, 0, 216, 0, 216, 103, 104,
- 0, 219, 0, 216, 139, 3, 103, 140, 104, 0,
- 165, 0, 176, 0, 0, 141, 0, 142, 0, 141,
- 108, 142, 0, 102, 0, 187, 0, 216, 3, 211,
- 87, 0, 216, 3, 163, 0, 216, 3, 153, 0,
- 216, 103, 144, 104, 3, 163, 0, 145, 0, 144,
- 108, 145, 0, 216, 0, 216, 109, 219, 0, 216,
- 109, 216, 0, 176, 109, 219, 0, 147, 0, 146,
- 108, 147, 0, 163, 0, 219, 0, 0, 149, 0,
- 150, 0, 149, 108, 150, 0, 219, 163, 205, 0,
- 30, 68, 163, 0, 162, 0, 152, 0, 151, 108,
- 152, 0, 219, 163, 0, 162, 0, 28, 103, 155,
- 104, 157, 0, 0, 88, 0, 156, 0, 155, 108,
- 156, 0, 168, 205, 0, 168, 163, 154, 205, 0,
- 168, 168, 154, 205, 0, 0, 158, 0, 0, 95,
- 82, 103, 159, 160, 104, 0, 161, 0, 160, 161,
- 0, 4, 0, 168, 0, 102, 0, 102, 110, 173,
- 0, 102, 110, 210, 0, 211, 164, 183, 0, 178,
- 0, 27, 103, 151, 104, 0, 78, 103, 148, 104,
- 0, 79, 103, 148, 104, 0, 78, 183, 68, 218,
- 211, 164, 0, 79, 183, 68, 218, 211, 164, 0,
- 18, 0, 18, 35, 25, 219, 0, 216, 103, 146,
- 104, 0, 165, 0, 56, 68, 165, 0, 11, 0,
- 11, 111, 216, 0, 217, 111, 216, 0, 11, 111,
- 219, 0, 217, 0, 217, 111, 166, 0, 167, 0,
- 166, 111, 167, 0, 169, 0, 169, 0, 13, 0,
- 14, 0, 219, 139, 3, 171, 0, 219, 109, 171,
- 0, 0, 103, 172, 175, 0, 63, 0, 45, 0,
- 86, 0, 5, 0, 7, 0, 174, 0, 210, 0,
- 173, 0, 219, 0, 216, 111, 219, 0, 6, 0,
- 103, 9, 108, 9, 104, 0, 103, 9, 108, 9,
- 108, 9, 108, 9, 104, 0, 4, 0, 175, 4,
- 0, 24, 0, 63, 0, 76, 0, 177, 0, 67,
- 81, 0, 65, 51, 0, 77, 0, 44, 0, 36,
- 71, 0, 26, 81, 0, 91, 0, 47, 0, 179,
- 0, 58, 0, 40, 0, 22, 81, 0, 176, 0,
- 177, 207, 0, 23, 0, 48, 0, 49, 0, 50,
- 0, 59, 0, 64, 0, 74, 0, 83, 0, 85,
- 0, 90, 0, 92, 0, 93, 0, 94, 0, 66,
- 0, 99, 0, 100, 0, 97, 0, 98, 0, 96,
- 0, 0, 184, 0, 185, 0, 80, 105, 186, 106,
- 0, 105, 186, 106, 0, 185, 105, 186, 106, 0,
- 187, 0, 187, 108, 102, 0, 187, 108, 102, 108,
- 187, 0, 188, 0, 17, 96, 188, 0, 187, 180,
- 188, 0, 187, 181, 188, 0, 188, 182, 188, 0,
- 191, 105, 186, 106, 0, 105, 186, 106, 0, 192,
- 0, 193, 0, 192, 190, 192, 0, 61, 190, 192,
- 0, 192, 190, 60, 0, 61, 190, 60, 0, 199,
- 0, 194, 0, 0, 31, 25, 103, 189, 175, 0,
- 101, 0, 101, 112, 0, 112, 101, 0, 112, 101,
- 112, 0, 80, 0, 46, 0, 45, 0, 86, 0,
- 210, 0, 174, 0, 219, 0, 216, 0, 95, 30,
- 103, 195, 104, 0, 196, 0, 195, 108, 196, 0,
- 102, 0, 219, 183, 197, 0, 0, 198, 0, 73,
- 0, 15, 0, 69, 0, 200, 0, 201, 0, 103,
- 216, 104, 0, 200, 103, 202, 104, 0, 203, 0,
- 202, 108, 203, 0, 113, 204, 0, 113, 111, 204,
- 0, 219, 0, 204, 111, 219, 0, 0, 206, 0,
- 69, 0, 33, 171, 0, 103, 104, 0, 103, 208,
- 104, 0, 209, 0, 208, 108, 209, 0, 219, 0,
- 219, 105, 210, 106, 0, 219, 105, 173, 106, 0,
- 210, 0, 102, 0, 9, 0, 10, 0, 0, 212,
- 0, 213, 215, 0, 114, 214, 9, 115, 0, 0,
- 89, 0, 19, 0, 75, 0, 0, 52, 0, 41,
- 0, 11, 0, 12, 0, 12, 0, 0, 219, 0,
- 8, 0
+static const short yyrhs[] = { 119,
+ 0, 120, 0, 119, 120, 0, 218, 121, 36, 125,
+ 3, 23, 128, 41, 0, 0, 122, 0, 105, 123,
+ 106, 0, 105, 106, 0, 124, 0, 123, 124, 0,
+ 221, 0, 221, 107, 9, 108, 0, 9, 0, 0,
+ 126, 0, 127, 0, 126, 127, 0, 43, 86, 0,
+ 54, 86, 0, 22, 86, 0, 45, 55, 0, 14,
+ 59, 0, 0, 129, 0, 130, 0, 129, 130, 0,
+ 132, 0, 137, 0, 145, 0, 172, 0, 140, 0,
+ 0, 40, 14, 131, 0, 181, 0, 56, 133, 109,
+ 0, 56, 48, 0, 134, 0, 133, 134, 0, 135,
+ 48, 218, 121, 0, 136, 0, 135, 110, 136, 0,
+ 218, 0, 218, 105, 106, 0, 221, 0, 44, 138,
+ 109, 0, 44, 19, 109, 0, 44, 109, 0, 139,
+ 0, 138, 110, 139, 0, 218, 0, 218, 105, 106,
+ 0, 221, 0, 218, 141, 3, 105, 142, 106, 0,
+ 167, 0, 178, 0, 0, 143, 0, 144, 0, 143,
+ 110, 144, 0, 104, 0, 189, 0, 218, 3, 213,
+ 89, 0, 218, 3, 165, 0, 218, 3, 155, 0,
+ 218, 105, 146, 106, 3, 165, 0, 147, 0, 146,
+ 110, 147, 0, 218, 0, 218, 111, 221, 0, 218,
+ 111, 218, 0, 178, 111, 221, 0, 149, 0, 148,
+ 110, 149, 0, 165, 0, 221, 0, 0, 151, 0,
+ 152, 0, 151, 110, 152, 0, 221, 165, 207, 0,
+ 32, 70, 165, 0, 164, 0, 154, 0, 153, 110,
+ 154, 0, 221, 165, 0, 164, 0, 30, 105, 157,
+ 106, 159, 0, 0, 90, 0, 158, 0, 157, 110,
+ 158, 0, 170, 207, 0, 170, 165, 156, 207, 0,
+ 170, 170, 156, 207, 0, 0, 160, 0, 0, 97,
+ 84, 105, 161, 162, 106, 0, 163, 0, 162, 163,
+ 0, 4, 0, 170, 0, 104, 0, 104, 112, 175,
+ 0, 104, 112, 212, 0, 213, 166, 185, 0, 180,
+ 0, 29, 105, 153, 106, 0, 80, 105, 150, 106,
+ 0, 81, 105, 150, 106, 0, 80, 185, 70, 220,
+ 213, 166, 0, 81, 185, 70, 220, 213, 166, 0,
+ 20, 0, 20, 37, 27, 221, 0, 218, 105, 148,
+ 106, 0, 167, 0, 58, 70, 167, 0, 13, 0,
+ 13, 113, 218, 0, 219, 113, 218, 0, 13, 113,
+ 221, 0, 219, 0, 219, 113, 168, 0, 169, 0,
+ 168, 113, 169, 0, 171, 0, 171, 0, 15, 0,
+ 16, 0, 221, 141, 3, 173, 0, 221, 111, 173,
+ 0, 0, 105, 174, 177, 0, 65, 0, 47, 0,
+ 88, 0, 5, 0, 7, 0, 176, 0, 212, 0,
+ 175, 0, 221, 0, 218, 113, 221, 0, 6, 0,
+ 10, 0, 11, 0, 4, 0, 177, 4, 0, 26,
+ 0, 65, 0, 78, 0, 179, 0, 69, 83, 0,
+ 67, 53, 0, 79, 0, 46, 0, 38, 73, 0,
+ 28, 83, 0, 93, 0, 49, 0, 181, 0, 60,
+ 0, 42, 0, 24, 83, 0, 178, 0, 179, 209,
+ 0, 25, 0, 50, 0, 51, 0, 52, 0, 61,
+ 0, 66, 0, 76, 0, 85, 0, 87, 0, 92,
+ 0, 94, 0, 95, 0, 96, 0, 68, 0, 101,
+ 0, 102, 0, 99, 0, 100, 0, 98, 0, 0,
+ 186, 0, 187, 0, 82, 107, 188, 108, 0, 107,
+ 188, 108, 0, 187, 107, 188, 108, 0, 189, 0,
+ 189, 110, 104, 0, 189, 110, 104, 110, 189, 0,
+ 190, 0, 19, 98, 190, 0, 189, 182, 190, 0,
+ 189, 183, 190, 0, 190, 184, 190, 0, 193, 107,
+ 188, 108, 0, 107, 188, 108, 0, 194, 0, 195,
+ 0, 194, 192, 194, 0, 63, 192, 194, 0, 194,
+ 192, 62, 0, 63, 192, 62, 0, 201, 0, 196,
+ 0, 0, 33, 27, 105, 191, 177, 0, 103, 0,
+ 103, 114, 0, 114, 103, 0, 114, 103, 114, 0,
+ 82, 0, 48, 0, 47, 0, 88, 0, 212, 0,
+ 176, 0, 221, 0, 218, 0, 97, 32, 105, 197,
+ 106, 0, 198, 0, 197, 110, 198, 0, 104, 0,
+ 221, 185, 199, 0, 0, 200, 0, 75, 0, 17,
+ 0, 71, 0, 202, 0, 203, 0, 105, 218, 106,
+ 0, 202, 105, 204, 106, 0, 205, 0, 204, 110,
+ 205, 0, 115, 206, 0, 115, 113, 206, 0, 221,
+ 0, 206, 113, 221, 0, 0, 208, 0, 71, 0,
+ 35, 173, 0, 105, 106, 0, 105, 210, 106, 0,
+ 211, 0, 210, 110, 211, 0, 221, 0, 221, 107,
+ 212, 108, 0, 221, 107, 175, 108, 0, 212, 0,
+ 104, 0, 9, 0, 12, 0, 0, 214, 0, 215,
+ 217, 0, 116, 216, 9, 117, 0, 0, 91, 0,
+ 21, 0, 77, 0, 0, 54, 0, 43, 0, 13,
+ 0, 14, 0, 14, 0, 0, 221, 0, 8, 0
};
#endif
#if YYDEBUG != 0
static const short yyrline[] = { 0,
- 303, 309, 315, 331, 356, 358, 361, 365, 370, 377,
- 385, 390, 394, 403, 405, 413, 417, 425, 429, 432,
- 435, 439, 459, 461, 469, 473, 505, 509, 518, 525,
- 538, 545, 547, 559, 572, 579, 584, 590, 596, 605,
- 611, 617, 624, 630, 638, 642, 645, 652, 658, 664,
- 671, 677, 686, 696, 704, 712, 714, 724, 727, 731,
- 734, 746, 758, 764, 780, 789, 799, 809, 814, 821,
- 828, 838, 844, 850, 854, 877, 879, 881, 887, 893,
- 900, 907, 912, 918, 924, 930, 935, 945, 947, 950,
- 958, 964, 973, 979, 996, 998, 1003, 1007, 1012, 1017,
- 1023, 1027, 1038, 1047, 1056, 1067, 1089, 1093, 1099, 1105,
- 1111, 1121, 1131, 1137, 1151, 1175, 1182, 1196, 1205, 1215,
- 1225, 1235, 1243, 1264, 1273, 1282, 1283, 1285, 1292, 1304,
- 1314, 1322, 1322, 1327, 1332, 1337, 1342, 1346, 1350, 1353,
- 1356, 1361, 1373, 1390, 1395, 1405, 1421, 1431, 1445, 1447,
- 1448, 1449, 1450, 1451, 1452, 1453, 1454, 1455, 1456, 1457,
- 1458, 1464, 1466, 1467, 1470, 1477, 1489, 1491, 1495, 1499,
- 1500, 1501, 1502, 1503, 1507, 1508, 1509, 1510, 1514, 1515,
- 1522, 1522, 1523, 1523, 1524, 1526, 1528, 1533, 1537, 1546,
- 1550, 1555, 1559, 1565, 1575, 1579, 1582, 1585, 1588, 1593,
- 1602, 1610, 1616, 1622, 1629, 1637, 1645, 1654, 1657, 1660,
- 1661, 1671, 1673, 1674, 1675, 1678, 1682, 1687, 1693, 1698,
- 1701, 1704, 1717, 1731, 1737, 1741, 1746, 1752, 1764, 1766,
- 1769, 1773, 1776, 1781, 1785, 1793, 1808, 1814, 1821, 1834,
- 1846, 1861, 1865, 1882, 1887, 1890, 1895, 1917, 1922, 1927,
- 1933, 1939, 1947, 1955, 1963, 1970, 1980, 1985, 2015, 2017,
- 2020, 2027, 2033, 2035, 2036, 2037, 2040, 2042, 2043, 2046,
- 2051, 2058, 2065, 2067, 2071
+ 305, 311, 317, 333, 358, 360, 363, 367, 372, 379,
+ 387, 392, 396, 405, 407, 415, 419, 427, 431, 434,
+ 437, 441, 461, 463, 471, 475, 507, 511, 520, 527,
+ 540, 547, 549, 561, 574, 581, 586, 592, 598, 607,
+ 613, 619, 626, 632, 640, 644, 647, 654, 660, 666,
+ 673, 679, 688, 698, 706, 714, 716, 726, 729, 733,
+ 736, 748, 760, 766, 782, 791, 801, 811, 816, 823,
+ 830, 840, 846, 852, 856, 879, 881, 883, 889, 895,
+ 902, 909, 914, 920, 926, 932, 937, 947, 949, 952,
+ 960, 966, 975, 981, 998, 1000, 1005, 1009, 1014, 1019,
+ 1025, 1029, 1040, 1049, 1058, 1069, 1091, 1095, 1101, 1107,
+ 1113, 1123, 1133, 1139, 1153, 1177, 1184, 1198, 1207, 1217,
+ 1227, 1237, 1245, 1266, 1275, 1284, 1285, 1287, 1294, 1306,
+ 1316, 1324, 1324, 1329, 1334, 1339, 1344, 1348, 1352, 1355,
+ 1358, 1363, 1375, 1392, 1397, 1402, 1435, 1445, 1459, 1461,
+ 1462, 1463, 1464, 1465, 1466, 1467, 1468, 1469, 1470, 1471,
+ 1472, 1478, 1480, 1481, 1484, 1491, 1503, 1505, 1509, 1513,
+ 1514, 1515, 1516, 1517, 1521, 1522, 1523, 1524, 1528, 1529,
+ 1536, 1536, 1537, 1537, 1538, 1540, 1542, 1547, 1551, 1560,
+ 1564, 1569, 1573, 1579, 1589, 1593, 1596, 1599, 1602, 1607,
+ 1616, 1624, 1630, 1636, 1643, 1651, 1659, 1668, 1671, 1674,
+ 1675, 1685, 1687, 1688, 1689, 1692, 1696, 1701, 1707, 1712,
+ 1715, 1718, 1731, 1745, 1751, 1755, 1760, 1766, 1778, 1780,
+ 1783, 1787, 1790, 1795, 1799, 1807, 1822, 1828, 1835, 1848,
+ 1860, 1875, 1879, 1896, 1901, 1904, 1909, 1931, 1936, 1941,
+ 1947, 1953, 1961, 1969, 1977, 1984, 1994, 1999, 2029, 2031,
+ 2034, 2041, 2047, 2049, 2050, 2051, 2054, 2056, 2057, 2060,
+ 2065, 2072, 2079, 2081, 2085
};
#endif
@@ -403,36 +403,36 @@
static const char * const yytname[] = { "$","error","$undefined.","TOK_PPEQ",
"TOK_opaque","TOK_bstring","TOK_cstring","TOK_hstring","TOK_identifier","TOK_number",
-"TOK_number_negative","TOK_typereference","TOK_capitalreference","TOK_typefieldreference",
-"TOK_valuefieldreference","TOK_ABSENT","TOK_ABSTRACT_SYNTAX","TOK_ALL","TOK_ANY",
-"TOK_APPLICATION","TOK_AUTOMATIC","TOK_BEGIN","TOK_BIT","TOK_BMPString","TOK_BOOLEAN",
-"TOK_BY","TOK_CHARACTER","TOK_CHOICE","TOK_CLASS","TOK_COMPONENT","TOK_COMPONENTS",
-"TOK_CONSTRAINED","TOK_CONTAINING","TOK_DEFAULT","TOK_DEFINITIONS","TOK_DEFINED",
-"TOK_EMBEDDED","TOK_ENCODED","TOK_ENCODING_CONTROL","TOK_END","TOK_ENUMERATED",
-"TOK_EXPLICIT","TOK_EXPORTS","TOK_EXTENSIBILITY","TOK_EXTERNAL","TOK_FALSE",
-"TOK_FROM","TOK_GeneralizedTime","TOK_GeneralString","TOK_GraphicString","TOK_IA5String",
-"TOK_IDENTIFIER","TOK_IMPLICIT","TOK_IMPLIED","TOK_IMPORTS","TOK_INCLUDES","TOK_INSTANCE",
-"TOK_INSTRUCTIONS","TOK_INTEGER","TOK_ISO646String","TOK_MAX","TOK_MIN","TOK_MINUS_INFINITY",
-"TOK_NULL","TOK_NumericString","TOK_OBJECT","TOK_ObjectDescriptor","TOK_OCTET",
-"TOK_OF","TOK_OPTIONAL","TOK_PATTERN","TOK_PDV","TOK_PLUS_INFINITY","TOK_PRESENT",
-"TOK_PrintableString","TOK_PRIVATE","TOK_REAL","TOK_RELATIVE_OID","TOK_SEQUENCE",
-"TOK_SET","TOK_SIZE","TOK_STRING","TOK_SYNTAX","TOK_T61String","TOK_TAGS","TOK_TeletexString",
-"TOK_TRUE","TOK_TYPE_IDENTIFIER","TOK_UNIQUE","TOK_UNIVERSAL","TOK_UniversalString",
-"TOK_UTCTime","TOK_UTF8String","TOK_VideotexString","TOK_VisibleString","TOK_WITH",
-"TOK_EXCEPT","'^'","TOK_INTERSECTION","'|'","TOK_UNION","TOK_TwoDots","TOK_ThreeDots",
-"'{'","'}'","'('","')'","';'","','","':'","'!'","'.'","'<'","'@'","'['","']'",
-"ParsedGrammar","ModuleList","ModuleSpecification","optObjectIdentifier","ObjectIdentifier",
-"ObjectIdentifierBody","ObjectIdentifierElement","optModuleSpecificationFlags",
-"ModuleSpecificationFlags","ModuleSpecificationFlag","optModuleSpecificationBody",
-"ModuleSpecificationBody","ModuleSpecificationElement","@1","ImportsDefinition",
-"ImportsBundleSet","ImportsBundle","ImportsList","ImportsElement","ExportsDefinition",
-"ExportsBody","ExportsElement","ValueSetDefinition","DefinedTypeRef","optValueSetBody",
-"ValueSetBody","ValueSetElement","DataTypeReference","ParameterArgumentList",
-"ParameterArgumentName","ActualParameterList","ActualParameter","optComponentTypeLists",
-"ComponentTypeLists","ComponentType","AlternativeTypeLists","AlternativeType",
-"ClassDeclaration","optUnique","ClassFieldList","ClassField","optWithSyntax",
-"WithSyntax","@2","WithSyntaxFormat","WithSyntaxFormatToken","ExtensionAndException",
-"Type","TypeDeclaration","ComplexTypeReference","ComplexTypeReferenceAmpList",
+"TOK_tuple","TOK_quadruple","TOK_number_negative","TOK_typereference","TOK_capitalreference",
+"TOK_typefieldreference","TOK_valuefieldreference","TOK_ABSENT","TOK_ABSTRACT_SYNTAX",
+"TOK_ALL","TOK_ANY","TOK_APPLICATION","TOK_AUTOMATIC","TOK_BEGIN","TOK_BIT",
+"TOK_BMPString","TOK_BOOLEAN","TOK_BY","TOK_CHARACTER","TOK_CHOICE","TOK_CLASS",
+"TOK_COMPONENT","TOK_COMPONENTS","TOK_CONSTRAINED","TOK_CONTAINING","TOK_DEFAULT",
+"TOK_DEFINITIONS","TOK_DEFINED","TOK_EMBEDDED","TOK_ENCODED","TOK_ENCODING_CONTROL",
+"TOK_END","TOK_ENUMERATED","TOK_EXPLICIT","TOK_EXPORTS","TOK_EXTENSIBILITY",
+"TOK_EXTERNAL","TOK_FALSE","TOK_FROM","TOK_GeneralizedTime","TOK_GeneralString",
+"TOK_GraphicString","TOK_IA5String","TOK_IDENTIFIER","TOK_IMPLICIT","TOK_IMPLIED",
+"TOK_IMPORTS","TOK_INCLUDES","TOK_INSTANCE","TOK_INSTRUCTIONS","TOK_INTEGER",
+"TOK_ISO646String","TOK_MAX","TOK_MIN","TOK_MINUS_INFINITY","TOK_NULL","TOK_NumericString",
+"TOK_OBJECT","TOK_ObjectDescriptor","TOK_OCTET","TOK_OF","TOK_OPTIONAL","TOK_PATTERN",
+"TOK_PDV","TOK_PLUS_INFINITY","TOK_PRESENT","TOK_PrintableString","TOK_PRIVATE",
+"TOK_REAL","TOK_RELATIVE_OID","TOK_SEQUENCE","TOK_SET","TOK_SIZE","TOK_STRING",
+"TOK_SYNTAX","TOK_T61String","TOK_TAGS","TOK_TeletexString","TOK_TRUE","TOK_TYPE_IDENTIFIER",
+"TOK_UNIQUE","TOK_UNIVERSAL","TOK_UniversalString","TOK_UTCTime","TOK_UTF8String",
+"TOK_VideotexString","TOK_VisibleString","TOK_WITH","TOK_EXCEPT","'^'","TOK_INTERSECTION",
+"'|'","TOK_UNION","TOK_TwoDots","TOK_ThreeDots","'{'","'}'","'('","')'","';'",
+"','","':'","'!'","'.'","'<'","'@'","'['","']'","ParsedGrammar","ModuleList",
+"ModuleSpecification","optObjectIdentifier","ObjectIdentifier","ObjectIdentifierBody",
+"ObjectIdentifierElement","optModuleSpecificationFlags","ModuleSpecificationFlags",
+"ModuleSpecificationFlag","optModuleSpecificationBody","ModuleSpecificationBody",
+"ModuleSpecificationElement","@1","ImportsDefinition","ImportsBundleSet","ImportsBundle",
+"ImportsList","ImportsElement","ExportsDefinition","ExportsBody","ExportsElement",
+"ValueSetDefinition","DefinedTypeRef","optValueSetBody","ValueSetBody","ValueSetElement",
+"DataTypeReference","ParameterArgumentList","ParameterArgumentName","ActualParameterList",
+"ActualParameter","optComponentTypeLists","ComponentTypeLists","ComponentType",
+"AlternativeTypeLists","AlternativeType","ClassDeclaration","optUnique","ClassFieldList",
+"ClassField","optWithSyntax","WithSyntax","@2","WithSyntaxFormat","WithSyntaxFormatToken",
+"ExtensionAndException","Type","TypeDeclaration","ComplexTypeReference","ComplexTypeReferenceAmpList",
"ComplexTypeReferenceElement","ClassFieldIdentifier","ClassFieldName","ValueDefinition",
"Value","@3","DefinedValue","RestrictedCharacterStringValue","Opaque","BasicTypeId",
"BasicTypeId_UniverationCompatible","BasicType","BasicString","Union","Intersection",
@@ -448,34 +448,34 @@
#endif
static const short yyr1[] = { 0,
- 116, 117, 117, 118, 119, 119, 120, 120, 121, 121,
- 122, 122, 122, 123, 123, 124, 124, 125, 125, 125,
- 125, 125, 126, 126, 127, 127, 128, 128, 128, 128,
- 128, 129, 128, 128, 130, 130, 131, 131, 132, 133,
- 133, 134, 134, 134, 135, 135, 135, 136, 136, 137,
- 137, 137, 138, 139, 139, 140, 140, 141, 141, 142,
- 142, 143, 143, 143, 143, 144, 144, 145, 145, 145,
- 145, 146, 146, 147, 147, 148, 148, 149, 149, 150,
- 150, 150, 151, 151, 152, 152, 153, 154, 154, 155,
- 155, 156, 156, 156, 157, 157, 159, 158, 160, 160,
- 161, 161, 162, 162, 162, 163, 164, 164, 164, 164,
- 164, 164, 164, 164, 164, 164, 164, 165, 165, 165,
- 165, 165, 165, 166, 166, 167, 168, 169, 169, 170,
- 171, 172, 171, 171, 171, 171, 171, 171, 171, 171,
- 171, 173, 173, 174, 174, 174, 175, 175, 176, 176,
- 176, 176, 176, 176, 176, 176, 176, 176, 176, 176,
- 176, 177, 177, 177, 178, 178, 179, 179, 179, 179,
- 179, 179, 179, 179, 179, 179, 179, 179, 179, 179,
- 180, 180, 181, 181, 182, 183, 183, 184, 184, 185,
- 185, 186, 186, 186, 187, 187, 187, 187, 187, 188,
- 188, 188, 188, 188, 188, 188, 188, 188, 188, 189,
- 188, 190, 190, 190, 190, 191, 191, 192, 192, 192,
- 192, 192, 193, 194, 195, 195, 196, 196, 197, 197,
- 198, 198, 198, 199, 199, 200, 201, 202, 202, 203,
- 203, 204, 204, 205, 205, 206, 206, 207, 207, 208,
- 208, 209, 209, 209, 209, 209, 210, 210, 211, 211,
- 212, 213, 214, 214, 214, 214, 215, 215, 215, 216,
- 216, 217, 218, 218, 219
+ 118, 119, 119, 120, 121, 121, 122, 122, 123, 123,
+ 124, 124, 124, 125, 125, 126, 126, 127, 127, 127,
+ 127, 127, 128, 128, 129, 129, 130, 130, 130, 130,
+ 130, 131, 130, 130, 132, 132, 133, 133, 134, 135,
+ 135, 136, 136, 136, 137, 137, 137, 138, 138, 139,
+ 139, 139, 140, 141, 141, 142, 142, 143, 143, 144,
+ 144, 145, 145, 145, 145, 146, 146, 147, 147, 147,
+ 147, 148, 148, 149, 149, 150, 150, 151, 151, 152,
+ 152, 152, 153, 153, 154, 154, 155, 156, 156, 157,
+ 157, 158, 158, 158, 159, 159, 161, 160, 162, 162,
+ 163, 163, 164, 164, 164, 165, 166, 166, 166, 166,
+ 166, 166, 166, 166, 166, 166, 166, 167, 167, 167,
+ 167, 167, 167, 168, 168, 169, 170, 171, 171, 172,
+ 173, 174, 173, 173, 173, 173, 173, 173, 173, 173,
+ 173, 175, 175, 176, 176, 176, 177, 177, 178, 178,
+ 178, 178, 178, 178, 178, 178, 178, 178, 178, 178,
+ 178, 179, 179, 179, 180, 180, 181, 181, 181, 181,
+ 181, 181, 181, 181, 181, 181, 181, 181, 181, 181,
+ 182, 182, 183, 183, 184, 185, 185, 186, 186, 187,
+ 187, 188, 188, 188, 189, 189, 189, 189, 189, 190,
+ 190, 190, 190, 190, 190, 190, 190, 190, 190, 191,
+ 190, 192, 192, 192, 192, 193, 193, 194, 194, 194,
+ 194, 194, 195, 196, 197, 197, 198, 198, 199, 199,
+ 200, 200, 200, 201, 201, 202, 203, 204, 204, 205,
+ 205, 206, 206, 207, 207, 208, 208, 209, 209, 210,
+ 210, 211, 211, 211, 211, 211, 212, 212, 213, 213,
+ 214, 215, 216, 216, 216, 216, 217, 217, 217, 218,
+ 218, 219, 220, 220, 221
};
static const short yyr2[] = { 0,
@@ -493,7 +493,7 @@
6, 6, 1, 4, 4, 1, 3, 1, 3, 3,
3, 1, 3, 1, 3, 1, 1, 1, 1, 4,
3, 0, 3, 1, 1, 1, 1, 1, 1, 1,
- 1, 1, 3, 1, 5, 9, 1, 2, 1, 1,
+ 1, 1, 3, 1, 1, 1, 1, 2, 1, 1,
1, 1, 2, 2, 1, 1, 2, 2, 1, 1,
1, 1, 1, 2, 1, 2, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
@@ -528,295 +528,299 @@
0, 186, 186, 62, 186, 116, 165, 152, 107, 0,
269, 268, 261, 119, 121, 0, 0, 0, 0, 56,
128, 129, 123, 124, 126, 120, 137, 144, 138, 257,
- 258, 135, 134, 136, 132, 130, 141, 139, 140, 0,
- 142, 39, 0, 90, 259, 127, 0, 0, 0, 0,
- 0, 76, 0, 0, 187, 188, 76, 0, 106, 0,
- 166, 259, 259, 67, 71, 70, 69, 0, 0, 218,
- 217, 0, 216, 219, 0, 60, 0, 0, 0, 57,
- 58, 221, 61, 195, 0, 202, 203, 209, 208, 234,
- 235, 220, 223, 222, 0, 0, 0, 0, 0, 95,
- 0, 0, 246, 88, 88, 92, 245, 0, 262, 0,
- 103, 0, 83, 86, 259, 117, 0, 0, 0, 77,
- 78, 82, 259, 0, 192, 273, 0, 0, 273, 256,
- 248, 0, 250, 255, 252, 0, 72, 74, 75, 65,
- 0, 0, 212, 0, 0, 0, 0, 0, 53, 0,
- 183, 184, 181, 182, 0, 0, 185, 0, 0, 0,
- 0, 125, 0, 147, 133, 143, 131, 0, 87, 96,
+ 145, 146, 258, 135, 134, 136, 132, 130, 141, 139,
+ 140, 0, 142, 39, 0, 90, 259, 127, 0, 0,
+ 0, 0, 0, 76, 0, 0, 187, 188, 76, 0,
+ 106, 0, 166, 259, 259, 67, 71, 70, 69, 0,
+ 0, 218, 217, 0, 216, 219, 0, 60, 0, 0,
+ 0, 57, 58, 221, 61, 195, 0, 202, 203, 209,
+ 208, 234, 235, 220, 223, 222, 0, 0, 0, 0,
+ 95, 0, 0, 246, 88, 88, 92, 245, 0, 262,
+ 0, 103, 0, 83, 86, 259, 117, 0, 0, 0,
+ 77, 78, 82, 259, 0, 192, 273, 0, 0, 273,
+ 256, 248, 0, 250, 255, 252, 0, 72, 74, 75,
+ 65, 0, 0, 212, 0, 0, 0, 0, 0, 53,
+ 0, 183, 184, 181, 182, 0, 0, 185, 0, 0,
+ 0, 0, 125, 147, 133, 143, 131, 0, 87, 96,
91, 247, 89, 244, 244, 114, 0, 108, 0, 85,
0, 259, 109, 0, 244, 190, 0, 259, 274, 0,
110, 259, 249, 0, 0, 115, 259, 196, 210, 213,
- 214, 207, 0, 205, 0, 236, 201, 59, 197, 198,
- 199, 0, 206, 204, 0, 0, 238, 0, 148, 0,
- 93, 94, 104, 105, 142, 84, 189, 81, 79, 80,
- 193, 0, 191, 0, 251, 0, 0, 73, 0, 215,
- 227, 0, 225, 186, 200, 0, 240, 242, 237, 0,
- 145, 0, 97, 0, 111, 112, 254, 253, 211, 224,
- 0, 229, 241, 0, 239, 0, 0, 194, 226, 232,
- 233, 231, 228, 230, 243, 0, 101, 0, 99, 102,
- 0, 98, 100, 146, 0, 0, 0
+ 214, 207, 205, 0, 236, 201, 59, 197, 198, 199,
+ 0, 206, 204, 0, 0, 238, 148, 0, 93, 94,
+ 104, 105, 142, 84, 189, 81, 79, 80, 193, 0,
+ 191, 0, 251, 0, 0, 73, 0, 215, 227, 0,
+ 225, 186, 200, 0, 240, 242, 237, 0, 97, 0,
+ 111, 112, 254, 253, 211, 224, 0, 229, 241, 0,
+ 239, 0, 194, 226, 232, 233, 231, 228, 230, 243,
+ 101, 0, 99, 102, 98, 100, 0, 0, 0
};
-static const short yydefgoto[] = { 435,
+static const short yydefgoto[] = { 427,
3, 4, 8, 9, 13, 14, 25, 26, 27, 55,
56, 57, 107, 58, 74, 75, 76, 77, 59, 69,
- 70, 60, 100, 229, 230, 231, 61, 130, 131, 286,
- 287, 269, 270, 271, 262, 263, 119, 324, 193, 194,
- 319, 320, 417, 428, 429, 272, 288, 155, 156, 173,
- 174, 195, 196, 62, 186, 247, 187, 232, 315, 157,
- 103, 159, 104, 305, 306, 308, 204, 205, 206, 274,
- 275, 234, 389, 295, 235, 236, 237, 238, 392, 393,
- 423, 424, 239, 240, 241, 366, 367, 397, 256, 257,
- 211, 282, 283, 242, 258, 122, 123, 146, 163, 243,
- 105, 338, 244
+ 70, 60, 100, 231, 232, 233, 61, 130, 131, 287,
+ 288, 270, 271, 272, 263, 264, 119, 324, 195, 196,
+ 319, 320, 412, 422, 423, 273, 289, 155, 156, 173,
+ 174, 197, 198, 62, 188, 248, 189, 234, 315, 157,
+ 103, 159, 104, 306, 307, 309, 206, 207, 208, 275,
+ 276, 236, 387, 296, 237, 238, 239, 240, 390, 391,
+ 418, 419, 241, 242, 243, 365, 366, 395, 257, 258,
+ 213, 283, 284, 244, 259, 122, 123, 146, 163, 245,
+ 105, 338, 246
};
-static const short yypact[] = { 203,
--32768,-32768, 203,-32768, -62,-32768, 39, 24,-32768,-32768,
--32768,-32768, 43,-32768, -31, 138,-32768,-32768, 75, 50,
- 30, 38, 112, 87, 170, 138,-32768, 76,-32768,-32768,
--32768,-32768,-32768, 187,-32768,-32768, 490,-32768, 213, 9,
--32768,-32768,-32768, 155,-32768,-32768,-32768,-32768,-32768,-32768,
--32768,-32768,-32768,-32768, 172, 490,-32768,-32768,-32768,-32768,
--32768,-32768,-32768, 361, 719,-32768, 121,-32768, 149,-32768,
- 143,-32768,-32768, 27,-32768, -22,-32768, 148,-32768,-32768,
--32768, -10, 123,-32768, 173,-32768, 177, 202,-32768,-32768,
--32768,-32768,-32768, 229, 200,-32768,-32768,-32768, 794, 284,
--32768,-32768,-32768,-32768, 179, 285,-32768,-32768,-32768, 186,
- 198,-32768,-32768, 203, 186, 201, 205, 10,-32768,-32768,
- 567,-32768, 54, 186,-32768,-32768,-32768,-32768,-32768, -21,
--32768, 194, 195, 206, 272, 460,-32768,-32768, -62,-32768,
--32768, 247,-32768,-32768,-32768, 297, 8, 207, 276, 210,
- 244, 104, 107,-32768, -40,-32768,-32768, 212,-32768, 214,
--32768,-32768,-32768,-32768,-32768, 315, 794, 311, 186, 221,
--32768,-32768, 219,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
--32768,-32768,-32768,-32768, 312,-32768,-32768,-32768,-32768, 220,
- 216,-32768, -15,-32768, 31,-32768, 217, 308, 7, 259,
- 230, 58, 283, 266,-32768, 231, 58, 271,-32768, 53,
--32768, 6, 227,-32768,-32768,-32768,-32768, 246, 320,-32768,
--32768, 68,-32768,-32768, 316,-32768, 238, 283, 243, 241,
--32768,-32768, 199, 254, 248, 68,-32768,-32768,-32768, 249,
--32768,-32768,-32768,-32768, 247, 251, 347, 311, 460, 260,
- 247, 460,-32768, 268, 268,-32768,-32768, 644,-32768, 311,
- 250, -3,-32768,-32768, 227,-32768, 283, 286, 253, 257,
--32768,-32768, 227, 256, 78, 311, 283, 262, 311,-32768,
--32768, 85,-32768,-32768, 263, 98,-32768,-32768,-32768,-32768,
- 450, 264, 258, 270, 67, 273, 275, 269,-32768, 221,
--32768,-32768,-32768,-32768, 450, 450,-32768, 450, 283, 88,
- 261,-32768, 368,-32768, 376,-32768,-32768, 299,-32768,-32768,
--32768,-32768,-32768, 1, 1,-32768, 267,-32768, 7,-32768,
- 287, 227,-32768, 58, 1,-32768, 280, 227,-32768, 288,
--32768, 227,-32768, 70, 267,-32768, 6,-32768,-32768,-32768,
- 278,-32768, 312,-32768, 47,-32768,-32768,-32768,-32768,-32768,
--32768, 289,-32768,-32768, 17, 116,-32768, 131,-32768, 293,
+static const short yypact[] = { 131,
+-32768,-32768, 131,-32768, -60,-32768, 15, 25,-32768,-32768,
+-32768,-32768, 27,-32768, -1, 141,-32768,-32768, 88, 79,
+ 62, 71, 65, 89, 188, 141,-32768, 101,-32768,-32768,
+-32768,-32768,-32768, 200,-32768,-32768, 517,-32768, 215, 38,
+-32768,-32768,-32768, 61,-32768,-32768,-32768,-32768,-32768,-32768,
+-32768,-32768,-32768,-32768, 190, 517,-32768,-32768,-32768,-32768,
+-32768,-32768,-32768, 355, 746,-32768, 146,-32768, 72,-32768,
+ 152,-32768,-32768, 34,-32768, -10,-32768, 156,-32768,-32768,
+-32768, -3, 158,-32768, 182,-32768, 189, 216,-32768,-32768,
+-32768,-32768,-32768, 242, 213,-32768,-32768,-32768, 821, 294,
+-32768,-32768,-32768,-32768, 185, 296,-32768,-32768,-32768, 145,
+ 194,-32768,-32768, 131, 145, 196, 198, 5,-32768,-32768,
+ 594,-32768, 64, 145,-32768,-32768,-32768,-32768,-32768, -66,
+-32768, 193, 195, 202, 235, 159,-32768,-32768, -60,-32768,
+-32768, 237,-32768,-32768,-32768, 299, -11, 204, 273, 206,
+ 243, -27, -12,-32768, -6,-32768,-32768, 207,-32768, 209,
+-32768,-32768,-32768,-32768,-32768, 302, 821, 309, 145, 268,
+-32768,-32768, 205,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
- 291, 644,-32768, 644,-32768, 296, 300,-32768, 347,-32768,
--32768, 136,-32768, -40,-32768, 311, 281,-32768,-32768, 261,
--32768, 382,-32768, 283,-32768,-32768,-32768,-32768, 376,-32768,
- 47, 95, 281, 311,-32768, 295, 209, 199,-32768,-32768,
--32768,-32768,-32768,-32768,-32768, 403,-32768, 55,-32768,-32768,
- 309,-32768,-32768,-32768, 414, 415,-32768
+-32768, 208, 212,-32768, -19,-32768, 6,-32768, 211, 292,
+ 42, 254, 217, 7, 453, 255,-32768, 219, 7, 260,
+-32768, 50,-32768, 12, 218,-32768,-32768,-32768,-32768, 234,
+ 306,-32768,-32768, -4,-32768,-32768, 303,-32768, 131, 453,
+ 230, 229,-32768,-32768, 184, 244, 238, -4,-32768,-32768,
+-32768, 236,-32768,-32768,-32768,-32768, 237, 342, 309, 159,
+ 251, 237, 159,-32768, 259, 259,-32768,-32768, 671,-32768,
+ 309, 239, 83,-32768,-32768, 218,-32768, 453, 283, 246,
+ 245,-32768,-32768, 218, 252, 126, 309, 453, 248, 309,
+-32768,-32768, 102,-32768,-32768, 256, 110,-32768,-32768,-32768,
+-32768, 465, 257, 250, 263, 168, 262, 253, 266,-32768,
+ 268,-32768,-32768,-32768,-32768, 465, 465,-32768, 465, 453,
+ 282, 261,-32768,-32768, 367,-32768,-32768, 293,-32768,-32768,
+-32768,-32768,-32768, 8, 8,-32768, 225,-32768, 42,-32768,
+ 270, 218,-32768, 7, 8,-32768, 278, 218,-32768, 276,
+-32768, 218,-32768, 56, 225,-32768, 12,-32768,-32768,-32768,
+ 271,-32768,-32768, 46,-32768,-32768,-32768,-32768,-32768,-32768,
+ 280,-32768,-32768, 1, 111,-32768,-32768, 281,-32768,-32768,
+-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, 279, 671,
+-32768, 671,-32768, 284, 286,-32768, 342,-32768,-32768, 134,
+-32768, -6,-32768, 309, 277,-32768,-32768, 261,-32768, 453,
+-32768,-32768,-32768,-32768, 367,-32768, 46, 17, 277, 309,
+-32768, 183, 184,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
+-32768, 13,-32768,-32768,-32768,-32768, 391, 395,-32768
};
static const short yypgoto[] = {-32768,
--32768, 413, 279,-32768,-32768, 404,-32768,-32768, 395,-32768,
--32768, 366,-32768,-32768,-32768, 349,-32768, 314,-32768,-32768,
- 321,-32768, 365,-32768,-32768, 132,-32768,-32768, 274,-32768,
- 86, 232,-32768, 100,-32768, 111,-32768, 181,-32768, 191,
--32768,-32768,-32768,-32768, 15, -187, -77, -228, -54,-32768,
- 204, -191, -122,-32768, -206,-32768, -291, -108, 56, -42,
- -120,-32768, -6,-32768,-32768,-32768, -146,-32768,-32768, -196,
- -168, -87,-32768, 211,-32768, -268,-32768,-32768,-32768, 37,
--32768,-32768,-32768,-32768,-32768,-32768, 57, 77, -233,-32768,
--32768,-32768, 106, -128, -79,-32768,-32768,-32768,-32768, 16,
--32768, 184, -7
+-32768, 396, 269,-32768,-32768, 389,-32768,-32768, 383,-32768,
+-32768, 354,-32768,-32768,-32768, 337,-32768, 297,-32768,-32768,
+ 304,-32768, 348,-32768,-32768, 116,-32768,-32768, 258,-32768,
+ 80, 210,-32768, 84,-32768, 97,-32768, 172,-32768, 177,
+-32768,-32768,-32768,-32768, 10, -187, -74, -192, -53,-32768,
+ 191, -190, -122,-32768, -169,-32768, -256, -118, 43, -33,
+ -120,-32768, 48,-32768,-32768,-32768, -151,-32768,-32768, -205,
+ -165, -96,-32768, 197,-32768, -213,-32768,-32768,-32768, 29,
+-32768,-32768,-32768,-32768,-32768,-32768, 39, 45, -121,-32768,
+-32768,-32768, 99, -126, -79,-32768,-32768,-32768,-32768, 16,
+-32768, 161, -7
};
-#define YYLAST 888
+#define YYLAST 917
static const short yytable[] = { 15,
- 158, 233, 121, 255, 120, 15, 208, 189, 209, 101,
- 101, 264, 175, 10, 10, 5, 10, 117, 5, 1,
- 2, 102, 102, 114, 10, 67, 354, 188, 143, 65,
- 63, 298, 72, 252, 10, 373, 79, 1, 2, 201,
- 7, 364, 317, 171, 172, 322, 10, 11, 65, 63,
- 10, 11, 64, 386, 10, 71, 132, 16, 427, 78,
- 10, 180, 181, 252, 203, 10, 79, 171, 172, 253,
- 331, 64, 178, 19, 10, 180, 181, 10, 180, 181,
- 340, 284, 166, 28, 144, 115, 167, 268, 250, 78,
- 371, 372, 251, 178, 161, 10, 180, 181, 145, 253,
- 328, 380, 72, 118, 329, 162, 29, 79, 261, 420,
- -270, 220, 362, 30, 133, 68, 165, 254, 124, 118,
- 189, 31, 175, 189, 132, 71, 352, 396, 191, 139,
- 78, 233, 220, 112, -244, 290, 160, 158, -244, 164,
- 188, 264, 12, 188, 118, 266, 17, 363, 391, 20,
- 176, 190, 224, 405, 280, 406, 281, 21, 432, 261,
- 215, 217, 10, 421, 32, 1, 2, 422, 293, 353,
- 33, 280, 34, 224, 301, 302, 303, 304, 22, 294,
- 23, 36, 133, 201, 216, 337, 201, 330, 343, 24,
- 353, 265, 344, 10, 273, 335, 1, 2, 374, 273,
- 73, 346, 285, 348, 289, 347, 202, 37, 203, 207,
- 80, 203, 427, 1, 2, 284, 387, 359, 360, 399,
- 361, 171, 172, 400, 66, 430, 178, 108, 10, 180,
- 181, 1, 2, 124, 401, 418, 430, 218, 402, 410,
- 316, 191, 297, 411, 191, 111, 246, 412, 1, 2,
- 116, 219, 326, 125, 378, 109, 110, 126, 382, 171,
- 172, 158, 384, 158, 190, 220, 221, 190, 339, 83,
- 84, 339, 127, 160, 10, 180, 181, 1, 2, 128,
- 129, 222, 1, 2, 171, 172, 134, 136, 178, 135,
- 10, 180, 181, 1, 2, 301, 302, 303, 304, 218,
- 223, 138, 168, 169, 141, 197, 224, 142, 170, -271,
- 198, 200, 199, 219, 210, 225, 212, 213, 10, 375,
- 246, 265, 226, 227, 249, 228, 273, 220, 221, 245,
- 248, 259, 260, 276, 267, 277, 285, 375, 279, 289,
- 118, 291, 190, 222, 292, 296, 299, 394, 300, 307,
- 314, 311, 309, 332, 318, 323, 333, 398, 313, 327,
- 190, 336, 223, 82, 334, 341, 349, 345, 224, 350,
- 351, 83, 84, 365, 357, 355, 368, 225, 356, 369,
- 370, 381, 85, 38, 86, 227, 87, 228, 398, 390,
- 416, 414, 377, 383, 395, 403, 88, 160, 404, 160,
- 89, 407, 426, 394, 90, 408, 425, 91, 41, 42,
- 43, 431, 434, 436, 437, 6, 18, 192, 92, 45,
- 35, 81, 113, 93, 46, 94, 47, 95, 140, 106,
- 137, 358, 388, 379, 48, 325, 96, 97, 278, 376,
- 214, 321, 433, 49, 409, 50, 310, 419, 312, 385,
- 51, 98, 52, 53, 54, 178, 415, 10, 180, 181,
- 1, 2, 342, 99, 177, 178, 179, 10, 180, 181,
- 1, 2, 413, 0, 0, 0, 0, 0, 0, 0,
- 219, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 220, 221, 0, 10, 0, 0,
- 1, 2, 0, 0, 182, 0, 0, 0, 0, 0,
- 222, 0, 38, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 183, 0, 0, 0, 0, 39, 0, 223,
- 0, 40, 0, 0, 0, 224, 0, 41, 42, 43,
- 0, 0, 0, 44, 225, 184, 0, 0, 45, 0,
- 0, 0, 227, 46, 228, 47, 0, 0, 0, 0,
- 0, 0, 185, 48, 0, 0, 0, 0, 0, 0,
- 0, 0, 49, 0, 50, 0, 0, 147, 148, 51,
- 0, 52, 53, 54, 149, 0, 0, 0, 85, 38,
- 86, 0, 87, 150, 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, 151, 0, 92, 45, 0, 0, 0, 93,
- 46, 94, 47, 95, 0, 0, 0, 0, 0, 0,
- 48, 0, 96, 97, 152, 153, 0, 0, 0, 49,
- 0, 50, 0, 154, 147, 148, 51, 98, 52, 53,
- 54, 149, 0, 0, 0, 85, 38, 86, 0, 87,
- 150, 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, 151,
- 0, 92, 45, 0, 0, 0, 93, 46, 94, 47,
- 95, 0, 0, 0, 0, 0, 0, 48, 0, 96,
- 97, 152, 153, 0, 0, 0, 49, 0, 50, 83,
- 84, 0, 0, 51, 98, 52, 53, 54, 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, 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
+ 158, 210, 121, 211, 235, 15, 256, 120, 10, 191,
+ 101, 101, 175, 265, 10, 5, 421, 190, 5, 10,
+ 171, 172, 10, 11, 299, 143, 117, 171, 172, 65,
+ 102, 102, 72, 415, 10, 11, 79, 114, 269, 166,
+ 253, 10, 253, 167, 7, 10, 1, 2, 65, 10,
+ 1, 2, 64, 10, 203, 71, 67, 10, 180, 78,
+ 16, 183, 331, 10, 180, 132, 79, 183, 10, 203,
+ 371, 64, 340, 1, 2, 203, 254, 204, 254, 205,
+ 317, 144, 353, 322, 63, 285, 251, 416, 384, 78,
+ 252, 417, 209, -270, 205, 145, 28, 363, 294, 115,
+ 205, 124, 72, 63, 361, 19, 161, 79, 73, 295,
+ 262, -244, 118, 394, 133, -244, 165, 162, 425, 32,
+ 12, 118, 255, 191, 175, 71, 191, 118, 193, 139,
+ 78, 190, 17, 132, 190, 235, 160, 29, 158, 164,
+ 291, 265, 112, 1, 2, 262, 68, 30, 267, 389,
+ 176, 192, 10, 281, 20, 282, 31, 1, 2, 281,
+ 217, 219, 21, 177, 178, 179, 10, 180, 181, 182,
+ 183, 1, 2, 178, 33, 10, 180, 181, 182, 183,
+ 109, 110, 133, 22, 218, 23, 421, 401, 328, 402,
+ 34, 330, 329, 266, 24, 348, 274, 171, 172, 335,
+ 372, 274, 369, 370, 286, 184, 290, 343, 36, 358,
+ 359, 344, 360, 378, 222, 346, 397, 285, 385, 347,
+ 398, 424, 37, 185, 302, 303, 304, 305, 66, 352,
+ 80, 424, 10, 180, 413, 337, 183, 1, 2, 406,
+ 408, 316, 193, 407, 298, 193, 186, 1, 2, 171,
+ 172, 171, 172, 326, 108, 226, 111, 376, 380, 158,
+ 116, 158, 382, 187, 125, 192, 83, 84, 192, 339,
+ 124, 126, 339, 178, 160, 10, 180, 181, 182, 183,
+ 1, 2, 302, 303, 304, 305, 220, 178, 127, 10,
+ 180, 181, 182, 183, 128, 129, 134, 135, 136, 138,
+ 221, 141, 142, 168, 215, 169, 170, 199, -271, 200,
+ 201, 212, 202, 214, 222, 223, 10, 247, 261, 373,
+ 249, 266, 250, 268, 277, 278, 274, 260, 222, 280,
+ 224, 292, 293, 118, 297, 300, 286, 373, 301, 290,
+ 312, 308, 192, 362, 310, 314, 392, 318, 323, 225,
+ 327, 333, 332, 341, 334, 226, 396, 82, 355, 336,
+ 192, 349, 345, 350, 227, 351, 354, 83, 84, 226,
+ 367, 228, 229, 356, 230, 364, 368, 375, 85, 38,
+ 86, 379, 87, 381, 388, 399, 396, 393, 400, 410,
+ 428, 403, 88, 404, 429, 160, 89, 160, 6, 392,
+ 90, 18, 420, 91, 41, 42, 43, 194, 35, 81,
+ 113, 140, 106, 137, 92, 45, 357, 377, 279, 93,
+ 46, 94, 47, 95, 216, 374, 386, 325, 321, 405,
+ 48, 426, 96, 97, 311, 414, 411, 313, 409, 49,
+ 342, 50, 383, 0, 0, 0, 51, 98, 52, 53,
+ 54, 0, 0, 0, 0, 0, 0, 0, 178, 99,
+ 10, 180, 181, 182, 183, 1, 2, 0, 0, 0,
+ 178, 220, 10, 180, 181, 182, 183, 1, 2, 0,
+ 0, 0, 0, 0, 0, 221, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 221, 0, 222,
+ 223, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 222, 223, 0, 0, 224, 0, 0, 0, 0,
+ 0, 0, 0, 0, 10, 0, 0, 224, 0, 1,
+ 2, 0, 0, 0, 225, 0, 0, 0, 0, 0,
+ 226, 38, 0, 0, 0, 0, 225, 0, 0, 227,
+ 0, 0, 226, 0, 0, 0, 39, 229, 0, 230,
+ 40, 227, 0, 0, 0, 0, 41, 42, 43, 229,
+ 0, 230, 44, 0, 0, 0, 0, 45, 0, 0,
+ 0, 0, 46, 0, 47, 0, 0, 0, 0, 0,
+ 0, 0, 48, 0, 0, 0, 0, 0, 0, 0,
+ 0, 49, 0, 50, 0, 0, 147, 148, 51, 0,
+ 52, 53, 54, 149, 0, 0, 0, 85, 38, 86,
+ 0, 87, 150, 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, 151, 0, 92, 45, 0, 0, 0, 93, 46,
+ 94, 47, 95, 0, 0, 0, 0, 0, 0, 48,
+ 0, 96, 97, 152, 153, 0, 0, 0, 49, 0,
+ 50, 0, 154, 147, 148, 51, 98, 52, 53, 54,
+ 149, 0, 0, 0, 85, 38, 86, 0, 87, 150,
+ 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, 151, 0,
+ 92, 45, 0, 0, 0, 93, 46, 94, 47, 95,
+ 0, 0, 0, 0, 0, 0, 48, 0, 96, 97,
+ 152, 153, 0, 0, 0, 49, 0, 50, 83, 84,
+ 0, 0, 51, 98, 52, 53, 54, 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, 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,
- 121, 170, 82, 195, 82, 13, 153, 136, 155, 64,
- 65, 199, 135, 8, 8, 0, 8, 28, 3, 11,
- 12, 64, 65, 46, 8, 17, 295, 136, 19, 37,
- 37, 228, 40, 33, 8, 327, 44, 11, 12, 80,
- 103, 310, 249, 13, 14, 252, 8, 9, 56, 56,
- 8, 9, 37, 345, 8, 40, 99, 34, 4, 44,
- 8, 9, 10, 33, 105, 8, 74, 13, 14, 69,
- 267, 56, 6, 105, 8, 9, 10, 8, 9, 10,
- 277, 210, 104, 9, 75, 108, 108, 30, 104, 74,
- 324, 325, 108, 6, 41, 8, 9, 10, 89, 69,
- 104, 335, 110, 114, 108, 52, 57, 115, 102, 15,
- 103, 45, 309, 84, 99, 107, 124, 195, 111, 114,
- 249, 84, 245, 252, 167, 110, 60, 111, 136, 114,
- 115, 300, 45, 107, 104, 213, 121, 258, 108, 124,
- 249, 329, 104, 252, 114, 200, 104, 60, 102, 12,
- 135, 136, 86, 382, 102, 384, 104, 20, 104, 102,
- 168, 169, 8, 69, 53, 11, 12, 73, 101, 103,
- 84, 102, 3, 86, 97, 98, 99, 100, 41, 112,
- 43, 106, 167, 80, 169, 108, 80, 265, 104, 52,
- 103, 199, 108, 8, 202, 273, 11, 12, 327, 207,
- 46, 104, 210, 291, 212, 108, 103, 21, 105, 103,
- 39, 105, 4, 11, 12, 344, 345, 305, 306, 104,
- 308, 13, 14, 108, 12, 417, 6, 107, 8, 9,
- 10, 11, 12, 111, 104, 404, 428, 17, 108, 104,
- 248, 249, 227, 108, 252, 103, 9, 394, 11, 12,
- 103, 31, 260, 81, 332, 107, 108, 81, 338, 13,
- 14, 382, 342, 384, 249, 45, 46, 252, 276, 11,
- 12, 279, 71, 258, 8, 9, 10, 11, 12, 51,
- 81, 61, 11, 12, 13, 14, 3, 3, 6, 111,
- 8, 9, 10, 11, 12, 97, 98, 99, 100, 17,
- 80, 104, 109, 109, 104, 9, 86, 103, 103, 103,
- 35, 68, 103, 31, 103, 95, 103, 3, 8, 327,
- 9, 329, 102, 103, 109, 105, 334, 45, 46, 111,
- 111, 115, 25, 68, 105, 105, 344, 345, 68, 347,
- 114, 96, 327, 61, 25, 30, 104, 355, 108, 96,
- 4, 103, 105, 68, 95, 88, 104, 365, 108, 110,
- 345, 106, 80, 3, 108, 104, 103, 105, 86, 112,
- 101, 11, 12, 113, 106, 103, 9, 95, 104, 4,
- 82, 102, 22, 23, 24, 103, 26, 105, 396, 112,
- 9, 111, 106, 106, 106, 103, 36, 382, 108, 384,
- 40, 106, 108, 411, 44, 106, 414, 47, 48, 49,
- 50, 9, 104, 0, 0, 3, 13, 139, 58, 59,
- 26, 56, 74, 63, 64, 65, 66, 67, 115, 65,
- 110, 300, 347, 334, 74, 255, 76, 77, 207, 329,
- 167, 251, 428, 83, 389, 85, 236, 411, 245, 344,
- 90, 91, 92, 93, 94, 6, 400, 8, 9, 10,
- 11, 12, 279, 103, 5, 6, 7, 8, 9, 10,
- 11, 12, 396, -1, -1, -1, -1, -1, -1, -1,
- 31, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, 45, 46, -1, 8, -1, -1,
- 11, 12, -1, -1, 45, -1, -1, -1, -1, -1,
- 61, -1, 23, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, 63, -1, -1, -1, -1, 38, -1, 80,
- -1, 42, -1, -1, -1, 86, -1, 48, 49, 50,
- -1, -1, -1, 54, 95, 86, -1, -1, 59, -1,
- -1, -1, 103, 64, 105, 66, -1, -1, -1, -1,
- -1, -1, 103, 74, -1, -1, -1, -1, -1, -1,
- -1, -1, 83, -1, 85, -1, -1, 11, 12, 90,
- -1, 92, 93, 94, 18, -1, -1, -1, 22, 23,
- 24, -1, 26, 27, -1, -1, -1, -1, -1, -1,
- -1, -1, 36, -1, -1, -1, 40, -1, -1, -1,
- 44, -1, -1, 47, 48, 49, 50, -1, -1, -1,
- -1, -1, 56, -1, 58, 59, -1, -1, -1, 63,
- 64, 65, 66, 67, -1, -1, -1, -1, -1, -1,
- 74, -1, 76, 77, 78, 79, -1, -1, -1, 83,
- -1, 85, -1, 87, 11, 12, 90, 91, 92, 93,
- 94, 18, -1, -1, -1, 22, 23, 24, -1, 26,
- 27, -1, -1, -1, -1, -1, -1, -1, -1, 36,
- -1, -1, -1, 40, -1, -1, -1, 44, -1, -1,
- 47, 48, 49, 50, -1, -1, -1, -1, -1, 56,
- -1, 58, 59, -1, -1, -1, 63, 64, 65, 66,
- 67, -1, -1, -1, -1, -1, -1, 74, -1, 76,
- 77, 78, 79, -1, -1, -1, 83, -1, 85, 11,
- 12, -1, -1, 90, 91, 92, 93, 94, -1, -1,
- 22, 23, 24, -1, 26, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, 36, -1, -1, -1, 40, -1,
- -1, -1, 44, -1, -1, 47, 48, 49, 50, -1,
- -1, -1, -1, -1, -1, -1, 58, 59, -1, -1,
- -1, 63, 64, 65, 66, 67, -1, -1, -1, -1,
- -1, -1, 74, -1, 76, 77, -1, -1, -1, -1,
- -1, 83, -1, 85, 11, 12, -1, -1, 90, 91,
- 92, 93, 94, -1, -1, 22, 23, 24, -1, 26,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, 36,
- -1, -1, -1, 40, -1, -1, -1, 44, -1, -1,
- 47, 48, 49, 50, -1, -1, -1, -1, -1, -1,
- -1, 58, 59, -1, -1, -1, 63, 64, 65, 66,
- 67, -1, -1, -1, -1, -1, -1, 74, -1, 76,
- 77, -1, -1, -1, -1, -1, 83, -1, 85, -1,
- -1, -1, -1, 90, 91, 92, 93, 94
+ 121, 153, 82, 155, 170, 13, 197, 82, 8, 136,
+ 64, 65, 135, 201, 8, 0, 4, 136, 3, 8,
+ 15, 16, 8, 9, 230, 21, 30, 15, 16, 37,
+ 64, 65, 40, 17, 8, 9, 44, 48, 32, 106,
+ 35, 8, 35, 110, 105, 8, 13, 14, 56, 8,
+ 13, 14, 37, 8, 82, 40, 19, 8, 9, 44,
+ 36, 12, 268, 8, 9, 99, 74, 12, 8, 82,
+ 327, 56, 278, 13, 14, 82, 71, 105, 71, 107,
+ 250, 77, 296, 253, 37, 212, 106, 71, 345, 74,
+ 110, 75, 105, 105, 107, 91, 9, 311, 103, 110,
+ 107, 113, 110, 56, 310, 107, 43, 115, 48, 114,
+ 104, 106, 116, 113, 99, 110, 124, 54, 106, 55,
+ 106, 116, 197, 250, 247, 110, 253, 116, 136, 114,
+ 115, 250, 106, 167, 253, 301, 121, 59, 259, 124,
+ 215, 329, 109, 13, 14, 104, 109, 86, 202, 104,
+ 135, 136, 8, 104, 14, 106, 86, 13, 14, 104,
+ 168, 169, 22, 5, 6, 7, 8, 9, 10, 11,
+ 12, 13, 14, 6, 86, 8, 9, 10, 11, 12,
+ 109, 110, 167, 43, 169, 45, 4, 380, 106, 382,
+ 3, 266, 110, 201, 54, 292, 204, 15, 16, 274,
+ 327, 209, 324, 325, 212, 47, 214, 106, 108, 306,
+ 307, 110, 309, 335, 47, 106, 106, 344, 345, 110,
+ 110, 412, 23, 65, 99, 100, 101, 102, 14, 62,
+ 41, 422, 8, 9, 400, 110, 12, 13, 14, 106,
+ 392, 249, 250, 110, 229, 253, 88, 13, 14, 15,
+ 16, 15, 16, 261, 109, 88, 105, 332, 338, 380,
+ 105, 382, 342, 105, 83, 250, 13, 14, 253, 277,
+ 113, 83, 280, 6, 259, 8, 9, 10, 11, 12,
+ 13, 14, 99, 100, 101, 102, 19, 6, 73, 8,
+ 9, 10, 11, 12, 53, 83, 3, 113, 3, 106,
+ 33, 106, 105, 111, 3, 111, 105, 9, 105, 37,
+ 105, 105, 70, 105, 47, 48, 8, 113, 27, 327,
+ 113, 329, 111, 107, 70, 107, 334, 117, 47, 70,
+ 63, 98, 27, 116, 32, 106, 344, 345, 110, 347,
+ 105, 98, 327, 62, 107, 4, 354, 97, 90, 82,
+ 112, 106, 70, 106, 110, 88, 364, 3, 106, 108,
+ 345, 105, 107, 114, 97, 103, 105, 13, 14, 88,
+ 4, 104, 105, 108, 107, 115, 84, 108, 24, 25,
+ 26, 104, 28, 108, 114, 105, 394, 108, 110, 113,
+ 0, 108, 38, 108, 0, 380, 42, 382, 3, 407,
+ 46, 13, 410, 49, 50, 51, 52, 139, 26, 56,
+ 74, 115, 65, 110, 60, 61, 301, 334, 209, 65,
+ 66, 67, 68, 69, 167, 329, 347, 256, 252, 387,
+ 76, 422, 78, 79, 238, 407, 398, 247, 394, 85,
+ 280, 87, 344, -1, -1, -1, 92, 93, 94, 95,
+ 96, -1, -1, -1, -1, -1, -1, -1, 6, 105,
+ 8, 9, 10, 11, 12, 13, 14, -1, -1, -1,
+ 6, 19, 8, 9, 10, 11, 12, 13, 14, -1,
+ -1, -1, -1, -1, -1, 33, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, 33, -1, 47,
+ 48, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, 47, 48, -1, -1, 63, -1, -1, -1, -1,
+ -1, -1, -1, -1, 8, -1, -1, 63, -1, 13,
+ 14, -1, -1, -1, 82, -1, -1, -1, -1, -1,
+ 88, 25, -1, -1, -1, -1, 82, -1, -1, 97,
+ -1, -1, 88, -1, -1, -1, 40, 105, -1, 107,
+ 44, 97, -1, -1, -1, -1, 50, 51, 52, 105,
+ -1, 107, 56, -1, -1, -1, -1, 61, -1, -1,
+ -1, -1, 66, -1, 68, -1, -1, -1, -1, -1,
+ -1, -1, 76, -1, -1, -1, -1, -1, -1, -1,
+ -1, 85, -1, 87, -1, -1, 13, 14, 92, -1,
+ 94, 95, 96, 20, -1, -1, -1, 24, 25, 26,
+ -1, 28, 29, -1, -1, -1, -1, -1, -1, -1,
+ -1, 38, -1, -1, -1, 42, -1, -1, -1, 46,
+ -1, -1, 49, 50, 51, 52, -1, -1, -1, -1,
+ -1, 58, -1, 60, 61, -1, -1, -1, 65, 66,
+ 67, 68, 69, -1, -1, -1, -1, -1, -1, 76,
+ -1, 78, 79, 80, 81, -1, -1, -1, 85, -1,
+ 87, -1, 89, 13, 14, 92, 93, 94, 95, 96,
+ 20, -1, -1, -1, 24, 25, 26, -1, 28, 29,
+ -1, -1, -1, -1, -1, -1, -1, -1, 38, -1,
+ -1, -1, 42, -1, -1, -1, 46, -1, -1, 49,
+ 50, 51, 52, -1, -1, -1, -1, -1, 58, -1,
+ 60, 61, -1, -1, -1, 65, 66, 67, 68, 69,
+ -1, -1, -1, -1, -1, -1, 76, -1, 78, 79,
+ 80, 81, -1, -1, -1, 85, -1, 87, 13, 14,
+ -1, -1, 92, 93, 94, 95, 96, -1, -1, 24,
+ 25, 26, -1, 28, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, 38, -1, -1, -1, 42, -1, -1,
+ -1, 46, -1, -1, 49, 50, 51, 52, -1, -1,
+ -1, -1, -1, -1, -1, 60, 61, -1, -1, -1,
+ 65, 66, 67, 68, 69, -1, -1, -1, -1, -1,
+ -1, 76, -1, 78, 79, -1, -1, -1, -1, -1,
+ 85, -1, 87, 13, 14, -1, -1, 92, 93, 94,
+ 95, 96, -1, -1, 24, 25, 26, -1, 28, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, 38, -1,
+ -1, -1, 42, -1, -1, -1, 46, -1, -1, 49,
+ 50, 51, 52, -1, -1, -1, -1, -1, -1, -1,
+ 60, 61, -1, -1, -1, 65, 66, 67, 68, 69,
+ -1, -1, -1, -1, -1, -1, 76, -1, 78, 79,
+ -1, -1, -1, -1, -1, 85, -1, 87, -1, -1,
+ -1, -1, 92, 93, 94, 95, 96
};
/* -*-C-*- Note some compilers choke on comments on `#line' lines. */
#line 3 "/usr/share/bison.simple"
@@ -1362,13 +1366,13 @@
switch (yyn) {
case 1:
-#line 304 "asn1p_y.y"
+#line 306 "asn1p_y.y"
{
*(void **)param = yyvsp[0].a_grammar;
;
break;}
case 2:
-#line 310 "asn1p_y.y"
+#line 312 "asn1p_y.y"
{
yyval.a_grammar = asn1p_new();
checkmem(yyval.a_grammar);
@@ -1376,14 +1380,14 @@
;
break;}
case 3:
-#line 315 "asn1p_y.y"
+#line 317 "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 336 "asn1p_y.y"
+#line 338 "asn1p_y.y"
{
if(yyvsp[-1].a_module) {
@@ -1400,27 +1404,27 @@
;
break;}
case 5:
-#line 357 "asn1p_y.y"
+#line 359 "asn1p_y.y"
{ yyval.a_oid = 0; ;
break;}
case 6:
-#line 358 "asn1p_y.y"
+#line 360 "asn1p_y.y"
{ yyval.a_oid = yyvsp[0].a_oid; ;
break;}
case 7:
-#line 362 "asn1p_y.y"
+#line 364 "asn1p_y.y"
{
yyval.a_oid = yyvsp[-1].a_oid;
;
break;}
case 8:
-#line 365 "asn1p_y.y"
+#line 367 "asn1p_y.y"
{
yyval.a_oid = 0;
;
break;}
case 9:
-#line 371 "asn1p_y.y"
+#line 373 "asn1p_y.y"
{
yyval.a_oid = asn1p_oid_new();
asn1p_oid_add_arc(yyval.a_oid, &yyvsp[0].a_oid_arc);
@@ -1429,7 +1433,7 @@
;
break;}
case 10:
-#line 377 "asn1p_y.y"
+#line 379 "asn1p_y.y"
{
yyval.a_oid = yyvsp[-1].a_oid;
asn1p_oid_add_arc(yyval.a_oid, &yyvsp[0].a_oid_arc);
@@ -1438,74 +1442,74 @@
;
break;}
case 11:
-#line 386 "asn1p_y.y"
+#line 388 "asn1p_y.y"
{ /* iso */
yyval.a_oid_arc.name = yyvsp[0].tv_str;
yyval.a_oid_arc.number = -1;
;
break;}
case 12:
-#line 390 "asn1p_y.y"
+#line 392 "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 394 "asn1p_y.y"
+#line 396 "asn1p_y.y"
{ /* 1 */
yyval.a_oid_arc.name = 0;
yyval.a_oid_arc.number = yyvsp[0].a_int;
;
break;}
case 14:
-#line 404 "asn1p_y.y"
+#line 406 "asn1p_y.y"
{ yyval.a_module_flags = MSF_NOFLAGS; ;
break;}
case 15:
-#line 405 "asn1p_y.y"
+#line 407 "asn1p_y.y"
{
yyval.a_module_flags = yyvsp[0].a_module_flags;
;
break;}
case 16:
-#line 414 "asn1p_y.y"
+#line 416 "asn1p_y.y"
{
yyval.a_module_flags = yyvsp[0].a_module_flags;
;
break;}
case 17:
-#line 417 "asn1p_y.y"
+#line 419 "asn1p_y.y"
{
yyval.a_module_flags = yyvsp[-1].a_module_flags | yyvsp[0].a_module_flags;
;
break;}
case 18:
-#line 426 "asn1p_y.y"
+#line 428 "asn1p_y.y"
{
yyval.a_module_flags = MSF_EXPLICIT_TAGS;
;
break;}
case 19:
-#line 429 "asn1p_y.y"
+#line 431 "asn1p_y.y"
{
yyval.a_module_flags = MSF_IMPLICIT_TAGS;
;
break;}
case 20:
-#line 432 "asn1p_y.y"
+#line 434 "asn1p_y.y"
{
yyval.a_module_flags = MSF_AUTOMATIC_TAGS;
;
break;}
case 21:
-#line 435 "asn1p_y.y"
+#line 437 "asn1p_y.y"
{
yyval.a_module_flags = MSF_EXTENSIBILITY_IMPLIED;
;
break;}
case 22:
-#line 439 "asn1p_y.y"
+#line 441 "asn1p_y.y"
{
/* X.680Amd1 specifies TAG and XER */
if(strcmp(yyvsp[-1].tv_str, "TAG") == 0) {
@@ -1523,23 +1527,23 @@
;
break;}
case 23:
-#line 460 "asn1p_y.y"
+#line 462 "asn1p_y.y"
{ yyval.a_module = 0; ;
break;}
case 24:
-#line 461 "asn1p_y.y"
+#line 463 "asn1p_y.y"
{
yyval.a_module = yyvsp[0].a_module;
;
break;}
case 25:
-#line 470 "asn1p_y.y"
+#line 472 "asn1p_y.y"
{
yyval.a_module = yyvsp[0].a_module;
;
break;}
case 26:
-#line 473 "asn1p_y.y"
+#line 475 "asn1p_y.y"
{
yyval.a_module = yyvsp[-1].a_module;
@@ -1569,13 +1573,13 @@
;
break;}
case 27:
-#line 506 "asn1p_y.y"
+#line 508 "asn1p_y.y"
{
yyval.a_module = yyvsp[0].a_module;
;
break;}
case 28:
-#line 509 "asn1p_y.y"
+#line 511 "asn1p_y.y"
{
yyval.a_module = asn1p_module_new();
checkmem(yyval.a_module);
@@ -1587,7 +1591,7 @@
;
break;}
case 29:
-#line 518 "asn1p_y.y"
+#line 520 "asn1p_y.y"
{
yyval.a_module = asn1p_module_new();
checkmem(yyval.a_module);
@@ -1597,7 +1601,7 @@
;
break;}
case 30:
-#line 525 "asn1p_y.y"
+#line 527 "asn1p_y.y"
{
yyval.a_module = asn1p_module_new();
checkmem(yyval.a_module);
@@ -1607,7 +1611,7 @@
;
break;}
case 31:
-#line 538 "asn1p_y.y"
+#line 540 "asn1p_y.y"
{
yyval.a_module = asn1p_module_new();
checkmem(yyval.a_module);
@@ -1617,11 +1621,11 @@
;
break;}
case 32:
-#line 546 "asn1p_y.y"
+#line 548 "asn1p_y.y"
{ asn1p_lexer_hack_push_encoding_control(); ;
break;}
case 33:
-#line 547 "asn1p_y.y"
+#line 549 "asn1p_y.y"
{
fprintf(stderr,
"WARNING: ENCODING-CONTROL %s "
@@ -1632,7 +1636,7 @@
;
break;}
case 34:
-#line 559 "asn1p_y.y"
+#line 561 "asn1p_y.y"
{
return yyerror(
"Attempt to redefine a standard basic type, "
@@ -1641,19 +1645,19 @@
;
break;}
case 35:
-#line 573 "asn1p_y.y"
+#line 575 "asn1p_y.y"
{
yyval.a_module = yyvsp[-1].a_module;
;
break;}
case 36:
-#line 579 "asn1p_y.y"
+#line 581 "asn1p_y.y"
{
return yyerror("Empty IMPORTS list");
;
break;}
case 37:
-#line 585 "asn1p_y.y"
+#line 587 "asn1p_y.y"
{
yyval.a_module = asn1p_module_new();
checkmem(yyval.a_module);
@@ -1661,14 +1665,14 @@
;
break;}
case 38:
-#line 590 "asn1p_y.y"
+#line 592 "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 597 "asn1p_y.y"
+#line 599 "asn1p_y.y"
{
yyval.a_xports = yyvsp[-3].a_xports;
yyval.a_xports->from = yyvsp[-1].tv_str;
@@ -1677,7 +1681,7 @@
;
break;}
case 40:
-#line 606 "asn1p_y.y"
+#line 608 "asn1p_y.y"
{
yyval.a_xports = asn1p_xports_new();
checkmem(yyval.a_xports);
@@ -1685,14 +1689,14 @@
;
break;}
case 41:
-#line 611 "asn1p_y.y"
+#line 613 "asn1p_y.y"
{
yyval.a_xports = yyvsp[-2].a_xports;
TQ_ADD(&(yyval.a_xports->members), yyvsp[0].a_expr, next);
;
break;}
case 42:
-#line 618 "asn1p_y.y"
+#line 620 "asn1p_y.y"
{
yyval.a_expr = asn1p_expr_new(yylineno);
checkmem(yyval.a_expr);
@@ -1701,7 +1705,7 @@
;
break;}
case 43:
-#line 624 "asn1p_y.y"
+#line 626 "asn1p_y.y"
{ /* Completely equivalent to above */
yyval.a_expr = asn1p_expr_new(yylineno);
checkmem(yyval.a_expr);
@@ -1710,7 +1714,7 @@
;
break;}
case 44:
-#line 630 "asn1p_y.y"
+#line 632 "asn1p_y.y"
{
yyval.a_expr = asn1p_expr_new(yylineno);
checkmem(yyval.a_expr);
@@ -1719,19 +1723,19 @@
;
break;}
case 45:
-#line 639 "asn1p_y.y"
+#line 641 "asn1p_y.y"
{
yyval.a_xports = yyvsp[-1].a_xports;
;
break;}
case 46:
-#line 642 "asn1p_y.y"
+#line 644 "asn1p_y.y"
{
yyval.a_xports = 0;
;
break;}
case 47:
-#line 645 "asn1p_y.y"
+#line 647 "asn1p_y.y"
{
/* Empty EXPORTS clause effectively prohibits export. */
yyval.a_xports = asn1p_xports_new();
@@ -1739,7 +1743,7 @@
;
break;}
case 48:
-#line 653 "asn1p_y.y"
+#line 655 "asn1p_y.y"
{
yyval.a_xports = asn1p_xports_new();
assert(yyval.a_xports);
@@ -1747,14 +1751,14 @@
;
break;}
case 49:
-#line 658 "asn1p_y.y"
+#line 660 "asn1p_y.y"
{
yyval.a_xports = yyvsp[-2].a_xports;
TQ_ADD(&(yyval.a_xports->members), yyvsp[0].a_expr, next);
;
break;}
case 50:
-#line 665 "asn1p_y.y"
+#line 667 "asn1p_y.y"
{
yyval.a_expr = asn1p_expr_new(yylineno);
checkmem(yyval.a_expr);
@@ -1763,7 +1767,7 @@
;
break;}
case 51:
-#line 671 "asn1p_y.y"
+#line 673 "asn1p_y.y"
{
yyval.a_expr = asn1p_expr_new(yylineno);
checkmem(yyval.a_expr);
@@ -1772,7 +1776,7 @@
;
break;}
case 52:
-#line 677 "asn1p_y.y"
+#line 679 "asn1p_y.y"
{
yyval.a_expr = asn1p_expr_new(yylineno);
checkmem(yyval.a_expr);
@@ -1781,7 +1785,7 @@
;
break;}
case 53:
-#line 687 "asn1p_y.y"
+#line 689 "asn1p_y.y"
{
yyval.a_expr = yyvsp[-4].a_expr;
assert(yyval.a_expr->Identifier == 0);
@@ -1791,7 +1795,7 @@
;
break;}
case 54:
-#line 697 "asn1p_y.y"
+#line 699 "asn1p_y.y"
{
yyval.a_expr = asn1p_expr_new(yylineno);
checkmem(yyval.a_expr);
@@ -1801,7 +1805,7 @@
;
break;}
case 55:
-#line 704 "asn1p_y.y"
+#line 706 "asn1p_y.y"
{
yyval.a_expr = asn1p_expr_new(yylineno);
checkmem(yyval.a_expr);
@@ -1810,36 +1814,36 @@
;
break;}
case 56:
-#line 713 "asn1p_y.y"
+#line 715 "asn1p_y.y"
{ ;
break;}
case 57:
-#line 714 "asn1p_y.y"
+#line 716 "asn1p_y.y"
{
;
break;}
case 58:
-#line 725 "asn1p_y.y"
-{
- ;
- break;}
-case 59:
#line 727 "asn1p_y.y"
{
;
break;}
-case 60:
-#line 732 "asn1p_y.y"
+case 59:
+#line 729 "asn1p_y.y"
{
;
break;}
-case 61:
+case 60:
#line 734 "asn1p_y.y"
{
;
break;}
+case 61:
+#line 736 "asn1p_y.y"
+{
+ ;
+ break;}
case 62:
-#line 750 "asn1p_y.y"
+#line 752 "asn1p_y.y"
{
yyval.a_expr = asn1p_expr_new(yylineno);
checkmem(yyval.a_expr);
@@ -1850,7 +1854,7 @@
;
break;}
case 63:
-#line 758 "asn1p_y.y"
+#line 760 "asn1p_y.y"
{
yyval.a_expr = yyvsp[0].a_expr;
yyval.a_expr->Identifier = yyvsp[-2].tv_str;
@@ -1859,7 +1863,7 @@
;
break;}
case 64:
-#line 764 "asn1p_y.y"
+#line 766 "asn1p_y.y"
{
yyval.a_expr = yyvsp[0].a_expr;
yyval.a_expr->Identifier = yyvsp[-2].tv_str;
@@ -1868,7 +1872,7 @@
;
break;}
case 65:
-#line 780 "asn1p_y.y"
+#line 782 "asn1p_y.y"
{
yyval.a_expr = yyvsp[0].a_expr;
assert(yyval.a_expr->Identifier == 0);
@@ -1878,7 +1882,7 @@
;
break;}
case 66:
-#line 790 "asn1p_y.y"
+#line 792 "asn1p_y.y"
{
int ret;
yyval.a_plist = asn1p_paramlist_new(yylineno);
@@ -1890,7 +1894,7 @@
;
break;}
case 67:
-#line 799 "asn1p_y.y"
+#line 801 "asn1p_y.y"
{
int ret;
yyval.a_plist = yyvsp[-2].a_plist;
@@ -1901,14 +1905,14 @@
;
break;}
case 68:
-#line 810 "asn1p_y.y"
+#line 812 "asn1p_y.y"
{
yyval.a_parg.governor = NULL;
yyval.a_parg.argument = yyvsp[0].tv_str;
;
break;}
case 69:
-#line 814 "asn1p_y.y"
+#line 816 "asn1p_y.y"
{
int ret;
yyval.a_parg.governor = asn1p_ref_new(yylineno);
@@ -1918,7 +1922,7 @@
;
break;}
case 70:
-#line 821 "asn1p_y.y"
+#line 823 "asn1p_y.y"
{
int ret;
yyval.a_parg.governor = asn1p_ref_new(yylineno);
@@ -1928,7 +1932,7 @@
;
break;}
case 71:
-#line 828 "asn1p_y.y"
+#line 830 "asn1p_y.y"
{
int ret;
yyval.a_parg.governor = asn1p_ref_new(yylineno);
@@ -1939,7 +1943,7 @@
;
break;}
case 72:
-#line 839 "asn1p_y.y"
+#line 841 "asn1p_y.y"
{
yyval.a_expr = asn1p_expr_new(yylineno);
checkmem(yyval.a_expr);
@@ -1947,20 +1951,20 @@
;
break;}
case 73:
-#line 844 "asn1p_y.y"
+#line 846 "asn1p_y.y"
{
yyval.a_expr = yyvsp[-2].a_expr;
asn1p_expr_add(yyval.a_expr, yyvsp[0].a_expr);
;
break;}
case 74:
-#line 851 "asn1p_y.y"
+#line 853 "asn1p_y.y"
{
yyval.a_expr = yyvsp[0].a_expr;
;
break;}
case 75:
-#line 854 "asn1p_y.y"
+#line 856 "asn1p_y.y"
{
yyval.a_expr = asn1p_expr_new(yylineno);
checkmem(yyval.a_expr);
@@ -1970,15 +1974,15 @@
;
break;}
case 76:
-#line 878 "asn1p_y.y"
+#line 880 "asn1p_y.y"
{ yyval.a_expr = asn1p_expr_new(yylineno); ;
break;}
case 77:
-#line 879 "asn1p_y.y"
+#line 881 "asn1p_y.y"
{ yyval.a_expr = yyvsp[0].a_expr; ;
break;}
case 78:
-#line 882 "asn1p_y.y"
+#line 884 "asn1p_y.y"
{
yyval.a_expr = asn1p_expr_new(yylineno);
checkmem(yyval.a_expr);
@@ -1986,14 +1990,14 @@
;
break;}
case 79:
-#line 887 "asn1p_y.y"
+#line 889 "asn1p_y.y"
{
yyval.a_expr = yyvsp[-2].a_expr;
asn1p_expr_add(yyval.a_expr, yyvsp[0].a_expr);
;
break;}
case 80:
-#line 894 "asn1p_y.y"
+#line 896 "asn1p_y.y"
{
yyval.a_expr = yyvsp[-1].a_expr;
assert(yyval.a_expr->Identifier == 0);
@@ -2002,7 +2006,7 @@
;
break;}
case 81:
-#line 900 "asn1p_y.y"
+#line 902 "asn1p_y.y"
{
yyval.a_expr = asn1p_expr_new(yylineno);
checkmem(yyval.a_expr);
@@ -2012,13 +2016,13 @@
;
break;}
case 82:
-#line 907 "asn1p_y.y"
+#line 909 "asn1p_y.y"
{
yyval.a_expr = yyvsp[0].a_expr;
;
break;}
case 83:
-#line 913 "asn1p_y.y"
+#line 915 "asn1p_y.y"
{
yyval.a_expr = asn1p_expr_new(yylineno);
checkmem(yyval.a_expr);
@@ -2026,14 +2030,14 @@
;
break;}
case 84:
-#line 918 "asn1p_y.y"
+#line 920 "asn1p_y.y"
{
yyval.a_expr = yyvsp[-2].a_expr;
asn1p_expr_add(yyval.a_expr, yyvsp[0].a_expr);
;
break;}
case 85:
-#line 925 "asn1p_y.y"
+#line 927 "asn1p_y.y"
{
yyval.a_expr = yyvsp[0].a_expr;
assert(yyval.a_expr->Identifier == 0);
@@ -2041,13 +2045,13 @@
;
break;}
case 86:
-#line 930 "asn1p_y.y"
+#line 932 "asn1p_y.y"
{
yyval.a_expr = yyvsp[0].a_expr;
;
break;}
case 87:
-#line 936 "asn1p_y.y"
+#line 938 "asn1p_y.y"
{
yyval.a_expr = yyvsp[-2].a_expr;
checkmem(yyval.a_expr);
@@ -2057,15 +2061,15 @@
;
break;}
case 88:
-#line 946 "asn1p_y.y"
+#line 948 "asn1p_y.y"
{ yyval.a_int = 0; ;
break;}
case 89:
-#line 947 "asn1p_y.y"
+#line 949 "asn1p_y.y"
{ yyval.a_int = 1; ;
break;}
case 90:
-#line 951 "asn1p_y.y"
+#line 953 "asn1p_y.y"
{
yyval.a_expr = asn1p_expr_new(yylineno);
checkmem(yyval.a_expr);
@@ -2075,14 +2079,14 @@
;
break;}
case 91:
-#line 958 "asn1p_y.y"
+#line 960 "asn1p_y.y"
{
yyval.a_expr = yyvsp[-2].a_expr;
asn1p_expr_add(yyval.a_expr, yyvsp[0].a_expr);
;
break;}
case 92:
-#line 965 "asn1p_y.y"
+#line 967 "asn1p_y.y"
{
yyval.a_expr = asn1p_expr_new(yylineno);
checkmem(yyval.a_expr);
@@ -2093,7 +2097,7 @@
;
break;}
case 93:
-#line 973 "asn1p_y.y"
+#line 975 "asn1p_y.y"
{
yyval.a_expr = yyvsp[-2].a_expr;
yyval.a_expr->Identifier = yyvsp[-3].a_refcomp.name;
@@ -2102,7 +2106,7 @@
;
break;}
case 94:
-#line 979 "asn1p_y.y"
+#line 981 "asn1p_y.y"
{
int ret;
yyval.a_expr = asn1p_expr_new(yylineno);
@@ -2120,47 +2124,47 @@
;
break;}
case 95:
-#line 997 "asn1p_y.y"
+#line 999 "asn1p_y.y"
{ yyval.a_wsynt = 0; ;
break;}
case 96:
-#line 998 "asn1p_y.y"
+#line 1000 "asn1p_y.y"
{
yyval.a_wsynt = yyvsp[0].a_wsynt;
;
break;}
case 97:
-#line 1005 "asn1p_y.y"
+#line 1007 "asn1p_y.y"
{ asn1p_lexer_hack_enable_with_syntax(); ;
break;}
case 98:
-#line 1007 "asn1p_y.y"
+#line 1009 "asn1p_y.y"
{
yyval.a_wsynt = yyvsp[-1].a_wsynt;
;
break;}
case 99:
-#line 1013 "asn1p_y.y"
+#line 1015 "asn1p_y.y"
{
yyval.a_wsynt = asn1p_wsyntx_new();
TQ_ADD(&(yyval.a_wsynt->chunks), yyvsp[0].a_wchunk, next);
;
break;}
case 100:
-#line 1017 "asn1p_y.y"
+#line 1019 "asn1p_y.y"
{
yyval.a_wsynt = yyvsp[-1].a_wsynt;
TQ_ADD(&(yyval.a_wsynt->chunks), yyvsp[0].a_wchunk, next);
;
break;}
case 101:
-#line 1024 "asn1p_y.y"
+#line 1026 "asn1p_y.y"
{
yyval.a_wchunk = asn1p_wsyntx_chunk_frombuf(yyvsp[0].tv_opaque.buf, yyvsp[0].tv_opaque.len, 0);
;
break;}
case 102:
-#line 1027 "asn1p_y.y"
+#line 1029 "asn1p_y.y"
{
asn1p_ref_t *ref;
int ret;
@@ -2172,7 +2176,7 @@
;
break;}
case 103:
-#line 1039 "asn1p_y.y"
+#line 1041 "asn1p_y.y"
{
yyval.a_expr = asn1p_expr_new(yylineno);
checkmem(yyval.a_expr);
@@ -2183,7 +2187,7 @@
;
break;}
case 104:
-#line 1047 "asn1p_y.y"
+#line 1049 "asn1p_y.y"
{
yyval.a_expr = asn1p_expr_new(yylineno);
checkmem(yyval.a_expr);
@@ -2195,7 +2199,7 @@
;
break;}
case 105:
-#line 1056 "asn1p_y.y"
+#line 1058 "asn1p_y.y"
{
yyval.a_expr = asn1p_expr_new(yylineno);
checkmem(yyval.a_expr);
@@ -2207,7 +2211,7 @@
;
break;}
case 106:
-#line 1068 "asn1p_y.y"
+#line 1070 "asn1p_y.y"
{
yyval.a_expr = yyvsp[-1].a_expr;
yyval.a_expr->tag = yyvsp[-2].a_tag;
@@ -2229,13 +2233,13 @@
;
break;}
case 107:
-#line 1090 "asn1p_y.y"
+#line 1092 "asn1p_y.y"
{
yyval.a_expr = yyvsp[0].a_expr;
;
break;}
case 108:
-#line 1093 "asn1p_y.y"
+#line 1095 "asn1p_y.y"
{
yyval.a_expr = yyvsp[-1].a_expr;
assert(yyval.a_expr->expr_type == A1TC_INVALID);
@@ -2244,7 +2248,7 @@
;
break;}
case 109:
-#line 1099 "asn1p_y.y"
+#line 1101 "asn1p_y.y"
{
yyval.a_expr = yyvsp[-1].a_expr;
assert(yyval.a_expr->expr_type == A1TC_INVALID);
@@ -2253,7 +2257,7 @@
;
break;}
case 110:
-#line 1105 "asn1p_y.y"
+#line 1107 "asn1p_y.y"
{
yyval.a_expr = yyvsp[-1].a_expr;
assert(yyval.a_expr->expr_type == A1TC_INVALID);
@@ -2262,7 +2266,7 @@
;
break;}
case 111:
-#line 1111 "asn1p_y.y"
+#line 1113 "asn1p_y.y"
{
yyval.a_expr = asn1p_expr_new(yylineno);
checkmem(yyval.a_expr);
@@ -2275,7 +2279,7 @@
;
break;}
case 112:
-#line 1121 "asn1p_y.y"
+#line 1123 "asn1p_y.y"
{
yyval.a_expr = asn1p_expr_new(yylineno);
checkmem(yyval.a_expr);
@@ -2288,7 +2292,7 @@
;
break;}
case 113:
-#line 1131 "asn1p_y.y"
+#line 1133 "asn1p_y.y"
{
yyval.a_expr = asn1p_expr_new(yylineno);
checkmem(yyval.a_expr);
@@ -2297,7 +2301,7 @@
;
break;}
case 114:
-#line 1137 "asn1p_y.y"
+#line 1139 "asn1p_y.y"
{
int ret;
yyval.a_expr = asn1p_expr_new(yylineno);
@@ -2311,7 +2315,7 @@
;
break;}
case 115:
-#line 1151 "asn1p_y.y"
+#line 1153 "asn1p_y.y"
{
int ret;
yyval.a_expr = yyvsp[-1].a_expr;
@@ -2328,7 +2332,7 @@
;
break;}
case 116:
-#line 1175 "asn1p_y.y"
+#line 1177 "asn1p_y.y"
{
yyval.a_expr = asn1p_expr_new(yylineno);
checkmem(yyval.a_expr);
@@ -2338,7 +2342,7 @@
;
break;}
case 117:
-#line 1182 "asn1p_y.y"
+#line 1184 "asn1p_y.y"
{
yyval.a_expr = asn1p_expr_new(yylineno);
checkmem(yyval.a_expr);
@@ -2348,7 +2352,7 @@
;
break;}
case 118:
-#line 1197 "asn1p_y.y"
+#line 1199 "asn1p_y.y"
{
int ret;
yyval.a_ref = asn1p_ref_new(yylineno);
@@ -2359,7 +2363,7 @@
;
break;}
case 119:
-#line 1205 "asn1p_y.y"
+#line 1207 "asn1p_y.y"
{
int ret;
yyval.a_ref = asn1p_ref_new(yylineno);
@@ -2372,7 +2376,7 @@
;
break;}
case 120:
-#line 1215 "asn1p_y.y"
+#line 1217 "asn1p_y.y"
{
int ret;
yyval.a_ref = asn1p_ref_new(yylineno);
@@ -2385,7 +2389,7 @@
;
break;}
case 121:
-#line 1225 "asn1p_y.y"
+#line 1227 "asn1p_y.y"
{
int ret;
yyval.a_ref = asn1p_ref_new(yylineno);
@@ -2398,7 +2402,7 @@
;
break;}
case 122:
-#line 1235 "asn1p_y.y"
+#line 1237 "asn1p_y.y"
{
int ret;
yyval.a_ref = asn1p_ref_new(yylineno);
@@ -2409,7 +2413,7 @@
;
break;}
case 123:
-#line 1243 "asn1p_y.y"
+#line 1245 "asn1p_y.y"
{
int ret;
yyval.a_ref = yyvsp[0].a_ref;
@@ -2431,7 +2435,7 @@
;
break;}
case 124:
-#line 1265 "asn1p_y.y"
+#line 1267 "asn1p_y.y"
{
int ret;
yyval.a_ref = asn1p_ref_new(yylineno);
@@ -2442,7 +2446,7 @@
;
break;}
case 125:
-#line 1273 "asn1p_y.y"
+#line 1275 "asn1p_y.y"
{
int ret;
yyval.a_ref = yyvsp[-2].a_ref;
@@ -2452,21 +2456,21 @@
;
break;}
case 128:
-#line 1287 "asn1p_y.y"
+#line 1289 "asn1p_y.y"
{
yyval.a_refcomp.lex_type = RLT_AmpUppercase;
yyval.a_refcomp.name = yyvsp[0].tv_str;
;
break;}
case 129:
-#line 1292 "asn1p_y.y"
+#line 1294 "asn1p_y.y"
{
yyval.a_refcomp.lex_type = RLT_Amplowercase;
yyval.a_refcomp.name = yyvsp[0].tv_str;
;
break;}
case 130:
-#line 1305 "asn1p_y.y"
+#line 1307 "asn1p_y.y"
{
yyval.a_expr = yyvsp[-2].a_expr;
assert(yyval.a_expr->Identifier == NULL);
@@ -2476,7 +2480,7 @@
;
break;}
case 131:
-#line 1315 "asn1p_y.y"
+#line 1317 "asn1p_y.y"
{
yyval.a_value = asn1p_value_fromint(0);
checkmem(yyval.a_value);
@@ -2486,11 +2490,11 @@
;
break;}
case 132:
-#line 1322 "asn1p_y.y"
-{ asn1p_lexer_hack_push_opaque_state(); ;
+#line 1324 "asn1p_y.y"
+{ printf("push\n"); asn1p_lexer_hack_push_opaque_state(); ;
break;}
case 133:
-#line 1322 "asn1p_y.y"
+#line 1324 "asn1p_y.y"
{
yyval.a_value = asn1p_value_frombuf(yyvsp[0].tv_opaque.buf, yyvsp[0].tv_opaque.len, 0);
checkmem(yyval.a_value);
@@ -2498,7 +2502,7 @@
;
break;}
case 134:
-#line 1327 "asn1p_y.y"
+#line 1329 "asn1p_y.y"
{
yyval.a_value = asn1p_value_fromint(0);
checkmem(yyval.a_value);
@@ -2506,7 +2510,7 @@
;
break;}
case 135:
-#line 1332 "asn1p_y.y"
+#line 1334 "asn1p_y.y"
{
yyval.a_value = asn1p_value_fromint(0);
checkmem(yyval.a_value);
@@ -2514,7 +2518,7 @@
;
break;}
case 136:
-#line 1337 "asn1p_y.y"
+#line 1339 "asn1p_y.y"
{
yyval.a_value = asn1p_value_fromint(0);
checkmem(yyval.a_value);
@@ -2522,39 +2526,39 @@
;
break;}
case 137:
-#line 1342 "asn1p_y.y"
+#line 1344 "asn1p_y.y"
{
yyval.a_value = _convert_bitstring2binary(yyvsp[0].tv_str, 'B');
checkmem(yyval.a_value);
;
break;}
case 138:
-#line 1346 "asn1p_y.y"
+#line 1348 "asn1p_y.y"
{
yyval.a_value = _convert_bitstring2binary(yyvsp[0].tv_str, 'H');
checkmem(yyval.a_value);
;
break;}
case 139:
-#line 1350 "asn1p_y.y"
+#line 1352 "asn1p_y.y"
{
yyval.a_value = yyval.a_value;
;
break;}
case 140:
-#line 1353 "asn1p_y.y"
+#line 1355 "asn1p_y.y"
{
yyval.a_value = yyvsp[0].a_value;
;
break;}
case 141:
-#line 1356 "asn1p_y.y"
+#line 1358 "asn1p_y.y"
{
yyval.a_value = yyvsp[0].a_value;
;
break;}
case 142:
-#line 1362 "asn1p_y.y"
+#line 1364 "asn1p_y.y"
{
asn1p_ref_t *ref;
int ret;
@@ -2568,7 +2572,7 @@
;
break;}
case 143:
-#line 1373 "asn1p_y.y"
+#line 1375 "asn1p_y.y"
{
asn1p_ref_t *ref;
int ret;
@@ -2585,44 +2589,30 @@
;
break;}
case 144:
-#line 1391 "asn1p_y.y"
+#line 1393 "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 145:
-#line 1395 "asn1p_y.y"
+#line 1397 "asn1p_y.y"
{
- asn1c_integer_t v = (yyvsp[-3].a_int << 4) + yyvsp[-1].a_int;
- if(yyvsp[-3].a_int > 7) return yyerror("X.680:2003, #37.14 "
- "mandates 0..7 range for Tuple's TableColumn");
- if(yyvsp[-1].a_int > 15) return yyerror("X.680:2003, #37.14 "
- "mandates 0..15 range for Tuple's TableRow");
- yyval.a_value = asn1p_value_fromint(v);
+ yyval.a_value = asn1p_value_fromint(yyvsp[0].a_int);
checkmem(yyval.a_value);
yyval.a_value->type = ATV_TUPLE;
;
break;}
case 146:
-#line 1405 "asn1p_y.y"
+#line 1402 "asn1p_y.y"
{
- asn1c_integer_t v = (yyvsp[-7].a_int << 24) | (yyvsp[-5].a_int << 16) | (yyvsp[-3].a_int << 8) | yyvsp[-1].a_int;
- if(yyvsp[-7].a_int > 127) return yyerror("X.680:2003, #37.12 "
- "mandates 0..127 range for Quadruple's Group");
- if(yyvsp[-5].a_int > 255) return yyerror("X.680:2003, #37.12 "
- "mandates 0..255 range for Quadruple's Plane");
- if(yyvsp[-3].a_int > 255) return yyerror("X.680:2003, #37.12 "
- "mandates 0..255 range for Quadruple's Row");
- if(yyvsp[-1].a_int > 255) return yyerror("X.680:2003, #37.12 "
- "mandates 0..255 range for Quadruple's Cell");
- yyval.a_value = asn1p_value_fromint(v);
+ yyval.a_value = asn1p_value_fromint(yyvsp[0].a_int);
checkmem(yyval.a_value);
yyval.a_value->type = ATV_QUADRUPLE;
;
break;}
case 147:
-#line 1422 "asn1p_y.y"
+#line 1436 "asn1p_y.y"
{
yyval.tv_opaque.len = yyvsp[0].tv_opaque.len + 1;
yyval.tv_opaque.buf = malloc(yyval.tv_opaque.len + 1);
@@ -2634,7 +2624,7 @@
;
break;}
case 148:
-#line 1431 "asn1p_y.y"
+#line 1445 "asn1p_y.y"
{
int newsize = yyvsp[-1].tv_opaque.len + yyvsp[0].tv_opaque.len;
char *p = malloc(newsize + 1);
@@ -2649,71 +2639,71 @@
;
break;}
case 149:
-#line 1446 "asn1p_y.y"
+#line 1460 "asn1p_y.y"
{ yyval.a_type = ASN_BASIC_BOOLEAN; ;
break;}
case 150:
-#line 1447 "asn1p_y.y"
+#line 1461 "asn1p_y.y"
{ yyval.a_type = ASN_BASIC_NULL; ;
break;}
case 151:
-#line 1448 "asn1p_y.y"
+#line 1462 "asn1p_y.y"
{ yyval.a_type = ASN_BASIC_REAL; ;
break;}
case 152:
-#line 1449 "asn1p_y.y"
+#line 1463 "asn1p_y.y"
{ yyval.a_type = yyvsp[0].a_type; ;
break;}
case 153:
-#line 1450 "asn1p_y.y"
+#line 1464 "asn1p_y.y"
{ yyval.a_type = ASN_BASIC_OCTET_STRING; ;
break;}
case 154:
-#line 1451 "asn1p_y.y"
+#line 1465 "asn1p_y.y"
{ yyval.a_type = ASN_BASIC_OBJECT_IDENTIFIER; ;
break;}
case 155:
-#line 1452 "asn1p_y.y"
+#line 1466 "asn1p_y.y"
{ yyval.a_type = ASN_BASIC_RELATIVE_OID; ;
break;}
case 156:
-#line 1453 "asn1p_y.y"
+#line 1467 "asn1p_y.y"
{ yyval.a_type = ASN_BASIC_EXTERNAL; ;
break;}
case 157:
-#line 1454 "asn1p_y.y"
+#line 1468 "asn1p_y.y"
{ yyval.a_type = ASN_BASIC_EMBEDDED_PDV; ;
break;}
case 158:
-#line 1455 "asn1p_y.y"
+#line 1469 "asn1p_y.y"
{ yyval.a_type = ASN_BASIC_CHARACTER_STRING; ;
break;}
case 159:
-#line 1456 "asn1p_y.y"
+#line 1470 "asn1p_y.y"
{ yyval.a_type = ASN_BASIC_UTCTime; ;
break;}
case 160:
-#line 1457 "asn1p_y.y"
+#line 1471 "asn1p_y.y"
{ yyval.a_type = ASN_BASIC_GeneralizedTime; ;
break;}
case 161:
-#line 1458 "asn1p_y.y"
+#line 1472 "asn1p_y.y"
{ yyval.a_type = yyvsp[0].a_type; ;
break;}
case 162:
-#line 1465 "asn1p_y.y"
+#line 1479 "asn1p_y.y"
{ yyval.a_type = ASN_BASIC_INTEGER; ;
break;}
case 163:
-#line 1466 "asn1p_y.y"
+#line 1480 "asn1p_y.y"
{ yyval.a_type = ASN_BASIC_ENUMERATED; ;
break;}
case 164:
-#line 1467 "asn1p_y.y"
+#line 1481 "asn1p_y.y"
{ yyval.a_type = ASN_BASIC_BIT_STRING; ;
break;}
case 165:
-#line 1471 "asn1p_y.y"
+#line 1485 "asn1p_y.y"
{
yyval.a_expr = asn1p_expr_new(yylineno);
checkmem(yyval.a_expr);
@@ -2722,7 +2712,7 @@
;
break;}
case 166:
-#line 1477 "asn1p_y.y"
+#line 1491 "asn1p_y.y"
{
if(yyvsp[0].a_expr) {
yyval.a_expr = yyvsp[0].a_expr;
@@ -2735,91 +2725,91 @@
;
break;}
case 167:
-#line 1490 "asn1p_y.y"
+#line 1504 "asn1p_y.y"
{ yyval.a_type = ASN_STRING_BMPString; ;
break;}
case 168:
-#line 1491 "asn1p_y.y"
+#line 1505 "asn1p_y.y"
{
yyval.a_type = ASN_STRING_GeneralString;
fprintf(stderr, "WARNING: GeneralString is not fully supported\n");
;
break;}
case 169:
-#line 1495 "asn1p_y.y"
+#line 1509 "asn1p_y.y"
{
yyval.a_type = ASN_STRING_GraphicString;
fprintf(stderr, "WARNING: GraphicString is not fully supported\n");
;
break;}
case 170:
-#line 1499 "asn1p_y.y"
+#line 1513 "asn1p_y.y"
{ yyval.a_type = ASN_STRING_IA5String; ;
break;}
case 171:
-#line 1500 "asn1p_y.y"
+#line 1514 "asn1p_y.y"
{ yyval.a_type = ASN_STRING_ISO646String; ;
break;}
case 172:
-#line 1501 "asn1p_y.y"
+#line 1515 "asn1p_y.y"
{ yyval.a_type = ASN_STRING_NumericString; ;
break;}
case 173:
-#line 1502 "asn1p_y.y"
+#line 1516 "asn1p_y.y"
{ yyval.a_type = ASN_STRING_PrintableString; ;
break;}
case 174:
-#line 1503 "asn1p_y.y"
+#line 1517 "asn1p_y.y"
{
yyval.a_type = ASN_STRING_T61String;
fprintf(stderr, "WARNING: T61String is not fully supported\n");
;
break;}
case 175:
-#line 1507 "asn1p_y.y"
+#line 1521 "asn1p_y.y"
{ yyval.a_type = ASN_STRING_TeletexString; ;
break;}
case 176:
-#line 1508 "asn1p_y.y"
+#line 1522 "asn1p_y.y"
{ yyval.a_type = ASN_STRING_UniversalString; ;
break;}
case 177:
-#line 1509 "asn1p_y.y"
+#line 1523 "asn1p_y.y"
{ yyval.a_type = ASN_STRING_UTF8String; ;
break;}
case 178:
-#line 1510 "asn1p_y.y"
+#line 1524 "asn1p_y.y"
{
yyval.a_type = ASN_STRING_VideotexString;
fprintf(stderr, "WARNING: VideotexString is not fully supported\n");
;
break;}
case 179:
-#line 1514 "asn1p_y.y"
+#line 1528 "asn1p_y.y"
{ yyval.a_type = ASN_STRING_VisibleString; ;
break;}
case 180:
-#line 1515 "asn1p_y.y"
+#line 1529 "asn1p_y.y"
{ yyval.a_type = ASN_STRING_ObjectDescriptor; ;
break;}
case 186:
-#line 1527 "asn1p_y.y"
+#line 1541 "asn1p_y.y"
{ yyval.a_constr = 0; ;
break;}
case 187:
-#line 1528 "asn1p_y.y"
+#line 1542 "asn1p_y.y"
{
yyval.a_constr = yyvsp[0].a_constr;
;
break;}
case 188:
-#line 1534 "asn1p_y.y"
+#line 1548 "asn1p_y.y"
{
CONSTRAINT_INSERT(yyval.a_constr, ACT_CA_SET, yyvsp[0].a_constr, 0);
;
break;}
case 189:
-#line 1537 "asn1p_y.y"
+#line 1551 "asn1p_y.y"
{
/*
* This is a special case, for compatibility purposes.
@@ -2829,25 +2819,25 @@
;
break;}
case 190:
-#line 1547 "asn1p_y.y"
+#line 1561 "asn1p_y.y"
{
yyval.a_constr = yyvsp[-1].a_constr;
;
break;}
case 191:
-#line 1550 "asn1p_y.y"
+#line 1564 "asn1p_y.y"
{
CONSTRAINT_INSERT(yyval.a_constr, ACT_CA_SET, yyvsp[-3].a_constr, yyvsp[-1].a_constr);
;
break;}
case 192:
-#line 1556 "asn1p_y.y"
+#line 1570 "asn1p_y.y"
{
yyval.a_constr = yyvsp[0].a_constr;
;
break;}
case 193:
-#line 1559 "asn1p_y.y"
+#line 1573 "asn1p_y.y"
{
asn1p_constraint_t *ct;
ct = asn1p_constraint_new(yylineno);
@@ -2856,7 +2846,7 @@
;
break;}
case 194:
-#line 1565 "asn1p_y.y"
+#line 1579 "asn1p_y.y"
{
asn1p_constraint_t *ct;
ct = asn1p_constraint_new(yylineno);
@@ -2867,37 +2857,37 @@
;
break;}
case 195:
-#line 1576 "asn1p_y.y"
+#line 1590 "asn1p_y.y"
{
yyval.a_constr = yyvsp[0].a_constr;
;
break;}
case 196:
-#line 1579 "asn1p_y.y"
+#line 1593 "asn1p_y.y"
{
CONSTRAINT_INSERT(yyval.a_constr, ACT_CA_AEX, yyvsp[0].a_constr, 0);
;
break;}
case 197:
-#line 1582 "asn1p_y.y"
+#line 1596 "asn1p_y.y"
{
CONSTRAINT_INSERT(yyval.a_constr, ACT_CA_UNI, yyvsp[-2].a_constr, yyvsp[0].a_constr);
;
break;}
case 198:
-#line 1585 "asn1p_y.y"
+#line 1599 "asn1p_y.y"
{
CONSTRAINT_INSERT(yyval.a_constr, ACT_CA_INT, yyvsp[-2].a_constr, yyvsp[0].a_constr);
;
break;}
case 199:
-#line 1588 "asn1p_y.y"
+#line 1602 "asn1p_y.y"
{
CONSTRAINT_INSERT(yyval.a_constr, ACT_CA_EXC, yyvsp[-2].a_constr, yyvsp[0].a_constr);
;
break;}
case 200:
-#line 1594 "asn1p_y.y"
+#line 1608 "asn1p_y.y"
{
int ret;
yyval.a_constr = asn1p_constraint_new(yylineno);
@@ -2908,7 +2898,7 @@
;
break;}
case 201:
-#line 1602 "asn1p_y.y"
+#line 1616 "asn1p_y.y"
{
int ret;
yyval.a_constr = asn1p_constraint_new(yylineno);
@@ -2919,7 +2909,7 @@
;
break;}
case 202:
-#line 1610 "asn1p_y.y"
+#line 1624 "asn1p_y.y"
{
yyval.a_constr = asn1p_constraint_new(yylineno);
checkmem(yyval.a_constr);
@@ -2928,7 +2918,7 @@
;
break;}
case 203:
-#line 1616 "asn1p_y.y"
+#line 1630 "asn1p_y.y"
{
yyval.a_constr = asn1p_constraint_new(yylineno);
checkmem(yyval.a_constr);
@@ -2937,7 +2927,7 @@
;
break;}
case 204:
-#line 1622 "asn1p_y.y"
+#line 1636 "asn1p_y.y"
{
yyval.a_constr = asn1p_constraint_new(yylineno);
checkmem(yyval.a_constr);
@@ -2947,7 +2937,7 @@
;
break;}
case 205:
-#line 1629 "asn1p_y.y"
+#line 1643 "asn1p_y.y"
{
yyval.a_constr = asn1p_constraint_new(yylineno);
checkmem(yyval.a_constr);
@@ -2958,7 +2948,7 @@
;
break;}
case 206:
-#line 1637 "asn1p_y.y"
+#line 1651 "asn1p_y.y"
{
yyval.a_constr = asn1p_constraint_new(yylineno);
checkmem(yyval.a_constr);
@@ -2969,7 +2959,7 @@
;
break;}
case 207:
-#line 1645 "asn1p_y.y"
+#line 1659 "asn1p_y.y"
{
yyval.a_constr = asn1p_constraint_new(yylineno);
checkmem(yyval.a_constr);
@@ -2981,23 +2971,23 @@
;
break;}
case 208:
-#line 1654 "asn1p_y.y"
+#line 1668 "asn1p_y.y"
{
yyval.a_constr = yyvsp[0].a_constr;
;
break;}
case 209:
-#line 1657 "asn1p_y.y"
+#line 1671 "asn1p_y.y"
{
yyval.a_constr = yyvsp[0].a_constr;
;
break;}
case 210:
-#line 1661 "asn1p_y.y"
+#line 1675 "asn1p_y.y"
{ asn1p_lexer_hack_push_opaque_state(); ;
break;}
case 211:
-#line 1661 "asn1p_y.y"
+#line 1675 "asn1p_y.y"
{
yyval.a_constr = asn1p_constraint_new(yylineno);
checkmem(yyval.a_constr);
@@ -3008,35 +2998,35 @@
;
break;}
case 212:
-#line 1672 "asn1p_y.y"
+#line 1686 "asn1p_y.y"
{ yyval.a_ctype = ACT_EL_RANGE; ;
break;}
case 213:
-#line 1673 "asn1p_y.y"
+#line 1687 "asn1p_y.y"
{ yyval.a_ctype = ACT_EL_RLRANGE; ;
break;}
case 214:
-#line 1674 "asn1p_y.y"
+#line 1688 "asn1p_y.y"
{ yyval.a_ctype = ACT_EL_LLRANGE; ;
break;}
case 215:
-#line 1675 "asn1p_y.y"
+#line 1689 "asn1p_y.y"
{ yyval.a_ctype = ACT_EL_ULRANGE; ;
break;}
case 216:
-#line 1679 "asn1p_y.y"
+#line 1693 "asn1p_y.y"
{
yyval.a_ctype = ACT_CT_SIZE;
;
break;}
case 217:
-#line 1682 "asn1p_y.y"
+#line 1696 "asn1p_y.y"
{
yyval.a_ctype = ACT_CT_FROM;
;
break;}
case 218:
-#line 1688 "asn1p_y.y"
+#line 1702 "asn1p_y.y"
{
yyval.a_value = asn1p_value_fromint(0);
checkmem(yyval.a_value);
@@ -3044,7 +3034,7 @@
;
break;}
case 219:
-#line 1693 "asn1p_y.y"
+#line 1707 "asn1p_y.y"
{
yyval.a_value = asn1p_value_fromint(1);
checkmem(yyval.a_value);
@@ -3052,19 +3042,19 @@
;
break;}
case 220:
-#line 1698 "asn1p_y.y"
+#line 1712 "asn1p_y.y"
{
yyval.a_value = yyvsp[0].a_value;
;
break;}
case 221:
-#line 1701 "asn1p_y.y"
+#line 1715 "asn1p_y.y"
{
yyval.a_value = yyvsp[0].a_value;
;
break;}
case 222:
-#line 1704 "asn1p_y.y"
+#line 1718 "asn1p_y.y"
{
asn1p_ref_t *ref;
int ret;
@@ -3078,7 +3068,7 @@
;
break;}
case 223:
-#line 1718 "asn1p_y.y"
+#line 1732 "asn1p_y.y"
{
asn1p_ref_t *ref;
int ret;
@@ -3092,25 +3082,25 @@
;
break;}
case 224:
-#line 1732 "asn1p_y.y"
+#line 1746 "asn1p_y.y"
{
CONSTRAINT_INSERT(yyval.a_constr, ACT_CT_WCOMPS, yyvsp[-1].a_constr, 0);
;
break;}
case 225:
-#line 1738 "asn1p_y.y"
+#line 1752 "asn1p_y.y"
{
yyval.a_constr = yyvsp[0].a_constr;
;
break;}
case 226:
-#line 1741 "asn1p_y.y"
+#line 1755 "asn1p_y.y"
{
CONSTRAINT_INSERT(yyval.a_constr, ACT_CT_WCOMPS, yyvsp[-2].a_constr, yyvsp[0].a_constr);
;
break;}
case 227:
-#line 1747 "asn1p_y.y"
+#line 1761 "asn1p_y.y"
{
yyval.a_constr = asn1p_constraint_new(yylineno);
checkmem(yyval.a_constr);
@@ -3118,7 +3108,7 @@
;
break;}
case 228:
-#line 1752 "asn1p_y.y"
+#line 1766 "asn1p_y.y"
{
yyval.a_constr = asn1p_constraint_new(yylineno);
checkmem(yyval.a_constr);
@@ -3128,45 +3118,45 @@
;
break;}
case 229:
-#line 1765 "asn1p_y.y"
+#line 1779 "asn1p_y.y"
{ yyval.a_pres = ACPRES_DEFAULT; ;
break;}
case 230:
-#line 1766 "asn1p_y.y"
+#line 1780 "asn1p_y.y"
{ yyval.a_pres = yyvsp[0].a_pres; ;
break;}
case 231:
-#line 1770 "asn1p_y.y"
+#line 1784 "asn1p_y.y"
{
yyval.a_pres = ACPRES_PRESENT;
;
break;}
case 232:
-#line 1773 "asn1p_y.y"
+#line 1787 "asn1p_y.y"
{
yyval.a_pres = ACPRES_ABSENT;
;
break;}
case 233:
-#line 1776 "asn1p_y.y"
+#line 1790 "asn1p_y.y"
{
yyval.a_pres = ACPRES_OPTIONAL;
;
break;}
case 234:
-#line 1782 "asn1p_y.y"
+#line 1796 "asn1p_y.y"
{
yyval.a_constr = yyvsp[0].a_constr;
;
break;}
case 235:
-#line 1785 "asn1p_y.y"
+#line 1799 "asn1p_y.y"
{
yyval.a_constr = yyvsp[0].a_constr;
;
break;}
case 236:
-#line 1794 "asn1p_y.y"
+#line 1808 "asn1p_y.y"
{
asn1p_ref_t *ref = asn1p_ref_new(yylineno);
asn1p_constraint_t *ct;
@@ -3181,13 +3171,13 @@
;
break;}
case 237:
-#line 1809 "asn1p_y.y"
+#line 1823 "asn1p_y.y"
{
CONSTRAINT_INSERT(yyval.a_constr, ACT_CA_CRC, yyvsp[-3].a_constr, yyvsp[-1].a_constr);
;
break;}
case 238:
-#line 1815 "asn1p_y.y"
+#line 1829 "asn1p_y.y"
{
yyval.a_constr = asn1p_constraint_new(yylineno);
checkmem(yyval.a_constr);
@@ -3196,7 +3186,7 @@
;
break;}
case 239:
-#line 1821 "asn1p_y.y"
+#line 1835 "asn1p_y.y"
{
asn1p_constraint_t *ct;
ct = asn1p_constraint_new(yylineno);
@@ -3207,7 +3197,7 @@
;
break;}
case 240:
-#line 1835 "asn1p_y.y"
+#line 1849 "asn1p_y.y"
{
char *p = malloc(strlen(yyvsp[0].tv_str) + 2);
int ret;
@@ -3221,7 +3211,7 @@
;
break;}
case 241:
-#line 1846 "asn1p_y.y"
+#line 1860 "asn1p_y.y"
{
char *p = malloc(strlen(yyvsp[0].tv_str) + 3);
int ret;
@@ -3236,13 +3226,13 @@
;
break;}
case 242:
-#line 1862 "asn1p_y.y"
+#line 1876 "asn1p_y.y"
{
yyval.tv_str = yyvsp[0].tv_str;
;
break;}
case 243:
-#line 1865 "asn1p_y.y"
+#line 1879 "asn1p_y.y"
{
int l1 = strlen(yyvsp[-2].tv_str);
int l3 = strlen(yyvsp[0].tv_str);
@@ -3254,45 +3244,45 @@
;
break;}
case 244:
-#line 1883 "asn1p_y.y"
+#line 1897 "asn1p_y.y"
{
yyval.a_marker.flags = EM_NOMARK;
yyval.a_marker.default_value = 0;
;
break;}
case 245:
-#line 1887 "asn1p_y.y"
+#line 1901 "asn1p_y.y"
{ yyval.a_marker = yyvsp[0].a_marker; ;
break;}
case 246:
-#line 1891 "asn1p_y.y"
+#line 1905 "asn1p_y.y"
{
yyval.a_marker.flags = EM_OPTIONAL;
yyval.a_marker.default_value = 0;
;
break;}
case 247:
-#line 1895 "asn1p_y.y"
+#line 1909 "asn1p_y.y"
{
yyval.a_marker.flags = EM_DEFAULT;
yyval.a_marker.default_value = yyvsp[0].a_value;
;
break;}
case 248:
-#line 1918 "asn1p_y.y"
+#line 1932 "asn1p_y.y"
{
yyval.a_expr = asn1p_expr_new(yylineno);
checkmem(yyval.a_expr);
;
break;}
case 249:
-#line 1922 "asn1p_y.y"
+#line 1936 "asn1p_y.y"
{
yyval.a_expr = yyvsp[-1].a_expr;
;
break;}
case 250:
-#line 1928 "asn1p_y.y"
+#line 1942 "asn1p_y.y"
{
yyval.a_expr = asn1p_expr_new(yylineno);
checkmem(yyval.a_expr);
@@ -3300,14 +3290,14 @@
;
break;}
case 251:
-#line 1933 "asn1p_y.y"
+#line 1947 "asn1p_y.y"
{
yyval.a_expr = yyvsp[-2].a_expr;
asn1p_expr_add(yyval.a_expr, yyvsp[0].a_expr);
;
break;}
case 252:
-#line 1940 "asn1p_y.y"
+#line 1954 "asn1p_y.y"
{
yyval.a_expr = asn1p_expr_new(yylineno);
checkmem(yyval.a_expr);
@@ -3317,7 +3307,7 @@
;
break;}
case 253:
-#line 1947 "asn1p_y.y"
+#line 1961 "asn1p_y.y"
{
yyval.a_expr = asn1p_expr_new(yylineno);
checkmem(yyval.a_expr);
@@ -3328,7 +3318,7 @@
;
break;}
case 254:
-#line 1955 "asn1p_y.y"
+#line 1969 "asn1p_y.y"
{
yyval.a_expr = asn1p_expr_new(yylineno);
checkmem(yyval.a_expr);
@@ -3339,7 +3329,7 @@
;
break;}
case 255:
-#line 1963 "asn1p_y.y"
+#line 1977 "asn1p_y.y"
{
yyval.a_expr = asn1p_expr_new(yylineno);
checkmem(yyval.a_expr);
@@ -3349,7 +3339,7 @@
;
break;}
case 256:
-#line 1970 "asn1p_y.y"
+#line 1984 "asn1p_y.y"
{
yyval.a_expr = asn1p_expr_new(yylineno);
checkmem(yyval.a_expr);
@@ -3360,102 +3350,102 @@
;
break;}
case 257:
-#line 1981 "asn1p_y.y"
+#line 1995 "asn1p_y.y"
{
yyval.a_value = asn1p_value_fromint(yyvsp[0].a_int);
checkmem(yyval.a_value);
;
break;}
case 258:
-#line 1985 "asn1p_y.y"
+#line 1999 "asn1p_y.y"
{
yyval.a_value = asn1p_value_fromint(yyvsp[0].a_int);
checkmem(yyval.a_value);
;
break;}
case 259:
-#line 2016 "asn1p_y.y"
+#line 2030 "asn1p_y.y"
{ memset(&yyval.a_tag, 0, sizeof(yyval.a_tag)); ;
break;}
case 260:
-#line 2017 "asn1p_y.y"
+#line 2031 "asn1p_y.y"
{ yyval.a_tag = yyvsp[0].a_tag; ;
break;}
case 261:
-#line 2021 "asn1p_y.y"
+#line 2035 "asn1p_y.y"
{
yyval.a_tag = yyvsp[-1].a_tag;
yyval.a_tag.tag_mode = yyvsp[0].a_tag.tag_mode;
;
break;}
case 262:
-#line 2028 "asn1p_y.y"
+#line 2042 "asn1p_y.y"
{
yyval.a_tag = yyvsp[-2].a_tag;
yyval.a_tag.tag_value = yyvsp[-1].a_int;
;
break;}
case 263:
-#line 2034 "asn1p_y.y"
+#line 2048 "asn1p_y.y"
{ yyval.a_tag.tag_class = TC_CONTEXT_SPECIFIC; ;
break;}
case 264:
-#line 2035 "asn1p_y.y"
+#line 2049 "asn1p_y.y"
{ yyval.a_tag.tag_class = TC_UNIVERSAL; ;
break;}
case 265:
-#line 2036 "asn1p_y.y"
+#line 2050 "asn1p_y.y"
{ yyval.a_tag.tag_class = TC_APPLICATION; ;
break;}
case 266:
-#line 2037 "asn1p_y.y"
+#line 2051 "asn1p_y.y"
{ yyval.a_tag.tag_class = TC_PRIVATE; ;
break;}
case 267:
-#line 2041 "asn1p_y.y"
+#line 2055 "asn1p_y.y"
{ yyval.a_tag.tag_mode = TM_DEFAULT; ;
break;}
case 268:
-#line 2042 "asn1p_y.y"
+#line 2056 "asn1p_y.y"
{ yyval.a_tag.tag_mode = TM_IMPLICIT; ;
break;}
case 269:
-#line 2043 "asn1p_y.y"
+#line 2057 "asn1p_y.y"
{ yyval.a_tag.tag_mode = TM_EXPLICIT; ;
break;}
case 270:
-#line 2047 "asn1p_y.y"
+#line 2061 "asn1p_y.y"
{
checkmem(yyvsp[0].tv_str);
yyval.tv_str = yyvsp[0].tv_str;
;
break;}
case 271:
-#line 2051 "asn1p_y.y"
+#line 2065 "asn1p_y.y"
{
checkmem(yyvsp[0].tv_str);
yyval.tv_str = yyvsp[0].tv_str;
;
break;}
case 272:
-#line 2059 "asn1p_y.y"
+#line 2073 "asn1p_y.y"
{
checkmem(yyvsp[0].tv_str);
yyval.tv_str = yyvsp[0].tv_str;
;
break;}
case 273:
-#line 2066 "asn1p_y.y"
+#line 2080 "asn1p_y.y"
{ yyval.tv_str = 0; ;
break;}
case 274:
-#line 2067 "asn1p_y.y"
+#line 2081 "asn1p_y.y"
{
yyval.tv_str = yyvsp[0].tv_str;
;
break;}
case 275:
-#line 2072 "asn1p_y.y"
+#line 2086 "asn1p_y.y"
{
checkmem(yyvsp[0].tv_str);
yyval.tv_str = yyvsp[0].tv_str;
@@ -3683,7 +3673,7 @@
}
return 1;
}
-#line 2078 "asn1p_y.y"
+#line 2092 "asn1p_y.y"