* src/derives.h, src/derives.c (derives): A `rule_t***' instead of

`rule_number_t**'.
(set_derives, free_derives): Rename as...
(derives_compute, derives_free): this.
Adjust all dependencies.
* src/nullable.c (set_nullable, free_nullable): Rename as...
(nullable_compute, nullable_free): these.
(rule_list_t): Store rule_t *, not rule_number_t.
* src/state.c (state_rule_lookaheads_print): Directly compare rule
pointers, instead of their numbers.
* src/main.c (main): Call nullable_free, and derives_free earlier,
as they were lo longer used.
This commit is contained in:
Akim Demaille
2002-08-01 18:13:29 +00:00
parent 3325ddc49c
commit bb0027a9ac
9 changed files with 71 additions and 53 deletions

View File

@@ -125,9 +125,9 @@ set_firsts (void)
firsts = bitsetv_create (nvars, nvars, BITSET_FIXED);
for (i = ntokens; i < nsyms; i++)
for (j = 0; derives[i][j] >= 0; ++j)
for (j = 0; derives[i][j]; ++j)
{
int symbol = rules[derives[i][j]].rhs[0];
int symbol = derives[i][j]->rhs[0];
if (ISVAR (symbol))
bitset_set (FIRSTS (i), symbol - ntokens);
}
@@ -165,8 +165,8 @@ set_fderives (void)
for (i = ntokens; i < nsyms; ++i)
for (j = ntokens; j < nsyms; ++j)
if (bitset_test (FIRSTS (i), j - ntokens))
for (k = 0; derives[j][k] >= 0; ++k)
bitset_set (FDERIVES (i), derives[j][k]);
for (k = 0; derives[j][k]; ++k)
bitset_set (FDERIVES (i), derives[j][k]->number);
if (trace_flag & trace_sets)
print_fderives ();