sig
type t =
P_prefix
| P_infix of int
| P_infix_left of int
| P_infix_right of int
| P_special
type context =
Field
| App_right
| App_left
| Infix_left of Precedence.t
| Infix_right of Precedence.t
| Delimited
type exp_kind = App | Infix of Precedence.t | Let | Atomic
type pat_context = Plist | Pas_left | Pcons_left | Pcons_right | Pdelimited
type pat_kind = Papp | Pas | Padd | Pcons | Patomic
val is_infix : Precedence.t -> bool
val needs_parens : Precedence.context -> Precedence.exp_kind -> bool
val pat_needs_parens :
Precedence.pat_context -> Precedence.pat_kind -> bool
val get_prec :
Target.target ->
Typed_ast.env -> Typed_ast.const_descr_ref -> Precedence.t
val get_prec_exp :
Target.target -> Typed_ast.env -> Typed_ast.exp -> Precedence.t
end