Pre_sexp.Annot
type pos = Parsexp.Positions.pos = {
line : int;
col : int;
offset : int;
}
type range = Parsexp.Positions.range = {
start_pos : pos;
end_pos : pos;
type t =
| Atom of range * Type.t
| List of range * t list * Type.t
type 'a conv = [
|
`Result of 'a
`Error of exn * t
]
exception Conv_exn of string * exn
type stack = {
mutable positions : pos list;
mutable stack : t list list;
val get_sexp : t -> Type.t
val get_range : t -> range
val sexp_of_conv : ('a -> Type.t) -> [< `Error of exn * t | `Result of 'a ] -> Type.t
exception Annot_sexp of t
val find_sexp : t -> Type.t -> t option