sopno
sopno, sopno);
const sopno gf = g->firststate+1; /* +1 for OEND */
const sopno gl = g->laststate;
dp = backref(m, m->coldp, endp, gf, gl, (sopno)0, 0);
dp = backref(m, m->coldp, endp, gf, gl, (sopno)0, 0);
dissect(struct match *m, const char *start, const char *stop, sopno startst,
sopno stopst)
sopno ss; /* start sop of current subRE */
sopno es; /* end sop of current subRE */
sopno ssub; /* start sop of subsubRE */
sopno esub; /* end sop of subsubRE */
backref(struct match *m, const char *start, const char *stop, sopno startst,
sopno stopst, sopno lev, int rec) /* PLUS nesting level */
sopno ss; /* start sop of current subRE */
sopno ssub; /* start sop of subsubRE */
sopno esub; /* end sop of subsubRE */
fast(struct match *m, const char *start, const char *stop, sopno startst,
sopno stopst)
slow(struct match *m, const char *start, const char *stop, sopno startst,
sopno stopst)
sopno start, /* start state within strip */
sopno stop, /* state after stop state within strip */
sopno pc;
sopno look;
static const char *dissect(struct match *, const char *, const char *, sopno,
sopno);
static const char *backref(struct match *, const char *, const char *, sopno,
sopno, sopno, int);
static const char *fast(struct match *, const char *, const char *, sopno,
sopno);
static const char *slow(struct match *, const char *, const char *, sopno,
sopno);
static states step(struct re_guts *, sopno, sopno, states, int, states);
sopno startst, sopno stopst)
static sopno pluscount(struct parse *, struct re_guts *);
static sopno /* start of duplicate */
sopno start, /* from here */
sopno finish) /* to this less one */
sopno ret = HERE();
sopno len = finish - start;
doinsert(struct parse *p, sop op, size_t opnd, sopno pos)
sopno sn;
dofwd(struct parse *p, sopno pos, sop value)
enlarge(struct parse *p, sopno size)
sopno newlen;
sopno i;
static sopno /* nesting depth */
sopno plusnest = 0;
sopno maxnest = 0;
sopno prevback;
sopno prevfwd;
sopno conc;
sopno pos;
sopno subno;
sopno start = HERE();
sopno pos;
sopno subno;
sopno ssize; /* malloced strip size (allocated) */
sopno slen; /* malloced strip length (used) */
sopno pbegin[NPAREN]; /* -> ( ([0] unused) */
sopno pend[NPAREN]; /* -> ) ([0] unused) */
static void repeat(struct parse *, sopno, int, int);
sopno start, /* operand from here to end of strip */
static sopno dupl(struct parse *, sopno, sopno);
sopno finish = HERE();
sopno copy;
static void doinsert(struct parse *, sop, size_t, sopno);
static void dofwd(struct parse *, sopno, sop);
static int enlarge(struct parse *, sopno);
sopno nstates; /* = number of sops */
sopno firststate; /* the initial OEND (normally 0) */
sopno laststate; /* the final OEND */
sopno nplus; /* how deep does it nest +s? */
register sopno offset = 2;