source: trunk/third/perl/regexp.h @ 10724

Revision 10724, 1.1 KB checked in by ghudson, 27 years ago (diff)
This commit was generated by cvs2svn to compensate for changes in r10723, which included commits to RCS files with non-trunk default branches.
Line 
1/*    regexp.h
2 */
3
4/*
5 * Definitions etc. for regexp(3) routines.
6 *
7 * Caveat:  this is V8 regexp(3) [actually, a reimplementation thereof],
8 * not the System V one.
9 */
10
11
12typedef struct regexp {
13        char **startp;
14        char **endp;
15        SV *regstart;           /* Internal use only. */
16        char *regstclass;
17        SV *regmust;            /* Internal use only. */
18        I32 regback;            /* Can regmust locate first try? */
19        I32 minlen;             /* mininum possible length of $& */
20        I32 prelen;             /* length of precomp */
21        U32 nparens;            /* number of parentheses */
22        U32 lastparen;          /* last paren matched */
23        char *precomp;          /* pre-compilation regular expression */
24        char *subbase;          /* saved string so \digit works forever */
25        char *subbeg;           /* same, but not responsible for allocation */
26        char *subend;           /* end of subbase */
27        U16 naughty;            /* how exponential is this pattern? */
28        char reganch;           /* Internal use only. */
29        char exec_tainted;      /* Tainted information used by regexec? */
30        char program[1];        /* Unwarranted chumminess with compiler. */
31} regexp;
32
33#define ROPT_ANCH       3
34#define  ROPT_ANCH_BOL   1
35#define  ROPT_ANCH_GPOS  2
36#define ROPT_SKIP       4
37#define ROPT_IMPLICIT   8
Note: See TracBrowser for help on using the repository browser.