+
+/*--------------------------------------------------------------.
+| Report on OUT all the actions (shifts, gotos, reductions, and |
+| explicit erros from %nonassoc) of STATE. |
+`--------------------------------------------------------------*/
+
+static void
+print_actions (FILE *out, state_t *state)
+{
+ /* Print shifts. */
+ print_transitions (state, out, TRUE);
+ print_errs (out, state);
+ print_reductions (out, state);
+ /* Print gotos. */
+ print_transitions (state, out, FALSE);
+}
+
+
+/*--------------------------------------.
+| Report all the data on STATE on OUT. |
+`--------------------------------------*/
+
+static void
+print_state (FILE *out, state_t *state)
+{
+ fputs ("\n\n", out);
+ fprintf (out, _("state %d"), state->number);
+ fputc ('\n', out);
+ print_core (out, state);
+ print_actions (out, state);
+ if ((report_flag & report_solved_conflicts)
+ && state->solved_conflicts)
+ {
+ fputc ('\n', out);
+ fputs (state->solved_conflicts, out);
+ }
+}
+\f
+/*-----------------------------------------.
+| Print information on the whole grammar. |
+`-----------------------------------------*/
+
+#define END_TEST(End) \
+do { \
+ if (column + strlen(buffer) > (End)) \
+ { \
+ fprintf (out, "%s\n ", buffer); \