/** * The SymbolTable allows symbol to address and address to symbol * lookups. It is currently used by the Assembler/Program/Processor * to hold label/line pairs */ public interface SymbolTable { /** * Adds a new pair */ void add(String symbol, int address); /** * Return one label for a given address */ String resolveSymbol(int address); /** * Returns all labels for a given address */ String[] resolveSymbols(int address); /** * Returns an address for the given symbol */ int resolveAddress(String label); /** * Returns a string version of the table */ String toString(); }