clear_in_edges(g.accept, g);
clearReports(g);
- for (auto v : pred) {
+ for (auto v : predv) {
- NFAEdge e = add_edge(v, g.accept, g);
+ NFAEdge e = add_edge(v, g.accept, g).first;
g[v].reports.insert(0);
if (is_triggered(g) && v == g.start) {
g[e].tops.insert(DEFAULT_TOP);
prev = curr;
}
- for (auto v : preds) {
+ for (auto v : lpreds) {
- NFAEdge e = add_edge_if_not_present(v, prev, g);
+ NFAEdge e = add_edge_if_not_present(v, prev, g).first;
if (v == g.start && is_triggered(g)) {
g[e].tops.insert(DEFAULT_TOP);
}
h[u].reports.insert(reports.begin(), reports.end());
}
h[u].char_reach = mask[m_idx--];
- add_edge(u, succ, h);
- succ = u;
+ add_edge(u, asucc, h);
+ asucc = u;
}
- NFAEdge e = add_edge(h.start, succ, h).first;
- NFAEdge e = add_edge(h.start, asucc, h);
++ NFAEdge e = add_edge(h.start, asucc, h).first;
h[e].tops.insert(DEFAULT_TOP);
return rhs;
DEBUG_PRINTF("added %u literal chars back, new lag %u\n", lag_adjust,
g[v].left.lag);
}
- left_id leftfix = left_id(left_id(g[succs[0]].left));
- left_id leftfix = g[vsuccs[0]].left;
++ left_id leftfix = left_id(left_id(g[vsuccs[0]].left));
if (leftfix.graph()) {
assert(leftfix.graph()->kind == NFA_PREFIX