Change the generated output, to make it readable by element.deserialize()
authorNick Downing <downing.nick@gmail.com>
Tue, 26 Jun 2018 04:07:38 +0000 (14:07 +1000)
committerNick Downing <downing.nick@gmail.com>
Tue, 26 Jun 2018 04:07:38 +0000 (14:07 +1000)
src/parse-gram.c
src/parse-gram.h
src/parse-gram.y
src/reader.c

index bdbacd0..249dc46 100644 (file)
@@ -129,7 +129,7 @@ extern int gram_debug;
     param_parse  = 1 << 1,
     param_both   = param_lex | param_parse
   } param_type;
-#line 696 "src/parse-gram.y" /* yacc.c:355  */
+#line 694 "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 241 "src/parse-gram.y" /* yacc.c:355  */
 param_type param;
-#line 417 "src/parse-gram.y" /* yacc.c:355  */
+#line 415 "src/parse-gram.y" /* yacc.c:355  */
 code_props_type code_type;
-#line 698 "src/parse-gram.y" /* yacc.c:355  */
+#line 696 "src/parse-gram.y" /* yacc.c:355  */
 
   struct
   {
@@ -619,18 +619,18 @@ static const yytype_uint8 yytranslate[] =
   /* YYRLINE[YYN] -- Source line where rule number YYN was defined.  */
 static const yytype_uint16 yyrline[] =
 {
-       0,   264,   264,   281,   282,   286,   287,   293,   297,   302,
-     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,   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
+       0,   264,   264,   279,   280,   284,   285,   291,   295,   300,
+     301,   306,   312,   313,   314,   315,   320,   325,   326,   327,
+     328,   329,   330,   330,   331,   332,   356,   357,   358,   359,
+     363,   364,   373,   374,   375,   379,   391,   395,   399,   407,
+     418,   419,   429,   430,   436,   450,   450,   459,   459,   468,
+     483,   502,   503,   504,   505,   509,   510,   515,   517,   522,
+     527,   539,   541,   546,   547,   551,   552,   556,   557,   558,
+     563,   568,   573,   581,   589,   602,   603,   612,   613,   619,
+     620,   626,   633,   633,   645,   649,   653,   658,   661,   663,
+     665,   667,   669,   671,   673,   678,   679,   689,   690,   715,
+     716,   717,   718,   730,   732,   741,   746,   747,   752,   760,
+     761
 };
 #endif
 
@@ -1091,7 +1091,7 @@ yy_symbol_value_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvalue
         break;
 
     case 65: /* code_props_type  */
-#line 418 "src/parse-gram.y" /* yacc.c:684  */
+#line 416 "src/parse-gram.y" /* yacc.c:684  */
       { fprintf (yyo, "%s", code_props_type_string (((*yyvaluep).code_type))); }
 #line 1097 "src/parse-gram.c" /* yacc.c:684  */
         break;
@@ -1115,7 +1115,7 @@ yy_symbol_value_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvalue
         break;
 
     case 89: /* value  */
-#line 707 "src/parse-gram.y" /* yacc.c:684  */
+#line 705 "src/parse-gram.y" /* yacc.c:684  */
       {
   switch (((*yyvaluep).value).kind)
     {
@@ -2078,154 +2078,152 @@ yyreduce:
           case 2:
 #line 265 "src/parse-gram.y" /* yacc.c:1648  */
     {
- insert_after(3, "</root>");
  insert_after(2, "</Sect2>");
  insert_before(2, "<Sect2>");
  insert_after(0, "</Sect1>");
  insert_before(0, "<Sect1>");
- insert_before(0, "<root>");
  }
-#line 2059 "src/parse-gram.c" /* yacc.c:1648  */
+#line 2057 "src/parse-gram.c" /* yacc.c:1648  */
     break;
 
   case 6:
-#line 288 "src/parse-gram.y" /* yacc.c:1648  */
+#line 286 "src/parse-gram.y" /* yacc.c:1648  */
     {
       muscle_code_grow (union_seen ? "post_prologue" : "pre_prologue",
                         translate_code ((yyvsp[0].code), (yylsp[0]), true), (yylsp[0]));
       code_scanner_last_string_free ();
     }
-#line 2069 "src/parse-gram.c" /* yacc.c:1648  */
+#line 2067 "src/parse-gram.c" /* yacc.c:1648  */
     break;
 
   case 7:
-#line 294 "src/parse-gram.y" /* yacc.c:1648  */
+#line 292 "src/parse-gram.y" /* yacc.c:1648  */
     {
       muscle_percent_define_ensure ((yyvsp[0].uniqstr), (yylsp[0]), true);
     }
-#line 2077 "src/parse-gram.c" /* yacc.c:1648  */
+#line 2075 "src/parse-gram.c" /* yacc.c:1648  */
     break;
 
   case 8:
-#line 298 "src/parse-gram.y" /* yacc.c:1648  */
+#line 296 "src/parse-gram.y" /* yacc.c:1648  */
     {
       muscle_percent_define_insert ((yyvsp[-1].uniqstr), (yylsp[-1]), (yyvsp[0].value).kind, (yyvsp[0].value).chars,
                                     MUSCLE_PERCENT_DEFINE_GRAMMAR_FILE);
     }
-#line 2086 "src/parse-gram.c" /* yacc.c:1648  */
+#line 2084 "src/parse-gram.c" /* yacc.c:1648  */
     break;
 
   case 9:
-#line 302 "src/parse-gram.y" /* yacc.c:1648  */
+#line 300 "src/parse-gram.y" /* yacc.c:1648  */
     { defines_flag = true; }
-#line 2092 "src/parse-gram.c" /* yacc.c:1648  */
+#line 2090 "src/parse-gram.c" /* yacc.c:1648  */
     break;
 
   case 10:
-#line 304 "src/parse-gram.y" /* yacc.c:1648  */
+#line 302 "src/parse-gram.y" /* yacc.c:1648  */
     {
       defines_flag = true;
       spec_defines_file = xstrdup ((yyvsp[0].code));
     }
-#line 2101 "src/parse-gram.c" /* yacc.c:1648  */
+#line 2099 "src/parse-gram.c" /* yacc.c:1648  */
     break;
 
   case 11:
-#line 309 "src/parse-gram.y" /* yacc.c:1648  */
+#line 307 "src/parse-gram.y" /* yacc.c:1648  */
     {
       muscle_percent_define_insert ("parse.error", (yylsp[0]), muscle_keyword,
                                     "verbose",
                                     MUSCLE_PERCENT_DEFINE_GRAMMAR_FILE);
     }
-#line 2111 "src/parse-gram.c" /* yacc.c:1648  */
+#line 2109 "src/parse-gram.c" /* yacc.c:1648  */
     break;
 
   case 12:
-#line 314 "src/parse-gram.y" /* yacc.c:1648  */
+#line 312 "src/parse-gram.y" /* yacc.c:1648  */
     { expected_sr_conflicts = (yyvsp[0].integer); }
-#line 2117 "src/parse-gram.c" /* yacc.c:1648  */
+#line 2115 "src/parse-gram.c" /* yacc.c:1648  */
     break;
 
   case 13:
-#line 315 "src/parse-gram.y" /* yacc.c:1648  */
+#line 313 "src/parse-gram.y" /* yacc.c:1648  */
     { expected_rr_conflicts = (yyvsp[0].integer); }
-#line 2123 "src/parse-gram.c" /* yacc.c:1648  */
+#line 2121 "src/parse-gram.c" /* yacc.c:1648  */
     break;
 
   case 14:
-#line 316 "src/parse-gram.y" /* yacc.c:1648  */
+#line 314 "src/parse-gram.y" /* yacc.c:1648  */
     { spec_file_prefix = (yyvsp[0].code); }
-#line 2129 "src/parse-gram.c" /* yacc.c:1648  */
+#line 2127 "src/parse-gram.c" /* yacc.c:1648  */
     break;
 
   case 15:
-#line 318 "src/parse-gram.y" /* yacc.c:1648  */
+#line 316 "src/parse-gram.y" /* yacc.c:1648  */
     {
       nondeterministic_parser = true;
       glr_parser = true;
     }
-#line 2138 "src/parse-gram.c" /* yacc.c:1648  */
+#line 2136 "src/parse-gram.c" /* yacc.c:1648  */
     break;
 
   case 16:
-#line 323 "src/parse-gram.y" /* yacc.c:1648  */
+#line 321 "src/parse-gram.y" /* yacc.c:1648  */
     {
       muscle_code_grow ("initial_action", translate_code ((yyvsp[0].code), (yylsp[0]), false), (yylsp[0]));
       code_scanner_last_string_free ();
     }
-#line 2147 "src/parse-gram.c" /* yacc.c:1648  */
+#line 2145 "src/parse-gram.c" /* yacc.c:1648  */
     break;
 
   case 17:
-#line 327 "src/parse-gram.y" /* yacc.c:1648  */
+#line 325 "src/parse-gram.y" /* yacc.c:1648  */
     { language_argmatch ((yyvsp[0].code), grammar_prio, (yylsp[-1])); }
-#line 2153 "src/parse-gram.c" /* yacc.c:1648  */
+#line 2151 "src/parse-gram.c" /* yacc.c:1648  */
     break;
 
   case 18:
-#line 328 "src/parse-gram.y" /* yacc.c:1648  */
+#line 326 "src/parse-gram.y" /* yacc.c:1648  */
     { spec_name_prefix = (yyvsp[0].code); }
-#line 2159 "src/parse-gram.c" /* yacc.c:1648  */
+#line 2157 "src/parse-gram.c" /* yacc.c:1648  */
     break;
 
   case 19:
-#line 329 "src/parse-gram.y" /* yacc.c:1648  */
+#line 327 "src/parse-gram.y" /* yacc.c:1648  */
     { no_lines_flag = true; }
-#line 2165 "src/parse-gram.c" /* yacc.c:1648  */
+#line 2163 "src/parse-gram.c" /* yacc.c:1648  */
     break;
 
   case 20:
-#line 330 "src/parse-gram.y" /* yacc.c:1648  */
+#line 328 "src/parse-gram.y" /* yacc.c:1648  */
     { nondeterministic_parser = true; }
-#line 2171 "src/parse-gram.c" /* yacc.c:1648  */
+#line 2169 "src/parse-gram.c" /* yacc.c:1648  */
     break;
 
   case 21:
-#line 331 "src/parse-gram.y" /* yacc.c:1648  */
+#line 329 "src/parse-gram.y" /* yacc.c:1648  */
     { spec_outfile = (yyvsp[0].code); }
-#line 2177 "src/parse-gram.c" /* yacc.c:1648  */
+#line 2175 "src/parse-gram.c" /* yacc.c:1648  */
     break;
 
   case 22:
-#line 332 "src/parse-gram.y" /* yacc.c:1648  */
+#line 330 "src/parse-gram.y" /* yacc.c:1648  */
     { current_param = (yyvsp[0].param); }
-#line 2183 "src/parse-gram.c" /* yacc.c:1648  */
+#line 2181 "src/parse-gram.c" /* yacc.c:1648  */
     break;
 
   case 23:
-#line 332 "src/parse-gram.y" /* yacc.c:1648  */
+#line 330 "src/parse-gram.y" /* yacc.c:1648  */
     { current_param = param_none; }
-#line 2189 "src/parse-gram.c" /* yacc.c:1648  */
+#line 2187 "src/parse-gram.c" /* yacc.c:1648  */
     break;
 
   case 24:
-#line 333 "src/parse-gram.y" /* yacc.c:1648  */
+#line 331 "src/parse-gram.y" /* yacc.c:1648  */
     { version_check (&(yylsp[0]), (yyvsp[0].code)); }
-#line 2195 "src/parse-gram.c" /* yacc.c:1648  */
+#line 2193 "src/parse-gram.c" /* yacc.c:1648  */
     break;
 
   case 25:
-#line 335 "src/parse-gram.y" /* yacc.c:1648  */
+#line 333 "src/parse-gram.y" /* yacc.c:1648  */
     {
       char const *skeleton_user = (yyvsp[0].code);
       if (strchr (skeleton_user, '/'))
@@ -2249,49 +2247,49 @@ yyreduce:
         }
       skeleton_arg (skeleton_user, grammar_prio, (yylsp[-1]));
     }
-#line 2223 "src/parse-gram.c" /* yacc.c:1648  */
+#line 2221 "src/parse-gram.c" /* yacc.c:1648  */
     break;
 
   case 26:
-#line 358 "src/parse-gram.y" /* yacc.c:1648  */
+#line 356 "src/parse-gram.y" /* yacc.c:1648  */
     { token_table_flag = true; }
-#line 2229 "src/parse-gram.c" /* yacc.c:1648  */
+#line 2227 "src/parse-gram.c" /* yacc.c:1648  */
     break;
 
   case 27:
-#line 359 "src/parse-gram.y" /* yacc.c:1648  */
+#line 357 "src/parse-gram.y" /* yacc.c:1648  */
     { report_flag |= report_states; }
-#line 2235 "src/parse-gram.c" /* yacc.c:1648  */
+#line 2233 "src/parse-gram.c" /* yacc.c:1648  */
     break;
 
   case 28:
-#line 360 "src/parse-gram.y" /* yacc.c:1648  */
+#line 358 "src/parse-gram.y" /* yacc.c:1648  */
     { yacc_flag = true; }
-#line 2241 "src/parse-gram.c" /* yacc.c:1648  */
+#line 2239 "src/parse-gram.c" /* yacc.c:1648  */
     break;
 
   case 30:
-#line 365 "src/parse-gram.y" /* yacc.c:1648  */
+#line 363 "src/parse-gram.y" /* yacc.c:1648  */
     { add_param (current_param, (yyvsp[0].code), (yylsp[0])); }
-#line 2247 "src/parse-gram.c" /* yacc.c:1648  */
+#line 2245 "src/parse-gram.c" /* yacc.c:1648  */
     break;
 
   case 31:
-#line 366 "src/parse-gram.y" /* yacc.c:1648  */
+#line 364 "src/parse-gram.y" /* yacc.c:1648  */
     { add_param (current_param, (yyvsp[0].code), (yylsp[0])); }
-#line 2253 "src/parse-gram.c" /* yacc.c:1648  */
+#line 2251 "src/parse-gram.c" /* yacc.c:1648  */
     break;
 
   case 34:
-#line 378 "src/parse-gram.y" /* yacc.c:1648  */
+#line 376 "src/parse-gram.y" /* yacc.c:1648  */
     {
       grammar_start_symbol_set ((yyvsp[0].symbol), (yylsp[0]));
     }
-#line 2261 "src/parse-gram.c" /* yacc.c:1648  */
+#line 2259 "src/parse-gram.c" /* yacc.c:1648  */
     break;
 
   case 35:
-#line 382 "src/parse-gram.y" /* yacc.c:1648  */
+#line 380 "src/parse-gram.y" /* yacc.c:1648  */
     {
       code_props code;
       code_props_symbol_action_init (&code, (yyvsp[-1].code), (yylsp[-1]));
@@ -2303,27 +2301,27 @@ yyreduce:
         symbol_list_free ((yyvsp[0].list));
       }
     }
-#line 2277 "src/parse-gram.c" /* yacc.c:1648  */
+#line 2275 "src/parse-gram.c" /* yacc.c:1648  */
     break;
 
   case 36:
-#line 394 "src/parse-gram.y" /* yacc.c:1648  */
+#line 392 "src/parse-gram.y" /* yacc.c:1648  */
     {
       default_prec = true;
     }
-#line 2285 "src/parse-gram.c" /* yacc.c:1648  */
+#line 2283 "src/parse-gram.c" /* yacc.c:1648  */
     break;
 
   case 37:
-#line 398 "src/parse-gram.y" /* yacc.c:1648  */
+#line 396 "src/parse-gram.y" /* yacc.c:1648  */
     {
       default_prec = false;
     }
-#line 2293 "src/parse-gram.c" /* yacc.c:1648  */
+#line 2291 "src/parse-gram.c" /* yacc.c:1648  */
     break;
 
   case 38:
-#line 402 "src/parse-gram.y" /* yacc.c:1648  */
+#line 400 "src/parse-gram.y" /* yacc.c:1648  */
     {
       /* Do not invoke muscle_percent_code_grow here since it invokes
          muscle_user_name_list_grow.  */
@@ -2331,46 +2329,46 @@ yyreduce:
                         translate_code_braceless ((yyvsp[0].code), (yylsp[0])), (yylsp[0]));
       code_scanner_last_string_free ();
     }
-#line 2305 "src/parse-gram.c" /* yacc.c:1648  */
+#line 2303 "src/parse-gram.c" /* yacc.c:1648  */
     break;
 
   case 39:
-#line 410 "src/parse-gram.y" /* yacc.c:1648  */
+#line 408 "src/parse-gram.y" /* yacc.c:1648  */
     {
       muscle_percent_code_grow ((yyvsp[-1].uniqstr), (yylsp[-1]), translate_code_braceless ((yyvsp[0].code), (yylsp[0])), (yylsp[0]));
       code_scanner_last_string_free ();
     }
-#line 2314 "src/parse-gram.c" /* yacc.c:1648  */
+#line 2312 "src/parse-gram.c" /* yacc.c:1648  */
     break;
 
   case 40:
-#line 420 "src/parse-gram.y" /* yacc.c:1648  */
+#line 418 "src/parse-gram.y" /* yacc.c:1648  */
     { (yyval.code_type) = destructor; }
-#line 2320 "src/parse-gram.c" /* yacc.c:1648  */
+#line 2318 "src/parse-gram.c" /* yacc.c:1648  */
     break;
 
   case 41:
-#line 421 "src/parse-gram.y" /* yacc.c:1648  */
+#line 419 "src/parse-gram.y" /* yacc.c:1648  */
     { (yyval.code_type) = printer; }
-#line 2326 "src/parse-gram.c" /* yacc.c:1648  */
+#line 2324 "src/parse-gram.c" /* yacc.c:1648  */
     break;
 
   case 42:
-#line 431 "src/parse-gram.y" /* yacc.c:1648  */
+#line 429 "src/parse-gram.y" /* yacc.c:1648  */
     { insert_before(0, "<NoId />"); }
-#line 2332 "src/parse-gram.c" /* yacc.c:1648  */
+#line 2330 "src/parse-gram.c" /* yacc.c:1648  */
     break;
 
   case 43:
-#line 432 "src/parse-gram.y" /* yacc.c:1648  */
+#line 430 "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 2340 "src/parse-gram.c" /* yacc.c:1648  */
+#line 2338 "src/parse-gram.c" /* yacc.c:1648  */
     break;
 
   case 44:
-#line 439 "src/parse-gram.y" /* yacc.c:1648  */
+#line 437 "src/parse-gram.y" /* yacc.c:1648  */
     {
       union_seen = true;
       muscle_code_grow ("union_members", translate_code_braceless ((yyvsp[0].code), (yylsp[0])), (yylsp[0]));
@@ -2378,17 +2376,17 @@ yyreduce:
  insert_after(2, "</PercentUnion>");
  insert_before(0, "<PercentUnion>");
     }
-#line 2352 "src/parse-gram.c" /* yacc.c:1648  */
+#line 2350 "src/parse-gram.c" /* yacc.c:1648  */
     break;
 
   case 45:
-#line 452 "src/parse-gram.y" /* yacc.c:1648  */
+#line 450 "src/parse-gram.y" /* yacc.c:1648  */
     { current_class = nterm_sym; }
-#line 2358 "src/parse-gram.c" /* yacc.c:1648  */
+#line 2356 "src/parse-gram.c" /* yacc.c:1648  */
     break;
 
   case 46:
-#line 453 "src/parse-gram.y" /* yacc.c:1648  */
+#line 451 "src/parse-gram.y" /* yacc.c:1648  */
     {
       current_class = unknown_sym;
       current_type = NULL;
@@ -2397,17 +2395,17 @@ yyreduce:
  /*insert_before(2, "<SymbolDefs>");*/
  insert_before(0, "<PercentNTerm>");
     }
-#line 2371 "src/parse-gram.c" /* yacc.c:1648  */
+#line 2369 "src/parse-gram.c" /* yacc.c:1648  */
     break;
 
   case 47:
-#line 461 "src/parse-gram.y" /* yacc.c:1648  */
+#line 459 "src/parse-gram.y" /* yacc.c:1648  */
     { current_class = token_sym; }
-#line 2377 "src/parse-gram.c" /* yacc.c:1648  */
+#line 2375 "src/parse-gram.c" /* yacc.c:1648  */
     break;
 
   case 48:
-#line 462 "src/parse-gram.y" /* yacc.c:1648  */
+#line 460 "src/parse-gram.y" /* yacc.c:1648  */
     {
       current_class = unknown_sym;
       current_type = NULL;
@@ -2416,11 +2414,11 @@ yyreduce:
  /*insert_before(2, "<SymbolDefs>");*/
  insert_before(0, "<PercentToken>");
     }
-#line 2390 "src/parse-gram.c" /* yacc.c:1648  */
+#line 2388 "src/parse-gram.c" /* yacc.c:1648  */
     break;
 
   case 49:
-#line 471 "src/parse-gram.y" /* yacc.c:1648  */
+#line 469 "src/parse-gram.y" /* yacc.c:1648  */
     {
       symbol_list *list;
       tag_seen = true;
@@ -2432,11 +2430,11 @@ yyreduce:
  insert_before(2, "<Symbols>");
  insert_before(0, "<PercentType>");
     }
-#line 2406 "src/parse-gram.c" /* yacc.c:1648  */
+#line 2404 "src/parse-gram.c" /* yacc.c:1648  */
     break;
 
   case 50:
-#line 486 "src/parse-gram.y" /* yacc.c:1648  */
+#line 484 "src/parse-gram.y" /* yacc.c:1648  */
     {
       symbol_list *list;
       ++current_prec;
@@ -2452,68 +2450,68 @@ yyreduce:
  insert_before(2, "<SymbolsPrec>");
  insert_before(0, "<PrecedenceDeclaration>");
     }
-#line 2426 "src/parse-gram.c" /* yacc.c:1648  */
+#line 2424 "src/parse-gram.c" /* yacc.c:1648  */
     break;
 
   case 51:
-#line 504 "src/parse-gram.y" /* yacc.c:1648  */
+#line 502 "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  */
+#line 2430 "src/parse-gram.c" /* yacc.c:1648  */
     break;
 
   case 52:
-#line 505 "src/parse-gram.y" /* yacc.c:1648  */
+#line 503 "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  */
+#line 2436 "src/parse-gram.c" /* yacc.c:1648  */
     break;
 
   case 53:
-#line 506 "src/parse-gram.y" /* yacc.c:1648  */
+#line 504 "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  */
+#line 2442 "src/parse-gram.c" /* yacc.c:1648  */
     break;
 
   case 54:
-#line 507 "src/parse-gram.y" /* yacc.c:1648  */
+#line 505 "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  */
+#line 2448 "src/parse-gram.c" /* yacc.c:1648  */
     break;
 
   case 55:
-#line 511 "src/parse-gram.y" /* yacc.c:1648  */
+#line 509 "src/parse-gram.y" /* yacc.c:1648  */
     { current_type = NULL; insert_before(0, "<NoTag />"); }
-#line 2456 "src/parse-gram.c" /* yacc.c:1648  */
+#line 2454 "src/parse-gram.c" /* yacc.c:1648  */
     break;
 
   case 56:
-#line 512 "src/parse-gram.y" /* yacc.c:1648  */
+#line 510 "src/parse-gram.y" /* yacc.c:1648  */
     { current_type = (yyvsp[0].uniqstr); tag_seen = true; }
-#line 2462 "src/parse-gram.c" /* yacc.c:1648  */
+#line 2460 "src/parse-gram.c" /* yacc.c:1648  */
     break;
 
   case 57:
-#line 518 "src/parse-gram.y" /* yacc.c:1648  */
+#line 516 "src/parse-gram.y" /* yacc.c:1648  */
     { (yyval.list) = symbol_list_sym_new ((yyvsp[0].symbol), (yylsp[0])); }
-#line 2468 "src/parse-gram.c" /* yacc.c:1648  */
+#line 2466 "src/parse-gram.c" /* yacc.c:1648  */
     break;
 
   case 58:
-#line 520 "src/parse-gram.y" /* yacc.c:1648  */
+#line 518 "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 2474 "src/parse-gram.c" /* yacc.c:1648  */
+#line 2472 "src/parse-gram.c" /* yacc.c:1648  */
     break;
 
   case 59:
-#line 525 "src/parse-gram.y" /* yacc.c:1648  */
+#line 523 "src/parse-gram.y" /* yacc.c:1648  */
     {
       (yyval.symbol) = (yyvsp[0].symbol);
       symbol_class_set ((yyvsp[0].symbol), token_sym, (yylsp[0]), false);
     }
-#line 2483 "src/parse-gram.c" /* yacc.c:1648  */
+#line 2481 "src/parse-gram.c" /* yacc.c:1648  */
     break;
 
   case 60:
-#line 530 "src/parse-gram.y" /* yacc.c:1648  */
+#line 528 "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]));
@@ -2521,77 +2519,77 @@ yyreduce:
  insert_after(1, "</SymbolInt>");
  insert_before(0, "<SymbolInt>");
     }
-#line 2495 "src/parse-gram.c" /* yacc.c:1648  */
+#line 2493 "src/parse-gram.c" /* yacc.c:1648  */
     break;
 
   case 61:
-#line 542 "src/parse-gram.y" /* yacc.c:1648  */
+#line 540 "src/parse-gram.y" /* yacc.c:1648  */
     { (yyval.list) = symbol_list_sym_new ((yyvsp[0].symbol), (yylsp[0])); }
-#line 2501 "src/parse-gram.c" /* yacc.c:1648  */
+#line 2499 "src/parse-gram.c" /* yacc.c:1648  */
     break;
 
   case 62:
-#line 544 "src/parse-gram.y" /* yacc.c:1648  */
+#line 542 "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 2507 "src/parse-gram.c" /* yacc.c:1648  */
+#line 2505 "src/parse-gram.c" /* yacc.c:1648  */
     break;
 
   case 63:
-#line 548 "src/parse-gram.y" /* yacc.c:1648  */
+#line 546 "src/parse-gram.y" /* yacc.c:1648  */
     { (yyval.list) = (yyvsp[0].list); }
-#line 2513 "src/parse-gram.c" /* yacc.c:1648  */
+#line 2511 "src/parse-gram.c" /* yacc.c:1648  */
     break;
 
   case 64:
-#line 549 "src/parse-gram.y" /* yacc.c:1648  */
+#line 547 "src/parse-gram.y" /* yacc.c:1648  */
     { (yyval.list) = symbol_list_append ((yyvsp[-1].list), (yyvsp[0].list)); }
-#line 2519 "src/parse-gram.c" /* yacc.c:1648  */
+#line 2517 "src/parse-gram.c" /* yacc.c:1648  */
     break;
 
   case 65:
-#line 553 "src/parse-gram.y" /* yacc.c:1648  */
+#line 551 "src/parse-gram.y" /* yacc.c:1648  */
     { (yyval.list) = symbol_list_sym_new ((yyvsp[0].symbol), (yylsp[0])); }
-#line 2525 "src/parse-gram.c" /* yacc.c:1648  */
+#line 2523 "src/parse-gram.c" /* yacc.c:1648  */
     break;
 
   case 66:
-#line 554 "src/parse-gram.y" /* yacc.c:1648  */
+#line 552 "src/parse-gram.y" /* yacc.c:1648  */
     { (yyval.list) = symbol_list_type_new ((yyvsp[0].uniqstr), (yylsp[0])); }
-#line 2531 "src/parse-gram.c" /* yacc.c:1648  */
+#line 2529 "src/parse-gram.c" /* yacc.c:1648  */
     break;
 
   case 68:
-#line 559 "src/parse-gram.y" /* yacc.c:1648  */
+#line 557 "src/parse-gram.y" /* yacc.c:1648  */
     { (yyval.uniqstr) = uniqstr_new ("*"); }
-#line 2537 "src/parse-gram.c" /* yacc.c:1648  */
+#line 2535 "src/parse-gram.c" /* yacc.c:1648  */
     break;
 
   case 69:
-#line 560 "src/parse-gram.y" /* yacc.c:1648  */
+#line 558 "src/parse-gram.y" /* yacc.c:1648  */
     { (yyval.uniqstr) = uniqstr_new (""); }
-#line 2543 "src/parse-gram.c" /* yacc.c:1648  */
+#line 2541 "src/parse-gram.c" /* yacc.c:1648  */
     break;
 
   case 70:
-#line 566 "src/parse-gram.y" /* yacc.c:1648  */
+#line 564 "src/parse-gram.y" /* yacc.c:1648  */
     {
       current_type = (yyvsp[0].uniqstr);
       tag_seen = true;
     }
-#line 2552 "src/parse-gram.c" /* yacc.c:1648  */
+#line 2550 "src/parse-gram.c" /* yacc.c:1648  */
     break;
 
   case 71:
-#line 571 "src/parse-gram.y" /* yacc.c:1648  */
+#line 569 "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 2561 "src/parse-gram.c" /* yacc.c:1648  */
+#line 2559 "src/parse-gram.c" /* yacc.c:1648  */
     break;
 
   case 72:
-#line 576 "src/parse-gram.y" /* yacc.c:1648  */
+#line 574 "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]));
@@ -2599,11 +2597,11 @@ yyreduce:
  insert_after(1, "</IdInt>");
  insert_before(0, "<IdInt>");
     }
-#line 2573 "src/parse-gram.c" /* yacc.c:1648  */
+#line 2571 "src/parse-gram.c" /* yacc.c:1648  */
     break;
 
   case 73:
-#line 584 "src/parse-gram.y" /* yacc.c:1648  */
+#line 582 "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]));
@@ -2611,11 +2609,11 @@ yyreduce:
  insert_after(1, "</IdString>");
  insert_before(0, "<IdString>");
     }
-#line 2585 "src/parse-gram.c" /* yacc.c:1648  */
+#line 2583 "src/parse-gram.c" /* yacc.c:1648  */
     break;
 
   case 74:
-#line 592 "src/parse-gram.y" /* yacc.c:1648  */
+#line 590 "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]));
@@ -2624,35 +2622,35 @@ yyreduce:
  insert_after(1, "</IdIntString>");
  insert_before(0, "<IdIntString>");
     }
-#line 2598 "src/parse-gram.c" /* yacc.c:1648  */
+#line 2596 "src/parse-gram.c" /* yacc.c:1648  */
     break;
 
   case 80:
-#line 623 "src/parse-gram.y" /* yacc.c:1648  */
+#line 621 "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 2608 "src/parse-gram.c" /* yacc.c:1648  */
+#line 2606 "src/parse-gram.c" /* yacc.c:1648  */
     break;
 
   case 81:
-#line 629 "src/parse-gram.y" /* yacc.c:1648  */
+#line 627 "src/parse-gram.y" /* yacc.c:1648  */
     {
       yyerrok;
     }
-#line 2616 "src/parse-gram.c" /* yacc.c:1648  */
+#line 2614 "src/parse-gram.c" /* yacc.c:1648  */
     break;
 
   case 82:
-#line 635 "src/parse-gram.y" /* yacc.c:1648  */
+#line 633 "src/parse-gram.y" /* yacc.c:1648  */
     { current_lhs ((yyvsp[-1].symbol), (yylsp[-1]), (yyvsp[0].named_ref)); }
-#line 2622 "src/parse-gram.c" /* yacc.c:1648  */
+#line 2620 "src/parse-gram.c" /* yacc.c:1648  */
     break;
 
   case 83:
-#line 636 "src/parse-gram.y" /* yacc.c:1648  */
+#line 634 "src/parse-gram.y" /* yacc.c:1648  */
     {
     /* Free the current lhs. */
     current_lhs (0, (yylsp[-3]), 0);
@@ -2661,162 +2659,162 @@ yyreduce:
  insert_before(3, "<RHSes>");
  insert_before(0, "<Rules>");
   }
-#line 2635 "src/parse-gram.c" /* yacc.c:1648  */
+#line 2633 "src/parse-gram.c" /* yacc.c:1648  */
     break;
 
   case 84:
-#line 647 "src/parse-gram.y" /* yacc.c:1648  */
+#line 645 "src/parse-gram.y" /* yacc.c:1648  */
     { grammar_current_rule_end ((yylsp[0])); /*}*/
  insert_after(0, "</RHS>");
  insert_before(0, "<RHS>");
  }
-#line 2644 "src/parse-gram.c" /* yacc.c:1648  */
+#line 2642 "src/parse-gram.c" /* yacc.c:1648  */
     break;
 
   case 85:
-#line 651 "src/parse-gram.y" /* yacc.c:1648  */
+#line 649 "src/parse-gram.y" /* yacc.c:1648  */
     { grammar_current_rule_end ((yylsp[0])); /*}*/
  insert_after(2, "</RHS>");
  insert_before(2, "<RHS>");
  }
-#line 2653 "src/parse-gram.c" /* yacc.c:1648  */
+#line 2651 "src/parse-gram.c" /* yacc.c:1648  */
     break;
 
   case 87:
-#line 661 "src/parse-gram.y" /* yacc.c:1648  */
+#line 659 "src/parse-gram.y" /* yacc.c:1648  */
     { grammar_current_rule_begin (current_lhs_symbol, current_lhs_location,
                                   current_lhs_named_ref); }
-#line 2660 "src/parse-gram.c" /* yacc.c:1648  */
+#line 2658 "src/parse-gram.c" /* yacc.c:1648  */
     break;
 
   case 88:
-#line 664 "src/parse-gram.y" /* yacc.c:1648  */
+#line 662 "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  */
+#line 2664 "src/parse-gram.c" /* yacc.c:1648  */
     break;
 
   case 89:
-#line 666 "src/parse-gram.y" /* yacc.c:1648  */
+#line 664 "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  */
+#line 2670 "src/parse-gram.c" /* yacc.c:1648  */
     break;
 
   case 90:
-#line 668 "src/parse-gram.y" /* yacc.c:1648  */
+#line 666 "src/parse-gram.y" /* yacc.c:1648  */
     { grammar_current_rule_action_append ((yyvsp[0].code), (yylsp[0]), NULL, true); }
-#line 2678 "src/parse-gram.c" /* yacc.c:1648  */
+#line 2676 "src/parse-gram.c" /* yacc.c:1648  */
     break;
 
   case 91:
-#line 670 "src/parse-gram.y" /* yacc.c:1648  */
+#line 668 "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  */
+#line 2682 "src/parse-gram.c" /* yacc.c:1648  */
     break;
 
   case 92:
-#line 672 "src/parse-gram.y" /* yacc.c:1648  */
+#line 670 "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  */
+#line 2688 "src/parse-gram.c" /* yacc.c:1648  */
     break;
 
   case 93:
-#line 674 "src/parse-gram.y" /* yacc.c:1648  */
+#line 672 "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  */
+#line 2694 "src/parse-gram.c" /* yacc.c:1648  */
     break;
 
   case 94:
-#line 676 "src/parse-gram.y" /* yacc.c:1648  */
+#line 674 "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  */
+#line 2700 "src/parse-gram.c" /* yacc.c:1648  */
     break;
 
   case 95:
-#line 680 "src/parse-gram.y" /* yacc.c:1648  */
+#line 678 "src/parse-gram.y" /* yacc.c:1648  */
     { (yyval.named_ref) = 0; insert_before(0, "<NoNamedRef />"); }
-#line 2708 "src/parse-gram.c" /* yacc.c:1648  */
+#line 2706 "src/parse-gram.c" /* yacc.c:1648  */
     break;
 
   case 96:
-#line 681 "src/parse-gram.y" /* yacc.c:1648  */
+#line 679 "src/parse-gram.y" /* yacc.c:1648  */
     { (yyval.named_ref) = named_ref_new ((yyvsp[0].uniqstr), (yylsp[0])); }
-#line 2714 "src/parse-gram.c" /* yacc.c:1648  */
+#line 2712 "src/parse-gram.c" /* yacc.c:1648  */
     break;
 
   case 98:
-#line 692 "src/parse-gram.y" /* yacc.c:1648  */
+#line 690 "src/parse-gram.y" /* yacc.c:1648  */
     { (yyval.uniqstr) = uniqstr_new ((yyvsp[0].code)); }
-#line 2720 "src/parse-gram.c" /* yacc.c:1648  */
+#line 2718 "src/parse-gram.c" /* yacc.c:1648  */
     break;
 
   case 99:
-#line 717 "src/parse-gram.y" /* yacc.c:1648  */
+#line 715 "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  */
+#line 2724 "src/parse-gram.c" /* yacc.c:1648  */
     break;
 
   case 100:
-#line 718 "src/parse-gram.y" /* yacc.c:1648  */
+#line 716 "src/parse-gram.y" /* yacc.c:1648  */
     { (yyval.value).kind = muscle_keyword; (yyval.value).chars = (yyvsp[0].uniqstr); }
-#line 2732 "src/parse-gram.c" /* yacc.c:1648  */
+#line 2730 "src/parse-gram.c" /* yacc.c:1648  */
     break;
 
   case 101:
-#line 719 "src/parse-gram.y" /* yacc.c:1648  */
+#line 717 "src/parse-gram.y" /* yacc.c:1648  */
     { (yyval.value).kind = muscle_string;  (yyval.value).chars = (yyvsp[0].code); }
-#line 2738 "src/parse-gram.c" /* yacc.c:1648  */
+#line 2736 "src/parse-gram.c" /* yacc.c:1648  */
     break;
 
   case 102:
-#line 720 "src/parse-gram.y" /* yacc.c:1648  */
+#line 718 "src/parse-gram.y" /* yacc.c:1648  */
     { (yyval.value).kind = muscle_code;    (yyval.value).chars = strip_braces ((yyvsp[0].code)); }
-#line 2744 "src/parse-gram.c" /* yacc.c:1648  */
+#line 2742 "src/parse-gram.c" /* yacc.c:1648  */
     break;
 
   case 103:
-#line 733 "src/parse-gram.y" /* yacc.c:1648  */
+#line 731 "src/parse-gram.y" /* yacc.c:1648  */
     { (yyval.symbol) = symbol_from_uniqstr ((yyvsp[0].uniqstr), (yylsp[0])); }
-#line 2750 "src/parse-gram.c" /* yacc.c:1648  */
+#line 2748 "src/parse-gram.c" /* yacc.c:1648  */
     break;
 
   case 104:
-#line 735 "src/parse-gram.y" /* yacc.c:1648  */
+#line 733 "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 2760 "src/parse-gram.c" /* yacc.c:1648  */
+#line 2758 "src/parse-gram.c" /* yacc.c:1648  */
     break;
 
   case 105:
-#line 743 "src/parse-gram.y" /* yacc.c:1648  */
+#line 741 "src/parse-gram.y" /* yacc.c:1648  */
     { (yyval.symbol) = symbol_from_uniqstr ((yyvsp[0].uniqstr), (yylsp[0])); }
-#line 2766 "src/parse-gram.c" /* yacc.c:1648  */
+#line 2764 "src/parse-gram.c" /* yacc.c:1648  */
     break;
 
   case 108:
-#line 755 "src/parse-gram.y" /* yacc.c:1648  */
+#line 753 "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 2775 "src/parse-gram.c" /* yacc.c:1648  */
+#line 2773 "src/parse-gram.c" /* yacc.c:1648  */
     break;
 
   case 110:
-#line 764 "src/parse-gram.y" /* yacc.c:1648  */
+#line 762 "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_after(0, "<Sect3>");
     }
-#line 2786 "src/parse-gram.c" /* yacc.c:1648  */
+#line 2784 "src/parse-gram.c" /* yacc.c:1648  */
     break;
 
 
-#line 2790 "src/parse-gram.c" /* yacc.c:1648  */
+#line 2788 "src/parse-gram.c" /* yacc.c:1648  */
         default: break;
       }
     if (yychar_backup != yychar)
@@ -3079,7 +3077,7 @@ yyreturn:
 #endif
   return yyresult;
 }
-#line 772 "src/parse-gram.y" /* yacc.c:1907  */
+#line 770 "src/parse-gram.y" /* yacc.c:1907  */
 
 
 /* Return the location of the left-hand side of a rule whose
index c55b0af..705131e 100644 (file)
@@ -61,7 +61,7 @@ extern int gram_debug;
     param_parse  = 1 << 1,
     param_both   = param_lex | param_parse
   } param_type;
-#line 696 "src/parse-gram.y" /* yacc.c:1910  */
+#line 694 "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 241 "src/parse-gram.y" /* yacc.c:1910  */
 param_type param;
-#line 417 "src/parse-gram.y" /* yacc.c:1910  */
+#line 415 "src/parse-gram.y" /* yacc.c:1910  */
 code_props_type code_type;
-#line 698 "src/parse-gram.y" /* yacc.c:1910  */
+#line 696 "src/parse-gram.y" /* yacc.c:1910  */
 
   struct
   {
index 22834d1..8195b1f 100644 (file)
 input:
   prologue_declarations "%%" grammar epilogue.opt
  {
- insert_after(3, "</root>");
  insert_after(2, "</Sect2>");
  insert_before(2, "<Sect2>");
  insert_after(0, "</Sect1>");
  insert_before(0, "<Sect1>");
- insert_before(0, "<root>");
  }
 ;
 
index 93103ee..b82f438 100644 (file)
@@ -666,8 +666,14 @@ reader (void)
   gram__flex_debug = trace_flag & trace_scan;
   gram_debug = trace_flag & trace_parse;
   gram_scanner_initialize ();
+#if 1
+ void piece_append(const char *str);
+ piece_append("<RefList><PYACCSpecification ref=\"0\"><Section1>");
+#endif
   gram_parse ();
 #if 1
+ piece_append("</PYACCSpecification></RefList>");
+
  extern char *piece[];
  extern int piece1;
  int i;