Alex Coyte
e58786e192
Use add_edge_if_not_present in somMayGoBackwards()
...
As somMayGoBackwards() operates on a copy of the graph where virtual
starts have been collapsed on to startDs, we need to be careful not to
create parallel edges.
2016-03-01 11:09:49 +11:00
Justin Viiret
8c09d054c9
Add per-top findMinWidth etc for NFA graphs
2015-12-07 09:38:32 +11:00
Justin Viiret
abbd548899
ng_execute: update interface to use flat_set
...
This changes all the execute_graph() interfaces so that instead of
mutating a std::set of vertices, they accept an initial flat_set of
states and return a resultant flat_set of states after execution.
(Note that internally execute_graph() still uses bitsets)
This is both faster and more flexible.
2015-11-18 15:27:17 +11:00
Justin Viiret
2a2576e907
Introduce copy_bytes for writing into bytecode
...
Protects memcpy from nullptr sources, which triggers failures in GCC's
UB sanitizer.
2015-11-18 15:26:16 +11:00
Justin Viiret
5805ac193c
NGWrapper: mark dtor with override
2015-11-10 14:36:38 +11:00
Alex Coyte
89660e30b6
raw_som_dfa: initialize members in constructor
2015-11-10 14:36:14 +11:00
Alex Coyte
510e999738
make Automaton_Base ctor protected
...
Makes explicit that Automaton_Base is intended to be used as a only base class
2015-11-10 14:25:05 +11:00
Alex Coyte
7b6ad2a01a
doComponent: make it obvious that a is never null
2015-11-10 14:25:05 +11:00
Justin Viiret
da2386585d
Init filter members to nullptr
...
Note that BGL filters must be default-constructible.
2015-11-10 14:25:04 +11:00
Alex Coyte
629be08683
reduce memory use in ng_small_literal_set/ng_literal_decorated
...
These passes kept temporary strings/paths alive longer than was needed which
lead to high memory usage during these passes in pathological cases.
2015-10-30 11:28:37 +11:00
Matthew Barr
904e436f11
Initial commit of Hyperscan
2015-10-20 09:13:35 +11:00