Module Sexp.Annotated

type pos = Sexplib.Pre_sexp.Annotated.pos = {
  1. line : int;
  2. col : int;
  3. offset : int;
}
type range = Sexplib.Pre_sexp.Annotated.range = {
  1. start_pos : pos;
  2. end_pos : pos;
}
type t = Sexplib.Pre_sexp.Annotated.t =
  1. | Atom of range * Sexplib.Type.t
  2. | List of range * t list * Sexplib.Type.t
type !'a conv = [
  1. | `Error of exn * t
  2. | `Result of 'a
]
val sexp_of_conv : ('a -> Sexplib.Type.t) -> 'a conv -> Sexplib.Type.t
exception Conv_exn of string * exn
type stack = Sexplib.Pre_sexp.Annotated.stack = {
  1. mutable positions : pos list;
  2. mutable stack : t list list;
}
val get_sexp : t -> Sexplib.Type.t
val get_range : t -> range
val find_sexp : t -> Sexplib.Type.t -> t option
val parse : ?parse_pos:Parse_pos.t -> ?len:int -> string -> (string, t) parse_result
val parse_bigstring : ?parse_pos:Parse_pos.t -> ?len:int -> bigstring -> (bigstring, t) parse_result
val input_sexp : ?parse_pos:Parse_pos.t -> in_channel -> t
val input_sexps : ?parse_pos:Parse_pos.t -> ?buf:bytes -> in_channel -> t list
val input_rev_sexps : ?parse_pos:Parse_pos.t -> ?buf:bytes -> in_channel -> t list
val load_sexp : ?strict:bool -> ?buf:bytes -> string -> t
val load_sexps : ?buf:bytes -> string -> t list
val load_rev_sexps : ?buf:bytes -> string -> t list
val of_string : string -> t
val of_bigstring : bigstring -> t
val conv : (Sexplib.Type.t -> 'a) -> t -> 'a conv
val get_conv_exn : file:string -> exc:exn -> t -> exn