home *** CD-ROM | disk | FTP | other *** search
/ Turbo Toolbox / Turbo_Toolbox.iso / 1988 / 06_07 / listmodd.mod < prev    next >
Encoding:
Modula Definition  |  1988-03-24  |  3.3 KB  |  102 lines

  1. (* --------------------------------------------------- *)
  2. (*                   LISTMOD.DEF                       *)
  3. (*         Definitons-Modul des Listen-Moduls          *)
  4.  
  5. DEFINITION MODULE ListMod;
  6.  
  7. FROM SYSTEM IMPORT ADDRESS;
  8.  
  9. TYPE ListType;           (* abstrakter Datentyp !! *)
  10.  
  11. ListPositionProc = PROCEDURE (ADDRESS,ADDRESS) : BOOLEAN;
  12. ListTraverseProc = PROCEDURE (ADDRESS);
  13.  
  14.  
  15. PROCEDURE LIstOpen         (VAR L : ListType;
  16.                             RecordLaenge : CARDINAL);
  17. PROCEDURE LIstClose        (VAR L : ListType);
  18.  
  19.  
  20. PROCEDURE EmptyLIst        (L : ListType) : BOOLEAN;
  21. PROCEDURE HeadOfLIst       (L : ListType) : BOOLEAN;
  22. PROCEDURE TailOfLIst       (L : ListType) : BOOLEAN;
  23. PROCEDURE LengthOfLIst     (L : ListType) : CARDINAL;
  24.  
  25.  
  26. PROCEDURE LIstHead         (L : ListType);
  27. PROCEDURE LIstTail         (L : ListType);
  28. PROCEDURE LIstSavePosition (L : ListType;
  29.                             VAR aktPointer : ADDRESS);
  30. PROCEDURE LIstLoadPosition (L : ListType;
  31.                             aktPointer : ADDRESS);
  32.  
  33.  
  34. PROCEDURE LIstCurrent      (L : ListType;
  35.                             VAR Info : ADDRESS);
  36. PROCEDURE LIstNext         (L : ListType);
  37. PROCEDURE LIstPrev         (L : ListType);
  38.  
  39.  
  40. PROCEDURE LIstDelete       (L : ListType);
  41. PROCEDURE LIstAppend       (L : ListType;
  42.                             Info : ADDRESS);
  43. PROCEDURE LIstInsert       (L : ListType;
  44.                             Info : ADDRESS);
  45.  
  46.  
  47. PROCEDURE LIstSearchToTail(L          : ListType;
  48.                            Position   : ListPositionProc;
  49.                            Vergleich  : ADDRESS;
  50.                            VAR gefunden     : BOOLEAN);
  51. PROCEDURE LIstSearchToHead(L          : ListType;
  52.                            Position   : ListPositionProc;
  53.                            Vergleich  : ADDRESS;
  54.                            VAR gefunden     : BOOLEAN);
  55. PROCEDURE LIstFromHeadToTail(L            : ListType;
  56.                         ListTraverse : ListTraverseProc);
  57. PROCEDURE LIstFromTailToHead(L            : ListType;
  58.                         ListTraverse : ListTraverseProc);
  59.  
  60.  
  61. PROCEDURE ListOpen       (VAR L : ListType;
  62.                           RecordLaenge : CARDINAL);
  63. PROCEDURE ListClose;
  64. PROCEDURE ListDefault    (VAR L : ListType);
  65.  
  66.  
  67. PROCEDURE EmptyList        () : BOOLEAN;
  68. PROCEDURE HeadOfList       () : BOOLEAN;
  69. PROCEDURE TailOfList       () : BOOLEAN;
  70. PROCEDURE LengthOfList     () : CARDINAL;
  71.  
  72.  
  73. PROCEDURE ListHead;
  74. PROCEDURE ListTail;
  75. PROCEDURE ListSavePosition (VAR aktPointer : ADDRESS);
  76. PROCEDURE ListLoadPosition (    aktPointer : ADDRESS);
  77.  
  78.  
  79. PROCEDURE ListCurrent       (VAR Info : ADDRESS);
  80. PROCEDURE ListNext;
  81. PROCEDURE ListPrev;
  82.  
  83.  
  84. PROCEDURE ListDelete;
  85. PROCEDURE ListAppend        (     Info : ADDRESS);
  86. PROCEDURE ListInsert        (     Info : ADDRESS);
  87.  
  88.  
  89. PROCEDURE ListSearchToTail(Position   : ListPositionProc;
  90.                            Vergleich  : ADDRESS;
  91.                            VAR gefunden     : BOOLEAN);
  92. PROCEDURE ListSearchToHead(Position   : ListPositionProc;
  93.                            Vergleich    : ADDRESS;
  94.                            VAR gefunden     : BOOLEAN);
  95. PROCEDURE ListFromHeadToTail(
  96.                         ListTraverse : ListTraverseProc);
  97. PROCEDURE ListFromTailToHead (
  98.                         ListTraverse : ListTraverseProc);
  99.  
  100.  
  101. END ListMod.
  102.