@@ -1703,39 +1703,26 @@ and print_infix_application =
17031703 | _ => false
17041704 };
17051705
1706- let (left_grouping_required , right_grouping_required ) =
1707- switch (first. pexp_desc, second. pexp_desc) {
1708- | (PExpApp (fn1 , _ ), PExpApp (fn2 , _ )) =>
1709- let left_prec = op_precedence(get_function_name(fn1));
1710- let right_prec = op_precedence(get_function_name(fn2));
1711- let parent_prec = op_precedence(function_name);
1712-
1713- // the equality check is needed for the function on the right
1714- // as we process from the left by default when the same prededence
1715-
1716- let needed_left = left_prec < parent_prec;
1717- let needed_right = right_prec <= parent_prec;
1718-
1719- (needed_left, needed_right);
1706+ let parent_prec = op_precedence(function_name);
17201707
1721- | (PExpApp (fn1 , _ ), _ ) =>
1722- let left_prec = op_precedence(get_function_name(fn1));
1723- let parent_prec = op_precedence(function_name);
1724- if (left_prec < parent_prec) {
1725- (true , false );
1726- } else {
1727- (false , false );
1728- };
1729- | (_ , PExpApp (fn2 , _ )) =>
1730- let parent_prec = op_precedence(function_name);
1731- let right_prec = op_precedence(get_function_name(fn2));
1732- if (right_prec <= parent_prec) {
1733- (false , true );
1734- } else {
1735- (false , false );
1736- };
1708+ let left_grouping_required =
1709+ switch (first. pexp_desc) {
1710+ | PExpApp (fn1 , _ ) =>
1711+ op_precedence(get_function_name(fn1)) < parent_prec
1712+ | PExpConstant (PConstNumber (PConstNumberRational (_ , _ ))) =>
1713+ op_precedence("/" ) < parent_prec
1714+ | _ => false
1715+ };
17371716
1738- | _ => (false , false )
1717+ let right_grouping_required =
1718+ // the equality check is needed for the value on the right
1719+ // as we process from the left by default when the same prededence
1720+ switch (second. pexp_desc) {
1721+ | PExpApp (fn1 , _ ) =>
1722+ op_precedence(get_function_name(fn1)) <= parent_prec
1723+ | PExpConstant (PConstNumber (PConstNumberRational (_ , _ ))) =>
1724+ op_precedence("/" ) <= parent_prec
1725+ | _ => false
17391726 };
17401727
17411728 let left_needs_parens = left_is_if || left_grouping_required;
0 commit comments