-- JaMFns.mesa
-- Last changed by Doug Wyatt, 20-Jan-82 16:37:25
DIRECTORY
StreamDefs USING [StreamHandle];
JaMFns: DEFINITIONS = {
Frame: TYPE = LONG POINTER TO FrameObject;
FrameObject: TYPE;
StreamHandle: TYPE = StreamDefs.StreamHandle;
Register: PROC[LONG STRING, PROC[Frame], Frame ← NIL];
Execute: PROC[LONG STRING, Frame ← NIL];
PushInteger: PROC[INTEGER, Frame ← NIL];
PopInteger: PROC[Frame ← NIL] RETURNS[INTEGER];
PushLongInteger: PROC[LONG INTEGER, Frame ← NIL];
PopLongInteger,GetLongInteger: PROC[Frame ← NIL] RETURNS[LONG INTEGER];
PushReal: PROC[REAL, Frame ← NIL];
PopReal,GetReal: PROC[Frame ← NIL] RETURNS[REAL];
PushBoolean: PROC[BOOLEAN, Frame ← NIL];
PopBoolean: PROC[Frame ← NIL] RETURNS[BOOLEAN];
PushString: PROC[LONG STRING, Frame ← NIL];
PopString: PROC[LONG STRING, Frame ← NIL];
StringOverflow: SIGNAL[s: LONG STRING] RETURNS[ns: LONG STRING];
PushStream: PROC[StreamHandle, Frame ← NIL];
PopStream: PROC[Frame ← NIL] RETURNS[StreamHandle];
Pop: PROC[Frame ← NIL];
GetJaMBreak: PROC[Frame ← NIL] RETURNS[BOOLEAN];
SetJaMBreak: PROC[BOOLEAN ← TRUE, Frame ← NIL];
}.