File: ProcBody.i3 Last modified on Thu Jul 14 09:10:35 PDT 1994 by kalsow
INTERFACEThis interface manages the order that procedure bodies are emitted.ProcBody ;
IMPORT CG;
TYPE
T <: T_;
T_ = OBJECT
parent : T := NIL; (* set by Push *)
level : INTEGER := 0; (* set by Push *)
name : TEXT := NIL; (* set by client *)
cg_proc : CG.Proc := NIL; (* set by client *)
METHODS
gen_decl ();
gen_body ();
END;
PROCEDURE Push (t: T);
pushes the procedure that will be written as a child of the current procedure.
PROCEDURE Pop ();
pops the current procedure
PROCEDURE Schedule (t: T);
schedules t to be written as a top-level procedure PROCEDURE EmitAll (VAR proc_info: INTEGER);
generate all the procedure bodies and build the global proc table.
PROCEDURE Reset (); END ProcBody.