warn_nullable(re, cond);
nfa_t nfa(re);
- if (opts->dump_nfa) dump_nfa(nfa);
+ DDUMP_NFA(opts, nfa);
dfa_t dfa(nfa, opts, cond, warn);
- if (opts->dump_dfa_det) dump_dfa(dfa);
+ DDUMP_DFA_DET(opts, dfa);
// skeleton must be constructed after DFA construction
// but prior to any other DFA transformations
// try to minimize the number of tag variables
compact_and_optimize_tags(dfa, opts->optimize_tags);
- if (opts->dump_dfa_tagopt) dump_dfa(dfa);
+ DDUMP_DFA_TAGOPT(opts, dfa);
freeze_tags(dfa);
minimization(dfa, opts->dfa_minimization);
- if (opts->dump_dfa_min) dump_dfa(dfa);
+ DDUMP_DFA_MIN(opts, dfa);
// find strongly connected components and calculate argument to YYFILL
std::vector<size_t> fill;
// skeleton is constructed, do further DFA transformations
adfa->prepare(opts);
- if (opts->dump_adfa) dump_adfa(*adfa);
+ DDUMP_ADFA(opts, *adfa);
// finally gather overall DFA statistics
adfa->calc_stats(line, opts->tags);
#ifndef RE2C_DEBUG
-#define DRESET_CLSTATS(ctx)
+#define DDUMP_NFA(opts, nfa)
+#define DDUMP_DFA_RAW(opts, dfa)
+#define DDUMP_DFA_DET(opts, dfa)
+#define DDUMP_DFA_TAGOPT(opts, dfa)
+#define DDUMP_DFA_MIN(opts, dfa)
+#define DDUMP_ADFA(opts, adfa)
#define DDUMP_CLSTATS(ctx)
#define DINCCOUNT_CLSCANS(ctx)
#define DINCCOUNT_CLPREC(ctx)
#define DINCCOUNT_CLLENGTH(ctx, len)
+#define DRESET_CLSTATS(ctx)
#else // RE2C_DEBUG
-#define DRESET_CLSTATS(ctx) reset_clstats(ctx)
-#define DDUMP_CLSTATS(ctx) dump_clstats(ctx)
-#define DINCCOUNT_CLSCANS(ctx) ++ctx.dc_clstats.nscans
-#define DINCCOUNT_CLPREC(ctx) ++ctx.dc_clstats.nprec
-#define DINCCOUNT_CLLENGTH(ctx, len) ctx.dc_clstats.length += len
+#define DDUMP_NFA(opts, nfa) if (opts->dump_nfa) dump_nfa(nfa)
+#define DDUMP_DFA_RAW(opts, dfa) if (opts->dump_dfa_raw) dump_dfa(dfa)
+#define DDUMP_DFA_DET(opts, dfa) if (opts->dump_dfa_det) dump_dfa(dfa)
+#define DDUMP_DFA_TAGOPT(opts, dfa) if (opts->dump_dfa_tagopt) dump_dfa(dfa)
+#define DDUMP_DFA_MIN(opts, dfa) if (opts->dump_dfa_min) dump_dfa(dfa)
+#define DDUMP_ADFA(opts, adfa) if (opts->dump_adfa) dump_adfa(adfa)
+#define DDUMP_CLSTATS(ctx) dump_clstats(ctx)
+#define DINCCOUNT_CLSCANS(ctx) ++ctx.dc_clstats.nscans
+#define DINCCOUNT_CLPREC(ctx) ++ctx.dc_clstats.nprec
+#define DINCCOUNT_CLLENGTH(ctx, len) ctx.dc_clstats.length += len
+#define DRESET_CLSTATS(ctx) reset_clstats(ctx)
void reset_clstats(determ_context_t &);
void dump_clstats(const determ_context_t &);