/* Each line of input from the client application is examined and split into words, numbers, abbreviations, and special catagories for further translation from free-form text to SPO spoken speech. Generally a word is a collection of characters grouped by white-space markers (nl, tab, and space). Special consideration is also given to quoting properties. Additional rules may be applied once words have been catagorized. */ #include #include #include #include "speak.h" void abbrev(char *str) { char *p; if(!lit && !spell) p = find(aidx, str); if(p) spo_word(p); else { p = tail(str); *(--p) = 0; spo_word(str); spo_pause(P_SENTANCE); } }