summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAkim Demaille <akim@epita.fr>2001-11-19 09:21:26 +0000
committerAkim Demaille <akim@epita.fr>2001-11-19 09:21:26 +0000
commit3b2925a06092eb2e1eaeab2b485c34db92242ea9 (patch)
treed9c68889b190a593339d6aca44088e49fb555014
parent83bcf86639e6f2d11bfbe37b28b675ba4ce886c9 (diff)
downloadbison-3b2925a06092eb2e1eaeab2b485c34db92242ea9.tar.gz
* src/getargs.c (statistics_flag): Replace with...
(trace_flag): New. (longopts): Accept --trace instead of --statistics. * src/getargs.h: Adjust. * src/LR0.c, src/closure.c, src/derives.c, src/nullable.c, * src/reduce.c: Use trace_flags instead of the CPP conditional TRACE.
-rw-r--r--ChangeLog9
-rw-r--r--src/LR0.c27
-rw-r--r--src/closure.c18
-rw-r--r--src/derives.c8
-rw-r--r--src/getargs.c4
-rw-r--r--src/getargs.h2
-rw-r--r--src/reduce.c25
7 files changed, 43 insertions, 50 deletions
diff --git a/ChangeLog b/ChangeLog
index 39572b27..172e020b 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,14 @@
2001-11-19 Akim Demaille <akim@epita.fr>
+ * src/getargs.c (statistics_flag): Replace with...
+ (trace_flag): New.
+ (longopts): Accept --trace instead of --statistics.
+ * src/getargs.h: Adjust.
+ * src/LR0.c, src/closure.c, src/derives.c, src/nullable.c,
+ * src/reduce.c: Use trace_flags instead of the CPP conditional TRACE.
+
+2001-11-19 Akim Demaille <akim@epita.fr>
+
* src/LR0.c (new_itemsets, get_state): Use more arrays and less
pointers to clarify the code.
(save_reductions, save_shifts): Factor common parts of alternatives.
diff --git a/src/LR0.c b/src/LR0.c
index 3b3530d5..3760a988 100644
--- a/src/LR0.c
+++ b/src/LR0.c
@@ -23,6 +23,7 @@
The entry point is generate_states. */
#include "system.h"
+#include "getargs.h"
#include "gram.h"
#include "state.h"
#include "complain.h"
@@ -147,10 +148,8 @@ new_itemsets (void)
int i;
int shiftcount;
-#if TRACE
- fprintf (stderr, "Entering new_itemsets, state = %d\n",
- this_state->number);
-#endif
+ if (trace_flag)
+ fprintf (stderr, "Entering new_itemsets, state = %d\n", nstates);
for (i = 0; i < nsyms; i++)
kernel_end[i] = NULL;
@@ -192,10 +191,9 @@ new_state (int symbol)
int n;
core *p;
-#if TRACE
- fprintf (stderr, "Entering new_state, symbol = %d, state = %d\n",
- symbol, nstates);
-#endif
+ if (trace_flag)
+ fprintf (stderr, "Entering new_state, state = %d, symbol = %d\n",
+ nstates, symbol);
if (nstates >= MAXSHORT)
fatal (_("too many states (max %d)"), MAXSHORT);
@@ -233,10 +231,9 @@ get_state (int symbol)
int n = kernel_end[symbol] - kernel_base[symbol];
-#if TRACE
- fprintf (stderr, "Entering get_state, state = %d, symbol = %d\n",
- nstates, symbol);
-#endif
+ if (trace_flag)
+ fprintf (stderr, "Entering get_state, state = %d, symbol = %d\n",
+ nstates, symbol);
/* Add up the target state's active item numbers to get a hash key.
*/
@@ -296,9 +293,9 @@ append_states (void)
int j;
int symbol;
-#if TRACE
- fprintf (stderr, "Entering append_states\n");
-#endif
+ if (trace_flag)
+ fprintf (stderr, "Entering append_states\n");
+
/* first sort shift_symbol into increasing order */
diff --git a/src/closure.c b/src/closure.c
index 94fa636e..b06d808f 100644
--- a/src/closure.c
+++ b/src/closure.c
@@ -19,6 +19,7 @@
02111-1307, USA. */
#include "system.h"
+#include "getargs.h"
#include "gram.h"
#include "reader.h"
#include "closure.h"
@@ -39,7 +40,6 @@ static int rulesetsize;
/* number of words required to hold a bit for each variable */
static int varsetsize;
-#if TRACE
/*-----------------.
| Debugging code. |
@@ -97,7 +97,6 @@ print_fderives (void)
fprintf (stderr, " %d\n", j);
}
}
-#endif
/*-------------------------------------------------------------------.
| Set FIRSTS to be an NVARS by NVARS bit matrix indicating which |
@@ -142,9 +141,8 @@ set_firsts (void)
RTC (firsts, nvars);
-#ifdef TRACE
- print_firsts ();
-#endif
+ if (trace_flag)
+ print_firsts ();
}
/*-------------------------------------------------------------------.
@@ -203,9 +201,8 @@ set_fderives (void)
rrow += rulesetsize;
}
-#ifdef TRACE
- print_fderives ();
-#endif
+ if (trace_flag)
+ print_fderives ();
XFREE (firsts);
}
@@ -300,9 +297,8 @@ closure (short *core, int n)
while (csp < csend)
*itemsetend++ = *csp++;
-#if TRACE
- print_closure (n);
-#endif
+ if (trace_flag)
+ print_closure (n);
}
diff --git a/src/derives.c b/src/derives.c
index ec7173d9..7b862d82 100644
--- a/src/derives.c
+++ b/src/derives.c
@@ -25,6 +25,7 @@
*/
#include "system.h"
+#include "getargs.h"
#include "types.h"
#include "reader.h"
#include "gram.h"
@@ -32,7 +33,6 @@
short **derives;
-#if TRACE
static void
print_derives (void)
@@ -53,7 +53,6 @@ print_derives (void)
putc ('\n', stderr);
}
-#endif
void
set_derives (void)
@@ -96,9 +95,8 @@ set_derives (void)
*q++ = -1;
}
-#if TRACE
- print_derives ();
-#endif
+ if (trace_flag)
+ print_derives ();
XFREE (dset + ntokens);
XFREE (delts);
diff --git a/src/getargs.c b/src/getargs.c
index 0f444b13..dd5de7fd 100644
--- a/src/getargs.c
+++ b/src/getargs.c
@@ -32,9 +32,9 @@ int no_lines_flag = 0;
int no_parser_flag = 0;
int token_table_flag = 0;
int verbose_flag = 0;
-int statistics_flag = 0;
int yacc_flag = 0; /* for -y */
int graph_flag = 0;
+int trace_flag = 0;
const char *skeleton = NULL;
@@ -68,7 +68,7 @@ static struct option longopts[] =
{"graph", optional_argument, 0, 'g'},
/* Hidden. */
- {"statistics", no_argument, &statistics_flag, 1},
+ {"trace", no_argument, &trace_flag, 1},
{0, 0, 0, 0}
};
diff --git a/src/getargs.h b/src/getargs.h
index f3c37601..4ff100bb 100644
--- a/src/getargs.h
+++ b/src/getargs.h
@@ -31,11 +31,11 @@ extern int defines_flag; /* for -d */
extern int locations_flag;
extern int no_lines_flag; /* for -l */
extern int no_parser_flag; /* for -n */
-extern int statistics_flag;
extern int token_table_flag; /* for -k */
extern int verbose_flag; /* for -v */
extern int graph_flag; /* for -g */
extern int yacc_flag; /* for -y */
+extern int trace_flag;
void getargs PARAMS ((int argc, char *argv[]));
diff --git a/src/reduce.c b/src/reduce.c
index b179f608..a95b4bbd 100644
--- a/src/reduce.c
+++ b/src/reduce.c
@@ -438,7 +438,6 @@ reduce_output (FILE *out)
fprintf (out, "\n\n");
}
-#if TRACE
static void
dump_grammar (FILE *out)
{
@@ -478,7 +477,6 @@ dump_grammar (FILE *out)
}
fprintf (out, "\n\n");
}
-#endif
@@ -539,20 +537,15 @@ reduce_grammar (void)
tags[start_symbol]);
reduce_grammar_tables ();
-#if TRACE
- dump_grammar (stderr);
-#endif
-
- if (statistics_flag)
- fprintf (stderr, _("reduced %s defines %d terminal%s, %d nonterminal%s\
-, and %d production%s.\n"),
- infile,
- ntokens,
- (ntokens == 1 ? "" : "s"),
- nvars,
- (nvars == 1 ? "" : "s"),
- nrules,
- (nrules == 1 ? "" : "s"));
+
+ if (trace_flag)
+ {
+ dump_grammar (stderr);
+
+ fprintf (stderr, "reduced %s defines %d terminals, %d nonterminals\
+, and %d productions.\n",
+ infile, ntokens, nvars, nrules);
+ }
}