2012-04-01 4 views
1

Ich muss den AST einer Sprache verarbeiten, und ein Besucher auf dem Baum löst es nur schön. Einige Features erfordern jedoch, dass ich eine Art Stapel (den Stapel bekannter Variablen) im permanenten Kontext der Besucher aufbewahre, der im Verlauf des Besuchs erweitert und reduziert wird. Brich es das Besuchermuster?Bricht ein Stapelstatus im Besucher das Besuchermuster?

Antwort

2

Besucher können während ihrer Besuche Informationen sammeln - in der Tat ist die Visit-Implementierung der Additionszustand, der bei komplexen Operationen erforderlich sein kann (z. B. wenn Ausdrucksknoten weit voneinander entfernt sind und trotzdem voneinander erkannt werden müssen) ... Es ist also sicher zu sagen, dass Sie einen Status (auch in Form eines Stapels) im Besucher speichern können, solange Sie keine Informationen auf den verarbeiteten/besuchten Knoten selbst speichern