+/* regexp.h
+ */
+
/*
* Definitions etc. for regexp(3) routines.
*
* not the System V one.
*/
-/* $Header: regexp.h,v 4.0 91/03/20 01:39:23 lwall Locked $
- *
- * $Log: regexp.h,v $
- * Revision 4.0 91/03/20 01:39:23 lwall
- * 4.0 baseline.
- *
- */
typedef struct regexp {
char **startp;
char **endp;
- STR *regstart; /* Internal use only. */
+ SV *regstart; /* Internal use only. */
char *regstclass;
- STR *regmust; /* Internal use only. */
- int regback; /* Can regmust locate first try? */
+ SV *regmust; /* Internal use only. */
+ I32 regback; /* Can regmust locate first try? */
+ I32 minlen; /* mininum possible length of $& */
+ I32 prelen; /* length of precomp */
+ U32 nparens; /* number of parentheses */
+ U32 lastparen; /* last paren matched */
char *precomp; /* pre-compilation regular expression */
char *subbase; /* saved string so \digit works forever */
+ char *subbeg; /* same, but not responsible for allocation */
char *subend; /* end of subbase */
+ U16 naughty; /* how exponential is this pattern? */
char reganch; /* Internal use only. */
char do_folding; /* do case-insensitive match? */
- char lastparen; /* last paren matched */
- char nparens; /* number of parentheses */
char program[1]; /* Unwarranted chumminess with compiler. */
} regexp;
-regexp *regcomp();
-int regexec();
+#define ROPT_ANCH 1
+#define ROPT_SKIP 2
+#define ROPT_IMPLICIT 4