* src/reduce.c (reduce_print): Use ngettext.

(dump_grammar): Improve the trace accuracy.
This commit is contained in:
Akim Demaille
2001-11-28 13:38:53 +00:00
parent 6013d43f59
commit cb487d7d0d
2 changed files with 21 additions and 12 deletions

View File

@@ -1,3 +1,8 @@
2001-11-28 Akim Demaille <akim@epita.fr>
* src/reduce.c (reduce_print): Use ngettext.
(dump_grammar): Improve the trace accuracy.
2001-11-28 Akim Demaille <akim@epita.fr> 2001-11-28 Akim Demaille <akim@epita.fr>
* src/reduce.c (dump_grammar): Don't translate trace messages. * src/reduce.c (dump_grammar): Don't translate trace messages.

View File

@@ -445,11 +445,12 @@ dump_grammar (FILE *out)
"ntokens = %d, nvars = %d, nsyms = %d, nrules = %d, nitems = %d\n\n", "ntokens = %d, nvars = %d, nsyms = %d, nrules = %d, nitems = %d\n\n",
ntokens, nvars, nsyms, nrules, nitems); ntokens, nvars, nsyms, nrules, nitems);
fprintf (out, "Variables\n---------\n\n"); fprintf (out, "Variables\n---------\n\n");
fprintf (out, "Value Sprec Sassoc Tag\n"); fprintf (out, "Value Sprec Sassoc Tag\n");
for (i = ntokens; i < nsyms; i++) for (i = ntokens; i < nsyms; i++)
fprintf (out, "%5d %5d %5d %s\n", i, sprec[i], sassoc[i], tags[i]); fprintf (out, "%5d %5d %5d %s\n", i, sprec[i], sassoc[i], tags[i]);
fprintf (out, "\n\n"); fprintf (out, "\n\n");
fprintf (out, "Rules\n-----\n\n"); fprintf (out, "Rules\n-----\n\n");
fprintf (out, "Num (Prec, Assoc) Lhs : (@Rhs) Ritems [Num?]\n");
for (i = 1; i <= nrules; i++) for (i = 1; i <= nrules; i++)
{ {
fprintf (out, "%-5d(%5d%5d)%5d : (@%-5d)", fprintf (out, "%-5d(%5d%5d)%5d : (@%-5d)",
@@ -484,24 +485,27 @@ static void
reduce_print (void) reduce_print (void)
{ {
if (yacc_flag && nuseless_productions) if (yacc_flag && nuseless_productions)
fprintf (stderr, _("%d rules never reduced\n"), nuseless_productions); fprintf (stderr, ngettext ("%d rule never reduced\n",
"%d rules never reduced\n",
nuseless_productions),
nuseless_productions);
fprintf (stderr, _("%s contains "), infile); fprintf (stderr, _("%s contains "), infile);
if (nuseless_nonterminals > 0) if (nuseless_nonterminals > 0)
{ fprintf (stderr, ngettext ("%d useless nonterminal",
fprintf (stderr, _("%d useless nonterminal%s"), "%d useless nonterminals",
nuseless_nonterminals, nuseless_nonterminals),
(nuseless_nonterminals == 1 ? "" : "s")); nuseless_nonterminals);
}
if (nuseless_nonterminals > 0 && nuseless_productions > 0) if (nuseless_nonterminals > 0 && nuseless_productions > 0)
fprintf (stderr, _(" and ")); fprintf (stderr, _(" and "));
if (nuseless_productions > 0) if (nuseless_productions > 0)
{ fprintf (stderr, ngettext ("%d useless rule",
fprintf (stderr, _("%d useless rule%s"), "%d useless rules",
nuseless_productions, (nuseless_productions == 1 ? "" : "s")); nuseless_productions),
} nuseless_productions);
fprintf (stderr, "\n"); fprintf (stderr, "\n");
fflush (stderr); fflush (stderr);
} }