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