CDebugDefs.mesa
Edited by Bruce, October 14, 1980 4:17 PM
Edited by Sweet, 22-Nov-81 17:21:24
Sweet February 11, 1986 11:21:20 am PST
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: BOOLEANFALSE,
lastId: Symbols.ISEIndex ← Symbols.ISENull,
lastSti: CodeDefs.StackIndex ← CodeDefs.StackNull,
lastCC: CodeDefs.CCIndex ← CodeDefs.CCNull,
charsOnLine: INT ← 0,
dying: BOOLFALSE,
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;
from CDebugInterface
CDebugInterface: PROGRAM;
GetSelectionValue: PROCEDURE [h: Handle] RETURNS [val: UNSPECIFIED];
GetLongSelectionValue: PROCEDURE [h: Handle] RETURNS [val: INT];
CellCard: PROC [handle: Handle, n: NumberCell] RETURNS [CARDINAL];
from CDebugCommands
CDebugCommands: PROGRAM;
DoCommand: PROC [h: Handle, cmd: CmdIndex, button: Menus.MouseButton];
from CDebugVar
CDebugVar: PROGRAM;
PutAsVar: PROCEDURE [h: Handle, index: VarIndex];
PutAsComponent: PROCEDURE [h: Handle, cp: POINTER];
from CDebugCC
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];
from CDebugStack
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];
from CDebugCons
CDebugCons: PROGRAM;
cd: CodeDefs.ConsDestination;
UpdateConstDest: PROCEDURE [h: Handle];
from CDebugGlobals
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];
from CDebugLabels
CDebugLabels: PROGRAM;
PutLabelState: PROCEDURE [h: Handle];
PutAsLabelInfoIndex: PROCEDURE [h: Handle, lii: CodeDefs.LabelInfoIndex];
from CDebugTables
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.