The precedence of shifting is that of token i. */
if (symbols[i]->prec < redprec)
{
+ register_precedence (redrule->prec->number, i);
log_resolution (redrule, i, reduce_resolution);
flush_shift (s, i);
}
else if (symbols[i]->prec > redprec)
{
+ register_precedence (i, redrule->prec->number);
log_resolution (redrule, i, shift_resolution);
flush_reduce (lookahead_tokens, i);
}
break;
case right_assoc:
+ register_assoc (i, redrule->prec->number);
log_resolution (redrule, i, right_resolution);
flush_reduce (lookahead_tokens, i);
break;
case left_assoc:
+ register_assoc (i, redrule->prec->number);
log_resolution (redrule, i, left_resolution);
flush_shift (s, i);
break;
case non_assoc:
+ register_assoc (i, redrule->prec->number);
log_resolution (redrule, i, nonassoc_resolution);
flush_shift (s, i);
flush_reduce (lookahead_tokens, i);
set_conflicts (states[i], errors);
/* For uniformity of the code, make sure all the states have a valid
- `errs' member. */
+ 'errs' member. */
if (!states[i]->errs)
states[i]->errs = errs_new (0, 0);
}