fmrisc.Syntax
Class UniqueNameTable

java.lang.Object
  extended by fmrisc.Syntax.UniqueNameTable

public final class UniqueNameTable
extends java.lang.Object

Table used to create unique names from given names.


Constructor Summary
UniqueNameTable()
          Create empty name table.
UniqueNameTable(Environment env)
          Create name table such that no generated name conflicts with any value identifier in the given environment.
 
Method Summary
static java.lang.String getBaseName(java.lang.String name)
          Get base name from name.
 java.lang.String getUniqueName(java.lang.String name)
          Create unique identifier name from given name.
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

UniqueNameTable

public UniqueNameTable()
Create empty name table.


UniqueNameTable

public UniqueNameTable(Environment env)
Create name table such that no generated name conflicts with any value identifier in the given environment.

Parameters:
env - the environment whose value identifiers are already used.
Method Detail

getUniqueName

public java.lang.String getUniqueName(java.lang.String name)
Create unique identifier name from given name.

Parameters:
name - of an identifier
Returns:
a unique version of name not in use anywhere else as a unique id.

getBaseName

public static java.lang.String getBaseName(java.lang.String name)
Get base name from name.

Parameters:
name - a name (possible unique as returned by getUniqueName()).
Returns:
the original base name (which may be the name itself).