<<>> <> <> <> <> SymbolTable: DEFINITIONS = { <> Handle: TYPE = RECORD [ space: REF ¬ NIL, <> any: BOOL ¬ FALSE <> ]; nullHandle: Handle = [NIL, FALSE]; Base: TYPE = REF SymbolTableBaseRep; SymbolTableBase: TYPE = Base; SymbolTableBaseRep: TYPE; <> <> STBMissing: ERROR [handle: SymbolTable.Handle]; IllegalSTB: ERROR [base: SymbolTable.Base]; LockedSTB: ERROR [handle: SymbolTable.Handle, nLocks: NAT]; <> AcquireSTB: PROC [handle: SymbolTable.Handle] RETURNS [SymbolTable.Base]; ReleaseSTB: PROC [base: SymbolTable.Base]; ForgetSTB: PROC [handle: SymbolTable.Handle]; STBToHandle: PROC [base: SymbolTable.Base] RETURNS [SymbolTable.Handle]; STBCacheSize: PROC RETURNS [pages: CARDINAL]; SetSTBCacheSize: PROC [pages: CARDINAL]; Cleanup: PROC; }.