file CompilerUtil.Mesa
last modified by Satterthwaite, January 10, 1983 8:49 am
Last Edited by: Maxwell, July 28, 1983 7:55 am
Last Edited by: Paul Rovner, September 7, 1983 3:55 pm
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 [CARDINAL];
ReadBCDIndex: PROC RETURNS [FileByteIndex];
AppendBCDWord: PROC [word: UNSPECIFIED];
AppendBCDWords: PROC [addr: Address, n: CARDINAL];
AppendBCDString: PROC [s: LONG STRING];
FillBCDPage: PROC;
UpdateBCDWords: PROC [offset: CARDINAL, addr: Address, n: CARDINAL];
EndBCD: PROC;
debugging
PrintTree: PROC [table: Alloc.Handle, root: Tree.Link];
PrintBodies: PROC [table: Alloc.Handle];
PrintSymbols: PROC [table: Alloc.Handle, definitions: BOOL];
}.