This is the current version of my spelling checker utilities, incorporating my DAWG (Directed Acyclic Word Graph) code, which is a useful library for anything which needs to manipulate words. This code is based on an earlier release on alt.sources called 'dawgutils' (see ../dawgutils) Although this version cleans up much of the code and fixes the two small bugs that were found in dawgutils, the original code does include some utilities which are not present here,s o you may want to have a look at the older version too, for reference. This directory includes a couple of sample spelling checker applications and front ends. This work was originally carried out with the intention of adding it to BSD4 as a workalike for the old AT&T "spell" program, but by the time it was almost finished, it was obvious that "ispell" had filled that gap and this code wasn't really needed, so it never ended up as part of the BSD suite. At some point in the future I will be writing a web page with an explanation of the dawg data structure, because there doesn't seem to be one on the net. Evenone I know who has hacked it either did it based on Appel & Jacobson's CACM article, or on other people's code. MEMO: there is a document on wildcard matching using a DAWG at this URL: http://www.ddj.com/articles/1998/9804/9804a/9804a.htm - It's about halfway down the page and the heading is "Partial Match Searching". On first glance it looks very similar to what I hacked up in this package, except it's by R.L. Rivest rather than someone no-one has ever heard of so it must work better ;-) There's a link to a somewhat fuzzily described "shuffling" which i am pretty sure is the same as the "GADDAG" stuff discussed in ../documents/ --- JJ Chew has added two utilities to this package: dawg_challenge - trivial word lookup, no display, just sets an exit code - makes it useful in scripts and dawg_words - scrabble rack word finder. Finds any words it can from the letters in a given rack. Usage: dawg_words [-a|-b] -d dict -r rack -a list all words, not just bingos -b list bingos only (default) -d dict DAWG dictionary in which to find words -r rack letters with which to make word (?=blank) i.e. it finds anagrams by default and subwords with "-a". Code should be easily modifable into a multi-word anagram program. Graham Toal