Sexplib.Path
Path: Module for Substitutions within S-expressions
type t = el list
Type of substitution paths
val parse : string -> t
parse str
Syntax:
"." -> separates path elements; must be present at start of string.
"[4]" -> specifies the 4th element in a tuple.
"some_tag[4]" -> tries to match some_tag
, then denotes its 4th argument.
"name" -> denotes record field having name
Example from test code:
".t.x.B1
" -> choose record field with name t
, then subfield x
. Match this value against B
, and denote its first argument.
get ?path ?str sexp
if path
is provided, use it as path. Otherwise, if str
is provided, parse it as a path. If neither is provided, assume an empty path.
replace ?path ?str sexp ~subst
like get
, but does not extract a sub-expression but substitutes it with subst
.
replace_no_path ~str sexp ~subst
like replace
, but does not take optional arguments. str
must be specified.
extract_match tag n sexp