using System; using System.Collections.Generic; using System.Text; using DunnChurchill.Experimental.Compiler; using PerCederberg.Grammatica.Parser; namespace TestParser.Visitors { class TextVisitor : Visitor { public override void Visit(Node node, Response response) { Node parentNode = node.GetParent(); TemplateConstants parentNodeType = (TemplateConstants)parentNode.GetId(); string result = (node as Token).GetImage(); switch (parentNodeType) { //text block text gets escaped. case TemplateConstants.TEXTBLOCK: result = result.Trim(); result = result.Replace("\n", @"\n"); result = result.Replace("\t", @"\t"); result = result.Replace("\r", @"\r"); break; //Code block text goes in the template verbose case TemplateConstants.CODEBLOCK: break; } response.Write(result); } } }