Nachdem in der Vorlesung Bäume, insbesondere Formelbäume, angesprochen wurden, werden wir das bestehende Beispielprogramm erweitern. Die Funktionalität des bestehenden Moduls Expressions soll unverändert bleiben. Allerdings soll dieses Modul um eine weitere Prozedur Evaluate erweitert werden, mit der der Wert eines übergebenen, gültigen Ausdrucks bestimmt werden soll. Es ist also eine Prozedur von folgender Gestalt im Modul Expressions zu implementieren:
PROCEDURE Evaluate(at: Attribute) : INTEGER;
Außerdem benötigen wir ein kleines Hauptmodul, das das erweiterte Modul testet. Dazu kann als Basis auch das Hauptmodul aus der Vorlesung verwendet werden. Einige beispielhafte Testfälle findet Ihr in den Beispielen zu diesem Übungsblatt.