IPExec.mesa
Last edited by:
Doug Wyatt, April 8, 1983 4:57 pm
DIRECTORY
IPBasic USING [Any, Identifier, Integer, Number, Operator, SaveType, State, Vector];
IPExec: CEDAR DEFINITIONS
= BEGIN OPEN IPBasic;
2.4.4 Frame operators
FGet: PROC[self: State, n: Integer] RETURNS[Any];
Return the current value of the nth frame element.
! MasterError[BoundsFault] if n does not name an element of the frame
FSet: PROC[self: State, x: Any, n: Integer];
Set the value of the nth frame element to x.
! MasterError[BoundsFault] if n does not name an element of the frame
2.4.5 Operator operators
MakeCO: PROC[self: State, f: Vector] RETURNS[Operator];
Make a composed operator from the body that follows in the master.
Use f as the operator's initial frame.
! MasterError[NarrowFailed] if f cannot be converted into a Vec
! MasterError[MissingBody] if no body is found
MakeSimpleCO: PROC[self: State] RETURNS[Operator];
Make a composed operator from the body that follows in the master.
Use a copy of the current frame as the operator's initial frame.
! MasterError[MissingBody] if no body is found
Do: PROC[self: State, o: Operator, sv: SaveType ← nil];
DoBody: PROC[self: State, f: Vector, sv: SaveType ← nil];
DoSimpleBody: PROC[self: State, sv: SaveType ← nil];
2.4.7 Control operators
If: PROC[self: State, b: BOOL];
CopyNumberAndName: PROC[self: State]
RETURNS[copyNumber: Number, copyName: Identifier];
IfCopy: PROC[self: State, testCopy: Operator];
END.