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