-- file SymbolTable.mesa -- last modified by Satterthwaite on May 24, 1982 9:13 am DIRECTORY FileSegment: TYPE USING [Pages, Span, nullPages, nullSpan, voidPages], SymbolPack: TYPE; SymbolTable: DEFINITIONS = { Handle: TYPE = FileSegment.Pages; nullHandle: Handle = FileSegment.nullPages; voidHandle: Handle = FileSegment.voidPages; -- used as flag anySpan: FileSegment.Span = FileSegment.nullSpan; -- wild card for Forget Base: TYPE = POINTER TO FRAME[SymbolPack]; Missing: ERROR [handle: SymbolTable.Handle]; IllegalBase: ERROR [base: SymbolTable.Base]; Acquire: PROC [handle: SymbolTable.Handle] RETURNS [SymbolTable.Base]; Release: PROC [base: SymbolTable.Base]; Forget: PROC [handle: SymbolTable.Handle]; Locked: ERROR [handle: SymbolTable.Handle, nLocks: NAT]; CacheSize: PROC RETURNS [pages: CARDINAL]; SetCacheSize: PROC [pages: CARDINAL]; }.