sig
type pos = Src_pos.Relative.t = { row : int; col : int; }
val sexp_of_pos : Sexp_intf.S.With_layout.pos -> Type.t
type t =
Atom of Sexp_intf.S.With_layout.pos * string * string option
| List of Sexp_intf.S.With_layout.pos *
Sexp_intf.S.With_layout.t_or_comment list *
Sexp_intf.S.With_layout.pos
and t_or_comment =
Sexp of Sexp_intf.S.With_layout.t
| Comment of Sexp_intf.S.With_layout.comment
and comment =
Plain_comment of Sexp_intf.S.With_layout.pos * string
| Sexp_comment of Sexp_intf.S.With_layout.pos *
Sexp_intf.S.With_layout.comment list * Sexp_intf.S.With_layout.t
val sexp_of_t : Sexp_intf.S.With_layout.t -> Type.t
val sexp_of_comment : Sexp_intf.S.With_layout.comment -> Type.t
val sexp_of_t_or_comment : Sexp_intf.S.With_layout.t_or_comment -> Type.t
module Forget :
sig
val t : Sexp_intf.S.With_layout.t -> Type.t
val t_or_comment :
Sexp_intf.S.With_layout.t_or_comment -> Type.t option
val t_or_comments :
Sexp_intf.S.With_layout.t_or_comment list -> Type.t list
end
module Render :
sig
type 'a t
val return : 'a -> 'a Sexp_intf.S.With_layout.Render.t
val bind :
'a Sexp_intf.S.With_layout.Render.t ->
('a -> 'b Sexp_intf.S.With_layout.Render.t) ->
'b Sexp_intf.S.With_layout.Render.t
val sexp :
Sexp_intf.S.With_layout.t_or_comment ->
unit Sexp_intf.S.With_layout.Render.t
val run :
(char -> unit) -> unit Sexp_intf.S.With_layout.Render.t -> unit
end
module Parser :
sig
type token
val sexp :
(Lexing.lexbuf -> Sexp_intf.S.With_layout.Parser.token) ->
Lexing.lexbuf -> Sexp_intf.S.With_layout.t_or_comment
val sexp_opt :
(Lexing.lexbuf -> Sexp_intf.S.With_layout.Parser.token) ->
Lexing.lexbuf -> Sexp_intf.S.With_layout.t_or_comment option
val sexps :
(Lexing.lexbuf -> Sexp_intf.S.With_layout.Parser.token) ->
Lexing.lexbuf -> Sexp_intf.S.With_layout.t_or_comment list
val rev_sexps :
(Lexing.lexbuf -> Sexp_intf.S.With_layout.Parser.token) ->
Lexing.lexbuf -> Sexp_intf.S.With_layout.t_or_comment list
val sexps_abs :
(Lexing.lexbuf -> Sexp_intf.S.With_layout.Parser.token) ->
Lexing.lexbuf -> Type_with_layout.Parsed.t_or_comment list
end
module Lexer :
sig
val main :
?buf:Buffer.t ->
Lexing.lexbuf -> Sexp_intf.S.With_layout.Parser.token
end
end