Universität Ulm,
Fakultät für Mathematik und Wirtschaftswissenschaften,
SAI
WS 97/98 || Entwicklung objekt-orientierter Bibliotheken || Übungen || Lösung 2
DEFINITION BooleanExpressions
(*
* Entwicklung objekt-orientierter Bibliotheken, Aufgabe 4
*
* Definition eines abstrakten Datentyps fuer Boolesche Ausdruecke.
*)
DEFINITION BooleanExpressions;
TYPE
Expression = POINTER TO ExpressionRec;
ExpressionRec = RECORD END;
(* --- Constructors --- *)
PROCEDURE Const(value: BOOLEAN): Expression;
PROCEDURE Var(index: INTEGER): Expression;
PROCEDURE Not(op: Expression): Expression;
PROCEDURE And(op1, op2: Expression): Expression;
PROCEDURE Or(op1, op2: Expression): Expression;
PROCEDURE Xor(op1, op2: Expression): Expression;
(* --- Parsing --- *)
PROCEDURE Eval(expr: Expression; parm: SET): BOOLEAN;
(*
* Return set of variables expr depends on.
*)
PROCEDURE Parameters(expr: Expression): SET;
END BooleanExpressions.
WS 97/98 || Entwicklung objekt-orientierter Bibliotheken || Übungen || Lösung 2
Andreas Borchert, 26. November 1997