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.