X-Git-Url: https://git.saurik.com/bison.git/blobdiff_plain/914feea9d07b0a53ee958e8df755addb97196913..53c71a12c8bed583886c857a53e6f13f95d9916b:/src/conflicts.c diff --git a/src/conflicts.c b/src/conflicts.c index d90b380a..22e7d8a3 100644 --- a/src/conflicts.c +++ b/src/conflicts.c @@ -1,5 +1,6 @@ /* Find and resolve or report look-ahead conflicts for bison, - Copyright 1984, 1989, 1992, 2000, 2001, 2002 Free Software Foundation, Inc. + Copyright (C) 1984, 1989, 1992, 2000, 2001, 2002 + Free Software Foundation, Inc. This file is part of Bison, the GNU Compiler Compiler. @@ -40,13 +41,15 @@ static bitset lookaheadset; static inline void -log_resolution (state_t *state, int LAno, int token, char *resolution) +log_resolution (state_t *state, int LAno, int token, const char *resolution) { if (verbose_flag) obstack_fgrow4 (&output_obstack, _("\ Conflict in state %d between rule %d and token %s resolved as %s.\n"), - state->number, LAruleno[LAno], symbols[token]->tag, + state->number, + LArule[LAno]->number, + symbols[token]->tag, resolution); } @@ -95,7 +98,7 @@ resolve_sr_conflict (state_t *state, int lookahead) { int i; /* find the rule to reduce by to get precedence of reduction */ - int redprec = rules[LAruleno[lookahead]].prec; + int redprec = LArule[lookahead]->prec->prec; errs *errp = errs_new (ntokens + 1); errp->nerrs = 0; @@ -172,7 +175,8 @@ set_conflicts (state_t *state) check for shift-reduce conflict, and try to resolve using precedence */ for (i = 0; i < state->nlookaheads; ++i) - if (rules[LAruleno[state->lookaheadsp + i]].prec + if (LArule[state->lookaheadsp + i]->prec + && LArule[state->lookaheadsp + i]->prec->prec && !bitset_disjoint_p (LA[state->lookaheadsp + i], lookaheadset)) { resolve_sr_conflict (state, state->lookaheadsp + i);