diff options
author | Akim Demaille <akim.demaille@gmail.com> | 2020-07-11 17:25:37 +0200 |
---|---|---|
committer | Akim Demaille <akim.demaille@gmail.com> | 2020-07-11 18:07:09 +0200 |
commit | 5b2b7b1ffb0b72c397f87bf1b944ce08bf3f70a4 (patch) | |
tree | 5b315e20865e569616f4a6fcb5e6d1e1fade8351 /src | |
parent | dc72b3566d78b37775a4b1b27d12eba408d3a5e8 (diff) | |
download | bison-5b2b7b1ffb0b72c397f87bf1b944ce08bf3f70a4.tar.gz |
style: cex: remove variables that don't make it simpler to read
* src/counterexample.c: With arrays, prefer the array notation rather
than the pointer one.
Diffstat (limited to 'src')
-rw-r--r-- | src/counterexample.c | 25 | ||||
-rw-r--r-- | src/state-item.h | 16 |
2 files changed, 17 insertions, 24 deletions
diff --git a/src/counterexample.c b/src/counterexample.c index e89050cc..40f8b831 100644 --- a/src/counterexample.c +++ b/src/counterexample.c @@ -1284,8 +1284,7 @@ counterexample_report_state (const state *s, FILE *out, const char *prefix) for (int j = state_item_map[sn]; j < state_item_map[sn + 1]; ++j) if (!SI_DISABLED (j)) { - state_item *si = state_items + j; - item_number conf = *si->item; + item_number conf = *state_items[j].item; if (item_number_is_symbol_number (conf) && bitset_test (reds->lookahead_tokens[i], conf)) counterexample_report_shift_reduce (c1, j, conf, out, prefix); @@ -1293,24 +1292,18 @@ counterexample_report_state (const state *s, FILE *out, const char *prefix) for (int j = i+1; j < reds->num; ++j) { bitset conf = bitset_create (ntokens, BITSET_FIXED); + const rule *r2 = reds->rules[j]; bitset_intersection (conf, reds->lookahead_tokens[i], reds->lookahead_tokens[j]); if (!bitset_empty_p (conf)) - { - const rule *r2 = reds->rules[j]; - for (int k = state_item_map[sn]; k < state_item_map[sn + 1]; ++k) - if (!SI_DISABLED (k)) - { - state_item *si = state_items + k; - const rule *r = item_rule (si->item); - if (r == r2) - { - counterexample_report_reduce_reduce (c1, k, conf, out, prefix); - break; - } - } - } + 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) + { + counterexample_report_reduce_reduce (c1, k, conf, out, prefix); + break; + } bitset_free (conf); } } diff --git a/src/state-item.h b/src/state-item.h index 8df79feb..d8b46843 100644 --- a/src/state-item.h +++ b/src/state-item.h @@ -28,16 +28,16 @@ # include "state.h" /* Initializes a graph connecting (state, production item) pairs to - pairs they can make a transition or production step to. This graph + pairs they can make a transition or production step to. This graph is used to search for paths that represent counterexamples of some conflict. state_items is an array of state state-item pairs ordered by state. state_item_map maps state numbers to the first item which - corresponds to it in the array. A state's portion in state_items - begins with its items in the same order as it was in the - state. This is then followed by productions from the closure of the - state in order by rule. + corresponds to it in the array. A state's portion in state_items + begins with its items in the same order as it was in the state. + This is then followed by productions from the closure of the state + in order by rule. There are two type of edges in this graph transitions and productions. Transitions are the same as transitions from the @@ -53,9 +53,9 @@ production edges, and all others will have reverse transition edges. */ -# define SI_DISABLED(sin) (state_items[sin].trans == -2) -# define SI_PRODUCTION(si) ((si) == state_items || *((si)->item - 1) < 0) -# define SI_TRANSITION(si) ((si) != state_items && *((si)->item - 1) >= 0) +# define SI_DISABLED(Sin) (state_items[Sin].trans == -2) +# define SI_PRODUCTION(Si) ((Si) == state_items || *((Si)->item - 1) < 0) +# define SI_TRANSITION(Si) ((Si) != state_items && *((Si)->item - 1) >= 0) typedef int state_item_number; |