homeSoftwaredesign Softwaredesign: Beispiel: Auswertung arithmetischer Ausdrücke Prof. Dr. Uwe Schmidt FH Wedel

Beispiel: Auswertung arithmetischer Ausdrücke


weiter

Eine Klassenhierachie für arithmetische Ausdrücke

Expr
Die abstrakte Klasse Expr legt eine Datenstruktur für arithmetische Ausdrücke fest.
 
Sie definiert eine abstrakte Funktion eval zum Auswerten von Ausdrücken. eval kann als Kern eines Interpretierers für eine Sprache verwendet werden, in der Ausdrücke mit Exemplaren der Klasse Expr dargestellt werden.
weiter
Const
Eine konkrete Klasse Const zur Repräsentation von Konstanten, abgeleitet aus Expr.
weiter
UnaryExpr
Eine abstrakte Klasse für allgemeine einstellige Ausdrücke mit einer Implementierung der eval-Funktion für alle unären Operatoren. Die eigentliche Operation wird über eine Schablonenmethode ausgewählt.
weiter
UnaryPlus,
UnaryMinus,
IntToDouble
Drei konkrete Klassen für einstellige Operatoren, +, - und Konversion.
weiter
BinaryExpr
Eine abstrakte Klasse für allgemeine zweistellige Ausdrücke mit einer Implementierung der eval-Funktion für alle binären Operatoren. Die eigentliche Operation wird über eine Schablonenmethode ausgewählt.
weiter
BinaryPlus,
BinaryMinus,
Mult
Drei konkrete Klassen für zweistellige Operatoren, +, - und *.
 
Durch zusätzliche Definition solcher Klassen kann die Menge der Ausdrücke erweitert werden, ohne an irgendeiner Stelle in existierenden Programmteilen etwas zu verändern.
 
Schlagwort: Lokale Erweiterbarkeit.
weiter
Test
Ein einfaches Testprogramm.
 
weiter

Letzte Änderung: 23.06.2014
© Prof. Dr. Uwe Schmidt
Prof. Dr. Uwe Schmidt FH Wedel