Lines Matching refs:pfa
447 struct fa *pfa; in cgotofn() local
785 if ((pfa = (struct fa *)malloc((numtrans + 1) in cgotofn()
788 where[s] = pfa; in cgotofn()
790 pfa->cc.h = -1; /* s is a final state */ in cgotofn()
792 pfa->cc.h = numtrans; in cgotofn()
793 pfa->st = 0; in cgotofn()
794 for (i = 1, pfa += 1; i <= numtrans; i++, pfa++) { in cgotofn()
795 pfa->cc.s = fatab[i].cc; in cgotofn()
796 pfa->st = (struct fa *)fatab[i].n; in cgotofn()
802 pfa = where[i]; in cgotofn()
803 pfa->st = where[0]; in cgotofn()
804 dprintf("state %d: (%o)\n", i, pfa, NULL); in cgotofn()
806 pfa->cc.h, pfa->st, NULL); in cgotofn()
807 for (k = 1; k <= pfa->cc.h; k++) { in cgotofn()
808 (pfa+k)->st = where[(int)(pfa+k)->st]; in cgotofn()
810 (pfa+k)->cc.s.cc_cs, (pfa+k)->cc.s.cc_ce, in cgotofn()
811 (pfa+k)->st); in cgotofn()
814 pfa = where[0]; in cgotofn()
815 if ((num = pfa->cc.h) < 0) in cgotofn()
817 for (pfa += num; num; num--, pfa--) in cgotofn()
818 if (pfa->cc.s.cc_ns == hatcn && pfa->cc.s.cc_cs == HAT) { in cgotofn()
819 return (pfa->st); in cgotofn()
1096 match(struct fa *pfa, wchar_t *p) in match() argument
1105 if (pfa->cc.h == 1) { /* fast test for first character, if possible */ in match()
1106 ns = (++pfa)->cc.s.cc_ns; in match()
1107 cs = (pfa)->cc.s.cc_cs; in match()
1108 ne = (pfa)->cc.s.cc_ne; in match()
1109 ce = (pfa)->cc.s.cc_ce; in match()
1116 pfa = pfa->st; in match()
1122 adv: if ((count = pfa->cc.h) < 0) in match()
1127 for (pfa += count; count; count--, pfa--) { in match()
1128 ns = (pfa)->cc.s.cc_ns; in match()
1129 cs = (pfa)->cc.s.cc_cs; in match()
1130 ne = (pfa)->cc.s.cc_ne; in match()
1131 ce = (pfa)->cc.s.cc_ce; in match()
1135 pfa = pfa->st; in match()
1136 if ((count = pfa->cc.h) < 0) in match()