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);
}
}
}