MODULE ConvProg; (* Conversions: Int/Card/Real <-> string round-trips (BOOLEAN shortcuts). Exit 127. *) IMPORT Conversions; VAR ExitCode : INTEGER; VAR s : ARRAY [0 .. 31] OF CHAR; VAR n : INTEGER; VAR c : CARDINAL; VAR x : REAL; BEGIN Conversions.IntToStr(-1234, s); IF s[0] = "-" THEN ExitCode := ExitCode + 1 ELSE ExitCode := 100 END; IF s[1] = "1" THEN ExitCode := ExitCode + 2 ELSE ExitCode := 100 END; IF Conversions.IntVal("42", n) THEN IF n = 42 THEN ExitCode := ExitCode + 4 END ELSE ExitCode := 100 END; IF Conversions.IntVal("-7", n) THEN IF n = -7 THEN ExitCode := ExitCode + 8 END ELSE ExitCode := 100 END; IF NOT Conversions.IntVal("4x", n) THEN ExitCode := ExitCode + 16 ELSE ExitCode := 100 END; IF Conversions.CardVal("99", c) THEN IF c = 99 THEN ExitCode := ExitCode + 32 END ELSE ExitCode := 100 END; IF Conversions.RealVal("3.5", x) THEN IF x = 3.5 THEN ExitCode := ExitCode + 64 END ELSE ExitCode := 100 END END ConvProg.