Reported by Akim Demaille.
* doc/bison.texinfo (Understanding): Fix typos.
* src/print.c (print_reductions): Don't use negated variable.
(cherry picked from commit
379261b3fd4e799c37bda6d354e7b8fe582357a6)
+2009-04-24 Joel E. Denny <jdenny@ces.clemson.edu>
+
+ Clean up recent patches a little.
+ Reported by Akim Demaille.
+ * doc/bison.texinfo (Understanding): Fix typos.
+ * src/print.c (print_reductions): Don't use negated variable.
+
2009-04-24 Joel E. Denny <jdenny@ces.clemson.edu>
List accepted values for a %define enum variable with an invalid value.
2009-04-24 Joel E. Denny <jdenny@ces.clemson.edu>
List accepted values for a %define enum variable with an invalid value.
@command{bison} reports:
@example
@command{bison} reports:
@example
-tmp.y: warning: 1 nonterminal useless in grammar
-tmp.y: warning: 1 rule useless in grammar
+calc.y: warning: 1 nonterminal useless in grammar
+calc.y: warning: 1 rule useless in grammar
calc.y:11.1-7: warning: nonterminal useless in grammar: useless
calc.y:11.10-12: warning: rule useless in grammar: useless: STR
calc.y: conflicts: 7 shift/reduce
calc.y:11.1-7: warning: nonterminal useless in grammar: useless
calc.y:11.10-12: warning: rule useless in grammar: useless: STR
calc.y: conflicts: 7 shift/reduce
rule *default_reduction = NULL;
size_t width = 0;
int i, j;
rule *default_reduction = NULL;
size_t width = 0;
int i, j;
- bool non_default_action = false;
+ bool default_reduction_only = true;
if (reds->num == 0)
return;
if (reds->num == 0)
return;
bool defaulted = false;
bool count = bitset_test (no_reduce_set, i);
if (count)
bool defaulted = false;
bool count = bitset_test (no_reduce_set, i);
if (count)
- non_default_action = true;
+ default_reduction_only = false;
for (j = 0; j < reds->num; ++j)
if (bitset_test (reds->lookahead_tokens[j], i))
for (j = 0; j < reds->num; ++j)
if (bitset_test (reds->lookahead_tokens[j], i))
{
if (reds->rules[j] != default_reduction)
{
{
if (reds->rules[j] != default_reduction)
{
- non_default_action = true;
+ default_reduction_only = false;
print_reduction (out, width,
symbols[i]->tag,
reds->rules[j], true);
print_reduction (out, width,
symbols[i]->tag,
reds->rules[j], true);
- non_default_action = true;
+ default_reduction_only = false;
if (defaulted)
print_reduction (out, width,
symbols[i]->tag,
if (defaulted)
print_reduction (out, width,
symbols[i]->tag,
print_reduction (out, width, _("$default"), default_reduction, true);
aver (0 == strcmp (default_reductions, "all")
|| (0 == strcmp (default_reductions, "consistent")
print_reduction (out, width, _("$default"), default_reduction, true);
aver (0 == strcmp (default_reductions, "all")
|| (0 == strcmp (default_reductions, "consistent")
- && !non_default_action)
+ && default_reduction_only)
|| (reds->num == 1 && reds->rules[0]->number == 0));
free (default_reductions);
}
|| (reds->num == 1 && reds->rules[0]->number == 0));
free (default_reductions);
}