mirror of
https://git.savannah.gnu.org/git/bison.git
synced 2026-03-18 16:53:02 +00:00
* 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:
12
src/lalr.c
12
src/lalr.c
@@ -244,16 +244,16 @@ initialize_F (void)
|
||||
|
||||
|
||||
static void
|
||||
add_lookback_edge (state_t *state, rule_number_t ruleno, int gotono)
|
||||
add_lookback_edge (state_t *state, rule_t *rule, int gotono)
|
||||
{
|
||||
int i;
|
||||
goto_list_t *sp;
|
||||
|
||||
for (i = 0; i < state->nlookaheads; ++i)
|
||||
if (state->lookaheads_rule[i]->number == ruleno)
|
||||
if (state->lookaheads_rule[i] == rule)
|
||||
break;
|
||||
|
||||
assert (state->lookaheads_rule[i]->number == ruleno);
|
||||
assert (state->lookaheads_rule[i] == rule);
|
||||
|
||||
sp = XCALLOC (goto_list_t, 1);
|
||||
sp->next = lookback[(state->lookaheads - LA) + i];
|
||||
@@ -276,9 +276,9 @@ build_relations (void)
|
||||
{
|
||||
int nedges = 0;
|
||||
symbol_number_t symbol1 = states[to_state[i]]->accessing_symbol;
|
||||
rule_number_t *rulep;
|
||||
rule_t **rulep;
|
||||
|
||||
for (rulep = derives[symbol1]; *rulep >= 0; rulep++)
|
||||
for (rulep = derives[symbol1]; *rulep; rulep++)
|
||||
{
|
||||
int done;
|
||||
int length = 1;
|
||||
@@ -286,7 +286,7 @@ build_relations (void)
|
||||
state_t *state = states[from_state[i]];
|
||||
states1[0] = state->number;
|
||||
|
||||
for (rp = rules[*rulep].rhs; *rp >= 0; rp++)
|
||||
for (rp = (*rulep)->rhs; *rp >= 0; rp++)
|
||||
{
|
||||
state = transitions_to (state->transitions,
|
||||
item_number_as_symbol_number (*rp));
|
||||
|
||||
Reference in New Issue
Block a user