DEFINITION MODULE WholeStr;

  (* Whole-number/string conversions *)

IMPORT
  ConvTypes;

TYPE
  ConvResults = ConvTypes.ConvResults;
		(* strAllRight, strOutOfRange, strWrongFormat, strEmpty *)

(*
 * the string form of a signed whole number is
 *   ["+" | "-"], decimal digit, {decimal digit}
 *)

PROCEDURE StrToInt (str: ARRAY OF CHAR; VAR int: INTEGER; VAR res: ConvResults);
(*
 * Ignores any leading spaces in str. If the subsequent characters in str are in the
 * format of a signed whole number, assigns a corresponding value to int. Assigns a
 * value indicating the format of str to res.
 *)

PROCEDURE IntToStr (int: INTEGER; VAR str: ARRAY OF CHAR);
(*
 * Converts the value of int to string form and copies the possibly truncated
 * result to str.
 *)


(*
 * the string form of an unsigned whole number is
 *   decimal digit, {decimal digit}
*)

PROCEDURE StrToCard (str: ARRAY OF CHAR; VAR card: CARDINAL; VAR res: ConvResults);
(*
 * Ignores any leading spaces in str. If the subsequent characters in str are in the
 * format of an unsigned whole number, assigns a corresponding value to card.
 * Assigns a value indicating the format of str to res.
 *)

PROCEDURE CardToStr (card: CARDINAL; VAR str: ARRAY OF CHAR);
(*
 * Converts the value of card to string form and copies the possibly truncated
 * result to str.
 *)

END WholeStr.