summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorAkim Demaille <akim.demaille@gmail.com>2019-03-29 22:36:47 +0100
committerAkim Demaille <akim.demaille@gmail.com>2019-03-30 10:10:39 +0100
commitd332ff3c77c3e65c154ff0cc13b00bd1cec90ae9 (patch)
tree269f0a35930f2a25a54a54e7b24ef0a46c3c5b66 /src
parenteb92ec3dc6239e8225220e7d2e619c1b60ef11f8 (diff)
downloadbison-d332ff3c77c3e65c154ff0cc13b00bd1cec90ae9.tar.gz
state: more debug traces
* src/state.c (state_transitions_set): Show the transitions.
Diffstat (limited to 'src')
-rw-r--r--src/state.c13
1 files changed, 13 insertions, 0 deletions
diff --git a/src/state.c b/src/state.c
index 58980954..29eca5b9 100644
--- a/src/state.c
+++ b/src/state.c
@@ -27,6 +27,7 @@
#include "closure.h"
#include "complain.h"
+#include "getargs.h"
#include "gram.h"
#include "print-xml.h"
@@ -197,6 +198,18 @@ state_transitions_set (state *s, int num, state **dst)
{
aver (!s->transitions);
s->transitions = transitions_new (num, dst);
+ if (trace_flag & trace_automaton)
+ {
+ const transitions *trans = s->transitions;
+ fprintf (stderr, "transitions of %d (%d):\n",
+ s->number, trans->num);
+ for (int i = 0; i < trans->num; ++i)
+ fprintf (stderr, " %d: (%d, %s, %d)\n",
+ i,
+ s->number,
+ symbols[s->transitions->states[i]->accessing_symbol]->tag,
+ s->transitions->states[i]->number);
+ }
}