MySpell is a simple spell checker that uses affix 
compression and is modelled after the spell checker
ispell.  

Please NOTE: Special credit and thanks go to ispell's
creator Geoff Kuenning.  Ispell affix compression code
was used as the basis for the affix code used in MySpell. 
Specifically Geoff's use of a conds[] array that makes it
easy to check if the conditions required for a particular 
affix are present was very ingenious! Kudos to Geoff.  Very
nicely done.  

BTW: ispell is available under a BSD style license 
from Geoff Kuennings ispell website:
http://www.cs.ucla.edu/ficus-members/geoff/ispell.html 

MySpell was written to explore how affix compression 
can be implemented for Pspell/Aspell. 

The Main features of MySpell are:

1. written in C++ to make it easier to interface with 
   Pspell, OpenOffice, AbiWord, etc

2. it is stateless, uses no static variables and
   should be completely reentrant with almost no 
   ifdefs  

3. it tries to be as compatible with ispell to
   the extent it can.  It can read slightly modified 
   versions of munched ispell dictionaries (and it 
   comes with a munched english wordlist borrowed from 
   Kevin Atkinson's excellent Aspell.

4. it uses a heavily modified aff file format that
   can be derived from ispell aff files but uses
   the iso-8859-1 character set only (at this point)
 
5. it is simple with lots of comments and even a
   readme that describes how the affixes are stored
   and tested for (based on the approach used by 
   ispell).

6. like ispell it has a BSD license (and  no 
   advertising clause)

But ... it has *no* support for adding words
to a personal dictionary, *no* support for converting
between various text encodings, and *no* command line
interface (it is purely meant to be a library).

It can not (in any way) replace all of the functionality
of ispell or aspell/pspell.  It is meant as a learning
tool for understanding affix compression and for 
being used by front ends like OpenOffice, Abiword, etc.

MySpell has been tested under Linux and Solaris
and has the world's simplest Makefile and no 
configure support.

It does come with a simple example program that 
spell checks some words and returns suggestions.


To build a static library and an example
program under Linux simply type:

tar -zxvf myspell.tar.gz
cd myspell
make

To run the example program:
./example ./en_US.aff ./en_US.dic checkme.lst


I also have a modified german.aff file to be used
with a german wordlist if anyone is interested.

Please play around with it and let me know
what you think.

Thanks,

Kevin Hendricks
kevin.hendricks@sympatico.ca




   
