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); }