18template<>
struct std::formatter<
automaton::DFA> : fe::ostream_formatter {};
19template<>
struct std::formatter<
automaton::NFA> : fe::ostream_formatter {};
29 const Def* new_app = def;
31 if (
auto app = def->isa<
App>()) {
32 auto callee = app->callee();
36 const auto n = app->arg();
38 DLOG(
"nfa: {}", *nfa);
41 DLOG(
"dfa: {}", *dfa);
static auto isa(const Def *def)
const Def * rewrite(const Def *) override
const mim::Def * dfa2matcher(mim::World &, const automaton::DFA &, const mim::Def *)
You can dl::get this function.
#define DLOG(...)
Vaporizes to nothingness in Debug build.
std::unique_ptr< DFA > minimize_dfa(const DFA &dfa)
std::unique_ptr< DFA > nfa2dfa(const NFA &nfa)
const Def * op_cps2ds_dep(const Def *k)
std::unique_ptr< automaton::NFA > regex2nfa(const Def *regex)