Justin Viiret
d0e4a703ed
ng_literal_analysis: reserve space for fwd_edges
2017-08-21 11:10:11 +10:00
Justin Viiret
e27e76a595
ng_literal_decorated: remove unused header
2017-08-21 11:10:11 +10:00
Justin Viiret
5837f68b9a
ng_literal_decorated: pre-check for narrow reach
2017-08-21 11:10:11 +10:00
Justin Viiret
5a7d5958d1
ng_violet: skip analysis on graphs with wide reach
2017-08-21 11:10:11 +10:00
Justin Viiret
63973175ed
ng_calc_components: check tail shell too
2017-08-21 11:10:11 +10:00
Justin Viiret
f6adc4f464
ng_calc_components: skip if shell has 1 path only
2017-08-21 11:10:11 +10:00
Justin Viiret
85f7790a21
dfa: standardise 'using' instead of typedef
2017-08-21 10:40:18 +10:00
Justin Viiret
0d7d52625c
ng_haig: make StateMap an unordered_map
2017-08-21 10:40:18 +10:00
Justin Viiret
31141dd35b
determinise: use queue, improve api
...
- Use a queue rather than always building the full vector of state
sets.
- Make more use of move, emplace, reserve.
- Write directly into dstates argument.
- Return bool rather than int.
2017-08-21 10:40:18 +10:00
Justin Viiret
9aee3b22b5
ng_expr_info: more complete analysis passes
2017-06-09 10:12:03 +10:00
Justin Viiret
cfdac66404
accel: limit how far we will search in findBest
2017-05-30 14:00:45 +10:00
Matthew Barr
423569ec82
De-multiaccel
2017-05-30 13:59:00 +10:00
Matthew Barr
c510b85bf1
whitespace changes
2017-05-30 13:59:00 +10:00
Justin Viiret
923e602601
ng_equivalence: use flat_set for VertexInfoSet
2017-05-30 13:59:00 +10:00
Alex Coyte
725de51f89
determinisation: cleanups, remove shrinkStateSet
2017-05-30 13:59:00 +10:00
Justin Viiret
c17085ba35
ng_depth: modernize findLoopReachable
2017-05-30 13:59:00 +10:00
Justin Viiret
dfe1b8a2af
ng_depth: rename calcDepth functions, return vec
2017-05-30 13:59:00 +10:00
Justin Viiret
4cc998e4ab
ng_limex_accel: fix broken termination condition
2017-05-30 13:49:49 +10:00
Justin Viiret
c0d7960954
ng_limex_accel: compile time speedups, tidy up
2017-05-30 13:48:38 +10:00
Justin Viiret
63fe84c3f1
bytecode_ptr: add make_zeroed_bytecode_ptr
...
Rather than always zeroing memory.
2017-04-26 15:19:36 +10:00
Justin Viiret
a197074c5d
nfa: switch to using bytecode_ptr<NFA>
2017-04-26 15:19:36 +10:00
Justin Viiret
cf82924a39
depth: make constructor explicit
2017-04-26 15:19:19 +10:00
Justin Viiret
1ef87c43ee
noncopyable: switch over from boost
2017-04-26 15:18:26 +10:00
Justin Viiret
a871f70c25
ng_extparam: split up work and do per-comp reduce
...
This change breaks extparam processing up into:
- propagateExtendedParams: propagates min_length, min_offset and
max_offset into the reports on the graph
- reduceExtendedParams: runs graph reductions based on extparams
Then, we apply the reduce pass to the whole graph, and later as well to
each component after calc_components.
2017-04-26 15:18:22 +10:00
Justin Viiret
1200f33116
ng_region: no need to copy enters
2017-04-26 15:18:13 +10:00
Justin Viiret
699ab4190a
ng_region: clean up and modernise
2017-04-26 15:18:13 +10:00
Justin Viiret
ca22edc9d3
ng_region: don't realloc exits
2017-04-26 15:18:13 +10:00
Justin Viiret
d63fdcd860
ng_region: simplify checkAndAddExitCandidate
2017-04-26 15:18:13 +10:00
Justin Viiret
7396c93990
ng_region: clean up refineExits
2017-04-26 15:18:13 +10:00
Justin Viiret
8823a8fbfd
ng_region: use flat_sets in exit_info
2017-04-26 15:18:13 +10:00
Justin Viiret
546091f819
ng_calc_components: filter vertices from ug
2017-04-26 15:18:13 +10:00
Justin Viiret
4b3ff085d3
ng_undirected: avoid parallel edge at construction
...
(Rather than using setS for out edges)
2017-04-26 15:18:13 +10:00
Justin Viiret
9724f8c3cc
ng_undirected: modernize code
2017-04-26 15:18:13 +10:00
Justin Viiret
560e522457
ng_calc_components: add Grey box control
2017-04-26 15:18:13 +10:00
Justin Viiret
ba867ebaff
ng_calc_components: rework to move graphs
...
Rather than cloning graphs for output, rework calc components so that it
moves them.
2017-04-26 15:18:13 +10:00
Justin Viiret
5dfae12a62
ng: split NGWrapper into NGHolder, ExpressionInfo
...
We now use NGHolder for all graph information, while other expression
properties (report, flag information, etc) go in new class
ExpressionInfo.
2017-04-26 15:18:09 +10:00
Justin Viiret
8a6b38a9b5
ng_dominators: use a vector for doms internally
2017-04-26 15:17:11 +10:00
Justin Viiret
533fcf383d
ng_fuzzy: apply a resource limit to vertex count
2017-04-26 15:16:27 +10:00
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