Einzelnen Beitrag anzeigen

Sailor

Registriert seit: 20. Jul 2008
Ort: Balaton
112 Beiträge
 
Delphi 2010 Professional
 
#1

Klassentyp a la Union-Typ

  Alt 26. Mai 2017, 16:57
Ergebnis der syntaktischen Analyse ist in der Regel ein abstrakter Syntaxbaum.
Dieser Syntaxbaum wird in nachfolgenden Durchläufen dekoriert, d.h. die Knoten werden mit Attributen
versehen, in denen die für die weitere Verarbeitung notwendigen Informationen gesammelt werden.
Dabei hängt der Typ des zugeordneten Attributs sowohl vom Knoten als auch vom jeweiligen Durchlauf ab.
In den guten alten Zeiten verwendete man dann eben einen Union-Typ, in Pascal also

Delphi-Quellcode:
TYPE
 TAttribute = RECORD
               CASE AttributeType: TAttributeType OF
                AttributeType0: (Type0: TAttributeType0);
                AttributeType1: (Type1: TAttributeType1);

                AttributeTypeN: (TypeN: TAttributeTypeN);
              END;
Nun könnte man für die TAttributeType_i natürlich Klassen einsetzen.
Die Frage ist, kann man das eleganter lösen unter Verwendung des objektorientierten Paradigmas?
Ich komme nicht so richtig weiter. Das Ganze soll ja auch leicht anpassbar an unterschiedliche Gegebenheiten sein.
Wie würdet ihr so was angehen?
  Mit Zitat antworten Zitat