Jump to content
IGNORED

Spell Checkers?


Larry

Recommended Posts

The thread about "Speedcheck" for Atari got me thinking about these again.  So I have a question -- in general terms, how did these work?  I can imagine it operating like a human, comparing a word to the dictionary, letter by letter. But there there might be other tricks involved to speed things up? Any thoughts?

 

BITD, I used Atariwriter a fair amount and occasionally used a spell checker with it.  I remember it being pretty slow, but not much else. I also think I remember one of these that could be put on a ramdisk, so that should have speeded things up greatly.

Link to comment
Share on other sites

It seemed that the program just split the 'dictionary' into a memory resident section that could be accessed quickly and a disk resident remainder. It would look up every word, first in memory and then on disk.

 

One variation I saw sorted the text file to make it a linear search for the words without duplicating compares..

 

Some of them used expanded memory for the dictionary.

 

Something like that.

 

Bob

 

  • Thanks 1
Link to comment
Share on other sites

The one I wrote for the The Last Word scans through the file in memory - top to bottom - once for each letter in the alphabet. On the first pass, the first time it finds a word starting with the current letter, it checks to see if the corresponding plain text dictionary file is loaded into memory (using an extended bank, so >=128K required). If not, the dictionary file is loaded, and once it's resident, it's scanned (using a binary search, since the dictionary list is in alpha order) for the word in question. If it's not found, the user has the option to add it to the dictionary, ignore it, correct the document, etc. We do that until we find no more words beginning with the current letter further down the document.

 

This process is repeated twenty-six times, and as arduous as it sounds, it's actually quite quick, especially on HDD equipped systems. Many of the dictionary files remain reasonably short ('Q', 'Z', etc, being extremely small), and since the first letter is redundant (it's implied) in each of the twenty-six dictionaries, it's omitted from every word in the list to save space (or should be; I forget whether I implemented that yet).

 

It's a simple approach with some arbitrary limits (dictionary size, etc), but it seems to work well. The dictionaries tend to reflect the vocabulary of the user, and thus remain manageably sized.

Edited by flashjazzcat
  • Like 1
  • Thanks 1
Link to comment
Share on other sites

Thanks for the replies!  I meant for this to be in the programming section, but I started it on my tablet, and it ended up here.  I remember looking at one of the spell checkers with a sector editor, and my recollection is that it was kinda weird -- had a lot of partial words in the sectors.

 

 

Link to comment
Share on other sites

At the very least, some tokenisation would be required which would explain the apparent garbage in the sectors. I don't know if the Atari could support more complex means of compression without this negatively impacting the performance of the spell checker, but getting a reasonably comprehensive dictionary onto a 90KB floppy disk is no mean feat.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...