#!/bin/sh
-./configure
+./configure --prefix=$HOME
cp Makefile Makefile.orig
patch Makefile <Makefile.patch
-
param_parse = 1 << 1,
param_both = param_lex | param_parse
} param_type;
-#line 672 "src/parse-gram.y" /* yacc.c:355 */
+#line 696 "src/parse-gram.y" /* yacc.c:355 */
#include "muscle-tab.h"
#line 136 "src/parse-gram.c" /* yacc.c:355 */
param_type param;
#line 417 "src/parse-gram.y" /* yacc.c:355 */
code_props_type code_type;
-#line 674 "src/parse-gram.y" /* yacc.c:355 */
+#line 698 "src/parse-gram.y" /* yacc.c:355 */
struct
{
303, 308, 314, 315, 316, 317, 322, 327, 328, 329,
330, 331, 332, 332, 333, 334, 358, 359, 360, 361,
365, 366, 375, 376, 377, 381, 393, 397, 401, 409,
- 420, 421, 431, 432, 438, 450, 450, 455, 455, 460,
- 471, 486, 487, 488, 489, 493, 494, 499, 501, 506,
- 511, 521, 523, 528, 529, 533, 534, 538, 539, 540,
- 545, 550, 555, 561, 567, 578, 579, 588, 589, 595,
- 596, 602, 609, 609, 621, 626, 631, 636, 639, 641,
- 643, 645, 647, 649, 651, 656, 657, 667, 668, 693,
- 694, 695, 696, 708, 710, 719, 724, 725, 730, 738,
- 739
+ 420, 421, 431, 432, 438, 452, 452, 461, 461, 470,
+ 485, 504, 505, 506, 507, 511, 512, 517, 519, 524,
+ 529, 541, 543, 548, 549, 553, 554, 558, 559, 560,
+ 565, 570, 575, 583, 591, 604, 605, 614, 615, 621,
+ 622, 628, 635, 635, 647, 651, 655, 660, 663, 665,
+ 667, 669, 671, 673, 675, 680, 681, 691, 692, 717,
+ 718, 719, 720, 732, 734, 743, 748, 749, 754, 762,
+ 763
};
#endif
break;
case 89: /* value */
-#line 683 "src/parse-gram.y" /* yacc.c:684 */
+#line 707 "src/parse-gram.y" /* yacc.c:684 */
{
switch (((*yyvaluep).value).kind)
{
case 42:
#line 431 "src/parse-gram.y" /* yacc.c:1648 */
- {}
+ { insert_before(0, "<NoId />"); }
#line 2332 "src/parse-gram.c" /* yacc.c:1648 */
break;
union_seen = true;
muscle_code_grow ("union_members", translate_code_braceless ((yyvsp[0].code), (yylsp[0])), (yylsp[0]));
code_scanner_last_string_free ();
+ insert_after(2, "</PercentUnion>");
+ insert_before(0, "<PercentUnion>");
}
-#line 2350 "src/parse-gram.c" /* yacc.c:1648 */
+#line 2352 "src/parse-gram.c" /* yacc.c:1648 */
break;
case 45:
-#line 450 "src/parse-gram.y" /* yacc.c:1648 */
+#line 452 "src/parse-gram.y" /* yacc.c:1648 */
{ current_class = nterm_sym; }
-#line 2356 "src/parse-gram.c" /* yacc.c:1648 */
+#line 2358 "src/parse-gram.c" /* yacc.c:1648 */
break;
case 46:
-#line 451 "src/parse-gram.y" /* yacc.c:1648 */
+#line 453 "src/parse-gram.y" /* yacc.c:1648 */
{
current_class = unknown_sym;
current_type = NULL;
+ insert_after(2, "</PercentNTerm>");
+ /*insert_after(2, "</SymbolDefs>");*/
+ /*insert_before(2, "<SymbolDefs>");*/
+ insert_before(0, "<PercentNTerm>");
}
-#line 2365 "src/parse-gram.c" /* yacc.c:1648 */
+#line 2371 "src/parse-gram.c" /* yacc.c:1648 */
break;
case 47:
-#line 455 "src/parse-gram.y" /* yacc.c:1648 */
+#line 461 "src/parse-gram.y" /* yacc.c:1648 */
{ current_class = token_sym; }
-#line 2371 "src/parse-gram.c" /* yacc.c:1648 */
+#line 2377 "src/parse-gram.c" /* yacc.c:1648 */
break;
case 48:
-#line 456 "src/parse-gram.y" /* yacc.c:1648 */
+#line 462 "src/parse-gram.y" /* yacc.c:1648 */
{
current_class = unknown_sym;
current_type = NULL;
+ insert_after(2, "</PercentToken>");
+ /*insert_after(2, "</SymbolDefs>");*/
+ /*insert_before(2, "<SymbolDefs>");*/
+ insert_before(0, "<PercentToken>");
}
-#line 2380 "src/parse-gram.c" /* yacc.c:1648 */
+#line 2390 "src/parse-gram.c" /* yacc.c:1648 */
break;
case 49:
-#line 461 "src/parse-gram.y" /* yacc.c:1648 */
+#line 471 "src/parse-gram.y" /* yacc.c:1648 */
{
symbol_list *list;
tag_seen = true;
for (list = (yyvsp[0].list); list; list = list->next)
symbol_type_set (list->content.sym, (yyvsp[-1].uniqstr), (yylsp[-1]));
symbol_list_free ((yyvsp[0].list));
+ insert_after(2, "</PercentType>");
+ insert_after(2, "</Symbols>");
+ insert_before(2, "<Symbols>");
+ insert_before(0, "<PercentType>");
}
-#line 2392 "src/parse-gram.c" /* yacc.c:1648 */
+#line 2406 "src/parse-gram.c" /* yacc.c:1648 */
break;
case 50:
-#line 472 "src/parse-gram.y" /* yacc.c:1648 */
+#line 486 "src/parse-gram.y" /* yacc.c:1648 */
{
symbol_list *list;
++current_prec;
}
symbol_list_free ((yyvsp[0].list));
current_type = NULL;
+ insert_after(2, "</PrecedenceDeclaration>");
+ insert_after(2, "</SymbolsPrec>");
+ insert_before(2, "<SymbolsPrec>");
+ insert_before(0, "<PrecedenceDeclaration>");
}
-#line 2408 "src/parse-gram.c" /* yacc.c:1648 */
+#line 2426 "src/parse-gram.c" /* yacc.c:1648 */
break;
case 51:
-#line 486 "src/parse-gram.y" /* yacc.c:1648 */
- { (yyval.assoc) = left_assoc; }
-#line 2414 "src/parse-gram.c" /* yacc.c:1648 */
+#line 504 "src/parse-gram.y" /* yacc.c:1648 */
+ { (yyval.assoc) = left_assoc; insert_after(0, "</PrecedenceDeclaration_Left>"); insert_before(0, "<PrecedenceDeclaration_Left>"); }
+#line 2432 "src/parse-gram.c" /* yacc.c:1648 */
break;
case 52:
-#line 487 "src/parse-gram.y" /* yacc.c:1648 */
- { (yyval.assoc) = right_assoc; }
-#line 2420 "src/parse-gram.c" /* yacc.c:1648 */
+#line 505 "src/parse-gram.y" /* yacc.c:1648 */
+ { (yyval.assoc) = right_assoc; insert_after(0, "</PrecedenceDeclaration_Right>"); insert_before(0, "<PrecedenceDeclaration_Right>"); }
+#line 2438 "src/parse-gram.c" /* yacc.c:1648 */
break;
case 53:
-#line 488 "src/parse-gram.y" /* yacc.c:1648 */
- { (yyval.assoc) = non_assoc; }
-#line 2426 "src/parse-gram.c" /* yacc.c:1648 */
+#line 506 "src/parse-gram.y" /* yacc.c:1648 */
+ { (yyval.assoc) = non_assoc; insert_after(0, "</PrecedenceDeclaration_Non>"); insert_before(0, "<PrecedenceDeclaration_Non>"); }
+#line 2444 "src/parse-gram.c" /* yacc.c:1648 */
break;
case 54:
-#line 489 "src/parse-gram.y" /* yacc.c:1648 */
- { (yyval.assoc) = precedence_assoc; }
-#line 2432 "src/parse-gram.c" /* yacc.c:1648 */
+#line 507 "src/parse-gram.y" /* yacc.c:1648 */
+ { (yyval.assoc) = precedence_assoc; insert_after(0, "</PrecedenceDeclaration_Precedence>"); insert_before(0, "<PrecedenceDeclaration_Precedence>"); }
+#line 2450 "src/parse-gram.c" /* yacc.c:1648 */
break;
case 55:
-#line 493 "src/parse-gram.y" /* yacc.c:1648 */
- { current_type = NULL; }
-#line 2438 "src/parse-gram.c" /* yacc.c:1648 */
+#line 511 "src/parse-gram.y" /* yacc.c:1648 */
+ { current_type = NULL; insert_before(0, "<NoTag />"); }
+#line 2456 "src/parse-gram.c" /* yacc.c:1648 */
break;
case 56:
-#line 494 "src/parse-gram.y" /* yacc.c:1648 */
+#line 512 "src/parse-gram.y" /* yacc.c:1648 */
{ current_type = (yyvsp[0].uniqstr); tag_seen = true; }
-#line 2444 "src/parse-gram.c" /* yacc.c:1648 */
+#line 2462 "src/parse-gram.c" /* yacc.c:1648 */
break;
case 57:
-#line 500 "src/parse-gram.y" /* yacc.c:1648 */
+#line 518 "src/parse-gram.y" /* yacc.c:1648 */
{ (yyval.list) = symbol_list_sym_new ((yyvsp[0].symbol), (yylsp[0])); }
-#line 2450 "src/parse-gram.c" /* yacc.c:1648 */
+#line 2468 "src/parse-gram.c" /* yacc.c:1648 */
break;
case 58:
-#line 502 "src/parse-gram.y" /* yacc.c:1648 */
+#line 520 "src/parse-gram.y" /* yacc.c:1648 */
{ (yyval.list) = symbol_list_append ((yyvsp[-1].list), symbol_list_sym_new ((yyvsp[0].symbol), (yylsp[0]))); }
-#line 2456 "src/parse-gram.c" /* yacc.c:1648 */
+#line 2474 "src/parse-gram.c" /* yacc.c:1648 */
break;
case 59:
-#line 507 "src/parse-gram.y" /* yacc.c:1648 */
+#line 525 "src/parse-gram.y" /* yacc.c:1648 */
{
(yyval.symbol) = (yyvsp[0].symbol);
symbol_class_set ((yyvsp[0].symbol), token_sym, (yylsp[0]), false);
}
-#line 2465 "src/parse-gram.c" /* yacc.c:1648 */
+#line 2483 "src/parse-gram.c" /* yacc.c:1648 */
break;
case 60:
-#line 512 "src/parse-gram.y" /* yacc.c:1648 */
+#line 530 "src/parse-gram.y" /* yacc.c:1648 */
{
(yyval.symbol) = (yyvsp[-1].symbol);
symbol_user_token_number_set ((yyvsp[-1].symbol), (yyvsp[0].integer), (yylsp[0]));
symbol_class_set ((yyvsp[-1].symbol), token_sym, (yylsp[-1]), false);
+ insert_after(1, "</SymbolInt>");
+ insert_before(0, "<SymbolInt>");
}
-#line 2475 "src/parse-gram.c" /* yacc.c:1648 */
+#line 2495 "src/parse-gram.c" /* yacc.c:1648 */
break;
case 61:
-#line 522 "src/parse-gram.y" /* yacc.c:1648 */
+#line 542 "src/parse-gram.y" /* yacc.c:1648 */
{ (yyval.list) = symbol_list_sym_new ((yyvsp[0].symbol), (yylsp[0])); }
-#line 2481 "src/parse-gram.c" /* yacc.c:1648 */
+#line 2501 "src/parse-gram.c" /* yacc.c:1648 */
break;
case 62:
-#line 524 "src/parse-gram.y" /* yacc.c:1648 */
+#line 544 "src/parse-gram.y" /* yacc.c:1648 */
{ (yyval.list) = symbol_list_append ((yyvsp[-1].list), symbol_list_sym_new ((yyvsp[0].symbol), (yylsp[0]))); }
-#line 2487 "src/parse-gram.c" /* yacc.c:1648 */
+#line 2507 "src/parse-gram.c" /* yacc.c:1648 */
break;
case 63:
-#line 528 "src/parse-gram.y" /* yacc.c:1648 */
+#line 548 "src/parse-gram.y" /* yacc.c:1648 */
{ (yyval.list) = (yyvsp[0].list); }
-#line 2493 "src/parse-gram.c" /* yacc.c:1648 */
+#line 2513 "src/parse-gram.c" /* yacc.c:1648 */
break;
case 64:
-#line 529 "src/parse-gram.y" /* yacc.c:1648 */
+#line 549 "src/parse-gram.y" /* yacc.c:1648 */
{ (yyval.list) = symbol_list_append ((yyvsp[-1].list), (yyvsp[0].list)); }
-#line 2499 "src/parse-gram.c" /* yacc.c:1648 */
+#line 2519 "src/parse-gram.c" /* yacc.c:1648 */
break;
case 65:
-#line 533 "src/parse-gram.y" /* yacc.c:1648 */
+#line 553 "src/parse-gram.y" /* yacc.c:1648 */
{ (yyval.list) = symbol_list_sym_new ((yyvsp[0].symbol), (yylsp[0])); }
-#line 2505 "src/parse-gram.c" /* yacc.c:1648 */
+#line 2525 "src/parse-gram.c" /* yacc.c:1648 */
break;
case 66:
-#line 534 "src/parse-gram.y" /* yacc.c:1648 */
+#line 554 "src/parse-gram.y" /* yacc.c:1648 */
{ (yyval.list) = symbol_list_type_new ((yyvsp[0].uniqstr), (yylsp[0])); }
-#line 2511 "src/parse-gram.c" /* yacc.c:1648 */
+#line 2531 "src/parse-gram.c" /* yacc.c:1648 */
break;
case 68:
-#line 539 "src/parse-gram.y" /* yacc.c:1648 */
+#line 559 "src/parse-gram.y" /* yacc.c:1648 */
{ (yyval.uniqstr) = uniqstr_new ("*"); }
-#line 2517 "src/parse-gram.c" /* yacc.c:1648 */
+#line 2537 "src/parse-gram.c" /* yacc.c:1648 */
break;
case 69:
-#line 540 "src/parse-gram.y" /* yacc.c:1648 */
+#line 560 "src/parse-gram.y" /* yacc.c:1648 */
{ (yyval.uniqstr) = uniqstr_new (""); }
-#line 2523 "src/parse-gram.c" /* yacc.c:1648 */
+#line 2543 "src/parse-gram.c" /* yacc.c:1648 */
break;
case 70:
-#line 546 "src/parse-gram.y" /* yacc.c:1648 */
+#line 566 "src/parse-gram.y" /* yacc.c:1648 */
{
current_type = (yyvsp[0].uniqstr);
tag_seen = true;
}
-#line 2532 "src/parse-gram.c" /* yacc.c:1648 */
+#line 2552 "src/parse-gram.c" /* yacc.c:1648 */
break;
case 71:
-#line 551 "src/parse-gram.y" /* yacc.c:1648 */
+#line 571 "src/parse-gram.y" /* yacc.c:1648 */
{
symbol_class_set ((yyvsp[0].symbol), current_class, (yylsp[0]), true);
symbol_type_set ((yyvsp[0].symbol), current_type, (yylsp[0]));
}
-#line 2541 "src/parse-gram.c" /* yacc.c:1648 */
+#line 2561 "src/parse-gram.c" /* yacc.c:1648 */
break;
case 72:
-#line 556 "src/parse-gram.y" /* yacc.c:1648 */
+#line 576 "src/parse-gram.y" /* yacc.c:1648 */
{
symbol_class_set ((yyvsp[-1].symbol), current_class, (yylsp[-1]), true);
symbol_type_set ((yyvsp[-1].symbol), current_type, (yylsp[-1]));
symbol_user_token_number_set ((yyvsp[-1].symbol), (yyvsp[0].integer), (yylsp[0]));
+ insert_after(1, "</IdInt>");
+ insert_before(0, "<IdInt>");
}
-#line 2551 "src/parse-gram.c" /* yacc.c:1648 */
+#line 2573 "src/parse-gram.c" /* yacc.c:1648 */
break;
case 73:
-#line 562 "src/parse-gram.y" /* yacc.c:1648 */
+#line 584 "src/parse-gram.y" /* yacc.c:1648 */
{
symbol_class_set ((yyvsp[-1].symbol), current_class, (yylsp[-1]), true);
symbol_type_set ((yyvsp[-1].symbol), current_type, (yylsp[-1]));
symbol_make_alias ((yyvsp[-1].symbol), (yyvsp[0].symbol), (yyloc));
+ insert_after(1, "</IdString>");
+ insert_before(0, "<IdString>");
}
-#line 2561 "src/parse-gram.c" /* yacc.c:1648 */
+#line 2585 "src/parse-gram.c" /* yacc.c:1648 */
break;
case 74:
-#line 568 "src/parse-gram.y" /* yacc.c:1648 */
+#line 592 "src/parse-gram.y" /* yacc.c:1648 */
{
symbol_class_set ((yyvsp[-2].symbol), current_class, (yylsp[-2]), true);
symbol_type_set ((yyvsp[-2].symbol), current_type, (yylsp[-2]));
symbol_user_token_number_set ((yyvsp[-2].symbol), (yyvsp[-1].integer), (yylsp[-1]));
symbol_make_alias ((yyvsp[-2].symbol), (yyvsp[0].symbol), (yyloc));
+ insert_after(1, "</IdIntString>");
+ insert_before(0, "<IdIntString>");
}
-#line 2572 "src/parse-gram.c" /* yacc.c:1648 */
+#line 2598 "src/parse-gram.c" /* yacc.c:1648 */
break;
case 80:
-#line 597 "src/parse-gram.y" /* yacc.c:1648 */
+#line 623 "src/parse-gram.y" /* yacc.c:1648 */
{
/* this should be done inside the rule with a more descriptive tag */
insert_after(0, "</GrammarDeclaration>");
insert_before(0, "<GrammarDeclaration>");
}
-#line 2582 "src/parse-gram.c" /* yacc.c:1648 */
+#line 2608 "src/parse-gram.c" /* yacc.c:1648 */
break;
case 81:
-#line 603 "src/parse-gram.y" /* yacc.c:1648 */
+#line 629 "src/parse-gram.y" /* yacc.c:1648 */
{
yyerrok;
}
-#line 2590 "src/parse-gram.c" /* yacc.c:1648 */
+#line 2616 "src/parse-gram.c" /* yacc.c:1648 */
break;
case 82:
-#line 609 "src/parse-gram.y" /* yacc.c:1648 */
+#line 635 "src/parse-gram.y" /* yacc.c:1648 */
{ current_lhs ((yyvsp[-1].symbol), (yylsp[-1]), (yyvsp[0].named_ref)); }
-#line 2596 "src/parse-gram.c" /* yacc.c:1648 */
+#line 2622 "src/parse-gram.c" /* yacc.c:1648 */
break;
case 83:
-#line 610 "src/parse-gram.y" /* yacc.c:1648 */
+#line 636 "src/parse-gram.y" /* yacc.c:1648 */
{
/* Free the current lhs. */
current_lhs (0, (yylsp[-3]), 0);
- insert_after(3, "</Rule>");
- insert_after(3, "</Productions>");
- insert_before(3, "<Productions>");
- insert_before(0, "<Rule>");
+ insert_after(3, "</Rules>");
+ insert_after(3, "</RHSes>");
+ insert_before(3, "<RHSes>");
+ insert_before(0, "<Rules>");
}
-#line 2609 "src/parse-gram.c" /* yacc.c:1648 */
+#line 2635 "src/parse-gram.c" /* yacc.c:1648 */
break;
case 84:
-#line 621 "src/parse-gram.y" /* yacc.c:1648 */
+#line 647 "src/parse-gram.y" /* yacc.c:1648 */
{ grammar_current_rule_end ((yylsp[0])); /*}*/
- /* this should be done inside the rule with a more descriptive tag */
- insert_after(0, "</Production>");
- insert_before(0, "<Production>");
+ insert_after(0, "</RHS>");
+ insert_before(0, "<RHS>");
}
-#line 2619 "src/parse-gram.c" /* yacc.c:1648 */
+#line 2644 "src/parse-gram.c" /* yacc.c:1648 */
break;
case 85:
-#line 626 "src/parse-gram.y" /* yacc.c:1648 */
+#line 651 "src/parse-gram.y" /* yacc.c:1648 */
{ grammar_current_rule_end ((yylsp[0])); /*}*/
- /* this should be done inside the rule with a more descriptive tag */
- insert_after(2, "</Production>");
- insert_before(2, "<Production>");
+ insert_after(2, "</RHS>");
+ insert_before(2, "<RHS>");
}
-#line 2629 "src/parse-gram.c" /* yacc.c:1648 */
+#line 2653 "src/parse-gram.c" /* yacc.c:1648 */
break;
case 87:
-#line 637 "src/parse-gram.y" /* yacc.c:1648 */
+#line 661 "src/parse-gram.y" /* yacc.c:1648 */
{ grammar_current_rule_begin (current_lhs_symbol, current_lhs_location,
current_lhs_named_ref); }
-#line 2636 "src/parse-gram.c" /* yacc.c:1648 */
+#line 2660 "src/parse-gram.c" /* yacc.c:1648 */
break;
case 88:
-#line 640 "src/parse-gram.y" /* yacc.c:1648 */
- { grammar_current_rule_symbol_append ((yyvsp[-1].symbol), (yylsp[-1]), (yyvsp[0].named_ref)); }
-#line 2642 "src/parse-gram.c" /* yacc.c:1648 */
+#line 664 "src/parse-gram.y" /* yacc.c:1648 */
+ { grammar_current_rule_symbol_append ((yyvsp[-1].symbol), (yylsp[-1]), (yyvsp[0].named_ref)); insert_after(2, "</RHSSymbol>"); insert_before(1, "<RHSSymbol>"); }
+#line 2666 "src/parse-gram.c" /* yacc.c:1648 */
break;
case 89:
-#line 642 "src/parse-gram.y" /* yacc.c:1648 */
- { grammar_current_rule_action_append ((yyvsp[-1].code), (yylsp[-1]), (yyvsp[0].named_ref), false); }
-#line 2648 "src/parse-gram.c" /* yacc.c:1648 */
+#line 666 "src/parse-gram.y" /* yacc.c:1648 */
+ { grammar_current_rule_action_append ((yyvsp[-1].code), (yylsp[-1]), (yyvsp[0].named_ref), false); insert_after(2, "</RHSAction>"); insert_after(0, "<RHSAction>"); }
+#line 2672 "src/parse-gram.c" /* yacc.c:1648 */
break;
case 90:
-#line 644 "src/parse-gram.y" /* yacc.c:1648 */
+#line 668 "src/parse-gram.y" /* yacc.c:1648 */
{ grammar_current_rule_action_append ((yyvsp[0].code), (yylsp[0]), NULL, true); }
-#line 2654 "src/parse-gram.c" /* yacc.c:1648 */
+#line 2678 "src/parse-gram.c" /* yacc.c:1648 */
break;
case 91:
-#line 646 "src/parse-gram.y" /* yacc.c:1648 */
- { grammar_current_rule_empty_set ((yylsp[0])); }
-#line 2660 "src/parse-gram.c" /* yacc.c:1648 */
+#line 670 "src/parse-gram.y" /* yacc.c:1648 */
+ { grammar_current_rule_empty_set ((yylsp[0])); insert_after(1, "</RHSEmpty>"); insert_before(1, "<RHSEmpty>"); }
+#line 2684 "src/parse-gram.c" /* yacc.c:1648 */
break;
case 92:
-#line 648 "src/parse-gram.y" /* yacc.c:1648 */
- { grammar_current_rule_prec_set ((yyvsp[0].symbol), (yylsp[0])); }
-#line 2666 "src/parse-gram.c" /* yacc.c:1648 */
+#line 672 "src/parse-gram.y" /* yacc.c:1648 */
+ { grammar_current_rule_prec_set ((yyvsp[0].symbol), (yylsp[0])); insert_after(2, "</RHSPrec>"); insert_before(1, "<RHSPrec>"); }
+#line 2690 "src/parse-gram.c" /* yacc.c:1648 */
break;
case 93:
-#line 650 "src/parse-gram.y" /* yacc.c:1648 */
- { grammar_current_rule_dprec_set ((yyvsp[0].integer), (yylsp[0])); }
-#line 2672 "src/parse-gram.c" /* yacc.c:1648 */
+#line 674 "src/parse-gram.y" /* yacc.c:1648 */
+ { grammar_current_rule_dprec_set ((yyvsp[0].integer), (yylsp[0])); insert_after(2, "</RHSDPrec>"); insert_before(1, "<RHSDPrec>"); }
+#line 2696 "src/parse-gram.c" /* yacc.c:1648 */
break;
case 94:
-#line 652 "src/parse-gram.y" /* yacc.c:1648 */
- { grammar_current_rule_merge_set ((yyvsp[0].uniqstr), (yylsp[0])); }
-#line 2678 "src/parse-gram.c" /* yacc.c:1648 */
+#line 676 "src/parse-gram.y" /* yacc.c:1648 */
+ { grammar_current_rule_merge_set ((yyvsp[0].uniqstr), (yylsp[0])); insert_after(2, "</RHSMerge>"); insert_before(1, "<RHSMerge>"); }
+#line 2702 "src/parse-gram.c" /* yacc.c:1648 */
break;
case 95:
-#line 656 "src/parse-gram.y" /* yacc.c:1648 */
- { (yyval.named_ref) = 0; }
-#line 2684 "src/parse-gram.c" /* yacc.c:1648 */
+#line 680 "src/parse-gram.y" /* yacc.c:1648 */
+ { (yyval.named_ref) = 0; insert_before(0, "<NoNamedRef />"); }
+#line 2708 "src/parse-gram.c" /* yacc.c:1648 */
break;
case 96:
-#line 657 "src/parse-gram.y" /* yacc.c:1648 */
+#line 681 "src/parse-gram.y" /* yacc.c:1648 */
{ (yyval.named_ref) = named_ref_new ((yyvsp[0].uniqstr), (yylsp[0])); }
-#line 2690 "src/parse-gram.c" /* yacc.c:1648 */
+#line 2714 "src/parse-gram.c" /* yacc.c:1648 */
break;
case 98:
-#line 668 "src/parse-gram.y" /* yacc.c:1648 */
+#line 692 "src/parse-gram.y" /* yacc.c:1648 */
{ (yyval.uniqstr) = uniqstr_new ((yyvsp[0].code)); }
-#line 2696 "src/parse-gram.c" /* yacc.c:1648 */
+#line 2720 "src/parse-gram.c" /* yacc.c:1648 */
break;
case 99:
-#line 693 "src/parse-gram.y" /* yacc.c:1648 */
- { (yyval.value).kind = muscle_keyword; (yyval.value).chars = ""; }
-#line 2702 "src/parse-gram.c" /* yacc.c:1648 */
+#line 717 "src/parse-gram.y" /* yacc.c:1648 */
+ { (yyval.value).kind = muscle_keyword; (yyval.value).chars = ""; insert_before(0, "<NoValue />"); }
+#line 2726 "src/parse-gram.c" /* yacc.c:1648 */
break;
case 100:
-#line 694 "src/parse-gram.y" /* yacc.c:1648 */
+#line 718 "src/parse-gram.y" /* yacc.c:1648 */
{ (yyval.value).kind = muscle_keyword; (yyval.value).chars = (yyvsp[0].uniqstr); }
-#line 2708 "src/parse-gram.c" /* yacc.c:1648 */
+#line 2732 "src/parse-gram.c" /* yacc.c:1648 */
break;
case 101:
-#line 695 "src/parse-gram.y" /* yacc.c:1648 */
+#line 719 "src/parse-gram.y" /* yacc.c:1648 */
{ (yyval.value).kind = muscle_string; (yyval.value).chars = (yyvsp[0].code); }
-#line 2714 "src/parse-gram.c" /* yacc.c:1648 */
+#line 2738 "src/parse-gram.c" /* yacc.c:1648 */
break;
case 102:
-#line 696 "src/parse-gram.y" /* yacc.c:1648 */
+#line 720 "src/parse-gram.y" /* yacc.c:1648 */
{ (yyval.value).kind = muscle_code; (yyval.value).chars = strip_braces ((yyvsp[0].code)); }
-#line 2720 "src/parse-gram.c" /* yacc.c:1648 */
+#line 2744 "src/parse-gram.c" /* yacc.c:1648 */
break;
case 103:
-#line 709 "src/parse-gram.y" /* yacc.c:1648 */
+#line 733 "src/parse-gram.y" /* yacc.c:1648 */
{ (yyval.symbol) = symbol_from_uniqstr ((yyvsp[0].uniqstr), (yylsp[0])); }
-#line 2726 "src/parse-gram.c" /* yacc.c:1648 */
+#line 2750 "src/parse-gram.c" /* yacc.c:1648 */
break;
case 104:
-#line 711 "src/parse-gram.y" /* yacc.c:1648 */
+#line 735 "src/parse-gram.y" /* yacc.c:1648 */
{
(yyval.symbol) = symbol_get (char_name ((yyvsp[0].character)), (yylsp[0]));
symbol_class_set ((yyval.symbol), token_sym, (yylsp[0]), false);
symbol_user_token_number_set ((yyval.symbol), (yyvsp[0].character), (yylsp[0]));
}
-#line 2736 "src/parse-gram.c" /* yacc.c:1648 */
+#line 2760 "src/parse-gram.c" /* yacc.c:1648 */
break;
case 105:
-#line 719 "src/parse-gram.y" /* yacc.c:1648 */
+#line 743 "src/parse-gram.y" /* yacc.c:1648 */
{ (yyval.symbol) = symbol_from_uniqstr ((yyvsp[0].uniqstr), (yylsp[0])); }
-#line 2742 "src/parse-gram.c" /* yacc.c:1648 */
+#line 2766 "src/parse-gram.c" /* yacc.c:1648 */
break;
case 108:
-#line 731 "src/parse-gram.y" /* yacc.c:1648 */
+#line 755 "src/parse-gram.y" /* yacc.c:1648 */
{
(yyval.symbol) = symbol_get (quotearg_style (c_quoting_style, (yyvsp[0].code)), (yylsp[0]));
symbol_class_set ((yyval.symbol), token_sym, (yylsp[0]), false);
}
-#line 2751 "src/parse-gram.c" /* yacc.c:1648 */
+#line 2775 "src/parse-gram.c" /* yacc.c:1648 */
break;
case 110:
-#line 740 "src/parse-gram.y" /* yacc.c:1648 */
+#line 764 "src/parse-gram.y" /* yacc.c:1648 */
{
muscle_code_grow ("epilogue", translate_code ((yyvsp[0].code), (yylsp[0]), true), (yylsp[0]));
code_scanner_last_string_free ();
insert_after(1, "</Sect3>");
- insert_before(1, "<Sect3>");
+ insert_after(0, "<Sect3>");
}
-#line 2762 "src/parse-gram.c" /* yacc.c:1648 */
+#line 2786 "src/parse-gram.c" /* yacc.c:1648 */
break;
-#line 2766 "src/parse-gram.c" /* yacc.c:1648 */
+#line 2790 "src/parse-gram.c" /* yacc.c:1648 */
default: break;
}
if (yychar_backup != yychar)
#endif
return yyresult;
}
-#line 748 "src/parse-gram.y" /* yacc.c:1907 */
+#line 772 "src/parse-gram.y" /* yacc.c:1907 */
/* Return the location of the left-hand side of a rule whose
param_parse = 1 << 1,
param_both = param_lex | param_parse
} param_type;
-#line 672 "src/parse-gram.y" /* yacc.c:1910 */
+#line 696 "src/parse-gram.y" /* yacc.c:1910 */
#include "muscle-tab.h"
#line 68 "src/parse-gram.h" /* yacc.c:1910 */
param_type param;
#line 417 "src/parse-gram.y" /* yacc.c:1910 */
code_props_type code_type;
-#line 674 "src/parse-gram.y" /* yacc.c:1910 */
+#line 698 "src/parse-gram.y" /* yacc.c:1910 */
struct
{
%token PERCENT_UNION "%union";
union_name:
- %empty {}
+ %empty { insert_before(0, "<NoId />"); }
| ID { muscle_percent_define_insert ("api.value.union.name",
@1, muscle_keyword, $1,
MUSCLE_PERCENT_DEFINE_GRAMMAR_FILE); }
union_seen = true;
muscle_code_grow ("union_members", translate_code_braceless ($3, @3), @3);
code_scanner_last_string_free ();
+ insert_after(2, "</PercentUnion>");
+ insert_before(0, "<PercentUnion>");
}
;
{
current_class = unknown_sym;
current_type = NULL;
+ insert_after(2, "</PercentNTerm>");
+ /*insert_after(2, "</SymbolDefs>");*/
+ /*insert_before(2, "<SymbolDefs>");*/
+ insert_before(0, "<PercentNTerm>");
}
| "%token" { current_class = token_sym; } symbol_defs.1
{
current_class = unknown_sym;
current_type = NULL;
+ insert_after(2, "</PercentToken>");
+ /*insert_after(2, "</SymbolDefs>");*/
+ /*insert_before(2, "<SymbolDefs>");*/
+ insert_before(0, "<PercentToken>");
}
| "%type" TAG symbols.1
{
for (list = $3; list; list = list->next)
symbol_type_set (list->content.sym, $2, @2);
symbol_list_free ($3);
+ insert_after(2, "</PercentType>");
+ insert_after(2, "</Symbols>");
+ insert_before(2, "<Symbols>");
+ insert_before(0, "<PercentType>");
}
;
}
symbol_list_free ($3);
current_type = NULL;
+ insert_after(2, "</PrecedenceDeclaration>");
+ insert_after(2, "</SymbolsPrec>");
+ insert_before(2, "<SymbolsPrec>");
+ insert_before(0, "<PrecedenceDeclaration>");
}
;
precedence_declarator:
- "%left" { $$ = left_assoc; }
-| "%right" { $$ = right_assoc; }
-| "%nonassoc" { $$ = non_assoc; }
-| "%precedence" { $$ = precedence_assoc; }
+ "%left" { $$ = left_assoc; insert_after(0, "</PrecedenceDeclaration_Left>"); insert_before(0, "<PrecedenceDeclaration_Left>"); }
+| "%right" { $$ = right_assoc; insert_after(0, "</PrecedenceDeclaration_Right>"); insert_before(0, "<PrecedenceDeclaration_Right>"); }
+| "%nonassoc" { $$ = non_assoc; insert_after(0, "</PrecedenceDeclaration_Non>"); insert_before(0, "<PrecedenceDeclaration_Non>"); }
+| "%precedence" { $$ = precedence_assoc; insert_after(0, "</PrecedenceDeclaration_Precedence>"); insert_before(0, "<PrecedenceDeclaration_Precedence>"); }
;
tag.opt:
- %empty { current_type = NULL; }
+ %empty { current_type = NULL; insert_before(0, "<NoTag />"); }
| TAG { current_type = $1; tag_seen = true; }
;
$$ = $1;
symbol_user_token_number_set ($1, $2, @2);
symbol_class_set ($1, token_sym, @1, false);
+ insert_after(1, "</SymbolInt>");
+ insert_before(0, "<SymbolInt>");
}
;
symbol_class_set ($1, current_class, @1, true);
symbol_type_set ($1, current_type, @1);
symbol_user_token_number_set ($1, $2, @2);
+ insert_after(1, "</IdInt>");
+ insert_before(0, "<IdInt>");
}
| id string_as_id
{
symbol_class_set ($1, current_class, @1, true);
symbol_type_set ($1, current_type, @1);
symbol_make_alias ($1, $2, @$);
+ insert_after(1, "</IdString>");
+ insert_before(0, "<IdString>");
}
| id INT string_as_id
{
symbol_type_set ($1, current_type, @1);
symbol_user_token_number_set ($1, $2, @2);
symbol_make_alias ($1, $3, @$);
+ insert_after(1, "</IdIntString>");
+ insert_before(0, "<IdIntString>");
}
;
{
/* Free the current lhs. */
current_lhs (0, @1, 0);
- insert_after(3, "</Rule>");
- insert_after(3, "</Productions>");
- insert_before(3, "<Productions>");
- insert_before(0, "<Rule>");
+ insert_after(3, "</Rules>");
+ insert_after(3, "</RHSes>");
+ insert_before(3, "<RHSes>");
+ insert_before(0, "<Rules>");
}
;
rhses.1:
rhs { grammar_current_rule_end (@1); /*}*/
- /* this should be done inside the rule with a more descriptive tag */
- insert_after(0, "</Production>");
- insert_before(0, "<Production>");
+ insert_after(0, "</RHS>");
+ insert_before(0, "<RHS>");
}
| rhses.1 "|" rhs { grammar_current_rule_end (@3); /*}*/
- /* this should be done inside the rule with a more descriptive tag */
- insert_after(2, "</Production>");
- insert_before(2, "<Production>");
+ insert_after(2, "</RHS>");
+ insert_before(2, "<RHS>");
}
| rhses.1 ";"
;
{ grammar_current_rule_begin (current_lhs_symbol, current_lhs_location,
current_lhs_named_ref); }
| rhs symbol named_ref.opt
- { grammar_current_rule_symbol_append ($2, @2, $3); }
+ { grammar_current_rule_symbol_append ($2, @2, $3); insert_after(2, "</RHSSymbol>"); insert_before(1, "<RHSSymbol>"); }
| rhs "{...}" named_ref.opt
- { grammar_current_rule_action_append ($2, @2, $3, false); }
+ { grammar_current_rule_action_append ($2, @2, $3, false); insert_after(2, "</RHSAction>"); insert_after(0, "<RHSAction>"); }
| rhs "%?{...}"
{ grammar_current_rule_action_append ($2, @2, NULL, true); }
| rhs "%empty"
- { grammar_current_rule_empty_set (@2); }
+ { grammar_current_rule_empty_set (@2); insert_after(1, "</RHSEmpty>"); insert_before(1, "<RHSEmpty>"); }
| rhs "%prec" symbol
- { grammar_current_rule_prec_set ($3, @3); }
+ { grammar_current_rule_prec_set ($3, @3); insert_after(2, "</RHSPrec>"); insert_before(1, "<RHSPrec>"); }
| rhs "%dprec" INT
- { grammar_current_rule_dprec_set ($3, @3); }
+ { grammar_current_rule_dprec_set ($3, @3); insert_after(2, "</RHSDPrec>"); insert_before(1, "<RHSDPrec>"); }
| rhs "%merge" TAG
- { grammar_current_rule_merge_set ($3, @3); }
+ { grammar_current_rule_merge_set ($3, @3); insert_after(2, "</RHSMerge>"); insert_before(1, "<RHSMerge>"); }
;
named_ref.opt:
- %empty { $$ = 0; }
+ %empty { $$ = 0; insert_before(0, "<NoNamedRef />"); }
| BRACKETED_ID { $$ = named_ref_new ($1, @1); }
;
} <value>;
value:
- %empty { $$.kind = muscle_keyword; $$.chars = ""; }
+ %empty { $$.kind = muscle_keyword; $$.chars = ""; insert_before(0, "<NoValue />"); }
| ID { $$.kind = muscle_keyword; $$.chars = $1; }
| STRING { $$.kind = muscle_string; $$.chars = $1; }
| "{...}" { $$.kind = muscle_code; $$.chars = strip_braces ($1); }
muscle_code_grow ("epilogue", translate_code ($2, @2, true), @2);
code_scanner_last_string_free ();
insert_after(1, "</Sect3>");
- insert_before(1, "<Sect3>");
+ insert_after(0, "<Sect3>");
}
;
static yyconst flex_int16_t yy_rule_linenum[130] =
{ 0,
- 188, 191, 192, 193, 201, 219, 220, 221, 222, 223,
- 224, 225, 226, 227, 228, 229, 230, 231, 232, 233,
- 234, 235, 236, 237, 238, 239, 240, 241, 242, 243,
- 244, 245, 246, 247, 248, 249, 250, 251, 252, 253,
- 254, 255, 256, 257, 258, 259, 260, 261, 262, 263,
- 266, 267, 268, 269, 270, 271, 272, 273, 274, 275,
- 276, 278, 282, 283, 284, 286, 298, 312, 329, 334,
- 337, 340, 343, 353, 362, 363, 364, 372, 379, 386,
- 406, 416, 431, 443, 474, 487, 503, 518, 535, 536,
- 547, 558, 559, 571, 580, 590, 610, 622, 637, 638,
-
- 649, 664, 680, 681, 682, 683, 684, 685, 686, 689,
- 691, 705, 723, 728, 729, 735, 736, 747, 755, 763,
- 769, 785, 786, 790, 797, 815, 837, 871, 872
+ 185, 188, 189, 190, 198, 216, 217, 218, 219, 220,
+ 221, 222, 223, 224, 225, 226, 227, 228, 229, 230,
+ 231, 232, 233, 234, 235, 236, 237, 238, 239, 240,
+ 241, 242, 243, 244, 245, 246, 247, 248, 249, 250,
+ 251, 252, 253, 254, 255, 256, 257, 258, 259, 260,
+ 263, 264, 265, 266, 267, 268, 269, 270, 271, 272,
+ 273, 275, 279, 280, 281, 283, 295, 309, 326, 331,
+ 334, 337, 340, 350, 359, 360, 361, 369, 376, 383,
+ 403, 413, 428, 438, 465, 478, 494, 509, 526, 527,
+ 538, 549, 550, 562, 571, 581, 601, 613, 628, 629,
+
+ 640, 655, 671, 672, 673, 674, 675, 676, 677, 680,
+ 682, 696, 714, 719, 720, 726, 727, 738, 746, 754,
+ 760, 776, 777, 781, 788, 806, 828, 862, 863
} ;
/* The intent behind this definition is that it'll catch
first = false;
}
- /* Nick */
- int piece0_save; /* because of lookahead for : after identifer */
-
/*-----------------------.
| Scanning white space. |
`-----------------------*/
-#line 1446 "src/scan-gram.c"
+#line 1443 "src/scan-gram.c"
if ( !(yy_init) )
{
/* Comments and white space. */
case 1:
YY_RULE_SETUP
-#line 188 "src/scan-gram.l"
+#line 185 "src/scan-gram.l"
{
complain (loc, Wother, _("stray ',' treated as white space"));
}
YY_BREAK
case 2:
/* rule 2 can match eol */
-#line 192 "src/scan-gram.l"
+#line 189 "src/scan-gram.l"
case 3:
/* rule 3 can match eol */
YY_RULE_SETUP
-#line 192 "src/scan-gram.l"
+#line 189 "src/scan-gram.l"
continue;
YY_BREAK
case 4:
YY_RULE_SETUP
-#line 193 "src/scan-gram.l"
+#line 190 "src/scan-gram.l"
{
token_start = loc->start;
context_state = YY_START;
case 5:
/* rule 5 can match eol */
YY_RULE_SETUP
-#line 201 "src/scan-gram.l"
+#line 198 "src/scan-gram.l"
{
handle_syncline (gram_text + sizeof "#line " - 1, *loc);
}
case 6:
YY_RULE_SETUP
-#line 219 "src/scan-gram.l"
+#line 216 "src/scan-gram.l"
return PERCENT_NONASSOC;
YY_BREAK
case 7:
YY_RULE_SETUP
-#line 220 "src/scan-gram.l"
+#line 217 "src/scan-gram.l"
return PERCENT_CODE;
YY_BREAK
case 8:
YY_RULE_SETUP
-#line 221 "src/scan-gram.l"
+#line 218 "src/scan-gram.l"
RETURN_PERCENT_FLAG("parse.trace");
YY_BREAK
case 9:
YY_RULE_SETUP
-#line 222 "src/scan-gram.l"
+#line 219 "src/scan-gram.l"
return PERCENT_DEFAULT_PREC;
YY_BREAK
case 10:
YY_RULE_SETUP
-#line 223 "src/scan-gram.l"
+#line 220 "src/scan-gram.l"
return PERCENT_DEFINE;
YY_BREAK
case 11:
YY_RULE_SETUP
-#line 224 "src/scan-gram.l"
+#line 221 "src/scan-gram.l"
return PERCENT_DEFINES;
YY_BREAK
case 12:
YY_RULE_SETUP
-#line 225 "src/scan-gram.l"
+#line 222 "src/scan-gram.l"
return PERCENT_DESTRUCTOR;
YY_BREAK
case 13:
YY_RULE_SETUP
-#line 226 "src/scan-gram.l"
+#line 223 "src/scan-gram.l"
return PERCENT_DPREC;
YY_BREAK
case 14:
YY_RULE_SETUP
-#line 227 "src/scan-gram.l"
+#line 224 "src/scan-gram.l"
return PERCENT_EMPTY;
YY_BREAK
case 15:
YY_RULE_SETUP
-#line 228 "src/scan-gram.l"
+#line 225 "src/scan-gram.l"
return PERCENT_ERROR_VERBOSE;
YY_BREAK
case 16:
YY_RULE_SETUP
-#line 229 "src/scan-gram.l"
+#line 226 "src/scan-gram.l"
return PERCENT_EXPECT;
YY_BREAK
case 17:
YY_RULE_SETUP
-#line 230 "src/scan-gram.l"
+#line 227 "src/scan-gram.l"
return PERCENT_EXPECT_RR;
YY_BREAK
case 18:
YY_RULE_SETUP
-#line 231 "src/scan-gram.l"
+#line 228 "src/scan-gram.l"
return PERCENT_FILE_PREFIX;
YY_BREAK
case 19:
YY_RULE_SETUP
-#line 232 "src/scan-gram.l"
+#line 229 "src/scan-gram.l"
return PERCENT_YACC;
YY_BREAK
case 20:
YY_RULE_SETUP
-#line 233 "src/scan-gram.l"
+#line 230 "src/scan-gram.l"
return PERCENT_INITIAL_ACTION;
YY_BREAK
case 21:
YY_RULE_SETUP
-#line 234 "src/scan-gram.l"
+#line 231 "src/scan-gram.l"
return PERCENT_GLR_PARSER;
YY_BREAK
case 22:
YY_RULE_SETUP
-#line 235 "src/scan-gram.l"
+#line 232 "src/scan-gram.l"
return PERCENT_LANGUAGE;
YY_BREAK
case 23:
YY_RULE_SETUP
-#line 236 "src/scan-gram.l"
+#line 233 "src/scan-gram.l"
return PERCENT_LEFT;
YY_BREAK
case 24:
YY_RULE_SETUP
-#line 237 "src/scan-gram.l"
+#line 234 "src/scan-gram.l"
RETURN_PERCENT_PARAM(lex);
YY_BREAK
case 25:
YY_RULE_SETUP
-#line 238 "src/scan-gram.l"
+#line 235 "src/scan-gram.l"
RETURN_PERCENT_FLAG("locations");
YY_BREAK
case 26:
YY_RULE_SETUP
-#line 239 "src/scan-gram.l"
+#line 236 "src/scan-gram.l"
return PERCENT_MERGE;
YY_BREAK
case 27:
YY_RULE_SETUP
-#line 240 "src/scan-gram.l"
+#line 237 "src/scan-gram.l"
return PERCENT_NAME_PREFIX;
YY_BREAK
case 28:
YY_RULE_SETUP
-#line 241 "src/scan-gram.l"
+#line 238 "src/scan-gram.l"
return PERCENT_NO_DEFAULT_PREC;
YY_BREAK
case 29:
YY_RULE_SETUP
-#line 242 "src/scan-gram.l"
+#line 239 "src/scan-gram.l"
return PERCENT_NO_LINES;
YY_BREAK
case 30:
YY_RULE_SETUP
-#line 243 "src/scan-gram.l"
+#line 240 "src/scan-gram.l"
return PERCENT_NONASSOC;
YY_BREAK
case 31:
YY_RULE_SETUP
-#line 244 "src/scan-gram.l"
+#line 241 "src/scan-gram.l"
return PERCENT_NONDETERMINISTIC_PARSER;
YY_BREAK
case 32:
YY_RULE_SETUP
-#line 245 "src/scan-gram.l"
+#line 242 "src/scan-gram.l"
return PERCENT_NTERM;
YY_BREAK
case 33:
YY_RULE_SETUP
-#line 246 "src/scan-gram.l"
+#line 243 "src/scan-gram.l"
return PERCENT_OUTPUT;
YY_BREAK
case 34:
YY_RULE_SETUP
-#line 247 "src/scan-gram.l"
+#line 244 "src/scan-gram.l"
RETURN_PERCENT_PARAM(both);
YY_BREAK
case 35:
YY_RULE_SETUP
-#line 248 "src/scan-gram.l"
+#line 245 "src/scan-gram.l"
RETURN_PERCENT_PARAM(parse);
YY_BREAK
case 36:
YY_RULE_SETUP
-#line 249 "src/scan-gram.l"
+#line 246 "src/scan-gram.l"
return PERCENT_PREC;
YY_BREAK
case 37:
YY_RULE_SETUP
-#line 250 "src/scan-gram.l"
+#line 247 "src/scan-gram.l"
return PERCENT_PRECEDENCE;
YY_BREAK
case 38:
YY_RULE_SETUP
-#line 251 "src/scan-gram.l"
+#line 248 "src/scan-gram.l"
return PERCENT_PRINTER;
YY_BREAK
case 39:
YY_RULE_SETUP
-#line 252 "src/scan-gram.l"
+#line 249 "src/scan-gram.l"
RETURN_PERCENT_FLAG("api.pure");
YY_BREAK
case 40:
YY_RULE_SETUP
-#line 253 "src/scan-gram.l"
+#line 250 "src/scan-gram.l"
return PERCENT_REQUIRE;
YY_BREAK
case 41:
YY_RULE_SETUP
-#line 254 "src/scan-gram.l"
+#line 251 "src/scan-gram.l"
return PERCENT_RIGHT;
YY_BREAK
case 42:
YY_RULE_SETUP
-#line 255 "src/scan-gram.l"
+#line 252 "src/scan-gram.l"
return PERCENT_SKELETON;
YY_BREAK
case 43:
YY_RULE_SETUP
-#line 256 "src/scan-gram.l"
+#line 253 "src/scan-gram.l"
return PERCENT_START;
YY_BREAK
case 44:
YY_RULE_SETUP
-#line 257 "src/scan-gram.l"
+#line 254 "src/scan-gram.l"
return PERCENT_TOKEN;
YY_BREAK
case 45:
YY_RULE_SETUP
-#line 258 "src/scan-gram.l"
+#line 255 "src/scan-gram.l"
return PERCENT_TOKEN;
YY_BREAK
case 46:
YY_RULE_SETUP
-#line 259 "src/scan-gram.l"
+#line 256 "src/scan-gram.l"
return PERCENT_TOKEN_TABLE;
YY_BREAK
case 47:
YY_RULE_SETUP
-#line 260 "src/scan-gram.l"
+#line 257 "src/scan-gram.l"
return PERCENT_TYPE;
YY_BREAK
case 48:
YY_RULE_SETUP
-#line 261 "src/scan-gram.l"
+#line 258 "src/scan-gram.l"
return PERCENT_UNION;
YY_BREAK
case 49:
YY_RULE_SETUP
-#line 262 "src/scan-gram.l"
+#line 259 "src/scan-gram.l"
return PERCENT_VERBOSE;
YY_BREAK
case 50:
YY_RULE_SETUP
-#line 263 "src/scan-gram.l"
+#line 260 "src/scan-gram.l"
return PERCENT_YACC;
YY_BREAK
/* deprecated */
case 51:
YY_RULE_SETUP
-#line 266 "src/scan-gram.l"
+#line 263 "src/scan-gram.l"
DEPRECATED("%default-prec");
YY_BREAK
case 52:
YY_RULE_SETUP
-#line 267 "src/scan-gram.l"
+#line 264 "src/scan-gram.l"
DEPRECATED("%define parse.error verbose");
YY_BREAK
case 53:
YY_RULE_SETUP
-#line 268 "src/scan-gram.l"
+#line 265 "src/scan-gram.l"
DEPRECATED("%expect-rr");
YY_BREAK
case 54:
/* rule 54 can match eol */
YY_RULE_SETUP
-#line 269 "src/scan-gram.l"
+#line 266 "src/scan-gram.l"
DEPRECATED("%file-prefix");
YY_BREAK
case 55:
YY_RULE_SETUP
-#line 270 "src/scan-gram.l"
+#line 267 "src/scan-gram.l"
DEPRECATED("%fixed-output-files");
YY_BREAK
case 56:
/* rule 56 can match eol */
YY_RULE_SETUP
-#line 271 "src/scan-gram.l"
+#line 268 "src/scan-gram.l"
DEPRECATED("%name-prefix");
YY_BREAK
case 57:
YY_RULE_SETUP
-#line 272 "src/scan-gram.l"
+#line 269 "src/scan-gram.l"
DEPRECATED("%no-default-prec");
YY_BREAK
case 58:
YY_RULE_SETUP
-#line 273 "src/scan-gram.l"
+#line 270 "src/scan-gram.l"
DEPRECATED("%no-lines");
YY_BREAK
case 59:
/* rule 59 can match eol */
YY_RULE_SETUP
-#line 274 "src/scan-gram.l"
+#line 271 "src/scan-gram.l"
DEPRECATED("%output");
YY_BREAK
case 60:
YY_RULE_SETUP
-#line 275 "src/scan-gram.l"
+#line 272 "src/scan-gram.l"
DEPRECATED("%pure-parser");
YY_BREAK
case 61:
YY_RULE_SETUP
-#line 276 "src/scan-gram.l"
+#line 273 "src/scan-gram.l"
DEPRECATED("%token-table");
YY_BREAK
case 62:
YY_RULE_SETUP
-#line 278 "src/scan-gram.l"
+#line 275 "src/scan-gram.l"
{
complain (loc, complaint, _("invalid directive: %s"), quote (gram_text));
}
YY_BREAK
case 63:
YY_RULE_SETUP
-#line 282 "src/scan-gram.l"
+#line 279 "src/scan-gram.l"
return EQUAL;
YY_BREAK
case 64:
YY_RULE_SETUP
-#line 283 "src/scan-gram.l"
+#line 280 "src/scan-gram.l"
return PIPE;
YY_BREAK
case 65:
YY_RULE_SETUP
-#line 284 "src/scan-gram.l"
+#line 281 "src/scan-gram.l"
return SEMICOLON;
YY_BREAK
case 66:
YY_RULE_SETUP
-#line 286 "src/scan-gram.l"
+#line 283 "src/scan-gram.l"
{
val->uniqstr = uniqstr_new (gram_text);
id_loc = *loc;
bracketed_id_str = NULL;
BEGIN SC_AFTER_IDENTIFIER;
piece_pack();
- piece0_save = piece0;
piece[piece1++] = strdup("<Id>");
flush();
piece[piece1++] = strdup("</Id>");
+ piece_pack();
}
YY_BREAK
case 67:
YY_RULE_SETUP
-#line 298 "src/scan-gram.l"
+#line 295 "src/scan-gram.l"
{
val->integer = scan_integer (gram_text, 10, *loc);
#if 1
piece_pack();
sprintf(piece_temp, "<Int value=\"%d\">", val->integer);
piece[piece1++] = strdup(piece_temp);
- piece[piece1++] = strdup(gram_text);
+ piece_esc(gram_text, yy_c_buf_p - gram_text);
piece[piece1++] = strdup("</Int>");
piece_pack();
return ~INT;
YY_BREAK
case 68:
YY_RULE_SETUP
-#line 312 "src/scan-gram.l"
+#line 309 "src/scan-gram.l"
{
val->integer = scan_integer (gram_text, 16, *loc);
#if 1
piece_pack();
sprintf(piece_temp, "<Int value=\"%d\">", val->integer);
piece[piece1++] = strdup(piece_temp);
- piece[piece1++] = strdup(gram_text);
+ piece_esc(gram_text, yy_c_buf_p - gram_text);
piece[piece1++] = strdup("</Integer>");
piece_pack();
return ~INT;
accept "1FOO" as "1 FOO". */
case 69:
YY_RULE_SETUP
-#line 329 "src/scan-gram.l"
+#line 326 "src/scan-gram.l"
{
complain (loc, complaint, _("invalid identifier: %s"), quote (gram_text));
}
/* Characters. */
case 70:
YY_RULE_SETUP
-#line 334 "src/scan-gram.l"
+#line 331 "src/scan-gram.l"
token_start = loc->start; BEGIN SC_ESCAPED_CHARACTER; flush(); piece[piece1++] = strdup("<EscapedCharacter>");
YY_BREAK
/* Strings. */
case 71:
YY_RULE_SETUP
-#line 337 "src/scan-gram.l"
+#line 334 "src/scan-gram.l"
token_start = loc->start; BEGIN SC_ESCAPED_STRING; flush(); piece[piece1++] = strdup("<EscapedString>");
YY_BREAK
/* Prologue. */
case 72:
YY_RULE_SETUP
-#line 340 "src/scan-gram.l"
+#line 337 "src/scan-gram.l"
code_start = loc->start; BEGIN SC_PROLOGUE; flush(); piece[piece1++] = strdup("<Prologue>");
YY_BREAK
/* Code in between braces. */
case 73:
YY_RULE_SETUP
-#line 343 "src/scan-gram.l"
+#line 340 "src/scan-gram.l"
{
STRING_GROW;
nesting = 0;
case 74:
/* rule 74 can match eol */
YY_RULE_SETUP
-#line 353 "src/scan-gram.l"
+#line 350 "src/scan-gram.l"
{
nesting = 0;
code_start = loc->start;
/* A type. */
case 75:
YY_RULE_SETUP
-#line 362 "src/scan-gram.l"
+#line 359 "src/scan-gram.l"
piece_pack(); piece[piece1++] = strdup("<<TagAny>*</TagAny>>"); ++piece0; return ~TAG_ANY; /*return TAG_ANY;*/
YY_BREAK
case 76:
YY_RULE_SETUP
-#line 363 "src/scan-gram.l"
+#line 360 "src/scan-gram.l"
piece_pack(); piece[piece1++] = strdup("<<TagNone />>"); ++piece0; return ~TAG_NONE; /*return TAG_NONE;*/
YY_BREAK
case 77:
YY_RULE_SETUP
-#line 364 "src/scan-gram.l"
+#line 361 "src/scan-gram.l"
{
nesting = 0;
token_start = loc->start;
YY_BREAK
case 78:
YY_RULE_SETUP
-#line 372 "src/scan-gram.l"
+#line 369 "src/scan-gram.l"
{
static int percent_percent_count;
if (++percent_percent_count == 2)
YY_BREAK
case 79:
YY_RULE_SETUP
-#line 379 "src/scan-gram.l"
+#line 376 "src/scan-gram.l"
{
bracketed_id_str = NULL;
bracketed_id_start = loc->start;
YY_BREAK
case 80:
YY_RULE_SETUP
-#line 386 "src/scan-gram.l"
+#line 383 "src/scan-gram.l"
{
complain (loc, complaint, "%s: %s",
ngettext ("invalid character", "invalid characters", gram_leng),
}
YY_BREAK
case YY_STATE_EOF(INITIAL):
-#line 392 "src/scan-gram.l"
+#line 389 "src/scan-gram.l"
{
loc->start = loc->end = scanner_cursor;
yyterminate ();
case 81:
YY_RULE_SETUP
-#line 406 "src/scan-gram.l"
+#line 403 "src/scan-gram.l"
complain (loc, complaint, _("invalid null character"));
YY_BREAK
case 82:
YY_RULE_SETUP
-#line 416 "src/scan-gram.l"
+#line 413 "src/scan-gram.l"
{
if (bracketed_id_str) /* SHOULDN'T THIS BE if (!bracketed_id_str) ??? */
{
YY_BREAK
case 83:
YY_RULE_SETUP
-#line 431 "src/scan-gram.l"
+#line 428 "src/scan-gram.l"
{
BEGIN (bracketed_id_str ? SC_RETURN_BRACKETED_ID : INITIAL);
*loc = id_loc;
#if 1
- piece[piece1++] = strdup(gram_text);
- piece0 = piece0_save;
- piece_pack();
+ piece_esc(gram_text, yy_c_buf_p - gram_text);
return ~ID_COLON;
#else
return ID_COLON;
YY_BREAK
case 84:
YY_RULE_SETUP
-#line 443 "src/scan-gram.l"
+#line 438 "src/scan-gram.l"
{
ROLLBACK_CURRENT_TOKEN;
BEGIN (bracketed_id_str ? SC_RETURN_BRACKETED_ID : INITIAL);
*loc = id_loc;
#if 1
- piece0 = piece0_save;
- piece_pack();
return ~ID;
#else
return ID;
}
YY_BREAK
case YY_STATE_EOF(SC_AFTER_IDENTIFIER):
-#line 455 "src/scan-gram.l"
+#line 448 "src/scan-gram.l"
{
BEGIN (bracketed_id_str ? SC_RETURN_BRACKETED_ID : INITIAL);
*loc = id_loc;
#if 1
- piece0 = piece0_save;
- piece_pack();
return ~ID;
#else
return ID;
case 85:
YY_RULE_SETUP
-#line 474 "src/scan-gram.l"
+#line 465 "src/scan-gram.l"
{
if (bracketed_id_str)
{
YY_BREAK
case 86:
YY_RULE_SETUP
-#line 487 "src/scan-gram.l"
+#line 478 "src/scan-gram.l"
{
BEGIN bracketed_id_context_state;
if (bracketed_id_str)
YY_BREAK
case 87:
YY_RULE_SETUP
-#line 503 "src/scan-gram.l"
+#line 494 "src/scan-gram.l"
{
complain (loc, complaint, "%s: %s",
ngettext ("invalid character in bracketed name",
}
YY_BREAK
case YY_STATE_EOF(SC_BRACKETED_ID):
-#line 510 "src/scan-gram.l"
+#line 501 "src/scan-gram.l"
{
BEGIN bracketed_id_context_state;
unexpected_eof (bracketed_id_start, "]");
case 88:
YY_RULE_SETUP
-#line 518 "src/scan-gram.l"
+#line 509 "src/scan-gram.l"
{
ROLLBACK_CURRENT_TOKEN;
val->uniqstr = bracketed_id_str;
case 89:
YY_RULE_SETUP
-#line 535 "src/scan-gram.l"
+#line 526 "src/scan-gram.l"
BEGIN context_state;
YY_BREAK
case 90:
/* rule 90 can match eol */
YY_RULE_SETUP
-#line 536 "src/scan-gram.l"
+#line 527 "src/scan-gram.l"
continue;
YY_BREAK
case YY_STATE_EOF(SC_YACC_COMMENT):
-#line 537 "src/scan-gram.l"
+#line 528 "src/scan-gram.l"
unexpected_eof (token_start, "*/"); BEGIN context_state;
YY_BREAK
case 91:
/* rule 91 can match eol */
YY_RULE_SETUP
-#line 547 "src/scan-gram.l"
+#line 538 "src/scan-gram.l"
STRING_GROW; BEGIN context_state;
YY_BREAK
case YY_STATE_EOF(SC_COMMENT):
-#line 548 "src/scan-gram.l"
+#line 539 "src/scan-gram.l"
unexpected_eof (token_start, "*/"); BEGIN context_state;
YY_BREAK
case 92:
/* rule 92 can match eol */
YY_RULE_SETUP
-#line 558 "src/scan-gram.l"
+#line 549 "src/scan-gram.l"
STRING_GROW; BEGIN context_state;
YY_BREAK
case 93:
/* rule 93 can match eol */
YY_RULE_SETUP
-#line 559 "src/scan-gram.l"
+#line 550 "src/scan-gram.l"
STRING_GROW;
YY_BREAK
case YY_STATE_EOF(SC_LINE_COMMENT):
-#line 560 "src/scan-gram.l"
+#line 551 "src/scan-gram.l"
BEGIN context_state;
YY_BREAK
case 94:
YY_RULE_SETUP
-#line 571 "src/scan-gram.l"
+#line 562 "src/scan-gram.l"
{
STRING_FINISH;
loc->start = token_start;
}
YY_BREAK
case YY_STATE_EOF(SC_ESCAPED_STRING):
-#line 579 "src/scan-gram.l"
+#line 570 "src/scan-gram.l"
unexpected_eof (token_start, "\"");
YY_BREAK
case 95:
/* rule 95 can match eol */
YY_RULE_SETUP
-#line 580 "src/scan-gram.l"
+#line 571 "src/scan-gram.l"
unexpected_newline (token_start, "\"");
YY_BREAK
case 96:
YY_RULE_SETUP
-#line 590 "src/scan-gram.l"
+#line 581 "src/scan-gram.l"
{
STRING_FINISH;
loc->start = token_start;
case 97:
/* rule 97 can match eol */
YY_RULE_SETUP
-#line 610 "src/scan-gram.l"
+#line 601 "src/scan-gram.l"
unexpected_newline (token_start, "'");
YY_BREAK
case YY_STATE_EOF(SC_ESCAPED_CHARACTER):
-#line 611 "src/scan-gram.l"
+#line 602 "src/scan-gram.l"
unexpected_eof (token_start, "'");
YY_BREAK
case 98:
YY_RULE_SETUP
-#line 622 "src/scan-gram.l"
+#line 613 "src/scan-gram.l"
{
--nesting;
if (nesting < 0)
case 99:
/* rule 99 can match eol */
YY_RULE_SETUP
-#line 637 "src/scan-gram.l"
+#line 628 "src/scan-gram.l"
STRING_GROW;
YY_BREAK
case 100:
YY_RULE_SETUP
-#line 638 "src/scan-gram.l"
+#line 629 "src/scan-gram.l"
STRING_GROW; nesting += gram_leng;
YY_BREAK
case YY_STATE_EOF(SC_TAG):
-#line 640 "src/scan-gram.l"
+#line 631 "src/scan-gram.l"
unexpected_eof (token_start, ">");
YY_BREAK
case 101:
YY_RULE_SETUP
-#line 649 "src/scan-gram.l"
+#line 640 "src/scan-gram.l"
{
unsigned long int c = strtoul (gram_text + 1, NULL, 8);
if (!c || UCHAR_MAX < c)
YY_BREAK
case 102:
YY_RULE_SETUP
-#line 664 "src/scan-gram.l"
+#line 655 "src/scan-gram.l"
{
verify (UCHAR_MAX < ULONG_MAX);
unsigned long int c = strtoul (gram_text + 2, NULL, 16);
YY_BREAK
case 103:
YY_RULE_SETUP
-#line 680 "src/scan-gram.l"
+#line 671 "src/scan-gram.l"
obstack_1grow (&obstack_for_string, '\a'); piece[piece1++] = strdup("<Escape char=\"7\">"); flush(); piece[piece1++] = strdup("</Escape>");
YY_BREAK
case 104:
YY_RULE_SETUP
-#line 681 "src/scan-gram.l"
+#line 672 "src/scan-gram.l"
obstack_1grow (&obstack_for_string, '\b'); piece[piece1++] = strdup("<Escape char=\"8\">"); flush(); piece[piece1++] = strdup("</Escape>");
YY_BREAK
case 105:
YY_RULE_SETUP
-#line 682 "src/scan-gram.l"
+#line 673 "src/scan-gram.l"
obstack_1grow (&obstack_for_string, '\f'); piece[piece1++] = strdup("<Escape char=\"12\">"); flush(); piece[piece1++] = strdup("</Escape>");
YY_BREAK
case 106:
YY_RULE_SETUP
-#line 683 "src/scan-gram.l"
+#line 674 "src/scan-gram.l"
obstack_1grow (&obstack_for_string, '\n'); piece[piece1++] = strdup("<Escape char=\"10\">"); flush(); piece[piece1++] = strdup("</Escape>");
YY_BREAK
case 107:
YY_RULE_SETUP
-#line 684 "src/scan-gram.l"
+#line 675 "src/scan-gram.l"
obstack_1grow (&obstack_for_string, '\r'); piece[piece1++] = strdup("<Escape char=\"13\">"); flush(); piece[piece1++] = strdup("</Escape>");
YY_BREAK
case 108:
YY_RULE_SETUP
-#line 685 "src/scan-gram.l"
+#line 676 "src/scan-gram.l"
obstack_1grow (&obstack_for_string, '\t'); piece[piece1++] = strdup("<Escape char=\"9\">"); flush(); piece[piece1++] = strdup("</Escape>");
YY_BREAK
case 109:
YY_RULE_SETUP
-#line 686 "src/scan-gram.l"
+#line 677 "src/scan-gram.l"
obstack_1grow (&obstack_for_string, '\v'); piece[piece1++] = strdup("<Escape char=\"11\">"); flush(); piece[piece1++] = strdup("</Escape>");
YY_BREAK
/* \\[\"\'?\\] would be shorter, but it confuses xgettext. */
case 110:
YY_RULE_SETUP
-#line 689 "src/scan-gram.l"
+#line 680 "src/scan-gram.l"
obstack_1grow (&obstack_for_string, gram_text[1]); sprintf(piece_temp, "<Escape char=\"%d\">", gram_text[1]); piece[piece1++] = strdup(piece_temp); flush(); piece[piece1++] = strdup("</Escape>");
YY_BREAK
case 111:
YY_RULE_SETUP
-#line 691 "src/scan-gram.l"
+#line 682 "src/scan-gram.l"
{
int c = convert_ucn_to_byte (gram_text);
if (c <= 0)
case 112:
/* rule 112 can match eol */
YY_RULE_SETUP
-#line 705 "src/scan-gram.l"
+#line 696 "src/scan-gram.l"
{
char const *p = gram_text + 1;
/* Quote only if escaping won't make the character visible. */
case 113:
/* rule 113 can match eol */
YY_RULE_SETUP
-#line 723 "src/scan-gram.l"
+#line 714 "src/scan-gram.l"
STRING_GROW;
YY_BREAK
case 114:
YY_RULE_SETUP
-#line 728 "src/scan-gram.l"
+#line 719 "src/scan-gram.l"
STRING_GROW; BEGIN context_state; /*piece[piece1++] = strdup("</Character>");*/
YY_BREAK
case 115:
/* rule 115 can match eol */
YY_RULE_SETUP
-#line 729 "src/scan-gram.l"
+#line 720 "src/scan-gram.l"
unexpected_newline (token_start, "'");
YY_BREAK
case YY_STATE_EOF(SC_CHARACTER):
-#line 730 "src/scan-gram.l"
+#line 721 "src/scan-gram.l"
unexpected_eof (token_start, "'");
YY_BREAK
case 116:
YY_RULE_SETUP
-#line 735 "src/scan-gram.l"
+#line 726 "src/scan-gram.l"
STRING_GROW; BEGIN context_state; /*piece[piece1++] = strdup("</String>");*/
YY_BREAK
case 117:
/* rule 117 can match eol */
YY_RULE_SETUP
-#line 736 "src/scan-gram.l"
+#line 727 "src/scan-gram.l"
unexpected_newline (token_start, "\"");
YY_BREAK
case YY_STATE_EOF(SC_STRING):
-#line 737 "src/scan-gram.l"
+#line 728 "src/scan-gram.l"
unexpected_eof (token_start, "\"");
YY_BREAK
case 118:
YY_RULE_SETUP
-#line 747 "src/scan-gram.l"
+#line 738 "src/scan-gram.l"
{
STRING_GROW;
context_state = YY_START;
YY_BREAK
case 119:
YY_RULE_SETUP
-#line 755 "src/scan-gram.l"
+#line 746 "src/scan-gram.l"
{
STRING_GROW;
context_state = YY_START;
case 120:
/* rule 120 can match eol */
YY_RULE_SETUP
-#line 763 "src/scan-gram.l"
+#line 754 "src/scan-gram.l"
{
STRING_GROW;
context_state = YY_START;
case 121:
/* rule 121 can match eol */
YY_RULE_SETUP
-#line 769 "src/scan-gram.l"
+#line 760 "src/scan-gram.l"
{
STRING_GROW;
context_state = YY_START;
case 122:
/* rule 122 can match eol */
YY_RULE_SETUP
-#line 785 "src/scan-gram.l"
+#line 776 "src/scan-gram.l"
STRING_GROW; nesting++;
YY_BREAK
case 123:
/* rule 123 can match eol */
YY_RULE_SETUP
-#line 786 "src/scan-gram.l"
+#line 777 "src/scan-gram.l"
STRING_GROW; nesting--;
YY_BREAK
/* Tokenize '<<%' correctly (as '<<' '%') rather than incorrrectly
case 124:
/* rule 124 can match eol */
YY_RULE_SETUP
-#line 790 "src/scan-gram.l"
+#line 781 "src/scan-gram.l"
STRING_GROW;
YY_BREAK
case YY_STATE_EOF(SC_BRACED_CODE):
case YY_STATE_EOF(SC_PREDICATE):
-#line 792 "src/scan-gram.l"
+#line 783 "src/scan-gram.l"
unexpected_eof (code_start, "}");
YY_BREAK
case 125:
YY_RULE_SETUP
-#line 797 "src/scan-gram.l"
+#line 788 "src/scan-gram.l"
{
obstack_1grow (&obstack_for_string, '}');
case 126:
YY_RULE_SETUP
-#line 815 "src/scan-gram.l"
+#line 806 "src/scan-gram.l"
{
--nesting;
if (nesting < 0)
case 127:
YY_RULE_SETUP
-#line 837 "src/scan-gram.l"
+#line 828 "src/scan-gram.l"
{
STRING_FINISH;
loc->start = code_start;
}
YY_BREAK
case YY_STATE_EOF(SC_PROLOGUE):
-#line 846 "src/scan-gram.l"
+#line 837 "src/scan-gram.l"
unexpected_eof (code_start, "%}");
YY_BREAK
case YY_STATE_EOF(SC_EPILOGUE):
-#line 857 "src/scan-gram.l"
+#line 848 "src/scan-gram.l"
{
STRING_FINISH;
loc->start = code_start;
| By default, grow the string obstack with the input. |
`-----------------------------------------------------*/
case 128:
-#line 872 "src/scan-gram.l"
+#line 863 "src/scan-gram.l"
case 129:
/* rule 129 can match eol */
YY_RULE_SETUP
-#line 872 "src/scan-gram.l"
+#line 863 "src/scan-gram.l"
STRING_GROW;
YY_BREAK
case 130:
YY_RULE_SETUP
-#line 874 "src/scan-gram.l"
+#line 865 "src/scan-gram.l"
YY_FATAL_ERROR( "flex scanner jammed" );
YY_BREAK
-#line 2743 "src/scan-gram.c"
+#line 2734 "src/scan-gram.c"
case YY_STATE_EOF(SC_RETURN_BRACKETED_ID):
yyterminate();
/* %ok-for-header */
-#line 874 "src/scan-gram.l"
+#line 865 "src/scan-gram.l"
scanner_cursor = loc->start;
first = false;
}
-
- /* Nick */
- int piece0_save; /* because of lookahead for : after identifer */
%}
bracketed_id_str = NULL;
BEGIN SC_AFTER_IDENTIFIER;
piece_pack();
- piece0_save = piece0;
piece[piece1++] = strdup("<Id>");
flush();
piece[piece1++] = strdup("</Id>");
+ piece_pack();
}
{int} {
piece_pack();
sprintf(piece_temp, "<Int value=\"%d\">", val->integer);
piece[piece1++] = strdup(piece_temp);
- piece[piece1++] = strdup(yytext);
+ piece_esc(yytext, yy_c_buf_p - yytext);
piece[piece1++] = strdup("</Int>");
piece_pack();
return ~INT;
piece_pack();
sprintf(piece_temp, "<Int value=\"%d\">", val->integer);
piece[piece1++] = strdup(piece_temp);
- piece[piece1++] = strdup(yytext);
+ piece_esc(yytext, yy_c_buf_p - yytext);
piece[piece1++] = strdup("</Integer>");
piece_pack();
return ~INT;
BEGIN (bracketed_id_str ? SC_RETURN_BRACKETED_ID : INITIAL);
*loc = id_loc;
#if 1
- piece[piece1++] = strdup(yytext);
- piece0 = piece0_save;
- piece_pack();
+ piece_esc(yytext, yy_c_buf_p - yytext);
return ~ID_COLON;
#else
return ID_COLON;
BEGIN (bracketed_id_str ? SC_RETURN_BRACKETED_ID : INITIAL);
*loc = id_loc;
#if 1
- piece0 = piece0_save;
- piece_pack();
return ~ID;
#else
return ID;
BEGIN (bracketed_id_str ? SC_RETURN_BRACKETED_ID : INITIAL);
*loc = id_loc;
#if 1
- piece0 = piece0_save;
- piece_pack();
return ~ID;
#else
return ID;