Module Sexplib.Sexp_with_layout

module List : sig ... end
include module type of struct include Type_with_layout end
module Make = Type_with_layout.Make
module Parsed = Type_with_layout.Parsed

parsing produces absolute positions

include Make(Src_pos.Relative).S
type t = Type_with_layout.t =
  1. | Atom of Src_pos.Relative.t * string * string option
  2. | List of Src_pos.Relative.t * t_or_comment list * Src_pos.Relative.t

S-expressions annotated with relative source positions and comments

and t_or_comment = Type_with_layout.t_or_comment =
  1. | Sexp of t
  2. | Comment of comment
and comment = Type_with_layout.comment =
  1. | Plain_comment of Src_pos.Relative.t * string
  2. | Sexp_comment of Src_pos.Relative.t * comment list * t
val sexp_of_t : t -> Type.t
val sexp_of_comment : comment -> Type.t
val sexp_of_t_or_comment : t_or_comment -> Type.t
val relativize : Parsed.t_or_comment -> t_or_comment
type pos = Src_pos.Relative.t = {
  1. row : int;
  2. col : int;
}
val sexp_of_pos : Src_pos.Relative.t -> Type.t
module Lexer : sig ... end
module Parser = Parser_with_layout
module Render : sig ... end
module Forget : sig ... end