551 |
|
|
552 |
if (n - m == 1 && !nodefault) |
if (n - m == 1 && !nodefault) |
553 |
{ |
{ |
554 |
unsigned *fp1 = LA (m); |
int k; |
|
unsigned *fp2 = shiftset; |
|
|
unsigned *fp3 = lookaheadset; |
|
|
unsigned *fp4 = lookaheadset + tokensetsize; |
|
|
|
|
555 |
default_rule = LAruleno[m]; |
default_rule = LAruleno[m]; |
556 |
|
|
557 |
while (fp3 < fp4) |
for (k = 0; k < tokensetsize; ++k) |
558 |
*fp3++ = *fp1++ & *fp2++; |
lookaheadset[k] = LA (m)[k] & shiftset[k]; |
|
|
|
|
mask = 1; |
|
|
fp3 = lookaheadset; |
|
559 |
|
|
560 |
for (i = 0; i < ntokens; i++) |
for (i = 0; i < ntokens; i++) |
561 |
{ |
if (BITISSET (lookaheadset, i)) |
562 |
if (mask & *fp3) |
fprintf (out, _(" %-4s\t[reduce using rule %d (%s)]\n"), |
563 |
fprintf (out, _(" %-4s\t[reduce using rule %d (%s)]\n"), |
tags[i], default_rule, |
564 |
tags[i], default_rule, |
tags[rule_table[default_rule].lhs]); |
|
tags[rule_table[default_rule].lhs]); |
|
|
|
|
|
mask <<= 1; |
|
|
if (mask == 0) |
|
|
{ |
|
|
mask = 1; |
|
|
fp3++; |
|
|
} |
|
|
} |
|
565 |
|
|
566 |
fprintf (out, _(" $default\treduce using rule %d (%s)\n\n"), |
fprintf (out, _(" $default\treduce using rule %d (%s)\n\n"), |
567 |
default_rule, tags[rule_table[default_rule].lhs]); |
default_rule, tags[rule_table[default_rule].lhs]); |