| 123456789101112131415 |
- MODULE tsetops;
- // SET OF enum + SET OF char-range, INCL/EXCL, SHIFT/ROTATE.
- TYPE Colour = (Blue, Red, Green, White);
- CS = SET OF Colour;
- Chars = SET OF ['A'..'z'];
- VAR x : CS; c : Chars; r : CS;
- VAR ExitCode : INTEGER;
- BEGIN
- x := CS {};
- INCL(x, Red); INCL(x, Blue); EXCL(x, Red);
- c := Chars {'A'};
- r := SHIFT(CS {Blue}, 1); (* {Blue}(bit 0) -> {Red}(bit 1) *)
- IF (Blue IN x) AND NOT (Red IN x) AND ('A' IN c) AND (Red IN r)
- THEN ExitCode := 42 ELSE ExitCode := 1 END
- END tsetops.
|