- ARGMATCH_ASSERT (report_args, report_types);
- args = strtok (args, ",");
- do
- {
- int report = XARGMATCH ("--report", args,
- report_args, report_types);
- if (report == report_none)
- report_flag = report_none;
- else
- report_flag |= report;
- }
- while ((args = strtok (NULL, ",")));
-}
+ /* In a series of synonyms, present the most meaningful first, so
+ that argmatch_valid be more readable. */
+ "none - no traces",
+ "scan - grammar scanner traces",
+ "parse - grammar parser traces",
+ "automaton - construction of the automaton",
+ "bitsets - use of bitsets",
+ "grammar - reading, reducing the grammar",
+ "resource - memory consumption (where available)",
+ "sets - grammar sets: firsts, nullable etc.",
+ "tools - m4 invocation",
+ "m4 - m4 traces",
+ "skeleton - skeleton postprocessing",
+ "time - time consumption",
+ "all - all of the above",
+ 0
+};
+
+static const int trace_types[] =
+{
+ trace_none,
+ trace_scan,
+ trace_parse,
+ trace_automaton,
+ trace_bitsets,
+ trace_grammar,
+ trace_resource,
+ trace_sets,
+ trace_tools,
+ trace_m4,
+ trace_skeleton,
+ trace_time,
+ trace_all
+};