bison-patches
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[PATCH 2/5] traces: improve logs


From: Akim Demaille
Subject: [PATCH 2/5] traces: improve logs
Date: Sat, 13 Apr 2019 14:17:01 +0200

* src/lalr.c: Move logs to a better place to understand the chronology
of events.
* src/symlist.c (symbol_list_syms_print): Don't dump core on type
elements.
---
 src/lalr.c    | 8 ++++----
 src/symlist.c | 7 +++++--
 2 files changed, 9 insertions(+), 6 deletions(-)

diff --git a/src/lalr.c b/src/lalr.c
index 70cf33a9..09e5ae3a 100644
--- a/src/lalr.c
+++ b/src/lalr.c
@@ -398,10 +398,7 @@ build_relations (void)
 
   relation_transpose (&includes, ngotos);
   if (trace_flag & trace_automaton)
-    {
-      lookback_print (stderr);
-      relation_print ("includes", includes, ngotos, goto_print, stderr);
-    }
+    relation_print ("includes", includes, ngotos, goto_print, stderr);
 }
 
 /* Compute FOLLOWS from INCLUDES, and free INCLUDES.  */
@@ -420,6 +417,9 @@ compute_follows (void)
 static void
 compute_lookahead_tokens (void)
 {
+  if (trace_flag & trace_automaton)
+      lookback_print (stderr);
+
   for (size_t i = 0; i < nLA; ++i)
     for (goto_list *sp = lookback[i]; sp; sp = sp->next)
       bitset_or (LA[i], LA[i], goto_follows[sp->value]);
diff --git a/src/symlist.c b/src/symlist.c
index d90946e7..79277e27 100644
--- a/src/symlist.c
+++ b/src/symlist.c
@@ -97,6 +97,7 @@ symbol_list_type_set (symbol_list *syms, uniqstr type_name, 
location loc)
 void
 symbol_list_syms_print (const symbol_list *l, FILE *f)
 {
+  fputc ('[', f);
   char const *sep = "";
   for (/* Nothing. */; l && l->content.sym; l = l->next)
     {
@@ -105,10 +106,12 @@ symbol_list_syms_print (const symbol_list *l, FILE *f)
              : l->content_type == SYMLIST_TYPE ? "type: "
              : "invalid content_type: ",
              f);
-      symbol_print (l->content.sym, f);
-      fputs (l->action_props.is_value_used ? " used" : " unused", f);
+      if (l->content_type == SYMLIST_SYMBOL)
+        symbol_print (l->content.sym, f);
+      fputs (l->action_props.is_value_used ? " (used)" : " (unused)", f);
       sep = ", ";
     }
+  fputc (']', f);
 }
 
 
-- 
2.21.0




reply via email to

[Prev in Thread] Current Thread [Next in Thread]