MobTreeOps.mesa
Copyright Ó 1985, 1989, 1991 by Xerox Corporation. All rights reserved.
Satterthwaite, October 11, 1985 12:21:56 pm PDT
Paul Rovner, September 7, 1983 12:14 am
Russ Atkinson (RRA) March 6, 1985 10:06:59 pm PST
Andy Litman March 4, 1988 7:51:26 pm PST
JKF July 22, 1989 3:26:14 pm PDT
DIRECTORY
Alloc USING [Handle],
MobSymbols USING [HTIndex],
MobTree USING [AttrId, Finger, Index, Info, Link, Map, NodeName, Scan];
tree construction interface
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];
tree deallocation
FreeNode: PROC[node: MobTree.Index];
FreeTree: PROC[t: MobTree.Link] RETURNS[MobTree.Link];
tree attributes
GetNode: PROC[t: MobTree.Link] RETURNS[MobTree.Index];
MarkShared: PROC[t: MobTree.Link, shared: BOOL];
tree manipulation
ScanSons: PROC[root: MobTree.Link, action: MobTree.Scan];
UpdateLeaves: PROC[root: MobTree.Link, map: MobTree.Map] RETURNS[v: MobTree.Link];
list testing
ListLength: PROC[t: MobTree.Link] RETURNS[CARDINAL];
list manipulation
ScanList: PROC[root: MobTree.Link, action: MobTree.Scan];
UpdateList: PROC[root: MobTree.Link, map: MobTree.Map] RETURNS[MobTree.Link];
cross-table tree copying
NodeSize: PROC[baseP: MobTree.Finger, node: MobTree.Index] RETURNS[CARDINAL];
}.