smallwrite: bfs ordering, refine daddy selection

This commit is contained in:
Justin Viiret
2017-04-11 13:56:51 +10:00
committed by Matthew Barr
parent 3b3f6b739c
commit 10f52346ca
2 changed files with 18 additions and 3 deletions

View File

@@ -452,6 +452,13 @@ void buildAutomaton(LitTrie &trie,
ACVisitor ac_vis(trie, failure_map, ordering);
boost::breadth_first_search(trie, trie.root, visitor(ac_vis));
// Renumber with BFS ordering, which is assumed by other DFA construction
// code (i.e. Sherman state computation).
size_t idx = 0;
for (auto v : ordering) {
trie[v].index = idx++;
}
// Compute missing edges from failure map.
for (auto v : ordering) {
DEBUG_PRINTF("vertex %zu\n", trie[v].index);