DIRECTORY Alloc: TYPE USING [Handle], Literals: TYPE USING [LitIndex], Symbols: TYPE USING [HTIndex, ISEIndex], Tree: TYPE; TreeOps: DEFINITIONS = { Initialize: PROC [Alloc.Handle, UNCOUNTED ZONE]; 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]; }. Þfile ProtoTreeOps.mesa last modified by Satterthwaite, January 10, 1983 9:32 am tree construction interface tree deallocation tree attributes tree manipulation list testing list manipulation cross-table tree copying ʧ˜Jšœ™Jšœ8™8J˜šÏk ˜ Jšœœœ ˜Jšœ œœ ˜ Jšœ œœ˜(Jšœœ˜ J˜—Jšœ œ˜˜Jšœ™˜JšÏn œœ œœ˜0Jšœžœœ˜J˜Jšžœœ˜Jšžœœœ ˜"J˜Jšž œœ œ˜'Jšž œœœœ ˜1J˜Jšžœœœœ ˜IJšžœœœœ ˜3J˜Jšžœœœ˜5Jšœ žœœœ˜/Jšžœœ˜&Jšžœœ˜%Jšžœœ˜'J˜Jšžœœœ˜/Jšžœœ˜ J˜—Jšœ™˜Jšžœœ˜"Jšžœœœ ˜2J˜—Jšœ™˜Jšžœœœ˜7Jšžœœœ˜2Jšžœœœ˜6J˜Jšžœœœœ ˜=Jšžœœœ˜4J˜Jšžœœ#œœ˜?Jšžœœ*œ˜=J˜Jšžœœœ ˜1Jšžœœ"˜/J˜Jšžœœœœ˜+Jšž œœœ˜.J˜—Jšœ™˜Jšžœœ&˜4Jšž œœ"œ˜KJ˜—Jšœ ™ ˜Jšž œœœœ˜3Jšžœœœ ˜2Jšžœœœ ˜2J˜—Jšœ™˜Jšžœœ&˜4Jšž œœ$˜4Jšžœœ&˜;Jšž œœ"œ ˜FJšžœœ"œ ˜MJ˜J˜—Jšœ™˜Jšžœœ œ˜EJ˜Jšžœœ(œœ˜IJ˜J˜J˜———…—æ k