* src/gram.h (rule_t): `lhs' is now a pointer to the symbol's

bucket.
Adjust all dependencies.
* src/reduce.c (nonterminals_reduce): Don't forget to renumber the
`number' of the buckets too.
* src/gram.h: Include `symtab.h'.
(associativity): Move to...
* src/symtab.h: here.
No longer include `gram.h'.
This commit is contained in:
Akim Demaille
2002-04-07 17:38:22 +00:00
parent c3b407f430
commit bba97eb2c1
11 changed files with 61 additions and 48 deletions

View File

@@ -96,10 +96,10 @@ set_nullable (void)
{
/* This rule has an empty RHS. */
assert (rules[ruleno].rhs[0] == -ruleno);
if (rules[ruleno].useful && !nullable[rules[ruleno].lhs])
if (rules[ruleno].useful && !nullable[rules[ruleno].lhs->number])
{
nullable[rules[ruleno].lhs] = 1;
*s2++ = rules[ruleno].lhs;
nullable[rules[ruleno].lhs->number] = 1;
*s2++ = rules[ruleno].lhs->number;
}
}
}
@@ -109,10 +109,10 @@ set_nullable (void)
{
ruleno = p->value;
if (--rcount[ruleno] == 0)
if (rules[ruleno].useful && !nullable[rules[ruleno].lhs])
if (rules[ruleno].useful && !nullable[rules[ruleno].lhs->number])
{
nullable[rules[ruleno].lhs] = 1;
*s2++ = rules[ruleno].lhs;
nullable[rules[ruleno].lhs->number] = 1;
*s2++ = rules[ruleno].lhs->number;
}
}