<<>> <> <> <> <> <> <> <> DIRECTORY Alloc USING [Handle], MobSymbols USING [HTIndex], MobTree USING [AttrId, Finger, Index, Info, Link, Map, NodeName, Scan]; MobTreeOps: DEFINITIONS = { <> Initialize: PROC[Alloc.Handle]; Reset, Finalize: PROC; PushTree: PROC[v: MobTree.Link]; PopTree: PROC RETURNS[MobTree.Link]; InsertTree: PROC[MobTree.Link, CARDINAL]; ExtractTree: PROC[CARDINAL] RETURNS[MobTree.Link]; MakeNode: PROC[name: MobTree.NodeName, count: INTEGER] RETURNS[MobTree.Link]; PushNode: PROC[name: MobTree.NodeName, count: INTEGER]; PushList: PROC[size: INTEGER]; PushHash: PROC[hti: MobSymbols.HTIndex]; SetAttr: PROC[attr: MobTree.AttrId, value: BOOL]; SetInfo: PROC[info: MobTree.Info]; <> FreeNode: PROC[node: MobTree.Index]; FreeTree: PROC[t: MobTree.Link] RETURNS[MobTree.Link]; <> GetNode: PROC[t: MobTree.Link] RETURNS[MobTree.Index]; MarkShared: PROC[t: MobTree.Link, shared: BOOL]; <> ScanSons: PROC[root: MobTree.Link, action: MobTree.Scan]; UpdateLeaves: PROC[root: MobTree.Link, map: MobTree.Map] RETURNS[v: MobTree.Link]; <> ListLength: PROC[t: MobTree.Link] RETURNS[CARDINAL]; <> ScanList: PROC[root: MobTree.Link, action: MobTree.Scan]; UpdateList: PROC[root: MobTree.Link, map: MobTree.Map] RETURNS[MobTree.Link]; <> NodeSize: PROC[baseP: MobTree.Finger, node: MobTree.Index] RETURNS[CARDINAL]; }.