mirror of
https://github.com/VectorCamp/vectorscan.git
synced 2025-10-09 07:42:21 +03:00
nfa_api: remove subtype from dispatch
This commit is contained in:
@@ -45,36 +45,36 @@
|
||||
#include "sheng.h"
|
||||
#include "tamarama.h"
|
||||
|
||||
#define DISPATCH_CASE(dc_ltype, dc_ftype, dc_subtype, dc_func_call) \
|
||||
case dc_ltype##_NFA_##dc_subtype: \
|
||||
return nfaExec##dc_ftype##dc_subtype##dc_func_call; \
|
||||
#define DISPATCH_CASE(dc_ltype, dc_ftype, dc_func_call) \
|
||||
case dc_ltype: \
|
||||
return nfaExec##dc_ftype##dc_func_call; \
|
||||
break
|
||||
|
||||
// general framework calls
|
||||
|
||||
#define DISPATCH_BY_NFA_TYPE(dbnt_func) \
|
||||
switch (nfa->type) { \
|
||||
DISPATCH_CASE(LIMEX, LimEx, 32, dbnt_func); \
|
||||
DISPATCH_CASE(LIMEX, LimEx, 64, dbnt_func); \
|
||||
DISPATCH_CASE(LIMEX, LimEx, 128, dbnt_func); \
|
||||
DISPATCH_CASE(LIMEX, LimEx, 256, dbnt_func); \
|
||||
DISPATCH_CASE(LIMEX, LimEx, 384, dbnt_func); \
|
||||
DISPATCH_CASE(LIMEX, LimEx, 512, dbnt_func); \
|
||||
DISPATCH_CASE(MCCLELLAN, McClellan, 8, dbnt_func); \
|
||||
DISPATCH_CASE(MCCLELLAN, McClellan, 16, dbnt_func); \
|
||||
DISPATCH_CASE(GOUGH, Gough, 8, dbnt_func); \
|
||||
DISPATCH_CASE(GOUGH, Gough, 16, dbnt_func); \
|
||||
DISPATCH_CASE(MPV, Mpv, 0, dbnt_func); \
|
||||
DISPATCH_CASE(LBR, Lbr, Dot, dbnt_func); \
|
||||
DISPATCH_CASE(LBR, Lbr, Verm, dbnt_func); \
|
||||
DISPATCH_CASE(LBR, Lbr, NVerm, dbnt_func); \
|
||||
DISPATCH_CASE(LBR, Lbr, Shuf, dbnt_func); \
|
||||
DISPATCH_CASE(LBR, Lbr, Truf, dbnt_func); \
|
||||
DISPATCH_CASE(CASTLE, Castle, 0, dbnt_func); \
|
||||
DISPATCH_CASE(SHENG, Sheng, 0, dbnt_func); \
|
||||
DISPATCH_CASE(TAMARAMA, Tamarama, 0, dbnt_func); \
|
||||
default: \
|
||||
assert(0); \
|
||||
#define DISPATCH_BY_NFA_TYPE(dbnt_func) \
|
||||
switch (nfa->type) { \
|
||||
DISPATCH_CASE(LIMEX_NFA_32, LimEx32, dbnt_func); \
|
||||
DISPATCH_CASE(LIMEX_NFA_64, LimEx64, dbnt_func); \
|
||||
DISPATCH_CASE(LIMEX_NFA_128, LimEx128, dbnt_func); \
|
||||
DISPATCH_CASE(LIMEX_NFA_256, LimEx256, dbnt_func); \
|
||||
DISPATCH_CASE(LIMEX_NFA_384, LimEx384, dbnt_func); \
|
||||
DISPATCH_CASE(LIMEX_NFA_512, LimEx512, dbnt_func); \
|
||||
DISPATCH_CASE(MCCLELLAN_NFA_8, McClellan8, dbnt_func); \
|
||||
DISPATCH_CASE(MCCLELLAN_NFA_16, McClellan16, dbnt_func); \
|
||||
DISPATCH_CASE(GOUGH_NFA_8, Gough8, dbnt_func); \
|
||||
DISPATCH_CASE(GOUGH_NFA_16, Gough16, dbnt_func); \
|
||||
DISPATCH_CASE(MPV_NFA, Mpv, dbnt_func); \
|
||||
DISPATCH_CASE(LBR_NFA_DOT, LbrDot, dbnt_func); \
|
||||
DISPATCH_CASE(LBR_NFA_VERM, LbrVerm, dbnt_func); \
|
||||
DISPATCH_CASE(LBR_NFA_NVERM, LbrNVerm, dbnt_func); \
|
||||
DISPATCH_CASE(LBR_NFA_SHUF, LbrShuf, dbnt_func); \
|
||||
DISPATCH_CASE(LBR_NFA_TRUF, LbrTruf, dbnt_func); \
|
||||
DISPATCH_CASE(CASTLE_NFA, Castle, dbnt_func); \
|
||||
DISPATCH_CASE(SHENG_NFA, Sheng, dbnt_func); \
|
||||
DISPATCH_CASE(TAMARAMA_NFA, Tamarama, dbnt_func); \
|
||||
default: \
|
||||
assert(0); \
|
||||
}
|
||||
|
||||
char nfaCheckFinalState(const struct NFA *nfa, const char *state,
|
||||
|
Reference in New Issue
Block a user