- initialize_conflicts ();
-
- /* Print information about results, if requested. */
- print_results ();
+ timevar_push (TV_CONFLICTS);
+ conflicts_solve ();
+ conflicts_print ();
+ timevar_pop (TV_CONFLICTS);
+
+ /* Compute the parser tables. */
+ timevar_push (TV_ACTIONS);
+ tables_generate ();
+ timevar_pop (TV_ACTIONS);
+
+ grammar_rules_never_reduced_report
+ (_("rule never reduced because of conflicts"));
+
+ /* Output file names. */
+ compute_output_file_names ();
+
+ /* Output the detailed report on the grammar. */
+ if (report_flag)
+ {
+ timevar_push (TV_REPORT);
+ print_results ();
+ timevar_pop (TV_REPORT);
+ }
+
+ /* Output the VCG graph. */
+ if (graph_flag)
+ {
+ timevar_push (TV_GRAPH);
+ print_graph ();
+ timevar_pop (TV_GRAPH);
+ }
+
+ /* Stop if there were errors, to avoid trashing previous output
+ files. */
+ if (complaint_issued)
+ goto finish;
+
+ /* Look-ahead tokens are no longer needed. */
+ timevar_push (TV_FREE);
+ lalr_free ();
+ timevar_pop (TV_FREE);