gov.llnl.babel.backend.mangler
Class CMangler

java.lang.Object
  extended by gov.llnl.babel.backend.mangler.ShaMangler
      extended by gov.llnl.babel.backend.mangler.CMangler
All Implemented Interfaces:
NameMangler

public class CMangler
extends ShaMangler

The CMangler class provides a NameMangler for the C language. Most C compilers allow arbitrarily large identifiers and consider an arbitrarily large number of characters in resolving symbols too. However, the C standard only promises that only the first 31 characters are significant. Some brain damaged C compilers may require name mangling.


Constructor Summary
CMangler(int maxNameLen, int maxUnmangled)
          Create a name mangler for C.
 
Method Summary
 
Methods inherited from class gov.llnl.babel.backend.mangler.ShaMangler
shortArrayName, shortName, shortName
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

CMangler

public CMangler(int maxNameLen,
                int maxUnmangled)
         throws java.security.NoSuchAlgorithmException
Create a name mangler for C. This constructor provides the C character set.

Parameters:
maxNameLen - the maximum allowable number of characters in a name. Typically, this is 31 for the ANSI C standard.
maxUnmangled - the number of characters out of maxNameLen that should be used for unmangled content.
Throws:
java.security.NoSuchAlgorithmException - this is thrown when the SHA message digest is unavailable. Sun's specifications says that it should be available.