+# define YYDPRINTF(Args) \
+do { \
+ if (yydebug) \
+ YYFPRINTF Args; \
+} while (YYID (0))
+
+# define YY_SYMBOL_PRINT(Title, Type, Value, Location) \
+do { \
+ if (yydebug) \
+ { \
+ YYFPRINTF (stderr, "%s ", Title); \
+ yy_symbol_print (stderr, \
+ Type, Value, Location); \
+ YYFPRINTF (stderr, "\n"); \
+ } \
+} while (YYID (0))
+
+
+/*--------------------------------.
+| Print this symbol on YYOUTPUT. |
+`--------------------------------*/
+
+/*ARGSUSED*/
+#if (defined __STDC__ || defined __C99__FUNC__ \
+ || defined __cplusplus || defined _MSC_VER)
+static void
+yy_symbol_value_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvaluep, YYLTYPE const * const yylocationp)
+#else
+static void
+yy_symbol_value_print (yyoutput, yytype, yyvaluep, yylocationp)
+ FILE *yyoutput;
+ int yytype;
+ YYSTYPE const * const yyvaluep;
+ YYLTYPE const * const yylocationp;
+#endif
+{
+ YYUSE(yyoutput);
+ YYUSE (yylocationp);
+
+ if (!yyvaluep)
+ return;
+# ifdef YYPRINT
+ if (yytype < YYNTOKENS)
+ YYPRINT (yyoutput, yytoknum[yytype], *yyvaluep);
+# endif
+ switch (yytype)
+ {
+ case 3: // "string"
+
+/* Line 753 of yacc.c */
+#line 193 "src/parse-gram.y"
+ { fputs (quotearg_style (c_quoting_style, ((*yyvaluep).chars)), stderr); }
+/* Line 753 of yacc.c */
+#line 1040 "src/parse-gram.c"
+ break;
+
+ case 4: // "integer"
+
+/* Line 753 of yacc.c */
+#line 206 "src/parse-gram.y"
+ { fprintf (stderr, "%d", ((*yyvaluep).integer)); }
+/* Line 753 of yacc.c */
+#line 1049 "src/parse-gram.c"
+ break;
+
+ case 24: // "%<flag>"
+
+/* Line 753 of yacc.c */
+#line 202 "src/parse-gram.y"
+ { fprintf (stderr, "%%%s", ((*yyvaluep).uniqstr)); }
+/* Line 753 of yacc.c */
+#line 1058 "src/parse-gram.c"
+ break;
+
+ case 40: // "{...}"
+
+/* Line 753 of yacc.c */
+#line 195 "src/parse-gram.y"
+ { fprintf (stderr, "{\n%s\n}", ((*yyvaluep).code)); }
+/* Line 753 of yacc.c */
+#line 1067 "src/parse-gram.c"
+ break;
+
+ case 42: // "[identifier]"
+
+/* Line 753 of yacc.c */
+#line 200 "src/parse-gram.y"
+ { fprintf (stderr, "[%s]", ((*yyvaluep).uniqstr)); }
+/* Line 753 of yacc.c */
+#line 1076 "src/parse-gram.c"
+ break;
+
+ case 43: // "char"
+
+/* Line 753 of yacc.c */
+#line 187 "src/parse-gram.y"
+ { fputs (char_name (((*yyvaluep).character)), stderr); }
+/* Line 753 of yacc.c */
+#line 1085 "src/parse-gram.c"
+ break;
+
+ case 44: // "epilogue"
+
+/* Line 753 of yacc.c */
+#line 195 "src/parse-gram.y"
+ { fprintf (stderr, "{\n%s\n}", ((*yyvaluep).chars)); }
+/* Line 753 of yacc.c */
+#line 1094 "src/parse-gram.c"
+ break;
+
+ case 46: // "identifier"
+
+/* Line 753 of yacc.c */
+#line 199 "src/parse-gram.y"
+ { fputs (((*yyvaluep).uniqstr), stderr); }
+/* Line 753 of yacc.c */
+#line 1103 "src/parse-gram.c"
+ break;
+
+ case 47: // "identifier:"
+
+/* Line 753 of yacc.c */
+#line 201 "src/parse-gram.y"
+ { fprintf (stderr, "%s:", ((*yyvaluep).uniqstr)); }
+/* Line 753 of yacc.c */
+#line 1112 "src/parse-gram.c"
+ break;
+
+ case 50: // "%{...%}"
+
+/* Line 753 of yacc.c */
+#line 195 "src/parse-gram.y"
+ { fprintf (stderr, "{\n%s\n}", ((*yyvaluep).chars)); }
+/* Line 753 of yacc.c */
+#line 1121 "src/parse-gram.c"
+ break;
+
+ case 52: // "<tag>"
+
+/* Line 753 of yacc.c */
+#line 203 "src/parse-gram.y"
+ { fprintf (stderr, "<%s>", ((*yyvaluep).uniqstr)); }
+/* Line 753 of yacc.c */
+#line 1130 "src/parse-gram.c"
+ break;
+
+ case 55: // "%param"
+
+/* Line 753 of yacc.c */
+#line 249 "src/parse-gram.y"
+ {
+ switch (((*yyvaluep).param))
+ {
+#define CASE(In, Out) \
+ case param_ ## In: fputs ("%" #Out, stderr); break
+ CASE(lex, lex-param);
+ CASE(parse, parse-param);
+ CASE(both, param);
+#undef CASE
+ case param_none: aver (false); break;
+ }
+}
+/* Line 753 of yacc.c */
+#line 1150 "src/parse-gram.c"
+ break;
+
+ case 72: // symbol.prec
+
+/* Line 753 of yacc.c */
+#line 209 "src/parse-gram.y"
+ { fprintf (stderr, "%s", ((*yyvaluep).symbol)->tag); }
+/* Line 753 of yacc.c */
+#line 1159 "src/parse-gram.c"
+ break;
+
+ case 85: // variable
+
+/* Line 753 of yacc.c */
+#line 199 "src/parse-gram.y"
+ { fputs (((*yyvaluep).uniqstr), stderr); }
+/* Line 753 of yacc.c */
+#line 1168 "src/parse-gram.c"
+ break;
+
+ case 86: // content.opt
+
+/* Line 753 of yacc.c */
+#line 195 "src/parse-gram.y"
+ { fprintf (stderr, "{\n%s\n}", ((*yyvaluep).chars)); }
+/* Line 753 of yacc.c */
+#line 1177 "src/parse-gram.c"
+ break;
+
+ case 87: // braceless
+
+/* Line 753 of yacc.c */
+#line 195 "src/parse-gram.y"
+ { fprintf (stderr, "{\n%s\n}", ((*yyvaluep).chars)); }
+/* Line 753 of yacc.c */
+#line 1186 "src/parse-gram.c"
+ break;
+
+ case 88: // id
+
+/* Line 753 of yacc.c */
+#line 209 "src/parse-gram.y"
+ { fprintf (stderr, "%s", ((*yyvaluep).symbol)->tag); }
+/* Line 753 of yacc.c */
+#line 1195 "src/parse-gram.c"
+ break;
+
+ case 89: // id_colon
+
+/* Line 753 of yacc.c */
+#line 210 "src/parse-gram.y"
+ { fprintf (stderr, "%s:", ((*yyvaluep).symbol)->tag); }
+/* Line 753 of yacc.c */
+#line 1204 "src/parse-gram.c"
+ break;
+
+ case 90: // symbol
+
+/* Line 753 of yacc.c */
+#line 209 "src/parse-gram.y"
+ { fprintf (stderr, "%s", ((*yyvaluep).symbol)->tag); }
+/* Line 753 of yacc.c */
+#line 1213 "src/parse-gram.c"
+ break;
+
+ case 91: // string_as_id
+
+/* Line 753 of yacc.c */
+#line 209 "src/parse-gram.y"
+ { fprintf (stderr, "%s", ((*yyvaluep).symbol)->tag); }
+/* Line 753 of yacc.c */
+#line 1222 "src/parse-gram.c"
+ break;
+
+ default:
+ break;
+ }
+}
+
+
+/*--------------------------------.
+| Print this symbol on YYOUTPUT. |
+`--------------------------------*/
+
+#if (defined __STDC__ || defined __C99__FUNC__ \
+ || defined __cplusplus || defined _MSC_VER)
+static void
+yy_symbol_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvaluep, YYLTYPE const * const yylocationp)
+#else
+static void
+yy_symbol_print (yyoutput, yytype, yyvaluep, yylocationp)
+ FILE *yyoutput;
+ int yytype;
+ YYSTYPE const * const yyvaluep;
+ YYLTYPE const * const yylocationp;
+#endif
+{
+ if (yytype < YYNTOKENS)
+ YYFPRINTF (yyoutput, "token %s (", yytname[yytype]);
+ else
+ YYFPRINTF (yyoutput, "nterm %s (", yytname[yytype]);
+
+ YY_LOCATION_PRINT (yyoutput, *yylocationp);
+ YYFPRINTF (yyoutput, ": ");
+ yy_symbol_value_print (yyoutput, yytype, yyvaluep, yylocationp);
+ YYFPRINTF (yyoutput, ")");
+}
+
+/*------------------------------------------------------------------.
+| yy_stack_print -- Print the state stack from its BOTTOM up to its |
+| TOP (included). |
+`------------------------------------------------------------------*/
+
+#if (defined __STDC__ || defined __C99__FUNC__ \
+ || defined __cplusplus || defined _MSC_VER)
+static void
+yy_stack_print (yytype_int16 *yybottom, yytype_int16 *yytop)
+#else
+static void
+yy_stack_print (yybottom, yytop)
+ yytype_int16 *yybottom;
+ yytype_int16 *yytop;
+#endif
+{
+ YYFPRINTF (stderr, "Stack now");
+ for (; yybottom <= yytop; yybottom++)
+ {
+ int yybot = *yybottom;
+ YYFPRINTF (stderr, " %d", yybot);
+ }
+ YYFPRINTF (stderr, "\n");
+}
+
+# define YY_STACK_PRINT(Bottom, Top) \
+do { \
+ if (yydebug) \
+ yy_stack_print ((Bottom), (Top)); \
+} while (YYID (0))
+
+
+/*------------------------------------------------.
+| Report that the YYRULE is going to be reduced. |
+`------------------------------------------------*/
+
+#if (defined __STDC__ || defined __C99__FUNC__ \
+ || defined __cplusplus || defined _MSC_VER)
+static void
+yy_reduce_print (yytype_int16 *yyssp, YYSTYPE *yyvsp, YYLTYPE *yylsp, int yyrule)
+#else
+static void
+yy_reduce_print (yyssp, yyvsp, yylsp, yyrule)
+ yytype_int16 *yyssp;
+ YYSTYPE *yyvsp;
+ YYLTYPE *yylsp;
+ int yyrule;
+#endif
+{
+ unsigned long int yylno = yyrline[yyrule];
+ int yynrhs = yyr2[yyrule];
+ int yyi;
+ YYFPRINTF (stderr, "Reducing stack by rule %d (line %lu):\n",
+ yyrule - 1, yylno);
+ /* The symbols being reduced. */
+ for (yyi = 0; yyi < yynrhs; yyi++)
+ {
+ YYFPRINTF (stderr, " $%d = ", yyi + 1);
+ yy_symbol_print (stderr,
+ yystos[yyssp[yyi + 1 - yynrhs]],
+ &(yyvsp[(yyi + 1) - (yynrhs)])
+ , &(yylsp[(yyi + 1) - (yynrhs)]) );
+ YYFPRINTF (stderr, "\n");
+ }
+}
+
+# define YY_REDUCE_PRINT(Rule) \
+do { \
+ if (yydebug) \
+ yy_reduce_print (yyssp, yyvsp, yylsp, Rule); \
+} while (YYID (0))
+