summaryrefslogtreecommitdiff
path: root/jam-files/engine/regexp.h
diff options
context:
space:
mode:
authorKenneth Heafield <github@kheafield.com>2012-05-12 14:01:52 -0400
committerKenneth Heafield <github@kheafield.com>2012-05-12 14:01:52 -0400
commit1a3cb9d9b0ab24d21d7e4edb70bb4a939f621082 (patch)
tree96f5cbfad3cbb0b8e89c26d6fa2e1a72a9039439 /jam-files/engine/regexp.h
parentdba1128114d68ed46cdea98ecb887c7657a78474 (diff)
Give in and copy bjam into cdec source code
Diffstat (limited to 'jam-files/engine/regexp.h')
-rw-r--r--jam-files/engine/regexp.h32
1 files changed, 32 insertions, 0 deletions
diff --git a/jam-files/engine/regexp.h b/jam-files/engine/regexp.h
new file mode 100644
index 00000000..9d4604f6
--- /dev/null
+++ b/jam-files/engine/regexp.h
@@ -0,0 +1,32 @@
+/*
+ * Definitions etc. for regexp(3) routines.
+ *
+ * Caveat: this is V8 regexp(3) [actually, a reimplementation thereof],
+ * not the System V one.
+ */
+#ifndef REGEXP_DWA20011023_H
+# define REGEXP_DWA20011023_H
+
+#define NSUBEXP 10
+typedef struct regexp {
+ char *startp[NSUBEXP];
+ char *endp[NSUBEXP];
+ char regstart; /* Internal use only. */
+ char reganch; /* Internal use only. */
+ char *regmust; /* Internal use only. */
+ int regmlen; /* Internal use only. */
+ char program[1]; /* Unwarranted chumminess with compiler. */
+} regexp;
+
+regexp *regcomp( char *exp );
+int regexec( regexp *prog, char *string );
+void regerror( char *s );
+
+/*
+ * The first byte of the regexp internal "program" is actually this magic
+ * number; the start node begins in the second byte.
+ */
+#define MAGIC 0234
+
+#endif
+