DIRECTORY Alloc: TYPE USING [Handle], Literals: TYPE USING [LitIndex], Symbols: TYPE USING [HTIndex, ISEIndex], Tree: TYPE USING [AttrId, Finger, Id, Index, Info, Link, Map, NodeName, Scan, Test]; TreeOps: DEFINITIONS = { Initialize: PROC[Alloc.Handle]; Reset, Finalize: PROC; PushTree: PROC[v: Tree.Link]; PopTree: PROC RETURNS[Tree.Link]; InsertTree: PROC[Tree.Link, CARDINAL]; ExtractTree: PROC[CARDINAL] RETURNS[Tree.Link]; MakeNode: PROC[name: Tree.NodeName, count: INTEGER] RETURNS[Tree.Link]; MakeList: PROC[size: INTEGER] RETURNS[Tree.Link]; PushNode: PROC[name: Tree.NodeName, count: INTEGER]; PushList, PushProperList: PROC[size: INTEGER]; PushHash: PROC[hti: Symbols.HTIndex]; PushSe: PROC[sei: Symbols.ISEIndex]; PushLit: PROC[lti: Literals.LitIndex]; SetAttr: PROC[attr: Tree.AttrId, value: BOOL]; SetInfo: PROC[info: Tree.Info]; FreeNode: PROC[node: Tree.Index]; FreeTree: PROC[t: Tree.Link] RETURNS[Tree.Link]; GetHash: PROC[t: Tree.Link] RETURNS[Symbols.HTIndex]; GetNode: PROC[t: Tree.Link] RETURNS[Tree.Index]; GetSe: PROC[t: Tree.Link] RETURNS[Symbols.ISEIndex]; NthSon: PROC[t: Tree.Link, n: CARDINAL] RETURNS[Tree.Link]; OpName: PROC[t: Tree.Link] RETURNS[Tree.NodeName]; GetAttr: PROC[t: Tree.Link, attr: Tree.AttrId] RETURNS[BOOL]; PutAttr: PROC[t: Tree.Link, attr: Tree.AttrId, value: BOOL]; GetInfo: PROC[t: Tree.Link] RETURNS[Tree.Info]; PutInfo: PROC[t: Tree.Link, value: Tree.Info]; Shared: PROC[t: Tree.Link] RETURNS[BOOL]; MarkShared: PROC[t: Tree.Link, shared: BOOL]; ScanSons: PROC[root: Tree.Link, action: Tree.Scan]; UpdateLeaves: PROC[root: Tree.Link, map: Tree.Map] RETURNS[v: Tree.Link]; ListLength: PROC[t: Tree.Link] RETURNS[CARDINAL]; ListHead: PROC[t: Tree.Link] RETURNS[Tree.Link]; ListTail: PROC[t: Tree.Link] RETURNS[Tree.Link]; ScanList: PROC[root: Tree.Link, action: Tree.Scan]; SearchList: PROC[root: Tree.Link, test: Tree.Test]; ReverseScanList: PROC[root: Tree.Link, action: Tree.Scan]; UpdateList: PROC[root: Tree.Link, map: Tree.Map] RETURNS[Tree.Link]; ReverseUpdateList: PROC[root: Tree.Link, map: Tree.Map] RETURNS[Tree.Link]; CopyTree: PROC[root: Tree.Id, map: Tree.Map] RETURNS[v: Tree.Link]; IdentityMap: Tree.Map; NodeSize: PROC[baseP: Tree.Finger, node: Tree.Index] RETURNS[CARDINAL]; }. hProtoTreeOps.mesa Copyright c 1985 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 tree construction interface tree deallocation tree attributes tree manipulation list testing list manipulation cross-table tree copying ΚΏ˜codešœ™Kšœ Οmœ1™