<> <> <> DIRECTORY CD USING [ObPtr, Design, markNum]; CDMarks: CEDAR DEFINITIONS = BEGIN MarkRange: TYPE = [0..CD.markNum); GetNewMark: PROC [design: CD.Design] RETURNS [MarkRange]; <<--Gets a new value to be used as a mark.>> <<--If all values are already used, it clears all accessible marks and is therefore quite slow.>> <<--Never returns 0.>> ClearAllAccessibleMarks: PROC [design: CD.Design]; <<--Clears all the marks of the design>> MarkUnMarkedInclusiveChildren: PROC [design: CD.Design, ob: CD.ObPtr, value: MarkRange]; <<--For all objects do: if their markvalue is different, then set it to value, and do this >> <<--also recursively for all the children of the object. >> <<--value must be the current mark value. >> <> <> <> <> <<>> END.