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

@@ -132,13 +132,13 @@ set_firsts (void)
bitset_set (FIRSTS (i), symbol - ntokens);
}
if (trace_flag)
if (trace_flag & trace_sets)
bitsetv_matrix_dump (stderr, "RTC: Firsts Input", firsts);
bitsetv_reflexive_transitive_closure (firsts);
if (trace_flag)
if (trace_flag & trace_sets)
bitsetv_matrix_dump (stderr, "RTC: Firsts Output", firsts);
if (trace_flag)
if (trace_flag & trace_sets)
print_firsts ();
}
@@ -168,7 +168,7 @@ set_fderives (void)
for (k = 0; derives[j][k] >= 0; ++k)
bitset_set (FDERIVES (i), derives[j][k]);
if (trace_flag)
if (trace_flag & trace_sets)
print_fderives ();
bitsetv_free (firsts);
@@ -199,7 +199,7 @@ closure (item_number_t *core, int n)
bitset_iterator iter;
if (trace_flag)
if (trace_flag & trace_sets)
print_closure ("input", core, n);
bitset_zero (ruleset);
@@ -230,7 +230,7 @@ closure (item_number_t *core, int n)
c++;
}
if (trace_flag)
if (trace_flag & trace_sets)
print_closure ("output", itemset, nritemset);
}