/[bison]/bison/src/conflicts.c
ViewVC logotype

Diff of /bison/src/conflicts.c

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1.48 by akim, Wed Dec 5 09:32:00 2001 UTC revision 1.49 by akim, Wed Dec 5 09:32:23 2001 UTC
# Line 62  flush_shift (int state, int token) Line 62  flush_shift (int state, int token)
62    
63    if (shiftp)    if (shiftp)
64      for (i = 0; i < shiftp->nshifts; i++)      for (i = 0; i < shiftp->nshifts; i++)
65        if (shiftp->shifts[i] && SHIFT_SYMBOL (shiftp, i) == token)        if (!SHIFT_IS_DISABLED (shiftp, i) && SHIFT_SYMBOL (shiftp, i) == token)
66          shiftp->shifts[i] = 0;          SHIFT_DISABLE (shiftp, i);
67  }  }
68    
69    
# Line 176  set_conflicts (int state) Line 176  set_conflicts (int state)
176    shiftp = state_table[state].shift_table;    shiftp = state_table[state].shift_table;
177    if (shiftp)    if (shiftp)
178      for (i = 0; i < shiftp->nshifts && SHIFT_IS_SHIFT (shiftp, i); i++)      for (i = 0; i < shiftp->nshifts && SHIFT_IS_SHIFT (shiftp, i); i++)
179        SETBIT (lookaheadset, SHIFT_SYMBOL (shiftp, i));        if (!SHIFT_IS_DISABLED (shiftp, i))
180            SETBIT (lookaheadset, SHIFT_SYMBOL (shiftp, i));
181    
182    /* Loop over all rules which require lookahead in this state.  First    /* Loop over all rules which require lookahead in this state.  First
183       check for shift-reduce conflict, and try to resolve using       check for shift-reduce conflict, and try to resolve using
# Line 245  count_sr_conflicts (int state) Line 246  count_sr_conflicts (int state)
246      }      }
247    
248    for (i = 0; i < shiftp->nshifts && SHIFT_IS_SHIFT (shiftp, i); i++)    for (i = 0; i < shiftp->nshifts && SHIFT_IS_SHIFT (shiftp, i); i++)
249      SETBIT (shiftset, SHIFT_SYMBOL (shiftp, i));      if (!SHIFT_IS_DISABLED (shiftp, i))
250          SETBIT (shiftset, SHIFT_SYMBOL (shiftp, i));
251    
252    for (i = state_table[state].lookaheads;    for (i = state_table[state].lookaheads;
253         i < state_table[state + 1].lookaheads;         i < state_table[state + 1].lookaheads;
# Line 436  print_reductions (FILE *out, int state) Line 438  print_reductions (FILE *out, int state)
438    shiftp = state_table[state].shift_table;    shiftp = state_table[state].shift_table;
439    if (shiftp)    if (shiftp)
440      for (i = 0; i < shiftp->nshifts && SHIFT_IS_SHIFT (shiftp, i); i++)      for (i = 0; i < shiftp->nshifts && SHIFT_IS_SHIFT (shiftp, i); i++)
441        {        if (!SHIFT_IS_DISABLED (shiftp, i))
442          /* if this state has a shift for the error token, don't use a          {
443             default rule.  */            /* if this state has a shift for the error token, don't use a
444          if (SHIFT_IS_ERROR (shiftp, i))               default rule.  */
445            nodefault = 1;            if (SHIFT_IS_ERROR (shiftp, i))
446          SETBIT (shiftset, SHIFT_SYMBOL (shiftp, i));              nodefault = 1;
447        }            SETBIT (shiftset, SHIFT_SYMBOL (shiftp, i));
448            }
449    
450    errp = err_table[state];    errp = err_table[state];
451    if (errp)    if (errp)
# Line 506  print_reductions (FILE *out, int state) Line 509  print_reductions (FILE *out, int state)
509    
510        if (shiftp)        if (shiftp)
511          for (i = 0; i < shiftp->nshifts && SHIFT_IS_SHIFT (shiftp, i); i++)          for (i = 0; i < shiftp->nshifts && SHIFT_IS_SHIFT (shiftp, i); i++)
512            SETBIT (shiftset, SHIFT_SYMBOL (shiftp, i));            if (!SHIFT_IS_DISABLED (shiftp, i))
513                SETBIT (shiftset, SHIFT_SYMBOL (shiftp, i));
514    
515        for (i = 0; i < ntokens; i++)        for (i = 0; i < ntokens; i++)
516          {          {

Legend:
Removed from v.1.48  
changed lines
  Added in v.1.49

savannah-hackers-public@gnu.org
ViewVC Help
Powered by ViewVC 1.1.26