Want to create interactive content? It’s easy in Genially!

Get started free

Pitch Genial

David Hernandez

Created on March 21, 2024

Start designing with a free template

Discover more than 1500 professional designs like these:

Transcript

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 artefactos y mecanismos propios de dicha fase. Este tipo de comprobaciones son beneficiosas puesto que confieren seguridad a la ejecución del programa.

CARACTERISTICAS

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 compatibildad 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 resovler el tipo de datos de la expresión resultante en función del contexto de evaluación.

Robustez del programa: Las comprobaciones de tipos ayudan a garantizar que los datos se utilicen de manera coherente y cohesiva en un programa. Si se espera un cierto tipo de datos en una expresión y se proporciona un tipo incorrecto, puede provocar errores en tiempo de ejecución que podrían haberse evitado mediante una comprobación de tipos adecuada.Prevención de errores: La comprobación de tipos ayuda a prevenir errores comunes como la concatenación de tipos incompatibles, la realización de operaciones no válidas en ciertos tipos de datos, o el acceso a propiedades inexistentes en un tipo de objeto. Al atrapar estos errores en tiempo de compilación o mediante análisis estático, se reducen las posibilidades de que ocurran errores en tiempo de ejecución.

IMPORTANCIA

Claridad y legibilidad del código: Al especificar explícitamente los tipos de datos esperados en una expresión, se mejora la claridad y la legibilidad del código. Esto hace que sea más fácil para otros programadores comprender la intención del código y reduce la probabilidad de malentendidos o interpretaciones incorrectas.Optimización del rendimiento: En algunos lenguajes de programación, las comprobaciones de tipos pueden permitir al compilador realizar optimizaciones específicas que mejoran el rendimiento del programa. Por ejemplo, en un lenguaje de tipado estático, el compilador puede inferir tipos y generar código más eficiente al conocer los tipos de datos en tiempo de compilación.

IMPORTANCIA

Facilita el mantenimiento del código: Cuando se realizan cambios en el código, las comprobaciones de tipos pueden ayudar a identificar posibles problemas de compatibilidad con tipos en diferentes partes del programa. Esto facilita el mantenimiento del código y reduce el riesgo de introducir errores al realizar modificaciones.

IMPORTANCIA

Este código arrojará:

Ahora, si intentamos sumar números con tipos incompatibles, obtendremos un error en tiempo de ejecución con un mensaje claro indicando el problema:

Este código provocará un error en tiempo de ejecución porque estamos intentando sumar un entero (5) con una cadena ("2"), lo cual no es una operación válida. Para evitar este tipo de errores, podemos agregar comprobaciones de tipos en la función sumar para garantizar que solo se pasen números como argumentos:

Tenemos una función llamada sumar que toma dos números como argumentos y devuelve su suma:

EJEMPLO

03

02

04

01

Las comprobaciones de tipos en expresiones son fundamentales en la programación por varias razones clave: 1.Robustez y seguridad del programa: Ayudan a garantizar que los datos se utilicen de manera coherente y cohesiva, previniendo errores en tiempo de ejecución y mejorando la estabilidad del programa. 2. Prevención de errores: Evitan errores comunes como la concatenación de tipos incompatibles o la realización de operaciones no válidas en ciertos tipos de datos, lo que conduce a un código más confiable y menos propenso a fallos. 3. Claridad y legibilidad del código: Mejoran la comprensión del código al especificar explícitamente los tipos de datos esperados en una expresión, lo que facilita su mantenimiento y reduce la probabilidad de malentendidos. 4. Optimización del rendimiento: En algunos casos, permiten al compilador realizar optimizaciones específicas que mejoran el rendimiento del programa al conocer los tipos de datos en tiempo de compilación. Son esenciales para desarrollar código más robusto, seguro y mantenible, además de contribuir a una mejor comprensión y optimización del rendimiento del programa. Integrar adecuadamente estas comprobaciones en el diseño y la implementación del código es fundamental para garantizar su calidad y fiabilidad.

CONCLUSION

BIBLIOGRAFIA

1.3.- Comprobaciones de tipos en expresiones. (2020, 2 enero). Lenguajes y Autómatas II. https://5e344735705b1.site123.me/unidad-i-%C3%81nalisis-sem%C3%A1ntico/13-comprobaciones-de-tipos-en-expresiones Comprobaciones de tipos en expresiones. (2023, 4 noviembre). Genially. https://view.genial.ly/6545d1952e302900127db819/presentation-comprobaciones-de-tipos-en-expresiones 4.4 Tipos de Datos y Verificación de Tipos. (s. f.). http://cidecame.uaeh.edu.mx/lcc/mapa/PROYECTO/libro32/44__tipos_de_datos_y_verificacin_de_tipos.html