/// <summary> /// Parses the specifiekd paragraph into sentences, creates /// a list of sentence object and adds the list to the paragraph /// object /// </summary> /// <param name="para">paragraph object</param> /// <param name="text">para text</param> /// <param name="index">index in the text to start from</param> /// <returns>index in the text where parsing stopped</returns> private int parseSentences(Paragraph para, String text, int index) { int ii; for (ii = index; ii < text.Length; ) { if (isParagraphTerminator(text[ii])) { break; } ii = skipWhiteSpaces(text, ii); int start = ii; ii = skipSentenceAndParaTerminators(text, start); if (ii > start) { var sentence = new Sentence(para) { Start = start, Length = ii - start }; if (sentence.Length > 0 && sentence.IsValid(textBox1.Text.Substring(sentence.Start, sentence.Length))) { para.Sentences.Add(sentence); } } ii = skipSentenceTerminators(text, ii); } while (true) { int sentenceNum = resolveAbbreviations(para, text); if (sentenceNum < 0) { break; } Sentence s = para.Sentences[sentenceNum + 1]; para.Sentences[sentenceNum].Length += s.Length + (s.Start - para.Sentences[sentenceNum].End); para.Sentences.Remove(s); } return ii; }