前端电子表格技术实践(三)公式计算
•支撑复杂逻辑运算的计算引擎
–公式字串生成公式表达式
–表达式树及构建计算链
首先要做的是词法分析,将公式按照运算符,符号等内容分解为字符串数组
下一步,根据优先级,将字符串数组组装形成表达式树。
表达式树的生成,是后续构建计算依赖链的关键。
通过递归调用来计算表达式树
生成表达式树的同时,并构建依赖关系,统计入度
这里的计算连,是一种图的数据结构。通过图的遍历算法解决以上问题
有当数据发生变化时,那么就会沿着这条依赖链,查找依赖节点并进行重算,这个过程中,没有在依赖链中的节点是不会发生重算动作的,也就是我们所说的脏值运算。这样就解决了单元格相互依赖重算的问题。
页:
[1]