100 Commits

Author SHA1 Message Date
Justin Viiret
5edecbf539 ng: check can_never_match before validate_fuzzy 2017-04-26 15:16:03 +10:00
Matthew Barr
c50a931bb4 Use std::move explicitly to avoid ambiguity with boost 2017-04-26 15:16:03 +10:00
Anatoly Burakov
2de6706df2 Adding support for compiling approximate matching patterns
Adds new "edit_distance" extparam
2017-04-26 15:11:39 +10:00
Alex Coyte
fddcdbb129 determinisation: use unordered_map to hold state set -> id mapping 2017-04-26 14:59:22 +10:00
Justin Viiret
d48a11cbbd ng_literal_analysis: refactor splitOffLeadingLiteral 2017-04-26 14:56:49 +10:00
Justin Viiret
7acd8dcac8 dead code: remove splitOffAnchoredLeadingLiteral 2017-04-26 14:56:49 +10:00
Justin Viiret
1fad822735 violet: use bitset to speed up poisonFromSuccessor 2017-04-26 14:46:42 +10:00
Alex Coyte
d402ef9b28 violet: heuristic tweaks for ensuring implementablity 2017-04-26 14:44:49 +10:00
Alex Coyte
c32d7d51d9 remove ng_rose 2017-04-26 14:44:49 +10:00
Alex Coyte
2a1202e1e6 add checkViolet and switch SOM path accross to use violet 2017-04-26 14:44:49 +10:00
Alex Coyte
cde6ebf516 violet: decompose further for implementability 2017-04-26 14:44:49 +10:00
Alex Coyte
a43116c6d4 remove util functions from ng_rose. 2017-04-26 14:44:29 +10:00
Alex Coyte
8741759c3a refactor restoreTrailingLiteral use 2017-04-26 14:44:29 +10:00
Alex Coyte
7767651b59 shift all early_dfa creation logic to ng_violet/ng_rose 2017-04-26 14:44:29 +10:00
Alex Coyte
512c049493 shift early_dfa construction earlier 2017-04-26 14:44:03 +10:00
Justin Viiret
e37fdb240a flat_set/map: add hash_value tests 2017-04-26 14:41:30 +10:00
Alex Coyte
35716c70ef ensure that we add default top when creating a new infix graph 2017-01-17 11:39:04 +11:00
Matthew Barr
2214296b7f Convert compile-time code to not require SIMD 2016-12-14 15:29:01 +11:00
Alex Coyte
8b7b06d2a4 calcDepthFromSource: only take one copy of the graph 2016-12-14 15:28:47 +11:00
Alex Coyte
e51b6d23b9 introduce Sheng-McClellan hybrid 2016-12-14 15:27:18 +11:00
Justin Viiret
06cde4c94d ng_literal_analysis: use ue2_graph
This reduces compile time ~10% on a number of large cases.
2016-12-02 11:35:56 +11:00
Justin Viiret
ef99ae108f rose_build_merge: correctly merge NFA outfixes
We were not doing our bookkeeping properly for merges where the number
of NFAs was greater than the batch size of 200.
2016-12-02 11:34:52 +11:00
Alex Coyte
eb7759361d Rework the creation of startDs edges in fillHolderForLockCheck().
This prevents clearing of edges created for virtual starts in late regions.
2016-12-02 11:34:41 +11:00
Alex Coyte
71ff480b77 nfa_api: remove subtype from dispatch 2016-12-02 11:32:28 +11:00
Alex Coyte
530d84c6f3 allow edge_descriptors to be created from pair<edge_descriptor, bool> 2016-12-02 11:32:20 +11:00
Alex Coyte
e1e9010cac Introduce custom adjacency-list based graph 2016-12-02 11:31:33 +11:00
Alex Coyte
2341fe7baa use stable_sort in analysis from 47f53f6; missed review comment 2016-12-02 11:29:30 +11:00
Justin Viiret
21a1b47637 ng_limex: add edges in deterministic ordering 2016-12-02 11:26:33 +11:00
Justin Viiret
e108cb841f ng_restructuring: wire start to tops in idx order 2016-12-02 11:25:00 +11:00
Justin Viiret
1a24b0b4db ng_equivalence: don't use ptr_vector
Switch over ptr_vector<T> to vector<unique_ptr<T>>. This works around
some issues we were seeing with MSVC builds, where the contents of the
ptr_vector were being destroyed when it was returned.
2016-12-02 11:24:57 +11:00
Alex Coyte
779bebfd12 fix for analysis in previous commit
Properly distinguish between vertices that will get set after the cyclic
from vertices that may get set alongside the cyclic
2016-12-02 11:24:47 +11:00
Alex Coyte
47f53f63a7 simple pass to pick up paths redundant with those from cyclic's succs 2016-12-02 11:24:30 +11:00
Alex Coyte
924089d95e properly consider report behaviour when finding start verts 2016-12-02 11:22:56 +11:00
Alex Coyte
592ce06eeb Create combo tops for trigger limexes 2016-12-02 11:22:23 +11:00
Matthew Barr
be8bd41ec4 Merge master into develop 2016-12-02 11:21:29 +11:00
Matthew Barr
21b44fcbc3 Add the missing degree() in Boost 1.62
This is a workaround that fixes issue #39
2016-11-15 09:52:37 +11:00
Alex Coyte
445cf987a8 remove unused includes 2016-10-28 14:52:56 +11:00
Alex Coyte
648a3c4824 UE-3025: There is no need to prune tops from non-triggered graphs 2016-10-28 14:52:01 +11:00
Alex Coyte
c94899dd44 allow sets of tops on edges 2016-10-28 14:51:46 +11:00
Alex Coyte
bcf40c5136 Limex: don't not build accel schemes for impossible state sets 2016-10-28 14:44:12 +11:00
Matthew Barr
0a1491d907 Remove problematic debug output 2016-08-22 16:04:44 +10:00
Anatoly Burakov
6331da4e29 dfa: adding new Sheng engine
A new shuffle-based DFA engine, complete with acceleration and smallwrite.
2016-08-10 15:10:46 +10:00
Justin Viiret
2aaa292aae dump: offsets for SOM_REL, SOM_ABS reports 2016-08-10 15:09:12 +10:00
Justin Viiret
c58d9d04a1 ng_violet: fix non-det in lookForCleanEarlySplits 2016-08-10 15:07:45 +10:00
Justin Viiret
d119dd95fd ng_violet: trivial typo fixes 2016-08-10 15:07:45 +10:00
Justin Viiret
f3ccbf19b8 ng_violet: fix non-determinism in deanchorIfNeeded 2016-08-10 15:07:45 +10:00
Justin Viiret
a8cceeeddc ng_violet: fix non-determinism in splitEdgesByCut 2016-08-10 15:07:45 +10:00
Matthew Barr
cbd115f7fe Don't shadow names 2016-08-10 15:06:57 +10:00
Justin Viiret
68ae4cc7c8 ng_violet: det. vertex ordering in splitRoseEdge 2016-08-10 15:06:43 +10:00
Justin Viiret
63528f1cd2 ng_violet: iterate in edge order 2016-08-10 15:06:43 +10:00