forked from janestreet/ocamlformat
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathPrec.ml
61 lines (57 loc) · 1.64 KB
/
Prec.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
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"