Пример #1
0
        public void Evaluate(string exp)
        {
            ExpressionBuilder expBuilder = new ExpressionBuilder();

            // build the exp form the input string
            IEvaluableExp evaluableExp = expBuilder.BuildExp(exp, m_EnvironmentVars);

            // update new var
            m_EnvironmentVars[expBuilder.Variable] = evaluableExp.GetEvaluateExpValue();
        }
Пример #2
0
        public int GetEvaluateExpValue()
        {
            var leftValue  = m_LeftExp.GetEvaluateExpValue();
            var rightValue = m_RightExp.GetEvaluateExpValue();

            switch (c_Op)
            {
            case OpEnum.Add:
                return(leftValue + rightValue);

            case OpEnum.Sub:
                return(leftValue - rightValue);

            case OpEnum.Mul:
                return(leftValue * rightValue);

            default:
                throw new InvalidExpressionException();
            }
        }