]> git.saurik.com Git - bison.git/commitdiff
* src/closure.c (set_firsts): De-obfuscate.
authorAkim Demaille <akim@epita.fr>
Wed, 5 Dec 2001 09:39:27 +0000 (09:39 +0000)
committerAkim Demaille <akim@epita.fr>
Wed, 5 Dec 2001 09:39:27 +0000 (09:39 +0000)
ChangeLog
src/closure.c

index bad6225a2f5409beeea8570fe7be511e737cc9f1..a0baad0752fb920264da8d7cf1b64f6f36f62442 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,7 @@
+2001-12-05  Akim Demaille  <akim@epita.fr>
+
+       * src/closure.c (set_firsts): De-obfuscate.
+
 2001-12-05  Akim Demaille  <akim@epita.fr>
 
        * src/output.c (action_row): De-obfuscate
index 2cee4f80903669a1376dd268f1eb3ad60fc040ef..849b0b6288a5d13c3e167fb2be45f38064053d9f 100644 (file)
@@ -124,33 +124,24 @@ print_fderives (void)
 static void
 set_firsts (void)
 {
-  unsigned *row;
-  int symbol;
-  short *sp;
   int rowsize;
 
-  int i;
+  int i, j;
 
   varsetsize = rowsize = WORDSIZE (nvars);
 
   firsts = XCALLOC (unsigned, nvars * rowsize);
 
-  row = firsts;
   for (i = ntokens; i < nsyms; i++)
-    {
-      sp = derives[i];
-      while (*sp >= 0)
-       {
-         symbol = ritem[rule_table[*sp++].rhs];
-         if (ISVAR (symbol))
-           {
-             symbol -= ntokens;
-             SETBIT (row, symbol);
-           }
-       }
-
-      row += rowsize;
-    }
+    for (j = 0; derives[i][j] >= 0; ++j)
+      {
+       int symbol = ritem[rule_table[derives[i][j]].rhs];
+       if (ISVAR (symbol))
+         {
+           symbol -= ntokens;
+           SETBIT (FIRSTS (i - ntokens), symbol);
+         }
+      }
 
   RTC (firsts, nvars);