CompilerUtil.Mesa
Copyright Ó 1985, 1986, 1988, 1991 by Xerox Corporation. All rights reserved.
Satterthwaite, June 10, 1986 11:56:34 am PDT
Russ Atkinson (RRA) March 21, 1989 0:16:47 am PST
DIRECTORY
Alloc USING [Handle],
CompilerOps USING [StreamId],
IO USING [STREAM],
Tree USING [Link, Map, Scan];
CompilerUtil: DEFINITIONS = {
stream management
StreamId: TYPE = CompilerOps.StreamId;
AcquireStream: PROC [StreamId] RETURNS [IO.STREAM];
ReleaseStream: PROC [StreamId];
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;
same as FileStream.FileByteIndex
StartObjectFile: PROC [IO.STREAM];
EndObjectFile: PROC [update: BOOL];
TableOut: PROC [Alloc.Handle];
RTTableOut: PROC [Alloc.Handle];
StartMob: PROC;
ReadMobOffset: PROC RETURNS [CARD];
ReadMobIndex: PROC RETURNS [FileByteIndex];
AppendMobCard: PROC [word: CARD];
AppendMobPair: PROC [first: CARD16, second: CARD16];
Appends two CARD16 values (in MSBIT MDR order)
AppendMobUnits: PROC [addr: Address, n: CARD];
AppendMobString: PROC [s: LONG STRING];
FillMobPage: PROC;
UpdateMobUnits: PROC [index: FileByteIndex, addr: Address, n: CARD];
EndMob: PROC;
debugging
PrintTree: PROC [table: Alloc.Handle, root: Tree.Link];
PrintBodies: PROC [table: Alloc.Handle];
PrintSymbols: PROC [table: Alloc.Handle, definitions: BOOL];
}.