-- CGenDebugDefs.mesa  Edited by Bruce,  October 14, 1980  4:17 PM

DIRECTORY
  CodeDefs USING [
    CCIndex, CCInfoType, ConsDestination, LabelInfoIndex, StackIndex, 
    VarIndex],
  FormSW USING [NotifyProcType],
  Menu USING [MCRType],
  RESOut USING [WindowsHandle],
  Symbols USING [ContextLevel],
  Table USING [Base, chunkType, Selector];

CGenDebugDefs: DEFINITIONS =
  BEGIN OPEN CodeDefs;


-- from CGenDebugInterface

  CGenDebugInterface: PROGRAM;

-- from CGenDebugCommands

  CGenDebugCommands: PROGRAM;
  handle: RESOut.WindowsHandle;

  ParamNotify: FormSW.NotifyProcType;
  MenuProc: Menu.MCRType;
  GetSelectionValue: PROCEDURE RETURNS [val: UNSPECIFIED];

-- from CGenDebugVar

  CGenDebugVar: PROGRAM;
  PutAsVar: PROCEDURE [index: VarIndex];
  PutAsComponent: PROCEDURE [cp: POINTER];

-- from CGenDebugCC

  CGenDebugCC: PROGRAM;
  ccInfo: CodeDefs.CCInfoType;

  PutPrevCC: PROCEDURE;
  PutNextCC: PROCEDURE;
  GoFwd: PROCEDURE [n: INTEGER];
  PutRecentCC: PROCEDURE [n: INTEGER];
  PutAsCC: PROCEDURE [index: CCIndex];
  WriteFOpName: PROCEDURE [n: CARDINAL];
  PutAsFopcode: PROCEDURE [n: CARDINAL];

-- from CGenDebugStack

  CGenDebugStack: PROGRAM;
  PutStackState: PROCEDURE;
  PutStackDown: PROCEDURE;
  PutStackUp: PROCEDURE;
  PutAsStack: PROCEDURE [sti: StackIndex];

-- from CGenDebugCons

  CGenDebugCons: PROGRAM;
  cd: CodeDefs.ConsDestination;
  UpdateConstDest: PROCEDURE;

-- from CGenDebugGlobals

  CGenDebugGlobals: PROGRAM;
  CCCur: PROCEDURE RETURNS [CodeDefs.CCIndex];
  CCFirst: PROCEDURE RETURNS [CodeDefs.CCIndex];
  CurContext: PROCEDURE RETURNS [Symbols.ContextLevel];
  GetFrameName: PROCEDURE [s: STRING,
      wd: CARDINAL, level: Symbols.ContextLevel, wSize: CARDINAL];
  LabelStack: PROCEDURE RETURNS [CodeDefs.LabelInfoIndex];
  PutCurrentBody: PROCEDURE;
  PutCurrentExpr: PROCEDURE;
  PutCurrentSource: PROCEDURE;
  PrintNextLine: PROCEDURE;
  PrintPrevLine: PROCEDURE;
  PutCurrentStmt: PROCEDURE;
  PutTempState: PROCEDURE;
  StackBottom: PROCEDURE RETURNS [StackIndex];
  StackState: PROCEDURE RETURNS [BOOLEAN];
  StackTop: PROCEDURE RETURNS [StackIndex];
  TableBase: PROCEDURE [table: Table.Selector ← Table.chunkType]
    RETURNS [Table.Base];

-- from CGenDebugLabels

  CGenDebugLabels: PROGRAM;
  PutLabelState: PROCEDURE;
  PutAsLabelInfoIndex: PROCEDURE [lii: CodeDefs.LabelInfoIndex];

  END.