<> <> <> <> DIRECTORY Buttons, CodeDefs, Containers, IO, Labels, ListerUtils, Menus, Rope, Symbols USING [ContextLevel, ISEIndex, ISENull], Table USING [Base, chunkType, Selector], ViewerClasses; CDebugDefs: 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, lastSti: CodeDefs.StackIndex _ CodeDefs.StackNull, lastCC: CodeDefs.CCIndex _ CodeDefs.CCNull, charsOnLine: INT _ 0, dying: BOOL _ FALSE, en: INT ]; CommandViewer: TYPE = RECORD [ dVal: NumberCell]; CmdIndex: TYPE = {tree, asCC, var, vcomp, first, cur, rcnt, fwd, prev, next, temp, allStack, stack, tos, down, up, lbl, lii, mdi, hti, cti, bti, sei, nextse, fop, mop, rep, body, stmt, expr, gFrames, source, stop}; Handle: TYPE = REF DataRec; <> CDebugInterface: PROGRAM; GetSelectionValue: PROCEDURE [h: Handle] RETURNS [val: UNSPECIFIED]; GetLongSelectionValue: PROCEDURE [h: Handle] RETURNS [val: INT]; CellCard: PROC [handle: Handle, n: NumberCell] RETURNS [CARDINAL]; <> CDebugCommands: PROGRAM; DoCommand: PROC [h: Handle, cmd: CmdIndex, button: Menus.MouseButton]; <> CDebugVar: PROGRAM; PutAsVar: PROCEDURE [h: Handle, index: VarIndex]; PutAsComponent: PROCEDURE [h: Handle, cp: POINTER]; <> CDebugCC: PROGRAM; ccInfo: CodeDefs.CCInfoType; PutPrevCC: PROCEDURE [h: Handle]; PutNextCC: PROCEDURE [h: Handle]; GoFwd: PROCEDURE [h: Handle, n: INTEGER]; PutRecentCC: PROCEDURE [h: Handle, n: INTEGER]; PutAsCC: PROCEDURE [h: Handle, index: CCIndex]; <> CDebugStack: PROGRAM; PutStackState: PROCEDURE [h: Handle]; PutStackDown: PROCEDURE [h: Handle]; PutStackUp: PROCEDURE [h: Handle]; -- GetBackup: PROC [s: LONG STRING, backup: StackBackup]; PutAsStack: PROCEDURE [h: Handle, sti: StackIndex]; <> CDebugCons: PROGRAM; cd: CodeDefs.ConsDestination; UpdateConstDest: PROCEDURE [h: Handle]; <> CDebugGlobals: PROGRAM; CCCur: PROCEDURE [h: Handle] RETURNS [CodeDefs.CCIndex]; CCFirst: PROCEDURE [h: Handle] RETURNS [CodeDefs.CCIndex]; CurContext: PROCEDURE [h: Handle] RETURNS [Symbols.ContextLevel]; GetFrameName: PROCEDURE [h: Handle, s: IO.STREAM, wd: CARDINAL, level: Symbols.ContextLevel, wSize: CARDINAL]; 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]; StackBottom: PROCEDURE [h: Handle] RETURNS [StackIndex]; StackState: PROCEDURE [h: Handle] RETURNS [BOOLEAN]; StackTop: PROCEDURE [h: Handle] RETURNS [StackIndex]; 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]; <> CDebugLabels: PROGRAM; PutLabelState: PROCEDURE [h: Handle]; PutAsLabelInfoIndex: PROCEDURE [h: Handle, lii: CodeDefs.LabelInfoIndex]; <> CDebugTabels: PROGRAM; RopeForMisc: PROC [m: BYTE] RETURNS [ROPE]; RopeForSD: PROC [m: BYTE] RETURNS [ROPE]; RopeForMop: PROC [m: BYTE] RETURNS [ROPE]; RopeForFop: PROC [m: BYTE] RETURNS [ROPE]; MopForRope: PROC [r: ROPE] RETURNS [INTEGER]; FopForRope: PROC [r: ROPE] RETURNS [INTEGER]; END.