X-Git-Url: https://git.saurik.com/bison.git/blobdiff_plain/158e69f984ddc49f0d7febe20234482c8d3cfbb0..500bbfcd816776d0ddbf3555fedd41b529c405b3:/src/lalr.c diff --git a/src/lalr.c b/src/lalr.c index f85347a3..a549e5b4 100644 --- a/src/lalr.c +++ b/src/lalr.c @@ -87,9 +87,8 @@ set_goto_map (void) int i; for (i = sp->num - 1; i >= 0 && TRANSITION_IS_GOTO (sp, i); --i) { - if (ngotos == GOTO_NUMBER_MAX) - fatal (_("too many gotos (max %d)"), GOTO_NUMBER_MAX); - + if (ngotos >= GOTO_NUMBER_MAX) + abort (); ngotos++; goto_map[TRANSITION_SYMBOL (sp, i)]++; } @@ -146,8 +145,10 @@ map_goto (state_number_t state, symbol_number_t symbol) low = goto_map[symbol]; high = goto_map[symbol + 1] - 1; - while (low <= high) + for (;;) { + if (high < low) + abort (); middle = (low + high) / 2; s = from_state[middle]; if (s == state) @@ -157,10 +158,6 @@ map_goto (state_number_t state, symbol_number_t symbol) else high = middle - 1; } - - assert (0); - /* NOTREACHED */ - return 0; } @@ -403,7 +400,7 @@ lookaheads_print (FILE *out) { state_number_t i; int j, k; - fprintf (out, _("Lookaheads: BEGIN\n")); + fprintf (out, "Lookaheads: BEGIN\n"); for (i = 0; i < nstates; ++i) { reductions_t *reds = states[i]->reductions; @@ -415,19 +412,19 @@ lookaheads_print (FILE *out) if (reds->lookaheads[k]) ++nlookaheads; - fprintf (out, _("State %d: %d lookaheads\n"), + fprintf (out, "State %d: %d lookaheads\n", i, nlookaheads); if (reds->lookaheads) for (j = 0; j < reds->num; ++j) BITSET_FOR_EACH (iter, reds->lookaheads[j], k, 0) { - fprintf (out, _(" on %d (%s) -> rule %d\n"), + fprintf (out, " on %d (%s) -> rule %d\n", k, symbols[k]->tag, reds->rules[j]->number); }; } - fprintf (out, _("Lookaheads: END\n")); + fprintf (out, "Lookaheads: END\n"); } void