public double Evaluate()
 {
     // normally this is the parser/lexer's job
     // http://pragprog.com/book/tpdsl/language-implementation-patterns
     IExpression expression = new Times(new Plus(new Number(8), new Number(5)), new Minus(new Number(10), new Number(6)));
     return expression.Interpret();
 }
        public double Evaluate()
        {
            // normally this is the parser/lexer's job
            // http://pragprog.com/book/tpdsl/language-implementation-patterns
            IExpression expression = new Times(new Plus(new Number(8), new Number(5)), new Minus(new Number(10), new Number(6)));

            return(expression.Interpret());
        }