Std.DemanglerDemangler is a named string transformation.
type t = demanglerval create : ?package:string -> string -> (string -> string) -> tcreate name demangler creates and registers a new named demangler.
A simple demangler is a total function that either demangles a symbol name or leaves it untouched if it can't or if the name is not mangled.
parameter.
already exists.
repository.
define name run creates and registers a simple named demangler.
A simple demangler is a total function that either demangles a symbol name or leaves it untouched if it can't or if the name is not mangled.
Essentially, declare name run is ignore (create name run).
val id : demanglerid the identity demangler that returns names unchanged.
The name id is bap:id
val strip_leading_underscore : demanglerstrip_leading_underscore the demangler that strips one leading underscore.
If a symbol is not underscored then it is returned unchanged.
The name strip_leading_underscore is bap:strip-leading-underscore
val run : t -> string -> stringrun demangler name demangle given name.
val name : t -> stringname demangler returns demangler's unqualified name as a string.
val fullname : t -> Bap_core_theory.KB.Name.tfullname d the fully-qualified name of the demangler d.