continue;
}
+ if (g[e].dfa) {
+ /* if we removed any more states, we would need to rebuild the
+ * the dfa which can be time consuming. */
+ continue;
+ }
+
assert(!g[t].delay);
const ue2_literal &lit = g[t].s;
/* already removed redundant parts of literals */
return;
}
+
+ assert(!ig[e].dfa);
}
map<ue2_literal, pair<shared_ptr<NGHolder>, u32> > graphs; /* + delay */
}
assert(!g[t].delay);
+ if (g[e].dfa) {
+ /* if we removed any more states, we would need to rebuild the
+ * the dfa which can be time consuming. */
+ continue;
+ }
NGHolder *h = g[e].graph.get();
if (!contains(infixes, h)) {
}
DEBUG_PRINTF("trying to netflow\n");
- bool rv = doNetflowCut(h, nullptr, vg, edges, false, cc.grey);
+ bool rv = doNetflowCut(h, nullptr, vg, edges, false, cc.grey);
DEBUG_PRINTF("done\n");
return rv;
map<const NGHolder *, vector<RoseInEdge> > edges_by_graph;
vector<NGHolder *> graphs;
for (const RoseInEdge &ve : edges_range(vg)) {
- if (vg[ve].graph) {
+ if (vg[ve].graph && !vg[ve].dfa) {
NGHolder *h = vg[ve].graph.get();
if (!contains(edges_by_graph, h)) {
graphs.push_back(h);
return false;
}
changed = true;
- good.insert(h);
continue;
}