Justin Viiret
1eae677d73
rose_build_impl: fix header guard
2017-04-26 15:04:30 +10:00
Justin Viiret
893674d3c7
rose_build_anchored: tbi->build
2017-04-26 15:04:30 +10:00
Justin Viiret
821a1b81e6
rose: only dump delay rebuild table if streaming
2017-04-26 14:58:46 +10:00
Justin Viiret
d43e9d838f
rose: delete dead code for cloneVertex
2017-04-26 14:56:49 +10:00
Justin Viiret
c4bfe0449c
lookaround: reduce compile time for trimLiterals
2017-04-26 14:56:49 +10:00
Justin Viiret
8ee8f5f236
safety assertions for delayed rebuild
2017-04-26 14:56:49 +10:00
Justin Viiret
a4af801dd1
rose: define invalid value for program offset
2017-04-26 14:56:49 +10:00
Justin Viiret
ebe12797e6
assert program offsets are non-zero
2017-04-26 14:56:49 +10:00
Justin Viiret
7bdb327203
rose: use final_ids less in program construction
2017-04-26 14:56:48 +10:00
Justin Viiret
a83b7cb348
move final_id_to_literal into build_context
2017-04-26 14:56:48 +10:00
Justin Viiret
a0260c0362
rose: do fragment group assignment earlier
2017-04-26 14:56:48 +10:00
Justin Viiret
6bf35cb637
rose: make groupByFragment local
2017-04-26 14:49:51 +10:00
Justin Viiret
a5b3bc814f
rose: delete RoseEngine::literalCount
2017-04-26 14:49:51 +10:00
Justin Viiret
9550058e75
remove lit program tables from bytecode
2017-04-26 14:49:51 +10:00
Justin Viiret
bd3357d3ac
rose: dump lit programs from frag map
2017-04-26 14:49:51 +10:00
Justin Viiret
c6bf1919d0
rose: merge all dump code into rose_build_dump.cpp
2017-04-26 14:49:35 +10:00
Justin Viiret
c2cac5009a
tidy up args to builders
2017-04-26 14:46:49 +10:00
Justin Viiret
3ae2fb417e
move final_to_frag_map into RoseBuildImpl (for dump code)
2017-04-26 14:46:49 +10:00
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
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
c32d7d51d9
remove ng_rose
2017-04-26 14:44:49 +10:00
Alex Coyte
d89cf2f699
tidy
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
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
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
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
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
Matthew Barr
bc2f336d9d
Work around for deficiency in C++11/14/17 standard
...
As explained to us by STL at Microsoft (the author of their
vector), there is a hole in the standard wrt the vector copy
constructor, which always exists even if it won't compile.
2017-04-26 14:41:29 +10:00
Justin Viiret
68bdc800fc
dump: render literals as regexes (with comments)
2017-04-26 14:41:29 +10:00
Alex Coyte
f9324febde
Ensure the queue structure is initialised in roseEnginesEod().
2017-03-01 13:05:10 +11:00
Alex Coyte
734eb2ce62
we can only trim lookarounds based on information common to all literals
2017-01-17 11:39:17 +11:00
Matthew Barr
2214296b7f
Convert compile-time code to not require SIMD
2016-12-14 15:29:01 +11:00
Justin Viiret
e271781d95
multibit, fatbit: make _size build-time only
...
This commit makes mmbit_size() and fatbit_size compile-time only, and
adds a resource limit for very large multibits.
2016-12-14 15:28:54 +11:00
Alex Coyte
e51b6d23b9
introduce Sheng-McClellan hybrid
2016-12-14 15:27:18 +11:00