// ----------------------- ReportParsedWords ------------------------------- public static ParsedWordsReport ReportParsedWords( StmtWord InParentWord, int InLevel) { ParsedWordsReport r1 = new ParsedWordsReport(); StmtWord parentWord = InParentWord; if (InLevel == 0) { r1.AddTextLine(BuildLegend()); // show the stmt text ( up until any NewLine pattern in the string ) string s1 = parentWord.StmtText.SubstringLenient(parentWord.BeginCursor.WordBx, 100); int fx = s1.IndexOf(Environment.NewLine); if (fx != -1) { s1 = s1.Substring(0, fx); } r1.AddTextLine(s1); r1.AddTextLine(StmtWordToPresentationString(parentWord, InLevel)); ParsedWordsReport r2 = null; r2 = ReportParsedWords(parentWord, InLevel + 1); r1.AddReport(r2); } else { r1.AddSepLine(); foreach (StmtWord subWord in parentWord.SubWords) { r1.AddTextLine(StmtWordToPresentationString(subWord, InLevel)); if (subWord.HasSubWords == true) { var r3 = ReportParsedWords(subWord, InLevel + 1); r1.AddReport(r3); } } r1.AddSepLine(); } return(r1); }
// ----------------------- ReportParsedWords ------------------------------- public static ParsedWordsReport ReportParsedWords(List <Stmt> InStmts) { ParsedWordsReport r0 = new ParsedWordsReport(); foreach (Stmt stmt in InStmts) { ParsedWordsReport r1 = ReportParsedWords(stmt); r0.AddReport(r1); } return(r0); }