]> git.saurik.com Git - bison.git/blobdiff - src/conflicts.c
* src/output.c (prepare): Drop the muscle `ntbase' which
[bison.git] / src / conflicts.c
index cbd002d513114defbdb2c7d1da80c4e37fb63aa0..bb2daecb292631f85406ee87585c5bd9237a374a 100644 (file)
@@ -172,8 +172,8 @@ set_conflicts (int state)
   /* Loop over all rules which require lookahead in this state.  First
      check for shift-reduce conflict, and try to resolve using
      precedence */
-  for (i = state_table[state]->lookaheads;
-       i < state_table[state + 1]->lookaheads;
+  for (i = state_table[state]->lookaheadsp;
+       i < state_table[state + 1]->lookaheadsp;
        ++i)
     if (rule_table[LAruleno[i]].prec)
       for (j = 0; j < tokensetsize; ++j)
@@ -186,8 +186,8 @@ set_conflicts (int state)
 
   /* Loop over all rules which require lookahead in this state.  Check
      for conflicts not resolved above.  */
-  for (i = state_table[state]->lookaheads;
-       i < state_table[state + 1]->lookaheads;
+  for (i = state_table[state]->lookaheadsp;
+       i < state_table[state + 1]->lookaheadsp;
        ++i)
     {
       for (j = 0; j < tokensetsize; ++j)
@@ -237,8 +237,8 @@ count_sr_conflicts (int state)
     if (!SHIFT_IS_DISABLED (shiftp, i))
       SETBIT (shiftset, SHIFT_SYMBOL (shiftp, i));
 
-  for (i = state_table[state]->lookaheads;
-       i < state_table[state + 1]->lookaheads;
+  for (i = state_table[state]->lookaheadsp;
+       i < state_table[state + 1]->lookaheadsp;
        ++i)
     for (k = 0; k < tokensetsize; ++k)
       lookaheadset[k] |= LA (i)[k];
@@ -264,8 +264,8 @@ count_rr_conflicts (int state)
   int i;
   int rrc_count = 0;
 
-  int m = state_table[state]->lookaheads;
-  int n = state_table[state + 1]->lookaheads;
+  int m = state_table[state]->lookaheadsp;
+  int n = state_table[state + 1]->lookaheadsp;
 
   if (n - m < 2)
     return 0;
@@ -413,17 +413,15 @@ void
 print_reductions (FILE *out, int state)
 {
   int i;
-  int j;
-  int m;
-  int n;
-  shifts *shiftp;
-  errs *errp;
+  int m = state_table[state]->lookaheadsp;
+  int n = state_table[state + 1]->lookaheadsp;
+  shifts *shiftp = state_table[state]->shifts;
+  errs *errp = state_table[state]->errs;
   int nodefault = 0;
 
   for (i = 0; i < tokensetsize; i++)
     shiftset[i] = 0;
 
-  shiftp = state_table[state]->shifts;
   for (i = 0; i < shiftp->nshifts && SHIFT_IS_SHIFT (shiftp, i); i++)
     if (!SHIFT_IS_DISABLED (shiftp, i))
       {
@@ -434,15 +432,11 @@ print_reductions (FILE *out, int state)
        SETBIT (shiftset, SHIFT_SYMBOL (shiftp, i));
       }
 
-  errp = state_table[state]->errs;
   if (errp)
     for (i = 0; i < errp->nerrs; i++)
       if (errp->errs[i])
        SETBIT (shiftset, errp->errs[i]);
 
-  m = state_table[state]->lookaheads;
-  n = state_table[state + 1]->lookaheads;
-
   if (n - m == 1 && !nodefault)
     {
       int k;
@@ -462,8 +456,6 @@ print_reductions (FILE *out, int state)
     }
   else if (n - m >= 1)
     {
-      int k;
-
       int cmax = 0;
       int default_LA = -1;
       int default_rule = 0;
@@ -472,6 +464,7 @@ print_reductions (FILE *out, int state)
        for (i = m; i < n; i++)
          {
            int count = 0;
+           int j, k;
 
            for (k = 0; k < tokensetsize; ++k)
              lookaheadset[k] = LA (i)[k] & ~shiftset[k];
@@ -500,12 +493,13 @@ print_reductions (FILE *out, int state)
 
       for (i = 0; i < ntokens; i++)
        {
+         int j;
          int defaulted = 0;
          int count = BITISSET (shiftset, i);
 
          for (j = m; j < n; j++)
            {
-             if (BITISSET (LA (m), j))
+             if (BITISSET (LA (j), i))
                {
                  if (count == 0)
                    {