summaryrefslogtreecommitdiff
path: root/ext/ereg/regex/engine.ih
diff options
context:
space:
mode:
Diffstat (limited to 'ext/ereg/regex/engine.ih')
-rw-r--r--ext/ereg/regex/engine.ih35
1 files changed, 35 insertions, 0 deletions
diff --git a/ext/ereg/regex/engine.ih b/ext/ereg/regex/engine.ih
new file mode 100644
index 0000000..9a30183
--- /dev/null
+++ b/ext/ereg/regex/engine.ih
@@ -0,0 +1,35 @@
+/* ========= begin header generated by ./mkh ========= */
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* === engine.c === */
+static int matcher(register struct re_guts *g, unsigned char *string, size_t nmatch, regmatch_t pmatch[], int eflags);
+static unsigned char *dissect(register struct match *m, unsigned char *start, unsigned char *stop, sopno startst, sopno stopst);
+static unsigned char *backref(register struct match *m, unsigned char *start, unsigned char *stop, sopno startst, sopno stopst, sopno lev);
+static unsigned char *fast(register struct match *m, unsigned char *start, unsigned char *stop, sopno startst, sopno stopst);
+static unsigned char *slow(register struct match *m, unsigned char *start, unsigned char *stop, sopno startst, sopno stopst);
+static states step(register struct re_guts *g, sopno start, sopno stop, register states bef, int ch, register states aft);
+#define BOL (OUT+1)
+#define EOL (BOL+1)
+#define BOLEOL (BOL+2)
+#define NOTHING (BOL+3)
+#define BOW (BOL+4)
+#define EOW (BOL+5)
+#define CODEMAX (BOL+5) /* highest code used */
+#define NONCHAR(c) ((c) > UCHAR_MAX)
+#define NNONCHAR (CODEMAX-UCHAR_MAX)
+#ifdef REDEBUG
+static void print(struct match *m, unsigned char *caption, states st, int ch, FILE *d);
+#endif
+#ifdef REDEBUG
+static void at(struct match *m, unsigned char *title, unsigned char *start, unsigned char *stop, sopno startst, sopno stopst);
+#endif
+#ifdef REDEBUG
+static unsigned char *pchar(int ch);
+#endif
+
+#ifdef __cplusplus
+}
+#endif
+/* ========= end header generated by ./mkh ========= */