]> git.saurik.com Git - bison.git/blobdiff - src/conflicts.c
* data/glr.c, data/lalr1.cc, data/yacc.cc, doc/bison.texinfo,
[bison.git] / src / conflicts.c
index 1c24d7e23ebee0234754487f4fa1f386d76c165f..201c9c97eb87e6d5a907531f72a4fe8eed3dea98 100644 (file)
@@ -252,7 +252,7 @@ resolve_sr_conflict (state_t *state, int ruleno,
 | Solve the S/R conflicts of STATE using the                         |
 | precedence/associativity, and flag it inconsistent if it still has |
 | conflicts.  ERRS can be used as storage to compute the list of     |
-| lookaheads on which this STATE raises a parse error (%nonassoc).   |
+| lookaheads on which this STATE raises a syntax error (%nonassoc).  |
 `-------------------------------------------------------------------*/
 
 static void
@@ -302,7 +302,7 @@ void
 conflicts_solve (void)
 {
   state_number_t i;
-  /* List of lookaheads on which we explicitly raise a parse error.  */
+  /* List of lookaheads on which we explicitly raise a syntax error.  */
   symbol_t **errs = XMALLOC (symbol_t *, ntokens + 1);
 
   conflicts = XCALLOC (char, nstates);
@@ -450,44 +450,22 @@ conflict_report_yacc (int src_num, int rrc_num)
 void
 conflicts_output (FILE *out)
 {
-  bool printed_sth = FALSE;
-  bool *used_rules = XCALLOC (bool, nrules);
+  bool printed_sth = false;
   state_number_t i;
   for (i = 0; i < nstates; i++)
     {
       state_t *s = states[i];
-      reductions_t *reds = s->reductions;
-      int j;
-      for (j = 0; j < reds->num; ++j)
-       used_rules[reds->rules[j]->number] = TRUE;
       if (conflicts[i])
        {
          fprintf (out, _("State %d contains "), i);
          fprintf (out, "%s.\n",
                   conflict_report (count_sr_conflicts (s),
-                                   count_rr_conflicts (s, TRUE)));
-         printed_sth = TRUE;
+                                   count_rr_conflicts (s, true)));
+         printed_sth = true;
        }
     }
   if (printed_sth)
     fputs ("\n\n", out);
-
-  for (i = 0; i < nstates; i++)
-    {
-      state_t *s = states[i];
-      reductions_t *r = s->reductions;
-      int j;
-      for (j = 0; j < r->num; ++j)
-       if (!used_rules[r->rules[j]->number])
-         {
-           LOCATION_PRINT (stderr, r->rules[j]->location);
-           fprintf (stderr, ": %s: %s: ",
-                    _("warning"),
-                    _("rule never reduced because of conflicts"));
-           rule_print (r->rules[j], stderr);
-         }
-    }
-  free (used_rules);
 }
 
 /*--------------------------------------------------------.
@@ -509,7 +487,7 @@ conflicts_total_count (void)
     if (conflicts[i])
       {
        count += count_sr_conflicts (states[i]);
-       count += count_rr_conflicts (states[i], FALSE);
+       count += count_rr_conflicts (states[i], false);
       }
   return count;
 }
@@ -538,7 +516,7 @@ conflicts_print (void)
       if (conflicts[i])
        {
          src_total += count_sr_conflicts (states[i]);
-         rrc_total += count_rr_conflicts (states[i], TRUE);
+         rrc_total += count_rr_conflicts (states[i], true);
        }
   }