From 12191911ba57bcc8effd90a14d6ee35ea344ef73 Mon Sep 17 00:00:00 2001 From: Akim Demaille Date: Sun, 12 Jul 2020 15:01:24 +0200 Subject: [PATCH] cex: use state_item_number consistently * src/counterexample.c, src/state-item.c: here. (counterexample_report_state): While at it, prefer c2 to j/k, to match c1. --- src/counterexample.c | 18 +++++++++--------- src/state-item.c | 12 ++++++------ 2 files changed, 15 insertions(+), 15 deletions(-) diff --git a/src/counterexample.c b/src/counterexample.c index 478c9d53..3056ffb9 100644 --- a/src/counterexample.c +++ b/src/counterexample.c @@ -1274,7 +1274,7 @@ counterexample_report_reduce_reduce (state_item_number itm1, state_item_number i static state_item_number find_state_item_number (const rule *r, state_number sn) { - for (int i = state_item_map[sn]; i < state_item_map[sn + 1]; ++i) + for (state_item_number i = state_item_map[sn]; i < state_item_map[sn + 1]; ++i) if (!SI_DISABLED (i) && item_number_as_rule_number (*state_items[i].item) == r->number) return i; @@ -1290,13 +1290,13 @@ counterexample_report_state (const state *s, FILE *out, const char *prefix) { const rule *r1 = reds->rules[i]; const state_item_number c1 = find_state_item_number (r1, sn); - for (int j = state_item_map[sn]; j < state_item_map[sn + 1]; ++j) - if (!SI_DISABLED (j)) + for (state_item_number c2 = state_item_map[sn]; c2 < state_item_map[sn + 1]; ++c2) + if (!SI_DISABLED (c2)) { - item_number conf = *state_items[j].item; + item_number conf = *state_items[c2].item; if (item_number_is_symbol_number (conf) && bitset_test (reds->lookahead_tokens[i], conf)) - counterexample_report_shift_reduce (c1, j, conf, out, prefix); + counterexample_report_shift_reduce (c1, c2, conf, out, prefix); } for (int j = i+1; j < reds->num; ++j) { @@ -1306,11 +1306,11 @@ counterexample_report_state (const state *s, FILE *out, const char *prefix) reds->lookahead_tokens[i], reds->lookahead_tokens[j]); if (!bitset_empty_p (conf)) - for (int k = state_item_map[sn]; k < state_item_map[sn + 1]; ++k) - if (!SI_DISABLED (k) - && item_rule (state_items[k].item) == r2) + for (state_item_number c2 = state_item_map[sn]; c2 < state_item_map[sn + 1]; ++c2) + if (!SI_DISABLED (c2) + && item_rule (state_items[c2].item) == r2) { - counterexample_report_reduce_reduce (c1, k, conf, out, prefix); + counterexample_report_reduce_reduce (c1, c2, conf, out, prefix); break; } bitset_free (conf); diff --git a/src/state-item.c b/src/state-item.c index a3194e16..ed67ad97 100644 --- a/src/state-item.c +++ b/src/state-item.c @@ -211,7 +211,7 @@ init_trans (void) for (int j = 0; j < t->num; ++j) if (!TRANSITION_IS_DISABLED (t, j)) hash_xinsert (transition_set, t->states[j]); - for (int j = state_item_map[i]; j < state_item_map[i + 1]; ++j) + for (state_item_number j = state_item_map[i]; j < state_item_map[i + 1]; ++j) { item_number *item = state_items[j].item; if (item_number_is_rule_number (*item)) @@ -248,7 +248,7 @@ init_prods (void) // Add the nitems of state to skip to the production portion // of that state's state_items - for (int j = state_item_map[i] + s->nitems; + for (state_item_number j = state_item_map[i] + s->nitems; j < state_item_map[i + 1]; ++j) { state_item *src = &state_items[j]; @@ -264,7 +264,7 @@ init_prods (void) } // For each item with a dot followed by a nonterminal, // try to create a production edge. - for (int j = state_item_map[i]; j < state_item_map[i + 1]; ++j) + for (state_item_number j = state_item_map[i]; j < state_item_map[i + 1]; ++j) { state_item *src = &state_items[j]; item_number item = *(src->item); @@ -492,7 +492,7 @@ state_items_report (void) for (state_number i = 0; i < nstates; ++i) { printf ("State %d:\n", i); - for (int j = state_item_map[i]; j < state_item_map[i + 1]; ++j) + for (state_item_number j = state_item_map[i]; j < state_item_map[i + 1]; ++j) { state_item *si = &state_items[j]; item_print (si->item, NULL, stdout); @@ -560,7 +560,7 @@ state_items_init (void) void state_items_free (void) { - for (int i = 0; i < nstate_items; ++i) + for (state_item_number i = 0; i < nstate_items; ++i) if (!SI_DISABLED (i)) { state_item *si = &state_items[i]; @@ -592,5 +592,5 @@ production_allowed (const state_item *si, const state_item *next) if (prec1 == prec2 && s1->assoc == left_assoc) return false; } - return true; + return true; }