636 Commits

Author SHA1 Message Date
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
Justin Viiret
5061b76901 rose: mark RoseInstrCheckLongLit ctor explit 2017-04-26 14:41:29 +10:00
Justin Viiret
8f1b3c89fa rose: remove no-longer-used convertBadLeaves pass 2017-04-26 14:41:29 +10:00