DIRECTORY AMEvents USING [Event, BreakID], AMModel USING [Context, Section], IO USING [STREAM], MBQueue USING [Queue], SymTab USING [Ref], ViewerClasses USING [Viewer], WorldVM USING [World]; InterpreterToolPrivate: CEDAR DEFINITIONS = BEGIN Handle: TYPE = REF InterpreterObject; -- one per viewer InterpreterObject: TYPE = MONITORED RECORD [ remoteWorld: WorldVM.World, -- NIL => local only in this nest context: AMModel.Context _ NIL, globalContext: AMModel.Context _ NIL, event: AMEvents.Event _ NIL, nestingLevel: NAT _ 0, symTab: SymTab.Ref _ NIL, nextVarIndex: INT _ 0, ts: ViewerClasses.Viewer _ NIL, tsInStream: IO.STREAM _ NIL, tsOutStream: IO.STREAM _ NIL, Stuffable: CONDITION, menuHitQueue: MBQueue.Queue _ NIL, terminateRequested: BOOL _ FALSE, proceedRequested: BOOL _ FALSE, abortRequested: BOOL _ FALSE, stopRequested: BOOL _ FALSE, bootReturnRequested: BOOL _ FALSE, bootedWorld: WorldVM.World _ NIL, stuffAble: BOOL _ TRUE, readEvalPrintProcess: PROCESS _ NIL ]; Break: TYPE = REF BreakObject; BreakObject: TYPE = RECORD[ index: BreakIndex, breakID: AMEvents.BreakID, world: WorldVM.World, section: AMModel.Section]; BreakIndex: TYPE = INT; nullBreakIndex: BreakIndex = 0; nextBI: BreakIndex; -- BEWARE that these guys aren't protected END. ²InterpreterToolPrivate.mesa Copyright c 1985 by Xerox Corporation. All rights reserved. Paul Rovner, December 16, 1983 3:28 pm Doug Wyatt, April 25, 1985 0:12:13 am PST Κg˜codešœ™Kšœ Οmœ1™Kšœžœ˜Kšœ!žœ˜%Kšœžœ˜Kšœžœ˜Kšœžœ˜Kšœžœ˜Kšœžœ˜Kšœ žœžœžœ˜Kšœ žœžœžœ˜Kšœ ž œ˜Kšœžœ˜"Kšœžœžœ˜!Kšœžœžœ˜Kšœžœžœ˜Kšœžœžœ˜Kšœžœžœ˜"Kšœžœ˜!Kšœ žœžœ˜Kšœžœž˜#Kšœ˜——Kšœžœžœ ˜šœ žœžœ˜Kšœ˜Kšœ˜Kšœ˜Kšœ˜K˜—šœ žœžœ˜Kšœ˜—K˜Kšœ *˜?K˜—šžœ˜K˜K˜——…—ψ