Module Sexp.With_layout

S-expressions annotated with relative source positions and comments

type pos = Src_pos.Relative.t = {
row : int;
col : int;
}
val sexp_of_pos : pos -> Type.t
type t = Type_with_layout.t =
| Atom of pos * string * string option
| List of pos * t_or_comment list * pos

S-expressions annotated with relative source positions and comments. All the positions are relative to the opening paren of the enclosing list, or the first character of the file.

and t_or_comment = Type_with_layout.t_or_comment =
| Sexp of t
| Comment of comment
and comment = Type_with_layout.comment =
| Plain_comment of pos * string
| Sexp_comment of pos * 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
module Forget : sig ... end
module Render : sig ... end with type asexp := t_or_comment
module Parser : sig ... end
module Lexer : sig ... end