MODULE StringLib; IMPORT RTS; PROCEDURE CanDeleteAll*(len : INTEGER; sIx : INTEGER; num : INTEGER) : BOOLEAN; PROCEDURE CanAppendAll*( len : INTEGER; VAR dst : ARRAY OF CHAR) : BOOLEAN; PROCEDURE CanAssignAll*( sLen : INTEGER; IN dest : ARRAY OF CHAR) : BOOLEAN; PROCEDURE CanInsertAll*( sLen : INTEGER; sIdx : INTEGER; VAR dest : ARRAY OF CHAR) : BOOLEAN; PROCEDURE Extract*(IN src : ARRAY OF CHAR; sIx : INTEGER; num : INTEGER; OUT dst : ARRAY OF CHAR); PROCEDURE Replace*(IN src : ARRAY OF CHAR; sIx : INTEGER; VAR dst : ARRAY OF CHAR); PROCEDURE Capitalize*(VAR str : ARRAY OF CHAR); PROCEDURE Assign*(IN src : ARRAY OF CHAR; OUT dst : ARRAY OF CHAR); PROCEDURE Delete*(VAR str : ARRAY OF CHAR; sIx : INTEGER; num : INTEGER); PROCEDURE Append*( src : ARRAY OF CHAR; VAR dst : ARRAY OF CHAR); PROCEDURE FindDiff*(IN str1 : ARRAY OF CHAR; IN str2 : ARRAY OF CHAR; OUT diff : BOOLEAN; OUT dPos : INTEGER); PROCEDURE Insert*(IN src : ARRAY OF CHAR; sIx : INTEGER; VAR dst : ARRAY OF CHAR); PROCEDURE FindNext*(IN pat : ARRAY OF CHAR; IN str : ARRAY OF CHAR; bIx : INTEGER; OUT fnd : BOOLEAN; OUT pos : INTEGER); PROCEDURE FindPrev*(IN pat : ARRAY OF CHAR; IN str : ARRAY OF CHAR; bIx : INTEGER; OUT fnd : BOOLEAN; OUT pos : INTEGER); PROCEDURE CanExtractAll*( len : INTEGER; sIx : INTEGER; num : INTEGER; OUT dst : ARRAY OF CHAR) : BOOLEAN; PROCEDURE CanReplaceAll*( len : INTEGER; sIx : INTEGER; VAR dst : ARRAY OF CHAR) : BOOLEAN; END StringLib.