param_parse = 1 << 1,
param_both = param_lex | param_parse
} param_type;
-#line 862 "src/parse-gram.y" /* yacc.c:355 */
+#line 892 "src/parse-gram.y" /* yacc.c:355 */
#include "muscle-tab.h"
#line 136 "src/parse-gram.c" /* yacc.c:355 */
named_ref *named_ref;
#line 247 "src/parse-gram.y" /* yacc.c:355 */
param_type param;
-#line 532 "src/parse-gram.y" /* yacc.c:355 */
+#line 534 "src/parse-gram.y" /* yacc.c:355 */
code_props_type code_type;
-#line 864 "src/parse-gram.y" /* yacc.c:355 */
+#line 894 "src/parse-gram.y" /* yacc.c:355 */
struct
{
0, 270, 270, 285, 296, 300, 301, 313, 319, 326,
330, 337, 345, 351, 357, 361, 368, 380, 384, 388,
392, 396, 400, 400, 404, 408, 434, 438, 442, 446,
- 450, 451, 460, 461, 462, 468, 490, 496, 502, 517,
- 535, 536, 546, 547, 553, 572, 572, 581, 581, 590,
- 605, 625, 626, 627, 628, 632, 633, 638, 640, 645,
- 652, 665, 670, 678, 679, 683, 687, 691, 692, 693,
- 698, 703, 710, 719, 727, 741, 742, 751, 752, 758,
- 759, 760, 767, 767, 780, 784, 788, 793, 805, 810,
- 819, 821, 826, 831, 838, 846, 847, 857, 858, 883,
- 884, 885, 886, 898, 900, 909, 914, 915, 920, 928,
- 929
+ 450, 451, 460, 461, 462, 470, 492, 498, 504, 519,
+ 537, 538, 548, 549, 555, 574, 574, 583, 583, 592,
+ 607, 627, 628, 629, 630, 634, 635, 640, 642, 647,
+ 654, 667, 672, 680, 681, 685, 689, 693, 694, 695,
+ 700, 705, 718, 734, 748, 769, 770, 779, 780, 786,
+ 787, 788, 795, 795, 808, 812, 816, 821, 833, 838,
+ 847, 849, 854, 861, 868, 876, 877, 887, 888, 913,
+ 914, 915, 916, 928, 930, 939, 944, 945, 950, 958,
+ 959
};
#endif
break;
case 65: /* code_props_type */
-#line 533 "src/parse-gram.y" /* yacc.c:684 */
+#line 535 "src/parse-gram.y" /* yacc.c:684 */
{ fprintf (yyo, "%s", code_props_type_string (((*yyvaluep).code_type))); }
#line 1103 "src/parse-gram.c" /* yacc.c:684 */
break;
break;
case 89: /* value */
-#line 873 "src/parse-gram.y" /* yacc.c:684 */
+#line 903 "src/parse-gram.y" /* yacc.c:684 */
{
switch (((*yyvaluep).value).kind)
{
{
grammar_start_symbol_set ((yyvsp[0].symbol), (yylsp[0]));
insert_after(1, "</PYACC_Section1Or2_Start>");
+ insert_after(1, "</PYACC_NonterminalRef>");
+ insert_before(1, "<PYACC_NonterminalRef>");
insert_before(0, "<PYACC_Section1Or2_Start>");
}
-#line 2353 "src/parse-gram.c" /* yacc.c:1648 */
+#line 2355 "src/parse-gram.c" /* yacc.c:1648 */
break;
case 35:
-#line 469 "src/parse-gram.y" /* yacc.c:1648 */
+#line 471 "src/parse-gram.y" /* yacc.c:1648 */
{
code_props code;
code_props_symbol_action_init (&code, (yyvsp[-1].code), (yylsp[-1]));
sprintf(gram_piece_temp, "<PYACC_Section1Or2_CodeProps type=\"%d\">", (yyvsp[-2].code_type));
insert_before(0, gram_piece_temp);
}
-#line 2379 "src/parse-gram.c" /* yacc.c:1648 */
+#line 2381 "src/parse-gram.c" /* yacc.c:1648 */
break;
case 36:
-#line 491 "src/parse-gram.y" /* yacc.c:1648 */
+#line 493 "src/parse-gram.y" /* yacc.c:1648 */
{
default_prec = true;
insert_after(0, "</PYACC_Section1Or2_DefaultPrec>");
insert_before(0, "<PYACC_Section1Or2_DefaultPrec value=\"true\">");
}
-#line 2389 "src/parse-gram.c" /* yacc.c:1648 */
+#line 2391 "src/parse-gram.c" /* yacc.c:1648 */
break;
case 37:
-#line 497 "src/parse-gram.y" /* yacc.c:1648 */
+#line 499 "src/parse-gram.y" /* yacc.c:1648 */
{
default_prec = false;
insert_after(0, "</PYACC_Section1Or2_DefaultPrec>");
insert_before(0, "<PYACC_Section1Or2_DefaultPrec>");
}
-#line 2399 "src/parse-gram.c" /* yacc.c:1648 */
+#line 2401 "src/parse-gram.c" /* yacc.c:1648 */
break;
case 38:
-#line 503 "src/parse-gram.y" /* yacc.c:1648 */
+#line 505 "src/parse-gram.y" /* yacc.c:1648 */
{
/* Do not invoke muscle_percent_code_grow here since it invokes
muscle_user_name_list_grow. */
insert_after(1, "</PYACC_Section1Or2_Code>");
insert_before(0, "<PYACC_Section1Or2_Code><PYACC_ID />");
}
-#line 2418 "src/parse-gram.c" /* yacc.c:1648 */
+#line 2420 "src/parse-gram.c" /* yacc.c:1648 */
break;
case 39:
-#line 518 "src/parse-gram.y" /* yacc.c:1648 */
+#line 520 "src/parse-gram.y" /* yacc.c:1648 */
{
code_piece_append("<PYACC_BracedCode>");
muscle_percent_code_grow ((yyvsp[-1].uniqstr), (yylsp[-1]), translate_code_braceless ((yyvsp[0].code), (yylsp[0])), (yylsp[0]));
insert_after(2, "</PYACC_Section1Or2_Code>");
insert_before(0, "<PYACC_Section1Or2_Code>");
}
-#line 2434 "src/parse-gram.c" /* yacc.c:1648 */
+#line 2436 "src/parse-gram.c" /* yacc.c:1648 */
break;
case 40:
-#line 535 "src/parse-gram.y" /* yacc.c:1648 */
+#line 537 "src/parse-gram.y" /* yacc.c:1648 */
{ (yyval.code_type) = destructor; }
-#line 2440 "src/parse-gram.c" /* yacc.c:1648 */
+#line 2442 "src/parse-gram.c" /* yacc.c:1648 */
break;
case 41:
-#line 536 "src/parse-gram.y" /* yacc.c:1648 */
+#line 538 "src/parse-gram.y" /* yacc.c:1648 */
{ (yyval.code_type) = printer; }
-#line 2446 "src/parse-gram.c" /* yacc.c:1648 */
+#line 2448 "src/parse-gram.c" /* yacc.c:1648 */
break;
case 42:
-#line 546 "src/parse-gram.y" /* yacc.c:1648 */
+#line 548 "src/parse-gram.y" /* yacc.c:1648 */
{ insert_before(0, "<PYACC_ID />"); }
-#line 2452 "src/parse-gram.c" /* yacc.c:1648 */
+#line 2454 "src/parse-gram.c" /* yacc.c:1648 */
break;
case 43:
-#line 547 "src/parse-gram.y" /* yacc.c:1648 */
+#line 549 "src/parse-gram.y" /* yacc.c:1648 */
{ muscle_percent_define_insert ("api.value.union.name",
(yylsp[0]), muscle_keyword, (yyvsp[0].uniqstr),
MUSCLE_PERCENT_DEFINE_GRAMMAR_FILE); }
-#line 2460 "src/parse-gram.c" /* yacc.c:1648 */
+#line 2462 "src/parse-gram.c" /* yacc.c:1648 */
break;
case 44:
-#line 554 "src/parse-gram.y" /* yacc.c:1648 */
+#line 556 "src/parse-gram.y" /* yacc.c:1648 */
{
union_seen = true;
code_piece_append("<PYACC_BracedCode>");
insert_after(2, "</PYACC_Section1Or2_Union>");
insert_before(0, "<PYACC_Section1Or2_Union>");
}
-#line 2477 "src/parse-gram.c" /* yacc.c:1648 */
+#line 2479 "src/parse-gram.c" /* yacc.c:1648 */
break;
case 45:
-#line 572 "src/parse-gram.y" /* yacc.c:1648 */
+#line 574 "src/parse-gram.y" /* yacc.c:1648 */
{ current_class = nterm_sym; }
-#line 2483 "src/parse-gram.c" /* yacc.c:1648 */
+#line 2485 "src/parse-gram.c" /* yacc.c:1648 */
break;
case 46:
-#line 573 "src/parse-gram.y" /* yacc.c:1648 */
+#line 575 "src/parse-gram.y" /* yacc.c:1648 */
{
current_class = unknown_sym;
current_type = NULL;
insert_before(2, "<PYACC_Section1Or2_TaggedSymbols>");
insert_before(0, "<PYACC_Section1Or2_NTerm>");
}
-#line 2496 "src/parse-gram.c" /* yacc.c:1648 */
+#line 2498 "src/parse-gram.c" /* yacc.c:1648 */
break;
case 47:
-#line 581 "src/parse-gram.y" /* yacc.c:1648 */
+#line 583 "src/parse-gram.y" /* yacc.c:1648 */
{ current_class = token_sym; }
-#line 2502 "src/parse-gram.c" /* yacc.c:1648 */
+#line 2504 "src/parse-gram.c" /* yacc.c:1648 */
break;
case 48:
-#line 582 "src/parse-gram.y" /* yacc.c:1648 */
+#line 584 "src/parse-gram.y" /* yacc.c:1648 */
{
current_class = unknown_sym;
current_type = NULL;
insert_before(2, "<PYACC_Section1Or2_TaggedSymbols>");
insert_before(0, "<PYACC_Section1Or2_Token>");
}
-#line 2515 "src/parse-gram.c" /* yacc.c:1648 */
+#line 2517 "src/parse-gram.c" /* yacc.c:1648 */
break;
case 49:
-#line 591 "src/parse-gram.y" /* yacc.c:1648 */
+#line 593 "src/parse-gram.y" /* yacc.c:1648 */
{
symbol_list *list;
tag_seen = true;
insert_before(1, "<PYACC_Section1Or2_TaggedSymbols>");
insert_before(0, "<PYACC_Section1Or2_Type>");
}
-#line 2531 "src/parse-gram.c" /* yacc.c:1648 */
+#line 2533 "src/parse-gram.c" /* yacc.c:1648 */
break;
case 50:
-#line 606 "src/parse-gram.y" /* yacc.c:1648 */
+#line 608 "src/parse-gram.y" /* yacc.c:1648 */
{
symbol_list *list;
++current_prec;
sprintf(gram_piece_temp, "<PYACC_Section1Or2_Precedence type=\"%d\">", (yyvsp[-2].assoc));
insert_before(0, gram_piece_temp);
}
-#line 2552 "src/parse-gram.c" /* yacc.c:1648 */
+#line 2554 "src/parse-gram.c" /* yacc.c:1648 */
break;
case 51:
-#line 625 "src/parse-gram.y" /* yacc.c:1648 */
+#line 627 "src/parse-gram.y" /* yacc.c:1648 */
{ (yyval.assoc) = left_assoc; }
-#line 2558 "src/parse-gram.c" /* yacc.c:1648 */
+#line 2560 "src/parse-gram.c" /* yacc.c:1648 */
break;
case 52:
-#line 626 "src/parse-gram.y" /* yacc.c:1648 */
+#line 628 "src/parse-gram.y" /* yacc.c:1648 */
{ (yyval.assoc) = right_assoc; }
-#line 2564 "src/parse-gram.c" /* yacc.c:1648 */
+#line 2566 "src/parse-gram.c" /* yacc.c:1648 */
break;
case 53:
-#line 627 "src/parse-gram.y" /* yacc.c:1648 */
+#line 629 "src/parse-gram.y" /* yacc.c:1648 */
{ (yyval.assoc) = non_assoc; }
-#line 2570 "src/parse-gram.c" /* yacc.c:1648 */
+#line 2572 "src/parse-gram.c" /* yacc.c:1648 */
break;
case 54:
-#line 628 "src/parse-gram.y" /* yacc.c:1648 */
+#line 630 "src/parse-gram.y" /* yacc.c:1648 */
{ (yyval.assoc) = precedence_assoc; }
-#line 2576 "src/parse-gram.c" /* yacc.c:1648 */
+#line 2578 "src/parse-gram.c" /* yacc.c:1648 */
break;
case 55:
-#line 632 "src/parse-gram.y" /* yacc.c:1648 */
+#line 634 "src/parse-gram.y" /* yacc.c:1648 */
{ current_type = NULL; }
-#line 2582 "src/parse-gram.c" /* yacc.c:1648 */
+#line 2584 "src/parse-gram.c" /* yacc.c:1648 */
break;
case 56:
-#line 633 "src/parse-gram.y" /* yacc.c:1648 */
+#line 635 "src/parse-gram.y" /* yacc.c:1648 */
{ current_type = (yyvsp[0].uniqstr); tag_seen = true; }
-#line 2588 "src/parse-gram.c" /* yacc.c:1648 */
+#line 2590 "src/parse-gram.c" /* yacc.c:1648 */
break;
case 57:
-#line 639 "src/parse-gram.y" /* yacc.c:1648 */
+#line 641 "src/parse-gram.y" /* yacc.c:1648 */
{ (yyval.list) = symbol_list_sym_new ((yyvsp[0].symbol), (yylsp[0])); }
-#line 2594 "src/parse-gram.c" /* yacc.c:1648 */
+#line 2596 "src/parse-gram.c" /* yacc.c:1648 */
break;
case 58:
-#line 641 "src/parse-gram.y" /* yacc.c:1648 */
+#line 643 "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 2600 "src/parse-gram.c" /* yacc.c:1648 */
+#line 2602 "src/parse-gram.c" /* yacc.c:1648 */
break;
case 59:
-#line 646 "src/parse-gram.y" /* yacc.c:1648 */
+#line 648 "src/parse-gram.y" /* yacc.c:1648 */
{
(yyval.symbol) = (yyvsp[0].symbol);
symbol_class_set ((yyvsp[0].symbol), token_sym, (yylsp[0]), false);
- insert_after(0, "</PYACC_Section1Or2_Symbol>");
- insert_before(0, "<PYACC_Section1Or2_Symbol>");
+ insert_after(0, "</PYACC_TerminalRef>");
+ insert_before(0, "<PYACC_TerminalRef>");
}
-#line 2611 "src/parse-gram.c" /* yacc.c:1648 */
+#line 2613 "src/parse-gram.c" /* yacc.c:1648 */
break;
case 60:
-#line 653 "src/parse-gram.y" /* yacc.c:1648 */
+#line 655 "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, "</PYACC_Section1Or2_Symbol>");
- sprintf(gram_piece_temp, "<PYACC_Section1Or2_Symbol token=\"%d\">", (yyvsp[0].integer));
+ insert_after(1, "</PYACC_TerminalRef>");
+ sprintf(gram_piece_temp, "<PYACC_TerminalRef user_token=\"%d\">", (yyvsp[0].integer));
insert_before(0, gram_piece_temp);
}
-#line 2624 "src/parse-gram.c" /* yacc.c:1648 */
+#line 2626 "src/parse-gram.c" /* yacc.c:1648 */
break;
case 61:
-#line 666 "src/parse-gram.y" /* yacc.c:1648 */
+#line 668 "src/parse-gram.y" /* yacc.c:1648 */
{ (yyval.list) = symbol_list_sym_new ((yyvsp[0].symbol), (yylsp[0])); /*}*/
- insert_after(0, "</PYACC_Section1Or2_Symbol>");
- insert_before(0, "<PYACC_Section1Or2_Symbol>");
+ insert_after(0, "</PYACC_TerminalRef>");
+ insert_before(0, "<PYACC_TerminalRef>");
}
-#line 2633 "src/parse-gram.c" /* yacc.c:1648 */
+#line 2635 "src/parse-gram.c" /* yacc.c:1648 */
break;
case 62:
-#line 671 "src/parse-gram.y" /* yacc.c:1648 */
+#line 673 "src/parse-gram.y" /* yacc.c:1648 */
{ (yyval.list) = symbol_list_append ((yyvsp[-1].list), symbol_list_sym_new ((yyvsp[0].symbol), (yylsp[0]))); /*}*/
- insert_after(1, "</PYACC_Section1Or2_Symbol>");
- insert_before(1, "<PYACC_Section1Or2_Symbol>");
+ insert_after(1, "</PYACC_TerminalRef>");
+ insert_before(1, "<PYACC_TerminalRef>");
}
-#line 2642 "src/parse-gram.c" /* yacc.c:1648 */
+#line 2644 "src/parse-gram.c" /* yacc.c:1648 */
break;
case 63:
-#line 678 "src/parse-gram.y" /* yacc.c:1648 */
+#line 680 "src/parse-gram.y" /* yacc.c:1648 */
{ (yyval.list) = (yyvsp[0].list); }
-#line 2648 "src/parse-gram.c" /* yacc.c:1648 */
+#line 2650 "src/parse-gram.c" /* yacc.c:1648 */
break;
case 64:
-#line 679 "src/parse-gram.y" /* yacc.c:1648 */
+#line 681 "src/parse-gram.y" /* yacc.c:1648 */
{ (yyval.list) = symbol_list_append ((yyvsp[-1].list), (yyvsp[0].list)); }
-#line 2654 "src/parse-gram.c" /* yacc.c:1648 */
+#line 2656 "src/parse-gram.c" /* yacc.c:1648 */
break;
case 65:
-#line 683 "src/parse-gram.y" /* yacc.c:1648 */
+#line 685 "src/parse-gram.y" /* yacc.c:1648 */
{ (yyval.list) = symbol_list_sym_new ((yyvsp[0].symbol), (yylsp[0])); /*}*/
- insert_after(0, "</PYACC_Section1Or2_Symbol>");
- insert_before(0, "<PYACC_Section1Or2_Symbol>");
+ insert_after(0, "</PYACC_TerminalRef>");
+ insert_before(0, "<PYACC_TerminalRef>");
}
-#line 2663 "src/parse-gram.c" /* yacc.c:1648 */
+#line 2665 "src/parse-gram.c" /* yacc.c:1648 */
break;
case 66:
-#line 687 "src/parse-gram.y" /* yacc.c:1648 */
+#line 689 "src/parse-gram.y" /* yacc.c:1648 */
{ (yyval.list) = symbol_list_type_new ((yyvsp[0].uniqstr), (yylsp[0])); }
-#line 2669 "src/parse-gram.c" /* yacc.c:1648 */
+#line 2671 "src/parse-gram.c" /* yacc.c:1648 */
break;
case 68:
-#line 692 "src/parse-gram.y" /* yacc.c:1648 */
+#line 694 "src/parse-gram.y" /* yacc.c:1648 */
{ (yyval.uniqstr) = uniqstr_new ("*"); }
-#line 2675 "src/parse-gram.c" /* yacc.c:1648 */
+#line 2677 "src/parse-gram.c" /* yacc.c:1648 */
break;
case 69:
-#line 693 "src/parse-gram.y" /* yacc.c:1648 */
+#line 695 "src/parse-gram.y" /* yacc.c:1648 */
{ (yyval.uniqstr) = uniqstr_new (""); }
-#line 2681 "src/parse-gram.c" /* yacc.c:1648 */
+#line 2683 "src/parse-gram.c" /* yacc.c:1648 */
break;
case 70:
-#line 699 "src/parse-gram.y" /* yacc.c:1648 */
+#line 701 "src/parse-gram.y" /* yacc.c:1648 */
{
current_type = (yyvsp[0].uniqstr);
tag_seen = true;
}
-#line 2690 "src/parse-gram.c" /* yacc.c:1648 */
+#line 2692 "src/parse-gram.c" /* yacc.c:1648 */
break;
case 71:
-#line 704 "src/parse-gram.y" /* yacc.c:1648 */
+#line 706 "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]));
- insert_after(0, "</PYACC_Section1Or2_Symbol>");
- insert_before(0, "<PYACC_Section1Or2_Symbol>");
+ if (current_class == nterm_sym) {
+ insert_after(0, "</PYACC_NonterminalRef>");
+ insert_before(0, "<PYACC_NonterminalRef>");
+ }
+ else {
+ insert_after(0, "</PYACC_TerminalRef>");
+ insert_before(0, "<PYACC_TerminalRef>");
+ }
}
-#line 2701 "src/parse-gram.c" /* yacc.c:1648 */
+#line 2709 "src/parse-gram.c" /* yacc.c:1648 */
break;
case 72:
-#line 711 "src/parse-gram.y" /* yacc.c:1648 */
+#line 719 "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, "</PYACC_Section1Or2_Symbol>");
- sprintf(gram_piece_temp, "<PYACC_Section1Or2_Symbol token=\"%d\">", (yyvsp[0].integer));
- insert_before(0, gram_piece_temp);
+ if (current_class == nterm_sym) {
+ insert_after(1, "</PYACC_NonterminalRef>");
+ sprintf(gram_piece_temp, "<PYACC_NonterminalRef user_token=\"%d\">", (yyvsp[0].integer));
+ insert_before(0, gram_piece_temp);
+ }
+ else {
+ insert_after(1, "</PYACC_TerminalRef>");
+ sprintf(gram_piece_temp, "<PYACC_TerminalRef user_token=\"%d\">", (yyvsp[0].integer));
+ insert_before(0, gram_piece_temp);
+ }
}
-#line 2714 "src/parse-gram.c" /* yacc.c:1648 */
+#line 2729 "src/parse-gram.c" /* yacc.c:1648 */
break;
case 73:
-#line 720 "src/parse-gram.y" /* yacc.c:1648 */
+#line 735 "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, "</PYACC_Section1Or2_Symbol>");
- insert_before(0, "<PYACC_Section1Or2_Symbol>");
+ if (current_class == nterm_sym) {
+ insert_after(1, "</PYACC_NonterminalRef>");
+ insert_before(0, "<PYACC_NonterminalRef>");
+ }
+ else {
+ insert_after(1, "</PYACC_TerminalRef>");
+ insert_before(0, "<PYACC_TerminalRef>");
+ }
}
-#line 2726 "src/parse-gram.c" /* yacc.c:1648 */
+#line 2747 "src/parse-gram.c" /* yacc.c:1648 */
break;
case 74:
-#line 728 "src/parse-gram.y" /* yacc.c:1648 */
+#line 749 "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(2, "</PYACC_Section1Or2_Symbol>");
- sprintf(gram_piece_temp, "<PYACC_Section1Or2_Symbol token=\"%d\">", (yyvsp[-1].integer));
- insert_before(0, gram_piece_temp);
+ if (current_class == nterm_sym) {
+ insert_after(2, "</PYACC_NonterminalRef>");
+ sprintf(gram_piece_temp, "<PYACC_NonterminalRef user_token=\"%d\">", (yyvsp[-1].integer));
+ insert_before(0, gram_piece_temp);
+ }
+ else {
+ insert_after(2, "</PYACC_TerminalRef>");
+ sprintf(gram_piece_temp, "<PYACC_TerminalRef user_token=\"%d\">", (yyvsp[-1].integer));
+ insert_before(0, gram_piece_temp);
+ }
}
-#line 2740 "src/parse-gram.c" /* yacc.c:1648 */
+#line 2768 "src/parse-gram.c" /* yacc.c:1648 */
break;
case 81:
-#line 761 "src/parse-gram.y" /* yacc.c:1648 */
+#line 789 "src/parse-gram.y" /* yacc.c:1648 */
{
yyerrok;
}
-#line 2748 "src/parse-gram.c" /* yacc.c:1648 */
+#line 2776 "src/parse-gram.c" /* yacc.c:1648 */
break;
case 82:
-#line 767 "src/parse-gram.y" /* yacc.c:1648 */
+#line 795 "src/parse-gram.y" /* yacc.c:1648 */
{ current_lhs ((yyvsp[-1].symbol), (yylsp[-1]), (yyvsp[0].named_ref)); }
-#line 2754 "src/parse-gram.c" /* yacc.c:1648 */
+#line 2782 "src/parse-gram.c" /* yacc.c:1648 */
break;
case 83:
-#line 768 "src/parse-gram.y" /* yacc.c:1648 */
+#line 796 "src/parse-gram.y" /* yacc.c:1648 */
{
/* Free the current lhs. */
current_lhs (0, (yylsp[-3]), 0);
insert_after(3, "</PYACC_Section2_Rules>");
/* the following will capture the ':', aesthetically unpleasing but benign */
- insert_after(0, "</PYACC_Section1Or2_Symbol>");
- insert_before(0, "<PYACC_Section1Or2_Symbol>");
+ insert_after(0, "</PYACC_NonterminalRef>");
+ insert_before(0, "<PYACC_NonterminalRef>");
insert_before(0, "<PYACC_Section2_Rules>");
}
-#line 2768 "src/parse-gram.c" /* yacc.c:1648 */
+#line 2796 "src/parse-gram.c" /* yacc.c:1648 */
break;
case 84:
-#line 780 "src/parse-gram.y" /* yacc.c:1648 */
+#line 808 "src/parse-gram.y" /* yacc.c:1648 */
{ grammar_current_rule_end ((yylsp[0])); /*}*/
insert_after(0, "</PYACC_Production>");
insert_before(0, "<PYACC_Production>");
}
-#line 2777 "src/parse-gram.c" /* yacc.c:1648 */
+#line 2805 "src/parse-gram.c" /* yacc.c:1648 */
break;
case 85:
-#line 784 "src/parse-gram.y" /* yacc.c:1648 */
+#line 812 "src/parse-gram.y" /* yacc.c:1648 */
{ grammar_current_rule_end ((yylsp[0])); /*}*/
insert_after(2, "</PYACC_Production>");
insert_before(2, "<PYACC_Production>");
}
-#line 2786 "src/parse-gram.c" /* yacc.c:1648 */
+#line 2814 "src/parse-gram.c" /* yacc.c:1648 */
break;
case 87:
-#line 794 "src/parse-gram.y" /* yacc.c:1648 */
+#line 822 "src/parse-gram.y" /* yacc.c:1648 */
{ grammar_current_rule_begin (current_lhs_symbol, current_lhs_location,
current_lhs_named_ref); /*}*/
/* in this case, want empty rule associated with stuff on the right of us */
gram_piece[gram_piece2] = gram_piece[gram_piece2 - 1]; /* empty */
gram_piece[gram_piece2 - 1] = temp;
}
-#line 2802 "src/parse-gram.c" /* yacc.c:1648 */
+#line 2830 "src/parse-gram.c" /* yacc.c:1648 */
break;
case 88:
-#line 806 "src/parse-gram.y" /* yacc.c:1648 */
+#line 834 "src/parse-gram.y" /* yacc.c:1648 */
{ grammar_current_rule_symbol_append ((yyvsp[-1].symbol), (yylsp[-1]), (yyvsp[0].named_ref)); /*}*/
insert_after(2, "</PYACC_Production_Symbol>");
insert_before(1, "<PYACC_Production_Symbol>");
}
-#line 2811 "src/parse-gram.c" /* yacc.c:1648 */
+#line 2839 "src/parse-gram.c" /* yacc.c:1648 */
break;
case 89:
-#line 811 "src/parse-gram.y" /* yacc.c:1648 */
+#line 839 "src/parse-gram.y" /* yacc.c:1648 */
{ code_piece_append("<PYACC_BracedCode>"); grammar_current_rule_action_append ((yyvsp[-1].code), (yylsp[-1]), (yyvsp[0].named_ref), false); /*}*/
code_piece_append("</PYACC_BracedCode>");
code_piece_pack();
insert_after(2, "</PYACC_Production_Action>");
insert_before(1, "<PYACC_Production_Action>");
}
-#line 2824 "src/parse-gram.c" /* yacc.c:1648 */
+#line 2852 "src/parse-gram.c" /* yacc.c:1648 */
break;
case 90:
-#line 820 "src/parse-gram.y" /* yacc.c:1648 */
+#line 848 "src/parse-gram.y" /* yacc.c:1648 */
{ grammar_current_rule_action_append ((yyvsp[0].code), (yylsp[0]), NULL, true); }
-#line 2830 "src/parse-gram.c" /* yacc.c:1648 */
+#line 2858 "src/parse-gram.c" /* yacc.c:1648 */
break;
case 91:
-#line 822 "src/parse-gram.y" /* yacc.c:1648 */
+#line 850 "src/parse-gram.y" /* yacc.c:1648 */
{ grammar_current_rule_empty_set ((yylsp[0])); /*}*/
insert_after(1, "</PYACC_Production_Empty>");
insert_before(1, "<PYACC_Production_Empty>");
}
-#line 2839 "src/parse-gram.c" /* yacc.c:1648 */
+#line 2867 "src/parse-gram.c" /* yacc.c:1648 */
break;
case 92:
-#line 827 "src/parse-gram.y" /* yacc.c:1648 */
+#line 855 "src/parse-gram.y" /* yacc.c:1648 */
{ grammar_current_rule_prec_set ((yyvsp[0].symbol), (yylsp[0])); /*}*/
insert_after(2, "</PYACC_Production_Prec>");
+ insert_after(2, "</PYACC_TerminalRef>");
+ insert_before(2, "<PYACC_TerminalRef>");
insert_before(1, "<PYACC_Production_Prec>");
}
-#line 2848 "src/parse-gram.c" /* yacc.c:1648 */
+#line 2878 "src/parse-gram.c" /* yacc.c:1648 */
break;
case 93:
-#line 832 "src/parse-gram.y" /* yacc.c:1648 */
+#line 862 "src/parse-gram.y" /* yacc.c:1648 */
{ grammar_current_rule_dprec_set ((yyvsp[0].integer), (yylsp[0])); /*}*/
insert_after(2, "</PYACC_Production_DPrec>");
insert_after(2, "</PYACC_Int>");
insert_before(2, "<PYACC_Int>");
insert_before(1, "<PYACC_Production_DPrec>");
}
-#line 2859 "src/parse-gram.c" /* yacc.c:1648 */
+#line 2889 "src/parse-gram.c" /* yacc.c:1648 */
break;
case 94:
-#line 839 "src/parse-gram.y" /* yacc.c:1648 */
+#line 869 "src/parse-gram.y" /* yacc.c:1648 */
{ grammar_current_rule_merge_set ((yyvsp[0].uniqstr), (yylsp[0])); /*}*/
insert_after(2, "</PYACC_Production_Merge>");
insert_before(1, "<PYACC_Production_Merge>");
}
-#line 2868 "src/parse-gram.c" /* yacc.c:1648 */
+#line 2898 "src/parse-gram.c" /* yacc.c:1648 */
break;
case 95:
-#line 846 "src/parse-gram.y" /* yacc.c:1648 */
+#line 876 "src/parse-gram.y" /* yacc.c:1648 */
{ (yyval.named_ref) = 0; }
-#line 2874 "src/parse-gram.c" /* yacc.c:1648 */
+#line 2904 "src/parse-gram.c" /* yacc.c:1648 */
break;
case 96:
-#line 847 "src/parse-gram.y" /* yacc.c:1648 */
+#line 877 "src/parse-gram.y" /* yacc.c:1648 */
{ (yyval.named_ref) = named_ref_new ((yyvsp[0].uniqstr), (yylsp[0])); }
-#line 2880 "src/parse-gram.c" /* yacc.c:1648 */
+#line 2910 "src/parse-gram.c" /* yacc.c:1648 */
break;
case 98:
-#line 858 "src/parse-gram.y" /* yacc.c:1648 */
+#line 888 "src/parse-gram.y" /* yacc.c:1648 */
{ (yyval.uniqstr) = uniqstr_new ((yyvsp[0].code)); }
-#line 2886 "src/parse-gram.c" /* yacc.c:1648 */
+#line 2916 "src/parse-gram.c" /* yacc.c:1648 */
break;
case 99:
-#line 883 "src/parse-gram.y" /* yacc.c:1648 */
+#line 913 "src/parse-gram.y" /* yacc.c:1648 */
{ (yyval.value).kind = muscle_keyword; (yyval.value).chars = ""; }
-#line 2892 "src/parse-gram.c" /* yacc.c:1648 */
+#line 2922 "src/parse-gram.c" /* yacc.c:1648 */
break;
case 100:
-#line 884 "src/parse-gram.y" /* yacc.c:1648 */
+#line 914 "src/parse-gram.y" /* yacc.c:1648 */
{ (yyval.value).kind = muscle_keyword; (yyval.value).chars = (yyvsp[0].uniqstr); }
-#line 2898 "src/parse-gram.c" /* yacc.c:1648 */
+#line 2928 "src/parse-gram.c" /* yacc.c:1648 */
break;
case 101:
-#line 885 "src/parse-gram.y" /* yacc.c:1648 */
+#line 915 "src/parse-gram.y" /* yacc.c:1648 */
{ (yyval.value).kind = muscle_string; (yyval.value).chars = (yyvsp[0].code); }
-#line 2904 "src/parse-gram.c" /* yacc.c:1648 */
+#line 2934 "src/parse-gram.c" /* yacc.c:1648 */
break;
case 102:
-#line 886 "src/parse-gram.y" /* yacc.c:1648 */
+#line 916 "src/parse-gram.y" /* yacc.c:1648 */
{ (yyval.value).kind = muscle_code; (yyval.value).chars = strip_braces ((yyvsp[0].code)); }
-#line 2910 "src/parse-gram.c" /* yacc.c:1648 */
+#line 2940 "src/parse-gram.c" /* yacc.c:1648 */
break;
case 103:
-#line 899 "src/parse-gram.y" /* yacc.c:1648 */
+#line 929 "src/parse-gram.y" /* yacc.c:1648 */
{ (yyval.symbol) = symbol_from_uniqstr ((yyvsp[0].uniqstr), (yylsp[0])); }
-#line 2916 "src/parse-gram.c" /* yacc.c:1648 */
+#line 2946 "src/parse-gram.c" /* yacc.c:1648 */
break;
case 104:
-#line 901 "src/parse-gram.y" /* yacc.c:1648 */
+#line 931 "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 2926 "src/parse-gram.c" /* yacc.c:1648 */
+#line 2956 "src/parse-gram.c" /* yacc.c:1648 */
break;
case 105:
-#line 909 "src/parse-gram.y" /* yacc.c:1648 */
+#line 939 "src/parse-gram.y" /* yacc.c:1648 */
{ (yyval.symbol) = symbol_from_uniqstr ((yyvsp[0].uniqstr), (yylsp[0])); }
-#line 2932 "src/parse-gram.c" /* yacc.c:1648 */
+#line 2962 "src/parse-gram.c" /* yacc.c:1648 */
break;
case 108:
-#line 921 "src/parse-gram.y" /* yacc.c:1648 */
+#line 951 "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 2941 "src/parse-gram.c" /* yacc.c:1648 */
+#line 2971 "src/parse-gram.c" /* yacc.c:1648 */
break;
case 110:
-#line 930 "src/parse-gram.y" /* yacc.c:1648 */
+#line 960 "src/parse-gram.y" /* yacc.c:1648 */
{
#if 0
int gram_piece0_save = gram_piece0, gram_piece1_save = gram_piece1;
insert_after(1, "</PYACC_Section3>");
insert_after(0, "<PYACC_Section3>");
}
-#line 2966 "src/parse-gram.c" /* yacc.c:1648 */
+#line 2996 "src/parse-gram.c" /* yacc.c:1648 */
break;
-#line 2970 "src/parse-gram.c" /* yacc.c:1648 */
+#line 3000 "src/parse-gram.c" /* yacc.c:1648 */
default: break;
}
if (yychar_backup != yychar)
#endif
return yyresult;
}
-#line 952 "src/parse-gram.y" /* yacc.c:1907 */
+#line 982 "src/parse-gram.y" /* yacc.c:1907 */
/* Return the location of the left-hand side of a rule whose
{
grammar_start_symbol_set ($2, @2);
insert_after(1, "</PYACC_Section1Or2_Start>");
+ insert_after(1, "</PYACC_NonterminalRef>");
+ insert_before(1, "<PYACC_NonterminalRef>");
insert_before(0, "<PYACC_Section1Or2_Start>");
}
| code_props_type "{...}" generic_symlist
{
$$ = $1;
symbol_class_set ($1, token_sym, @1, false);
- insert_after(0, "</PYACC_Section1Or2_Symbol>");
- insert_before(0, "<PYACC_Section1Or2_Symbol>");
+ insert_after(0, "</PYACC_TerminalRef>");
+ insert_before(0, "<PYACC_TerminalRef>");
}
| symbol INT
{
$$ = $1;
symbol_user_token_number_set ($1, $2, @2);
symbol_class_set ($1, token_sym, @1, false);
- insert_after(1, "</PYACC_Section1Or2_Symbol>");
- sprintf(gram_piece_temp, "<PYACC_Section1Or2_Symbol token=\"%d\">", $2);
+ insert_after(1, "</PYACC_TerminalRef>");
+ sprintf(gram_piece_temp, "<PYACC_TerminalRef user_token=\"%d\">", $2);
insert_before(0, gram_piece_temp);
}
;
symbols.1:
symbol
{ $$ = symbol_list_sym_new ($1, @1); /*}*/
- insert_after(0, "</PYACC_Section1Or2_Symbol>");
- insert_before(0, "<PYACC_Section1Or2_Symbol>");
+ insert_after(0, "</PYACC_TerminalRef>");
+ insert_before(0, "<PYACC_TerminalRef>");
}
| symbols.1 symbol
{ $$ = symbol_list_append ($1, symbol_list_sym_new ($2, @2)); /*}*/
- insert_after(1, "</PYACC_Section1Or2_Symbol>");
- insert_before(1, "<PYACC_Section1Or2_Symbol>");
+ insert_after(1, "</PYACC_TerminalRef>");
+ insert_before(1, "<PYACC_TerminalRef>");
}
;
generic_symlist_item:
symbol { $$ = symbol_list_sym_new ($1, @1); /*}*/
- insert_after(0, "</PYACC_Section1Or2_Symbol>");
- insert_before(0, "<PYACC_Section1Or2_Symbol>");
+ insert_after(0, "</PYACC_TerminalRef>");
+ insert_before(0, "<PYACC_TerminalRef>");
}
| tag { $$ = symbol_list_type_new ($1, @1); }
;
{
symbol_class_set ($1, current_class, @1, true);
symbol_type_set ($1, current_type, @1);
- insert_after(0, "</PYACC_Section1Or2_Symbol>");
- insert_before(0, "<PYACC_Section1Or2_Symbol>");
+ if (current_class == nterm_sym) {
+ insert_after(0, "</PYACC_NonterminalRef>");
+ insert_before(0, "<PYACC_NonterminalRef>");
+ }
+ else {
+ insert_after(0, "</PYACC_TerminalRef>");
+ insert_before(0, "<PYACC_TerminalRef>");
+ }
}
| id INT
{
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, "</PYACC_Section1Or2_Symbol>");
- sprintf(gram_piece_temp, "<PYACC_Section1Or2_Symbol token=\"%d\">", $2);
- insert_before(0, gram_piece_temp);
+ if (current_class == nterm_sym) {
+ insert_after(1, "</PYACC_NonterminalRef>");
+ sprintf(gram_piece_temp, "<PYACC_NonterminalRef user_token=\"%d\">", $2);
+ insert_before(0, gram_piece_temp);
+ }
+ else {
+ insert_after(1, "</PYACC_TerminalRef>");
+ sprintf(gram_piece_temp, "<PYACC_TerminalRef user_token=\"%d\">", $2);
+ insert_before(0, gram_piece_temp);
+ }
}
| 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, "</PYACC_Section1Or2_Symbol>");
- insert_before(0, "<PYACC_Section1Or2_Symbol>");
+ if (current_class == nterm_sym) {
+ insert_after(1, "</PYACC_NonterminalRef>");
+ insert_before(0, "<PYACC_NonterminalRef>");
+ }
+ else {
+ insert_after(1, "</PYACC_TerminalRef>");
+ insert_before(0, "<PYACC_TerminalRef>");
+ }
}
| 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(2, "</PYACC_Section1Or2_Symbol>");
- sprintf(gram_piece_temp, "<PYACC_Section1Or2_Symbol token=\"%d\">", $2);
- insert_before(0, gram_piece_temp);
+ if (current_class == nterm_sym) {
+ insert_after(2, "</PYACC_NonterminalRef>");
+ sprintf(gram_piece_temp, "<PYACC_NonterminalRef user_token=\"%d\">", $2);
+ insert_before(0, gram_piece_temp);
+ }
+ else {
+ insert_after(2, "</PYACC_TerminalRef>");
+ sprintf(gram_piece_temp, "<PYACC_TerminalRef user_token=\"%d\">", $2);
+ insert_before(0, gram_piece_temp);
+ }
}
;
current_lhs (0, @1, 0);
insert_after(3, "</PYACC_Section2_Rules>");
/* the following will capture the ':', aesthetically unpleasing but benign */
- insert_after(0, "</PYACC_Section1Or2_Symbol>");
- insert_before(0, "<PYACC_Section1Or2_Symbol>");
+ insert_after(0, "</PYACC_NonterminalRef>");
+ insert_before(0, "<PYACC_NonterminalRef>");
insert_before(0, "<PYACC_Section2_Rules>");
}
;
| rhs "%prec" symbol
{ grammar_current_rule_prec_set ($3, @3); /*}*/
insert_after(2, "</PYACC_Production_Prec>");
+ insert_after(2, "</PYACC_TerminalRef>");
+ insert_before(2, "<PYACC_TerminalRef>");
insert_before(1, "<PYACC_Production_Prec>");
}
| rhs "%dprec" INT