Module Pre_sexp.Annot

module Annot: sig .. end

type pos = {
   line : int;
   col : int;
   offset : int;
}
type range = {
   start_pos : pos;
   end_pos : pos;
}
type t = 
| Atom of range * Type.t
| List of range * t list * Type.t
type 'a conv = [ `Error of exn * t | `Result of 'a ] 
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
exception Annot_sexp of t
val find_sexp : t -> Type.t -> t option