bison-patches
[Top][All Lists]
Advanced

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

[PATCH] --trace=muscles


From: Akim Demaille
Subject: [PATCH] --trace=muscles
Date: Mon, 10 Nov 2008 10:21:53 -0000

        * src/getargs.h, src/getargs.c (trace_muscle): New.
        (trace_types, trace_args): Support it.
        * src/output.c (output_skeleton): Use it.
---
 ChangeLog     |    7 +++++++
 src/getargs.c |    2 ++
 src/getargs.h |    1 +
 src/output.c  |   18 +++++++++++-------
 4 files changed, 21 insertions(+), 7 deletions(-)

diff --git a/ChangeLog b/ChangeLog
index f9db6f4..404ef73 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,12 @@
 2008-11-10  Akim Demaille  <address@hidden>
 
+       --trace=muscles
+       * src/getargs.h, src/getargs.c (trace_muscle): New.
+       (trace_types, trace_args): Support it.
+       * src/output.c (output_skeleton): Use it.
+
+2008-11-10  Akim Demaille  <address@hidden>
+
        muscles_output.
        * src/output.c (muscles_output): New, extracted from...
        (output_skeleton): here.
diff --git a/src/getargs.c b/src/getargs.c
index a8d1c54..53934f3 100644
--- a/src/getargs.c
+++ b/src/getargs.c
@@ -176,6 +176,7 @@ static const char * const trace_args[] =
   "grammar    - reading, reducing the grammar",
   "resource   - memory consumption (where available)",
   "sets       - grammar sets: firsts, nullable etc.",
+  "muscles    - m4 definitions passed to the skeleton",
   "tools      - m4 invocation",
   "m4         - m4 traces",
   "skeleton   - skeleton postprocessing",
@@ -194,6 +195,7 @@ static const int trace_types[] =
   trace_grammar,
   trace_resource,
   trace_sets,
+  trace_muscles,
   trace_tools,
   trace_m4,
   trace_skeleton,
diff --git a/src/getargs.h b/src/getargs.h
index 8d27e71..1139067 100644
--- a/src/getargs.h
+++ b/src/getargs.h
@@ -106,6 +106,7 @@ enum trace
     trace_time      = 1 << 8,  /**< Time consumption. */
     trace_skeleton  = 1 << 9,  /**< Skeleton postprocessing. */
     trace_m4        = 1 << 10, /**< M4 traces. */
+    trace_muscles   = 1 << 11, /**< M4 definitions of the muscles. */
     trace_all       = ~0       /**< All of the above.  */
   };
 /** What debug items bison displays during its run.  */
diff --git a/src/output.c b/src/output.c
index 6e6da2e..cac4ebf 100644
--- a/src/output.c
+++ b/src/output.c
@@ -514,7 +514,6 @@ static void
 output_skeleton (void)
 {
   FILE *in;
-  FILE *out;
   int filter_fd[2];
   char const *argv[9];
   pid_t pid;
@@ -602,12 +601,17 @@ output_skeleton (void)
   free (full_m4bison);
   free (full_skeleton);
 
-  out = fdopen (filter_fd[0], "w");
-  if (! out)
-    error (EXIT_FAILURE, get_errno (),
-          "fdopen");
-  muscles_output (out);
-  xfclose (out);
+
+  if (trace_flag & trace_muscles)
+    muscles_output (stderr);
+  {
+    FILE *out = fdopen (filter_fd[0], "w");
+    if (! out)
+      error (EXIT_FAILURE, get_errno (),
+             "fdopen");
+    muscles_output (out);
+    xfclose (out);
+  }
 
   /* Read and process m4's output.  */
   timevar_push (TV_M4);
-- 
1.6.0.2.588.g3102





reply via email to

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