MODULE Baseboard; IMPORT Disk, Cell, RealCell, TextRider; TYPE P* = POINTER TO T; T* = RECORD ( Disk.T ) END; PROCEDURE ( d : P ) ReadCell* ( reader : TextRider.Reader ) : Cell.P; VAR cell : RealCell.P; number : INTEGER; text : ARRAY RealCell.MaxLength OF CHAR; color : ARRAY RealCell.MaxColors OF CHAR; BEGIN reader.ReadInt ( number ); reader.ReadString ( text ); reader.ReadString ( color ); IF reader.byteReader.res = TextRider.done THEN NEW ( cell ); RealCell.Init ( cell, number, text, color ); ELSE cell := NIL; END; (* IF *) RETURN cell; END ReadCell; PROCEDURE Init* ( d : P; next : Disk.P; fileName : ARRAY OF CHAR ); BEGIN Disk.Init ( d, next, fileName ); END Init; END Baseboard.