-- Lf.mesa  last edit, Bruce  July 5, 1980  4:37 PM

DIRECTORY
  Frames USING [
    CheckF, DisplayF, DisplayLocalsF, DisplayParametersF, DisplayResultsF,
     InMainBody, ValidateF],
  MachineDefs USING [FHandle, GFHandle],
  PrincOps USING [BytePC];

Lf: DEFINITIONS IMPORTS Frames =
  BEGIN OPEN Frames;

  Handle: TYPE = MachineDefs.FHandle;

  Validate: PROCEDURE [f: Handle] RETURNS [BOOLEAN] =
    INLINE {RETURN[ValidateF[f]]};
  Check: PROCEDURE [f: Handle] = INLINE {CheckF[f]};

  Display: PROCEDURE [f: Handle] = INLINE {DisplayF[f]};
  DisplayLocals: PROCEDURE [f: Handle] = INLINE {DisplayLocalsF[f]};
  DisplayParameters: PROCEDURE [f: Handle] = INLINE {DisplayParametersF[f]};
  DisplayResults: PROCEDURE [f: Handle] = INLINE {DisplayResultsF[f]};

  GF: PROCEDURE [f: Handle ← NIL] RETURNS [gf: MachineDefs.GFHandle];
  Previous: PROCEDURE [f: Handle] RETURNS [prev: Handle];
  PC: PROCEDURE [f: Handle ← NIL] RETURNS [pc: PrincOps.BytePC];

  CatchFrame: PROCEDURE [f: Handle] RETURNS [BOOLEAN];
  MainBody: PROCEDURE [f: Handle] RETURNS [BOOLEAN] =
    INLINE {RETURN[InMainBody[f]]};

  Clobbered: SIGNAL [f: Handle];
  NoPrevious: SIGNAL [f: Handle];
  NoAccessLink: SIGNAL [f: Handle];

  END.