-- Frames.mesa  last edit, Bruce  September 22, 1980  6:55 PM

DIRECTORY
  MachineDefs USING [FHandle, GFHandle];

Frames: DEFINITIONS =
  BEGIN OPEN MachineDefs;

  LG: TYPE = {local, global};

  Type: PROC [POINTER] RETURNS [LG];

  ValidateF: PROCEDURE [FHandle] RETURNS [BOOLEAN];
  CheckF: PROCEDURE [FHandle];
  ValidateGF: PROCEDURE [GFHandle] RETURNS [BOOLEAN];
  CheckGF: PROCEDURE [GFHandle];

  DisplayF: PROCEDURE [FHandle];
  DisplayGF: PROCEDURE [gf: GFHandle, delim: STRING];

  DisplayLocalsF: PROCEDURE [FHandle];
  DisplayParametersF: PROCEDURE [FHandle];
  DisplayResultsF: PROCEDURE [FHandle];
  DisplayLocalsGF: PROCEDURE [GFHandle];
  DisplayParametersGF: PROCEDURE [GFHandle];
  DisplayResultsGF: PROCEDURE [GFHandle];

  InMainBody: PROCEDURE [f: FHandle] RETURNS [BOOLEAN];
  GetMainBody: PROC [GFHandle] RETURNS [FHandle];

  Cache: PROC [f: POINTER, lg: LG] RETURNS [copy: POINTER]; 
  FlushFrameCache: PROC;

  PreDeclared: PROC [UNSPECIFIED] RETURNS [BOOLEAN];

  Invalid: SIGNAL [f: POINTER];

  END.