mirror of
https://github.com/VectorCamp/vectorscan.git
synced 2025-11-16 17:31:51 +03:00
limex: implement variable shift NFA engines
Replaces the old LimEx NFA engines, which were specialised for model size and number of shifts, with a new set of engines that can handle a variable number of shifts.
This commit is contained in:
committed by
Matthew Barr
parent
cdaf705a87
commit
9d2403e8bb
@@ -51,41 +51,11 @@ extern "C"
|
||||
// Common data structures for NFAs
|
||||
|
||||
enum NFAEngineType {
|
||||
LIMEX_NFA_32_1,
|
||||
LIMEX_NFA_32_2,
|
||||
LIMEX_NFA_32_3,
|
||||
LIMEX_NFA_32_4,
|
||||
LIMEX_NFA_32_5,
|
||||
LIMEX_NFA_32_6,
|
||||
LIMEX_NFA_32_7,
|
||||
LIMEX_NFA_128_1,
|
||||
LIMEX_NFA_128_2,
|
||||
LIMEX_NFA_128_3,
|
||||
LIMEX_NFA_128_4,
|
||||
LIMEX_NFA_128_5,
|
||||
LIMEX_NFA_128_6,
|
||||
LIMEX_NFA_128_7,
|
||||
LIMEX_NFA_256_1,
|
||||
LIMEX_NFA_256_2,
|
||||
LIMEX_NFA_256_3,
|
||||
LIMEX_NFA_256_4,
|
||||
LIMEX_NFA_256_5,
|
||||
LIMEX_NFA_256_6,
|
||||
LIMEX_NFA_256_7,
|
||||
LIMEX_NFA_384_1,
|
||||
LIMEX_NFA_384_2,
|
||||
LIMEX_NFA_384_3,
|
||||
LIMEX_NFA_384_4,
|
||||
LIMEX_NFA_384_5,
|
||||
LIMEX_NFA_384_6,
|
||||
LIMEX_NFA_384_7,
|
||||
LIMEX_NFA_512_1,
|
||||
LIMEX_NFA_512_2,
|
||||
LIMEX_NFA_512_3,
|
||||
LIMEX_NFA_512_4,
|
||||
LIMEX_NFA_512_5,
|
||||
LIMEX_NFA_512_6,
|
||||
LIMEX_NFA_512_7,
|
||||
LIMEX_NFA_32,
|
||||
LIMEX_NFA_128,
|
||||
LIMEX_NFA_256,
|
||||
LIMEX_NFA_384,
|
||||
LIMEX_NFA_512,
|
||||
MCCLELLAN_NFA_8, /**< magic pseudo nfa */
|
||||
MCCLELLAN_NFA_16, /**< magic pseudo nfa */
|
||||
GOUGH_NFA_8, /**< magic pseudo nfa */
|
||||
@@ -184,41 +154,11 @@ static really_inline int isDfaType(u8 t) {
|
||||
/** \brief True if the given type (from NFA::type) is an NFA. */
|
||||
static really_inline int isNfaType(u8 t) {
|
||||
switch (t) {
|
||||
case LIMEX_NFA_32_1:
|
||||
case LIMEX_NFA_32_2:
|
||||
case LIMEX_NFA_32_3:
|
||||
case LIMEX_NFA_32_4:
|
||||
case LIMEX_NFA_32_5:
|
||||
case LIMEX_NFA_32_6:
|
||||
case LIMEX_NFA_32_7:
|
||||
case LIMEX_NFA_128_1:
|
||||
case LIMEX_NFA_128_2:
|
||||
case LIMEX_NFA_128_3:
|
||||
case LIMEX_NFA_128_4:
|
||||
case LIMEX_NFA_128_5:
|
||||
case LIMEX_NFA_128_6:
|
||||
case LIMEX_NFA_128_7:
|
||||
case LIMEX_NFA_256_1:
|
||||
case LIMEX_NFA_256_2:
|
||||
case LIMEX_NFA_256_3:
|
||||
case LIMEX_NFA_256_4:
|
||||
case LIMEX_NFA_256_5:
|
||||
case LIMEX_NFA_256_6:
|
||||
case LIMEX_NFA_256_7:
|
||||
case LIMEX_NFA_384_1:
|
||||
case LIMEX_NFA_384_2:
|
||||
case LIMEX_NFA_384_3:
|
||||
case LIMEX_NFA_384_4:
|
||||
case LIMEX_NFA_384_5:
|
||||
case LIMEX_NFA_384_6:
|
||||
case LIMEX_NFA_384_7:
|
||||
case LIMEX_NFA_512_1:
|
||||
case LIMEX_NFA_512_2:
|
||||
case LIMEX_NFA_512_3:
|
||||
case LIMEX_NFA_512_4:
|
||||
case LIMEX_NFA_512_5:
|
||||
case LIMEX_NFA_512_6:
|
||||
case LIMEX_NFA_512_7:
|
||||
case LIMEX_NFA_32:
|
||||
case LIMEX_NFA_128:
|
||||
case LIMEX_NFA_256:
|
||||
case LIMEX_NFA_384:
|
||||
case LIMEX_NFA_512:
|
||||
return 1;
|
||||
default:
|
||||
break;
|
||||
|
||||
Reference in New Issue
Block a user