]> git.saurik.com Git - bison.git/commitdiff
* src/closure.c, src/print.c, src/reader.c, src/reduce.c:
authorAkim Demaille <akim@epita.fr>
Sun, 7 Apr 2002 15:30:20 +0000 (15:30 +0000)
committerAkim Demaille <akim@epita.fr>
Sun, 7 Apr 2002 15:30:20 +0000 (15:30 +0000)
Normalize loops to using `< nrules + 1', not `<= nrules'.

ChangeLog
src/closure.c
src/print.c
src/reader.c
src/reduce.c

index 9f42e93d8edaf73c4ca2d2f8c127386e7b70df88..08c9a4c31f3db97cd5f908a5aa73f10e93b0cc7b 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+2002-04-07  Akim Demaille  <akim@epita.fr>
+
+       * src/closure.c, src/print.c, src/reader.c, src/reduce.c:
+       Normalize loops to using `< nrules + 1', not `<= nrules'.
+
+       
 2002-04-07  Akim Demaille  <akim@epita.fr>
 
        * TODO: Update.
 2002-04-07  Akim Demaille  <akim@epita.fr>
 
        * TODO: Update.
index df240fbea6604082facc4ee0fe685cadeab97d24..bdddfb99d2bcaf0fc444e1137bc3f28cb83dee93 100644 (file)
@@ -91,7 +91,7 @@ print_fderives (void)
   for (i = ntokens; i < nsyms; i++)
     {
       fprintf (stderr, "\t%s derives\n", symbols[i]->tag);
   for (i = ntokens; i < nsyms; i++)
     {
       fprintf (stderr, "\t%s derives\n", symbols[i]->tag);
-      for (j = 0; j <= nrules; j++)
+      for (j = 0; j < nrules + 1; j++)
        if (bitset_test (FDERIVES (i), j))
          {
            short *rhsp;
        if (bitset_test (FDERIVES (i), j))
          {
            short *rhsp;
index e4b0104a8e640c1d200b07f9a4d0ca50d78b8cab..7be9f63df48eb70d2d868aff23bda3bf4385b7aa 100644 (file)
@@ -365,7 +365,7 @@ print_grammar (FILE *out)
   /* rule # : LHS -> RHS */
   fprintf (out, "%s\n\n", _("Grammar"));
   fprintf (out, "  %s\n", _("Number, Line, Rule"));
   /* rule # : LHS -> RHS */
   fprintf (out, "%s\n\n", _("Grammar"));
   fprintf (out, "  %s\n", _("Number, Line, Rule"));
-  for (i = 1; i <= nrules; i++)
+  for (i = 1; i < nrules + 1; i++)
     /* Don't print rules disabled in reduce_grammar_tables.  */
     if (rules[i].useful)
       {
     /* Don't print rules disabled in reduce_grammar_tables.  */
     if (rules[i].useful)
       {
@@ -384,7 +384,7 @@ print_grammar (FILE *out)
 
   /* TERMINAL (type #) : rule #s terminal is on RHS */
   fprintf (out, "%s\n\n", _("Terminals, with rules where they appear"));
 
   /* TERMINAL (type #) : rule #s terminal is on RHS */
   fprintf (out, "%s\n\n", _("Terminals, with rules where they appear"));
-  for (i = 0; i <= max_user_token_number; i++)
+  for (i = 0; i < max_user_token_number + 1; i++)
     if (token_translations[i] != 2)
       {
        buffer[0] = 0;
     if (token_translations[i] != 2)
       {
        buffer[0] = 0;
@@ -393,7 +393,7 @@ print_grammar (FILE *out)
        END_TEST (50);
        sprintf (buffer, " (%d)", i);
 
        END_TEST (50);
        sprintf (buffer, " (%d)", i);
 
-       for (j = 1; j <= nrules; j++)
+       for (j = 1; j < nrules + 1; j++)
          for (rule = rules[j].rhs; *rule >= 0; rule++)
            if (*rule == token_translations[i])
              {
          for (rule = rules[j].rhs; *rule >= 0; rule++)
            if (*rule == token_translations[i])
              {
@@ -407,11 +407,11 @@ print_grammar (FILE *out)
 
 
   fprintf (out, "%s\n\n", _("Nonterminals, with rules where they appear"));
 
 
   fprintf (out, "%s\n\n", _("Nonterminals, with rules where they appear"));
-  for (i = ntokens; i <= nsyms - 1; i++)
+  for (i = ntokens; i < nsyms; i++)
     {
       int left_count = 0, right_count = 0;
 
     {
       int left_count = 0, right_count = 0;
 
-      for (j = 1; j <= nrules; j++)
+      for (j = 1; j < nrules + 1; j++)
        {
          if (rules[j].lhs == i)
            left_count++;
        {
          if (rules[j].lhs == i)
            left_count++;
@@ -434,7 +434,7 @@ print_grammar (FILE *out)
          END_TEST (50);
          sprintf (buffer + strlen (buffer), _(" on left:"));
 
          END_TEST (50);
          sprintf (buffer + strlen (buffer), _(" on left:"));
 
-         for (j = 1; j <= nrules; j++)
+         for (j = 1; j < nrules + 1; j++)
            {
              END_TEST (65);
              if (rules[j].lhs == i)
            {
              END_TEST (65);
              if (rules[j].lhs == i)
@@ -448,7 +448,7 @@ print_grammar (FILE *out)
            sprintf (buffer + strlen (buffer), ",");
          END_TEST (50);
          sprintf (buffer + strlen (buffer), _(" on right:"));
            sprintf (buffer + strlen (buffer), ",");
          END_TEST (50);
          sprintf (buffer + strlen (buffer), _(" on right:"));
-         for (j = 1; j <= nrules; j++)
+         for (j = 1; j < nrules + 1; j++)
            {
              for (rule = rules[j].rhs; *rule >= 0; rule++)
                if (*rule == i)
            {
              for (rule = rules[j].rhs; *rule >= 0; rule++)
                if (*rule == i)
index 705948d468157fec0359628056f297eeac1ad784..1f16f73a2f148331a4c8794075e7d04e56dacd0d 100644 (file)
@@ -1538,7 +1538,7 @@ token_translations_init (void)
   /* Initialize all entries for literal tokens to 2, the internal
      token number for $undefined., which represents all invalid
      inputs.  */
   /* Initialize all entries for literal tokens to 2, the internal
      token number for $undefined., which represents all invalid
      inputs.  */
-  for (i = 0; i <= max_user_token_number; i++)
+  for (i = 0; i < max_user_token_number + 1; i++)
     token_translations[i] = 2;
 
   for (bp = firstsymbol; bp; bp = bp->next)
     token_translations[i] = 2;
 
   for (bp = firstsymbol; bp; bp = bp->next)
index 109f69a5b549df6c59768ba81dd4056972da6e07..c5e9381d853fa87146cd64ba026cf19a3de9ad41 100644 (file)
@@ -114,7 +114,7 @@ useless_nonterminals (void)
   while (1)
     {
       bitset_copy (Np, N);
   while (1)
     {
       bitset_copy (Np, N);
-      for (i = 1; i <= nrules; i++)
+      for (i = 1; i < nrules + 1; i++)
        if (!bitset_test (P, i)
            && useful_production (i, N))
          {
        if (!bitset_test (P, i)
            && useful_production (i, N))
          {
@@ -174,7 +174,7 @@ inaccessable_symbols (void)
       while (1)
        {
          bitset_copy (Vp, V);
       while (1)
        {
          bitset_copy (Vp, V);
-         for (i = 1; i <= nrules; i++)
+         for (i = 1; i < nrules + 1; i++)
            {
              if (!bitset_test (Pp, i)
                  && bitset_test (P, i)
            {
              if (!bitset_test (Pp, i)
                  && bitset_test (P, i)
@@ -241,7 +241,7 @@ reduce_grammar_tables (void)
 
        np = 0;
        ni = 0;
 
        np = 0;
        ni = 0;
-       for (pn = 1; pn <= nrules; pn++)
+       for (pn = 1; pn < nrules + 1; pn++)
          if (bitset_test (P, pn))
            {
              np++;
          if (bitset_test (P, pn))
            {
              np++;
@@ -281,7 +281,7 @@ reduce_grammar_tables (void)
   if (nuseless_productions > 0)
     {
       int pn;
   if (nuseless_productions > 0)
     {
       int pn;
-      for (pn = 1; pn <= nrules; pn++)
+      for (pn = 1; pn < nrules + 1; pn++)
        rules[pn].useful = bitset_test (P, pn);
     }
 }
        rules[pn].useful = bitset_test (P, pn);
     }
 }
@@ -322,7 +322,7 @@ nonterminals_reduce (void)
 
   /* Replace all symbol numbers in valid data structures.  */
 
 
   /* Replace all symbol numbers in valid data structures.  */
 
-  for (i = 1; i <= nrules; i++)
+  for (i = 1; i < nrules + 1; i++)
     {
       rules[i].lhs = nontermmap[rules[i].lhs];
       if (ISVAR (rules[i].precsym))
     {
       rules[i].lhs = nontermmap[rules[i].lhs];
       if (ISVAR (rules[i].precsym))
@@ -378,7 +378,7 @@ reduce_output (FILE *out)
     {
       int i;
       fprintf (out, "%s\n\n", _("Useless rules:"));
     {
       int i;
       fprintf (out, "%s\n\n", _("Useless rules:"));
-      for (i = 1; i <= nrules; i++)
+      for (i = 1; i < nrules + 1; i++)
        if (!rules[i].useful)
          {
            rule r;
        if (!rules[i].useful)
          {
            rule r;
@@ -411,7 +411,7 @@ dump_grammar (FILE *out)
   fprintf (out, "\n\n");
   fprintf (out, "Rules\n-----\n\n");
   fprintf (out, "Num (Prec, Assoc, Useful, Ritem Range) Lhs -> Rhs (Ritem range) [Num]\n");
   fprintf (out, "\n\n");
   fprintf (out, "Rules\n-----\n\n");
   fprintf (out, "Num (Prec, Assoc, Useful, Ritem Range) Lhs -> Rhs (Ritem range) [Num]\n");
-  for (i = 1; i <= nrules; i++)
+  for (i = 1; i < nrules + 1; i++)
     {
       int rhs_count = 0;
       /* Find the last RHS index in ritems. */
     {
       int rhs_count = 0;
       /* Find the last RHS index in ritems. */
@@ -429,7 +429,7 @@ dump_grammar (FILE *out)
     }
   fprintf (out, "\n\n");
   fprintf (out, "Rules interpreted\n-----------------\n\n");
     }
   fprintf (out, "\n\n");
   fprintf (out, "Rules interpreted\n-----------------\n\n");
-  for (i = 1; i <= nrules; i++)
+  for (i = 1; i < nrules + 1; i++)
     {
       fprintf (out, "%-5d  %s :", i, symbols[rules[i].lhs]->tag);
       for (r = rules[i].rhs; *r >= 0; r++)
     {
       fprintf (out, "%-5d  %s :", i, symbols[rules[i].lhs]->tag);
       for (r = rules[i].rhs; *r >= 0; r++)