]> git.saurik.com Git - bison.git/blobdiff - src/print.c
* bootstrap: Undo changes to gnulib files that autoreconf made.
[bison.git] / src / print.c
index 4f85524431fefe93f850557df0a30da38cab7513..cb1600c9fad853e1aef93ae48921a208b9c79dfd 100644 (file)
@@ -1,6 +1,6 @@
 /* Print information on generated parser, for bison,
 
 /* Print information on generated parser, for bison,
 
-   Copyright (C) 1984, 1986, 1989, 2000, 2001, 2002, 2003
+   Copyright (C) 1984, 1986, 1989, 2000, 2001, 2002, 2003, 2004, 2005
    Free Software Foundation, Inc.
 
    This file is part of Bison, the GNU Compiler Compiler.
    Free Software Foundation, Inc.
 
    This file is part of Bison, the GNU Compiler Compiler.
 
    You should have received a copy of the GNU General Public License
    along with Bison; see the file COPYING.  If not, write to
 
    You should have received a copy of the GNU General Public License
    along with Bison; see the file COPYING.  If not, write to
-   the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-   Boston, MA 02111-1307, USA.  */
-
+   the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+   Boston, MA 02110-1301, USA.  */
 
 
+#include <config.h>
 #include "system.h"
 
 #include <bitset.h>
 #include "system.h"
 
 #include <bitset.h>
@@ -39,8 +39,8 @@
 #include "state.h"
 #include "symtab.h"
 
 #include "state.h"
 #include "symtab.h"
 
-static bitset shiftset;
-static bitset lookaheadset;
+static bitset shift_set;
+static bitset look_ahead_set;
 
 #if 0
 static void
 
 #if 0
 static void
@@ -71,9 +71,9 @@ max_length (size_t *width, const char *str)
 static void
 print_core (FILE *out, state *s)
 {
 static void
 print_core (FILE *out, state *s)
 {
-  int i;
+  size_t i;
   item_number *sitems = s->items;
   item_number *sitems = s->items;
-  int snritems = s->nitems;
+  size_t snritems = s->nitems;
   symbol *previous_lhs = NULL;
 
   /* Output all the items of a state, not only its kernel.  */
   symbol *previous_lhs = NULL;
 
   /* Output all the items of a state, not only its kernel.  */
@@ -111,9 +111,9 @@ print_core (FILE *out, state *s)
       for (/* Nothing */; *sp >= 0; ++sp)
        fprintf (out, " %s", symbols[*sp]->tag);
 
       for (/* Nothing */; *sp >= 0; ++sp)
        fprintf (out, " %s", symbols[*sp]->tag);
 
-      /* Display the lookaheads?  */
-      if (report_flag & report_lookaheads)
-       state_rule_lookaheads_print (s, &rules[r], out);
+      /* Display the look-ahead tokens?  */
+      if (report_flag & report_look_ahead_tokens)
+       state_rule_look_ahead_tokens_print (s, &rules[r], out);
 
       fputc ('\n', out);
     }
 
       fputc ('\n', out);
     }
@@ -132,7 +132,7 @@ print_transitions (state *s, FILE *out, bool display_transitions_p)
   size_t width = 0;
   int i;
 
   size_t width = 0;
   int i;
 
-  /* Compute the width of the lookaheads column.  */
+  /* Compute the width of the look-ahead token column.  */
   for (i = 0; i < trans->num; i++)
     if (!TRANSITION_IS_DISABLED (trans, i)
        && TRANSITION_IS_SHIFT (trans, i) == display_transitions_p)
   for (i = 0; i < trans->num; i++)
     if (!TRANSITION_IS_DISABLED (trans, i)
        && TRANSITION_IS_SHIFT (trans, i) == display_transitions_p)
@@ -148,7 +148,7 @@ print_transitions (state *s, FILE *out, bool display_transitions_p)
   fputc ('\n', out);
   width += 2;
 
   fputc ('\n', out);
   width += 2;
 
-  /* Report lookaheads and shifts.  */
+  /* Report look-ahead tokens and shifts.  */
   for (i = 0; i < trans->num; i++)
     if (!TRANSITION_IS_DISABLED (trans, i)
        && TRANSITION_IS_SHIFT (trans, i) == display_transitions_p)
   for (i = 0; i < trans->num; i++)
     if (!TRANSITION_IS_DISABLED (trans, i)
        && TRANSITION_IS_SHIFT (trans, i) == display_transitions_p)
@@ -180,7 +180,7 @@ print_errs (FILE *out, state *s)
   size_t width = 0;
   int i;
 
   size_t width = 0;
   int i;
 
-  /* Compute the width of the lookaheads column.  */
+  /* Compute the width of the look-ahead token column.  */
   for (i = 0; i < errp->num; ++i)
     if (errp->symbols[i])
       max_length (&width, errp->symbols[i]->tag);
   for (i = 0; i < errp->num; ++i)
     if (errp->symbols[i])
       max_length (&width, errp->symbols[i]->tag);
@@ -192,7 +192,7 @@ print_errs (FILE *out, state *s)
   fputc ('\n', out);
   width += 2;
 
   fputc ('\n', out);
   width += 2;
 
-  /* Report lookaheads and errors.  */
+  /* Report look-ahead tokens and errors.  */
   for (i = 0; i < errp->num; ++i)
     if (errp->symbols[i])
       {
   for (i = 0; i < errp->num; ++i)
     if (errp->symbols[i])
       {
@@ -218,13 +218,13 @@ state_default_rule (state *s)
   int cmax = 0;
   int i;
 
   int cmax = 0;
   int i;
 
-  /* No need for a lookahead.  */
+  /* No need for a look-ahead.  */
   if (s->consistent)
     return reds->rules[0];
 
   if (s->consistent)
     return reds->rules[0];
 
-  /* 1. Each reduction is possibly masked by the lookaheads on which
+  /* 1. Each reduction is possibly masked by the look-ahead tokens on which
      we shift (S/R conflicts)...  */
      we shift (S/R conflicts)...  */
-  bitset_zero (shiftset);
+  bitset_zero (shift_set);
   {
     transitions *trans = s->transitions;
     FOR_EACH_SHIFT (trans, i)
   {
     transitions *trans = s->transitions;
     FOR_EACH_SHIFT (trans, i)
@@ -233,27 +233,27 @@ state_default_rule (state *s)
             default rule.  */
        if (TRANSITION_IS_ERROR (trans, i))
          return NULL;
             default rule.  */
        if (TRANSITION_IS_ERROR (trans, i))
          return NULL;
-       bitset_set (shiftset, TRANSITION_SYMBOL (trans, i));
+       bitset_set (shift_set, TRANSITION_SYMBOL (trans, i));
       }
   }
 
       }
   }
 
-  /* 2. Each reduction is possibly masked by the lookaheads on which
+  /* 2. Each reduction is possibly masked by the look-ahead tokens on which
      we raise an error (due to %nonassoc).  */
   {
     errs *errp = s->errs;
     for (i = 0; i < errp->num; i++)
       if (errp->symbols[i])
      we raise an error (due to %nonassoc).  */
   {
     errs *errp = s->errs;
     for (i = 0; i < errp->num; i++)
       if (errp->symbols[i])
-       bitset_set (shiftset, errp->symbols[i]->number);
+       bitset_set (shift_set, errp->symbols[i]->number);
   }
 
   for (i = 0; i < reds->num; ++i)
     {
       int count = 0;
 
   }
 
   for (i = 0; i < reds->num; ++i)
     {
       int count = 0;
 
-      /* How many non-masked lookaheads are there for this reduction?
-        */
-      bitset_andn (lookaheadset, reds->lookaheads[i], shiftset);
-      count = bitset_count (lookaheadset);
+      /* How many non-masked look-ahead tokens are there for this
+        reduction?  */
+      bitset_andn (look_ahead_set, reds->look_ahead_tokens[i], shift_set);
+      count = bitset_count (look_ahead_set);
 
       if (count > cmax)
        {
 
       if (count > cmax)
        {
@@ -264,27 +264,27 @@ state_default_rule (state *s)
       /* 3. And finally, each reduction is possibly masked by previous
         reductions (in R/R conflicts, we keep the first reductions).
         */
       /* 3. And finally, each reduction is possibly masked by previous
         reductions (in R/R conflicts, we keep the first reductions).
         */
-      bitset_or (shiftset, shiftset, reds->lookaheads[i]);
+      bitset_or (shift_set, shift_set, reds->look_ahead_tokens[i]);
     }
 
   return default_rule;
 }
 
 
     }
 
   return default_rule;
 }
 
 
-/*--------------------------------------------------------------------.
-| Report a reduction of RULE on LOOKAHEADS (which can be `default').  |
-| If not ENABLED, the rule is masked by a shift or a reduce (S/R and  |
-| R/R conflicts).                                                     |
-`--------------------------------------------------------------------*/
+/*--------------------------------------------------------------------------.
+| Report a reduction of RULE on LOOK_AHEAD_TOKEN (which can be `default').  |
+| If not ENABLED, the rule is masked by a shift or a reduce (S/R and        |
+| R/R conflicts).                                                           |
+`--------------------------------------------------------------------------*/
 
 static void
 print_reduction (FILE *out, size_t width,
 
 static void
 print_reduction (FILE *out, size_t width,
-                const char *lookahead,
+                const char *look_ahead_token,
                 rule *r, bool enabled)
 {
   int j;
                 rule *r, bool enabled)
 {
   int j;
-  fprintf (out, "    %s", lookahead);
-  for (j = width - strlen (lookahead); j > 0; --j)
+  fprintf (out, "    %s", look_ahead_token);
+  for (j = width - strlen (look_ahead_token); j > 0; --j)
     fputc (' ', out);
   if (!enabled)
     fputc ('[', out);
     fputc (' ', out);
   if (!enabled)
     fputc ('[', out);
@@ -316,21 +316,21 @@ print_reductions (FILE *out, state *s)
 
   default_rule = state_default_rule (s);
 
 
   default_rule = state_default_rule (s);
 
-  bitset_zero (shiftset);
+  bitset_zero (shift_set);
   FOR_EACH_SHIFT (trans, i)
   FOR_EACH_SHIFT (trans, i)
-    bitset_set (shiftset, TRANSITION_SYMBOL (trans, i));
+    bitset_set (shift_set, TRANSITION_SYMBOL (trans, i));
 
 
-  /* Compute the width of the lookaheads column.  */
+  /* Compute the width of the look-ahead token column.  */
   if (default_rule)
     width = strlen (_("$default"));
 
   if (default_rule)
     width = strlen (_("$default"));
 
-  if (reds->lookaheads)
+  if (reds->look_ahead_tokens)
     for (i = 0; i < ntokens; i++)
       {
     for (i = 0; i < ntokens; i++)
       {
-       bool count = bitset_test (shiftset, i);
+       bool count = bitset_test (shift_set, i);
 
        for (j = 0; j < reds->num; ++j)
 
        for (j = 0; j < reds->num; ++j)
-         if (bitset_test (reds->lookaheads[j], i))
+         if (bitset_test (reds->look_ahead_tokens[j], i))
            {
              if (! count)
                {
            {
              if (! count)
                {
@@ -352,15 +352,15 @@ print_reductions (FILE *out, state *s)
   fputc ('\n', out);
   width += 2;
 
   fputc ('\n', out);
   width += 2;
 
-  /* Report lookaheads (or $default) and reductions.  */
-  if (reds->lookaheads)
+  /* Report look-ahead tokens (or $default) and reductions.  */
+  if (reds->look_ahead_tokens)
     for (i = 0; i < ntokens; i++)
       {
        bool defaulted = false;
     for (i = 0; i < ntokens; i++)
       {
        bool defaulted = false;
-       bool count = bitset_test (shiftset, i);
+       bool count = bitset_test (shift_set, i);
 
        for (j = 0; j < reds->num; ++j)
 
        for (j = 0; j < reds->num; ++j)
-         if (bitset_test (reds->lookaheads[j], i))
+         if (bitset_test (reds->look_ahead_tokens[j], i))
            {
              if (! count)
                {
            {
              if (! count)
                {
@@ -562,12 +562,12 @@ print_results (void)
   if (report_flag & report_itemsets)
     new_closure (nritems);
   /* Storage for print_reductions.  */
   if (report_flag & report_itemsets)
     new_closure (nritems);
   /* Storage for print_reductions.  */
-  shiftset =  bitset_create (ntokens, BITSET_FIXED);
-  lookaheadset = bitset_create (ntokens, BITSET_FIXED);
+  shift_set =  bitset_create (ntokens, BITSET_FIXED);
+  look_ahead_set = bitset_create (ntokens, BITSET_FIXED);
   for (i = 0; i < nstates; i++)
     print_state (out, states[i]);
   for (i = 0; i < nstates; i++)
     print_state (out, states[i]);
-  bitset_free (shiftset);
-  bitset_free (lookaheadset);
+  bitset_free (shift_set);
+  bitset_free (look_ahead_set);
   if (report_flag & report_itemsets)
     free_closure ();
 
   if (report_flag & report_itemsets)
     free_closure ();