NAME AlphaSpell V3.00 - A Command Line Spelling Checker. SYNOPSIS AlphaSpell COMMANDS S - Spellcheck, i.e. display unfound stdin words. C - Common, i.e. display found stdin words. M - Merge the dictionary words w/ the stdin words. R - Remove, i.e. display the dictionary words minus the stdin words. COPYRIGHT AlphaSpell V3.00 Copyright (C) 1993 Fergus Duniho DESCRIPTION AlphaSpell is mainly for spellchecking and dictionary maintenance, and it can perform a couple other tasks that were easy to implement and might be useful. SPELLCHECK Spellchecking is the main purpose of AlphaSpell. When spellchecking, AlphaSpell extracts all the words sent to it though standard input, translates them into lowercase, and checks them against an alphabetized, lowercase ascii dictionary. It sends to standard output any words which it could not find in the dictionary. The user should then find these words in the document that he had spellchecked and make sure these are the words he wants to use. On the Amiga, the user may use an ARexx script I wrote for this purpose. COMMON This works like spellchecking, except that AlphaSpell sends to standard output every word it did find. This may be useful when you want to check for problem words in a document, such as "they're," "their," and "there," or "accept" and "except." MERGE This requires that the file sent through standard input be an alphabetized, lowercase ascii dictionary. It is meant for merging two ascii dictionaries into one. E.g., you might want to merge your user dictionary with your main dictionary. REMOVE Like MERGE, this requires that the file sent through standard input be a lowercase ascii dictionary. It sends to standard output all the words in the dictionary except those from standard input. This is useful for removing unwanted words from the dictionary, such as misspellings and jargon you'll never use. Although you could probably do this more easily with a text editor if you have enough RAM, this feature gives people without enough RAM the same ability. This feature may also be used for spellchecking alphabetized lists of words, as the original AlphaSpell did. When you use it for this purpose, you should send the dictionary through standard input and give the name of the file you want to spellcheck as the dictionary name. DETAILS WORDS A word for AlphaSpell is a string of two or more letters, which may have apostrophes inside but not at the ends. Words do not include apostrophe-s. LEGAL WORDS ain't by Amiga twas ILLEGAL WORDS a 'twas Amiga's SPELLCHECKING METHOD AlphaSpell spellchecks words in alphabetical order, hence its name. As it begins to look for each word, it begins where it left off in the dictionary. This allows it to quickly finish spellchecking by making only a single pass through the dictionary. It can thereby finish spellchecking in less time than it would take to load the dictionary into memory. HISTORY Before AlphaSpell and before I knew C, I had written a spelling checker in ARexx. I don't think I ever released this. But I used a similar spellchecking algorithm in AlphaSpell. I wrote the first version of AlphaSpell in C when I was first trying to learn the language back in the Spring of 1992. Its abilities were limited because my knowledge of C was limited. AlphaSpell V2.00 was also in C, but I never released it. It had the ability to use a compacted dictionary. AlphaSpell V3.00 is not a revision of previous versions of AlphaSpell. It is a new and better program written from scratch in C++. It is my first major C++ program. AlphaSpell uses the same basic algorithm for spellchecking, but it implements it with less redundancy. Previous versions would load in each word from the dictionary and use case insensitive comparison. AlphaSpell III spellchecks without loading in each word, and it uses case sensitive comparison. Thus, it zips through the dictionary faster than previous versions did. Also, AlphaSpell V3.00 does not depend upon the programs which previous versions needed. Previous versions of AlphaSpell needed their input prepared by the three programs getwords, sort, and uniq. AlphaSpell V3.00 doesn't. Unlike AlphaSpell V2.00, the unregistered version of AlphaSpell V3.00 does not work with compacted dictionaries. But the registered version does. REGISTRATION The registration fee for AlphaSpell V3.00 is $20.00 in United States currency or $30.00 in Canadian currency. Only cash and checks are accepted. Cash must be American or Canadian, and checks must be drawn from an American or Canadian bank. If you live overseas, you might arrange a trade with me through email. ADDED FEATURES OF REGISTERED VERSION ° A compacted dictionary with close to 100,000 words. ° The ability to read a compacted dictionary. ° The ability to compact and decompact ascii dictionaries. ° Complete C++ source code.