同僚から、AST をナビゲートするためのビジター パターンを作成するよう提案されました。どうすればそれを書き始めることができるか、誰か教えてもらえますか?
私が理解している限りでは、AST の各ノードには、visit()
何らかの形で (どこから?) 呼び出されるメソッド (?) があります。以上で私の理解は終わりです。
すべてを単純化するために、ノードRoot
、Expression
、Number
がOp
あり、ツリーが次のようになっているとします。
Root
|
Op(+)
/ \
/ \
Number(5) \
Op(*)
/ \
/ \
/ \
Number(2) Number(444)
訪問者パターンがこのツリーにアクセスして出力を生成する方法を考えられる人はいますか?
5 + 2 * 444
ありがとう、ボダ・シド。