CSegDebugDefs.mesa
Edited by Bruce, 15-Sep-81 12:31:47
Edited by Sweet, 10-Nov-81 20:50:11
Last Edited by: Sweet, July 31, 1984 3:04:30 pm PDT
DIRECTORY
Buttons USING [Button],
Containers USING [Container],
IO,
Labels,
ListerUtils USING [OpCodeArray],
Menus,
PrincOps,
Rope USING [ROPE],
ViewerClasses USING [Viewer];
CSegDebugDefs: CEDAR DEFINITIONS =
BEGIN
ROPE: TYPE = Rope.ROPE;
Cmd: TYPE = Buttons.Button;
NumberCell, TextCell: TYPE = ViewerClasses.Viewer;
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,
autoNext: REF BOOL,
stopFlag: BOOLEANFALSE,
offset: CARDINAL, byte: [0..1],
bytesShown, bytesSeen, shortfall: CARDINAL,
charsOnLine: INT ← 0,
en: INT
];
Handle: TYPE = REF DataRec;
CommandViewer: TYPE = RECORD [
gfVal: NumberCell,
bpcVal: NumberCell,
nVal: NumberCell,
keyString: TextCell,
rangeVal: NumberCell];
CmdIndex: TYPE = {stop, gfi, wpc, code, octal, bytes, ascii, dspLf, goLf, prefix, findEp, next, back, pd, link, evi, find, numMop, mopNum};
BYTE: TYPE = [0..256);
Operation: TYPE = RECORD [
inst: BYTE,
params: [0..2],
wild: PACKED ARRAY [1..2] OF BOOLEAN ← [FALSE, FALSE],
variant: SELECT OVERLAID * FROM
ab => [param: PACKED ARRAY [1..2] OF BYTE],
wd => [wparam: CARDINAL],
ENDCASENULL];
CSegDebugCommands: PROGRAM;
DoCommand: PROC [Handle, CmdIndex, Menus.MouseButton];
CSegDebugInterface: PROGRAM;
CellCard: PROC [handle: Handle, n: NumberCell] RETURNS [CARDINAL];
CellInt: PROC [handle: Handle, n: NumberCell] RETURNS [INT];
GetNumber: PROC [handle: Handle, contents: Rope.ROPE] RETURNS [INT];
GetSelectionValue: PROC [Handle] RETURNS [UNSPECIFIED];
GetLongSelectionValue: PROC [Handle] RETURNS [LONG UNSPECIFIED];
CSegDebugContents: PROGRAM;
MopToRope: PROC [Handle, BYTE];
RopeToMop: PROC [Handle, ROPE];
PutAsCode: PROC [Handle];
PutAsOctal: PROC [Handle];
PutAsAscii: PROC [Handle];
PutAsBytes: PROC [Handle];
DisplayPrefix: PROC [Handle];
PutEntryItem: PROC [handle: Handle, epi: CARDINAL];
PutAsProcDesc: PROC [handle: Handle, desc: UNSPECIFIED];
FindEP: PROC [handle: Handle, pc: CARDINAL];
GoToLf: PROC [handle: Handle, lf: PrincOps.FrameHandle];
DspLf: PROC [handle: Handle, lf: PrincOps.FrameHandle];
PutLink: PROC [handle: Handle, lki: CARDINAL];
BackupPc: PROC [handle: Handle];
GenOperations: PROCEDURE [
handle: Handle, startPC: CARDINAL,
Action: PROC [handle: Handle, pc: CARDINAL, op: Operation] RETURNS [BOOLEAN],
n: CARDINAL] RETURNS [unused: CARDINAL];
CSegDebugSearch: PROGRAM;
MopForRope: PROC [handle: Handle, s: ROPE] RETURNS [b: BYTE];
RopeForMop: PROC [handle: Handle, b: BYTE] RETURNS [s: ROPE];
Search: PROC [handle: Handle] RETURNS [found: BOOLEAN];
END.