conversions.def 1.2 KB

12345678910111213141516171819202122232425
  1. DEFINITION MODULE Conversions;
  2. (* Scalar <-> string conversions. Output strings are NUL-terminated.
  3. The StrTo* procedures report an ISO-style `ConvResults` status:
  4. strAllRight the whole string was a valid literal
  5. strOutOfRange valid literal but not representable in the target
  6. strWrongFormat the string is not a literal of the target type
  7. strEmpty the string was empty
  8. The BOOLEAN-returning wrappers are retained for convenience. *)
  9. TYPE ConvResults = (strAllRight, strOutOfRange, strWrongFormat, strEmpty);
  10. PROCEDURE IntToStr(n : INTEGER; VAR s : ARRAY OF CHAR);
  11. PROCEDURE CardToStr(n : CARDINAL; VAR s : ARRAY OF CHAR);
  12. PROCEDURE RealToStr(x : REAL; VAR s : ARRAY OF CHAR);
  13. PROCEDURE StrToInt(s : ARRAY OF CHAR; VAR n : INTEGER) : ConvResults;
  14. PROCEDURE StrToCard(s : ARRAY OF CHAR; VAR n : CARDINAL) : ConvResults;
  15. PROCEDURE StrToReal(VAR s : ARRAY OF CHAR; VAR x : REAL) : ConvResults;
  16. (* BOOLEAN shortcuts: TRUE iff the status is strAllRight. *)
  17. PROCEDURE IntVal(s : ARRAY OF CHAR; VAR n : INTEGER) : BOOLEAN;
  18. PROCEDURE CardVal(s : ARRAY OF CHAR; VAR n : CARDINAL) : BOOLEAN;
  19. PROCEDURE RealVal(VAR s : ARRAY OF CHAR; VAR x : REAL) : BOOLEAN;
  20. END Conversions.