| (* Library module defined by the International Standard |
| Information technology - programming languages |
| BS ISO/IEC 10514-1:1996E Part 1: Modula-2, Base Language. |
| |
| Copyright ISO/IEC (International Organization for Standardization |
| and International Electrotechnical Commission) 1996-2021. |
| |
| It may be freely copied for the purpose of implementation (see page |
| 707 of the Information technology - Programming languages Part 1: |
| Modula-2, Base Language. BS ISO/IEC 10514-1:1996). *) |
| |
| DEFINITION MODULE WholeIO; |
| |
| (* Input and output of whole numbers in decimal text form |
| over specified channels. The read result is of the |
| type IOConsts.ReadResults. |
| *) |
| |
| IMPORT IOChan; |
| |
| (* The text form of a signed whole number is |
| ["+" | "-"], decimal digit, {decimal digit} |
| |
| The text form of an unsigned whole number is |
| decimal digit, {decimal digit} |
| *) |
| |
| PROCEDURE ReadInt (cid: IOChan.ChanId; VAR int: INTEGER); |
| (* Skips leading spaces, and removes any remaining characters |
| from cid that form part of a signed whole number. The |
| value of this number is assigned to int. The read result |
| is set to the value allRight, outOfRange, wrongFormat, |
| endOfLine, or endOfInput. |
| *) |
| |
| PROCEDURE WriteInt (cid: IOChan.ChanId; int: INTEGER; |
| width: CARDINAL); |
| (* Writes the value of int to cid in text form, in a field of |
| the given minimum width. *) |
| |
| PROCEDURE ReadCard (cid: IOChan.ChanId; VAR card: CARDINAL); |
| (* Skips leading spaces, and removes any remaining characters |
| from cid that form part of an unsigned whole number. The |
| value of this number is assigned to card. The read result |
| is set to the value allRight, outOfRange, wrongFormat, |
| endOfLine, or endOfInput. |
| *) |
| |
| PROCEDURE WriteCard (cid: IOChan.ChanId; card: CARDINAL; |
| width: CARDINAL); |
| (* Writes the value of card to cid in text form, in a field |
| of the given minimum width. *) |
| |
| END WholeIO. |