mirror of
https://github.com/VectorCamp/vectorscan.git
synced 2025-06-28 16:41:01 +03:00
limex_dump: use StdioFile, tidy
This commit is contained in:
parent
80cf4bd9a2
commit
0b40e96385
@ -487,25 +487,24 @@ void dumpLimDotInfo(const limex_type *limex, u32 state, FILE *f) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
template<typename limex_type>
|
||||||
|
static
|
||||||
|
void dumpLimexDot(const NFA *nfa, const limex_type *limex, FILE *f) {
|
||||||
|
dumpDotPreamble(f);
|
||||||
|
u32 state_count = nfa->nPositions;
|
||||||
|
dumpVertexDotInfo(limex, state_count, f, limex_labeller<limex_type>(limex));
|
||||||
|
for (u32 i = 0; i < state_count; i++) {
|
||||||
|
dumpLimDotInfo(limex, i, f);
|
||||||
|
dumpExDotInfo(limex, i, f);
|
||||||
|
}
|
||||||
|
dumpDotTrailer(f);
|
||||||
|
}
|
||||||
|
|
||||||
#define LIMEX_DUMP_FN(size) \
|
#define LIMEX_DUMP_FN(size) \
|
||||||
void nfaExecLimEx##size##_dump(const NFA *nfa, const string &base) { \
|
void nfaExecLimEx##size##_dump(const NFA *nfa, const string &base) { \
|
||||||
auto limex = (const LimExNFA##size *)getImplNfa(nfa); \
|
auto limex = (const LimExNFA##size *)getImplNfa(nfa); \
|
||||||
\
|
dumpLimexText(limex, StdioFile(base + ".txt", "w")); \
|
||||||
FILE *f = fopen_or_throw((base + ".txt").c_str(), "w"); \
|
dumpLimexDot(nfa, limex, StdioFile(base + ".dot", "w")); \
|
||||||
dumpLimexText(limex, f); \
|
|
||||||
fclose(f); \
|
|
||||||
\
|
|
||||||
f = fopen_or_throw((base + ".dot").c_str(), "w"); \
|
|
||||||
dumpDotPreamble(f); \
|
|
||||||
u32 state_count = nfa->nPositions; \
|
|
||||||
dumpVertexDotInfo(limex, state_count, f, \
|
|
||||||
limex_labeller<LimExNFA##size>(limex)); \
|
|
||||||
for (u32 i = 0; i < state_count; i++) { \
|
|
||||||
dumpLimDotInfo(limex, i, f); \
|
|
||||||
dumpExDotInfo(limex, i, f); \
|
|
||||||
} \
|
|
||||||
dumpDotTrailer(f); \
|
|
||||||
fclose(f); \
|
|
||||||
}
|
}
|
||||||
|
|
||||||
LIMEX_DUMP_FN(32)
|
LIMEX_DUMP_FN(32)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user