/* #define YYDEBUG 1 */
#define MAX_STRING_LENGTH 129
-/* Dummy print so that yytoknum will be defined. */
-#define YYPRINT(F, N, L) do { } while (0);
-
/* constants used in the grammar */
enum {
#define PARSECTL ((struct parser_control_s *)parm)
-#line 119 "asn1-parse.c" /* yacc.c:337 */
+#line 116 "asn1-parse.c" /* yacc.c:337 */
# ifndef YY_NULLPTR
# if defined __cplusplus
# if 201103L <= __cplusplus
union YYSTYPE
{
-#line 97 "/home/wk/s/libksba/src/asn1-parse.y" /* yacc.c:352 */
+#line 94 "/home/wk/s/libksba/src/asn1-parse.y" /* yacc.c:352 */
unsigned int constant;
char str[MAX_STRING_LENGTH];
AsnNode node;
-#line 212 "asn1-parse.c" /* yacc.c:352 */
+#line 209 "asn1-parse.c" /* yacc.c:352 */
};
typedef union YYSTYPE YYSTYPE;
/* Second part of user prologue. */
-#line 103 "/home/wk/s/libksba/src/asn1-parse.y" /* yacc.c:354 */
+#line 100 "/home/wk/s/libksba/src/asn1-parse.y" /* yacc.c:354 */
static AsnNode new_node (struct parser_control_s *parsectl, node_type_t type);
#define NEW_NODE(a) (new_node (PARSECTL, (a)))
static int yylex (YYSTYPE *lvalp, void *parm);
static void yyerror (void *parm, const char *s);
-#line 242 "asn1-parse.c" /* yacc.c:354 */
+#line 239 "asn1-parse.c" /* yacc.c:354 */
#ifdef short
# undef short
/* YYRLINE[YYN] -- Source line where rule number YYN was defined. */
static const yytype_uint16 yyrline[] =
{
- 0, 184, 184, 185, 188, 189, 192, 199, 200, 203,
- 204, 207, 208, 211, 216, 224, 225, 250, 255, 263,
- 265, 272, 273, 274, 277, 283, 291, 293, 298, 305,
- 310, 315, 322, 326, 332, 343, 349, 353, 359, 365,
- 374, 378, 384, 388, 396, 397, 404, 405, 412, 414,
- 421, 423, 430, 431, 438, 440, 447, 448, 457, 458,
- 459, 460, 461, 462, 463, 469, 477, 481, 488, 492,
- 500, 508, 514, 519, 526, 527, 528, 529, 530, 531,
- 532, 533, 534, 535, 536, 537, 538, 544, 548, 559,
- 563, 570, 577, 584, 586, 593, 598, 603, 612, 617,
- 622, 631, 638, 642, 654, 661, 668, 677, 686, 687,
- 690, 692, 699, 708, 724, 725, 728
+ 0, 179, 179, 180, 183, 184, 187, 194, 195, 198,
+ 199, 202, 203, 206, 211, 219, 220, 245, 250, 258,
+ 260, 267, 268, 269, 272, 278, 286, 288, 293, 300,
+ 305, 310, 317, 321, 327, 338, 344, 348, 354, 360,
+ 369, 373, 379, 383, 391, 392, 399, 400, 407, 409,
+ 416, 418, 425, 426, 433, 435, 442, 443, 452, 453,
+ 454, 455, 456, 457, 458, 464, 472, 476, 483, 487,
+ 495, 503, 509, 514, 521, 522, 523, 524, 525, 526,
+ 527, 528, 529, 530, 531, 532, 533, 539, 543, 554,
+ 558, 565, 572, 579, 581, 588, 593, 598, 607, 612,
+ 617, 626, 633, 637, 649, 656, 663, 672, 681, 682,
+ 685, 687, 694, 703, 719, 720, 723
};
#endif
switch (yyn)
{
case 4:
-#line 188 "/home/wk/s/libksba/src/asn1-parse.y" /* yacc.c:1652 */
+#line 183 "/home/wk/s/libksba/src/asn1-parse.y" /* yacc.c:1652 */
{ strcpy((yyval.str),(yyvsp[0].str)); }
-#line 1486 "asn1-parse.c" /* yacc.c:1652 */
+#line 1483 "asn1-parse.c" /* yacc.c:1652 */
break;
case 5:
-#line 189 "/home/wk/s/libksba/src/asn1-parse.y" /* yacc.c:1652 */
+#line 184 "/home/wk/s/libksba/src/asn1-parse.y" /* yacc.c:1652 */
{ strcpy((yyval.str),(yyvsp[0].str)); }
-#line 1492 "asn1-parse.c" /* yacc.c:1652 */
+#line 1489 "asn1-parse.c" /* yacc.c:1652 */
break;
case 6:
-#line 193 "/home/wk/s/libksba/src/asn1-parse.y" /* yacc.c:1652 */
+#line 188 "/home/wk/s/libksba/src/asn1-parse.y" /* yacc.c:1652 */
{
strcpy((yyval.str),"-");
strcat((yyval.str),(yyvsp[0].str));
}
-#line 1501 "asn1-parse.c" /* yacc.c:1652 */
+#line 1498 "asn1-parse.c" /* yacc.c:1652 */
break;
case 7:
-#line 199 "/home/wk/s/libksba/src/asn1-parse.y" /* yacc.c:1652 */
+#line 194 "/home/wk/s/libksba/src/asn1-parse.y" /* yacc.c:1652 */
{ strcpy((yyval.str),(yyvsp[0].str)); }
-#line 1507 "asn1-parse.c" /* yacc.c:1652 */
+#line 1504 "asn1-parse.c" /* yacc.c:1652 */
break;
case 8:
-#line 200 "/home/wk/s/libksba/src/asn1-parse.y" /* yacc.c:1652 */
+#line 195 "/home/wk/s/libksba/src/asn1-parse.y" /* yacc.c:1652 */
{ strcpy((yyval.str),(yyvsp[0].str)); }
-#line 1513 "asn1-parse.c" /* yacc.c:1652 */
+#line 1510 "asn1-parse.c" /* yacc.c:1652 */
break;
case 9:
-#line 203 "/home/wk/s/libksba/src/asn1-parse.y" /* yacc.c:1652 */
+#line 198 "/home/wk/s/libksba/src/asn1-parse.y" /* yacc.c:1652 */
{strcpy((yyval.str),(yyvsp[0].str));}
-#line 1519 "asn1-parse.c" /* yacc.c:1652 */
+#line 1516 "asn1-parse.c" /* yacc.c:1652 */
break;
case 10:
-#line 204 "/home/wk/s/libksba/src/asn1-parse.y" /* yacc.c:1652 */
+#line 199 "/home/wk/s/libksba/src/asn1-parse.y" /* yacc.c:1652 */
{strcpy((yyval.str),(yyvsp[0].str));}
-#line 1525 "asn1-parse.c" /* yacc.c:1652 */
+#line 1522 "asn1-parse.c" /* yacc.c:1652 */
break;
case 11:
-#line 207 "/home/wk/s/libksba/src/asn1-parse.y" /* yacc.c:1652 */
+#line 202 "/home/wk/s/libksba/src/asn1-parse.y" /* yacc.c:1652 */
{strcpy((yyval.str),(yyvsp[0].str));}
-#line 1531 "asn1-parse.c" /* yacc.c:1652 */
+#line 1528 "asn1-parse.c" /* yacc.c:1652 */
break;
case 12:
-#line 208 "/home/wk/s/libksba/src/asn1-parse.y" /* yacc.c:1652 */
+#line 203 "/home/wk/s/libksba/src/asn1-parse.y" /* yacc.c:1652 */
{strcpy((yyval.str),(yyvsp[0].str));}
-#line 1537 "asn1-parse.c" /* yacc.c:1652 */
+#line 1534 "asn1-parse.c" /* yacc.c:1652 */
break;
case 13:
-#line 212 "/home/wk/s/libksba/src/asn1-parse.y" /* yacc.c:1652 */
+#line 207 "/home/wk/s/libksba/src/asn1-parse.y" /* yacc.c:1652 */
{
(yyval.node) = NEW_NODE (TYPE_CONSTANT);
set_str_value ((yyval.node), (yyvsp[-1].str));
}
-#line 1546 "asn1-parse.c" /* yacc.c:1652 */
+#line 1543 "asn1-parse.c" /* yacc.c:1652 */
break;
case 14:
-#line 217 "/home/wk/s/libksba/src/asn1-parse.y" /* yacc.c:1652 */
+#line 212 "/home/wk/s/libksba/src/asn1-parse.y" /* yacc.c:1652 */
{
(yyval.node) = NEW_NODE (TYPE_CONSTANT);
set_name ((yyval.node), (yyvsp[-3].str));
set_str_value ((yyval.node), (yyvsp[-1].str));
}
-#line 1556 "asn1-parse.c" /* yacc.c:1652 */
+#line 1553 "asn1-parse.c" /* yacc.c:1652 */
break;
case 15:
-#line 224 "/home/wk/s/libksba/src/asn1-parse.y" /* yacc.c:1652 */
+#line 219 "/home/wk/s/libksba/src/asn1-parse.y" /* yacc.c:1652 */
{ (yyval.node)=(yyvsp[0].node); }
-#line 1562 "asn1-parse.c" /* yacc.c:1652 */
+#line 1559 "asn1-parse.c" /* yacc.c:1652 */
break;
case 16:
-#line 226 "/home/wk/s/libksba/src/asn1-parse.y" /* yacc.c:1652 */
+#line 221 "/home/wk/s/libksba/src/asn1-parse.y" /* yacc.c:1652 */
{
(yyval.node) = (yyvsp[-2].node);
append_right ((yyvsp[-2].node), (yyvsp[0].node));
}
-#line 1571 "asn1-parse.c" /* yacc.c:1652 */
+#line 1568 "asn1-parse.c" /* yacc.c:1652 */
break;
case 17:
-#line 251 "/home/wk/s/libksba/src/asn1-parse.y" /* yacc.c:1652 */
+#line 246 "/home/wk/s/libksba/src/asn1-parse.y" /* yacc.c:1652 */
{
(yyval.node) = NEW_NODE (TYPE_CONSTANT);
set_str_value ((yyval.node), (yyvsp[0].str));
}
-#line 1580 "asn1-parse.c" /* yacc.c:1652 */
+#line 1577 "asn1-parse.c" /* yacc.c:1652 */
break;
case 18:
-#line 256 "/home/wk/s/libksba/src/asn1-parse.y" /* yacc.c:1652 */
+#line 251 "/home/wk/s/libksba/src/asn1-parse.y" /* yacc.c:1652 */
{
(yyval.node) = NEW_NODE (TYPE_CONSTANT);
set_name ((yyval.node), (yyvsp[-3].str));
set_str_value ((yyval.node), (yyvsp[-1].str));
}
-#line 1590 "asn1-parse.c" /* yacc.c:1652 */
+#line 1587 "asn1-parse.c" /* yacc.c:1652 */
break;
case 19:
-#line 264 "/home/wk/s/libksba/src/asn1-parse.y" /* yacc.c:1652 */
+#line 259 "/home/wk/s/libksba/src/asn1-parse.y" /* yacc.c:1652 */
{ (yyval.node)=(yyvsp[0].node);}
-#line 1596 "asn1-parse.c" /* yacc.c:1652 */
+#line 1593 "asn1-parse.c" /* yacc.c:1652 */
break;
case 20:
-#line 266 "/home/wk/s/libksba/src/asn1-parse.y" /* yacc.c:1652 */
+#line 261 "/home/wk/s/libksba/src/asn1-parse.y" /* yacc.c:1652 */
{
(yyval.node)=(yyvsp[-1].node);
append_right ((yyval.node), (yyvsp[0].node));
}
-#line 1605 "asn1-parse.c" /* yacc.c:1652 */
+#line 1602 "asn1-parse.c" /* yacc.c:1652 */
break;
case 21:
-#line 272 "/home/wk/s/libksba/src/asn1-parse.y" /* yacc.c:1652 */
+#line 267 "/home/wk/s/libksba/src/asn1-parse.y" /* yacc.c:1652 */
{ (yyval.constant) = CLASS_UNIVERSAL; }
-#line 1611 "asn1-parse.c" /* yacc.c:1652 */
+#line 1608 "asn1-parse.c" /* yacc.c:1652 */
break;
case 22:
-#line 273 "/home/wk/s/libksba/src/asn1-parse.y" /* yacc.c:1652 */
+#line 268 "/home/wk/s/libksba/src/asn1-parse.y" /* yacc.c:1652 */
{ (yyval.constant) = CLASS_PRIVATE; }
-#line 1617 "asn1-parse.c" /* yacc.c:1652 */
+#line 1614 "asn1-parse.c" /* yacc.c:1652 */
break;
case 23:
-#line 274 "/home/wk/s/libksba/src/asn1-parse.y" /* yacc.c:1652 */
+#line 269 "/home/wk/s/libksba/src/asn1-parse.y" /* yacc.c:1652 */
{ (yyval.constant) = CLASS_APPLICATION; }
-#line 1623 "asn1-parse.c" /* yacc.c:1652 */
+#line 1620 "asn1-parse.c" /* yacc.c:1652 */
break;
case 24:
-#line 278 "/home/wk/s/libksba/src/asn1-parse.y" /* yacc.c:1652 */
+#line 273 "/home/wk/s/libksba/src/asn1-parse.y" /* yacc.c:1652 */
{
(yyval.node) = NEW_NODE (TYPE_TAG);
(yyval.node)->flags.class = CLASS_CONTEXT;
set_ulong_value ((yyval.node), (yyvsp[-1].str));
}
-#line 1633 "asn1-parse.c" /* yacc.c:1652 */
+#line 1630 "asn1-parse.c" /* yacc.c:1652 */
break;
case 25:
-#line 284 "/home/wk/s/libksba/src/asn1-parse.y" /* yacc.c:1652 */
+#line 279 "/home/wk/s/libksba/src/asn1-parse.y" /* yacc.c:1652 */
{
(yyval.node) = NEW_NODE (TYPE_TAG);
(yyval.node)->flags.class = (yyvsp[-2].constant);
set_ulong_value ((yyval.node), (yyvsp[-1].str));
}
-#line 1643 "asn1-parse.c" /* yacc.c:1652 */
+#line 1640 "asn1-parse.c" /* yacc.c:1652 */
break;
case 26:
-#line 292 "/home/wk/s/libksba/src/asn1-parse.y" /* yacc.c:1652 */
+#line 287 "/home/wk/s/libksba/src/asn1-parse.y" /* yacc.c:1652 */
{ (yyval.node) = (yyvsp[0].node); }
-#line 1649 "asn1-parse.c" /* yacc.c:1652 */
+#line 1646 "asn1-parse.c" /* yacc.c:1652 */
break;
case 27:
-#line 294 "/home/wk/s/libksba/src/asn1-parse.y" /* yacc.c:1652 */
+#line 289 "/home/wk/s/libksba/src/asn1-parse.y" /* yacc.c:1652 */
{
(yyval.node) = (yyvsp[-1].node);
(yyval.node)->flags.explicit = 1;
}
-#line 1658 "asn1-parse.c" /* yacc.c:1652 */
+#line 1655 "asn1-parse.c" /* yacc.c:1652 */
break;
case 28:
-#line 299 "/home/wk/s/libksba/src/asn1-parse.y" /* yacc.c:1652 */
+#line 294 "/home/wk/s/libksba/src/asn1-parse.y" /* yacc.c:1652 */
{
(yyval.node) = (yyvsp[-1].node);
(yyval.node)->flags.implicit = 1;
}
-#line 1667 "asn1-parse.c" /* yacc.c:1652 */
+#line 1664 "asn1-parse.c" /* yacc.c:1652 */
break;
case 29:
-#line 306 "/home/wk/s/libksba/src/asn1-parse.y" /* yacc.c:1652 */
+#line 301 "/home/wk/s/libksba/src/asn1-parse.y" /* yacc.c:1652 */
{
(yyval.node) = NEW_NODE (TYPE_DEFAULT);
set_str_value ((yyval.node), (yyvsp[0].str));
}
-#line 1676 "asn1-parse.c" /* yacc.c:1652 */
+#line 1673 "asn1-parse.c" /* yacc.c:1652 */
break;
case 30:
-#line 311 "/home/wk/s/libksba/src/asn1-parse.y" /* yacc.c:1652 */
+#line 306 "/home/wk/s/libksba/src/asn1-parse.y" /* yacc.c:1652 */
{
(yyval.node) = NEW_NODE (TYPE_DEFAULT);
(yyval.node)->flags.is_true = 1;
}
-#line 1685 "asn1-parse.c" /* yacc.c:1652 */
+#line 1682 "asn1-parse.c" /* yacc.c:1652 */
break;
case 31:
-#line 316 "/home/wk/s/libksba/src/asn1-parse.y" /* yacc.c:1652 */
+#line 311 "/home/wk/s/libksba/src/asn1-parse.y" /* yacc.c:1652 */
{
(yyval.node) = NEW_NODE (TYPE_DEFAULT);
(yyval.node)->flags.is_false = 1;
}
-#line 1694 "asn1-parse.c" /* yacc.c:1652 */
+#line 1691 "asn1-parse.c" /* yacc.c:1652 */
break;
case 32:
-#line 323 "/home/wk/s/libksba/src/asn1-parse.y" /* yacc.c:1652 */
+#line 318 "/home/wk/s/libksba/src/asn1-parse.y" /* yacc.c:1652 */
{
(yyval.node) = NEW_NODE (TYPE_INTEGER);
}
-#line 1702 "asn1-parse.c" /* yacc.c:1652 */
+#line 1699 "asn1-parse.c" /* yacc.c:1652 */
break;
case 33:
-#line 327 "/home/wk/s/libksba/src/asn1-parse.y" /* yacc.c:1652 */
+#line 322 "/home/wk/s/libksba/src/asn1-parse.y" /* yacc.c:1652 */
{
(yyval.node) = NEW_NODE (TYPE_INTEGER);
(yyval.node)->flags.has_list = 1;
set_down ((yyval.node), (yyvsp[-1].node));
}
-#line 1712 "asn1-parse.c" /* yacc.c:1652 */
+#line 1709 "asn1-parse.c" /* yacc.c:1652 */
break;
case 34:
-#line 333 "/home/wk/s/libksba/src/asn1-parse.y" /* yacc.c:1652 */
+#line 328 "/home/wk/s/libksba/src/asn1-parse.y" /* yacc.c:1652 */
{
(yyval.node) = NEW_NODE (TYPE_INTEGER);
(yyval.node)->flags.has_min_max = 1;
set_str_value ((yyval.node)->down, (yyvsp[-1].str));
set_name ((yyval.node)->down, (yyvsp[-4].str));
}
-#line 1725 "asn1-parse.c" /* yacc.c:1652 */
+#line 1722 "asn1-parse.c" /* yacc.c:1652 */
break;
case 35:
-#line 344 "/home/wk/s/libksba/src/asn1-parse.y" /* yacc.c:1652 */
+#line 339 "/home/wk/s/libksba/src/asn1-parse.y" /* yacc.c:1652 */
{
(yyval.node) = NEW_NODE (TYPE_BOOLEAN);
}
-#line 1733 "asn1-parse.c" /* yacc.c:1652 */
+#line 1730 "asn1-parse.c" /* yacc.c:1652 */
break;
case 36:
-#line 350 "/home/wk/s/libksba/src/asn1-parse.y" /* yacc.c:1652 */
+#line 345 "/home/wk/s/libksba/src/asn1-parse.y" /* yacc.c:1652 */
{
(yyval.node) = NEW_NODE (TYPE_UTC_TIME);
}
-#line 1741 "asn1-parse.c" /* yacc.c:1652 */
+#line 1738 "asn1-parse.c" /* yacc.c:1652 */
break;
case 37:
-#line 354 "/home/wk/s/libksba/src/asn1-parse.y" /* yacc.c:1652 */
+#line 349 "/home/wk/s/libksba/src/asn1-parse.y" /* yacc.c:1652 */
{
(yyval.node) = NEW_NODE (TYPE_GENERALIZED_TIME);
}
-#line 1749 "asn1-parse.c" /* yacc.c:1652 */
+#line 1746 "asn1-parse.c" /* yacc.c:1652 */
break;
case 38:
-#line 360 "/home/wk/s/libksba/src/asn1-parse.y" /* yacc.c:1652 */
+#line 355 "/home/wk/s/libksba/src/asn1-parse.y" /* yacc.c:1652 */
{
(yyval.node) = NEW_NODE (TYPE_SIZE);
(yyval.node)->flags.one_param = 1;
set_str_value ((yyval.node), (yyvsp[-1].str));
}
-#line 1759 "asn1-parse.c" /* yacc.c:1652 */
+#line 1756 "asn1-parse.c" /* yacc.c:1652 */
break;
case 39:
-#line 366 "/home/wk/s/libksba/src/asn1-parse.y" /* yacc.c:1652 */
+#line 361 "/home/wk/s/libksba/src/asn1-parse.y" /* yacc.c:1652 */
{
(yyval.node) = NEW_NODE (TYPE_SIZE);
(yyval.node)->flags.has_min_max = 1;
set_str_value ((yyval.node), (yyvsp[-4].str));
set_name ((yyval.node), (yyvsp[-1].str));
}
-#line 1770 "asn1-parse.c" /* yacc.c:1652 */
+#line 1767 "asn1-parse.c" /* yacc.c:1652 */
break;
case 40:
-#line 375 "/home/wk/s/libksba/src/asn1-parse.y" /* yacc.c:1652 */
+#line 370 "/home/wk/s/libksba/src/asn1-parse.y" /* yacc.c:1652 */
{
(yyval.node)=(yyvsp[0].node);
}
-#line 1778 "asn1-parse.c" /* yacc.c:1652 */
+#line 1775 "asn1-parse.c" /* yacc.c:1652 */
break;
case 41:
-#line 379 "/home/wk/s/libksba/src/asn1-parse.y" /* yacc.c:1652 */
+#line 374 "/home/wk/s/libksba/src/asn1-parse.y" /* yacc.c:1652 */
{
(yyval.node)=(yyvsp[-1].node);
}
-#line 1786 "asn1-parse.c" /* yacc.c:1652 */
+#line 1783 "asn1-parse.c" /* yacc.c:1652 */
break;
case 42:
-#line 385 "/home/wk/s/libksba/src/asn1-parse.y" /* yacc.c:1652 */
+#line 380 "/home/wk/s/libksba/src/asn1-parse.y" /* yacc.c:1652 */
{
(yyval.node) = NEW_NODE (TYPE_OCTET_STRING);
}
-#line 1794 "asn1-parse.c" /* yacc.c:1652 */
+#line 1791 "asn1-parse.c" /* yacc.c:1652 */
break;
case 43:
-#line 389 "/home/wk/s/libksba/src/asn1-parse.y" /* yacc.c:1652 */
+#line 384 "/home/wk/s/libksba/src/asn1-parse.y" /* yacc.c:1652 */
{
(yyval.node) = NEW_NODE (TYPE_OCTET_STRING);
(yyval.node)->flags.has_size = 1;
set_down ((yyval.node),(yyvsp[0].node));
}
-#line 1804 "asn1-parse.c" /* yacc.c:1652 */
+#line 1801 "asn1-parse.c" /* yacc.c:1652 */
break;
case 44:
-#line 396 "/home/wk/s/libksba/src/asn1-parse.y" /* yacc.c:1652 */
+#line 391 "/home/wk/s/libksba/src/asn1-parse.y" /* yacc.c:1652 */
{ (yyval.node) = NEW_NODE (TYPE_UTF8_STRING); }
-#line 1810 "asn1-parse.c" /* yacc.c:1652 */
+#line 1807 "asn1-parse.c" /* yacc.c:1652 */
break;
case 45:
-#line 398 "/home/wk/s/libksba/src/asn1-parse.y" /* yacc.c:1652 */
+#line 393 "/home/wk/s/libksba/src/asn1-parse.y" /* yacc.c:1652 */
{
(yyval.node) = NEW_NODE (TYPE_UTF8_STRING);
(yyval.node)->flags.has_size = 1;
set_down ((yyval.node),(yyvsp[0].node));
}
-#line 1820 "asn1-parse.c" /* yacc.c:1652 */
+#line 1817 "asn1-parse.c" /* yacc.c:1652 */
break;
case 46:
-#line 404 "/home/wk/s/libksba/src/asn1-parse.y" /* yacc.c:1652 */
+#line 399 "/home/wk/s/libksba/src/asn1-parse.y" /* yacc.c:1652 */
{ (yyval.node) = NEW_NODE (TYPE_NUMERIC_STRING); }
-#line 1826 "asn1-parse.c" /* yacc.c:1652 */
+#line 1823 "asn1-parse.c" /* yacc.c:1652 */
break;
case 47:
-#line 406 "/home/wk/s/libksba/src/asn1-parse.y" /* yacc.c:1652 */
+#line 401 "/home/wk/s/libksba/src/asn1-parse.y" /* yacc.c:1652 */
{
(yyval.node) = NEW_NODE (TYPE_NUMERIC_STRING);
(yyval.node)->flags.has_size = 1;
set_down ((yyval.node),(yyvsp[0].node));
}
-#line 1836 "asn1-parse.c" /* yacc.c:1652 */
+#line 1833 "asn1-parse.c" /* yacc.c:1652 */
break;
case 48:
-#line 413 "/home/wk/s/libksba/src/asn1-parse.y" /* yacc.c:1652 */
+#line 408 "/home/wk/s/libksba/src/asn1-parse.y" /* yacc.c:1652 */
{ (yyval.node) = NEW_NODE (TYPE_PRINTABLE_STRING); }
-#line 1842 "asn1-parse.c" /* yacc.c:1652 */
+#line 1839 "asn1-parse.c" /* yacc.c:1652 */
break;
case 49:
-#line 415 "/home/wk/s/libksba/src/asn1-parse.y" /* yacc.c:1652 */
+#line 410 "/home/wk/s/libksba/src/asn1-parse.y" /* yacc.c:1652 */
{
(yyval.node) = NEW_NODE (TYPE_PRINTABLE_STRING);
(yyval.node)->flags.has_size = 1;
set_down ((yyval.node),(yyvsp[0].node));
}
-#line 1852 "asn1-parse.c" /* yacc.c:1652 */
+#line 1849 "asn1-parse.c" /* yacc.c:1652 */
break;
case 50:
-#line 422 "/home/wk/s/libksba/src/asn1-parse.y" /* yacc.c:1652 */
+#line 417 "/home/wk/s/libksba/src/asn1-parse.y" /* yacc.c:1652 */
{ (yyval.node) = NEW_NODE (TYPE_TELETEX_STRING); }
-#line 1858 "asn1-parse.c" /* yacc.c:1652 */
+#line 1855 "asn1-parse.c" /* yacc.c:1652 */
break;
case 51:
-#line 424 "/home/wk/s/libksba/src/asn1-parse.y" /* yacc.c:1652 */
+#line 419 "/home/wk/s/libksba/src/asn1-parse.y" /* yacc.c:1652 */
{
(yyval.node) = NEW_NODE (TYPE_TELETEX_STRING);
(yyval.node)->flags.has_size = 1;
set_down ((yyval.node),(yyvsp[0].node));
}
-#line 1868 "asn1-parse.c" /* yacc.c:1652 */
+#line 1865 "asn1-parse.c" /* yacc.c:1652 */
break;
case 52:
-#line 430 "/home/wk/s/libksba/src/asn1-parse.y" /* yacc.c:1652 */
+#line 425 "/home/wk/s/libksba/src/asn1-parse.y" /* yacc.c:1652 */
{ (yyval.node) = NEW_NODE (TYPE_IA5_STRING); }
-#line 1874 "asn1-parse.c" /* yacc.c:1652 */
+#line 1871 "asn1-parse.c" /* yacc.c:1652 */
break;
case 53:
-#line 432 "/home/wk/s/libksba/src/asn1-parse.y" /* yacc.c:1652 */
+#line 427 "/home/wk/s/libksba/src/asn1-parse.y" /* yacc.c:1652 */
{
(yyval.node) = NEW_NODE (TYPE_IA5_STRING);
(yyval.node)->flags.has_size = 1;
set_down ((yyval.node),(yyvsp[0].node));
}
-#line 1884 "asn1-parse.c" /* yacc.c:1652 */
+#line 1881 "asn1-parse.c" /* yacc.c:1652 */
break;
case 54:
-#line 439 "/home/wk/s/libksba/src/asn1-parse.y" /* yacc.c:1652 */
+#line 434 "/home/wk/s/libksba/src/asn1-parse.y" /* yacc.c:1652 */
{ (yyval.node) = NEW_NODE (TYPE_UNIVERSAL_STRING); }
-#line 1890 "asn1-parse.c" /* yacc.c:1652 */
+#line 1887 "asn1-parse.c" /* yacc.c:1652 */
break;
case 55:
-#line 441 "/home/wk/s/libksba/src/asn1-parse.y" /* yacc.c:1652 */
+#line 436 "/home/wk/s/libksba/src/asn1-parse.y" /* yacc.c:1652 */
{
(yyval.node) = NEW_NODE (TYPE_UNIVERSAL_STRING);
(yyval.node)->flags.has_size = 1;
set_down ((yyval.node),(yyvsp[0].node));
}
-#line 1900 "asn1-parse.c" /* yacc.c:1652 */
+#line 1897 "asn1-parse.c" /* yacc.c:1652 */
break;
case 56:
-#line 447 "/home/wk/s/libksba/src/asn1-parse.y" /* yacc.c:1652 */
+#line 442 "/home/wk/s/libksba/src/asn1-parse.y" /* yacc.c:1652 */
{ (yyval.node) = NEW_NODE (TYPE_BMP_STRING); }
-#line 1906 "asn1-parse.c" /* yacc.c:1652 */
+#line 1903 "asn1-parse.c" /* yacc.c:1652 */
break;
case 57:
-#line 449 "/home/wk/s/libksba/src/asn1-parse.y" /* yacc.c:1652 */
+#line 444 "/home/wk/s/libksba/src/asn1-parse.y" /* yacc.c:1652 */
{
(yyval.node) = NEW_NODE (TYPE_BMP_STRING);
(yyval.node)->flags.has_size = 1;
set_down ((yyval.node),(yyvsp[0].node));
}
-#line 1916 "asn1-parse.c" /* yacc.c:1652 */
+#line 1913 "asn1-parse.c" /* yacc.c:1652 */
break;
case 65:
-#line 470 "/home/wk/s/libksba/src/asn1-parse.y" /* yacc.c:1652 */
+#line 465 "/home/wk/s/libksba/src/asn1-parse.y" /* yacc.c:1652 */
{
(yyval.node) = NEW_NODE (TYPE_CONSTANT);
set_name ((yyval.node), (yyvsp[-3].str));
set_str_value ((yyval.node), (yyvsp[-1].str));
}
-#line 1926 "asn1-parse.c" /* yacc.c:1652 */
+#line 1923 "asn1-parse.c" /* yacc.c:1652 */
break;
case 66:
-#line 478 "/home/wk/s/libksba/src/asn1-parse.y" /* yacc.c:1652 */
+#line 473 "/home/wk/s/libksba/src/asn1-parse.y" /* yacc.c:1652 */
{
(yyval.node)=(yyvsp[0].node);
}
-#line 1934 "asn1-parse.c" /* yacc.c:1652 */
+#line 1931 "asn1-parse.c" /* yacc.c:1652 */
break;
case 67:
-#line 482 "/home/wk/s/libksba/src/asn1-parse.y" /* yacc.c:1652 */
+#line 477 "/home/wk/s/libksba/src/asn1-parse.y" /* yacc.c:1652 */
{
(yyval.node)=(yyvsp[-2].node);
append_right ((yyval.node), (yyvsp[0].node));
}
-#line 1943 "asn1-parse.c" /* yacc.c:1652 */
+#line 1940 "asn1-parse.c" /* yacc.c:1652 */
break;
case 68:
-#line 489 "/home/wk/s/libksba/src/asn1-parse.y" /* yacc.c:1652 */
+#line 484 "/home/wk/s/libksba/src/asn1-parse.y" /* yacc.c:1652 */
{
(yyval.node) = NEW_NODE (TYPE_BIT_STRING);
}
-#line 1951 "asn1-parse.c" /* yacc.c:1652 */
+#line 1948 "asn1-parse.c" /* yacc.c:1652 */
break;
case 69:
-#line 493 "/home/wk/s/libksba/src/asn1-parse.y" /* yacc.c:1652 */
+#line 488 "/home/wk/s/libksba/src/asn1-parse.y" /* yacc.c:1652 */
{
(yyval.node) = NEW_NODE (TYPE_BIT_STRING);
(yyval.node)->flags.has_list = 1;
set_down ((yyval.node), (yyvsp[-1].node));
}
-#line 1961 "asn1-parse.c" /* yacc.c:1652 */
+#line 1958 "asn1-parse.c" /* yacc.c:1652 */
break;
case 70:
-#line 501 "/home/wk/s/libksba/src/asn1-parse.y" /* yacc.c:1652 */
+#line 496 "/home/wk/s/libksba/src/asn1-parse.y" /* yacc.c:1652 */
{
(yyval.node) = NEW_NODE (TYPE_ENUMERATED);
(yyval.node)->flags.has_list = 1;
set_down ((yyval.node), (yyvsp[-1].node));
}
-#line 1971 "asn1-parse.c" /* yacc.c:1652 */
+#line 1968 "asn1-parse.c" /* yacc.c:1652 */
break;
case 71:
-#line 509 "/home/wk/s/libksba/src/asn1-parse.y" /* yacc.c:1652 */
+#line 504 "/home/wk/s/libksba/src/asn1-parse.y" /* yacc.c:1652 */
{
(yyval.node) = NEW_NODE (TYPE_OBJECT_ID);
}
-#line 1979 "asn1-parse.c" /* yacc.c:1652 */
+#line 1976 "asn1-parse.c" /* yacc.c:1652 */
break;
case 72:
-#line 515 "/home/wk/s/libksba/src/asn1-parse.y" /* yacc.c:1652 */
+#line 510 "/home/wk/s/libksba/src/asn1-parse.y" /* yacc.c:1652 */
{
(yyval.node) = NEW_NODE (TYPE_IDENTIFIER);
set_str_value ((yyval.node), (yyvsp[0].str));
}
-#line 1988 "asn1-parse.c" /* yacc.c:1652 */
+#line 1985 "asn1-parse.c" /* yacc.c:1652 */
break;
case 73:
-#line 520 "/home/wk/s/libksba/src/asn1-parse.y" /* yacc.c:1652 */
+#line 515 "/home/wk/s/libksba/src/asn1-parse.y" /* yacc.c:1652 */
{
(yyval.node) = NEW_NODE (TYPE_IDENTIFIER);
(yyval.node)->flags.has_size = 1;
set_str_value ((yyval.node), (yyvsp[-1].str));
set_down ((yyval.node), (yyvsp[0].node));
}
-#line 1999 "asn1-parse.c" /* yacc.c:1652 */
+#line 1996 "asn1-parse.c" /* yacc.c:1652 */
break;
case 74:
-#line 526 "/home/wk/s/libksba/src/asn1-parse.y" /* yacc.c:1652 */
+#line 521 "/home/wk/s/libksba/src/asn1-parse.y" /* yacc.c:1652 */
{(yyval.node)=(yyvsp[0].node);}
-#line 2005 "asn1-parse.c" /* yacc.c:1652 */
+#line 2002 "asn1-parse.c" /* yacc.c:1652 */
break;
case 75:
-#line 527 "/home/wk/s/libksba/src/asn1-parse.y" /* yacc.c:1652 */
+#line 522 "/home/wk/s/libksba/src/asn1-parse.y" /* yacc.c:1652 */
{(yyval.node)=(yyvsp[0].node);}
-#line 2011 "asn1-parse.c" /* yacc.c:1652 */
+#line 2008 "asn1-parse.c" /* yacc.c:1652 */
break;
case 76:
-#line 528 "/home/wk/s/libksba/src/asn1-parse.y" /* yacc.c:1652 */
+#line 523 "/home/wk/s/libksba/src/asn1-parse.y" /* yacc.c:1652 */
{(yyval.node)=(yyvsp[0].node);}
-#line 2017 "asn1-parse.c" /* yacc.c:1652 */
+#line 2014 "asn1-parse.c" /* yacc.c:1652 */
break;
case 77:
-#line 529 "/home/wk/s/libksba/src/asn1-parse.y" /* yacc.c:1652 */
+#line 524 "/home/wk/s/libksba/src/asn1-parse.y" /* yacc.c:1652 */
{(yyval.node)=(yyvsp[0].node);}
-#line 2023 "asn1-parse.c" /* yacc.c:1652 */
+#line 2020 "asn1-parse.c" /* yacc.c:1652 */
break;
case 79:
-#line 531 "/home/wk/s/libksba/src/asn1-parse.y" /* yacc.c:1652 */
+#line 526 "/home/wk/s/libksba/src/asn1-parse.y" /* yacc.c:1652 */
{(yyval.node)=(yyvsp[0].node);}
-#line 2029 "asn1-parse.c" /* yacc.c:1652 */
+#line 2026 "asn1-parse.c" /* yacc.c:1652 */
break;
case 80:
-#line 532 "/home/wk/s/libksba/src/asn1-parse.y" /* yacc.c:1652 */
+#line 527 "/home/wk/s/libksba/src/asn1-parse.y" /* yacc.c:1652 */
{(yyval.node)=(yyvsp[0].node);}
-#line 2035 "asn1-parse.c" /* yacc.c:1652 */
+#line 2032 "asn1-parse.c" /* yacc.c:1652 */
break;
case 81:
-#line 533 "/home/wk/s/libksba/src/asn1-parse.y" /* yacc.c:1652 */
+#line 528 "/home/wk/s/libksba/src/asn1-parse.y" /* yacc.c:1652 */
{(yyval.node)=(yyvsp[0].node);}
-#line 2041 "asn1-parse.c" /* yacc.c:1652 */
+#line 2038 "asn1-parse.c" /* yacc.c:1652 */
break;
case 82:
-#line 534 "/home/wk/s/libksba/src/asn1-parse.y" /* yacc.c:1652 */
+#line 529 "/home/wk/s/libksba/src/asn1-parse.y" /* yacc.c:1652 */
{(yyval.node)=(yyvsp[0].node);}
-#line 2047 "asn1-parse.c" /* yacc.c:1652 */
+#line 2044 "asn1-parse.c" /* yacc.c:1652 */
break;
case 83:
-#line 535 "/home/wk/s/libksba/src/asn1-parse.y" /* yacc.c:1652 */
+#line 530 "/home/wk/s/libksba/src/asn1-parse.y" /* yacc.c:1652 */
{(yyval.node)=(yyvsp[0].node);}
-#line 2053 "asn1-parse.c" /* yacc.c:1652 */
+#line 2050 "asn1-parse.c" /* yacc.c:1652 */
break;
case 84:
-#line 536 "/home/wk/s/libksba/src/asn1-parse.y" /* yacc.c:1652 */
+#line 531 "/home/wk/s/libksba/src/asn1-parse.y" /* yacc.c:1652 */
{(yyval.node)=(yyvsp[0].node);}
-#line 2059 "asn1-parse.c" /* yacc.c:1652 */
+#line 2056 "asn1-parse.c" /* yacc.c:1652 */
break;
case 85:
-#line 537 "/home/wk/s/libksba/src/asn1-parse.y" /* yacc.c:1652 */
+#line 532 "/home/wk/s/libksba/src/asn1-parse.y" /* yacc.c:1652 */
{(yyval.node)=(yyvsp[0].node);}
-#line 2065 "asn1-parse.c" /* yacc.c:1652 */
+#line 2062 "asn1-parse.c" /* yacc.c:1652 */
break;
case 86:
-#line 539 "/home/wk/s/libksba/src/asn1-parse.y" /* yacc.c:1652 */
+#line 534 "/home/wk/s/libksba/src/asn1-parse.y" /* yacc.c:1652 */
{
(yyval.node) = NEW_NODE(TYPE_NULL);
}
-#line 2073 "asn1-parse.c" /* yacc.c:1652 */
+#line 2070 "asn1-parse.c" /* yacc.c:1652 */
break;
case 87:
-#line 545 "/home/wk/s/libksba/src/asn1-parse.y" /* yacc.c:1652 */
+#line 540 "/home/wk/s/libksba/src/asn1-parse.y" /* yacc.c:1652 */
{
(yyval.node) = (yyvsp[0].node);
}
-#line 2081 "asn1-parse.c" /* yacc.c:1652 */
+#line 2078 "asn1-parse.c" /* yacc.c:1652 */
break;
case 88:
-#line 549 "/home/wk/s/libksba/src/asn1-parse.y" /* yacc.c:1652 */
+#line 544 "/home/wk/s/libksba/src/asn1-parse.y" /* yacc.c:1652 */
{
/* $2->flags.has_tag = 1; */
/* $$ = $2; */
(yyval.node) = (yyvsp[-1].node);
set_down ((yyval.node), (yyvsp[0].node));
}
-#line 2094 "asn1-parse.c" /* yacc.c:1652 */
+#line 2091 "asn1-parse.c" /* yacc.c:1652 */
break;
case 89:
-#line 560 "/home/wk/s/libksba/src/asn1-parse.y" /* yacc.c:1652 */
+#line 555 "/home/wk/s/libksba/src/asn1-parse.y" /* yacc.c:1652 */
{
(yyval.node) = (yyvsp[0].node);
}
-#line 2102 "asn1-parse.c" /* yacc.c:1652 */
+#line 2099 "asn1-parse.c" /* yacc.c:1652 */
break;
case 90:
-#line 564 "/home/wk/s/libksba/src/asn1-parse.y" /* yacc.c:1652 */
+#line 559 "/home/wk/s/libksba/src/asn1-parse.y" /* yacc.c:1652 */
{
(yyvsp[-1].node)->flags.has_default = 1;
(yyval.node) = (yyvsp[-1].node);
set_right ((yyvsp[0].node), (yyval.node)->down);
set_down ((yyval.node), (yyvsp[0].node));
}
-#line 2113 "asn1-parse.c" /* yacc.c:1652 */
+#line 2110 "asn1-parse.c" /* yacc.c:1652 */
break;
case 91:
-#line 571 "/home/wk/s/libksba/src/asn1-parse.y" /* yacc.c:1652 */
+#line 566 "/home/wk/s/libksba/src/asn1-parse.y" /* yacc.c:1652 */
{
(yyvsp[-1].node)->flags.is_optional = 1;
(yyval.node) = (yyvsp[-1].node);
}
-#line 2122 "asn1-parse.c" /* yacc.c:1652 */
+#line 2119 "asn1-parse.c" /* yacc.c:1652 */
break;
case 92:
-#line 578 "/home/wk/s/libksba/src/asn1-parse.y" /* yacc.c:1652 */
+#line 573 "/home/wk/s/libksba/src/asn1-parse.y" /* yacc.c:1652 */
{
set_name ((yyvsp[0].node), (yyvsp[-1].str));
(yyval.node) = (yyvsp[0].node);
}
-#line 2131 "asn1-parse.c" /* yacc.c:1652 */
+#line 2128 "asn1-parse.c" /* yacc.c:1652 */
break;
case 93:
-#line 585 "/home/wk/s/libksba/src/asn1-parse.y" /* yacc.c:1652 */
+#line 580 "/home/wk/s/libksba/src/asn1-parse.y" /* yacc.c:1652 */
{ (yyval.node)=(yyvsp[0].node); }
-#line 2137 "asn1-parse.c" /* yacc.c:1652 */
+#line 2134 "asn1-parse.c" /* yacc.c:1652 */
break;
case 94:
-#line 587 "/home/wk/s/libksba/src/asn1-parse.y" /* yacc.c:1652 */
+#line 582 "/home/wk/s/libksba/src/asn1-parse.y" /* yacc.c:1652 */
{
(yyval.node)=(yyvsp[-2].node);
append_right ((yyval.node), (yyvsp[0].node));
}
-#line 2146 "asn1-parse.c" /* yacc.c:1652 */
+#line 2143 "asn1-parse.c" /* yacc.c:1652 */
break;
case 95:
-#line 594 "/home/wk/s/libksba/src/asn1-parse.y" /* yacc.c:1652 */
+#line 589 "/home/wk/s/libksba/src/asn1-parse.y" /* yacc.c:1652 */
{
(yyval.node) = NEW_NODE (TYPE_SEQUENCE);
set_down ((yyval.node), (yyvsp[-1].node));
}
-#line 2155 "asn1-parse.c" /* yacc.c:1652 */
+#line 2152 "asn1-parse.c" /* yacc.c:1652 */
break;
case 96:
-#line 599 "/home/wk/s/libksba/src/asn1-parse.y" /* yacc.c:1652 */
+#line 594 "/home/wk/s/libksba/src/asn1-parse.y" /* yacc.c:1652 */
{
(yyval.node) = NEW_NODE (TYPE_SEQUENCE_OF);
set_down ((yyval.node), (yyvsp[0].node));
}
-#line 2164 "asn1-parse.c" /* yacc.c:1652 */
+#line 2161 "asn1-parse.c" /* yacc.c:1652 */
break;
case 97:
-#line 604 "/home/wk/s/libksba/src/asn1-parse.y" /* yacc.c:1652 */
+#line 599 "/home/wk/s/libksba/src/asn1-parse.y" /* yacc.c:1652 */
{
(yyval.node) = NEW_NODE (TYPE_SEQUENCE_OF);
(yyval.node)->flags.has_size = 1;
set_right ((yyvsp[-2].node),(yyvsp[0].node));
set_down ((yyval.node),(yyvsp[-2].node));
}
-#line 2175 "asn1-parse.c" /* yacc.c:1652 */
+#line 2172 "asn1-parse.c" /* yacc.c:1652 */
break;
case 98:
-#line 613 "/home/wk/s/libksba/src/asn1-parse.y" /* yacc.c:1652 */
+#line 608 "/home/wk/s/libksba/src/asn1-parse.y" /* yacc.c:1652 */
{
(yyval.node) = NEW_NODE (TYPE_SET);
set_down ((yyval.node), (yyvsp[-1].node));
}
-#line 2184 "asn1-parse.c" /* yacc.c:1652 */
+#line 2181 "asn1-parse.c" /* yacc.c:1652 */
break;
case 99:
-#line 618 "/home/wk/s/libksba/src/asn1-parse.y" /* yacc.c:1652 */
+#line 613 "/home/wk/s/libksba/src/asn1-parse.y" /* yacc.c:1652 */
{
(yyval.node) = NEW_NODE (TYPE_SET_OF);
set_down ((yyval.node), (yyvsp[0].node));
}
-#line 2193 "asn1-parse.c" /* yacc.c:1652 */
+#line 2190 "asn1-parse.c" /* yacc.c:1652 */
break;
case 100:
-#line 623 "/home/wk/s/libksba/src/asn1-parse.y" /* yacc.c:1652 */
+#line 618 "/home/wk/s/libksba/src/asn1-parse.y" /* yacc.c:1652 */
{
(yyval.node) = NEW_NODE (TYPE_SET_OF);
(yyval.node)->flags.has_size = 1;
set_right ((yyvsp[-2].node), (yyvsp[0].node));
set_down ((yyval.node), (yyvsp[-2].node));
}
-#line 2204 "asn1-parse.c" /* yacc.c:1652 */
+#line 2201 "asn1-parse.c" /* yacc.c:1652 */
break;
case 101:
-#line 632 "/home/wk/s/libksba/src/asn1-parse.y" /* yacc.c:1652 */
+#line 627 "/home/wk/s/libksba/src/asn1-parse.y" /* yacc.c:1652 */
{
(yyval.node) = NEW_NODE (TYPE_CHOICE);
set_down ((yyval.node), (yyvsp[-1].node));
}
-#line 2213 "asn1-parse.c" /* yacc.c:1652 */
+#line 2210 "asn1-parse.c" /* yacc.c:1652 */
break;
case 102:
-#line 639 "/home/wk/s/libksba/src/asn1-parse.y" /* yacc.c:1652 */
+#line 634 "/home/wk/s/libksba/src/asn1-parse.y" /* yacc.c:1652 */
{
(yyval.node) = NEW_NODE (TYPE_ANY);
}
-#line 2221 "asn1-parse.c" /* yacc.c:1652 */
+#line 2218 "asn1-parse.c" /* yacc.c:1652 */
break;
case 103:
-#line 643 "/home/wk/s/libksba/src/asn1-parse.y" /* yacc.c:1652 */
+#line 638 "/home/wk/s/libksba/src/asn1-parse.y" /* yacc.c:1652 */
{
AsnNode node;
set_name (node, (yyvsp[0].str));
set_down((yyval.node), node);
}
-#line 2235 "asn1-parse.c" /* yacc.c:1652 */
+#line 2232 "asn1-parse.c" /* yacc.c:1652 */
break;
case 104:
-#line 655 "/home/wk/s/libksba/src/asn1-parse.y" /* yacc.c:1652 */
+#line 650 "/home/wk/s/libksba/src/asn1-parse.y" /* yacc.c:1652 */
{
set_name ((yyvsp[0].node), (yyvsp[-2].str));
(yyval.node) = (yyvsp[0].node);
}
-#line 2244 "asn1-parse.c" /* yacc.c:1652 */
+#line 2241 "asn1-parse.c" /* yacc.c:1652 */
break;
case 105:
-#line 662 "/home/wk/s/libksba/src/asn1-parse.y" /* yacc.c:1652 */
+#line 657 "/home/wk/s/libksba/src/asn1-parse.y" /* yacc.c:1652 */
{
(yyval.node) = NEW_NODE (TYPE_OBJECT_ID);
(yyval.node)->flags.assignment = 1;
set_name ((yyval.node), (yyvsp[-6].str));
set_down ((yyval.node), (yyvsp[-1].node));
}
-#line 2255 "asn1-parse.c" /* yacc.c:1652 */
+#line 2252 "asn1-parse.c" /* yacc.c:1652 */
break;
case 106:
-#line 669 "/home/wk/s/libksba/src/asn1-parse.y" /* yacc.c:1652 */
+#line 664 "/home/wk/s/libksba/src/asn1-parse.y" /* yacc.c:1652 */
{
(yyval.node) = NEW_NODE (TYPE_OBJECT_ID);
(yyval.node)->flags.assignment = 1;
set_str_value ((yyval.node), (yyvsp[-4].str));
set_down ((yyval.node), (yyvsp[-1].node));
}
-#line 2268 "asn1-parse.c" /* yacc.c:1652 */
+#line 2265 "asn1-parse.c" /* yacc.c:1652 */
break;
case 107:
-#line 678 "/home/wk/s/libksba/src/asn1-parse.y" /* yacc.c:1652 */
+#line 673 "/home/wk/s/libksba/src/asn1-parse.y" /* yacc.c:1652 */
{
(yyval.node) = NEW_NODE (TYPE_INTEGER);
(yyval.node)->flags.assignment = 1;
set_name ((yyval.node), (yyvsp[-3].str));
set_str_value ((yyval.node), (yyvsp[0].str));
}
-#line 2279 "asn1-parse.c" /* yacc.c:1652 */
+#line 2276 "asn1-parse.c" /* yacc.c:1652 */
break;
case 108:
-#line 686 "/home/wk/s/libksba/src/asn1-parse.y" /* yacc.c:1652 */
+#line 681 "/home/wk/s/libksba/src/asn1-parse.y" /* yacc.c:1652 */
{ (yyval.node) = (yyvsp[0].node); }
-#line 2285 "asn1-parse.c" /* yacc.c:1652 */
+#line 2282 "asn1-parse.c" /* yacc.c:1652 */
break;
case 109:
-#line 687 "/home/wk/s/libksba/src/asn1-parse.y" /* yacc.c:1652 */
+#line 682 "/home/wk/s/libksba/src/asn1-parse.y" /* yacc.c:1652 */
{ (yyval.node) = (yyvsp[0].node); }
-#line 2291 "asn1-parse.c" /* yacc.c:1652 */
+#line 2288 "asn1-parse.c" /* yacc.c:1652 */
break;
case 110:
-#line 691 "/home/wk/s/libksba/src/asn1-parse.y" /* yacc.c:1652 */
+#line 686 "/home/wk/s/libksba/src/asn1-parse.y" /* yacc.c:1652 */
{ (yyval.node) = (yyvsp[0].node); }
-#line 2297 "asn1-parse.c" /* yacc.c:1652 */
+#line 2294 "asn1-parse.c" /* yacc.c:1652 */
break;
case 111:
-#line 693 "/home/wk/s/libksba/src/asn1-parse.y" /* yacc.c:1652 */
+#line 688 "/home/wk/s/libksba/src/asn1-parse.y" /* yacc.c:1652 */
{
(yyval.node) = (yyvsp[-1].node);
append_right ((yyval.node), (yyvsp[0].node));
}
-#line 2306 "asn1-parse.c" /* yacc.c:1652 */
+#line 2303 "asn1-parse.c" /* yacc.c:1652 */
break;
case 112:
-#line 700 "/home/wk/s/libksba/src/asn1-parse.y" /* yacc.c:1652 */
+#line 695 "/home/wk/s/libksba/src/asn1-parse.y" /* yacc.c:1652 */
{
(yyval.node) = NEW_NODE (TYPE_OBJECT_ID);
set_down ((yyval.node), (yyvsp[-1].node));
set_name ((yyval.node), (yyvsp[-3].str));
}
-#line 2316 "asn1-parse.c" /* yacc.c:1652 */
+#line 2313 "asn1-parse.c" /* yacc.c:1652 */
break;
case 113:
-#line 708 "/home/wk/s/libksba/src/asn1-parse.y" /* yacc.c:1652 */
+#line 703 "/home/wk/s/libksba/src/asn1-parse.y" /* yacc.c:1652 */
{ (yyval.node)=NULL;}
-#line 2322 "asn1-parse.c" /* yacc.c:1652 */
+#line 2319 "asn1-parse.c" /* yacc.c:1652 */
break;
case 114:
-#line 724 "/home/wk/s/libksba/src/asn1-parse.y" /* yacc.c:1652 */
+#line 719 "/home/wk/s/libksba/src/asn1-parse.y" /* yacc.c:1652 */
{ (yyval.constant) = CONST_EXPLICIT; }
-#line 2328 "asn1-parse.c" /* yacc.c:1652 */
+#line 2325 "asn1-parse.c" /* yacc.c:1652 */
break;
case 115:
-#line 725 "/home/wk/s/libksba/src/asn1-parse.y" /* yacc.c:1652 */
+#line 720 "/home/wk/s/libksba/src/asn1-parse.y" /* yacc.c:1652 */
{ (yyval.constant) = CONST_IMPLICIT; }
-#line 2334 "asn1-parse.c" /* yacc.c:1652 */
+#line 2331 "asn1-parse.c" /* yacc.c:1652 */
break;
case 116:
-#line 731 "/home/wk/s/libksba/src/asn1-parse.y" /* yacc.c:1652 */
+#line 726 "/home/wk/s/libksba/src/asn1-parse.y" /* yacc.c:1652 */
{
AsnNode node;
PARSECTL->result_parse = _ksba_asn_check_identifier((yyval.node));
PARSECTL->parse_tree=(yyval.node);
}
-#line 2370 "asn1-parse.c" /* yacc.c:1652 */
+#line 2367 "asn1-parse.c" /* yacc.c:1652 */
break;
-#line 2374 "asn1-parse.c" /* yacc.c:1652 */
+#line 2371 "asn1-parse.c" /* yacc.c:1652 */
default: break;
}
/* User semantic actions sometimes alter yychar, and that requires
#endif
return yyresult;
}
-#line 764 "/home/wk/s/libksba/src/asn1-parse.y" /* yacc.c:1918 */
+#line 759 "/home/wk/s/libksba/src/asn1-parse.y" /* yacc.c:1918 */
\f
+struct token_table_s {
+ const char *word;
+ int token;
+};
+
+static struct token_table_s token_table[] = {
+ { "::=", ASSIG },
+ { "ANY", ANY },
+ { "APPLICATION", APPLICATION },
+ { "BEGIN", ksba_BEGIN },
+ { "BIT", BIT },
+ { "BMPString", BMPSTRING },
+ { "BOOLEAN", ksba_BOOLEAN },
+ { "BY", BY },
+ { "CHOICE", CHOICE },
+ { "DEFAULT", DEFAULT },
+ { "DEFINED", DEFINED },
+ { "DEFINITIONS", DEFINITIONS },
+ { "END", ksba_END },
+ { "ENUMERATED", ENUMERATED },
+ { "EXPLICIT", EXPLICIT },
+ { "FALSE", ksba_FALSE },
+ { "FROM", FROM },
+ { "GeneralizedTime", GeneralizedTime },
+ { "IA5String", IA5STRING },
+ { "IDENTIFIER", STR_IDENTIFIER },
+ { "IMPLICIT", IMPLICIT },
+ { "IMPORTS", IMPORTS },
+ { "INTEGER", INTEGER },
+ { "NULL", TOKEN_NULL },
+ { "NumericString", NUMERICSTRING },
+ { "OBJECT", OBJECT },
+ { "OCTET", OCTET },
+ { "OF", OF },
+ { "OPTIONAL", OPTIONAL },
+ { "PRIVATE", PRIVATE },
+ { "PrintableString", PRINTABLESTRING },
+ { "SEQUENCE", SEQUENCE },
+ { "SET", SET },
+ { "SIZE", SIZE },
+ { "STRING", STRING },
+ { "TAGS", TAGS },
+ { "TRUE", ksba_TRUE },
+ { "TeletexString", TELETEXSTRING },
+ { "UNIVERSAL", UNIVERSAL },
+ { "UTCTime", UTCTime },
+ { "UTF8String", UTF8STRING },
+ { "UniversalString", UNIVERSALSTRING },
+};
+
/*************************************************************/
/* Function: yylex */
/* Description: looks for tokens in file_asn1 pointer file. */
{
int c,counter=0,k;
char string[MAX_STRING_LENGTH];
- size_t len;
FILE *fp = PARSECTL->fp;
if (!PARSECTL->lineno)
}
/* Is STRING a keyword? */
- len = strlen (string);
- for (k = 0; k < YYNTOKENS; k++)
+ for (k = 0; k < DIM (token_table); k++)
{
- if (yytname[k] && yytname[k][0] == '\"'
- && !strncmp (yytname[k] + 1, string, len)
- && yytname[k][len + 1] == '\"' && !yytname[k][len + 2])
- return yytoknum[k];
+ if (!strcmp (token_table[k].word, string))
+ return token_table[k].token;
}
/* STRING is an IDENTIFIER */