<> <> <> <<>> <> <> <> <> DIRECTORY CD, Core, CoreFrame, HashTable; CoreLibrary: CEDAR DEFINITIONS = BEGIN <<>> ROPE: TYPE = Core.ROPE; Side: TYPE = CoreFrame.Side; Library: TYPE = REF LibraryRec; LibraryRec: TYPE = RECORD[ design: CD.Design, table: HashTable.Table ]; OpenLibrary: PROC[name: ROPE] RETURNS[lib: Library]; Set: PROC[ lib: Library, name: ROPE, cell: Core.CellType]; Get: PROC[ lib: Library, name: ROPE, removeNamed: BOOL _ TRUE, conds: LIST OF ROPE _ NIL, flatten: INT _ -1, merge: BOOL _ FALSE] RETURNS[cell: Core.CellType]; RenamePinsProc: TYPE = PROC[old: ROPE, side: Side, pos: INT] RETURNS[new: ROPE _ NIL]; ObjCell: PROC[ obj: CD.Object, name: ROPE, rename: RenamePinsProc _ NIL, flatten: INT _ -1] RETURNS[cell: Core.CellType]; Flatten: PROC [cell: CD.Object, rename: RenamePinsProc_NIL] RETURNS [new: CD.Object]; FlattenOneLevel: PROC [cell: CD.Object, rename: RenamePinsProc_NIL] RETURNS [new: CD.Object, flat: BOOL _ TRUE]; END.