Grammar software

Most text editing systems have a tool to automatically check for spelling errors (when one or more letters in the word are spelled not correctly); called speller. Their principle of action: the program analyzes each word in the text and looks for it in a database of all the words and their various forms.

Such a test text ensures that the words in the text will be written correctly (as in the dictionary), but does not protect against the agreement (or concord) errors and syntax errors in the sentence. An example of agreement/concord and syntax errors for the English language could be: "He am, I is", "One books, two book", "I goes, he go".

In English language nouns may have 4 forms: 2 forms of number (singular and plural) multiply by 2 forms of case (nominative and genitive cases); e.g. cat, cats, cat's and cats'.

In Russian and Lithuanian languages there are 2 (numbers) * 6 (cases) = 12 forms of the noun (for any word), 24 (36 for Russian) forms of adjective and 5 (6 for Russian) forms for the verb, not counting the forms of the tense.

So, you can make so much agreement errors, as more word forms there are for every word in the sentence. For example in english sentence "I see a nice cat" words have so many forms: I/me, see/sees, a/an/the, nice, cat/cat's/cats/cats'. Searching for the right version of the sentence we may review all possible combinations of the sentence words' forms. Number of combinations is the product of all posible forms of every word: 2*2*3*1*4 = 48. For Lithuanian it is 6 (pronoun forms) *5 (verb) * 24 (adjective) (no article) * 12 (noun) = 8 640; for Russian it is 6*6*24*12 = 10 368.

So, the main problem of creating a grammar checker for Lithuanian (or Russian) language is not the word order (it is not so strict as in English) but a large number of versions of sentence for consideration. Another problem is how to identify for every word its right place and its right form, in any sentence.

As far as I know, no software was created for Lithuanian (and Russian) language, for the complete grammar check, i.e. with the check of agreement/concord and sintax.

So, let me introduce my software that does this:

English Grammar software

Lithuanian Grammar software