Lines Matching refs:fpos
255 static BOOL first_lit(Positionset *fpos, Expr *e);
257 static void efollow(re_re *r, Positionset *fpos, Expr *e);
258 static void follow(Positionset *fpos, Expr *e);
259 static void followstate(re_re *r, State *s, int a, Positionset *fpos);
551 follow(Positionset *fpos, Expr *e) in follow() argument
561 SET(fpos, p->id, 0) in follow()
565 (void) first_lit(fpos, e); in follow()
566 follow(fpos, p); in follow()
570 follow(fpos, p); in follow()
573 if (e == p->r || !first_lit(fpos, p->r)) in follow()
574 follow(fpos, p); in follow()
586 first_lit(Positionset *fpos, Expr *e) in first_lit() argument
594 SET(fpos, e->id, 0) in first_lit()
599 (void) first_lit(fpos, e->l); in first_lit()
602 return (first_lit(fpos, e->l)); in first_lit()
604 return ((BOOL)(first_lit(fpos, e->l) || first_lit(fpos, e->r))); in first_lit()
606 k = first_lit(fpos, e->r); in first_lit()
607 return ((BOOL)(first_lit(fpos, e->l) && k)); in first_lit()
615 efollow(re_re *r, Positionset *fpos, Expr *e) in efollow() argument
619 CLEAR(r, fpos); in efollow()
620 follow(fpos, e); in efollow()
621 e->flen = fpos->count; in efollow()
627 for (i = fpos->last; i > 0; i = fpos->base[i].id) { in efollow()
707 followstate(re_re *r, State *s, int a, Positionset *fpos) in followstate() argument
719 SET(fpos, *q, r->posbase[j].fcount + 1) in followstate()