<> <> <> DIRECTORY SMOps: TYPE USING [MS], SMTree: TYPE Tree USING [Handle, Id, Link, Name, SonId], SMTreeOps: TYPE TreeOps USING [TM]; SMVal: CEDAR DEFINITIONS~{ OPEN Tree~~SMTree, TreeOps~~SMTreeOps; <> Binding: PROC[t: Tree.Link] RETURNS[BOOL]; BtoD: PROC[binding: Tree.Link] RETURNS[decl: Tree.Handle]; BtoG: PROC[binding: Tree.Link] RETURNS[group: Tree.Handle]; IdName: PROC[id: Tree.Id] RETURNS[Tree.Name]; IdType: PROC[id: Tree.Id] RETURNS[Tree.Link]; IdValue: PROC[id: Tree.Id] RETURNS[Tree.Link]; Select: PROC[binding: Tree.Link, index: Tree.Name] RETURNS[Tree.Link]; ValOf: PROC[t: Tree.Link] RETURNS[Tree.Link]; -- iterates IdValue for Id's ValOfNthSon: PROC[t: Tree.Link, n: Tree.SonId] RETURNS[Tree.Link]; <> VisitNodes: PROC[tm: TreeOps.TM, root: Tree.Link, proc: PROC[node, parent: Tree.Link]]; ResetVisits: PROC[ms: SMOps.MS]; <> OuterBody: PROC[t: Tree.Link] RETURNS[formals, body: Tree.Link]; <> GetExtFromParse: PROC[link: Tree.Link] RETURNS[Tree.Link]; PutExtInParse: PROC[link: Tree.Link, ext: Tree.Link]; }.