ACAT.Extensions.Default.FunctionalAgents.LectureManager.LectureManagerMainForm.parseSentences C# (CSharp) Method

parseSentences() private method

Parses the specified paragraph into sentences, creates a list of sentence object and adds the list to the paragraph object
private parseSentences ( Paragraph para, String text, int index ) : int
para Paragraph paragraph object
text String para text
index int index in the text to start from
return int
        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;
        }