1/* ========= begin header generated by ./mkh ========= */ 2#ifdef __cplusplus 3extern "C" { 4#endif 5 6/* === engine.c === */ 7static int matcher(register struct re_guts *g, unsigned char *string, size_t nmatch, regmatch_t pmatch[], int eflags); 8static unsigned char *dissect(register struct match *m, unsigned char *start, unsigned char *stop, sopno startst, sopno stopst); 9static unsigned char *backref(register struct match *m, unsigned char *start, unsigned char *stop, sopno startst, sopno stopst, sopno lev); 10static unsigned char *fast(register struct match *m, unsigned char *start, unsigned char *stop, sopno startst, sopno stopst); 11static unsigned char *slow(register struct match *m, unsigned char *start, unsigned char *stop, sopno startst, sopno stopst); 12static states step(register struct re_guts *g, sopno start, sopno stop, register states bef, int ch, register states aft); 13#define BOL (OUT+1) 14#define EOL (BOL+1) 15#define BOLEOL (BOL+2) 16#define NOTHING (BOL+3) 17#define BOW (BOL+4) 18#define EOW (BOL+5) 19#define CODEMAX (BOL+5) /* highest code used */ 20#define NONCHAR(c) ((c) > UCHAR_MAX) 21#define NNONCHAR (CODEMAX-UCHAR_MAX) 22#ifdef REDEBUG 23static void print(struct match *m, unsigned char *caption, states st, int ch, FILE *d); 24#endif 25#ifdef REDEBUG 26static void at(struct match *m, unsigned char *title, unsigned char *start, unsigned char *stop, sopno startst, sopno stopst); 27#endif 28#ifdef REDEBUG 29static unsigned char *pchar(int ch); 30#endif 31 32#ifdef __cplusplus 33} 34#endif 35/* ========= end header generated by ./mkh ========= */ 36