public override object VisitMultiLineString(MFSHParser.MultiLineStringContext context) { String text = context.GetText().Trim(); List <String> lines = context.GetText().Split('\n').ToList(); if (lines.Count == 0) { return(null); } for (Int32 i = 0; i < lines.Count; i++) { String line = lines[i]; { Regex r = new Regex("^[ ]*#"); Match m = r.Match(line); if (m.Success == true) { line = line.Substring(m.Length); } } lines[i] = line; } if (lines[0].StartsWith("\"\"\"")) { lines[0] = lines[0].Substring(3); } if (lines[^ 1].EndsWith("\"\"\""))
/// <summary> /// Visit a parse tree produced by <see cref="MFSHParser.multiLineString"/>. /// <para> /// The default implementation returns the result of calling <see cref="AbstractParseTreeVisitor{Result}.VisitChildren(IRuleNode)"/> /// on <paramref name="context"/>. /// </para> /// </summary> /// <param name="context">The parse tree.</param> /// <return>The visitor result.</return> public virtual Result VisitMultiLineString([NotNull] MFSHParser.MultiLineStringContext context) { return(VisitChildren(context)); }