class FrameList

pri Frame : FrameInfo;

pri next : FrameList;

meth GetFrame =^ (res f: FrameInfo

f:= Frame;

)

end

meth SetFrame =^ (val f: FrameInfo

Frame:= f;

)

end

meth GetNext =^ (res f: FrameList

f:= Next;

)

end

meth SetNext =^ (val f: FrameList

Next:= f;

)

end

% Push and Pop for Frames

meth Push =^ ( vres TopFrame: FrameList; val F: FrameInfo

var NewFrameItem: FrameList

NewFrameItem := new FrameList;

NewFrameItem.SetFrame(F);

NewFrameItem.SetNext(TopFrame);

TopFrame:=NewFrameItem;

end

)

end

meth Pop =^ (vres TopFrame: FrameList; res F: FrameInfo

TopFrame.GetFrame(F);

TopFrame.GetNext(TopFrame);

)

end

 

end