Text preview for : BcdTableDefs.mesa_Oct77.pdf part of xerox BcdTableDefs.mesa Oct77 xerox mesa 3.0_1977 listing BcdTableDefs.mesa_Oct77.pdf

Back to : BcdTableDefs.mesa_Oct77.p | Home

bcdtabledefs.mESA 24-0CT-77 21:16:31 Page 1

-- BcdTableDefs.Mesa Edited by Johnsson on June 28, 1977 2:32 PM
AltoDefs: FROM "altodefs";
TableSelector: TYPE = CARDINAL [0 .. 10];
-- tables for the binder (adjust TableSelector also)
treetype: TableSelector a 0; trees
httype: TableSelector 1; hash table
sstype: TableSelector = 2; string table
cttype: TableSelector = 3; config table
mtty~e: TableSelector = 4; module table
imptype: TableSelector = 5; import table
exptype: TableSelector = 6; export table
fttype: TableSelector = 7; file table
sttype: TableSelector = 8; semantic table
cxtype: TableSelector 9; context table
nttype: TableSelector = 10; name table
TableLimit: CARDINAL = 40000B;
TableBase: TYPE = [O .. AltoOefs.VMLimit];
TableIndex: TYPE = POINTER [O .. TableLimit);

-- allocation from the tables as stacks
Allocate: PROCEDURE [table: TableSelector, size: CARDINAL] RETURNS [TableIndex]:
ResetTable: PUBLIC PROCEDURE [table: TableSelector]:
TableBounds: PROCEDURE [table: TableSelector] RETURNS [base: TableBase, size: CARDINAL]:
TableOverflow: SIGNAL RETURNS [origin, limit: CARDINAL]:
StackAllocateError: SIGNAL [table: TableSelector]:
-- allocation from free list (first table only)
chunktype: TableSelector = FIRST[TableSelector]:
GetChunk: PROCEDURE [size: CARDINAL] RETURNS [TableIndex]:
FreeChunk: PROCEDURE [i: TableIndex, size: CARDINAL];
-- notification of repacking
TableNotifier: TYPE = PROCEDURE [base: DESCRIPTOR FOR ARRAY TableSelector OF TableBase]:
AddNotify: PROCEDURE [proc: TableNotifier]:
DropNotify: PROCEDURE [proc: TableNotifier]:
-- administrative procedures
InitializeTable: PROCEDURE [origin, size: CARDINAL]:
EraseTable: PROCEDURE:
END ...