bison-patches
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

30-fyi-nitemset.patch


From: Akim Demaille
Subject: 30-fyi-nitemset.patch
Date: Wed, 05 Dec 2001 08:26:32 +0100

Index: ChangeLog
from  Akim Demaille  <address@hidden>
        * src/LR0.c (new_itemsets): Use nshifts only, not shiftcount.
        * src/closure.c, src/closure.h (itemsetsize): Rename as...
        (nitemset): for consistency with the rest of the project.
        
        
Index: src/LR0.c
--- src/LR0.c Mon, 03 Dec 2001 20:48:03 +0100 akim
+++ src/LR0.c Mon, 03 Dec 2001 21:25:43 +0100 akim
@@ -141,7 +141,6 @@
 new_itemsets (void)
 {
   int i;
-  int shiftcount;
 
   if (trace_flag)
     fprintf (stderr, "Entering new_itemsets, state = %d\n",
@@ -151,25 +150,23 @@
     kernel_size[i] = 0;
 
   shift_symbol = XCALLOC (short, nsyms);
-  shiftcount = 0;
+  nshifts = 0;
 
-  for (i = 0; i < itemsetsize; ++i)
+  for (i = 0; i < nitemset; ++i)
     {
       int symbol = ritem[itemset[i]];
       if (symbol > 0)
        {
          if (!kernel_size[symbol])
            {
-             shift_symbol[shiftcount] = symbol;
-             shiftcount++;
+             shift_symbol[nshifts] = symbol;
+             nshifts++;
            }
 
          kernel_base[symbol][kernel_size[symbol]] = itemset[i] + 1;
          kernel_size[symbol]++;
        }
     }
-
-  nshifts = shiftcount;
 }
 
 
@@ -542,7 +539,7 @@
   /* Find and count the active items that represent ends of rules. */
 
   count = 0;
-  for (i = 0; i < itemsetsize; ++i)
+  for (i = 0; i < nitemset; ++i)
     {
       int item = ritem[itemset[i]];
       if (item < 0)
Index: src/closure.c
--- src/closure.c Mon, 03 Dec 2001 20:48:03 +0100 akim
+++ src/closure.c Mon, 03 Dec 2001 21:19:04 +0100 akim
@@ -26,9 +26,9 @@
 #include "derives.h"
 #include "warshall.h"
 
-/* ITEMSETSIZE is the size of the array ITEMSET.  */
+/* NITEMSET is the size of the array ITEMSET.  */
 short *itemset;
-int itemsetsize;
+int nitemset;
 
 static unsigned *ruleset;
 
@@ -218,7 +218,7 @@
            ruleset[r] |= FDERIVES (ritem[core[c]])[r];
     }
 
-  itemsetsize = 0;
+  nitemset = 0;
   c = 0;
   for (ruleno = 0; ruleno < rulesetsize * BITS_PER_WORD; ++ruleno)
     if (BITISSET (ruleset, ruleno))
@@ -226,23 +226,23 @@
        int itemno = rule_table[ruleno].rhs;
        while (c < n && core[c] < itemno)
          {
-           itemset[itemsetsize] = core[c];
-           itemsetsize++;
+           itemset[nitemset] = core[c];
+           nitemset++;
            c++;
          }
-       itemset[itemsetsize] = itemno;
-       itemsetsize++;
+       itemset[nitemset] = itemno;
+       nitemset++;
       }
 
   while (c < n)
     {
-      itemset[itemsetsize] = core[c];
-      itemsetsize++;
+      itemset[nitemset] = core[c];
+      nitemset++;
       c++;
     }
 
   if (trace_flag)
-    print_closure ("output", itemset, itemsetsize);
+    print_closure ("output", itemset, nitemset);
 }
 
 
Index: src/closure.h
--- src/closure.h Thu, 22 Nov 2001 21:48:44 +0100 akim
+++ src/closure.h Mon, 03 Dec 2001 21:19:04 +0100 akim
@@ -30,18 +30,19 @@
 void new_closure PARAMS ((int n));
 
 
-/* Given a vector of item numbers ITEMS, of length N, set up ruleset
-   and itemset to indicate what rules could be run and which items
-   could be accepted when those items are the active ones.
+/* Given the kernel (aka core) of a state (a vector of item numbers
+   ITEMS, of length N), set up ruleset and itemset to indicate what
+   rules could be run and which items could be accepted when those
+   items are the active ones.
 
    ruleset contains a bit for each rule.  closure sets the bits for
    all rules which could potentially describe the next input to be
    read.
 
-   itemset is a vector of item numbers; itemsetend points to just
-   beyond the end of the part of it that is significant.  closure
-   places there the indices of all items which represent units of
-   input that could arrive next.  */
+   ITEMSET is a vector of item numbers; NITEMSET is its size
+   9actually, points to just beyond the end of the part of it that is
+   significant).  closure places there the indices of all items which
+   represent units of input that could arrive next.  */
 
 void closure PARAMS ((short *items, int n));
 
@@ -51,6 +52,6 @@
 void free_closure PARAMS ((void));
 
 extern short *itemset;
-extern int itemsetsize;
+extern int nitemset;
 
 #endif /* !CLOSURE_H_ */



reply via email to

[Prev in Thread] Current Thread [Next in Thread]