-      for (j = 0; j <= nrules; j++)
-       if (bitset_test (FDERIVES (i), j))
-         {
-           short *rhsp;
-           fprintf (stderr, "\t\t%d:", j - 1);
-           for (rhsp = &ritem[rules[j].rhs]; *rhsp >= 0; ++rhsp)
-             fprintf (stderr, " %s", symbols[*rhsp]->tag);
-           fputc ('\n', stderr);
-         }
+      BITSET_FOR_EACH (iter, FDERIVES (i), r, 0)
+       {
+         fprintf (stderr, "\t\t%3d ", r);
+         rule_rhs_print (&rules[r], stderr);
+       }