<<>> <> <> <> <> <> <> <> <> <> <<>> DIRECTORY CirioBreakAccess USING[CirioBreakSet], CirioNubAccess USING[Handle], CirioTargets USING[Target], CirioTypes USING[CompilerContext, Node], IO USING[STREAM], LoadStateAccess USING[LoadStateHandle], NewAmpersandProcs USING[Handle], NewRMTW USING[CedarModuleSet, RemoteMimosaTargetWorld], OneCasabaParser USING[ParserTable], PFSNames USING [PATH], Rope USING[ROPE], SourceFileOpsExtras USING [noPosition, Position, ShowProc], SystemInterface USING[FileSet]; StackCirio: CEDAR DEFINITIONS = BEGIN CC: TYPE = CirioTypes.CompilerContext; <> <<>> Stack: TYPE = REF StackBody; StackBody: TYPE; <<>> <> <<>> OpenStack: PROC[ ampersandContext1: CirioTypes.Node, ampersandContext2: CirioTypes.Node, cc: CC, rmtw: NewRMTW.RemoteMimosaTargetWorld, cedarModules: NewRMTW.CedarModuleSet, nub: CirioNubAccess.Handle, target: CirioTargets.Target, fileSet: SystemInterface.FileSet, breaks: CirioBreakAccess.CirioBreakSet, lsh: LoadStateAccess.LoadStateHandle, aph: NewAmpersandProcs.Handle, cParserTable: OneCasabaParser.ParserTable, hotFramePC: CARD, hotFrameSP: CARD, skipKFrames: CARD, ShowSource: SourceFileOpsExtras.ShowProc, reports: IO.STREAM] RETURNS[Stack]; OpenDummyStack: PROC[ ampersandContext1: CirioTypes.Node, ampersandContext2: CirioTypes.Node, cc: CC, rmtw: NewRMTW.RemoteMimosaTargetWorld, cedarModules: NewRMTW.CedarModuleSet, nub: CirioNubAccess.Handle, target: CirioTargets.Target, fileSet: SystemInterface.FileSet, breaks: CirioBreakAccess.CirioBreakSet, lsh: LoadStateAccess.LoadStateHandle, aph: NewAmpersandProcs.Handle, cParserTable: OneCasabaParser.ParserTable, ShowSource: SourceFileOpsExtras.ShowProc, reports: IO.STREAM] RETURNS[Stack]; <<>> ShowQuickSummary: PROC[stack: Stack, stopFlag: REF BOOLEAN, on: IO.STREAM, long: BOOL]; QuickGenPossibleModuleNames: PROC[stack: Stack, for: PROC[name: PFSNames.PATH] RETURNS[--stop-- BOOLEAN], reports: IO.STREAM]; <> NoteFileCacheFlush: PROC[stack: Stack]; Disassemble: PROC[stack: Stack, text: Rope.ROPE, reports: IO.STREAM, stop: REF BOOL _ NIL]; <<>> <> <<>> <<>> ResetStack: PROC[stack: Stack, reports: IO.STREAM] RETURNS[newFrameIndex: CARD]; <> WalkStack: PROC[stack: Stack, movement: INT, reports: IO.STREAM] RETURNS[actualMovement: INT, newFrameIndex: CARD]; <> WalkStackCedarFrames: PROC[stack: Stack, nCedarFrames: INT, reports: IO.STREAM] RETURNS[actualNCedarFrames: INT, newFrameIndex: CARD]; <> WalkStackToCProcedure: PROC[stack: Stack, partialProcName: Rope.ROPE, moduleName: Rope.ROPE, reports: IO.STREAM] RETURNS[BOOLEAN]; <> GetBannerForDotOofCurrentFrame: PROC[stack: Stack, reports: IO.STREAM] RETURNS[Rope.ROPE]; <> GetCurrentFrameBanner: PROC[stack: Stack, reports: IO.STREAM] RETURNS[Rope.ROPE]; <> ShowCurrentFrame: PROC[stack: Stack, reports: IO.STREAM] RETURNS[Rope.ROPE]; <> ShowSourcePosition: PROC[stack: Stack, reports: IO.STREAM, stop: REF BOOL _ NIL]; <> InterpretTextLine: PROC[stack: Stack, text: Rope.ROPE, reports: IO.STREAM] RETURNS[Rope.ROPE]; <> SetDesiredLanguage: PROC [stack: Stack, lang: Language, reports: IO.STREAM]; Language: TYPE ~ {C, Cedar, Machine}; ReportDesiredLanguage: PROC [stack: Stack, reports: IO.STREAM _ NIL] RETURNS [Language]; <> FormatPrompt: PROC [stack: Stack, counter: INT] RETURNS [Rope.ROPE]; ClearBreakPoint: PROC[stack: Stack, reports: IO.STREAM]; <> ClearIthBreakPoint: PROC [stack: Stack, i: INT, reports: IO.STREAM]; <> ClearAllBreakPoints: PROC[stack: Stack, reports: IO.STREAM]; ClearBreakPointAtPosition: PUBLIC PROC[stack: Stack, pos: SourceFileOpsExtras.Position, reports: IO.STREAM]; ClearBreakPointAtAddress: PUBLIC PROC[stack: Stack, addr: CARD, reports: IO.STREAM]; GetAbsPC: PROC[stack: Stack] RETURNS[CARD]; <> FrameDiagnosticInfo: PROC[stack: Stack, reports: IO.STREAM]; <> <> <<>> ListBreakPoints: PROC[stack: Stack, reports: IO.STREAM]; SetBreakPointAtPosition: PUBLIC PROC[stack: Stack, pos: SourceFileOpsExtras.Position, reports: IO.STREAM, stopAll: BOOLEAN] RETURNS [whereSet: SourceFileOpsExtras.Position _ SourceFileOpsExtras.noPosition]; SetBreakPointAtAddress: PUBLIC PROC[stack: Stack, addr: CARD, reports: IO.STREAM, stopAll: BOOLEAN]; END..