static void
print_state (FILE *out, int state)
{
- fputs ("\n\n", out);
fprintf (out, _("state %d"), state);
fputs ("\n\n", out);
print_core (out, state);
print_actions (out, state);
+ fputs ("\n\n", out);
}
\f
/*-----------------------------------------.
int column = 0;
/* rule # : LHS -> RHS */
- fprintf (out, "\n%s\n\n", _("Grammar"));
+ fprintf (out, "%s\n\n", _("Grammar"));
fprintf (out, " %s\n", _("Number, Line, Rule"));
for (i = 1; i <= nrules; i++)
/* Don't print rules disabled in reduce_grammar_tables. */
- if (rule_table[i].lhs >= 0)
+ if (rule_table[i].useful)
{
fprintf (out, _(" %3d %3d %s ->"),
i, rule_table[i].line, tags[rule_table[i].lhs]);
fprintf (out, " /* %s */", _("empty"));
fputc ('\n', out);
}
+ fputs ("\n\n", out);
+
/* TERMINAL (type #) : rule #s terminal is on RHS */
- fprintf (out, "\n%s\n\n", _("Terminals, with rules where they appear"));
+ fprintf (out, "%s\n\n", _("Terminals, with rules where they appear"));
fprintf (out, "%s (-1)\n", tags[0]);
for (i = 0; i <= max_user_token_number; i++)
}
fprintf (out, "%s\n", buffer);
}
+ fputs ("\n\n", out);
+
- fprintf (out, "\n%s\n\n",
- _("Nonterminals, with rules where they appear"));
+ fprintf (out, "%s\n\n", _("Nonterminals, with rules where they appear"));
for (i = ntokens; i <= nsyms - 1; i++)
{
int left_count = 0, right_count = 0;
}
fprintf (out, "%s\n", buffer);
}
+ fputs ("\n\n", out);
}
\f
void
size_t size = obstack_object_size (&output_obstack);
fwrite (obstack_finish (&output_obstack), 1, size, out);
+ if (size)
+ fputs ("\n\n", out);
reduce_output (out);
conflicts_output (out);