<> <> <> <> DIRECTORY Alloc: TYPE USING [Handle], CompilerOps: TYPE USING [StreamId], IO: TYPE USING [STREAM], Tree: TYPE USING [Link, Map, Scan]; CompilerUtil: DEFINITIONS = { <> StreamId: TYPE = CompilerOps.StreamId; AcquireStream: PROC [StreamId] RETURNS [IO.STREAM]; ReleaseStream: PROC [StreamId]; <> TableId: TYPE = MACHINE DEPENDENT {error, debug, (255)}; AcquireTable: PROC [TableId] RETURNS [LONG POINTER]; ReleaseTable: PROC [TableId]; <> 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; <> 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; <> PrintTree: PROC [table: Alloc.Handle, root: Tree.Link]; PrintBodies: PROC [table: Alloc.Handle]; PrintSymbols: PROC [table: Alloc.Handle, definitions: BOOL]; }.