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, char *string, size_t nmatch, regmatch_t pmatch[], int eflags);
8static char *dissect(register struct match *m, char *start, char *stop, sopno startst, sopno stopst);
9static char *backref(register struct match *m, char *start, char *stop, sopno startst, sopno stopst, sopno lev);
10static char *fast(register struct match *m, char *start, char *stop, sopno startst, sopno stopst);
11static char *slow(register struct match *m, char *start, 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) > CHAR_MAX)
21#define	NNONCHAR	(CODEMAX-CHAR_MAX)
22#ifdef REDEBUG
23static void print(struct match *m, char *caption, states st, int ch, FILE *d);
24#endif
25#ifdef REDEBUG
26static void at(struct match *m, char *title, char *start, char *stop, sopno startst, sopno stopst);
27#endif
28#ifdef REDEBUG
29static char *pchar(int ch);
30#endif
31
32#ifdef __cplusplus
33}
34#endif
35/* ========= end header generated by ./mkh ========= */
36