diff --git a/src/nfagraph/ng_limex.cpp b/src/nfagraph/ng_limex.cpp index 5f782460..5e5a18d9 100644 --- a/src/nfagraph/ng_limex.cpp +++ b/src/nfagraph/ng_limex.cpp @@ -177,7 +177,12 @@ NFAVertex makeTopStartVertex(NGHolder &g, const flat_set &tops, NFAVertex u = add_vertex(g[g.start], g); CharReach top_cr = calcTopVertexReach(tops, top_reach); g[u].char_reach = top_cr; - for (auto v : succs) { + + // Add edges in vertex index order, for determinism. + vector ordered_succs(begin(succs), end(succs)); + sort(begin(ordered_succs), end(ordered_succs), make_index_ordering(g)); + + for (auto v : ordered_succs) { if (v == g.accept || v == g.acceptEod) { reporter = true; }