From 9bfe901c33190b9726bddabf8f192ad0c3a25500 Mon Sep 17 00:00:00 2001 From: Akim Demaille Date: Mon, 19 Nov 2001 10:37:58 +0000 Subject: [PATCH] * src/getargs.c (statistics_flag): Replace with... (trace_flag): New. (longopts): Accept --trace instead of --statistics. * src/getargs.h, src/options.c: 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. --- ChangeLog | 23 ++++++++++++++++------- src/LR0.c | 27 ++++++++++++--------------- src/closure.c | 18 +++++++----------- src/derives.c | 8 +++----- src/getargs.c | 2 +- src/getargs.h | 2 +- src/nullable.c | 6 +++--- src/options.c | 2 +- src/reduce.c | 25 +++++++++---------------- 9 files changed, 53 insertions(+), 60 deletions(-) diff --git a/ChangeLog b/ChangeLog index be9a7bfb..cd1080aa 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,12 @@ +2001-11-19 Akim Demaille + + * src/getargs.c (statistics_flag): Replace with... + (trace_flag): New. + (longopts): Accept --trace instead of --statistics. + * src/getargs.h, src/options.c: 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 * src/LR0.c (new_itemsets, get_state): Use more arrays and less @@ -23,7 +32,7 @@ * src/output.c (free_itemsets, free_reductions, free_shifts): Remove, replaced by LIST_FREE. - + 2001-11-19 Akim Demaille * src/state.h (CORE_ALLOC, SHIFTS_ALLOC, ERRS_ALLOC) @@ -31,7 +40,7 @@ * src/LR0.c, src/conflicts.c: Use them to de-obfuscate memory allocation. - + 2001-11-19 Akim Demaille * src/LR0.c (new_state): Complete trace code. @@ -51,7 +60,7 @@ (print_actions): Don't output the actions as part of the nodes, since that's the job of the edges. (print_state): Don't output by hand: fill the node description, - and ask for its output. + and ask for its output. 2001-11-19 Akim Demaille @@ -65,7 +74,7 @@ * src/reader.c (record_rule_lines, rline, rline_allocated): Remove. * src/output.c: Adjust. - + 2001-11-19 Akim Demaille * src/gram.h (rprec, rprecsym, rassoc): Remove, now part of... @@ -81,7 +90,7 @@ * src/lalr.c, src/nullable.c, src/output.c, src/print.c, * src/reader.c, src/reduce.c: Adjust. - + 2001-11-19 Akim Demaille * src/reader.c (symbols_output): New, extracted from... @@ -109,7 +118,7 @@ * src/lalr.c (initialize_LA): Only initialize LA. Let... (set_state_table): handle the `lookaheads' members. - + 2001-11-19 Akim Demaille * src/lalr.h (lookaheads): Removed array, which contents is now @@ -134,7 +143,7 @@ * src/output.c, src/lalr.c, src/print_graph.c, src/conflicts.c: Adjust. - + 2001-11-19 Akim Demaille * src/lalr.h (state_t): New. diff --git a/src/LR0.c b/src/LR0.c index d1d703ff..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, state = %d, symbol = %d\n", - nstates, symbol); -#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 e3ffdb68..76e3823f 100644 --- a/src/getargs.c +++ b/src/getargs.c @@ -34,9 +34,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; 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/nullable.c b/src/nullable.c index 4568114f..eedc5a33 100644 --- a/src/nullable.c +++ b/src/nullable.c @@ -24,6 +24,7 @@ do so. */ #include "system.h" +#include "getargs.h" #include "types.h" #include "gram.h" #include "nullable.h" @@ -47,9 +48,8 @@ set_nullable (void) char any_tokens; short *r1; -#ifdef TRACE - fprintf (stderr, "Entering set_nullable\n"); -#endif + if (trace_flag) + fprintf (stderr, "Entering set_nullable"); nullable = XCALLOC (char, nvars) - ntokens; diff --git a/src/options.c b/src/options.c index 9ab81531..f1240766 100644 --- a/src/options.c +++ b/src/options.c @@ -60,7 +60,7 @@ const struct option_table_struct option_table[] = /* Hidden. */ /* Fixme: What is this `1' doing here!!! Sounds dead wrong. See locations too below. */ - {opt_cmd_line, "statistics", no_argument, &statistics_flag, 0, 1}, + {opt_cmd_line, "trace", no_argument, &trace_flag, 0, 1}, /* * Percent declarations. 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); + } } -- 2.47.2