t_charcat.mod 701 B

12345678910111213141516171819
  1. MODULE TCharCat;
  2. (* String concatenation `+` for CHAR arrays, mixed with literals and
  3. CHAR operands, plus chaining. Exit 7. *)
  4. VAR ExitCode : INTEGER;
  5. VAR a, b, c : ARRAY [0 .. 31] OF CHAR;
  6. BEGIN
  7. a := "xy"; b := "zz";
  8. c := a + b;
  9. IF c = "xyzz" THEN ExitCode := ExitCode + 1 ELSE ExitCode := 100 END;
  10. c := a + "c"; (* array + CHAR *)
  11. IF c = "xyc" THEN ExitCode := ExitCode + 2 ELSE ExitCode := 101 END;
  12. c := "x" + a; (* CHAR + array *)
  13. IF c = "xxy" THEN ExitCode := ExitCode + 4 ELSE ExitCode := 102 END;
  14. c := a + a + a; (* chained *)
  15. IF c = "xyxyxy" THEN ExitCode := ExitCode + 8 ELSE ExitCode := 103 END
  16. END TCharCat.