conv_prog.mod 992 B

1234567891011121314151617181920212223242526272829
  1. MODULE ConvProg;
  2. (* Conversions: Int/Card/Real <-> string round-trips (BOOLEAN
  3. shortcuts). Exit 127. *)
  4. IMPORT Conversions;
  5. VAR ExitCode : INTEGER;
  6. VAR s : ARRAY [0 .. 31] OF CHAR;
  7. VAR n : INTEGER;
  8. VAR c : CARDINAL;
  9. VAR x : REAL;
  10. BEGIN
  11. Conversions.IntToStr(-1234, s);
  12. IF s[0] = "-" THEN ExitCode := ExitCode + 1 ELSE ExitCode := 100 END;
  13. IF s[1] = "1" THEN ExitCode := ExitCode + 2 ELSE ExitCode := 100 END;
  14. IF Conversions.IntVal("42", n) THEN
  15. IF n = 42 THEN ExitCode := ExitCode + 4 END
  16. ELSE ExitCode := 100 END;
  17. IF Conversions.IntVal("-7", n) THEN
  18. IF n = -7 THEN ExitCode := ExitCode + 8 END
  19. ELSE ExitCode := 100 END;
  20. IF NOT Conversions.IntVal("4x", n) THEN
  21. ExitCode := ExitCode + 16
  22. ELSE ExitCode := 100 END;
  23. IF Conversions.CardVal("99", c) THEN
  24. IF c = 99 THEN ExitCode := ExitCode + 32 END
  25. ELSE ExitCode := 100 END;
  26. IF Conversions.RealVal("3.5", x) THEN
  27. IF x = 3.5 THEN ExitCode := ExitCode + 64 END
  28. ELSE ExitCode := 100 END
  29. END ConvProg.