|
|
@@ -1,7 +1,8 @@
|
|
|
MODULE Showcase13;
|
|
|
// Step showcase: FORWARD declarations driving mutual recursion, plus
|
|
|
// BITSET set operations (union, membership) and the typed set
|
|
|
-// constructor BITSET{...}. Expected ExitCode: 42.
|
|
|
+// constructor BITSET{...}. Prints a result and exits 42.
|
|
|
+IMPORT SysIO;
|
|
|
|
|
|
VAR ExitCode : INTEGER;
|
|
|
VAR s, t : BITSET;
|
|
|
@@ -21,6 +22,13 @@ BEGIN
|
|
|
IF k = 0 THEN RETURN FALSE ELSE RETURN Even(k - 1) END
|
|
|
END Odd;
|
|
|
|
|
|
+PROCEDURE Show (label : ARRAY OF CHAR; v : INTEGER);
|
|
|
+BEGIN
|
|
|
+ SysIO.Write(label);
|
|
|
+ SysIO.WriteInt(v);
|
|
|
+ SysIO.WriteLn
|
|
|
+END Show;
|
|
|
+
|
|
|
BEGIN
|
|
|
n := 0;
|
|
|
IF Even(8) THEN n := n + 10 END; // TRUE -> 10
|
|
|
@@ -33,5 +41,6 @@ BEGIN
|
|
|
s := s + t; // union {1, 3, 5, 7}
|
|
|
IF 7 IN s THEN n := n + 11 END; // member -> 42
|
|
|
|
|
|
+ Show("Even(8)=T Odd(7)=T total=", n);
|
|
|
ExitCode := n
|
|
|
END Showcase13.
|