- {
- if (sprec[i] < redprec)
- {
- log_resolution (state, lookaheadnum, i, _("reduce"));
- /* flush the shift for this token */
- RESETBIT (lookaheadset, i);
- flush_shift (state, i);
- }
- else if (sprec[i] > redprec)
- {
- log_resolution (state, lookaheadnum, i, _("shift"));
- /* flush the reduce for this token */
- RESETBIT (LA (lookaheadnum), i);
- }
- 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. */