mirror of
https://git.savannah.gnu.org/git/bison.git
synced 2026-03-09 12:23:04 +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:
@@ -47,7 +47,7 @@ exp: useful;
|
||||
AT_CHECK([[bison input.y]])
|
||||
|
||||
AT_CHECK([[sed -n '/^Grammar/q;/^$/!p' input.output]], 0,
|
||||
[[Terminals which are not used:
|
||||
[[Terminals which are not used
|
||||
useless1
|
||||
useless2
|
||||
useless3
|
||||
@@ -102,7 +102,7 @@ input.y:12.8-15: warning: useless nonterminal: useless9
|
||||
]])
|
||||
|
||||
AT_CHECK([[sed -n '/^Grammar/q;/^$/!p' input.output]], 0,
|
||||
[[Useless nonterminals:
|
||||
[[Useless nonterminals
|
||||
useless1
|
||||
useless2
|
||||
useless3
|
||||
@@ -166,7 +166,7 @@ input.y:14.9-13: warning: useless rule: useless9: '9'
|
||||
]])
|
||||
|
||||
AT_CHECK([[sed -n '/^Grammar/q;/^$/!p' input.output]], 0,
|
||||
[[Useless nonterminals:
|
||||
[[Useless nonterminals
|
||||
useless1
|
||||
useless2
|
||||
useless3
|
||||
@@ -176,7 +176,7 @@ AT_CHECK([[sed -n '/^Grammar/q;/^$/!p' input.output]], 0,
|
||||
useless7
|
||||
useless8
|
||||
useless9
|
||||
Terminals which are not used:
|
||||
Terminals which are not used
|
||||
'1'
|
||||
'2'
|
||||
'3'
|
||||
@@ -248,10 +248,10 @@ not-reduced.y:17.15-18.63: warning: useless rule: non_productive: non_productive
|
||||
]])
|
||||
|
||||
AT_CHECK([[sed -n '/^Grammar/q;/^$/!p' not-reduced.output]], 0,
|
||||
[[Useless nonterminals:
|
||||
[[Useless nonterminals
|
||||
not_reachable
|
||||
non_productive
|
||||
Terminals which are not used:
|
||||
Terminals which are not used
|
||||
useless_token
|
||||
Useless rules
|
||||
2 exp: non_productive
|
||||
@@ -322,7 +322,7 @@ input.y:7.12-24: warning: useless rule: indirection: underivable
|
||||
]])
|
||||
|
||||
AT_CHECK([[sed -n '/^Grammar/q;/^$/!p' input.output]], 0,
|
||||
[[Useless nonterminals:
|
||||
[[Useless nonterminals
|
||||
underivable
|
||||
indirection
|
||||
Useless rules
|
||||
|
||||
Reference in New Issue
Block a user