blob: b352bcf0948f21d2b52a0b91bc4b07e6496a07ba (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
|
IMPLEMENTATION MODULE TermOut;
(* Author: Andrew Trevorrow
Implementation: University of Hamburg Modula-2 under VAX/VMS version 4
Date Started: August, 1986
Description:
Implements terminal output routines used by PSDVI.
Revised:
June--August, 1988 (while at Aston University)
- No longer use buffering/SYS$ASSIGN/SYS$QIOW since it did not allow the
output to be captured in a file (which is pretty important if users want
to run PSPRINT in a batch job and still see any error messages!).
*)
FROM VMS IMPORT
SYS$EXIT;
IMPORT InOut;
(******************************************************************************)
PROCEDURE Write (ch : CHAR);
BEGIN
InOut.Write(ch);
END Write;
(******************************************************************************)
PROCEDURE WriteString (s: ARRAY OF CHAR);
BEGIN
InOut.WriteString(s);
END WriteString;
(******************************************************************************)
PROCEDURE WriteInt (i : INTEGER);
BEGIN
InOut.WriteInt(i,1);
END WriteInt;
(******************************************************************************)
PROCEDURE WriteCard (c : CARDINAL);
BEGIN
InOut.WriteCard(c,1);
END WriteCard;
(******************************************************************************)
PROCEDURE WriteLn;
BEGIN
InOut.WriteLn;
END WriteLn;
(******************************************************************************)
PROCEDURE Halt (status : CARDINAL);
VAR result : CARDINAL;
BEGIN
(* SYSDEP: set high order bit so that no CLI message will be seen *)
status := status + 10000000H;
result := SYS$EXIT(status);
END Halt;
(******************************************************************************)
BEGIN
END TermOut.
|