Module Sexplib.Type_with_layout

module Make : functor (Pos : sig ... end) -> sig ... end
module Parsed : Make(Sexplib.Src_pos.Absolute).S

parsing produces absolute positions

include Make(Sexplib.Src_pos.Relative).S
type t =
| Atom of Src_pos.Relative.t * string * string option
| 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 =
| Sexp of t
| Comment of comment
and comment =
| Plain_comment of Src_pos.Relative.t * string
| 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