25 lines
711 B
Modula-2
25 lines
711 B
Modula-2
DEFINITION MODULE Storage;
|
|
(*
|
|
Module: Dynamic storage allocation
|
|
From: "Programming in Modula-2", 3rd, corrected edition, by N. Wirth
|
|
Version: $Header$
|
|
*)
|
|
|
|
FROM SYSTEM IMPORT ADDRESS;
|
|
|
|
PROCEDURE ALLOCATE(VAR a : ADDRESS; size : CARDINAL);
|
|
(* Allocate an area of the given size and return the address
|
|
in "a". If no space is available, the calling program is
|
|
killed.
|
|
*)
|
|
|
|
PROCEDURE DEALLOCATE(VAR a : ADDRESS; size : CARDINAL);
|
|
(* Free the area at address "a" with the given size. The area
|
|
must have been allocated by "ALLOCATE", with the same size.
|
|
*)
|
|
|
|
PROCEDURE Available(size : CARDINAL) : BOOLEAN;
|
|
(* Return TRUE if an area with the given size could be allocated.
|
|
*)
|
|
|
|
END Storage.
|