Module Std.Demanglers

Registry of demanglers.

val install : Bap_core_theory.Theory.target -> demangler -> unit

install t d installs d as the default demangler for the target t.

The demangler will be used every time a name is decided from the set of possible names for a label that belongs to a program unit that has target t.

Fails if a demangler for the given target is already installed.

  • since 2.5.0
val register : demangler -> unit

register demangler DEPRECATED.

  • before 2.5.0

    registers new demangler. @after 2.5.0 no longer needed and does nothing, all demanglers are automatically registered on creation.

  • deprecated since 2022-07 use [create] and/or [install]
val lookup : ?package:string -> string -> demangler option

lookup ?package name lookups in the registry for the demangler with the given package:name.

  • parameter package

    defaults to "user"

  • since 2.5.0
val get : ?package:string -> string -> demangler

get ?package name returns the package:name demangler.

Fails with Invalid_arg if no such demangler exists.

  • since 2.5.0

select t returns the demangler installed for the target t.

If not demangler was installed then returns an identity demangler that doesn't touch names.

  • since 2.5.0
val available : unit -> demangler list

available () lists currently registered demanglers.