]> git.saurik.com Git - bison.git/commitdiff
* src/conflicts.c (print_reductions): Pessimize, but clarify.
authorAkim Demaille <akim@epita.fr>
Wed, 5 Dec 2001 09:30:28 +0000 (09:30 +0000)
committerAkim Demaille <akim@epita.fr>
Wed, 5 Dec 2001 09:30:28 +0000 (09:30 +0000)
ChangeLog
src/conflicts.c

index 34324ab1272989f98f7f69f51a7f3f845e5858ba..49745e7ee80433f70b4d85197b9e25511cf69bbd 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2001-12-05  Akim Demaille  <akim@epita.fr>
+
+       * src/conflicts.c (print_reductions): Pessimize, but clarify.
+
+       
 2001-12-05  Akim Demaille  <akim@epita.fr>
 
        * src/conflicts.c (print_reductions): Improve variable locality.
 2001-12-05  Akim Demaille  <akim@epita.fr>
 
        * src/conflicts.c (print_reductions): Improve variable locality.
index 0275891d1583e4dba5c1b360b19f89487e178948..ae5c79e46678622ed6adce6d2709b7115dcdd88f 100644 (file)
@@ -551,33 +551,17 @@ print_reductions (FILE *out, int state)
 
   if (n - m == 1 && !nodefault)
     {
 
   if (n - m == 1 && !nodefault)
     {
-      unsigned *fp1 = LA (m);
-      unsigned *fp2 = shiftset;
-      unsigned *fp3 = lookaheadset;
-      unsigned *fp4 = lookaheadset + tokensetsize;
-
+      int k;
       default_rule = LAruleno[m];
 
       default_rule = LAruleno[m];
 
-      while (fp3 < fp4)
-       *fp3++ = *fp1++ & *fp2++;
-
-      mask = 1;
-      fp3 = lookaheadset;
+      for (k = 0; k < tokensetsize; ++k)
+       lookaheadset[k] = LA (m)[k] & shiftset[k];
 
       for (i = 0; i < ntokens; i++)
 
       for (i = 0; i < ntokens; i++)
-       {
-         if (mask & *fp3)
-           fprintf (out, _("    %-4s\t[reduce using rule %d (%s)]\n"),
-                    tags[i], default_rule,
-                    tags[rule_table[default_rule].lhs]);
-
-         mask <<= 1;
-         if (mask == 0)
-           {
-             mask = 1;
-             fp3++;
-           }
-       }
+       if (BITISSET (lookaheadset, i))
+         fprintf (out, _("    %-4s\t[reduce using rule %d (%s)]\n"),
+                  tags[i], default_rule,
+                  tags[rule_table[default_rule].lhs]);
 
       fprintf (out, _("    $default\treduce using rule %d (%s)\n\n"),
               default_rule, tags[rule_table[default_rule].lhs]);
 
       fprintf (out, _("    $default\treduce using rule %d (%s)\n\n"),
               default_rule, tags[rule_table[default_rule].lhs]);