mirror of
https://git.savannah.gnu.org/git/bison.git
synced 2026-03-16 07:43:03 +00:00
* src/conflicts.c (conflicts_output): Don't output rules never
reduced here, since anyway that computation doesn't work. * src/gram.h, src/gram.h (rule_filter_t, rule_useful_p) (rule_useless_p, rule_never_reduced_p): New. (grammar_rules_partial_print): Use a filter instead of a range. Display the title only if needed. (grammar_rules_print): Adjust. (grammar_rules_never_reduced_report): New. * src/tables.c (action_row): Move the computation of rules never reduced to... (token_actions): here. * src/main.c (main): Make the parser before making the report, so that rules never reduced are computed. Call grammar_rules_never_reduced_report. * src/print.c (print_results): Report rules never reduced. * tests/conflicts.at, tests/reduce.at: Adjust.
This commit is contained in:
21
src/main.c
21
src/main.c
@@ -108,6 +108,14 @@ main (int argc, char *argv[])
|
||||
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 ();
|
||||
|
||||
@@ -119,11 +127,6 @@ main (int argc, char *argv[])
|
||||
timevar_pop (TV_REPORT);
|
||||
}
|
||||
|
||||
/* Stop if there were errors, to avoid trashing previous output
|
||||
files. */
|
||||
if (complain_message_count)
|
||||
exit (1);
|
||||
|
||||
/* Output the VCG graph. */
|
||||
if (graph_flag)
|
||||
{
|
||||
@@ -132,10 +135,10 @@ main (int argc, char *argv[])
|
||||
timevar_pop (TV_GRAPH);
|
||||
}
|
||||
|
||||
/* Compute the parser tables. */
|
||||
timevar_push (TV_ACTIONS);
|
||||
tables_generate ();
|
||||
timevar_pop (TV_ACTIONS);
|
||||
/* Stop if there were errors, to avoid trashing previous output
|
||||
files. */
|
||||
if (complain_message_count)
|
||||
exit (1);
|
||||
|
||||
/* Lookaheads are no longer needed. */
|
||||
timevar_push (TV_FREE);
|
||||
|
||||
Reference in New Issue
Block a user