Evaluación de expresiones
Las
expresiones se evalúan de acuerdo con la precedencia de los operadores. Ante una secuencia de operadores de igual
precedencia, la evaluación se realiza según el orden de escritura, de izquierda
a derecha. El orden de evaluación puede modificarse usando paréntesis.
Orden de
operadores:
1. Resolver
paréntesis, u otros símbolos. ( ) [
] { }
2. Resolver
exponentes o raíces.
3.
Multiplicación y división de izquierda a derecha.
4. Suma y
resta de izquierda a derecha.
Reducción de expresiones
La labor de un evaluador es calcular el resultado que se obtiene al
simplificar una expresión utilizando las definiciones de las funciones involucradas.
Una expresión se reduce sustituyendo, en la parte derecha de la
ecuación de la función, los Parámetros Formales o argumentos por los que
aparecen en la llamada(también llamados Parámetros Reales o Parámetros). Cuando
una expresión no pueda reducirse más, se dice que está en Forma Normal
ORDEN APLICATIVO
Se reduce
siempre el término MAS INTERNO (el más anidado en la expresión). En caso de que
existan varios términos a reducir (con la misma profundidad) se selecciona el
que aparece más a la izquierda de la expresión. Esto también se llama “paso de
parámetros por valor” , ya que ante una aplicación de una función, se reducen
primero los parámetros de la función.
ORDEN NORMAL
Consiste en
seleccionar el término MÁS EXTERNO (el menos anidado), y en caso de conflicto
el que aparezca más a la izquierda de la expresión. Esta estrategia se conoce
como “paso de parámetro por nombre o referencia”, ya que se pasan como
parámetros de las funciones expresiones en vez de valores.
Evaluación PEREZOSA o LENTA (Lazy)
No se evalúa
ningún elemento en ninguna función hasta que no sea necesario Las listas se
almacenan internamente en un formato no evaluado La evaluación perezosa
consiste en utilizar paso por nombre y recordar los valores de los argumentos
ya calculados para evitar recalcularlos. También se denomina estrategia de pasos
de parámetros por necesidad. Con una estrategia no estricta de la expresión
doble (doble 3), la expresión (3 + 3) se calcula dos veces.
No hay comentarios:
Publicar un comentario