Kevin Atkinson wrote:
> 
> Asger Alstrup Nielsen wrote:
> 
> > The spellchecker should work on strings.  The LyX data structure will be small
> > strings, so you should simply use LString::const_iterator to make life simplest
> > for us.
> 
> Only giving the Spell Checker small strings at a time will work for a
> simple minded spell checker that only want to look at a document a
> word at a time however it will not work for spell checkers that want
> to be able to see the entire document at once.  Aspell is going to
> eventually want to see the entire document at once in order to support
> some advance skipping and suggestion algorithms.  Two such algorithms
> include Word skipping by context (see
> http://franklin.oit.unc.edu/cgi-bin/lyris.pl?visit=aspell&id=79941057)
> and suggesting close matches that exist elsewhere in the document
> before looking for matches in the dictionary.  Now, in order for these
> algorithm to work Aspell will need to be able to first have a prescan
> of the document to build a database of the words in the document.
> 
> In order to get this prescan Aspell will need to iterate to the end
> of the document before it returns anything.If you only give it small
> segments of the document at once there is no way aspell can do this.
> Thus Aspell needs a continuous iterator that will represent the entire
> document.
If a data base of the words in a document is going to be needed, it
should be built as the document is written. This could be a general
database of all the documents in a directory with a separate database
re-building program to deal with files moved into the directory. With
such a db you can do some nice search things.
--
Garst

Reply via email to