-- BP.mesa last edit, Johnsson July 15, 1980 10:45 AM DIRECTORY DebugFormat USING [BBHandle, BreakType, Foo], MachineDefs USING [GFHandle, UBBPointer], PrincOps USING [BytePC, SVPointer], Tree USING [NodeName]; BP: DEFINITIONS = BEGIN BBHandle: TYPE = DebugFormat.BBHandle; GFHandle: TYPE = MachineDefs.GFHandle; BytePC: TYPE = PrincOps.BytePC; -- Break Blocks WriteUserBB: PROCEDURE [ubb: MachineDefs.UBBPointer]; FindUserBB: PROCEDURE [gf: GFHandle, pc: BytePC] RETURNS [CARDINAL]; GetUserBB: PROCEDURE [gf: GFHandle, pc: BytePC] RETURNS [CARDINAL]; FreeUserBB: PROCEDURE [gf: GFHandle, pc: BytePC]; Alloc: PROC RETURNS [BBHandle]; Free: PROC [BBHandle]; DeleteBB: PROCEDURE [bb: BBHandle] RETURNS [last: BOOLEAN]; FindBB: PROCEDURE [gf: GFHandle, pc: BytePC] RETURNS [bb: BBHandle]; FindModBB: PROCEDURE [gf: GFHandle, pc: BytePC] RETURNS [bb: BBHandle]; FindBBNum: PROC [CARDINAL] RETURNS [BBHandle]; ResetBBs: PROCEDURE; EnumerateBBs: PROCEDURE [ proc: PROC [BBHandle] RETURNS [BOOLEAN], gf: GFHandle ← NIL] RETURNS [BBHandle]; -- Breakpoints BreakEntry, BreakExit, TraceEntry, TraceExit: PROC [proc: STRING]; ClearEntryBreak, ClearXitBreak: PROC [proc: STRING]; ClearEntryTrace, ClearXitTrace: PROC [proc: STRING]; BreakAllEntries, BreakAllXits: PROCEDURE [mod, exp: STRING]; TraceAllEntries, TraceAllXits: PROCEDURE [mod, exp: STRING]; ClearAllEntries, ClearAllXits: PROCEDURE [mod: STRING]; ClearBreak: PROC [bbNum: STRING]; ClearDefault: PROC [BBHandle]; AttachCondition: PROC [bbNum, cond: STRING]; AttachExpression: PROC [bbNum, exp: STRING]; ClearCondition: PROC [bbNum: STRING]; ClearExpression: PROC [bbNum: STRING]; ListBreak: PROC [bbNum: STRING]; ClearAllBreaks, ListBreaks: PROCEDURE; -- Utilities OctalBreak, ClearOctal: PROCEDURE [gf, pc: STRING]; Insert: PROCEDURE [ gf: GFHandle, pc: BytePC, bt: DebugFormat.BreakType, haveSyms: BOOLEAN] RETURNS [bb: BBHandle]; Remove: PROCEDURE [gf: GFHandle, pc: BytePC]; Conditionalize: PROCEDURE [BBHandle, STRING]; Condition: PROC [left: DebugFormat.Foo, rel: Tree.NodeName, right: DebugFormat.Foo]; Expressionalize: PROCEDURE [BBHandle, STRING]; List: PROC [BBHandle]; Validate: PROCEDURE [PrincOps.SVPointer] RETURNS [BOOLEAN]; Error: TYPE = { tooManyConditions, invalidRelation, conditionNotFound, size, stack, portI, notExchangable, notFound, noneSet, noSym, noFGT, inInline, alreadySet, noReturn, worryOn, spare1, spare2, spare3, spare4}; Fail: SIGNAL [type: Error]; AbortWithError: PROC [err: Error]; WriteError: PROC [err: Error]; AppendError: PROC [STRING, Error]; END.