funcion from chart algorithm data-structures excel-formula

algorithm - from - ¿Qué algoritmo usa Excel para volver a calcular las fórmulas?



funcion hash en excel (3)

¿Las fórmulas representadas en un AST luego se recalculan usando un patrón de diseño como el patrón Visitor?

Estás pensando intérprete , no visitante. Si bien se puede utilizar footwalking utilizando un visitante junto con la interpretación, el uso de un intérprete tiene más sentido aquí (de ahí el nombre). Lo que hace esto es básicamente lo que escribió Friol, es decir, recorrer el árbol en orden posterior y ejecutar la función asociada a cada nodo.

¿Las fórmulas se representan en un árbol de sintaxis y luego se recalculan usando un patrón de diseño como el patrón de visitante? ¿Cómo harías para reproducir el proceso de recálculo en el código?


Probablemente, como dices, una conjetura es que Excel crea un grupo de AST, uno para cada grupo independiente de celdas, donde las hojas son los datos estáticos de origen y los nodos son fórmulas.

Luego calcula el resultado para cada nodo, con un algoritmo de recorrido de árbol posterior a la orden .

Debe tener en cuenta la cancelación de hoja / nodo, recálculo parcial, ecc. Si no me equivoco, leí en alguna parte que Excel podría beneficiarse de los procesadores multinúcleo para volver a calcular una hoja en paralelo.


Resolver One es una aplicación de hoja de cálculo hecha en IronPython.

Hay una explicación de la mecánica general para el cálculo [pythonology.org] que utiliza para las ecuaciones generadas por el usuario.

Descripción general del algoritmo general de Resolver One para tratar las ecuaciones generadas por el usuario http://pythonology.org/images/final/resolver/images/basic-spreadsheet-eval-web.png

La imagen relevante que muestra el algoritmo general de Resolver One.

Debe tenerse en cuenta que los usuarios pueden escribir el código python para que se interprete tanto en las celdas como en un lugar especial "fuera de la hoja".