Example #1
0
 public void Visit(AdditionExpression3 ae)
 {
     sb.Append("(");
     ae.Left.Accept(this);
     sb.Append("+");
     ae.Right.Accept(this);
     sb.Append(")");
 }
Example #2
0
        public void Visit(AdditionExpression3 ae)
        {
            ae.Left.Accept(this);
            var a = Result;

            ae.Right.Accept(this);
            var b = Result;

            Result = a + b;
        }
Example #3
0
        public void Run()
        {
            var e = new AdditionExpression3(
                new DoubleExpression3(4),
                new AdditionExpression3(
                    new DoubleExpression3(5),
                    new DoubleExpression3(6)
                    )
                );

            //var sb = new StringBuilder();
            var ep = new ExpressionPrinter3();

            ep.Visit(e);
            Console.WriteLine(ep);

            var cal = new ExpressionCalculator();

            cal.Visit(e);
            Console.WriteLine($"{ep} = {cal.Result}");
        }