<> <> <> <> DIRECTORY Core; CoreRecordCells: CEDAR DEFINITIONS = BEGIN OPEN Core; <> <> <> <<1) For each instance the actualWire field must be isomorphic to the publicWire field of the cell type which is pointed to by the instance.>> <<2) The wires of each actualWire field must point to wires that are reachable from the internalWire field of the RecordCell.>> <<3) The publicWire of the CellType must point to wires reachable from the internalWire of the RecordCell.>> <> recordCellClass: CellClass; RecordCell: TYPE = REF RecordCellRec; RecordCellRec: TYPE = RECORD [ internalWire: Wire, instances: InstanceList _ NIL]; Instance: TYPE = REF InstanceRec; InstanceList: TYPE = LIST OF Instance; InstanceRec: TYPE = RECORD [ name: ROPE _ NIL, actualWire: Wire, type: CellType, properties: Properties _ NIL]; Print: PROC [cell: RecordCell, out: STREAM]; END.