Justin Viiret
cfa63a7096
stream: simplify do_rebuild call site
2017-04-26 14:46:49 +10:00
Justin Viiret
76f72b6ab4
rose: use program offsets directly in lit tables
2017-04-26 14:46:48 +10:00
Justin Viiret
ac858cd47c
rose: build a separate delay rebuild matcher
2017-04-26 14:46:48 +10:00
Justin Viiret
5706acf5c0
role aliasing: bail if new graph is not implementable
2017-04-26 14:46:46 +10:00
Justin Viiret
1fad822735
violet: use bitset to speed up poisonFromSuccessor
2017-04-26 14:46:42 +10:00
Alex Coyte
bbd64f98ae
allow streams to marked as exhausted in more cases
...
At stream boundaries, we can mark streams as exhausted if there are no
groups active and there are no other ways to report matches. This allows us
to stop maintaining the history buffer on subsequent stream writes.
Previously, streams were only marked as exhausted if a pure highlander case
reported all patterns or the outfix in a sole outfix case died.
2017-04-26 14:44:53 +10:00
Alex Coyte
fbaa0a1b25
make expected too large patterns even larger
2017-04-26 14:44:49 +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
d89cf2f699
tidy
2017-04-26 14:44:29 +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
9d35e2ad36
allow outfixes to be converted to prefixes of the eod event literal
2017-04-26 14:44:03 +10:00
Alex Coyte
512c049493
shift early_dfa construction earlier
2017-04-26 14:44:03 +10:00
Alex Coyte
caa46201f0
add information on the runtime impl to rose.txt
2017-04-26 14:44:03 +10:00
Alex Coyte
8af4850d85
remove 'fast teddy' models
2017-04-26 14:43:43 +10:00
Justin Viiret
05b5265aff
fdr: remove dead code to do with link structures
2017-04-26 14:43:43 +10:00
Matthew Barr
2bb0295c50
PCRE version updated to 8.40
2017-04-26 14:43:28 +10:00
Justin Viiret
c6b2563df6
rose: delete literal_info requires_explode flag
2017-04-26 14:43:28 +10:00
Justin Viiret
f964801923
rose: explode mixed-case literals early
2017-04-26 14:43:28 +10:00
Wang, Xiang W
df7bc22ae0
fdr: remove confirm split and pull-back
2017-04-26 14:43:09 +10:00
Justin Viiret
7c2627f2c2
flat_set/map: make erase() take const_iterator
2017-04-26 14:41:30 +10:00
Justin Viiret
1db7f30296
flat_base: move swap()
2017-04-26 14:41:30 +10:00
Justin Viiret
f8166fac25
flat_base: take more common operations
2017-04-26 14:41:30 +10:00
Justin Viiret
a38ac6a52f
flat_base: take more common operations
2017-04-26 14:41:30 +10:00
Justin Viiret
adfb9fe3f9
flat_set: move comp/data helpers to base
2017-04-26 14:41:30 +10:00
Justin Viiret
3fb5a3702e
flat_set/map: use boost::totally_ordered
2017-04-26 14:41:30 +10:00
Justin Viiret
f520599ab7
flat_map: add value_comp()
2017-04-26 14:41:30 +10:00
Justin Viiret
e37fdb240a
flat_set/map: add hash_value tests
2017-04-26 14:41:30 +10:00
Justin Viiret
27adea2224
flat_map: small doc fix
2017-04-26 14:41:30 +10:00
Justin Viiret
a55c03d1f4
flat_set/map: back with small_vector
2017-04-26 14:41:30 +10:00
Justin Viiret
5f60812c9b
flat_set: cheesy tuple-based ebo
2017-04-26 14:41:30 +10:00
Justin Viiret
843ead266f
flat_set: modernize iter_wrapper ctors
2017-04-26 14:41:30 +10:00
Justin Viiret
f307956584
rose: do not combine fragments which squash groups
2017-04-26 14:41:30 +10:00
Justin Viiret
c31c1c366e
filterLits: better debug output
2017-04-26 14:41:30 +10:00
Justin Viiret
988ea6b4e1
rose: role aliasing improvements
...
These changes improve the performance of the role aliasing passes on
very large cases and fix a couple of small errors in the left and right
merge passes as well.
2017-04-26 14:41:30 +10:00
Justin Viiret
a55bbe657c
fdr: remove clamp on confirm size
2017-04-26 14:41:30 +10:00
Justin Viiret
12edb07f6e
fdr_compile: remove dead var
2017-04-26 14:41:29 +10:00
Justin Viiret
1584da9025
rose: don't accel noodle engines
2017-04-26 14:41:29 +10:00
Justin Viiret
68a35ff3b8
rose: give longer literals to accel analysis
2017-04-26 14:41:29 +10:00
Justin Viiret
2fda8c0b20
hwlm: move accel from hwlm build to rose
2017-04-26 14:41:29 +10:00
Justin Viiret
7984b26b14
fdr: rely on fixed size confirm structures
2017-04-26 14:41:29 +10:00
Justin Viiret
1b36594bda
fdr: simplify confirm for 8-byte fragments
2017-04-26 14:41:29 +10:00
Justin Viiret
abcac24b47
rose: add more program dump code
2017-04-26 14:41:29 +10:00
Justin Viiret
eb14792a63
rose: group final ids by fragment
2017-04-26 14:41:29 +10:00
Justin Viiret
07a6b6510c
rose/hwlm: limit literals to eight bytes
...
Rework HWLM to work over literals of eight bytes ("medium length"),
doing confirm in the Rose interpreter.
2017-04-26 14:41:29 +10:00
Justin Viiret
5c9c540424
rose: fix up comments referring to CHECK_LITERAL
...
This instruction is now called CHECK_LONG_LIT.
2017-04-26 14:41:29 +10:00