src/main/java/com/basistech/tclre/Nfa.java
void dumpnfa() {
        if (!LOG.isDebugEnabled() || !IS_DEBUG) {
            return;
        }

        LOG.debug("dump nfa");

        StringBuilder sb = new StringBuilder();
        sb.append(String.format("pre %d, post %d init %d final %d", pre.no, post.no, init.no, finalState.no));

        if (bos[0] != Constants.COLORLESS) {
            sb.append(String.format(", bos [%d]", bos[0]));
        }
        if (bos[1] != Constants.COLORLESS) {
            sb.append(String.format(", bol [%d]", bos[1]));
        }
        if (eos[0] != Constants.COLORLESS) {
            sb.append(String.format(", eos [%d]", eos[0]));
        }
        if (eos[1] != Constants.COLORLESS) {
            sb.append(String.format(", eol [%d]", eos[1]));
        }
        LOG.debug(sb.toString());

        for (State s = states; s != null; s = s.next) {
            dumpstate(s);
        }
        if (parent == null) {
            cm.dumpcolors();
        }
    }
void dumpnfa() {
        if (!LOG.isDebugEnabled() || !IS_DEBUG) {
            return;
        }

        LOG.debug("dump nfa");

        StringBuilder sb = new StringBuilder();
        sb.append(String.format("pre %d, post %d init %d final %d", pre.no, post.no, init.no, finalState.no));

        if (bos[0] != Constants.COLORLESS) {
            sb.append(String.format(", bos [%d]", bos[0]));
        }
        if (bos[1] != Constants.COLORLESS) {
            sb.append(String.format(", bol [%d]", bos[1]));
        }
        if (eos[0] != Constants.COLORLESS) {
            sb.append(String.format(", eos [%d]", eos[0]));
        }
        if (eos[1] != Constants.COLORLESS) {
            sb.append(String.format(", eol [%d]", eos[1]));
        }
        LOG.debug(sb.toString());

        for (State s = states; s != null; s = s.next) {
            dumpstate(s);
        }
        if (parent == null) {
            cm.dumpcolors();
        }
    }
dumpnfa - dump an NFA in human-readable form