Exemplo n.º 1
0
        public static RPN.Node expressionTimesDivision(RPN.Node node)
        {
            RPN.Node division;
            RPN.Node expression;
            if (node.Children[0].IsDivision())
            {
                division   = node.Children[0];
                expression = node.Children[1];
            }
            else
            {
                division   = node.Children[1];
                expression = node.Children[0];
            }

            RPN.Node numerator = division.Children[1];
            RPN.Node multiply  = new Mul(expression.Clone(), numerator.Clone());
            numerator.Remove(multiply);
            expression.Remove(new RPN.Node(1));
            return(node);
        }