| 12345678910111213141516171819202122232425262728293031323334353637383940 |
- DEFINITION MODULE DynamicStrings;
- (* gm2's dynamic string type. String is opaque here and completed in
- the implementation as a heap C string (ADDRESS). This is the core
- subset: the debugging (DB) variants and InitStringCharStar are not
- provided. *)
- FROM SYSTEM IMPORT ADDRESS;
- TYPE
- String;
- PROCEDURE InitString (a : ARRAY OF CHAR) : String;
- PROCEDURE KillString (s : String) : String;
- PROCEDURE Fin (s : String);
- PROCEDURE InitStringChar (ch : CHAR) : String;
- PROCEDURE Length (s : String) : CARDINAL;
- PROCEDURE ConCat (a, b : String) : String;
- PROCEDURE ConCatChar (a : String; ch : CHAR) : String;
- PROCEDURE Assign (a, b : String) : String;
- PROCEDURE Dup (s : String) : String;
- PROCEDURE Add (a, b : String) : String;
- PROCEDURE Equal (a, b : String) : BOOLEAN;
- PROCEDURE EqualArray (s : String; a : ARRAY OF CHAR) : BOOLEAN;
- PROCEDURE CopyOut (VAR a : ARRAY OF CHAR; s : String);
- PROCEDURE char (s : String; i : INTEGER) : CHAR;
- PROCEDURE string (s : String) : ADDRESS;
- PROCEDURE Mult (s : String; n : CARDINAL) : String;
- PROCEDURE Slice (s : String; low, high : INTEGER) : String;
- PROCEDURE Index (s : String; ch : CHAR; o : CARDINAL) : INTEGER;
- PROCEDURE RIndex (s : String; ch : CHAR; o : CARDINAL) : INTEGER;
- PROCEDURE ReplaceChar (s : String; from, to : CHAR) : String;
- PROCEDURE ToUpper (s : String) : String;
- PROCEDURE ToLower (s : String) : String;
- PROCEDURE RemoveWhitePrefix (s : String) : String;
- PROCEDURE RemoveWhitePostfix (s : String) : String;
- END DynamicStrings.
|