home *** CD-ROM | disk | FTP | other *** search
/ Mac-Source 1994 July / Mac-Source_July_1994.iso / Modula / Source / INTERMINAL.DEF < prev    next >
Text File  |  1985-04-25  |  2KB  |  49 lines

  1. DEFINITION MODULE InTerminal;
  2.  
  3. (* a collection of input routines, and string -> number conversions *)
  4.  
  5. FROM SYSTEM IMPORT WORD, ADDRESS;
  6.  
  7. EXPORT QUALIFIED ReadC, ReadI, ReadR, ReadH, ReadAC, ReadAH, ReadCM, ReadAM,
  8.                  ConvertToC, ConvertToI, ConvertToR, ConvertToH,
  9.                  ConvertToAC, ConvertToAH,
  10.                  ConvertToCM, ConvertToAM,
  11.                  InDone, InEmpty, InEsc, InNoNum, InTooBig;
  12.  
  13. VAR InDone:   BOOLEAN;  (* not empty, not ESC, not non-numeric, not too big *)
  14.     InEmpty:  BOOLEAN;  (* why not done:                        *)
  15.     InEsc:    BOOLEAN;
  16.     InNoNum:  BOOLEAN;
  17.     InTooBig: BOOLEAN;
  18.  
  19. PROCEDURE ReadC(VAR c: CARDINAL);
  20. PROCEDURE ReadI(VAR i: INTEGER);
  21. PROCEDURE ReadR(VAR r: REAL);
  22. PROCEDURE ReadH(VAR c: WORD);
  23. PROCEDURE ReadAC(VAR a: ADDRESS);
  24. PROCEDURE ReadAH(VAR a: ADDRESS);
  25.  
  26. PROCEDURE ReadCM(VAR c: WORD);       (* read cardinal in mixed decimal/hex base*)
  27. PROCEDURE ReadAM(VAR c: ADDRESS);    (* read address in mixed decimal/hex base*)
  28.                                      (* with a suffix H: base is hexadecimal  *)
  29.                                      (* without a suffix H: base is decimal *)
  30.  
  31. (* note: use ReadAgain to store a digit read in advance                *)
  32. (* note: use ReadAgain+ Read(ch) to find the last char read (e.g.ESC)   *)
  33.  
  34. PROCEDURE ConvertToC(VAR s: ARRAY OF CHAR; VAR c: CARDINAL);
  35. PROCEDURE ConvertToI(VAR s: ARRAY OF CHAR; VAR i: INTEGER);
  36. PROCEDURE ConvertToR(VAR s: ARRAY OF CHAR; VAR r: REAL);
  37. PROCEDURE ConvertToH(VAR s: ARRAY OF CHAR; VAR w: WORD);
  38. PROCEDURE ConvertToAC(VAR s: ARRAY OF CHAR; VAR a: ADDRESS);
  39. PROCEDURE ConvertToAH(VAR s: ARRAY OF CHAR; VAR a: ADDRESS);
  40.  
  41. PROCEDURE ConvertToCM(VAR s: ARRAY OF CHAR; VAR w: WORD);  (* convert cardinal mixed *)
  42. PROCEDURE ConvertToAM(VAR s: ARRAY OF CHAR; VAR a: ADDRESS); (* convert address mixed*)
  43.  
  44. END InTerminal.
  45.                
  46.  
  47.  
  48.  
  49.