| 
       
  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.
  | 
  |  | 
     
     
        | 
       
  Eine konkrete Klasse Const zur Repräsentation von Konstanten, abgeleitet
  aus Expr.
  | 
  |  | 
     
     
        | 
       
  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.
  | 
  |  | 
     
     
        | 
       
  Drei konkrete Klassen für einstellige Operatoren, +, - und Konversion.
  | 
  |  | 
     
     
        | 
       
  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.
  | 
  |  | 
     
     
        | 
       
  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.
  | 
  |  | 
     
     
        | 
       
  Ein einfaches Testprogramm.
    | 
        | 
       
  | 
  |  |