C++ name demangler
------------------

To avoid link problems with overloaded functions, C++ consistently mangles
function names. However, it is not always obvious what the original name
was.

The program, 'demangle' should solve this problem. Usage is fairly simple:
   *demangle <symbol> [<symbol>...]
each symbol you wish to have demangled, you pass on the command line. For
example:

  *demangle __aml__7IntegerRC7Integer _substr__9BitStringii
returns the output:
  Integer::operator*=(Integer const &)
  BitString::_substr(int, int)

Constructors and destructors:

  *demangle _GLOBAL_.D.__rtti_get_node_type__C9type_info
returns the output:
  global destructors keyed to type_info::__rtti_get_node_type(void) const


Functions compile with Run-Time Type Identification are also properly
demangled:

  *demangle __17__class_type_infoPCcPP9type_infoPiT3PQ217__class_type_info11access_modei

returns the output:
  __class_type_info::__class_type_info(char const *, type_info **, int *,
int *, __class_type_info::access_mode *, int)
