* src/gram.h (rule_t): Rename number' as user_number'.

`number' is a new member.
Adjust dependencies.
* src/reduce.c (reduce_grammar_tables): Renumber rule_t.number.
This commit is contained in:
Akim Demaille
2002-04-07 17:41:28 +00:00
parent cc9305dd68
commit d7e1f00c13
4 changed files with 15 additions and 2 deletions

View File

@@ -1,5 +1,5 @@
/* Data definitions for internal representation of bison's input,
Copyright 1984, 1986, 1989, 1992, 2001, 2002
Copyright (C) 1984, 1986, 1989, 1992, 2001, 2002
Free Software Foundation, Inc.
This file is part of Bison, the GNU Compiler Compiler.
@@ -118,6 +118,10 @@ typedef struct rule_s
{
/* The number of the rule in the source. It is usually the index in
RULES too, except if there are useless rules. */
short user_number;
/* The index in RULES. Usually the rule number in the source,
except if some rules are useless. */
short number;
bucket *lhs;

View File

@@ -1687,6 +1687,7 @@ packgram (void)
while (p)
{
bucket *ruleprec = p->ruleprec;
rules[ruleno].user_number = ruleno;
rules[ruleno].number = ruleno;
rules[ruleno].lhs = p->sym;
rules[ruleno].rhs = ritem + itemno;

View File

@@ -255,6 +255,7 @@ reduce_grammar_tables (void)
for (/* Nothing. */; *rhsp >= 0; ++rhsp)
/* Nothing. */;
*rhsp = -i;
rules[i].number = i;
}
nrules -= nuseless_productions;
}
@@ -368,7 +369,7 @@ reduce_output (FILE *out)
for (i = nrules + 1; i < nuseless_productions + nrules + 1; i++)
{
rule r;
fprintf (out, "#%-4d ", rules[i].number - 1);
fprintf (out, "#%-4d ", rules[i].user_number - 1);
fprintf (out, "%s:", rules[i].lhs->tag);
for (r = rules[i].rhs; *r >= 0; r++)
fprintf (out, " %s", symbols[*r]->tag);