我的同事建议我编写一个访问者模式来浏览AST。有没有人能告诉我更多,我该如何开始写?
据我所知,AST中的每个节点都会有visit()
方法(?)会以某种方式被调用(从哪里?)。这就是我的理解。
为了简化这一切,假设我有节点Root
、Expression
、Number
、Op
,树看起来像这样:
Root
|
Op(+)
/ \
/ \
Number(5) \
Op(*)
/ \
/ \
/ \
Number(2) Number(444)
有人能想到访问者模式是如何访问这棵树来产生输出的:
5 + 2 * 444
谢谢,波达·西多。
https://stackoverflow.com/questions/2525677
复制相似问题