[25] | 1 | /* |
---|
| 2 | * tclRegexp.h -- |
---|
| 3 | * |
---|
| 4 | * This file contains definitions used internally by Henry Spencer's |
---|
| 5 | * regular expression code. |
---|
| 6 | * |
---|
| 7 | * Copyright (c) 1998 by Sun Microsystems, Inc. |
---|
| 8 | * Copyright (c) 1998-1999 by Scriptics Corporation. |
---|
| 9 | * |
---|
| 10 | * See the file "license.terms" for information on usage and redistribution of |
---|
| 11 | * this file, and for a DISCLAIMER OF ALL WARRANTIES. |
---|
| 12 | * |
---|
| 13 | * RCS: @(#) $Id: tclRegexp.h,v 1.15 2007/12/13 15:23:20 dgp Exp $ |
---|
| 14 | */ |
---|
| 15 | |
---|
| 16 | #ifndef _TCLREGEXP |
---|
| 17 | #define _TCLREGEXP |
---|
| 18 | |
---|
| 19 | #include "regex.h" |
---|
| 20 | |
---|
| 21 | /* |
---|
| 22 | * The TclRegexp structure encapsulates a compiled regex_t, the flags that |
---|
| 23 | * were used to compile it, and an array of pointers that are used to indicate |
---|
| 24 | * subexpressions after a call to Tcl_RegExpExec. Note that the string and |
---|
| 25 | * objPtr are mutually exclusive. These values are needed by Tcl_RegExpRange |
---|
| 26 | * in order to return pointers into the original string. |
---|
| 27 | */ |
---|
| 28 | |
---|
| 29 | typedef struct TclRegexp { |
---|
| 30 | int flags; /* Regexp compile flags. */ |
---|
| 31 | regex_t re; /* Compiled re, includes number of |
---|
| 32 | * subexpressions. */ |
---|
| 33 | CONST char *string; /* Last string passed to Tcl_RegExpExec. */ |
---|
| 34 | Tcl_Obj *objPtr; /* Last object passed to Tcl_RegExpExecObj. */ |
---|
| 35 | Tcl_Obj *globObjPtr; /* Glob pattern rep of RE or NULL if none. */ |
---|
| 36 | regmatch_t *matches; /* Array of indices into the Tcl_UniChar |
---|
| 37 | * representation of the last string matched |
---|
| 38 | * with this regexp to indicate the location |
---|
| 39 | * of subexpressions. */ |
---|
| 40 | rm_detail_t details; /* Detailed information on match (currently |
---|
| 41 | * used only for REG_EXPECT). */ |
---|
| 42 | int refCount; /* Count of number of references to this |
---|
| 43 | * compiled regexp. */ |
---|
| 44 | } TclRegexp; |
---|
| 45 | |
---|
| 46 | #endif /* _TCLREGEXP */ |
---|
| 47 | |
---|
| 48 | /* |
---|
| 49 | * Local Variables: |
---|
| 50 | * mode: c |
---|
| 51 | * c-basic-offset: 4 |
---|
| 52 | * fill-column: 78 |
---|
| 53 | * End: |
---|
| 54 | */ |
---|