307 |
LOCATION_PRINT (stderr, symbols[i]->location); |
LOCATION_PRINT (stderr, symbols[i]->location); |
308 |
fprintf (stderr, ": %s: %s: %s\n", |
fprintf (stderr, ": %s: %s: %s\n", |
309 |
_("warning"), _("useless nonterminal"), |
_("warning"), _("useless nonterminal"), |
310 |
symbol_tag_get (symbols[i])); |
symbols[i]->tag); |
311 |
} |
} |
312 |
|
|
313 |
|
|
355 |
int i; |
int i; |
356 |
fprintf (out, "%s\n\n", _("Useless nonterminals:")); |
fprintf (out, "%s\n\n", _("Useless nonterminals:")); |
357 |
for (i = 0; i < nuseless_nonterminals; ++i) |
for (i = 0; i < nuseless_nonterminals; ++i) |
358 |
fprintf (out, " %s\n", symbol_tag_get (symbols[nsyms + i])); |
fprintf (out, " %s\n", symbols[nsyms + i]->tag); |
359 |
fputs ("\n\n", out); |
fputs ("\n\n", out); |
360 |
} |
} |
361 |
|
|
368 |
if (!b) |
if (!b) |
369 |
fprintf (out, "%s\n\n", _("Terminals which are not used:")); |
fprintf (out, "%s\n\n", _("Terminals which are not used:")); |
370 |
b = TRUE; |
b = TRUE; |
371 |
fprintf (out, " %s\n", symbol_tag_get (symbols[i])); |
fprintf (out, " %s\n", symbols[i]->tag); |
372 |
} |
} |
373 |
if (b) |
if (b) |
374 |
fputs ("\n\n", out); |
fputs ("\n\n", out); |
440 |
|
|
441 |
if (!bitset_test (N, axiom->number - ntokens)) |
if (!bitset_test (N, axiom->number - ntokens)) |
442 |
fatal (_("Start symbol %s does not derive any sentence"), |
fatal (_("Start symbol %s does not derive any sentence"), |
443 |
symbol_tag_get (symbols[axiom->number])); |
symbols[axiom->number]->tag); |
444 |
|
|
445 |
/* First reduce the nonterminals, as they renumber themselves in the |
/* First reduce the nonterminals, as they renumber themselves in the |
446 |
whole grammar. If you change the order, nonterms would be |
whole grammar. If you change the order, nonterms would be |