perm filename IROOT.2[EAL,HE] blob sn#713252 filedate 1983-06-02 generic text, type C, neo UTF8
COMMENT āŠ—   VALID 00003 PAGES
C REC  PAGE   DESCRIPTION
C00001 00001
C00002 00002	{$NOMAIN	Main part of the Interpreter }
C00004 00003	(* Routines to handle inter-overlay calls *)
C00007 ENDMK
CāŠ—;
{$NOMAIN	Main part of the Interpreter }

%include ialhdr.pas;

{ Externally defined routines: }

	(* Arithmetic routines *)
function ttmul (t1,t2: transp): transp; 			external;
function tinvrt (t: transp): transp; 				external;
function taxis (t: transp): vectorp; 				external;
function tmagn (t: transp): scalar; 				external;

	(* From IAUX1A *)
function getVar (level, offset: byte): enventryp;		external;

	(* From IAUX2A *)
procedure setVal (level, offset: byte);				external;

	(* From IFLUSH *)
procedure flushKids(p: pdbp; zapit: boolean);			external;

	(* Routines used only to call in overlays *)
procedure iAux1bGet;						external;
procedure iOv2Get; 						external;

(* Routines to handle inter-overlay calls *)

function i1bTaxis (t: transp): vectorp; external;
function i1bTaxis ;
 begin i1bTaxis := taxis(t); iAux1bGet; end;

function i1bTmagn (t: transp): scalar; external;
function i1bTmagn ;
 begin i1bTmagn := tmagn(t); iAux1bGet; end;

procedure i1bSetVal (level, offset: byte); external;
procedure i1bSetVal;
 begin setval(level,offset); iAux1bGet end;

function i1bGetVar (level, offset: byte): enventryp; external;
function i1bGetVar;
 begin i1bGetVar := getVar(level,offset); iAux1bGet end;

procedure ov2FlushKids(p: pdbp; zapit: boolean); external;
procedure ov2FlushKids;
 begin flushKids (p,zapit); iOv2Get; end;