<<>> <> <> <> <> <> <> <> <> DIRECTORY CCTypes, CirioBreakAccess, CirioNubAccess, CirioTargets, CirioTypes, IO, LoadStateAccess, NewAmpersandProcs, NewRMTW, OneCasabaParser, PFSNames, RCTW, Rope, SourceFileOpsExtras, StackCirio, SystemInterface; StackCirioPrivate: CEDAR DEFINITIONS = BEGIN OPEN LSA:LoadStateAccess; <> <<>> ROPE: TYPE ~ Rope.ROPE; PATH: TYPE ~ PFSNames.PATH; Language: TYPE ~ StackCirio.Language; CC: TYPE = CirioTypes.CompilerContext; Stack: TYPE = REF StackBody; StackBody: PUBLIC TYPE = MONITORED RECORD[ tsOut: IO.STREAM, -- WARNING: this field is very transient. It is only valid during an interpretation of an expression, and was placed here for the convenience of ampersand routines and (local target wrld) user routines called through the interpreter. 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: LSA.LoadStateHandle, aph: NewAmpersandProcs.Handle, cParserTable: OneCasabaParser.ParserTable, dummyNode: CirioTypes.Node, -- WE PROBABLY have to put a real node of some sort here for subsequent call on CreateCompoundNameScope during handling of ampersand line hotFramePC: CARD, hotFrameSP: CARD, hotFrame: BasicFrameInfo, currentFrame: REF FrameData, ShowSource: SourceFileOpsExtras.ShowProc, desiredLang: Language]; FrameData: TYPE = RECORD[ basic: BasicFrameInfo, basicPCInfo: REF LSA.BasicPCInfo, ledo: REF LSA.LoadedModuleInfo, kind: ATOM, -- will be NIL until determined loadedCedarModule: REF NewRMTW.LoadedModuleInfo, rawFrameInfo: REF NewRMTW.RawFrameInfo, cedarFrameNode: REF NewRMTW.FrameNodeInfo, cFrameNode: REF RCTW.FrameNodeInfo]; BasicFrameInfo: TYPE = REF BasicFrameInfoBody; BasicFrameInfoBody: TYPE = RECORD[ frameIndex: CARD, absPC: CARD, framePointer: CARD, stackPointer: CARD, previous: BasicFrameInfo, next: BasicFrameInfo, data: REF FrameData -- can be NIL if not yet computed ]; <<>> END.