extern int *wdstart
, *wdend
;
#define THRESH 160 /*digram goodness threshold*/
if ((wdend
-wdstart
-4) < 0)
if (!exword() && !suffix())
if (*hyptr
) for(j
= 1; j
;) {
for(hyp
= hyptr
+1; *hyp
!= 0; hyp
++) {
if (((j
>= 'A') && (j
<= 'Z')) || ((j
>= 'a') && (j
<= 'z')))
if ((j
= nexth
) >= (hbuf
+ NHEX
- 2))
if (((i
&= CMASK
) == ' ') || (i
== '\n')) {
if (j
>= (hbuf
+ NHEX
- 2))
prstr("Exception word list full.\n");
while((*e
&& (w
<= hyend
)) &&
((*e
& 0177) == maplow(*w
& CMASK
))) {e
++; w
++;};
((w
== wdend
) && (maplow(*w
& CMASK
) == 's'))) {
if (*e
& 0200)*hyp
++ = w
;
if (hyp
> (hyptr
+NHYP
-1))
if (!alph(i
= *hyend
& CMASK
))
if ((s0
= suftab
[i
-'a']) == 0)
if ((i
= *s0
& 017) == 0)
while(((s
> s0
) && (w
>= wdstart
)) &&
((*s
& 0177) == maplow(*w
))) {
if (*s0
& 0200) goto mark
;
if ((i
&= CMASK
) < 'a')i
+= 'a' - 'A';
while(--w
>= wdstart
)if(vowel(*w
& CMASK
))return(w
);
int *nhyend
, *maxw
, maxval
;
extern char bxh
[26][13], bxxh
[26][13], xxh
[26][13], xhx
[26][13], hxx
[26][13];
if (!(w
=chkvow(hyend
+1)))return;
if (!(w
=chkvow(hyend
)))return;
while((++w
< hyend
) && (w
< (wdend
-1))) {
if (w
== wdstart
)val
*= dilook('a',*w
,bxh
);
else if(w
== wdstart
+1)val
*= dilook(*(w
-1),*w
,bxxh
);
else val
*= dilook(*(w
-1),*w
,xxh
);
val
*= dilook(*w
, *(w
+1), xhx
);
val
*= dilook(*(w
+1), *(w
+2), hxx
);
if (maxval
> thresh
)*hyp
++ = maxw
;
i
= t
[maplow(a
)-'a'][(j
= maplow(b
)-'a')/2];