141 |
XFREE (VERTICES); |
XFREE (VERTICES); |
142 |
} |
} |
143 |
|
|
144 |
|
|
145 |
|
/*--------------------. |
146 |
|
| Build STATE_TABLE. | |
147 |
|
`--------------------*/ |
148 |
|
|
149 |
static void |
static void |
150 |
set_state_table (void) |
set_state_table (void) |
151 |
{ |
{ |
648 |
unsigned *fp2; |
unsigned *fp2; |
649 |
unsigned *fp3; |
unsigned *fp3; |
650 |
shorts *sp; |
shorts *sp; |
|
unsigned *rowp; |
|
651 |
shorts *sptmp; /* JF */ |
shorts *sptmp; /* JF */ |
652 |
|
|
|
rowp = LA; |
|
653 |
for (i = 0; i < state_table[nstates].lookaheads; i++) |
for (i = 0; i < state_table[nstates].lookaheads; i++) |
654 |
{ |
{ |
655 |
fp3 = rowp + tokensetsize; |
fp3 = LA (i + 1); |
656 |
for (sp = lookback[i]; sp; sp = sp->next) |
for (sp = lookback[i]; sp; sp = sp->next) |
657 |
{ |
{ |
658 |
fp1 = rowp; |
fp1 = LA (i); |
659 |
fp2 = F + tokensetsize * sp->value; |
fp2 = F + tokensetsize * sp->value; |
660 |
while (fp1 < fp3) |
while (fp1 < fp3) |
661 |
*fp1++ |= *fp2++; |
*fp1++ |= *fp2++; |
662 |
} |
} |
|
|
|
|
rowp = fp3; |
|
663 |
} |
} |
664 |
|
|
665 |
for (i = 0; i < state_table[nstates].lookaheads; i++) |
for (i = 0; i < state_table[nstates].lookaheads; i++) |