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 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61
|
(**************************************************************************)
(* *)
(* 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. *)
(* *)
(**************************************************************************)
(** Precedence levels of Ast terms. *)
type t =
| Low
| Semi
| LessMinus
| ColonEqual
| As
| Comma
| MinusGreater
| BarBar
| AmperAmper
| InfixOp0
| InfixOp1
| ColonColon
| InfixOp2
| InfixOp3
| InfixOp4
| UMinus
| Apply
| HashOp
| Dot
| High
| Atomic
let compare : t -> t -> int = Poly.compare
let equal a b = compare a b = 0
let to_string = function
| Low -> "Low"
| Semi -> "Semi"
| LessMinus -> "LessMinus"
| ColonEqual -> "ColonEqual"
| As -> "As"
| Comma -> "Comma"
| MinusGreater -> "MinusGreater"
| BarBar -> "BarBar"
| AmperAmper -> "AmperAmper"
| InfixOp0 -> "InfixOp0"
| InfixOp1 -> "InfixOp1"
| ColonColon -> "ColonColon"
| InfixOp2 -> "InfixOp2"
| InfixOp3 -> "InfixOp3"
| InfixOp4 -> "InfixOp4"
| UMinus -> "UMinus"
| Apply -> "Apply"
| Dot -> "Dot"
| HashOp -> "HashOp"
| High -> "High"
| Atomic -> "Atomic"
|