<> <> <> <> DIRECTORY Buttons, CodeDefs, Containers, IO, Labels, ListerUtils, Menus, Rope, Symbols USING [ContextLevel, ISEIndex, ISENull], Table USING [Base, chunkType, Selector], ViewerClasses; MDebugDefs: DEFINITIONS = BEGIN OPEN CodeDefs; NumberCell, TextCell: TYPE = ViewerClasses.Viewer; Cmd: TYPE = Buttons.Button; ROPE: TYPE = Rope.ROPE; BYTE: TYPE = [0..256); DataRec: TYPE = RECORD [ outer: Containers.Container _ NIL, msg: Labels.Label, cmd: CommandViewer, -- the commands ts: ViewerClasses.Viewer, -- the typescript in, out: IO.STREAM, opData: ListerUtils.OpCodeArray, height: INT _ 0, showLinks: REF BOOL, infoVar: REF UNSPECIFIED, stopFlag: BOOLEAN _ FALSE, lastId: Symbols.ISEIndex _ Symbols.ISENull, charsOnLine: INT _ 0, dying: BOOL _ FALSE, en: INT ]; CommandViewer: TYPE = RECORD [ dVal: NumberCell]; CmdIndex: TYPE = {tree, lbl, lii, mdi, hti, cti, bti, sei, nextse, rep, body, stmt, expr, gFrames, source, stop}; Handle: TYPE = REF DataRec; <> MDebugInterface: PROGRAM; GetSelectionValue: PROCEDURE [h: Handle] RETURNS [val: UNSPECIFIED]; GetLongSelectionValue: PROCEDURE [h: Handle] RETURNS [val: INT]; CellCard: PROC [handle: Handle, n: NumberCell] RETURNS [CARDINAL]; <> MDebugCommands: PROGRAM; DoCommand: PROC [h: Handle, cmd: CmdIndex, button: Menus.MouseButton]; <> MDebugGlobals: PROGRAM; ClearCachedFrames: PUBLIC PROC [h: Handle]; CurContext: PROCEDURE [h: Handle] RETURNS [Symbols.ContextLevel]; GFrameSheet: PROC [h: Handle]; LabelStack: PROCEDURE [h: Handle] RETURNS [CodeDefs.LabelInfoIndex]; PutCurrentBody: PROCEDURE [h: Handle]; PutCurrentExpr: PROCEDURE [h: Handle]; PutCurrentSource: PROCEDURE [h: Handle]; PrintNextLine: PROCEDURE [h: Handle]; PrintPrevLine: PROCEDURE [h: Handle]; PutCurrentStmt: PROCEDURE [h: Handle]; PutTempState: PROCEDURE [h: Handle]; TableBase: PROCEDURE [h: Handle, table: Table.Selector _ Table.chunkType] RETURNS [Table.Base]; CDCopyRead: PROC [h: Handle, from: LONG POINTER, nwords: CARDINAL, to: LONG POINTER]; CDRead: PROC [Handle, LONG POINTER] RETURNS [UNSPECIFIED]; <> MDebugLabels: PROGRAM; PutLabelState: PROCEDURE [h: Handle]; PutAsLabelInfoIndex: PROCEDURE [h: Handle, lii: CodeDefs.LabelInfoIndex]; END.