home *** CD-ROM | disk | FTP | other *** search
/ Programmer's ROM - The Computer Language Library / programmersrom.iso / ada / manage / rt.exp < prev    next >
Encoding:
Text File  |  1988-05-03  |  2.6 KB  |  100 lines

  1. ------------------------------------------------------------------------
  2.  
  3. package scanners is    --| Scan tokens from strings
  4.  
  5. --| Requirement Satisfied: ABS(1).Scanners(1) 1
  6.  
  7. type scanner_type is
  8.   record
  9.     Index: natural;    --| Index of next character to be scanned
  10.     Max_Index: natural;    --| Index of last scannable character
  11.     First: natural;    --| Index of first character of the result of a scan
  12.     Last: Natural;    --| Index of last character of the result of a scan
  13.     Length: Natural;    --| Length of the item scanned.
  14.   end record;
  15.  
  16.  
  17. procedure start_Scanner(        --| Initialize a scanner
  18.     Scanner: in out Scanner_Type;    --| Scanner to be initialized
  19.     S: in string;            --| String to be scanned
  20.     Last: in natural            --| Last scannable character in S.
  21.     );
  22.  
  23. --| Requirement Satisfied: ABS(1).Scanners(1) 1.1
  24.  
  25.  
  26. function is_Empty(    --| Return False if Scanner can scan more characters
  27.     Scanner: in Scanner_Type
  28.     ) return boolean;
  29.  
  30. --| Requirement Satisfied: ABS(1).Scanners(1) 1.1
  31.  
  32.  
  33. function is_Alpha(    --| Check for alphabetic character
  34.     Scanner: in scanner_Type;
  35.     S: in string
  36.     ) return boolean;
  37.  
  38. --| Requirement Satisfied: ABS(1).Scanners(1) 1.2
  39. pragma inline(is_Alpha);
  40.  
  41.  
  42. function is_Digit(    --| Check for start of  unsigned number
  43.     Scanner: in scanner_Type;
  44.     S: in string
  45.     ) return boolean;
  46.  
  47. --| Requirement Satisfied: ABS(1).Scanners(1) 1.2
  48.  
  49.  
  50. function is_Sign(    --| Check for '+' or '-'
  51.     Scanner: in scanner_Type;
  52.     S: in string
  53.     ) return boolean;
  54.  
  55. --| Requirement Satisfied: ABS(1).Scanners(1) 1.2
  56.  
  57.  
  58. function is_Digit_or_Sign(    --| Check for start of optionally signed number
  59.     Scanner: in scanner_Type;
  60.     S: in string
  61.     ) return boolean;
  62.  
  63. --| Requirement Satisfied: ABS(1).Scanners(1) 1.2
  64.  
  65.  
  66. procedure skip_Blanks(    --| Skip leading blanks in S
  67.     Scanner: in out Scanner_Type;    --| Scanner to be updated
  68.     S: in string            --| String being scanned
  69.     );
  70.  
  71. --| Requirement Satisfied: ABS(1).Scanners(1) 1.2
  72.  
  73.  
  74. procedure scan_Word(    --| Scan past a sequence of non-blank characters
  75.     Scanner: in out Scanner_Type;
  76.     S: in string
  77.     );
  78.  
  79. --| Requirement Satisfied: ABS(1).Scanners(1) 1.2
  80.  
  81.  
  82. procedure scan_Number(
  83.     Scanner: in out scanner_Type;
  84.     S: in string
  85.     );
  86.  
  87. --| Requirement Satisfied: ABS(1).Scanners(1) 1.3
  88.  
  89.  
  90. procedure scan_Delimited(    --| Scan string delimited by a single character
  91.     Scanner: in out scanner_Type;
  92.     S: in string
  93.     );
  94.  
  95. --| Requirement Satisfied: ABS(1).Scanners(1) 1.4
  96.  
  97. end scanners;
  98.  
  99. ------------------------------------------------------------------------
  100.