From 46ccde4abc160f45fae9aa2f4e84970884af89fa Mon Sep 17 00:00:00 2001 From: Krasimir Angelov Date: Wed, 20 Sep 2023 18:05:40 +0200 Subject: [PATCH] more details in the LR graph --- src/runtime/c/pgf/pgf.cxx | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/src/runtime/c/pgf/pgf.cxx b/src/runtime/c/pgf/pgf.cxx index 3f94789c4..135d035c1 100644 --- a/src/runtime/c/pgf/pgf.cxx +++ b/src/runtime/c/pgf/pgf.cxx @@ -3162,6 +3162,11 @@ pgf_graphviz_lr_automaton(PgfDB *db, PgfConcrRevision revision, auto lin = ref::untagged(reduce->lin_obj); printer.efun(&lin->name); + printer.nprintf(32,"/%zd[",reduce->seq_idx); + for (size_t i = 0; i < reduce->args->len; i++) { + printer.puts(reduce->args->data[i] ? "t" : "f"); + } + printer.puts("]"); break; } case PgfConcrLincat::tag: { @@ -3182,7 +3187,10 @@ pgf_graphviz_lr_automaton(PgfDB *db, PgfConcrRevision revision, ref shift = vector_elem(state->shifts, j); printer.nprintf(16, " s%zu -> s%zu [label=\"", i, shift->next_state); printer.efun(&shift->lincat->name); - printer.nprintf(16, ".%zu\"];\n", shift->r); + printer.nprintf(16, ".%zu\"", shift->r); + if (!shift->exact) + printer.puts(", style=dashed"); + printer.puts("];\n"); } } printer.puts("}");