IPExecute.mesa
Copyright Ó 1984, 1985, 1986, 1987 by Xerox Corporation. All rights reserved.
Allan Wax: January 13, 1987 1:03:07 pm PST
DIRECTORY
IPInterpreter USING [--ZeroVec, topFrameSize,-- Ref, Cardinal],
IPMaster USING [Vector, Node, Preamble],
Interpress USING [Master, LogProc];
IPExecute: CEDAR DEFINITIONS ~
BEGIN
emptyVec: READONLY IPMaster.Vector -- ~ IPInterpreter.ZeroVec[0]-- ;
topFrame: READONLY IPMaster.Vector -- ~ IPInterpreter.ZeroVec[IPInterpreter.topFrameSize]-- ;
topEnv: READONLY IPMaster.Vector -- ~ emptyVec-- ; -- empty vector, for now
defaultMaxStackLength: IPInterpreter.Cardinal ~ 1000;
Master: TYPE ~ Interpress.Master;
LogProc: TYPE ~ Interpress.LogProc;
Ref: TYPE ~ IPInterpreter.Ref;
ExecutePreamble: PROC [self: Ref, preamble: IPMaster.Preamble, frame, env: IPMaster.Vector, log: LogProc];
DoInstructions: PROC [master: Master, log: LogProc];
DoTopAction: PROC [self: Ref, action: PROC, log: LogProc];
CallNode: PROC [self: Ref, node: IPMaster.Node, frame, env: IPMaster.Vector];
CallPreamble: PROC [self: Ref, preamble: IPMaster.Preamble, frame, env: IPMaster.Vector];
END.