package ocamlformat
Source file Assoc.ml
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37(**************************************************************************) (* *) (* OCamlFormat *) (* *) (* Copyright (c) Facebook, Inc. and its affiliates. *) (* *) (* This source code is licensed under the MIT license found in *) (* the LICENSE file in the root directory of this source tree. *) (* *) (**************************************************************************) (** Associativities of Ast terms. *) type t = Left | Non | Right let to_string = function Left -> "Left" | Non -> "Non" | Right -> "Right" let equal : t -> t -> bool = Poly.( = ) (** Compute associativity from precedence, since associativity is uniform across precedence levels. *) let of_prec (x : Prec.t) = match x with | Low | Semi | LessMinus -> Non | ColonEqual -> Right | As -> Non | Comma -> Non | MinusGreater | BarBar | AmperAmper -> Right | InfixOp0 -> Left | InfixOp1 -> Right | ColonColon -> Right | InfixOp2 | InfixOp3 -> Left | InfixOp4 -> Right | UMinus | Apply -> Non | HashOp -> Left | Dot -> Left | High -> Non | Atomic -> Non