Fix untranslatable composition of sentences.

Reported by Goran Uddeborg at
<http://lists.gnu.org/archive/html/bug-bison/2008-06/msg00000.html>.
* THANKS (Goran Uddeborg): Add.
* src/reduce.c (reduce_print): Report the number of nonterminals and
rules useless in the grammar in separate sentences.
* tests/reduce.at (Useless Rules): Update output.
(Reduced Automaton): Likewise.
(Underivable Rules): Likewise.
(Empty Language): Likewise.
This commit is contained in:
Joel E. Denny
2008-07-16 02:56:36 -04:00
parent 9aacab9ae9
commit bcf07cb707
4 changed files with 38 additions and 22 deletions

View File

@@ -382,26 +382,24 @@ reduce_output (FILE *out)
static void
reduce_print (void)
{
fprintf (stderr, "%s: %s: ", grammar_file, _("warning"));
if (nuseless_nonterminals > 0)
fprintf (stderr, ngettext ("%d nonterminal",
"%d nonterminals",
nuseless_nonterminals),
nuseless_nonterminals);
if (nuseless_nonterminals > 0 && nuseless_productions > 0)
fprintf (stderr, _(" and "));
{
fprintf (stderr, "%s: %s: ", grammar_file, _("warning"));
fprintf (stderr, ngettext ("%d nonterminal useless in grammar",
"%d nonterminals useless in grammar",
nuseless_nonterminals),
nuseless_nonterminals);
fprintf (stderr, "\n");
}
if (nuseless_productions > 0)
fprintf (stderr, ngettext ("%d rule",
"%d rules",
nuseless_productions),
nuseless_productions);
if (nuseless_nonterminals > 0 || nuseless_productions > 0)
fprintf (stderr, _(" useless in grammar"));
fprintf (stderr, "\n");
{
fprintf (stderr, "%s: %s: ", grammar_file, _("warning"));
fprintf (stderr, ngettext ("%d rule useless in grammar",
"%d rules useless in grammar",
nuseless_productions),
nuseless_productions);
fprintf (stderr, "\n");
}
}
void