summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorAkim Demaille <akim.demaille@gmail.com>2020-07-11 17:25:37 +0200
committerAkim Demaille <akim.demaille@gmail.com>2020-07-11 18:07:09 +0200
commit5b2b7b1ffb0b72c397f87bf1b944ce08bf3f70a4 (patch)
tree5b315e20865e569616f4a6fcb5e6d1e1fade8351 /src
parentdc72b3566d78b37775a4b1b27d12eba408d3a5e8 (diff)
downloadbison-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.c25
-rw-r--r--src/state-item.h16
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;