Commit | Line | Data |
0198fd3c |
1 | /* |
2 | * Definitions etc. for regexp(3) routines. |
3 | * |
4 | * Caveat: this is V8 regexp(3) [actually, a reimplementation thereof], |
5 | * not the System V one. |
6 | * |
7 | * @(#) tclRegexp.h 1.4 95/05/03 17:07:16 |
8 | */ |
9 | |
10 | #ifndef _REGEXP |
11 | #define _REGEXP 1 |
12 | |
13 | #ifndef _TCL |
14 | #include "tcl.h" |
15 | #endif |
16 | |
17 | #define NSUBEXP 50 |
18 | typedef struct regexp { |
19 | char *startp[NSUBEXP]; |
20 | char *endp[NSUBEXP]; |
21 | char regstart; /* Internal use only. */ |
22 | char reganch; /* Internal use only. */ |
23 | char *regmust; /* Internal use only. */ |
24 | int regmlen; /* Internal use only. */ |
25 | char program[1]; /* Unwarranted chumminess with compiler. */ |
26 | } regexp; |
27 | |
28 | EXTERN regexp *TclRegComp _ANSI_ARGS_((char *exp)); |
29 | EXTERN int TclRegExec _ANSI_ARGS_((regexp *prog, char *string, char *start)); |
30 | EXTERN void TclRegSub _ANSI_ARGS_((regexp *prog, char *source, char *dest)); |
31 | EXTERN void TclRegError _ANSI_ARGS_((char *msg)); |
32 | EXTERN char *TclGetRegError _ANSI_ARGS_((void)); |
33 | |
34 | #endif /* REGEXP */ |