]> git.saurik.com Git - bison.git/commitdiff
* src/gram.h (rule_t): Rename `number' as `user_number'.
authorAkim Demaille <akim@epita.fr>
Sun, 7 Apr 2002 17:41:28 +0000 (17:41 +0000)
committerAkim Demaille <akim@epita.fr>
Sun, 7 Apr 2002 17:41:28 +0000 (17:41 +0000)
`number' is a new member.
Adjust dependencies.
* src/reduce.c (reduce_grammar_tables): Renumber rule_t.number.

ChangeLog
src/gram.h
src/reader.c
src/reduce.c

index 09c3479e18706798781516d52144afd61f7555ca..aecf5f9185c7c00d7ab24ca1346fce92f8ca4a23 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,10 @@
+2002-04-07  Akim Demaille  <akim@epita.fr>
+
+       * 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.
+
 2002-04-07  Akim Demaille  <akim@epita.fr>
 
        As a result of the previous patch, it is no longer needed
index 087583ade78f0a759d2f53018812a39a98465f64..024501e3f07da7c41e7f01c5f2cdfd79ea8f5b85 100644 (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;
index 08cf4d454fbb5db16304760b27d60c3b2feb4b19..b09d9f6c01e42c0afa1c46c1499ef73f51cf2cb8 100644 (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;
index 7cdc76aba6c2b54edf33cca09696c5b8402d0d46..45dc1d74ee9737a014c797783ec58c997845d34f 100644 (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);