1.3 Comprobaciones de tipos en expresiones
La labor de comprobación de tipos consiste en conferir a las construcciones
sintácticas del lenguaje la semántica de tipificación y en realizar todo tipo de
comprobaciones de dicha índole. Por su naturaleza, sin embargo, ésta se
encuentra repartida entre la fase de análisis semántico y la generación de código
intermedio.
- Comprobaciones estáticas
Las comprobaciones estáticas recogen el compendio de todas aquellas tareas de
carácter semántico que, por su naturaleza, pueden ser realizadas directamente
durante la fase de compilación mediante el uso de los artefactos y mecanismos
propios de dicha fase. Este tipo de comprobaciones son beneficiosas puesto que
confieren seguridad a la ejecución del programa.
Características
-Diferente de la dinámica en runtime.
-Ejemplo: comprobación de tipos, flujo de control, unicidad.
- Comprobaciones dinámicas
Las comprobaciones dinámicas son aquellas que no se realizan durante la fase de
compilación y se delegan al momento de la ejecución del programa. Ello requiere
generar código ejecutable específicamente diseñado para realizar tales
comprobaciones. Los lenguajes con una carga excesiva de comprobaciones
dinámicas generan programas más largos, lentos e inseguros en ejecución.
Verificación de tipos
Comprueba la compatibilidad de tipos de todas las expresiones del código fuente
recuperando la información durante la gestión de declaraciones. Además se
asegura de que no existe en el programa ninguna referencia a ningún símbolo no
declarado.
Inferencia de tipos
En lenguajes sin tipificación de variables o con sobrecarga se aplican tareas de
inferencia de tipos en el nivel gramatical de las expresiones para resolver el tipo
de datos de la expresión resultante en función del contexto de evaluación.
Investigado por: Dayanara Lizeth Cruz Méndez
Rocha, J. (2005). Autómatas de pila y máquinas de turing estructurados.
Investigado por: Dayanara Lizeth Cruz Méndez
Rocha, J. (2005). Autómatas de pila y máquinas de turing estructurados.
No hay comentarios.:
Publicar un comentario