<> <> DIRECTORY IO, AbSets, LichenDataStructure; LichenFlatPrivate: CEDAR DEFINITIONS = BEGIN OPEN Sets:AbSets, LichenDataStructure; Status: TYPE ~ RECORD [expansions: INT _ 0, inst, type: ROPE _ NIL]; status: READONLY REF Status; GroupInstancesToNewCT: PROC [d: Design, cis: Set, iName: ROPE, tNames: Set] RETURNS [newCT: CellType, newCI: CellInstance]; ExpandDesign: PROC [d: Design, cts: Set--of CellType-- _ nilSet, except: CellType _ NIL]; RaiseGCs: PROC [d: Design, gcs: Set--of CellInstance--] RETURNS [newCis: Set--of CellInstance--]; LowerKidsOnce: PROC [d: Design, kids: Set--of CellInstance--, sib: CellInstance] RETURNS [loweredCis: Set--of CellInstance--]; SplitUnorganized: PROC [d: Design, take: Set--of CellInstance--] RETURNS [from, to: CellType]; MergeUnorganized: PROC [a, b: CellType, iAssoc: OneToOne--instance of a OneToOne--kept GuessIAssoc: PROC [a, b: CellType] RETURNS [tAssoc: OneToOne]; CopyPWStructure: PROC [fromCT, toCT: CellType, class: PWClass, olds, cins: Set] RETURNS [was: OneToOne--wire in toCT fromCT--]; CopyInstStructure: PROC [fromCT, toCT: CellType, oldCis, cins: Set, ageWire: InvFn--wire in toCT _ wire in fromCT--, xf: Transform, ofst: Int2] RETURNS [ciWas: OneToOne--ci in toCT CopyCellType: PROC [oct: CellType] RETURNS [nct: CellType, portInv: OneToOne]; END.