| 1234567891011121314151617 |
- MODULE GTwiceProg;
- (* Two instantiations of one generic, different scalar families:
- INTEGER (40 points) and CHAR (2 points) -> exit code 42. *)
- IMPORT GTwiceInt, GTwiceChar;
- VAR
- is : GTwiceInt.Stack;
- cs : GTwiceChar.Stack;
- i : INTEGER;
- c : CHAR;
- ExitCode : INTEGER;
- BEGIN
- ExitCode := 0;
- GTwiceInt.Init(is); GTwiceInt.Push(is, 7);
- IF GTwiceInt.Pop(is, i) AND (i = 7) THEN INC(ExitCode, 40) END;
- GTwiceChar.Init(cs); GTwiceChar.Push(cs, "Z");
- IF GTwiceChar.Pop(cs, c) AND (c = "Z") THEN INC(ExitCode, 2) END
- END GTwiceProg.
|