summaryrefslogtreecommitdiff
path: root/support/translit/reg_exp.h
diff options
context:
space:
mode:
authorNorbert Preining <norbert@preining.info>2019-09-02 13:46:59 +0900
committerNorbert Preining <norbert@preining.info>2019-09-02 13:46:59 +0900
commite0c6872cf40896c7be36b11dcc744620f10adf1d (patch)
tree60335e10d2f4354b0674ec22d7b53f0f8abee672 /support/translit/reg_exp.h
Initial commit
Diffstat (limited to 'support/translit/reg_exp.h')
-rw-r--r--support/translit/reg_exp.h28
1 files changed, 28 insertions, 0 deletions
diff --git a/support/translit/reg_exp.h b/support/translit/reg_exp.h
new file mode 100644
index 0000000000..6aac35c683
--- /dev/null
+++ b/support/translit/reg_exp.h
@@ -0,0 +1,28 @@
+/*
+ * Definitions etc. for regexp(3) routines.
+ *
+ * Caveat: this is V8 regexp(3) [actually, a reimplementation thereof],
+ * not the System V one.
+ */
+#define NSUBEXP 10
+typedef struct {
+ 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. */
+} reg_exp;
+
+extern reg_exp *reg_comp();
+extern int reg_exec();
+extern int reg_try();
+extern void reg_sub();
+extern void reg_error();
+
+/*
+ * The first byte of the regexp internal "program" is actually this magic
+ * number; the start node begins in the second byte.
+ */
+#define MAGIC 0234