DEFINITION MODULE M2TM;
(*$ LargeVars:=FALSE NameChk:=FALSE LongAlign:=TRUE *)
FROM M2DM IMPORT
 Ident,ObjPtr,ObjClass,StrPtr,StrForm,ParPtr,PDPtr;

VAR
 topScope,Scope:ObjPtr; (*header of scope located by Find*)

PROCEDURE FindInScope(id{6}: Ident; root{11B}:ObjPtr):ObjPtr;
PROCEDURE Find(id{6}: Ident):ObjPtr;
PROCEDURE FindImport(id{6}: Ident):ObjPtr;

PROCEDURE NewObj(id{6}: Ident; class{7}:ObjClass):ObjPtr;
PROCEDURE NewStr(form:StrForm):StrPtr;
PROCEDURE NewPar(ident: Ident; isvar:BOOLEAN; parMode:INTEGER;
                 last:ParPtr):ParPtr;
PROCEDURE NewImp(scope,obj:ObjPtr);

PROCEDURE NewScope(kind:ObjClass);
PROCEDURE CloseScope;

PROCEDURE CheckUDP(obj:ObjPtr);
PROCEDURE MarkHeap;
PROCEDURE ReleaseHeap;
PROCEDURE InitTableHandler;

END M2TM.
