edu.cornell.cs.sam.core
Class SamSymbolTable

java.lang.Object
  extended by edu.cornell.cs.sam.core.SamSymbolTable
All Implemented Interfaces:
SymbolTable, java.io.Serializable

public class SamSymbolTable
extends java.lang.Object
implements SymbolTable, java.io.Serializable

SymbolTable implementation using two HashMaps, one for forward lookup and one for reverse.

See Also:
Serialized Form

Constructor Summary
SamSymbolTable()
           
 
Method Summary
 void add(java.lang.String symbol, int address)
          Adds a new pair
 java.util.Collection<java.lang.String> getSymbols()
          Returns the symbols contained in this table.
 int resolveAddress(java.lang.String label)
          Returns an address for the given symbol
 java.lang.String resolveSymbol(int address)
          Return one symbol for a given address
 java.util.Collection<java.lang.String> resolveSymbols(int address)
          Returns all symbols for a given address
 java.lang.String toString()
          Returns a string version of the table
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

SamSymbolTable

public SamSymbolTable()
Method Detail

add

public void add(java.lang.String symbol,
                int address)
Description copied from interface: SymbolTable
Adds a new pair

Specified by:
add in interface SymbolTable

resolveSymbols

public java.util.Collection<java.lang.String> resolveSymbols(int address)
Description copied from interface: SymbolTable
Returns all symbols for a given address

Specified by:
resolveSymbols in interface SymbolTable

resolveSymbol

public java.lang.String resolveSymbol(int address)
Description copied from interface: SymbolTable
Return one symbol for a given address

Specified by:
resolveSymbol in interface SymbolTable

resolveAddress

public int resolveAddress(java.lang.String label)
Description copied from interface: SymbolTable
Returns an address for the given symbol

Specified by:
resolveAddress in interface SymbolTable

getSymbols

public java.util.Collection<java.lang.String> getSymbols()
Description copied from interface: SymbolTable
Returns the symbols contained in this table.

Specified by:
getSymbols in interface SymbolTable

toString

public java.lang.String toString()
Description copied from interface: SymbolTable
Returns a string version of the table

Specified by:
toString in interface SymbolTable
Overrides:
toString in class java.lang.Object