5859606162636465666768
} } } b.setDeterministic(false); b.reduce(); b.minimize(); return b; } @Override public String toString() {
3536373839404142434445
Set<StatePair> epsilons = new HashSet<StatePair>(); for (State s : b.getStates()) { epsilons.add(new StatePair(s, accept)); } b.addEpsilons(epsilons); b.minimize(); return b; } @Override public String toString() {
4546474849505152535455
6465666768697071727374
// boilerplate stuff result.restoreInvariant(); result.reduce(); result.determinize(); result.minimize(); return result; } @Override
4445464748495051525354
s.setAccept(true); } } b.setDeterministic(false); b.addEpsilons(epsilons); b.minimize(); return b; } @Override public String toString() {
226227228229230231232233234235236
} // apply epsilons addConstrainedEpsilons(result, epsilons); result.reduce(); result.minimize(); return result; } /**
for (State p : reachable) { epsilons.add(new StatePair(s, p)); } } a1.addEpsilons(epsilons); a1.minimize(); return a1; } @Override public String toString() {
4142434445464748495051
transitions.add(new Transition(d, dest)); } } b.setDeterministic(false); b.reduce(); b.minimize(); return b; } @Override public String toString() {
5758596061626364656667
for (Transition t : map.get(s).getTransitions()) { epsilons.add(new StatePair(s, t.getDest())); } } a1.addEpsilons(epsilons); a1.minimize(); return a1; } @Override public String toString() {