[ivy]<Satterthwaite>Mimosa>SymbolTable.mesa!1

SymbolTable.mesa
Copyright © 1985 by Xerox Corporation. All rights reserved.
Satterthwaite on May 24, 1982 9:13 am
Rovner on June 30, 1983 10:21 am
Russ Atkinson (RRA) January 31, 1985 1:10:24 pm PST
DIRECTORY
FileSegment USING [Pages, Span, nullPages, nullSpan, voidPages],
SymbolPack;
SymbolTable: DEFINITIONS = {
TYPEs
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];
ERRORs
Missing: ERROR [handle: SymbolTable.Handle];
IllegalBase: ERROR [base: SymbolTable.Base];
Locked: ERROR [handle: SymbolTable.Handle, nLocks: NAT];
PROCs
Acquire: PROC [handle: SymbolTable.Handle] RETURNS [SymbolTable.Base];
Release: PROC [base: SymbolTable.Base];
Forget: PROC [handle: SymbolTable.Handle];
BaseToHandle: PROC [base: SymbolTable.Base] RETURNS [SymbolTable.Handle];
CacheSize: PROC RETURNS [pages: CARDINAL];
SetCacheSize: PROC [pages: CARDINAL];
}.