class RoolVirtualMachine
% Compiled program
pri fstClass : ClassList;
pri Initial : ClassInfo;
% Rool Execution Stack
pri TopFrame : FrameList;
% Set and Get Methods
meth SetfstClass =^ ( val f: ClassList ·
fstClass:= f;
)
end
meth GetfstClass =^ ( res f: ClassList ·
f:= fstClass;
)
end
meth SetInitial =^ ( val i: ClassInfo ·
Initial:= i;
)
end
meth GetInitial =^ ( res i: ClassInfo ·
i:= Initial;
)
end
% Getting next Bytecode
meth GetNextBytecode =^ ( res b: bytecode ·
var CurrentFrame: FrameInfo ·
TopFrame.GetFrame(CurrentFrame);
currentFrame.GetPC(b);
currentFrame.IncPC;
TopFrame.SetFrame(CurrentFrame);
end
)
end