(* ---------------------------------------------------------------------------- * $Id: MASSTOR.md,v 1.3 1995/12/16 14:51:35 kredel Exp $ * ---------------------------------------------------------------------------- * This file is part of MAS. * ---------------------------------------------------------------------------- * Copyright (c) 1989 - 1992 Universitaet Passau * ---------------------------------------------------------------------------- * $Log: MASSTOR.md,v $ * Revision 1.3 1995/12/16 14:51:35 kredel * Removed old Atari related comments. * * Revision 1.2 1992/02/12 17:31:56 pesch * Moved CONST definition to the right place * * Revision 1.1 1992/01/22 15:10:14 kredel * Initial revision * * ---------------------------------------------------------------------------- *) DEFINITION MODULE MASSTOR; (* MAS Storage Definition Module. *) (* Import lists and Definitions *) FROM MASELEM IMPORT GAMMAINT; FROM SYSTEM IMPORT ADDRESS; TYPE LIST = GAMMAINT; VAR BETA, BETA1, SIL: LIST; NU, GCC, GCCC, GCM, RHO, TAU, TAU0: GAMMAINT; CONST rcsid = "$Id: MASSTOR.md,v 1.3 1995/12/16 14:51:35 kredel Exp $"; CONST copyright = "Copyright (c) 1989 - 1992 Universitaet Passau"; PROCEDURE ADV(L: LIST; VAR a, LP: LIST); (*Advance. L is a non-null list. a=FIRST(L) and LP=RED(L). *) PROCEDURE CELLS(): GAMMAINT; (*Cells. Returns the used cells since storage initialization. *) PROCEDURE CLOCK(): GAMMAINT; (*Clock. Returns the current CPU clock reading in seconds. *) PROCEDURE COMP(a,L: LIST): LIST; (*Composition. a is an object. L is a list. Returns the composition of a and L. *) PROCEDURE DEQUE(L: LIST): LIST; (*Dequeue. L is a non empty queue representing list. Returns a, the first object from the queue. L is updated. *) PROCEDURE EMPTYQUE(M: LIST): BOOLEAN; (*Empty Queue. Tests if a queue is empty. *) PROCEDURE ENQUE(a,L: LIST); (*Enqueue. a is an object. L is a queue representing list. Appends a to the quque L. *) PROCEDURE FIRST(L: LIST): LIST; (*First. L is a non-null list. a is the first element of L. *) PROCEDURE NEWQUE(): LIST; (*New Queue. Returns a new empty queue. *) PROCEDURE INV(L: LIST): LIST; (*Inverse. L is a list. The inverse of L is returned. The list L is modified. *) PROCEDURE LENGTH(L: LIST): GAMMAINT; (*Length. L is a list. Returns length(L).*) PROCEDURE LIST1(a: LIST): LIST; (*List, 1 element. a is an object. L is the list (a). *) PROCEDURE LISTVAR(VAR L: LIST); (*List variable. L is a list. The address of L is made accessible to the garbage collector. *) PROCEDURE RED(L: LIST): LIST; (*Reductum. L is a non-null list. Returns the reductum of L. *) PROCEDURE SFIRST(L, a: LIST); (*Set first. L is a non-null list. a is an object. The first element of L is changed to a. *) PROCEDURE SRED(L, LP: LIST); (*Set reductum. L is a non-null list. LP is a list. The reductum of L is changed to LP. *) PROCEDURE TIME(): GAMMAINT; (*Time. Returns the CLOCK minus the garbage collection time TAU. *) END MASSTOR. (* -EOF- *)