sopno
sopno i;
sopno startst, sopno stopst)
sopno, sopno);
static const char *backref(struct match *, const char *, const char *, sopno,
sopno, sopno, int);
sopno startst, sopno stopst, bool fast);
static states step(struct re_guts *, sopno, sopno, states, wint_t, states);
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, /* PLUS nesting level */
sopno ss; /* start sop of current subRE */
sopno ssub; /* start sop of subsubRE */
sopno esub; /* end sop of subsubRE */
walk(struct match *m, const char *start, const char *stop, sopno startst,
sopno stopst, bool fast)
sopno start, /* start state within strip */
sopno stop, /* state after stop state within strip */
sopno pc;
sopno look;
sopno start, /* operand from here to end of strip */
sopno finish = HERE();
sopno copy;
static void repeat(struct parse *p, sopno start, int from, int to);
static sopno dupl(struct parse *p, sopno start, sopno finish);
static void doinsert(struct parse *p, sop op, size_t opnd, sopno pos);
static void dofwd(struct parse *p, sopno pos, sop value);
static sopno /* start of duplicate */
sopno start, /* from here */
sopno finish) /* to this less one */
sopno ret = HERE();
sopno len = finish - start;
static int enlarge(struct parse *p, sopno size);
doinsert(struct parse *p, sop op, size_t opnd, sopno pos)
sopno sn;
static sopno pluscount(struct parse *p, struct re_guts *g);
dofwd(struct parse *p, sopno pos, sop value)
enlarge(struct parse *p, sopno size)
sopno newlen;
if (newlen > (sopno)g->mlen) { /* ends one */
if (newlen > (sopno)g->mlen) { /* ends one */
if (newlen > (sopno)g->mlen) { /* ends one */
if (newlen > (sopno)g->mlen) { /* ends one */
static sopno /* nesting depth */
sopno plusnest = 0;
sopno maxnest = 0;
sopno pos;
sopno subno;
sopno start;
sopno back;
sopno fwd;
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) */
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? */