]> git.saurik.com Git - bison.git/blobdiff - src/closure.c
* src/LR0.c (new_state): Display `nstates' as the name of the
[bison.git] / src / closure.c
index df240fbea6604082facc4ee0fe685cadeab97d24..9e595c81c8dc07c443f6c7c0ff2b4c9e413a7011 100644 (file)
@@ -91,7 +91,7 @@ print_fderives (void)
   for (i = ntokens; i < nsyms; i++)
     {
       fprintf (stderr, "\t%s derives\n", symbols[i]->tag);
-      for (j = 0; j <= nrules; j++)
+      for (j = 0; j < nrules + 1; j++)
        if (bitset_test (FDERIVES (i), j))
          {
            short *rhsp;
@@ -244,18 +244,11 @@ closure (short *core, int n)
   if (trace_flag)
     print_closure ("input", core, n);
 
-  if (n == 0)
-    {
-      bitset_copy (ruleset, FDERIVES (start_symbol));
-    }
-  else
-    {
-      bitset_zero (ruleset);
+  bitset_zero (ruleset);
 
-      for (c = 0; c < n; ++c)
-       if (ISVAR (ritem[core[c]]))
-         bitset_or (ruleset, ruleset, FDERIVES (ritem[core[c]]));
-    }
+  for (c = 0; c < n; ++c)
+    if (ISVAR (ritem[core[c]]))
+      bitset_or (ruleset, ruleset, FDERIVES (ritem[core[c]]));
 
   nitemset = 0;
   c = 0;