DIRECTORY AMEvents USING [Event, BreakID], AMModel USING [Context, Section], IO USING [STREAM], MBQueue USING [Queue], SymTab USING [Ref], TypeScript USING [TS], WorldVM USING [World]; InterpreterToolPrivate: 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: TypeScript.TS _ 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. JInterpreterToolPrivate.mesa Paul Rovner, December 16, 1983 3:28 pm ĘH˜Jšœ™Jšœ&™&J™šĪk ˜ Jšœ œ˜ Jšœœ˜!Jšœœœ˜Jšœœ ˜Jšœœ˜Jšœ œ˜Jšœœ ˜J˜—Jšœ ˜#šœ˜J˜JšœœœĪc˜8šœœ˜š œœ˜Jšœž!˜>Jšœœ˜Jšœ!œ˜%Jšœœ˜Jšœœ˜Jšœœ˜Jšœœ˜Jšœœœ˜Jšœ œœœ˜Jšœ œœœ˜Jšœ  œ˜Jšœœ˜"Jšœœœ˜!Jšœœœ˜Jšœœœ˜Jšœœ˜Jšœœ˜"Jšœœ˜!Jšœ œ˜Jšœœ˜#Jšœ˜——Jšœœœ ˜šœ œœ˜Jšœ˜Jšœ˜Jšœ˜Jšœ˜J˜—šœ œœ˜Jšœ˜—J˜Jšœž*˜?J˜—šœ˜J˜J˜——…—äv