return true;
}
}
- // }
// Second option: a two-byte shufti (i.e. less than eight 2-byte
// literals)
- // if (depth > 1) {
for (unsigned int i = 0; i < (depth - 1); i++) {
if (depthReach[i].count() * depthReach[i+1].count()
<= DOUBLE_SHUFTI_LIMIT) {
boost::depth_first_search(c_g, visitor(backEdgeVisitor)
.root_vertex(c_g.start));
- // with be.clear right above does this ever run at all?
- //for (const auto &e : be) {
- // NFAVertex s = source(e, c_g);
- // NFAVertex t = target(e, c_g);
- // DEBUG_PRINTF("back edge %zu %zu\n", c_g[s].index, c_g[t].index);
- // if (s != t) {
- // assert(0);
- // DEBUG_PRINTF("eek big cycle\n");
- // rv = true; /* big cycle -> eek */
- // goto exit;
- // }
- //}
-
DEBUG_PRINTF("checking acyclic+selfloop graph\n");
rv = !firstMatchIsFirst(c_g);
return; /* bail - TODO: be less lazy */
}
- //vector<CharReach> rem_local_cr;
u32 ok_count = 0;
for (auto it = e.s.end() - g[v].left.lag; it != e.s.end(); ++it) {
if (!isSubsetOf(*it, cr)) {