Universität Ulm,
Fakultät für Mathematik und Wirtschaftswissenschaften,
SAI
WS 97/98 || Entwicklung objekt-orientierter Bibliotheken || Übungen || Assoz. Arrays
DEFINITION Dictionaries
(*
* Entwicklung objekt-orientierter Bibliotheken, Aufgabe 7
*
* Abstraktion fuer assoziative Arrays.
*)
DEFINITION Dictionaries;
IMPORT ConstStrings, Disciplines, Objects;
TYPE
Key = ConstStrings.String;
Dictionary = POINTER TO DictionaryRec;
DictionaryRec =
RECORD
(Disciplines.ObjectRec)
END;
AddProc = PROCEDURE (dict: Dictionary; key: Key; object: Objects.Object);
RemoveProc = PROCEDURE (dict: Dictionary; key: Key);
GetProc = PROCEDURE (dict: Dictionary; key: Key;
VAR object: Objects.Object): BOOLEAN;
CardProc = PROCEDURE (dict: Dictionary): INTEGER;
FirstProc = PROCEDURE (dict: Dictionary);
NextProc = PROCEDURE (dict: Dictionary;
VAR key: Key; VAR object: Objects.Object): BOOLEAN;
Interface = POINTER TO InterfaceRec;
InterfaceRec =
RECORD
add: AddProc;
remove: RemoveProc;
get: GetProc;
card: CardProc;
first: FirstProc;
next: NextProc;
END;
PROCEDURE Init(dict: Dictionary; if: Interface);
PROCEDURE Add(dict: Dictionary; key: Key; object: Objects.Object);
PROCEDURE Remove(dict: Dictionary; key: Key);
PROCEDURE Get(dict: Dictionary;
key: Key; VAR object: Objects.Object): BOOLEAN;
PROCEDURE Card(dict: Dictionary): INTEGER;
PROCEDURE First(dict: Dictionary);
PROCEDURE Next(dict: Dictionary;
VAR key: Key; VAR object: Objects.Object): BOOLEAN;
END Dictionaries.
WS 97/98 || Entwicklung objekt-orientierter Bibliotheken || Übungen || Assoz. Arrays
Martin Hasch, 21. November 1997