Re: Grammar Checking

From: Martin Sevior <msevior_at_physics.unimelb.edu.au>
Date: Fri Sep 03 2004 - 04:47:37 CEST

On Fri, 2004-09-03 at 09:36, Charles Goodwin wrote:
> On Fri, 2004-09-03 at 08:49 +1000, msevior@physics.unimelb.edu.au wrote:
> > Modified pointers to modified blocks are placed in a queue which checks
> > them in a background timer. Blocks are the ideal level of granuality for a
> > grammar checker as we can be sure the user meant them to consist of one or
> > more sentences.
>
> Everything you say makes sense but grammar can be constrained to
> sentences and the most responsive way to give feedback would be to check
> upon insertion of a fullstop/period (.) rather than at the end of a
> block. Of course, I have no idea how much more difficult that would be
> to implement... just, as a user, expressing my personal preference. ;)
>
> The block-level stuff sounded satisfactory. But doing it upon '.'
> insertion would be just groovy. But then I guess you get into the
> debate of whether the '.' was intended to end the sentence and it starts
> getting complicated after that.

Actually after I sent that email I realized there was a nicer solution.
We grammar check each block the same way we spell check each block.
However if the grammar checker tells us there is a problem with text
starting or stopping on either side of the caret we don't mark it.

This is easy to implement and gives a much more instant response.

Our background spell checking already allows for different of a
checking.

Our squiggles code knows how to deal with regions of blocks.

We just need a private member variable to draw a different colour
squiggle for a grammar check error.

We'd need to put in another context mode and menu but that's pretty much
boiler plate.

So I think the AbiWord side of on-the-fly spell checking could be done
with around 200 extra lines of code.
 
So if someone points me at a useful GPL'd grammar checking lib I think
we could have grammar checker one week later.

Cheers

Martin
Received on Fri Sep 3 03:49:50 2004

This archive was generated by hypermail 2.1.8 : Fri Sep 03 2004 - 03:49:51 CEST