summaryrefslogtreecommitdiff
path: root/tools/build/src/engine/regexp.h
diff options
context:
space:
mode:
Diffstat (limited to 'tools/build/src/engine/regexp.h')
-rw-r--r--tools/build/src/engine/regexp.h34
1 files changed, 34 insertions, 0 deletions
diff --git a/tools/build/src/engine/regexp.h b/tools/build/src/engine/regexp.h
new file mode 100644
index 000000000..6898ccdce
--- /dev/null
+++ b/tools/build/src/engine/regexp.h
@@ -0,0 +1,34 @@
+/*
+ * 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 const * startp[ NSUBEXP ];
+ char const * 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 const * exp );
+int regexec( regexp * prog, char const * string );
+void regerror( char const * 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
+