La 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, esta se encuentra repartida entre la dase de análisis semántico y la generación de código intermedio.
1.3.1 Comprobaciones estáticas
Estas comprobaciones estáticas recogen el comprendido
de todas aquellas tareas de carácter semántico que por tu naturaleza pueden ser
realizadas directamente durante la fase en que se compila mediante el uso de
artefactos y mecanismos propios de esta fase. Este tipo de comprobaciones son
beneficiosas puesto que brindan seguridad a la ejecución del programa.
Características
·
Diferente de la dinámica
en run time.
·
Ejemplo: comprobación de
tipos, flujo de control unicidad.
1.3.2 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 compilaciones. Los
lenguajes que poseen una carga excesiva de comprobaciones dinámicas generan
programas mas 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, sea segura 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.
Elaborado por: Andrés Martínez Damián
Referencias:
Leon, C. R. (09 de
Diciembre de 2009). Comprobación de Tipos: Las Expresiones. Obtenido de
ETSII: http://cc.etsii.ull.es/ftp/antiguo/PROLEN1/perlexamples/node184.html
StuDocu. (Febrero de
2021). Análisis Semántico. Obtenido de StuDocu:
https://www.studocu.com/es-mx/document/instituto-tecnologico-de-ciudad-juarez/lenguajes-y-automatas-ii/lenguajes-y-automatas-2-unidad-1-analisis-semantico/17551776