
<<FILE: M2T.mesa>>
<<Modula-2 Symboltable handler>>
<<Last Edited by: Gutknecht, September 18, 1985 0:29:25 am PDT>>
    <<Satterthwaite December 10, 1985 5:45:40 pm PST>>

DIRECTORY
M2D: TYPE USING [ObjClass, StrForm, ObjPtr, HeaderPtr, ModulePtr, StrPtr, RecordPtr, ParPtr];

M2T: CEDAR DEFINITIONS =  BEGIN

Scope: VAR M2D.HeaderPtr; -- header of scope located by Find

Find: PROC [id: CARDINAL] RETURNS [obj: M2D.ObjPtr];
FindField: PROC [id: CARDINAL, rec: M2D.RecordPtr] RETURNS [fld: M2D.ObjPtr];
FindExport: PROC [id: CARDINAL, mod: M2D.ModulePtr] RETURNS [obj: M2D.ObjPtr];
FindDef: PROC [id: CARDINAL] RETURNS [M2D.ObjPtr];

NewObj: PROC [id: CARDINAL, class: M2D.ObjClass] RETURNS [obj: M2D.ObjPtr];
NewStr: PROC [form: M2D.StrForm] RETURNS [M2D.StrPtr];

NewProc: PROC;
NewPar: PROC [typ: M2D.StrPtr, varpar: BOOLEAN];
NewImp: PROC [obj: M2D.ObjPtr];
NewExp: PROC [id: CARDINAL];

FirstObj: PROC RETURNS [M2D.ObjPtr];
LastObj: PROC RETURNS [M2D.ObjPtr];
ParamLink: PROC RETURNS [p: M2D.ParPtr];
NewScope: PROC [kind: M2D.ObjClass] RETURNS [hdr: M2D.HeaderPtr];
LinkScope: PROC;
CloseScope: PROC;

CheckUDP: PROC [obj: M2D.ObjPtr];
ValidateExports: PROC [ancestor: M2D.ModulePtr, qual: BOOLEAN];

Mark: PROC;
Release: PROC;

InitImpExp: PROC;
InitTableHandler: PROC

END.


