sig
type el = Pos of int | Match of string * int | Rec of string
type t = Path.el list
val parse : string -> Path.t
val get : ?path:Path.t -> ?str:string -> Sexp.t -> Sexp.t
val replace :
?path:Path.t -> ?str:string -> Sexp.t -> subst:Sexp.t -> Sexp.t
val replace_no_path : str:string -> Sexp.t -> subst:Sexp.t -> Sexp.t
val subst_path : Sexp.t -> Path.t -> (Sexp.t -> Sexp.t) * Sexp.t
val extract_pos : int -> Sexp.t -> (Sexp.t option -> Sexp.t) * Sexp.t
val extract_match :
string -> int -> Sexp.t -> (Sexp.t option -> Sexp.t) * Sexp.t
val extract_rec : string -> Sexp.t -> (Sexp.t -> Sexp.t) * Sexp.t
end