diff options
author | Fredrik Lundh <fredrik@pythonware.com> | 2000-06-29 08:55:54 (GMT) |
---|---|---|
committer | Fredrik Lundh <fredrik@pythonware.com> | 2000-06-29 08:55:54 (GMT) |
commit | 102f3ad676be1ef18fd9185b0dfb6c2796a6f8ac (patch) | |
tree | db85110d2b4959c12c79f8dc160008f4ac00bcd8 /Modules/sre.h | |
parent | 3de16f3db4ae7e557719bbc8694598f348f89247 (diff) | |
download | cpython-102f3ad676be1ef18fd9185b0dfb6c2796a6f8ac.zip cpython-102f3ad676be1ef18fd9185b0dfb6c2796a6f8ac.tar.gz cpython-102f3ad676be1ef18fd9185b0dfb6c2796a6f8ac.tar.bz2 |
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 3664c9d..a5f0aeb 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; |