Let --trace have arguments.

* src/getargs.h (enum trace_e): New.
* src/getargs.c (trace_args, trace_types, trace_argmatch): New.
(long_options, short_options): --trace/-T takes an optional
argument.
Change all the uses of trace_flag to reflect the new flags.
* tests/sets.at (Firsts, Nullable, Broken Closure): Use --trace=sets.
Strengthen `stage' portability.
* m4/stage.m4 (BISON_PREREQ_STAGE): New.
* configure.in: Use it.
Don't check for malloc.h and sys/times.h.
* src/system.h: Include them when appropriate.
* src/main.c (stage): Compile only when mallinfo, struct mallinfo,
times and struct tms are available.
This commit is contained in:
Akim Demaille
2002-07-31 19:49:52 +00:00
parent 2ed0e35f86
commit 273a74fa89
20 changed files with 338 additions and 55 deletions

View File

@@ -34,19 +34,31 @@ extern int no_parser_flag; /* for -n */
extern int token_table_flag; /* for -k */
extern int graph_flag; /* for -g */
extern int yacc_flag; /* for -y */
/* --trace. */
enum trace_e
{
trace_none = 0,
trace_resource = 1 << 0,
trace_sets = 1 << 1,
trace_bitsets = 1 << 2,
trace_tools = 1 << 3,
trace_automaton = 1 << 4,
trace_grammar = 1 << 5,
trace_all = ~0
};
extern int trace_flag;
/* --report. */
enum
enum report_e
{
report_none = 0,
report_states = 1 << 0,
report_itemsets = 1 << 1,
report_lookaheads = 1 << 2,
report_none = 0,
report_states = 1 << 0,
report_itemsets = 1 << 1,
report_lookaheads = 1 << 2,
report_solved_conflicts = 1 << 3,
report_all = ~0
report_all = ~0
};
extern int report_flag;
void getargs PARAMS ((int argc, char *argv[]));