Example #1
0
        private static void CreateExpression(Operator op)
        {
            Expression lhs;
            Expression rhs = expressions.Pop();

            if (op.IsUnary())
            {
                lhs = rhs;
                rhs = null;
            }
            else
            {
                lhs = expressions.Pop();
            }
            expressions.Push(new Expression(lhs, rhs, op));
        }
Example #2
0
        // Check correctness
        override public string ToString()
        {
            string expression;

            if (Object.ReferenceEquals(op, null))
            {
                return(solution.ToString());
            }

            expression = OperatorNames.OpenParenthesis + Left.ToString() + op.ToString();

            if (!op.IsUnary())
            {
                expression += Right.ToString();
            }
            return(expression + OperatorNames.ClosedParenthesis);
        }