91 if (
nchr > maxmatchall)
92 return start + maxmatchall;
104 FDEBUG((
"+++ startup +++\n"));
108 FDEBUG((
"color %ld\n", (
long) co));
113 FDEBUG((
"char %c, color %ld\n", (
char) *(
cp - 1), (
long) co));
132 FDEBUG((
"char %c, color %ld\n", (
char) *
cp, (
long) co));
174 FDEBUG((
"color %ld\n", (
long) co));
265 FDEBUG((
"--- startup ---\n"));
269 FDEBUG((
"color %ld\n", (
long) co));
274 FDEBUG((
"char %c, color %ld\n", (
char) *(
cp - 1), (
long) co));
294 FDEBUG((
"char %c, color %ld\n", (
char) *
cp, (
long) co));
344 FDEBUG((
"color %ld\n", (
long) co));
403 FDEBUG((
">>> startup >>>\n"));
405 FDEBUG((
"color %ld\n", (
long) co));
431 FDEBUG((
"char %c, color %ld\n", (
char) *
cp, (
long) co));
474 FDEBUG((
"char %c, color %ld\n", (
char) *
cp, (
long) co));
483 FDEBUG((
"color %ld\n", (
long) co));
536 if (min ==
start && backmin <= backmax)
654 sizeof(
struct sset *));
656 sizeof(
struct arcp));
722 for (
i = 0;
i < n;
i++)
800 return css->outs[co];
934 n = co -
pcnfa->ncolors;
936 FDEBUG((
"=== testing lacon %d\n", n));
991 while ((p =
ap.ss) !=
NULL)
994 FDEBUG((
"zapping c%d's %ld outarc\n", (
int) (p - d->
ssets), (
long)
co));
1008 FDEBUG((
"del outarc %d from c%d's in chn\n",
i, (
int) (p - d->
ssets)));
1018 ap =
ap.ss->inchain[
ap.co])
1086 FDEBUG((
"replacing c%d\n", (
int) (ss - d->
ssets)));
1089 for (ss = d->
ssets, end = d->
search; ss < end; ss++)
1094 FDEBUG((
"replacing c%d\n", (
int) (ss - d->
ssets)));
1099 FDEBUG((
"cannot find victim to replace!\n"));
#define HASH(sign, val, siglen)
static void freedfa(struct dfa *d)
static chr * shortest(struct vars *v, struct dfa *d, chr *start, chr *min, chr *max, chr **coldp, int *hitstopp)
static chr * dfa_backref(struct vars *v, struct dfa *d, chr *start, chr *min, chr *max, bool shortest)
static int lacon(struct vars *v, struct cnfa *pcnfa, chr *cp, color co)
static unsigned hash(unsigned *uv, int n)
static chr * lastcold(struct vars *v, struct dfa *d)
static chr * longest(struct vars *v, struct dfa *d, chr *start, chr *stop, int *hitstopp)
static struct sset * getvacant(struct vars *v, struct dfa *d, chr *cp, chr *start)
static struct sset * miss(struct vars *v, struct dfa *d, struct sset *css, color co, chr *cp, chr *start)
static struct dfa * newdfa(struct vars *v, struct cnfa *cnfa, struct colormap *cm, struct smalldfa *sml)
static struct sset * pickss(struct vars *v, struct dfa *d, chr *cp, chr *start)
static int matchuntil(struct vars *v, struct dfa *d, chr *probe, struct sset **lastcss, chr **lastcp)
static struct dfa * getladfa(struct vars *v, int n)
#define HIT(h, bv, ss, nw)
#define STACK_TOO_DEEP(re)
#define LATYPE_IS_AHEAD(la)
#define LATYPE_IS_POS(la)