diff options
author | Guido van Rossum <guido@python.org> | 1997-10-06 14:43:11 (GMT) |
---|---|---|
committer | Guido van Rossum <guido@python.org> | 1997-10-06 14:43:11 (GMT) |
commit | 51b3aa3d38a49be5cc060d783dd1c80b6082b640 (patch) | |
tree | a487da45a7465d14b36bacd9f3e3ef9c0eefb5c1 /Modules/pcre.h | |
parent | 04ac894189a906102ce6d29fd916b57482682178 (diff) | |
download | cpython-51b3aa3d38a49be5cc060d783dd1c80b6082b640.zip cpython-51b3aa3d38a49be5cc060d783dd1c80b6082b640.tar.gz cpython-51b3aa3d38a49be5cc060d783dd1c80b6082b640.tar.bz2 |
New "re" regular expression support.
This code is written by Philip Hazel and Andrew Kuchling.
It requires a new "re.py" module, too.
Diffstat (limited to 'Modules/pcre.h')
-rw-r--r-- | Modules/pcre.h | 59 |
1 files changed, 59 insertions, 0 deletions
diff --git a/Modules/pcre.h b/Modules/pcre.h new file mode 100644 index 0000000..f0f9824 --- /dev/null +++ b/Modules/pcre.h @@ -0,0 +1,59 @@ +/************************************************* +* Perl-Compatible Regular Expressions * +*************************************************/ + +/* Copyright (c) 1997 University of Cambridge */ + +/* Have to include stdlib.h in order to ensure that size_t is defined; +it is needed in there for malloc. */ + +#ifndef PCRE_H +#define PCRE_H + +#include <stdlib.h> +#ifdef FOR_PYTHON +#include "Python.h" +#endif + +/* Options */ + +#define PCRE_CASELESS 0x01 +#define PCRE_EXTENDED 0x02 +#define PCRE_ANCHORED 0x04 +#define PCRE_MULTILINE 0x08 +#define PCRE_DOTALL 0x10 + +/* Exec-time error codes */ + +#define PCRE_ERROR_NOMATCH (-1) +#define PCRE_ERROR_BADREF (-2) +#define PCRE_ERROR_NULL (-3) +#define PCRE_ERROR_BADOPTION (-4) +#define PCRE_ERROR_BADMAGIC (-5) +#define PCRE_ERROR_UNKNOWN_NODE (-6) + +/* Types */ + +typedef void pcre; +typedef void pcre_extra; + +/* Store get and free functions. These can be set to alternative malloc/free +functions if required. */ + +extern void *(*pcre_malloc)(size_t); +extern void (*pcre_free)(void *); + +/* Functions */ + +#ifdef FOR_PYTHON +extern pcre *pcre_compile(char *, int, char **, int *, PyObject *); +#else +extern pcre *pcre_compile(char *, int, char **, int *); +#endif +extern int pcre_exec(pcre *, pcre_extra *, char *, int, int, int *, int); +extern int pcre_info(pcre *, int *, int *); +extern pcre_extra *pcre_study(pcre *, int, char **); +extern char *pcre_version(void); + +#endif /* ifndef PCRE_H */ +/* End of pcre.h */ |