| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465 |
- IMPLEMENTATION MODULE TextIO;
- (* Binds the shim externals directly (avoids name shadowing with
- SysIO's wrappers). *)
- IMPORT Utf8;
- PROCEDURE m2write(VAR s : ARRAY OF CHAR);
- EXTERNAL;
- PROCEDURE m2writeln;
- EXTERNAL;
- PROCEDURE m2writeint(n : INTEGER);
- EXTERNAL;
- PROCEDURE m2writechar(c : CHAR);
- EXTERNAL;
- PROCEDURE WriteString(VAR s : ARRAY OF CHAR);
- BEGIN
- m2write(s)
- END WriteString;
- PROCEDURE WriteLn;
- BEGIN
- m2writeln
- END WriteLn;
- PROCEDURE WriteInt(n : INTEGER);
- BEGIN
- m2writeint(n)
- END WriteInt;
- PROCEDURE WriteCard(n : CARDINAL);
- BEGIN
- m2writeint(n)
- END WriteCard;
- PROCEDURE WriteChar(c : CHAR);
- BEGIN
- m2writechar(c)
- END WriteChar;
- PROCEDURE UWriteChar(cp : UCHAR);
- VAR buf : ARRAY [0 .. 3] OF CHAR;
- n, i : CARDINAL;
- BEGIN
- n := Utf8.Encode(cp, buf);
- i := 0;
- WHILE i < n DO m2writechar(buf[i]); INC(i) END
- END UWriteChar;
- PROCEDURE UWriteString(VAR u : ARRAY OF UCHAR);
- VAR i : CARDINAL;
- BEGIN
- i := 0;
- WHILE i <= HIGH(u) DO UWriteChar(u[i]); INC(i) END
- END UWriteString;
- PROCEDURE UWriteLn;
- BEGIN
- m2writeln
- END UWriteLn;
- END TextIO.
|