diff options
author | Fredrik Lundh <fredrik@pythonware.com> | 2000-06-29 08:55:54 +0000 |
---|---|---|
committer | Fredrik Lundh <fredrik@pythonware.com> | 2000-06-29 08:55:54 +0000 |
commit | 85ac5e9afd1d82a33417516d9f1ce4c9f394ca65 (patch) | |
tree | 360de24fd611861c2e0e58527624c4ceb8db6c35 /Modules/sre.h | |
parent | d59f3f5b5bc7a7470fd0d4c5f192d2117349cda6 (diff) | |
download | cpython-85ac5e9afd1d82a33417516d9f1ce4c9f394ca65.tar.gz |
towards 1.6b1
Diffstat (limited to 'Modules/sre.h')
-rw-r--r-- | Modules/sre.h | 18 |
1 files changed, 16 insertions, 2 deletions
diff --git a/Modules/sre.h b/Modules/sre.h index 3664c9d295..a5f0aebee4 100644 --- a/Modules/sre.h +++ b/Modules/sre.h @@ -14,6 +14,9 @@ #include "sre_constants.h" +/* size of a code word (must be unsigned short or larger) */ +#define SRE_CODE unsigned short + typedef struct { PyObject_HEAD PyObject* code; /* link to the code string object */ @@ -35,6 +38,14 @@ typedef struct { int mark[2]; } MatchObject; +typedef unsigned int (*SRE_TOLOWER_HOOK)(unsigned int ch); + +typedef struct { + /* stack elements */ + SRE_CODE* pattern; + void* ptr; +} SRE_STACK; + typedef struct { /* string pointers */ void* ptr; /* current position (also end of current slice) */ @@ -44,15 +55,18 @@ typedef struct { /* character size */ int charsize; /* registers */ - int marks; + int lastmark; void* mark[64]; /* FIXME: <fl> should be dynamically allocated! */ /* backtracking stack */ - void** stack; + SRE_STACK* stack; int stacksize; int stackbase; + /* hooks */ + SRE_TOLOWER_HOOK tolower; } SRE_STATE; typedef struct { + /* search helper */ PyObject_HEAD PyObject* pattern; PyObject* string; |