-- Gf.mesa last edit, Bruce September 4, 1980 4:25 PM
DIRECTORY
DebugFormat USING [CodeObject],
Frames USING [CheckGF, DisplayGF, DisplayLocalsGF, DisplayParametersGF, DisplayResultsGF, GetMainBody, ValidateGF],
MachineDefs USING [ControlLink, FHandle, FileHandle, GFHandle, GFTIndex],
PrincOps USING [ControlLink, FrameCodeBase, ProcDesc],
Symbols USING [HTIndex, HTNull];
Gf: DEFINITIONS IMPORTS Frames =
BEGIN OPEN Frames;
Handle: TYPE = MachineDefs.GFHandle;
Enumerate: PROCEDURE [proc: PROCEDURE [Handle] RETURNS [BOOLEAN]]
RETURNS [gf: Handle];
Validate: PROCEDURE [gf: Handle] RETURNS [BOOLEAN] =
INLINE {RETURN[ValidateGF[gf]]};
Check: PROCEDURE [gf: Handle] = INLINE {CheckGF[gf]};
Name: PROCEDURE [name: STRING, gf: Handle ← NIL];
Frame: PROCEDURE [name: STRING ← NIL] RETURNS [f: Handle];
FrameHti: PROCEDURE [hti: Symbols.HTIndex ← Symbols.HTNull]
RETURNS [f: Handle];
CodeBase: PROCEDURE [Handle] RETURNS [PrincOps.FrameCodeBase];
CheckStarted: PROCEDURE [Handle] RETURNS [BOOLEAN];
Started: PROCEDURE [Handle] RETURNS [BOOLEAN];
Shared: PROCEDURE [Handle] RETURNS [BOOLEAN];
Copied: PROCEDURE [Handle] RETURNS [BOOLEAN];
Original: PROCEDURE [new: Handle] RETURNS [old: Handle];
SameModule: PROCEDURE [gf1, gf2: Handle] RETURNS [BOOLEAN];
Deleted: PROCEDURE [MachineDefs.GFTIndex] RETURNS [BOOLEAN];
MainBody: PROC [gf: Handle] RETURNS [MachineDefs.FHandle] =
INLINE {RETURN[GetMainBody[gf]]};
Links: PROCEDURE [Handle] RETURNS [BOOLEAN];
NewLink: PROC [MachineDefs.ControlLink] RETURNS [PrincOps.ControlLink];
OldLink: PROC [PrincOps.ControlLink] RETURNS [MachineDefs.ControlLink];
GFI: PROCEDURE [Handle] RETURNS [MachineDefs.GFTIndex];
FrameGfi: PROCEDURE [MachineDefs.GFTIndex] RETURNS [Handle];
AddGfi: PROCEDURE [gf: Handle, cl: PrincOps.ControlLink]
RETURNS [pd: PrincOps.ProcDesc];
MakeDesc: PROCEDURE [gf: Handle, ep: CARDINAL]
RETURNS [pd: PrincOps.ProcDesc];
Display: PROCEDURE [gf: Handle, delim: STRING] =
INLINE {DisplayGF[gf,delim]};
DisplayInMsg: PROCEDURE [gf: Handle, delim: STRING];
DisplayGFTEntry: PROC [MachineDefs.GFTIndex];
DisplayGFT: PROCEDURE;
DisplayLocals: PROCEDURE [gf: Handle] =
INLINE {Frames.DisplayLocalsGF[gf]};
DisplayParameters: PROCEDURE [gf: Handle] =
INLINE {Frames.DisplayParametersGF[gf]};
DisplayResults: PROCEDURE [gf: Handle] =
INLINE {Frames.DisplayResultsGF[gf]};
CopiedFrame: SIGNAL [name: STRING];
-- these are really Drum related, but used GFHandles
Code: PROCEDURE [Handle] RETURNS [DebugFormat.CodeObject];
File: PROCEDURE [gf: Handle] RETURNS [MachineDefs.FileHandle];
END.