All pastes #414612 Raw Edit

Untitled

public text v1 · immutable
#414612 ·published 2007-03-29 03:45 UTC
rendered paste body
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);
        }
    }
}