martes, 11 de febrero de 2014

1.2 EVALUACIÓN DE EXPRESIONES

En general, salvo que se relacionen con las mencionadas sentencias modificadoras del flujo, las palabras-clave señalan al compilador aspectos complementarios que no alteran el orden de ejecución dentro de la propia sentencia.


Este orden viene determinado por cuatro condicionantes:


1. Presencia de paréntesis que obligan a un orden de evaluación específico.
2. Naturaleza de los operadores involucrados en la expresión (asociatividad).
3. Orden en que están colocados (precedencia).
4. Providencias (impredecibles) del compilador relativas a la optimización del código.
En cuanto al primero, aunque el paréntesis es un signo de puntuación, podría considerarse como el operador de precedencia más alta. Si existen paréntesis, el compilador los evalúa en primer lugar. El segundo es especialmente importante, porque como veremos a continuación, es precisamente su naturaleza la que establece dos propiedades importantes de los operadores: la asociatividad y la precedencia.  El punto tercero es influyente porque a igualdad de precedencia, unos operadores se ejecutan en el orden en que aparecen escritos en el código (de izquierda a derecha), y en otros casos es al contrario (dependiendo de su asociatividad). A su vez el punto cuarto encierra decisiones que son dependientes de la plataforma. Se refieren a medidas del compilador tendentes a la optimización del código de la sentencia, que resultan incontrolables para el programador a no ser que adopte medidas específicas. Estas medidas suelen consistir en no simplificar demasiado las expresiones, y obtener resultados intermedios, que solo son necesarios para obligar a una forma determinada de obtener el resultado.

No hay comentarios:

Publicar un comentario