From: Ulya Trofimovich <skvadrik@gmail.com> Date: Thu, 3 Jan 2019 20:26:36 +0000 (+0000) Subject: Disable --dump-* options in non-debug mode. X-Git-Tag: 1.2~248 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=ecc4ce65590e96e9e68f70c7b42453b91013a270;p=re2c Disable --dump-* options in non-debug mode. --- diff --git a/re2c/src/compile.cc b/re2c/src/compile.cc index 2c8fcb01..bac17719 100644 --- a/re2c/src/compile.cc +++ b/re2c/src/compile.cc @@ -63,10 +63,10 @@ static smart_ptr<DFA> ast_to_dfa(const spec_t &spec, Output &output) 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 @@ -82,12 +82,12 @@ static smart_ptr<DFA> ast_to_dfa(const spec_t &spec, Output &output) // 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; @@ -102,7 +102,7 @@ static smart_ptr<DFA> ast_to_dfa(const spec_t &spec, Output &output) // 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); diff --git a/re2c/src/dfa/dump.h b/re2c/src/dfa/dump.h index b63d515d..8d39c815 100644 --- a/re2c/src/dfa/dump.h +++ b/re2c/src/dfa/dump.h @@ -35,19 +35,31 @@ void dump_tcmd(const tcmd_t *p); #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 &);