default_rule = 0;
nreds = 0;
- redp = reduction_table[state];
+ redp = state_table[state].reduction_table;
if (redp)
{
{
/* loop over all the rules available here which require
lookahead */
- m = lookaheads[state];
- n = lookaheads[state + 1];
+ m = state_table[state].lookaheads;
+ n = state_table[state + 1].lookaheads;
for (i = n - 1; i >= m; i--)
{
rule = -LAruleno[i];
- wordp = LA + i * tokensetsize;
+ wordp = LA (i);
mask = 1;
/* and find each token which the rule finds acceptable
}
}
- shiftp = shift_table[state];
+ shiftp = state_table[state].shift_table;
/* Now see which tokens are allowed for shifts in this state. For
them, record the shift as the thing to do. So shift is preferred
if (nreds >= 1 && !nodefault)
{
- if (consistent[state])
+ if (state_table[state].consistent)
default_rule = redp->rules[0];
else
{
{
shifts *sp, *sptmp; /* JF derefrenced freed ptr */
- XFREE (shift_table);
-
for (sp = first_shift; sp; sp = sptmp)
{
sptmp = sp->next;
{
reductions *rp, *rptmp; /* JF fixed freed ptr */
- XFREE (reduction_table);
-
for (rp = first_reduction; rp; rp = rptmp)
{
rptmp = rp->next;
token_actions ();
free_shifts ();
free_reductions ();
- XFREE (lookaheads);
XFREE (LA);
XFREE (LAruleno);