diff options
author | dkf <donal.k.fellows@manchester.ac.uk> | 2007-11-14 11:04:58 (GMT) |
---|---|---|
committer | dkf <donal.k.fellows@manchester.ac.uk> | 2007-11-14 11:04:58 (GMT) |
commit | 45b2a969f63ab7f6184c8acaec8bb3d525650090 (patch) | |
tree | 145f0b7237a0fa87bff299c233682cca06b5cdd5 /generic/regguts.h | |
parent | 32e51a96573d4ab8a91f7e5484b7ed780b875ae7 (diff) | |
download | tcl-45b2a969f63ab7f6184c8acaec8bb3d525650090.zip tcl-45b2a969f63ab7f6184c8acaec8bb3d525650090.tar.gz tcl-45b2a969f63ab7f6184c8acaec8bb3d525650090.tar.bz2 |
Eliminate multi-char collating element code completely. Simplifies the code
quite a bit. If people still want the full code, it will remain on the 8.4
branch. [Bug 1831425]
Diffstat (limited to 'generic/regguts.h')
-rw-r--r-- | generic/regguts.h | 38 |
1 files changed, 14 insertions, 24 deletions
diff --git a/generic/regguts.h b/generic/regguts.h index bc1d7a2..cbf6615 100644 --- a/generic/regguts.h +++ b/generic/regguts.h @@ -60,24 +60,24 @@ /* voids */ #ifndef VOID -#define VOID void /* for function return values */ +#define VOID void /* for function return values */ #endif #ifndef DISCARD -#define DISCARD void /* for throwing values away */ +#define DISCARD void /* for throwing values away */ #endif #ifndef PVOID -#define PVOID void * /* generic pointer */ +#define PVOID void * /* generic pointer */ #endif #ifndef VS -#define VS(x) ((void*)(x)) /* cast something to generic ptr */ +#define VS(x) ((void*)(x)) /* cast something to generic ptr */ #endif #ifndef NOPARMS -#define NOPARMS void /* for empty parm lists */ +#define NOPARMS void /* for empty parm lists */ #endif /* const */ #ifndef CONST -#define CONST const /* for old compilers, might be empty */ +#define CONST const /* for old compilers, might be empty */ #endif /* function-pointer declarator */ @@ -105,7 +105,7 @@ #include <limits.h> #endif #ifndef _POSIX2_RE_DUP_MAX -#define _POSIX2_RE_DUP_MAX 255 /* normally from <limits.h> */ +#define _POSIX2_RE_DUP_MAX 255 /* normally from <limits.h> */ #endif /* @@ -189,7 +189,7 @@ union tree { #define tcolor colors.ccolor #define tptr ptrs.pptr -/* internal per-color structure for the color machinery */ +/* Internal per-color descriptor structure for the color machinery */ struct colordesc { uchr nchrs; /* number of chars of this color */ color sub; /* open subcolor (if any); free chain ptr */ @@ -235,9 +235,9 @@ struct colormap { /* * Interface definitions for locale-interface functions in locale.c. - * Multi-character collating elements (MCCEs) cause most of the trouble. */ +/* Representation of a set of characters. */ struct cvec { int nchrs; /* number of chrs */ int chrspace; /* number of chrs possible */ @@ -245,22 +245,11 @@ struct cvec { int nranges; /* number of ranges (chr pairs) */ int rangespace; /* number of chrs possible */ chr *ranges; /* pointer to vector of chr pairs */ -#ifdef REGEXP_MCCE_ENABLED - int nmcces; /* number of MCCEs */ - int mccespace; /* number of MCCEs possible */ - int nmccechrs; /* number of chrs used for MCCEs */ - chr *mcces[1]; /* pointers to 0-terminated MCCEs */ - /* and both batches of chrs are on the end */ -#endif }; -#ifdef REGEXP_MCCE_ENABLED -/* caution: this value cannot be changed easily */ -#define MAXMCCE 2 /* length of longest MCCE */ -#endif - /* - * definitions for NFA internal representation + * definitions for non-deterministic finite autmaton (NFA) internal + * representation * * Having a "from" pointer within each arc may seem redundant, but it saves a * lot of hassle. @@ -288,7 +277,7 @@ struct arcbatch { /* for bulk allocation of arcs */ struct state { int no; -# define FREESTATE (-1) +#define FREESTATE (-1) char flag; /* marks special states */ int nins; /* number of inarcs */ struct arc *ins; /* chain of inarcs */ @@ -405,7 +394,8 @@ struct guts { }; /* - * Magic for allocating a variable workspace. + * Magic for allocating a variable workspace. This default version is + * stack-hungry. */ #ifndef AllocVars |