语法树中表示的公式是否会使用访问者模式等设计模式重新计算?您将如何在代码中重现重新计算过程?
David Robbins
问问题
4208 次
3 回答
7
于 2008-11-27T00:11:51.883 回答
3
正如您所说,一个猜测可能是 Excel 创建了一堆 AST,每个独立的单元格组一个,其中叶子是原始静态数据,节点是公式。
然后它使用后序树遍历算法计算每个节点的结果。
您必须考虑叶/节点取消、部分重新计算、ecc。如果我没记错的话,我在某处读到 Excel 可以受益于多核处理器以并行重新计算工作表。
于 2008-11-24T18:37:41.390 回答
2
AST 中表示的公式是否会使用访问者模式等设计模式重新计算?
您正在考虑口译员,而不是访客。虽然使用访问者的 treewalking 可以与口译结合使用,但在这里使用口译员更有意义(因此得名)。这基本上就是friol写的,即后序遍历树,执行每个节点关联的函数。
于 2008-11-24T18:42:11.240 回答