Pristine Ack-5.5
[Ack-5.5.git] / lang / m2 / test / Thalmann / characters.mod
1 MODULE Characters;
2
3 (* From: MODULA-2, An Introduction, by Daniel Thalmann, Springer-Verlag,
4          New York, 1985
5    Figure 8.8
6    Changed a little, to have an ELSE part in the CASE statement
7 *)
8
9         FROM InOut IMPORT WriteLn, WriteString, Write;
10
11         CONST
12                 StrByLine = 4;
13
14         VAR
15                 c : CHAR;
16         
17         BEGIN
18                 FOR c := 0C TO 177C DO
19                         IF ORD(c) MOD StrByLine = 0 THEN WriteLn; END;
20                         CASE c OF
21                         0C..37C, 177C : WriteString("Control character   ") |
22                         "0".."9":       WriteString("Digit               ") |
23                         "a".."z":       WriteString("Lower case letter   ") |
24                         "A"..'Z':       WriteString("Upper case LETTER   ")
25                         ELSE            WriteString("Special character   ")
26                         END;
27                 END;
28         END Characters.
29