<> <> <> <> <> <<>> DIRECTORY Core, CoreClasses, CoreDirectory, IO, RefTab; CoreIO: CEDAR DEFINITIONS = BEGIN <> <> <> <> UnknownProperty: SIGNAL [propKey: ATOM]; UnknownCellClass: SIGNAL [class: Core.CellClass]; <<>> SaveCellType: PROC [cellType: Core.CellType, fileName: Core.ROPE _ NIL]; < fileName _ Rope.Cat[CoreOps.GetCellTypeName[cellType], ".core"]>> < Property is not written.>> < CoreOps.Recast. No recast proc => ERROR.>> ReportSaveCellType: PROC [cellType: Core.CellType, fileName: Core.ROPE _ NIL] RETURNS [props: LIST OF ATOM, classes: LIST OF Core.CellClass]; <> RestoreCellType: PROC [cellName: Core.ROPE _ NIL, fileName: Core.ROPE _ NIL] RETURNS [cellType: Core.CellType]; < ERROR>> < fileName _ Rope.Cat[cellName, ".core"]>> < ERROR>> <> <> SaveLibrary: PROC [library: CoreDirectory.Library, fileName: Core.ROPE]; <<.corelib is added to fileName>> RestoreLibrary: PROC [fileName: Core.ROPE] RETURNS [library: CoreDirectory.Library]; <<.corelib is added to fileName>> < ERROR>> <> RegisterClass: PROC [class: Core.CellClass, write: ClassWriteProc, read: ClassReadProc] RETURNS [sameClass: Core.CellClass]; ClassWriteProc: TYPE = PROC [stream: IO.STREAM, cellType: Core.CellType, wireIDTable: RefTab.Ref]; ClassReadProc: TYPE = PROC [stream: IO.STREAM, cellType: Core.CellType, wireIDTable: RefTab.Ref]; <> RegisterProperty: PROC [prop: ATOM, write: PropWriteProc, read: PropReadProc] RETURNS [sameProp: ATOM]; PropWriteProc: TYPE = PROC [stream: IO.STREAM, prop: ATOM, value: REF ANY]; PropReadProc: TYPE = PROC [stream: IO.STREAM, prop: ATOM] RETURNS [value: REF ANY]; <> WriteCellType: PROC [stream: IO.STREAM, cellType: Core.CellType]; ReadCellType: PROC [stream: IO.STREAM] RETURNS [cellType: Core.CellType]; WriteWire: PROC [stream: IO.STREAM, wireIDTable: RefTab.Ref, wire: Core.Wire]; ReadWire: PROC [stream: IO.STREAM, wireIDTable: RefTab.Ref] RETURNS [wire: Core.Wire]; WriteProperties: PROC [stream: IO.STREAM, properties: Core.Properties]; ReadProperties: PROC [stream: IO.STREAM] RETURNS [properties: Core.Properties _ NIL]; END.