static void Main(string[] args)
        {
            var printer    = new ExpressionPrinter();
            var expression = new MultiplicationExpression(
                new Value(5),
                new AdditionExpression(
                    new Value(2),
                    new Value(3)));

            printer.Visit(expression);

            Console.WriteLine(printer.ToString()); //5*(2+3)
        }
 public override void Visit(MultiplicationExpression multiplicationExpresion)
 {
     multiplicationExpresion.LHS.Accept(this);
     _sb.Append("*");
     multiplicationExpresion.RHS.Accept(this);
 }