mirror of
https://git.savannah.gnu.org/git/bison.git
synced 2026-03-11 21:33:04 +00:00
Stop storing rules from 1 to nrules + 1.
* src/LR0.c, src/closure.c, src/derives.c, src/gram.c, src/lalr.c * src/nullable.c, src/output.c, src/print.c, src/reader.c * src/reduce.c: Allocate and free from &rules[0], not &rules[1]. Iterate from 0 to nrules. Use rule_number_as_item_number and item_number_as_rule_number. Adjust to `derive' now containing possibly 0. * src/gram.h (rule_number_as_item_number, item_number_as_rule_number): Handle the `- 1' part in rule numbers from/to item numbers. * src/conflicts.c (log_resolution): Fix the message which reversed shift and reduce. * src/output.c (action_row): Initialize default_rule to -1. (token_actions): Adjust. * tests/sets.at (Nullable, Firsts): Fix the previously bogus expected output. * tests/conflicts.at (Resolved SR Conflicts): Likewise.
This commit is contained in:
@@ -406,11 +406,11 @@ static void
|
||||
packgram (void)
|
||||
{
|
||||
unsigned int itemno = 0;
|
||||
rule_number_t ruleno = 1;
|
||||
rule_number_t ruleno = 0;
|
||||
symbol_list_t *p = grammar;
|
||||
|
||||
ritem = XCALLOC (item_number_t, nritems);
|
||||
rules = XCALLOC (rule_t, nrules) - 1;
|
||||
rules = XCALLOC (rule_t, nrules);
|
||||
|
||||
while (p)
|
||||
{
|
||||
@@ -447,7 +447,7 @@ packgram (void)
|
||||
rules[ruleno].precsym = ruleprec;
|
||||
rules[ruleno].prec = ruleprec;
|
||||
}
|
||||
ritem[itemno++] = -ruleno;
|
||||
ritem[itemno++] = rule_number_as_item_number (ruleno);
|
||||
++ruleno;
|
||||
|
||||
if (p)
|
||||
|
||||
Reference in New Issue
Block a user