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
Justin Viiret
55c2d20e2c
rose: use dumpString for debug output
2016-08-10 15:06:22 +10:00
Justin Viiret
de543bec24
ng_violet: use dumpString for debug output
2016-08-10 15:06:05 +10:00
Justin Viiret
4ce268af47
ng: ensure that only match states have reports
...
Ensure (and assert) that vertices without an edge to {accept, acceptEod}
do not have reports set.
2016-08-10 15:05:23 +10:00
Alex Coyte
34289eb3b4
violet: 32bit fix
2016-08-10 15:01:28 +10:00
Alex Coyte
5c5ec905cc
violet: initial implementation
2016-08-10 15:01:08 +10:00
Justin Viiret
9eb349a343
rose: expose smwr builder, tidy up engine build
2016-08-10 14:59:10 +10:00
Alex Coyte
691b08d170
use NGHolder::foo in favour of NFAGraph::foo
2016-08-10 14:52:56 +10:00
Alex Coyte
f166bc5658
allow some prefixes that may squash the literal match to run eagerly
2016-07-08 11:01:34 +10:00
Justin Viiret
9dddb4efc3
ng_equivalence: reduce compile time on large cases
2016-07-08 10:47:33 +10:00
Alex Coyte
0548a6d995
use edge index to avoid assoc property maps
2016-07-08 10:47:33 +10:00
Alex Coyte
cb7067f59d
Prevent trying to build smallwrite engine for large cases
2016-07-08 10:46:46 +10:00
Alex Coyte
b097cb1b53
use the correct way to refer to void *
2016-07-08 10:45:06 +10:00
Matthew Barr
0e8867b393
Combine struct elements to avoid inheritance
...
The multiple inheritance here was slightly overkill, and it also appears to
trigger a MSVC bug when writing through the pointer to member.
2016-05-18 16:28:44 +10:00
Justin Viiret
75195f5f2e
ng_mcclellan: move logic into base class
...
Move all of the Automaton logic into Automaton_Base, which is templated
on its StateSet/StateMap types.
2016-05-18 16:22:09 +10:00
Justin Viiret
ea7197571a
ng_haig: move logic into base class
...
Move all of the Automaton logic into Automaton_Base, which is templated
on its StateSet/StateMap types.
2016-05-18 16:22:06 +10:00
Justin Viiret
c101beb541
castle, lbr: native report remap
2016-05-18 16:21:36 +10:00
Justin Viiret
1f41a921f2
mcclellan, gough: native report remapping
2016-05-18 16:20:45 +10:00
Justin Viiret
611579511c
rose: remap reports to program offsets
2016-05-18 16:20:42 +10:00
Justin Viiret
84daf1fc1a
ng_limex_accel: delete unused DAccelScheme ctor
2016-04-20 13:34:57 +10:00
Justin Viiret
36150bbc19
Rose: replace internal_report with program
...
Replace the use of the internal_report structure (for reports from
engines, MPV etc) with the Rose program interpreter.
SOM processing was reworked to use a new som_operation structure that is
embedded in the appropriate instructions.
2016-04-20 13:34:57 +10:00
Alex Coyte
ff721ed8e4
unify some accel code/structures between limex and mcclellan
2016-04-20 13:34:56 +10:00
Alex Coyte
850636dbd6
more efficent accel path discovery
2016-04-20 13:34:56 +10:00
Alex Coyte
ed3ef5b997
raise the limit of strings in double shufti
2016-04-20 13:34:56 +10:00
Alex Coyte
b4727cf1ea
masked version of dverm
2016-04-20 13:34:56 +10:00
Alex Coyte
89d7728f77
refactoring of double byte offset accel to use paths and add to mcclellan
2016-04-20 13:34:56 +10:00
Alex Coyte
f53c093baa
simple offset accel for mcclellan start state
2016-04-20 13:34:56 +10:00
Alex Coyte
956b86e97a
move MultibyteAccelInfo to accelcompile.h
2016-04-20 13:34:56 +10:00