[ivy]<Satterthwaite>Mimosa>CompilerUtil.mesa!2

CompilerUtil.Mesa
Copyright © 1985 by Xerox Corporation. All rights reserved.
Satterthwaite, June 10, 1986 11:56:34 am PDT
Maxwell, July 28, 1983 7:55 am
Paul Rovner, September 7, 1983 3:55 pm
Russ Atkinson (RRA) March 6, 1985 10:10:42 pm PST
DIRECTORY
Alloc: TYPE USING [Handle],
CompilerOps: TYPE USING [StreamId],
IO: TYPE USING [STREAM],
Tree: TYPE USING [Link, Map, Scan];
CompilerUtil: DEFINITIONS = {
stream management
StreamId: TYPE = CompilerOps.StreamId;
AcquireStream: PROC[StreamId] RETURNS[IO.STREAM];
ReleaseStream: PROC[StreamId];
binary table management
TableId: TYPE = MACHINE DEPENDENT {error, debug, (255)};
AcquireTable: PROC[TableId] RETURNS[LONG POINTER];
ReleaseTable: PROC[TableId];
compiler passes
InstallParseTables: PROC[LONG POINTER];
PrefillSymbols: PROC;
P1Unit: PROC RETURNS[BOOL];
P2Unit: Tree.Map;
P3Unit: Tree.Map;
P3Postlude: PROC[expand: BOOL];
P4Unit: Tree.Scan;
P5module: PROC;
object output
Address: TYPE = LONG POINTER;
FileByteIndex: TYPE = INT;
StartObjectFile: PROC[IO.STREAM];
EndObjectFile: PROC[update: BOOL];
TableOut: PROC[Alloc.Handle];
RTTableOut: PROC[Alloc.Handle];
NextFilePage: PROC RETURNS[CARDINAL];
StartBCD: PROC;
ReadBCDOffset: PROC RETURNS[CARD];
ReadBCDIndex: PROC RETURNS[FileByteIndex];
AppendBCDWord: PROC[word: UNSPECIFIED];
AppendBCDWords: PROC[addr: Address, n: CARD];
AppendBCDString: PROC[s: LONG STRING];
FillBCDPage: PROC;
UpdateBCDWords: PROC[offset: CARD, addr: Address, n: CARD];
EndBCD: PROC;
debugging
PrintTree: PROC[table: Alloc.Handle, root: Tree.Link];
PrintBodies: PROC[table: Alloc.Handle];
PrintSymbols: PROC[table: Alloc.Handle, definitions: BOOL];
}.