<> <> <> <> DIRECTORY CD USING [Object, Design, markNum]; CDMarks: CEDAR DEFINITIONS = BEGIN MarkRange: TYPE = [0..CD.markNum); MarkProc: TYPE = PROC [mark: MarkRange]; DoWithMark: PROC [design: CD.Design, proc: MarkProc]; MarkOccupied: ERROR; MarkUnMarkedInclusiveChildren: PROC [design: CD.Design, ob: CD.Object, mark: MarkRange]; <<--For all objects (whose class is inDirectory) do: >> <> <<--all the children of the object. >> <<--mark must be the current mark value. >> <> <> <> <> <<>> <<*Only objects which are actually part of the design and in the directory may be used. This is necessary to guaranty that the marks are properly cleared on the next cycle through MarkRange and for avoiding conflicts on mark usage on multiple designs.>> <<>> END.