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