rem: int makeinit(f, anchor) fa *f; int anchor;
add: makeinit(fa *f, int anchor)
context: int makeinit(f, anchor)	fa *f;	int anchor;{	register int i, k;	f->curstat = 2;	f->out[2] = 0;	f->reset = 0;	k = *(f->re[0].lfollow);	xfree(f->posns[2]);				if ((f->posns[2] = (int *) calloc(1, (k+1)*sizeof(int))) == NULL)		overflo("out of space in makeinit");	for (i=0; i<=k; i++) {		(f->posns[2])[i] = (f->re[0].lfollow)[i];	}	if ((f->posns[2])[1] == f->accept)		f->out[2] = 1;	for (i=0; i<NCHARS; i++)		f->gototab[2][i] = 0;	f->curstat = cgoto(f, 2, HAT);	if (anchor) {		*f->posns[2] = k-1;	/* leave out position 0 */		for (i=0; i<k; i++) {			(f->posns[0])[i] = (f->posns[2])[i];		}		f->out[0] = f->out[2];		if (f->curstat != 2)			--(*f->posns[f->curstat]);	}	return f->curstat;}