(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 <akim@epita.fr>
+
+ * 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 <akim@epita.fr>
* src/LR0.c (new_itemsets, get_state): Use more arrays and less
* src/output.c (free_itemsets, free_reductions, free_shifts):
Remove, replaced by LIST_FREE.
-
+
2001-11-19 Akim Demaille <akim@epita.fr>
* src/state.h (CORE_ALLOC, SHIFTS_ALLOC, ERRS_ALLOC)
* src/LR0.c, src/conflicts.c: Use them to de-obfuscate memory
allocation.
-
+
2001-11-19 Akim Demaille <akim@epita.fr>
* src/LR0.c (new_state): Complete trace code.
(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 <akim@epita.fr>
* src/reader.c (record_rule_lines, rline, rline_allocated): Remove.
* src/output.c: Adjust.
-
+
2001-11-19 Akim Demaille <akim@epita.fr>
* src/gram.h (rprec, rprecsym, rassoc): Remove, now part of...
* src/lalr.c, src/nullable.c, src/output.c, src/print.c,
* src/reader.c, src/reduce.c: Adjust.
-
+
2001-11-19 Akim Demaille <akim@epita.fr>
* src/reader.c (symbols_output): New, extracted from...
* src/lalr.c (initialize_LA): Only initialize LA. Let...
(set_state_table): handle the `lookaheads' members.
-
+
2001-11-19 Akim Demaille <akim@epita.fr>
* src/lalr.h (lookaheads): Removed array, which contents is now
* src/output.c, src/lalr.c, src/print_graph.c, src/conflicts.c:
Adjust.
-
+
2001-11-19 Akim Demaille <akim@epita.fr>
* src/lalr.h (state_t): New.
The entry point is generate_states. */
#include "system.h"
+#include "getargs.h"
#include "gram.h"
#include "state.h"
#include "complain.h"
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;
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);
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.
*/
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 */
02111-1307, USA. */
#include "system.h"
+#include "getargs.h"
#include "gram.h"
#include "reader.h"
#include "closure.h"
/* number of words required to hold a bit for each variable */
static int varsetsize;
\f
-#if TRACE
/*-----------------.
| Debugging code. |
fprintf (stderr, " %d\n", j);
}
}
-#endif
\f
/*-------------------------------------------------------------------.
| Set FIRSTS to be an NVARS by NVARS bit matrix indicating which |
RTC (firsts, nvars);
-#ifdef TRACE
- print_firsts ();
-#endif
+ if (trace_flag)
+ print_firsts ();
}
/*-------------------------------------------------------------------.
rrow += rulesetsize;
}
-#ifdef TRACE
- print_fderives ();
-#endif
+ if (trace_flag)
+ print_fderives ();
XFREE (firsts);
}
while (csp < csend)
*itemsetend++ = *csp++;
-#if TRACE
- print_closure (n);
-#endif
+ if (trace_flag)
+ print_closure (n);
}
*/
#include "system.h"
+#include "getargs.h"
#include "types.h"
#include "reader.h"
#include "gram.h"
short **derives;
-#if TRACE
static void
print_derives (void)
putc ('\n', stderr);
}
-#endif
void
set_derives (void)
*q++ = -1;
}
-#if TRACE
- print_derives ();
-#endif
+ if (trace_flag)
+ print_derives ();
XFREE (dset + ntokens);
XFREE (delts);
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;
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[]));
do so. */
#include "system.h"
+#include "getargs.h"
#include "types.h"
#include "gram.h"
#include "nullable.h"
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;
/* 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.
fprintf (out, "\n\n");
}
\f
-#if TRACE
static void
dump_grammar (FILE *out)
{
}
fprintf (out, "\n\n");
}
-#endif
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);
+ }
}