Justin Viiret
cdaf705a87
rose: pick up more prefix->lookaround conversions
2016-07-08 10:57:29 +10:00
Justin Viiret
d3c56b532b
rose build: dedupe hasLastByteHistorySucc func
2016-07-08 10:57:00 +10:00
Justin Viiret
cf8e8c90ff
eod: move stream eod code to stream.c
2016-07-08 10:55:36 +10:00
Justin Viiret
d5c1280b9f
eod: tidy up, rename to roseStreamEodExec
2016-07-08 10:55:36 +10:00
Justin Viiret
66e0b77aa4
block: unify roseBlockExec and roseBlockExec_i
2016-07-08 10:55:36 +10:00
Justin Viiret
513ac11dbc
block: move matcher invocations into functions
2016-07-08 10:55:36 +10:00
Justin Viiret
a9eba12cce
rose: inline block-mode eod check
2016-07-08 10:55:36 +10:00
Justin Viiret
159c09b70e
roseEnginesEod: trust the queue structure
2016-07-08 10:55:36 +10:00
Justin Viiret
d9bd6d5dee
roseSuffixesEod: trust the queue structure
2016-07-08 10:55:36 +10:00
Justin Viiret
3e0232f0d6
eod: retire getELiteralMatcher
2016-07-08 10:55:36 +10:00
Justin Viiret
426bfc9cfb
rose_build_bytecode: clean up
2016-07-08 10:55:36 +10:00
Justin Viiret
ae157034e9
eod: tidy runtime
2016-07-08 10:55:36 +10:00
Justin Viiret
78e4332a8b
move eod iter program into general eod program
2016-07-08 10:55:36 +10:00
Justin Viiret
39461cc806
eod: move hwlm execution into MATCHER_EOD instr
2016-07-08 10:55:36 +10:00
Justin Viiret
b8f771e824
rose_build_bytecode: tidy up addPredBlocks
2016-07-08 10:55:36 +10:00
Justin Viiret
2761e0105d
eod: more suffix iteration into program
2016-07-08 10:54:07 +10:00
Justin Viiret
9669e0fe94
eod: remove forced sparse iter optimization
2016-07-08 10:54:07 +10:00
Justin Viiret
7a7dff5b70
eod: don't force sparse iter for general prog
2016-07-08 10:54:07 +10:00
Justin Viiret
02595cda1f
eod: consolidate eod anchor programs
2016-07-08 10:54:07 +10:00
Justin Viiret
7a6a476723
eod: move engine checks into ENGINES_EOD instr
2016-07-08 10:54:07 +10:00
Justin Viiret
7e3d56579b
eod: stop passing both scratch and state around
2016-07-08 10:54:07 +10:00
Justin Viiret
8e4c68e9df
rose: eagerly report EOD literal matches
...
Where possible, eagerly report a match when a literal that matches at
EOD occurs, rather than setting a state bit and waiting for EOD
processing.
2016-07-08 10:47:33 +10:00
Justin Viiret
1df4da16ad
rose: parameterise CHECK_LIT_EARLY
2016-07-08 10:47:33 +10:00
Justin Viiret
7690881f85
rose: make assignGroupsToLiterals a free function
2016-07-08 10:47:08 +10:00
Justin Viiret
89dbbe6c53
rose: make assignGroupsToRoles a free function
2016-07-08 10:47:08 +10:00
Justin Viiret
de201997b7
rose_build_groups: move findGroupSquashers
2016-07-08 10:47:07 +10:00
Justin Viiret
70ef229b2b
rose_build_groups: move getGroups, getSuccGroups
2016-07-08 10:47:07 +10:00
Justin Viiret
42419a26d2
rose_build_groups: move assignGroupsToRoles
2016-07-08 10:47:07 +10:00
Justin Viiret
2b24000b1a
rose_build_groups: move assignGroupsToLiterals
2016-07-08 10:47:07 +10:00
Justin Viiret
c2496fbf76
rose: elide SET_GROUPS when possible
2016-07-08 10:47:07 +10:00
Justin Viiret
6a6b0e5da6
rose: Do HWLM advisory masks as a complete pass
2016-07-08 10:46:57 +10:00
Justin Viiret
beec5e59df
rose: linear scan for lookaround during build
...
This allows us to reuse more lookaround entries in the bytecode.
2016-07-08 10:46:54 +10:00
Alex Coyte
b097cb1b53
use the correct way to refer to void *
2016-07-08 10:45:06 +10:00
Alex Coyte
afd378b09e
UE-2963: be more aggressive in using buildSufPQ_final()
2016-07-08 10:45:06 +10:00
Justin Viiret
6e49544558
exhaust: move functions to report.h
2016-07-08 10:45:06 +10:00
Justin Viiret
9b7eca5400
rose: dump leftfix/suffix queue indices
2016-07-08 10:44:56 +10:00
Boris Nagaev
6d87533ef0
fix add_to_engine_blob for iterator=pointer
2016-07-06 19:46:41 +03:00
Justin Viiret
614ca0accf
rose: always push CHECK_BOUNDS onto end of program
2016-06-01 10:56:57 +10:00
Justin Viiret
9826522e34
rose: fix CHECK_NOT_HANDLED placement bug
...
The CHECK_NOT_HANDLED instruction was being inserted into an already
partially-flattened program, which would result in jump offsets becoming
incorrect.
This change places it as part of the normal flow of program
construction, which avoids this issue.
2016-06-01 10:56:52 +10:00
Alex Coyte
11896dcf42
restore ability to ignore common preds for merges
...
Check for common preds was broken during refactoring in b9c5d65:
Rework literal overlap checks for merging engines
2016-05-18 16:26:22 +10:00
Justin Viiret
9e0ec02ac9
rose: assert that program offset is sane
2016-05-18 16:22:01 +10:00
Justin Viiret
ee7f31ac39
mpv: native report remapping
2016-05-18 16:22:01 +10:00
Justin Viiret
c101beb541
castle, lbr: native report remap
2016-05-18 16:21:36 +10:00
Justin Viiret
ec985a62f8
castle: add nfa kind to CastleProto
2016-05-18 16:21:03 +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
f40aa6bd40
report_manager: store report -> program mapping
2016-05-18 16:20:38 +10:00
Justin Viiret
fd7f30a5b5
Merge functions no longer need transfer function
2016-04-20 13:34:57 +10:00
Justin Viiret
319d47ae4f
Remove OutfixInfo::chained (which meant "is MPV")
2016-04-20 13:34:57 +10:00
Justin Viiret
16985ab6e5
Use a visitor for outfix engine construction
2016-04-20 13:34:57 +10:00