Put PYACC.Text inside PYACC.BracedCode excluding the braces, except for the action...
authorNick Downing <downing.nick@gmail.com>
Fri, 3 Aug 2018 07:07:46 +0000 (17:07 +1000)
committerNick Downing <downing.nick@gmail.com>
Fri, 3 Aug 2018 07:07:46 +0000 (17:07 +1000)
src/parse-gram.c
src/parse-gram.h
src/parse-gram.y
src/scan-gram.c
src/scan-gram.l

index 770c1c2..c6672cd 100644 (file)
@@ -129,7 +129,7 @@ extern int gram_debug;
     param_parse  = 1 << 1,
     param_both   = param_lex | param_parse
   } param_type;
-#line 885 "src/parse-gram.y" /* yacc.c:355  */
+#line 887 "src/parse-gram.y" /* yacc.c:355  */
 #include "muscle-tab.h"
 
 #line 136 "src/parse-gram.c" /* yacc.c:355  */
@@ -221,9 +221,9 @@ symbol_list *list;
 named_ref *named_ref;
 #line 266 "src/parse-gram.y" /* yacc.c:355  */
 param_type param;
-#line 561 "src/parse-gram.y" /* yacc.c:355  */
+#line 563 "src/parse-gram.y" /* yacc.c:355  */
 code_props_type code_type;
-#line 887 "src/parse-gram.y" /* yacc.c:355  */
+#line 889 "src/parse-gram.y" /* yacc.c:355  */
 
   struct
   {
@@ -645,17 +645,17 @@ static const yytype_uint8 yytranslate[] =
 static const yytype_uint16 yyrline[] =
 {
        0,   289,   289,   304,   315,   319,   320,   332,   350,   357,
-     361,   368,   376,   381,   386,   390,   397,   409,   413,   417,
-     421,   425,   429,   429,   433,   437,   463,   467,   471,   475,
-     479,   480,   489,   490,   491,   499,   519,   525,   531,   546,
-     564,   565,   575,   576,   582,   601,   601,   608,   608,   615,
-     628,   646,   647,   648,   649,   653,   654,   659,   661,   666,
-     673,   686,   691,   699,   700,   704,   708,   712,   713,   714,
-     719,   724,   731,   740,   748,   762,   763,   772,   773,   779,
-     780,   781,   788,   788,   801,   805,   809,   814,   826,   832,
-     841,   843,   848,   855,   861,   869,   870,   880,   881,   906,
-     907,   908,   909,   921,   923,   932,   937,   938,   943,   951,
-     952
+     361,   368,   376,   381,   386,   390,   397,   410,   414,   418,
+     422,   426,   430,   430,   434,   438,   464,   468,   472,   476,
+     480,   481,   490,   491,   492,   500,   521,   527,   533,   548,
+     566,   567,   577,   578,   584,   603,   603,   610,   610,   617,
+     630,   648,   649,   650,   651,   655,   656,   661,   663,   668,
+     675,   688,   693,   701,   702,   706,   710,   714,   715,   716,
+     721,   726,   733,   742,   750,   764,   765,   774,   775,   781,
+     782,   783,   790,   790,   803,   807,   811,   816,   828,   834,
+     843,   845,   850,   857,   863,   871,   872,   882,   883,   908,
+     909,   910,   911,   923,   925,   934,   939,   940,   945,   953,
+     954
 };
 #endif
 
@@ -1116,7 +1116,7 @@ yy_symbol_value_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvalue
         break;
 
     case 65: /* code_props_type  */
-#line 562 "src/parse-gram.y" /* yacc.c:684  */
+#line 564 "src/parse-gram.y" /* yacc.c:684  */
       { fprintf (yyo, "%s", code_props_type_string (((*yyvaluep).code_type))); }
 #line 1122 "src/parse-gram.c" /* yacc.c:684  */
         break;
@@ -1140,7 +1140,7 @@ yy_symbol_value_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvalue
         break;
 
     case 89: /* value  */
-#line 896 "src/parse-gram.y" /* yacc.c:684  */
+#line 898 "src/parse-gram.y" /* yacc.c:684  */
       {
   switch (((*yyvaluep).value).kind)
     {
@@ -2231,90 +2231,91 @@ yyreduce:
   case 16:
 #line 398 "src/parse-gram.y" /* yacc.c:1648  */
     {
- code_piece_append("<PYACC_BracedCode>");
+ /* should be BracedCode, but too hard to put PYACC_Text inside braces */
+ code_piece_append("<PYACC_Text>");
       muscle_code_grow ("initial_action", translate_code ((yyvsp[0].code), (yylsp[0]), false), (yylsp[0]));
       code_scanner_last_string_free ();
- code_piece_append("</PYACC_BracedCode>");
+ code_piece_append("</PYACC_Text>");
  code_piece_pack();
  free(gram_piece[gram_piece2 + 2]);
  gram_piece[gram_piece2 + 2] = strdup(code_piece[code_piece0 - 1]);
  insert_after(1, "</PYACC_Section1_InitialAction>");
  insert_before(0, "<PYACC_Section1_InitialAction>");
     }
-#line 2234 "src/parse-gram.c" /* yacc.c:1648  */
+#line 2235 "src/parse-gram.c" /* yacc.c:1648  */
     break;
 
   case 17:
-#line 409 "src/parse-gram.y" /* yacc.c:1648  */
+#line 410 "src/parse-gram.y" /* yacc.c:1648  */
     { language_argmatch ((yyvsp[0].code), grammar_prio, (yylsp[-1])); /*}*/
  insert_after(1, "</PYACC_Section1_Language>");
  insert_before(0, "<PYACC_Section1_Language>");
  }
-#line 2243 "src/parse-gram.c" /* yacc.c:1648  */
+#line 2244 "src/parse-gram.c" /* yacc.c:1648  */
     break;
 
   case 18:
-#line 413 "src/parse-gram.y" /* yacc.c:1648  */
+#line 414 "src/parse-gram.y" /* yacc.c:1648  */
     { spec_name_prefix = (yyvsp[0].code); /*}*/
  insert_after(1, "</PYACC_Section1_NamePrefix>");
  insert_before(0, "<PYACC_Section1_NamePrefix>");
  }
-#line 2252 "src/parse-gram.c" /* yacc.c:1648  */
+#line 2253 "src/parse-gram.c" /* yacc.c:1648  */
     break;
 
   case 19:
-#line 417 "src/parse-gram.y" /* yacc.c:1648  */
+#line 418 "src/parse-gram.y" /* yacc.c:1648  */
     { no_lines_flag = true; /*}*/
  insert_after(0, "</PYACC_Section1_Lines>");
  insert_before(0, "<PYACC_Section1_Lines value=\"false\">");
  }
-#line 2261 "src/parse-gram.c" /* yacc.c:1648  */
+#line 2262 "src/parse-gram.c" /* yacc.c:1648  */
     break;
 
   case 20:
-#line 421 "src/parse-gram.y" /* yacc.c:1648  */
+#line 422 "src/parse-gram.y" /* yacc.c:1648  */
     { nondeterministic_parser = true; /*}*/
  insert_after(0, "</PYACC_Section1_NonDeterministicParser>");
  insert_before(0, "<PYACC_Section1_NonDeterministicParser>");
  }
-#line 2270 "src/parse-gram.c" /* yacc.c:1648  */
+#line 2271 "src/parse-gram.c" /* yacc.c:1648  */
     break;
 
   case 21:
-#line 425 "src/parse-gram.y" /* yacc.c:1648  */
+#line 426 "src/parse-gram.y" /* yacc.c:1648  */
     { spec_outfile = (yyvsp[0].code); /*}*/
  insert_after(1, "</PYACC_Section1_Output>");
  insert_before(0, "<PYACC_Section1_Output>");
  }
-#line 2279 "src/parse-gram.c" /* yacc.c:1648  */
+#line 2280 "src/parse-gram.c" /* yacc.c:1648  */
     break;
 
   case 22:
-#line 429 "src/parse-gram.y" /* yacc.c:1648  */
+#line 430 "src/parse-gram.y" /* yacc.c:1648  */
     { current_param = (yyvsp[0].param); }
-#line 2285 "src/parse-gram.c" /* yacc.c:1648  */
+#line 2286 "src/parse-gram.c" /* yacc.c:1648  */
     break;
 
   case 23:
-#line 429 "src/parse-gram.y" /* yacc.c:1648  */
+#line 430 "src/parse-gram.y" /* yacc.c:1648  */
     { current_param = param_none; /*}*/
  insert_after(2, "</PYACC_Section1_Param>");
  insert_before(0, "<PYACC_Section1_Param>");
  }
-#line 2294 "src/parse-gram.c" /* yacc.c:1648  */
+#line 2295 "src/parse-gram.c" /* yacc.c:1648  */
     break;
 
   case 24:
-#line 433 "src/parse-gram.y" /* yacc.c:1648  */
+#line 434 "src/parse-gram.y" /* yacc.c:1648  */
     { version_check (&(yylsp[0]), (yyvsp[0].code)); /*}*/
  insert_after(1, "</PYACC_Section1_Require>");
  insert_before(0, "<PYACC_Section1_Require>");
  }
-#line 2303 "src/parse-gram.c" /* yacc.c:1648  */
+#line 2304 "src/parse-gram.c" /* yacc.c:1648  */
     break;
 
   case 25:
-#line 438 "src/parse-gram.y" /* yacc.c:1648  */
+#line 439 "src/parse-gram.y" /* yacc.c:1648  */
     {
       char const *skeleton_user = (yyvsp[0].code);
       if (strchr (skeleton_user, '/'))
@@ -2340,50 +2341,50 @@ yyreduce:
  insert_after(1, "</PYACC_Section1_Skeleton>");
  insert_before(0, "<PYACC_Section1_Skeleton>");
     }
-#line 2333 "src/parse-gram.c" /* yacc.c:1648  */
+#line 2334 "src/parse-gram.c" /* yacc.c:1648  */
     break;
 
   case 26:
-#line 463 "src/parse-gram.y" /* yacc.c:1648  */
+#line 464 "src/parse-gram.y" /* yacc.c:1648  */
     { token_table_flag = true; /*}*/
  insert_after(0, "</PYACC_Section1_TokenTable>");
  insert_before(0, "<PYACC_Section1_TokenTable>");
  }
-#line 2342 "src/parse-gram.c" /* yacc.c:1648  */
+#line 2343 "src/parse-gram.c" /* yacc.c:1648  */
     break;
 
   case 27:
-#line 467 "src/parse-gram.y" /* yacc.c:1648  */
+#line 468 "src/parse-gram.y" /* yacc.c:1648  */
     { report_flag |= report_states; /*}*/
  insert_after(0, "</PYACC_Section1_Verbose>");
  insert_before(0, "<PYACC_Section1_Verbose>");
  }
-#line 2351 "src/parse-gram.c" /* yacc.c:1648  */
+#line 2352 "src/parse-gram.c" /* yacc.c:1648  */
     break;
 
   case 28:
-#line 471 "src/parse-gram.y" /* yacc.c:1648  */
+#line 472 "src/parse-gram.y" /* yacc.c:1648  */
     { yacc_flag = true; /*}*/
  insert_after(0, "</PYACC_Section1_YACC>");
  insert_before(0, "<PYACC_Section1_YACC>");
  }
-#line 2360 "src/parse-gram.c" /* yacc.c:1648  */
+#line 2361 "src/parse-gram.c" /* yacc.c:1648  */
     break;
 
   case 30:
-#line 479 "src/parse-gram.y" /* yacc.c:1648  */
+#line 480 "src/parse-gram.y" /* yacc.c:1648  */
     { add_param (current_param, (yyvsp[0].code), (yylsp[0])); }
-#line 2366 "src/parse-gram.c" /* yacc.c:1648  */
+#line 2367 "src/parse-gram.c" /* yacc.c:1648  */
     break;
 
   case 31:
-#line 480 "src/parse-gram.y" /* yacc.c:1648  */
+#line 481 "src/parse-gram.y" /* yacc.c:1648  */
     { add_param (current_param, (yyvsp[0].code), (yylsp[0])); }
-#line 2372 "src/parse-gram.c" /* yacc.c:1648  */
+#line 2373 "src/parse-gram.c" /* yacc.c:1648  */
     break;
 
   case 34:
-#line 492 "src/parse-gram.y" /* yacc.c:1648  */
+#line 493 "src/parse-gram.y" /* yacc.c:1648  */
     {
       grammar_start_symbol_set ((yyvsp[0].symbol), (yylsp[0]));
  insert_after(1, "</PYACC_Section1Or2_Start>");
@@ -2391,17 +2392,18 @@ yyreduce:
  insert_before(1, "<PYACC_SymbolRef>");
  insert_before(0, "<PYACC_Section1Or2_Start>");
     }
-#line 2384 "src/parse-gram.c" /* yacc.c:1648  */
+#line 2385 "src/parse-gram.c" /* yacc.c:1648  */
     break;
 
   case 35:
-#line 500 "src/parse-gram.y" /* yacc.c:1648  */
+#line 501 "src/parse-gram.y" /* yacc.c:1648  */
     {
       code_props code;
       code_props_symbol_action_init (&code, (yyvsp[-1].code), (yylsp[-1]));
- code_piece_append("<PYACC_BracedCode>");
+ /* should be BracedCode, but too hard to put PYACC_Text inside braces */
+ code_piece_append("<PYACC_Text>");
       code_props_translate_code (&code);
- code_piece_append("</PYACC_BracedCode>");
+ code_piece_append("</PYACC_Text>");
  code_piece_pack();
  free(gram_piece[gram_piece2 + 2]);
  gram_piece[gram_piece2 + 2] = strdup(code_piece[code_piece0 - 1]);
@@ -2415,143 +2417,143 @@ yyreduce:
  sprintf(gram_piece_temp, "<PYACC_Section1Or2_CodeProps _type=\"%d\">", (yyvsp[-2].code_type));
  insert_before(0, gram_piece_temp);
     }
-#line 2408 "src/parse-gram.c" /* yacc.c:1648  */
+#line 2410 "src/parse-gram.c" /* yacc.c:1648  */
     break;
 
   case 36:
-#line 520 "src/parse-gram.y" /* yacc.c:1648  */
+#line 522 "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 2418 "src/parse-gram.c" /* yacc.c:1648  */
+#line 2420 "src/parse-gram.c" /* yacc.c:1648  */
     break;
 
   case 37:
-#line 526 "src/parse-gram.y" /* yacc.c:1648  */
+#line 528 "src/parse-gram.y" /* yacc.c:1648  */
     {
       default_prec = false;
  insert_after(0, "</PYACC_Section1Or2_DefaultPrec>");
  insert_before(0, "<PYACC_Section1Or2_DefaultPrec>");
     }
-#line 2428 "src/parse-gram.c" /* yacc.c:1648  */
+#line 2430 "src/parse-gram.c" /* yacc.c:1648  */
     break;
 
   case 38:
-#line 532 "src/parse-gram.y" /* yacc.c:1648  */
+#line 534 "src/parse-gram.y" /* yacc.c:1648  */
     {
       /* Do not invoke muscle_percent_code_grow here since it invokes
          muscle_user_name_list_grow.  */
- code_piece_append("<PYACC_BracedCode>{");
+ code_piece_append("<PYACC_BracedCode>{<PYACC_Text>");
       muscle_code_grow ("percent_code()",
                         translate_code_braceless ((yyvsp[0].code), (yylsp[0])), (yylsp[0]));
       code_scanner_last_string_free ();
- code_piece_append("}</PYACC_BracedCode>");
+ code_piece_append("</PYACC_Text>}</PYACC_BracedCode>");
  code_piece_pack();
  free(gram_piece[gram_piece2 + 2]);
  gram_piece[gram_piece2 + 2] = strdup(code_piece[code_piece0 - 1]);
  insert_after(1, "</PYACC_Section1Or2_Code>");
  insert_before(0, "<PYACC_Section1Or2_Code><PYACC_ID />");
     }
-#line 2447 "src/parse-gram.c" /* yacc.c:1648  */
+#line 2449 "src/parse-gram.c" /* yacc.c:1648  */
     break;
 
   case 39:
-#line 547 "src/parse-gram.y" /* yacc.c:1648  */
+#line 549 "src/parse-gram.y" /* yacc.c:1648  */
     {
- code_piece_append("<PYACC_BracedCode>{");
+ code_piece_append("<PYACC_BracedCode>{<PYACC_Text>");
       muscle_percent_code_grow ((yyvsp[-1].uniqstr), (yylsp[-1]), translate_code_braceless ((yyvsp[0].code), (yylsp[0])), (yylsp[0]));
       code_scanner_last_string_free ();
- code_piece_append("}</PYACC_BracedCode>");
+ code_piece_append("</PYACC_Text>}</PYACC_BracedCode>");
  code_piece_pack();
  free(gram_piece[gram_piece2 + 4]);
  gram_piece[gram_piece2 + 4] = strdup(code_piece[code_piece0 - 1]);
  insert_after(2, "</PYACC_Section1Or2_Code>");
  insert_before(0, "<PYACC_Section1Or2_Code>");
     }
-#line 2463 "src/parse-gram.c" /* yacc.c:1648  */
+#line 2465 "src/parse-gram.c" /* yacc.c:1648  */
     break;
 
   case 40:
-#line 564 "src/parse-gram.y" /* yacc.c:1648  */
+#line 566 "src/parse-gram.y" /* yacc.c:1648  */
     { (yyval.code_type) = destructor; }
-#line 2469 "src/parse-gram.c" /* yacc.c:1648  */
+#line 2471 "src/parse-gram.c" /* yacc.c:1648  */
     break;
 
   case 41:
-#line 565 "src/parse-gram.y" /* yacc.c:1648  */
+#line 567 "src/parse-gram.y" /* yacc.c:1648  */
     { (yyval.code_type) = printer; }
-#line 2475 "src/parse-gram.c" /* yacc.c:1648  */
+#line 2477 "src/parse-gram.c" /* yacc.c:1648  */
     break;
 
   case 42:
-#line 575 "src/parse-gram.y" /* yacc.c:1648  */
+#line 577 "src/parse-gram.y" /* yacc.c:1648  */
     { insert_before(0, "<PYACC_ID />"); }
-#line 2481 "src/parse-gram.c" /* yacc.c:1648  */
+#line 2483 "src/parse-gram.c" /* yacc.c:1648  */
     break;
 
   case 43:
-#line 576 "src/parse-gram.y" /* yacc.c:1648  */
+#line 578 "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 2489 "src/parse-gram.c" /* yacc.c:1648  */
+#line 2491 "src/parse-gram.c" /* yacc.c:1648  */
     break;
 
   case 44:
-#line 583 "src/parse-gram.y" /* yacc.c:1648  */
+#line 585 "src/parse-gram.y" /* yacc.c:1648  */
     {
       union_seen = true;
- code_piece_append("<PYACC_BracedCode>{");
+ code_piece_append("<PYACC_BracedCode>{<PYACC_Text>");
       muscle_code_grow ("union_members", translate_code_braceless ((yyvsp[0].code), (yylsp[0])), (yylsp[0]));
       code_scanner_last_string_free ();
- code_piece_append("}</PYACC_BracedCode>");
+ code_piece_append("</PYACC_Text>}</PYACC_BracedCode>");
  code_piece_pack();
  free(gram_piece[gram_piece2 + 4]);
  gram_piece[gram_piece2 + 4] = strdup(code_piece[code_piece0 - 1]);
  insert_after(2, "</PYACC_Section1Or2_Union>");
  insert_before(0, "<PYACC_Section1Or2_Union>");
     }
-#line 2506 "src/parse-gram.c" /* yacc.c:1648  */
+#line 2508 "src/parse-gram.c" /* yacc.c:1648  */
     break;
 
   case 45:
-#line 601 "src/parse-gram.y" /* yacc.c:1648  */
+#line 603 "src/parse-gram.y" /* yacc.c:1648  */
     { current_class = nterm_sym; }
-#line 2512 "src/parse-gram.c" /* yacc.c:1648  */
+#line 2514 "src/parse-gram.c" /* yacc.c:1648  */
     break;
 
   case 46:
-#line 602 "src/parse-gram.y" /* yacc.c:1648  */
+#line 604 "src/parse-gram.y" /* yacc.c:1648  */
     {
       current_class = unknown_sym;
       current_type = NULL;
  insert_after(2, "</PYACC_Section1Or2_NTerm>");
  insert_before(0, "<PYACC_Section1Or2_NTerm>");
     }
-#line 2523 "src/parse-gram.c" /* yacc.c:1648  */
+#line 2525 "src/parse-gram.c" /* yacc.c:1648  */
     break;
 
   case 47:
-#line 608 "src/parse-gram.y" /* yacc.c:1648  */
+#line 610 "src/parse-gram.y" /* yacc.c:1648  */
     { current_class = token_sym; }
-#line 2529 "src/parse-gram.c" /* yacc.c:1648  */
+#line 2531 "src/parse-gram.c" /* yacc.c:1648  */
     break;
 
   case 48:
-#line 609 "src/parse-gram.y" /* yacc.c:1648  */
+#line 611 "src/parse-gram.y" /* yacc.c:1648  */
     {
       current_class = unknown_sym;
       current_type = NULL;
  insert_after(2, "</PYACC_Section1Or2_Token>");
  insert_before(0, "<PYACC_Section1Or2_Token>");
     }
-#line 2540 "src/parse-gram.c" /* yacc.c:1648  */
+#line 2542 "src/parse-gram.c" /* yacc.c:1648  */
     break;
 
   case 49:
-#line 616 "src/parse-gram.y" /* yacc.c:1648  */
+#line 618 "src/parse-gram.y" /* yacc.c:1648  */
     {
       symbol_list *list;
       tag_seen = true;
@@ -2561,11 +2563,11 @@ yyreduce:
  insert_after(2, "</PYACC_Section1Or2_Type>");
  insert_before(0, "<PYACC_Section1Or2_Type>");
     }
-#line 2554 "src/parse-gram.c" /* yacc.c:1648  */
+#line 2556 "src/parse-gram.c" /* yacc.c:1648  */
     break;
 
   case 50:
-#line 629 "src/parse-gram.y" /* yacc.c:1648  */
+#line 631 "src/parse-gram.y" /* yacc.c:1648  */
     {
       symbol_list *list;
       ++current_prec;
@@ -2580,70 +2582,70 @@ yyreduce:
  sprintf(gram_piece_temp, "<PYACC_Section1Or2_Precedence _type=\"%d\">", ((yyvsp[-2].assoc) & 3) - 1); /* -1 precedence, 0 right, 1 left, 2 nonassoc */
  insert_before(0, gram_piece_temp);
     }
-#line 2573 "src/parse-gram.c" /* yacc.c:1648  */
+#line 2575 "src/parse-gram.c" /* yacc.c:1648  */
     break;
 
   case 51:
-#line 646 "src/parse-gram.y" /* yacc.c:1648  */
+#line 648 "src/parse-gram.y" /* yacc.c:1648  */
     { (yyval.assoc) = left_assoc; }
-#line 2579 "src/parse-gram.c" /* yacc.c:1648  */
+#line 2581 "src/parse-gram.c" /* yacc.c:1648  */
     break;
 
   case 52:
-#line 647 "src/parse-gram.y" /* yacc.c:1648  */
+#line 649 "src/parse-gram.y" /* yacc.c:1648  */
     { (yyval.assoc) = right_assoc;  }
-#line 2585 "src/parse-gram.c" /* yacc.c:1648  */
+#line 2587 "src/parse-gram.c" /* yacc.c:1648  */
     break;
 
   case 53:
-#line 648 "src/parse-gram.y" /* yacc.c:1648  */
+#line 650 "src/parse-gram.y" /* yacc.c:1648  */
     { (yyval.assoc) = non_assoc; }
-#line 2591 "src/parse-gram.c" /* yacc.c:1648  */
+#line 2593 "src/parse-gram.c" /* yacc.c:1648  */
     break;
 
   case 54:
-#line 649 "src/parse-gram.y" /* yacc.c:1648  */
+#line 651 "src/parse-gram.y" /* yacc.c:1648  */
     { (yyval.assoc) = precedence_assoc; }
-#line 2597 "src/parse-gram.c" /* yacc.c:1648  */
+#line 2599 "src/parse-gram.c" /* yacc.c:1648  */
     break;
 
   case 55:
-#line 653 "src/parse-gram.y" /* yacc.c:1648  */
+#line 655 "src/parse-gram.y" /* yacc.c:1648  */
     { current_type = NULL; }
-#line 2603 "src/parse-gram.c" /* yacc.c:1648  */
+#line 2605 "src/parse-gram.c" /* yacc.c:1648  */
     break;
 
   case 56:
-#line 654 "src/parse-gram.y" /* yacc.c:1648  */
+#line 656 "src/parse-gram.y" /* yacc.c:1648  */
     { current_type = (yyvsp[0].uniqstr); tag_seen = true; }
-#line 2609 "src/parse-gram.c" /* yacc.c:1648  */
+#line 2611 "src/parse-gram.c" /* yacc.c:1648  */
     break;
 
   case 57:
-#line 660 "src/parse-gram.y" /* yacc.c:1648  */
+#line 662 "src/parse-gram.y" /* yacc.c:1648  */
     { (yyval.list) = symbol_list_sym_new ((yyvsp[0].symbol), (yylsp[0])); }
-#line 2615 "src/parse-gram.c" /* yacc.c:1648  */
+#line 2617 "src/parse-gram.c" /* yacc.c:1648  */
     break;
 
   case 58:
-#line 662 "src/parse-gram.y" /* yacc.c:1648  */
+#line 664 "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 2621 "src/parse-gram.c" /* yacc.c:1648  */
+#line 2623 "src/parse-gram.c" /* yacc.c:1648  */
     break;
 
   case 59:
-#line 667 "src/parse-gram.y" /* yacc.c:1648  */
+#line 669 "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_SymbolRef>");
  insert_before(0, "<PYACC_SymbolRef>");
     }
-#line 2632 "src/parse-gram.c" /* yacc.c:1648  */
+#line 2634 "src/parse-gram.c" /* yacc.c:1648  */
     break;
 
   case 60:
-#line 674 "src/parse-gram.y" /* yacc.c:1648  */
+#line 676 "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]));
@@ -2652,88 +2654,88 @@ yyreduce:
  sprintf(gram_piece_temp, "<PYACC_SymbolRef user_token=\"%d\">", (yyvsp[0].integer));
  insert_before(0, gram_piece_temp);
     }
-#line 2645 "src/parse-gram.c" /* yacc.c:1648  */
+#line 2647 "src/parse-gram.c" /* yacc.c:1648  */
     break;
 
   case 61:
-#line 687 "src/parse-gram.y" /* yacc.c:1648  */
+#line 689 "src/parse-gram.y" /* yacc.c:1648  */
     { (yyval.list) = symbol_list_sym_new ((yyvsp[0].symbol), (yylsp[0])); /*}*/
  insert_after(0, "</PYACC_SymbolRef>");
  insert_before(0, "<PYACC_SymbolRef>");
  }
-#line 2654 "src/parse-gram.c" /* yacc.c:1648  */
+#line 2656 "src/parse-gram.c" /* yacc.c:1648  */
     break;
 
   case 62:
-#line 692 "src/parse-gram.y" /* yacc.c:1648  */
+#line 694 "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_SymbolRef>");
  insert_before(1, "<PYACC_SymbolRef>");
  }
-#line 2663 "src/parse-gram.c" /* yacc.c:1648  */
+#line 2665 "src/parse-gram.c" /* yacc.c:1648  */
     break;
 
   case 63:
-#line 699 "src/parse-gram.y" /* yacc.c:1648  */
+#line 701 "src/parse-gram.y" /* yacc.c:1648  */
     { (yyval.list) = (yyvsp[0].list); }
-#line 2669 "src/parse-gram.c" /* yacc.c:1648  */
+#line 2671 "src/parse-gram.c" /* yacc.c:1648  */
     break;
 
   case 64:
-#line 700 "src/parse-gram.y" /* yacc.c:1648  */
+#line 702 "src/parse-gram.y" /* yacc.c:1648  */
     { (yyval.list) = symbol_list_append ((yyvsp[-1].list), (yyvsp[0].list)); }
-#line 2675 "src/parse-gram.c" /* yacc.c:1648  */
+#line 2677 "src/parse-gram.c" /* yacc.c:1648  */
     break;
 
   case 65:
-#line 704 "src/parse-gram.y" /* yacc.c:1648  */
+#line 706 "src/parse-gram.y" /* yacc.c:1648  */
     { (yyval.list) = symbol_list_sym_new ((yyvsp[0].symbol), (yylsp[0])); /*}*/
  insert_after(0, "</PYACC_SymbolRef>");
  insert_before(0, "<PYACC_SymbolRef>");
  }
-#line 2684 "src/parse-gram.c" /* yacc.c:1648  */
+#line 2686 "src/parse-gram.c" /* yacc.c:1648  */
     break;
 
   case 66:
-#line 708 "src/parse-gram.y" /* yacc.c:1648  */
+#line 710 "src/parse-gram.y" /* yacc.c:1648  */
     { (yyval.list) = symbol_list_type_new ((yyvsp[0].uniqstr), (yylsp[0])); }
-#line 2690 "src/parse-gram.c" /* yacc.c:1648  */
+#line 2692 "src/parse-gram.c" /* yacc.c:1648  */
     break;
 
   case 68:
-#line 713 "src/parse-gram.y" /* yacc.c:1648  */
+#line 715 "src/parse-gram.y" /* yacc.c:1648  */
     { (yyval.uniqstr) = uniqstr_new ("*"); }
-#line 2696 "src/parse-gram.c" /* yacc.c:1648  */
+#line 2698 "src/parse-gram.c" /* yacc.c:1648  */
     break;
 
   case 69:
-#line 714 "src/parse-gram.y" /* yacc.c:1648  */
+#line 716 "src/parse-gram.y" /* yacc.c:1648  */
     { (yyval.uniqstr) = uniqstr_new (""); }
-#line 2702 "src/parse-gram.c" /* yacc.c:1648  */
+#line 2704 "src/parse-gram.c" /* yacc.c:1648  */
     break;
 
   case 70:
-#line 720 "src/parse-gram.y" /* yacc.c:1648  */
+#line 722 "src/parse-gram.y" /* yacc.c:1648  */
     {
       current_type = (yyvsp[0].uniqstr);
       tag_seen = true;
     }
-#line 2711 "src/parse-gram.c" /* yacc.c:1648  */
+#line 2713 "src/parse-gram.c" /* yacc.c:1648  */
     break;
 
   case 71:
-#line 725 "src/parse-gram.y" /* yacc.c:1648  */
+#line 727 "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_SymbolRef>");
  insert_before(0, "<PYACC_SymbolRef>");
     }
-#line 2722 "src/parse-gram.c" /* yacc.c:1648  */
+#line 2724 "src/parse-gram.c" /* yacc.c:1648  */
     break;
 
   case 72:
-#line 732 "src/parse-gram.y" /* yacc.c:1648  */
+#line 734 "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]));
@@ -2742,11 +2744,11 @@ yyreduce:
  sprintf(gram_piece_temp, "<PYACC_SymbolRef user_token=\"%d\">", (yyvsp[0].integer));
  insert_before(0, gram_piece_temp);
     }
-#line 2735 "src/parse-gram.c" /* yacc.c:1648  */
+#line 2737 "src/parse-gram.c" /* yacc.c:1648  */
     break;
 
   case 73:
-#line 741 "src/parse-gram.y" /* yacc.c:1648  */
+#line 743 "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]));
@@ -2754,11 +2756,11 @@ yyreduce:
  insert_after(1, "</PYACC_SymbolRef>");
  insert_before(0, "<PYACC_SymbolRef>");
     }
-#line 2747 "src/parse-gram.c" /* yacc.c:1648  */
+#line 2749 "src/parse-gram.c" /* yacc.c:1648  */
     break;
 
   case 74:
-#line 749 "src/parse-gram.y" /* yacc.c:1648  */
+#line 751 "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]));
@@ -2768,25 +2770,25 @@ yyreduce:
  sprintf(gram_piece_temp, "<PYACC_SymbolRef user_token=\"%d\">", (yyvsp[-1].integer));
  insert_before(0, gram_piece_temp);
     }
-#line 2761 "src/parse-gram.c" /* yacc.c:1648  */
+#line 2763 "src/parse-gram.c" /* yacc.c:1648  */
     break;
 
   case 81:
-#line 782 "src/parse-gram.y" /* yacc.c:1648  */
+#line 784 "src/parse-gram.y" /* yacc.c:1648  */
     {
       yyerrok;
     }
-#line 2769 "src/parse-gram.c" /* yacc.c:1648  */
+#line 2771 "src/parse-gram.c" /* yacc.c:1648  */
     break;
 
   case 82:
-#line 788 "src/parse-gram.y" /* yacc.c:1648  */
+#line 790 "src/parse-gram.y" /* yacc.c:1648  */
     { current_lhs ((yyvsp[-1].symbol), (yylsp[-1]), (yyvsp[0].named_ref)); }
-#line 2775 "src/parse-gram.c" /* yacc.c:1648  */
+#line 2777 "src/parse-gram.c" /* yacc.c:1648  */
     break;
 
   case 83:
-#line 789 "src/parse-gram.y" /* yacc.c:1648  */
+#line 791 "src/parse-gram.y" /* yacc.c:1648  */
     {
     /* Free the current lhs. */
     current_lhs (0, (yylsp[-3]), 0);
@@ -2796,29 +2798,29 @@ yyreduce:
  insert_before(0, "<PYACC_SymbolRef>");
  insert_before(0, "<PYACC_Section2_Rules>");
   }
-#line 2789 "src/parse-gram.c" /* yacc.c:1648  */
+#line 2791 "src/parse-gram.c" /* yacc.c:1648  */
     break;
 
   case 84:
-#line 801 "src/parse-gram.y" /* yacc.c:1648  */
+#line 803 "src/parse-gram.y" /* yacc.c:1648  */
     { grammar_current_rule_end ((yylsp[0])); /*}*/
  insert_after(0, "</PYACC_Production>");
  insert_before(0, "<PYACC_Production>");
  }
-#line 2798 "src/parse-gram.c" /* yacc.c:1648  */
+#line 2800 "src/parse-gram.c" /* yacc.c:1648  */
     break;
 
   case 85:
-#line 805 "src/parse-gram.y" /* yacc.c:1648  */
+#line 807 "src/parse-gram.y" /* yacc.c:1648  */
     { grammar_current_rule_end ((yylsp[0])); /*}*/
  insert_after(2, "</PYACC_Production>");
  insert_before(2, "<PYACC_Production>");
  }
-#line 2807 "src/parse-gram.c" /* yacc.c:1648  */
+#line 2809 "src/parse-gram.c" /* yacc.c:1648  */
     break;
 
   case 87:
-#line 815 "src/parse-gram.y" /* yacc.c:1648  */
+#line 817 "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 */
@@ -2830,152 +2832,152 @@ yyreduce:
  gram_piece[gram_piece2] = gram_piece[gram_piece2 - 1]; /* empty */
  gram_piece[gram_piece2 - 1] = temp;
  }
-#line 2823 "src/parse-gram.c" /* yacc.c:1648  */
+#line 2825 "src/parse-gram.c" /* yacc.c:1648  */
     break;
 
   case 88:
-#line 827 "src/parse-gram.y" /* yacc.c:1648  */
+#line 829 "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_SymbolRef>");
  insert_after(1, "</PYACC_SymbolRef>");
  insert_before(1, "<PYACC_Production_SymbolRef><PYACC_SymbolRef>");
  }
-#line 2833 "src/parse-gram.c" /* yacc.c:1648  */
+#line 2835 "src/parse-gram.c" /* yacc.c:1648  */
     break;
 
   case 89:
-#line 833 "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>");
+#line 835 "src/parse-gram.y" /* yacc.c:1648  */
+    { /* should be BracedCode, but too hard to put PYACC_Text inside braces */ code_piece_append("<PYACC_Text>"); grammar_current_rule_action_append ((yyvsp[-1].code), (yylsp[-1]), (yyvsp[0].named_ref), false); /*}*/
+ code_piece_append("</PYACC_Text>");
  code_piece_pack();
  free(gram_piece[gram_piece2 + 2]);
  gram_piece[gram_piece2 + 2] = strdup(code_piece[code_piece0 - 1]);
  insert_after(2, "</PYACC_Production_Action>");
  insert_before(1, "<PYACC_Production_Action>");
  }
-#line 2846 "src/parse-gram.c" /* yacc.c:1648  */
+#line 2848 "src/parse-gram.c" /* yacc.c:1648  */
     break;
 
   case 90:
-#line 842 "src/parse-gram.y" /* yacc.c:1648  */
+#line 844 "src/parse-gram.y" /* yacc.c:1648  */
     { grammar_current_rule_action_append ((yyvsp[0].code), (yylsp[0]), NULL, true); }
-#line 2852 "src/parse-gram.c" /* yacc.c:1648  */
+#line 2854 "src/parse-gram.c" /* yacc.c:1648  */
     break;
 
   case 91:
-#line 844 "src/parse-gram.y" /* yacc.c:1648  */
+#line 846 "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 2861 "src/parse-gram.c" /* yacc.c:1648  */
+#line 2863 "src/parse-gram.c" /* yacc.c:1648  */
     break;
 
   case 92:
-#line 849 "src/parse-gram.y" /* yacc.c:1648  */
+#line 851 "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_SymbolRef>");
  insert_before(2, "<PYACC_SymbolRef>");
  insert_before(1, "<PYACC_Production_Prec>");
  }
-#line 2872 "src/parse-gram.c" /* yacc.c:1648  */
+#line 2874 "src/parse-gram.c" /* yacc.c:1648  */
     break;
 
   case 93:
-#line 856 "src/parse-gram.y" /* yacc.c:1648  */
+#line 858 "src/parse-gram.y" /* yacc.c:1648  */
     { grammar_current_rule_dprec_set ((yyvsp[0].integer), (yylsp[0])); /*}*/
  insert_after(2, "</PYACC_Production_DPrec>");
  sprintf(gram_piece_temp, "<PYACC_Production_DPrec value=\"%d\">", (yyvsp[0].integer));
  insert_before(1, gram_piece_temp);
  }
-#line 2882 "src/parse-gram.c" /* yacc.c:1648  */
+#line 2884 "src/parse-gram.c" /* yacc.c:1648  */
     break;
 
   case 94:
-#line 862 "src/parse-gram.y" /* yacc.c:1648  */
+#line 864 "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 2891 "src/parse-gram.c" /* yacc.c:1648  */
+#line 2893 "src/parse-gram.c" /* yacc.c:1648  */
     break;
 
   case 95:
-#line 869 "src/parse-gram.y" /* yacc.c:1648  */
+#line 871 "src/parse-gram.y" /* yacc.c:1648  */
     { (yyval.named_ref) = 0; }
-#line 2897 "src/parse-gram.c" /* yacc.c:1648  */
+#line 2899 "src/parse-gram.c" /* yacc.c:1648  */
     break;
 
   case 96:
-#line 870 "src/parse-gram.y" /* yacc.c:1648  */
+#line 872 "src/parse-gram.y" /* yacc.c:1648  */
     { (yyval.named_ref) = named_ref_new ((yyvsp[0].uniqstr), (yylsp[0])); }
-#line 2903 "src/parse-gram.c" /* yacc.c:1648  */
+#line 2905 "src/parse-gram.c" /* yacc.c:1648  */
     break;
 
   case 98:
-#line 881 "src/parse-gram.y" /* yacc.c:1648  */
+#line 883 "src/parse-gram.y" /* yacc.c:1648  */
     { (yyval.uniqstr) = uniqstr_new ((yyvsp[0].code)); }
-#line 2909 "src/parse-gram.c" /* yacc.c:1648  */
+#line 2911 "src/parse-gram.c" /* yacc.c:1648  */
     break;
 
   case 99:
-#line 906 "src/parse-gram.y" /* yacc.c:1648  */
+#line 908 "src/parse-gram.y" /* yacc.c:1648  */
     { (yyval.value).kind = muscle_keyword; (yyval.value).chars = ""; }
-#line 2915 "src/parse-gram.c" /* yacc.c:1648  */
+#line 2917 "src/parse-gram.c" /* yacc.c:1648  */
     break;
 
   case 100:
-#line 907 "src/parse-gram.y" /* yacc.c:1648  */
+#line 909 "src/parse-gram.y" /* yacc.c:1648  */
     { (yyval.value).kind = muscle_keyword; (yyval.value).chars = (yyvsp[0].uniqstr); }
-#line 2921 "src/parse-gram.c" /* yacc.c:1648  */
+#line 2923 "src/parse-gram.c" /* yacc.c:1648  */
     break;
 
   case 101:
-#line 908 "src/parse-gram.y" /* yacc.c:1648  */
+#line 910 "src/parse-gram.y" /* yacc.c:1648  */
     { (yyval.value).kind = muscle_string;  (yyval.value).chars = (yyvsp[0].code); }
-#line 2927 "src/parse-gram.c" /* yacc.c:1648  */
+#line 2929 "src/parse-gram.c" /* yacc.c:1648  */
     break;
 
   case 102:
-#line 909 "src/parse-gram.y" /* yacc.c:1648  */
+#line 911 "src/parse-gram.y" /* yacc.c:1648  */
     { (yyval.value).kind = muscle_code;    (yyval.value).chars = strip_braces ((yyvsp[0].code)); }
-#line 2933 "src/parse-gram.c" /* yacc.c:1648  */
+#line 2935 "src/parse-gram.c" /* yacc.c:1648  */
     break;
 
   case 103:
-#line 922 "src/parse-gram.y" /* yacc.c:1648  */
+#line 924 "src/parse-gram.y" /* yacc.c:1648  */
     { (yyval.symbol) = symbol_from_uniqstr ((yyvsp[0].uniqstr), (yylsp[0])); }
-#line 2939 "src/parse-gram.c" /* yacc.c:1648  */
+#line 2941 "src/parse-gram.c" /* yacc.c:1648  */
     break;
 
   case 104:
-#line 924 "src/parse-gram.y" /* yacc.c:1648  */
+#line 926 "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 2949 "src/parse-gram.c" /* yacc.c:1648  */
+#line 2951 "src/parse-gram.c" /* yacc.c:1648  */
     break;
 
   case 105:
-#line 932 "src/parse-gram.y" /* yacc.c:1648  */
+#line 934 "src/parse-gram.y" /* yacc.c:1648  */
     { (yyval.symbol) = symbol_from_uniqstr ((yyvsp[0].uniqstr), (yylsp[0])); }
-#line 2955 "src/parse-gram.c" /* yacc.c:1648  */
+#line 2957 "src/parse-gram.c" /* yacc.c:1648  */
     break;
 
   case 108:
-#line 944 "src/parse-gram.y" /* yacc.c:1648  */
+#line 946 "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 2964 "src/parse-gram.c" /* yacc.c:1648  */
+#line 2966 "src/parse-gram.c" /* yacc.c:1648  */
     break;
 
   case 110:
-#line 953 "src/parse-gram.y" /* yacc.c:1648  */
+#line 955 "src/parse-gram.y" /* yacc.c:1648  */
     {
 #if 0
  int gram_piece0_save = gram_piece0, gram_piece1_save = gram_piece1;
@@ -2996,11 +2998,11 @@ yyreduce:
  insert_after(1, "</PYACC_Section3>");
  insert_after(0, "<PYACC_Section3>");
     }
-#line 2989 "src/parse-gram.c" /* yacc.c:1648  */
+#line 2991 "src/parse-gram.c" /* yacc.c:1648  */
     break;
 
 
-#line 2993 "src/parse-gram.c" /* yacc.c:1648  */
+#line 2995 "src/parse-gram.c" /* yacc.c:1648  */
         default: break;
       }
     if (yychar_backup != yychar)
@@ -3263,7 +3265,7 @@ yyreturn:
 #endif
   return yyresult;
 }
-#line 975 "src/parse-gram.y" /* yacc.c:1907  */
+#line 977 "src/parse-gram.y" /* yacc.c:1907  */
 
 
 /* Return the location of the left-hand side of a rule whose
index 4521396..537cbe7 100644 (file)
@@ -61,7 +61,7 @@ extern int gram_debug;
     param_parse  = 1 << 1,
     param_both   = param_lex | param_parse
   } param_type;
-#line 885 "src/parse-gram.y" /* yacc.c:1910  */
+#line 887 "src/parse-gram.y" /* yacc.c:1910  */
 #include "muscle-tab.h"
 
 #line 68 "src/parse-gram.h" /* yacc.c:1910  */
@@ -153,9 +153,9 @@ symbol_list *list;
 named_ref *named_ref;
 #line 266 "src/parse-gram.y" /* yacc.c:1910  */
 param_type param;
-#line 561 "src/parse-gram.y" /* yacc.c:1910  */
+#line 563 "src/parse-gram.y" /* yacc.c:1910  */
 code_props_type code_type;
-#line 887 "src/parse-gram.y" /* yacc.c:1910  */
+#line 889 "src/parse-gram.y" /* yacc.c:1910  */
 
   struct
   {
index 54347ea..f8f2ef8 100644 (file)
@@ -396,10 +396,11 @@ prologue_declaration:
     }
 | "%initial-action" "{...}"
     {
- code_piece_append("<PYACC_BracedCode>");
+ /* should be BracedCode, but too hard to put PYACC_Text inside braces */
+ code_piece_append("<PYACC_Text>");
       muscle_code_grow ("initial_action", translate_code ($2, @2, false), @2);
       code_scanner_last_string_free ();
- code_piece_append("</PYACC_BracedCode>");
+ code_piece_append("</PYACC_Text>");
  code_piece_pack();
  free(gram_piece[gram_piece2 + 2]);
  gram_piece[gram_piece2 + 2] = strdup(code_piece[code_piece0 - 1]);
@@ -500,9 +501,10 @@ grammar_declaration:
     {
       code_props code;
       code_props_symbol_action_init (&code, $2, @2);
- code_piece_append("<PYACC_BracedCode>");
+ /* should be BracedCode, but too hard to put PYACC_Text inside braces */
+ code_piece_append("<PYACC_Text>");
       code_props_translate_code (&code);
- code_piece_append("</PYACC_BracedCode>");
+ code_piece_append("</PYACC_Text>");
  code_piece_pack();
  free(gram_piece[gram_piece2 + 2]);
  gram_piece[gram_piece2 + 2] = strdup(code_piece[code_piece0 - 1]);
@@ -532,11 +534,11 @@ grammar_declaration:
     {
       /* Do not invoke muscle_percent_code_grow here since it invokes
          muscle_user_name_list_grow.  */
- code_piece_append("<PYACC_BracedCode>{");
+ code_piece_append("<PYACC_BracedCode>{<PYACC_Text>");
       muscle_code_grow ("percent_code()",
                         translate_code_braceless ($2, @2), @2);
       code_scanner_last_string_free ();
- code_piece_append("}</PYACC_BracedCode>");
+ code_piece_append("</PYACC_Text>}</PYACC_BracedCode>");
  code_piece_pack();
  free(gram_piece[gram_piece2 + 2]);
  gram_piece[gram_piece2 + 2] = strdup(code_piece[code_piece0 - 1]);
@@ -545,10 +547,10 @@ grammar_declaration:
     }
 | "%code" ID "{...}"
     {
- code_piece_append("<PYACC_BracedCode>{");
+ code_piece_append("<PYACC_BracedCode>{<PYACC_Text>");
       muscle_percent_code_grow ($2, @2, translate_code_braceless ($3, @3), @3);
       code_scanner_last_string_free ();
- code_piece_append("}</PYACC_BracedCode>");
+ code_piece_append("</PYACC_Text>}</PYACC_BracedCode>");
  code_piece_pack();
  free(gram_piece[gram_piece2 + 4]);
  gram_piece[gram_piece2 + 4] = strdup(code_piece[code_piece0 - 1]);
@@ -582,10 +584,10 @@ grammar_declaration:
   "%union" union_name "{...}"
     {
       union_seen = true;
- code_piece_append("<PYACC_BracedCode>{");
+ code_piece_append("<PYACC_BracedCode>{<PYACC_Text>");
       muscle_code_grow ("union_members", translate_code_braceless ($3, @3), @3);
       code_scanner_last_string_free ();
- code_piece_append("}</PYACC_BracedCode>");
+ code_piece_append("</PYACC_Text>}</PYACC_BracedCode>");
  code_piece_pack();
  free(gram_piece[gram_piece2 + 4]);
  gram_piece[gram_piece2 + 4] = strdup(code_piece[code_piece0 - 1]);
@@ -830,8 +832,8 @@ rhs:
  insert_before(1, "<PYACC_Production_SymbolRef><PYACC_SymbolRef>");
  }
 | rhs "{...}" named_ref.opt
-    { code_piece_append("<PYACC_BracedCode>"); grammar_current_rule_action_append ($2, @2, $3, false); /*}*/
- code_piece_append("</PYACC_BracedCode>");
+    { /* should be BracedCode, but too hard to put PYACC_Text inside braces */ code_piece_append("<PYACC_Text>"); grammar_current_rule_action_append ($2, @2, $3, false); /*}*/
+ code_piece_append("</PYACC_Text>");
  code_piece_pack();
  free(gram_piece[gram_piece2 + 2]);
  gram_piece[gram_piece2 + 2] = strdup(code_piece[code_piece0 - 1]);
index 9a68bf5..ea812dc 100644 (file)
@@ -999,13 +999,13 @@ static yyconst flex_int16_t yy_rule_linenum[130] =
       265,  266,  267,  268,  269,  270,  271,  272,  273,  274,
       277,  278,  279,  280,  281,  282,  283,  284,  285,  286,
       287,  289,  293,  294,  295,  297,  309,  323,  340,  345,
-      348,  351,  354,  364,  375,  376,  377,  387,  401,  408,
-      428,  438,  453,  463,  490,  503,  519,  534,  551,  552,
-      563,  574,  575,  587,  603,  613,  640,  652,  674,  675,
+      348,  351,  354,  366,  377,  378,  379,  389,  403,  410,
+      430,  440,  455,  465,  492,  505,  521,  536,  553,  554,
+      565,  576,  577,  589,  605,  615,  642,  654,  676,  677,
 
-      686,  701,  717,  718,  719,  720,  721,  722,  723,  726,
-      728,  742,  760,  765,  766,  772,  773,  784,  790,  796,
-      802,  818,  819,  823,  830,  854,  882,  928,  929
+      688,  703,  719,  720,  721,  722,  723,  724,  725,  728,
+      730,  744,  762,  767,  768,  774,  775,  786,  792,  798,
+      804,  820,  821,  825,  832,  857,  886,  932,  933
     } ;
 
 /* The intent behind this definition is that it'll catch
@@ -2020,19 +2020,21 @@ YY_RULE_SETUP
     BEGIN SC_BRACED_CODE;
  gram_piece_pack();
  gram_piece_append("<PYACC_BracedCode>");
+ gram_piece_flush(strlen(gram_text));
+ gram_piece_append("<PYACC_Text>");
   }
        YY_BREAK
 /* Semantic predicate. */
 case 74:
 /* rule 74 can match eol */
 YY_RULE_SETUP
-#line 364 "src/scan-gram.l"
+#line 366 "src/scan-gram.l"
 {
     nesting = 0;
     code_start = loc->start;
  gram_piece_pack();
  gram_piece_append("<PYACC_BracedPredicate>");
- gram_piece_flush(strlen(gram_text) - 1);
+ gram_piece_flush(strlen(gram_text));
  gram_piece_append("<PYACC_Text>");
     BEGIN SC_PREDICATE;
   }
@@ -2040,17 +2042,17 @@ YY_RULE_SETUP
 /* A type. */
 case 75:
 YY_RULE_SETUP
-#line 375 "src/scan-gram.l"
+#line 377 "src/scan-gram.l"
 gram_piece_pack(); gram_piece_append("<PYACC_TagRef>&lt;<PYACC_Text>*</PYACC_Text>&gt;</PYACC_TagRef>"); return ~TAG_ANY; /*return TAG_ANY;*/
        YY_BREAK
 case 76:
 YY_RULE_SETUP
-#line 376 "src/scan-gram.l"
+#line 378 "src/scan-gram.l"
 gram_piece_pack(); gram_piece_append("<PYACC_TagRef>&lt;<PYACC_Text />&gt;</PYACC_TagRef>"); return ~TAG_NONE; /*return TAG_NONE;*/
        YY_BREAK
 case 77:
 YY_RULE_SETUP
-#line 377 "src/scan-gram.l"
+#line 379 "src/scan-gram.l"
 {
     nesting = 0;
     token_start = loc->start;
@@ -2063,7 +2065,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 78:
 YY_RULE_SETUP
-#line 387 "src/scan-gram.l"
+#line 389 "src/scan-gram.l"
 {
     static int percent_percent_count;
     if (++percent_percent_count == 2)
@@ -2080,7 +2082,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 79:
 YY_RULE_SETUP
-#line 401 "src/scan-gram.l"
+#line 403 "src/scan-gram.l"
 {
     bracketed_id_str = NULL;
     bracketed_id_start = loc->start;
@@ -2090,7 +2092,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 80:
 YY_RULE_SETUP
-#line 408 "src/scan-gram.l"
+#line 410 "src/scan-gram.l"
 {
     complain (loc, complaint, "%s: %s",
               ngettext ("invalid character", "invalid characters", gram_leng),
@@ -2098,7 +2100,7 @@ YY_RULE_SETUP
   }
        YY_BREAK
 case YY_STATE_EOF(INITIAL):
-#line 414 "src/scan-gram.l"
+#line 416 "src/scan-gram.l"
 {
     loc->start = loc->end = scanner_cursor;
     yyterminate ();
@@ -2113,7 +2115,7 @@ case YY_STATE_EOF(INITIAL):
 
 case 81:
 YY_RULE_SETUP
-#line 428 "src/scan-gram.l"
+#line 430 "src/scan-gram.l"
 complain (loc, complaint, _("invalid null character"));
        YY_BREAK
 
@@ -2124,7 +2126,7 @@ complain (loc, complaint, _("invalid null character"));
 
 case 82:
 YY_RULE_SETUP
-#line 438 "src/scan-gram.l"
+#line 440 "src/scan-gram.l"
 {
     if (bracketed_id_str)
       {
@@ -2143,7 +2145,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 83:
 YY_RULE_SETUP
-#line 453 "src/scan-gram.l"
+#line 455 "src/scan-gram.l"
 {
     BEGIN (bracketed_id_str ? SC_RETURN_BRACKETED_ID : INITIAL);
     *loc = id_loc;
@@ -2157,7 +2159,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 84:
 YY_RULE_SETUP
-#line 463 "src/scan-gram.l"
+#line 465 "src/scan-gram.l"
 {
     ROLLBACK_CURRENT_TOKEN;
     BEGIN (bracketed_id_str ? SC_RETURN_BRACKETED_ID : INITIAL);
@@ -2170,7 +2172,7 @@ YY_RULE_SETUP
   }
        YY_BREAK
 case YY_STATE_EOF(SC_AFTER_IDENTIFIER):
-#line 473 "src/scan-gram.l"
+#line 475 "src/scan-gram.l"
 {
     BEGIN (bracketed_id_str ? SC_RETURN_BRACKETED_ID : INITIAL);
     *loc = id_loc;
@@ -2189,7 +2191,7 @@ case YY_STATE_EOF(SC_AFTER_IDENTIFIER):
 
 case 85:
 YY_RULE_SETUP
-#line 490 "src/scan-gram.l"
+#line 492 "src/scan-gram.l"
 {
     if (bracketed_id_str)
       {
@@ -2206,7 +2208,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 86:
 YY_RULE_SETUP
-#line 503 "src/scan-gram.l"
+#line 505 "src/scan-gram.l"
 {
     BEGIN bracketed_id_context_state;
     if (bracketed_id_str)
@@ -2225,7 +2227,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 87:
 YY_RULE_SETUP
-#line 519 "src/scan-gram.l"
+#line 521 "src/scan-gram.l"
 {
     complain (loc, complaint, "%s: %s",
               ngettext ("invalid character in bracketed name",
@@ -2234,7 +2236,7 @@ YY_RULE_SETUP
   }
        YY_BREAK
 case YY_STATE_EOF(SC_BRACKETED_ID):
-#line 526 "src/scan-gram.l"
+#line 528 "src/scan-gram.l"
 {
     BEGIN bracketed_id_context_state;
     unexpected_eof (bracketed_id_start, "]");
@@ -2245,7 +2247,7 @@ case YY_STATE_EOF(SC_BRACKETED_ID):
 
 case 88:
 YY_RULE_SETUP
-#line 534 "src/scan-gram.l"
+#line 536 "src/scan-gram.l"
 {
     ROLLBACK_CURRENT_TOKEN;
     val->uniqstr = bracketed_id_str;
@@ -2263,17 +2265,17 @@ YY_RULE_SETUP
 
 case 89:
 YY_RULE_SETUP
-#line 551 "src/scan-gram.l"
+#line 553 "src/scan-gram.l"
 BEGIN context_state;
        YY_BREAK
 case 90:
 /* rule 90 can match eol */
 YY_RULE_SETUP
-#line 552 "src/scan-gram.l"
+#line 554 "src/scan-gram.l"
 continue;
        YY_BREAK
 case YY_STATE_EOF(SC_YACC_COMMENT):
-#line 553 "src/scan-gram.l"
+#line 555 "src/scan-gram.l"
 unexpected_eof (token_start, "*/"); BEGIN context_state;
        YY_BREAK
 
@@ -2285,11 +2287,11 @@ unexpected_eof (token_start, "*/"); BEGIN context_state;
 case 91:
 /* rule 91 can match eol */
 YY_RULE_SETUP
-#line 563 "src/scan-gram.l"
+#line 565 "src/scan-gram.l"
 STRING_GROW; BEGIN context_state;
        YY_BREAK
 case YY_STATE_EOF(SC_COMMENT):
-#line 564 "src/scan-gram.l"
+#line 566 "src/scan-gram.l"
 unexpected_eof (token_start, "*/"); BEGIN context_state;
        YY_BREAK
 
@@ -2301,17 +2303,17 @@ unexpected_eof (token_start, "*/"); BEGIN context_state;
 case 92:
 /* rule 92 can match eol */
 YY_RULE_SETUP
-#line 574 "src/scan-gram.l"
+#line 576 "src/scan-gram.l"
 STRING_GROW; BEGIN context_state;
        YY_BREAK
 case 93:
 /* rule 93 can match eol */
 YY_RULE_SETUP
-#line 575 "src/scan-gram.l"
+#line 577 "src/scan-gram.l"
 STRING_GROW;
        YY_BREAK
 case YY_STATE_EOF(SC_LINE_COMMENT):
-#line 576 "src/scan-gram.l"
+#line 578 "src/scan-gram.l"
 BEGIN context_state;
        YY_BREAK
 
@@ -2323,7 +2325,7 @@ BEGIN context_state;
 
 case 94:
 YY_RULE_SETUP
-#line 587 "src/scan-gram.l"
+#line 589 "src/scan-gram.l"
 {
     STRING_FINISH;
     loc->start = token_start;
@@ -2341,13 +2343,13 @@ YY_RULE_SETUP
   }
        YY_BREAK
 case YY_STATE_EOF(SC_ESCAPED_STRING):
-#line 602 "src/scan-gram.l"
+#line 604 "src/scan-gram.l"
 unexpected_eof (token_start, "\"");
        YY_BREAK
 case 95:
 /* rule 95 can match eol */
 YY_RULE_SETUP
-#line 603 "src/scan-gram.l"
+#line 605 "src/scan-gram.l"
 unexpected_newline (token_start, "\"");
        YY_BREAK
 
@@ -2359,7 +2361,7 @@ unexpected_newline (token_start, "\"");
 
 case 96:
 YY_RULE_SETUP
-#line 613 "src/scan-gram.l"
+#line 615 "src/scan-gram.l"
 {
     STRING_FINISH;
     loc->start = token_start;
@@ -2391,11 +2393,11 @@ YY_RULE_SETUP
 case 97:
 /* rule 97 can match eol */
 YY_RULE_SETUP
-#line 640 "src/scan-gram.l"
+#line 642 "src/scan-gram.l"
 unexpected_newline (token_start, "'");
        YY_BREAK
 case YY_STATE_EOF(SC_ESCAPED_CHARACTER):
-#line 641 "src/scan-gram.l"
+#line 643 "src/scan-gram.l"
 unexpected_eof (token_start, "'");
        YY_BREAK
 
@@ -2406,7 +2408,7 @@ unexpected_eof (token_start, "'");
 
 case 98:
 YY_RULE_SETUP
-#line 652 "src/scan-gram.l"
+#line 654 "src/scan-gram.l"
 {
     --nesting;
     if (nesting < 0)
@@ -2432,16 +2434,16 @@ YY_RULE_SETUP
 case 99:
 /* rule 99 can match eol */
 YY_RULE_SETUP
-#line 674 "src/scan-gram.l"
+#line 676 "src/scan-gram.l"
 STRING_GROW;
        YY_BREAK
 case 100:
 YY_RULE_SETUP
-#line 675 "src/scan-gram.l"
+#line 677 "src/scan-gram.l"
 STRING_GROW; nesting += gram_leng;
        YY_BREAK
 case YY_STATE_EOF(SC_TAG):
-#line 677 "src/scan-gram.l"
+#line 679 "src/scan-gram.l"
 unexpected_eof (token_start, ">");
        YY_BREAK
 
@@ -2452,7 +2454,7 @@ unexpected_eof (token_start, ">");
 
 case 101:
 YY_RULE_SETUP
-#line 686 "src/scan-gram.l"
+#line 688 "src/scan-gram.l"
 {
     unsigned long int c = strtoul (gram_text + 1, NULL, 8);
     if (!c || UCHAR_MAX < c)
@@ -2470,7 +2472,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 102:
 YY_RULE_SETUP
-#line 701 "src/scan-gram.l"
+#line 703 "src/scan-gram.l"
 {
     verify (UCHAR_MAX < ULONG_MAX);
     unsigned long int c = strtoul (gram_text + 2, NULL, 16);
@@ -2489,48 +2491,48 @@ YY_RULE_SETUP
        YY_BREAK
 case 103:
 YY_RULE_SETUP
-#line 717 "src/scan-gram.l"
+#line 719 "src/scan-gram.l"
 obstack_1grow (&obstack_for_string, '\a'); gram_piece_append("<PYACC_Text_Escape character=\"7\">"); gram_piece_flush(strlen(gram_text)); gram_piece_append("</PYACC_Text_Escape>");
        YY_BREAK
 case 104:
 YY_RULE_SETUP
-#line 718 "src/scan-gram.l"
+#line 720 "src/scan-gram.l"
 obstack_1grow (&obstack_for_string, '\b'); gram_piece_append("<PYACC_Text_Escape character=\"8\">"); gram_piece_flush(strlen(gram_text)); gram_piece_append("</PYACC_Text_Escape>");
        YY_BREAK
 case 105:
 YY_RULE_SETUP
-#line 719 "src/scan-gram.l"
+#line 721 "src/scan-gram.l"
 obstack_1grow (&obstack_for_string, '\f'); gram_piece_append("<PYACC_Text_Escape character=\"12\">"); gram_piece_flush(strlen(gram_text)); gram_piece_append("</PYACC_Text_Escape>");
        YY_BREAK
 case 106:
 YY_RULE_SETUP
-#line 720 "src/scan-gram.l"
+#line 722 "src/scan-gram.l"
 obstack_1grow (&obstack_for_string, '\n'); gram_piece_append("<PYACC_Text_Escape character=\"10\">"); gram_piece_flush(strlen(gram_text)); gram_piece_append("</PYACC_Text_Escape>");
        YY_BREAK
 case 107:
 YY_RULE_SETUP
-#line 721 "src/scan-gram.l"
+#line 723 "src/scan-gram.l"
 obstack_1grow (&obstack_for_string, '\r'); gram_piece_append("<PYACC_Text_Escape character=\"13\">"); gram_piece_flush(strlen(gram_text)); gram_piece_append("</PYACC_Text_Escape>");
        YY_BREAK
 case 108:
 YY_RULE_SETUP
-#line 722 "src/scan-gram.l"
+#line 724 "src/scan-gram.l"
 obstack_1grow (&obstack_for_string, '\t'); gram_piece_append("<PYACC_Text_Escape character=\"9\">"); gram_piece_flush(strlen(gram_text)); gram_piece_append("</PYACC_Text_Escape>");
        YY_BREAK
 case 109:
 YY_RULE_SETUP
-#line 723 "src/scan-gram.l"
+#line 725 "src/scan-gram.l"
 obstack_1grow (&obstack_for_string, '\v'); gram_piece_append("<PYACC_Text_Escape character=\"11\">"); gram_piece_flush(strlen(gram_text)); gram_piece_append("</PYACC_Text_Escape>");
        YY_BREAK
 /* \\[\"\'?\\] would be shorter, but it confuses xgettext.  */
 case 110:
 YY_RULE_SETUP
-#line 726 "src/scan-gram.l"
+#line 728 "src/scan-gram.l"
 obstack_1grow (&obstack_for_string, gram_text[1]); sprintf(gram_piece_temp, "<PYACC_Text_Escape character=\"%d\">", gram_text[1]); gram_piece_append(gram_piece_temp); gram_piece_flush(strlen(gram_text)); gram_piece_append("</PYACC_Text_Escape>"); 
        YY_BREAK
 case 111:
 YY_RULE_SETUP
-#line 728 "src/scan-gram.l"
+#line 730 "src/scan-gram.l"
 {
     int c = convert_ucn_to_byte (gram_text);
     if (c <= 0)
@@ -2549,7 +2551,7 @@ YY_RULE_SETUP
 case 112:
 /* rule 112 can match eol */
 YY_RULE_SETUP
-#line 742 "src/scan-gram.l"
+#line 744 "src/scan-gram.l"
 {
     char const *p = gram_text + 1;
     /* Quote only if escaping won't make the character visible.  */
@@ -2570,7 +2572,7 @@ YY_RULE_SETUP
 case 113:
 /* rule 113 can match eol */
 YY_RULE_SETUP
-#line 760 "src/scan-gram.l"
+#line 762 "src/scan-gram.l"
 STRING_GROW;
        YY_BREAK
 
@@ -2578,17 +2580,17 @@ STRING_GROW;
 
 case 114:
 YY_RULE_SETUP
-#line 765 "src/scan-gram.l"
+#line 767 "src/scan-gram.l"
 STRING_GROW; BEGIN context_state;
        YY_BREAK
 case 115:
 /* rule 115 can match eol */
 YY_RULE_SETUP
-#line 766 "src/scan-gram.l"
+#line 768 "src/scan-gram.l"
 unexpected_newline (token_start, "'");
        YY_BREAK
 case YY_STATE_EOF(SC_CHARACTER):
-#line 767 "src/scan-gram.l"
+#line 769 "src/scan-gram.l"
 unexpected_eof (token_start, "'");
        YY_BREAK
 
@@ -2596,17 +2598,17 @@ unexpected_eof (token_start, "'");
 
 case 116:
 YY_RULE_SETUP
-#line 772 "src/scan-gram.l"
+#line 774 "src/scan-gram.l"
 STRING_GROW; BEGIN context_state;
        YY_BREAK
 case 117:
 /* rule 117 can match eol */
 YY_RULE_SETUP
-#line 773 "src/scan-gram.l"
+#line 775 "src/scan-gram.l"
 unexpected_newline (token_start, "\"");
        YY_BREAK
 case YY_STATE_EOF(SC_STRING):
-#line 774 "src/scan-gram.l"
+#line 776 "src/scan-gram.l"
 unexpected_eof (token_start, "\"");
        YY_BREAK
 
@@ -2617,7 +2619,7 @@ unexpected_eof (token_start, "\"");
 
 case 118:
 YY_RULE_SETUP
-#line 784 "src/scan-gram.l"
+#line 786 "src/scan-gram.l"
 {
     STRING_GROW;
     context_state = YY_START;
@@ -2627,7 +2629,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 119:
 YY_RULE_SETUP
-#line 790 "src/scan-gram.l"
+#line 792 "src/scan-gram.l"
 {
     STRING_GROW;
     context_state = YY_START;
@@ -2638,7 +2640,7 @@ YY_RULE_SETUP
 case 120:
 /* rule 120 can match eol */
 YY_RULE_SETUP
-#line 796 "src/scan-gram.l"
+#line 798 "src/scan-gram.l"
 {
     STRING_GROW;
     context_state = YY_START;
@@ -2649,7 +2651,7 @@ YY_RULE_SETUP
 case 121:
 /* rule 121 can match eol */
 YY_RULE_SETUP
-#line 802 "src/scan-gram.l"
+#line 804 "src/scan-gram.l"
 {
     STRING_GROW;
     context_state = YY_START;
@@ -2666,13 +2668,13 @@ YY_RULE_SETUP
 case 122:
 /* rule 122 can match eol */
 YY_RULE_SETUP
-#line 818 "src/scan-gram.l"
+#line 820 "src/scan-gram.l"
 STRING_GROW; nesting++;
        YY_BREAK
 case 123:
 /* rule 123 can match eol */
 YY_RULE_SETUP
-#line 819 "src/scan-gram.l"
+#line 821 "src/scan-gram.l"
 STRING_GROW; nesting--;
        YY_BREAK
 /* Tokenize '<<%' correctly (as '<<' '%') rather than incorrrectly
@@ -2680,12 +2682,12 @@ STRING_GROW; nesting--;
 case 124:
 /* rule 124 can match eol */
 YY_RULE_SETUP
-#line 823 "src/scan-gram.l"
+#line 825 "src/scan-gram.l"
 STRING_GROW;
        YY_BREAK
 case YY_STATE_EOF(SC_BRACED_CODE):
 case YY_STATE_EOF(SC_PREDICATE):
-#line 825 "src/scan-gram.l"
+#line 827 "src/scan-gram.l"
 unexpected_eof (code_start, "}");
        YY_BREAK
 
@@ -2693,7 +2695,7 @@ unexpected_eof (code_start, "}");
 
 case 125:
 YY_RULE_SETUP
-#line 830 "src/scan-gram.l"
+#line 832 "src/scan-gram.l"
 {
     obstack_1grow (&obstack_for_string, '}');
 
@@ -2705,6 +2707,7 @@ YY_RULE_SETUP
         val->code = last_string;
         BEGIN INITIAL;
 #if 1
+ gram_piece_append("</PYACC_Text>");
  gram_piece_escape(gram_text, strlen(gram_text));
  gram_piece_append("</PYACC_BracedCode>");
  gram_piece_pack();
@@ -2720,7 +2723,7 @@ YY_RULE_SETUP
 
 case 126:
 YY_RULE_SETUP
-#line 854 "src/scan-gram.l"
+#line 857 "src/scan-gram.l"
 {
     --nesting;
     if (nesting < 0)
@@ -2730,8 +2733,9 @@ YY_RULE_SETUP
         val->code = last_string;
         BEGIN INITIAL;
 #if 1
+ gram_piece_append("</PYACC_Text>");
  gram_piece_escape(gram_text, strlen(gram_text));
- gram_piece_append("</PYACC_Text></PYACC_BracedPredicate>");
+ gram_piece_append("</PYACC_BracedPredicate>");
  gram_piece_pack();
  return ~BRACED_PREDICATE;
 #else
@@ -2750,7 +2754,7 @@ YY_RULE_SETUP
 
 case 127:
 YY_RULE_SETUP
-#line 882 "src/scan-gram.l"
+#line 886 "src/scan-gram.l"
 {
     STRING_FINISH;
     loc->start = code_start;
@@ -2768,7 +2772,7 @@ YY_RULE_SETUP
   }
        YY_BREAK
 case YY_STATE_EOF(SC_PROLOGUE):
-#line 898 "src/scan-gram.l"
+#line 902 "src/scan-gram.l"
 unexpected_eof (code_start, "%}");
        YY_BREAK
 
@@ -2779,7 +2783,7 @@ unexpected_eof (code_start, "%}");
 
 
 case YY_STATE_EOF(SC_EPILOGUE):
-#line 909 "src/scan-gram.l"
+#line 913 "src/scan-gram.l"
 {
     STRING_FINISH;
     loc->start = code_start;
@@ -2798,19 +2802,19 @@ case YY_STATE_EOF(SC_EPILOGUE):
   | By default, grow the string obstack with the input.  |
   `-----------------------------------------------------*/
 case 128:
-#line 929 "src/scan-gram.l"
+#line 933 "src/scan-gram.l"
 case 129:
 /* rule 129 can match eol */
 YY_RULE_SETUP
-#line 929 "src/scan-gram.l"
+#line 933 "src/scan-gram.l"
 STRING_GROW;
        YY_BREAK
 case 130:
 YY_RULE_SETUP
-#line 932 "src/scan-gram.l"
+#line 936 "src/scan-gram.l"
 YY_FATAL_ERROR( "flex scanner jammed" );
        YY_BREAK
-#line 2800 "src/scan-gram.c"
+#line 2804 "src/scan-gram.c"
 case YY_STATE_EOF(SC_RETURN_BRACKETED_ID):
        yyterminate();
 
@@ -3944,7 +3948,7 @@ void gram_free (void * ptr )
 
 /* %ok-for-header */
 
-#line 932 "src/scan-gram.l"
+#line 936 "src/scan-gram.l"
 
 
 
index 86aa160..9c9ef0a 100644 (file)
@@ -358,6 +358,8 @@ eqopt    ([[:space:]]*=)?
     BEGIN SC_BRACED_CODE;
  gram_piece_pack();
  gram_piece_append("<PYACC_BracedCode>");
+ gram_piece_flush(strlen(yytext));
+ gram_piece_append("<PYACC_Text>");
   }
 
   /* Semantic predicate. */
@@ -366,7 +368,7 @@ eqopt    ([[:space:]]*=)?
     code_start = loc->start;
  gram_piece_pack();
  gram_piece_append("<PYACC_BracedPredicate>");
- gram_piece_flush(strlen(yytext) - 1);
+ gram_piece_flush(strlen(yytext));
  gram_piece_append("<PYACC_Text>");
     BEGIN SC_PREDICATE;
   }
@@ -838,6 +840,7 @@ eqopt    ([[:space:]]*=)?
         val->code = last_string;
         BEGIN INITIAL;
 #if 1
+ gram_piece_append("</PYACC_Text>");
  gram_piece_escape(yytext, strlen(yytext));
  gram_piece_append("</PYACC_BracedCode>");
  gram_piece_pack();
@@ -860,8 +863,9 @@ eqopt    ([[:space:]]*=)?
         val->code = last_string;
         BEGIN INITIAL;
 #if 1
+ gram_piece_append("</PYACC_Text>");
  gram_piece_escape(yytext, strlen(yytext));
- gram_piece_append("</PYACC_Text></PYACC_BracedPredicate>");
+ gram_piece_append("</PYACC_BracedPredicate>");
  gram_piece_pack();
  return ~BRACED_PREDICATE;
 #else