Пример #1
0
        // public Expression Expression1;
        // public Expression Expression2;
        override public int Evaluate(EvaluationState state)
        {
            Expression1.Evaluate(state);
            var result = Expression2.Evaluate(state);

            return(result);
        }
Пример #2
0
        // public BinaryOperator Operator;
        // public Expression Expression1;
        // public Expression Expression2;
        override public int Evaluate(EvaluationState state)
        {
            var value1 = Expression1.Evaluate(state);
            var value2 = Expression2.Evaluate(state);

            var result = 0;

            switch (Operator)
            {
            case BinaryOperator.Add:
                result = value1 + value2;
                break;

            case BinaryOperator.Sub:
                result = value1 - value2;
                break;

            case BinaryOperator.Eq:
                result = value1 == value2 ? 1 : 0;
                break;

            case BinaryOperator.Lt:
                result = value1 < value2 ? 1 : 0;
                break;
            }

            return(result);
        }
 internal override double Evaluate()
 {
     return(Expression1.Evaluate() / Expression2.Evaluate());
 }
Пример #4
0
 internal override double Evaluate()
 {
     return(Math.Pow(Expression1.Evaluate(), Expression2.Evaluate()));
 }