- {
- if (sprec[i] < redprec)
- {
- log_resolution (state, lookaheadnum, i, _("reduce"));
- *fp2 &= ~mask; /* flush the shift for this token */
- flush_shift (state, i);
- }
- else if (sprec[i] > redprec)
- {
- log_resolution (state, lookaheadnum, i, _("shift"));
- *fp1 &= ~mask; /* flush the reduce for this token */
- }
- else
- {
- /* Matching precedence levels.
- For left association, keep only the reduction.
- For right association, keep only the shift.
- For nonassociation, keep neither. */
-
- switch (sassoc[i])
- {
- case RIGHT_ASSOC:
- log_resolution (state, lookaheadnum, i, _("shift"));
- break;
+ if (sprec[i] < redprec)
+ {
+ log_resolution (state, lookahead, i, _("reduce"));
+ flush_shift (state, i);
+ }
+ else if (sprec[i] > redprec)
+ {
+ log_resolution (state, lookahead, i, _("shift"));
+ flush_reduce (lookahead, i);
+ }
+ else
+ /* Matching precedence levels.
+ For left association, keep only the reduction.
+ For right association, keep only the shift.
+ For nonassociation, keep neither. */