2012-04-01 12 views
1

言語のASTを処理する必要があり、ツリー上の訪問者はそれをうまく解決します。しかし、いくつかの機能では、訪問者の永続的なコンテキストに何らかのスタック(既知の変数のスタック)を保管しておく必要があります。これは、訪問が進むにつれて拡張され、縮小されます。それは訪問者のパターンを壊すか?訪問者のスタック状態が訪問者パターンを壊していませんか?

答えて

2

ビジターは訪問中に情報を蓄積することができます。実際、Visitの実装は複雑な操作で必要になる可能性のある追加状態です(式ツリーノードが互いに遠く離れていて、 ... 処理された/訪問したノード自体に関する情報を一切保存しない限り、状態(たとえスタックの形でも)を訪問者に格納することができます。

関連する問題