void determinization(const nfa_t &nfa, dfa_t &dfa, const opt_t *opts, Msg &msg,
    const std::string &cond)
{
    if (opts->posix_semantics) {
        pdetctx_t ctx(opts, msg, cond, nfa, dfa);
        determinization(ctx);
    }
    else {
        ldetctx_t ctx(opts, msg, cond, nfa, dfa);
        determinization(ctx);
    }
}
void determinization(const nfa_t &nfa, dfa_t &dfa, const opt_t *opts, Msg &msg,
    const std::string &cond)
{
    if (opts->posix_semantics) {
        pdetctx_t ctx(opts, msg, cond, nfa, dfa);
        determinization(ctx);
    }
    else {
        ldetctx_t ctx(opts, msg, cond, nfa, dfa);
        determinization(ctx);
    }
}