Análisis semántico

¿Que es la semántica?

Semántica de un lenguaje de programación es el conjunto de reglas que especifican el significado de cualquier sentencia sintácticamente válida.

¿Cuál es el objetivo principal del análisis semántico?

El análisis semántico tiene cómo objetivo principal detectar la validez semántica de las sentencias aceptadas por el analizador sintáctico

¿Qué es la semántica de un programa?

SINTAXIS

Cómo se ve un programa

Representación textual o estructura

Es posible dar una defición matemática precisa

SEMÁNTICA

Cuál es el significado del programa

Es más dificil dar una definición matemática precisa

¿Qué es Análisis Semántico?

Es la estapa que procesa la información adicional necesaria para el procesamiento de un lenguaje, una vez que la estructura sintáctica de un programa haya sido obtenida.

¿Qué comprueba un analizador semántico?

Un analizador semántico comprueba que un analizador sintáctico es semánticamente válido. Además genera un árbol semántico o etiquetado.

Cuál es uno de los componentes más importante del análisis semántico

Uno de los coponentes más importantes del análisis semántico es la verificación de tipos de datos, declaraciones de variable, validaciones de clases, compatibilidad de variables, uso de variables de entorno, instancia de objetos, herencia, polimorfismos, sobrecarga, etc.

Descripción Semántica

Existen dos formas de describir la semántica de un lenguaje de programación

Semántica Formal

Es el estudio del significado gramatical

descripción rigurosa de los componentes

interpretación lógica del lenguaje

Semántica Informal

Lenguaje Natural

Funciones del Analizador Semántico

Detectar si las varibles, constantes y funciones han sido declaradas antes de ser utilizadas

Verificar que las variables, constantes y funciones sean accesibles desde el ámbito en que son utilizadas

comprobar que los diferentes identificadores solo hayan sido declarados una vez

Comprobaciones de tipos al evaluar las expresiones

Verificar que no se intente modificar el valor de una constante