syntax tree中的公式是否使用访问者模式等设计模式进行重新计算?你将如何去重现代码中的重新计算过程?Excel使用什么算法重新计算公式?
1
A
回答
2
也许,正如你所说的,一个猜测是Excel创建了一堆AST,每个独立的一组单元格,其中叶子是始发静态数据,节点是公式。
然后它使用post-order树遍历算法计算每个节点的结果。
您必须考虑叶/节点取消,部分重新计算,ecc。如果我没有错,我会在某处阅读Excel可以从多核处理器中并行重新计算一张表。
2
是否在AST中表示公式然后使用设计模式(如Visitor模式)重新计算?
你在想interpreter,不是访客。虽然使用访客的树行程可以与解释一起使用,但在这里使用解释器更有意义(因此名称)。这个功能基本上是friol写的,即按照后序遍历树并执行与每个节点相关的功能。
4
Resolver One是IronPython制作的电子表格应用程序。
有an explanation of the overall mechanic for the calculation [pythonology.org]它用于用户生成的ecuations。
相关的图像显示解析器一个整体的算法。
应该注意,用户可以编写python代码,以便在单元格和特殊的“工作表外”位置上进行解释。
相关问题
- 1. OpenXML SDK:使Excel重新计算公式
- 2. Excel公式计算
- 3. Excel公式计算
- 4. Excel公式未使用OfficeOpenXML计算
- 5. Excel重新计算
- 6. VBA-Excel公式参考 - 计算刷新
- 7. VBA excel公式计算?
- 8. Excel不计算公式
- 9. PHP Excel计算公式
- 10. Excel公式计算值
- 11. excel公式sumif公式不计算
- 12. ODFToolkit - 重新计算所有的公式
- 13. 设置xlsx重新计算公式
- 14. Open XML SDK 2.5能够重新计算Excel公式吗?
- 15. 打开xml sdk excel公式重新计算缓存问题
- 16. 排序时是否重新计算excel公式?
- 17. Excel c#问题 - 公式未被重新计算
- 18. 来自R到Excel数据导出:公式不重新计算
- 19. Excel公式:计算调查统计
- 20. 什么是情绪计算公式
- 21. Excel中重新计算
- 22. 重新计算式
- 23. 住房贷款计算公式(算法)?
- 24. 从记录集复制Excel计算公式时不计算
- 25. Excel公式调试 - 中位数计算
- 26. Excel公式以h计算时间:mm
- 27. Excel公式计算IF和ETC
- 28. excel中的自动公式计算
- 29. LibreOffice/Excel表格计算公式
- 30. Excel公式来计算表间连接
谢谢 - 我已经看到用于走AST的Visitor模式,并认为这是最常用的方法。我会按照您的建议检查解释器模式。 – 2008-11-24 22:30:10