Descargar la presentación
La descarga está en progreso. Por favor, espere
Publicada porMauricio Hasselo Modificado hace 6 años
2
Criterios Evaluación Portafolio de evidencias 5 Mapa conceptual 10 Practicas 30 Examen teórico 20 Analizador Sem. 35
3
Análisis semántico Dota de un significado coherente a lo que hemos hecho en el análisis sintáctico. Se encarga de que los tipos que intervienen en las expresiones sean compatibles
4
Funciones Principales Identificar cada tipo de instrucción y sus componentes Completar la Tabla de Símbolos Realizar distintas comprobaciones y validaciones:
5
Objetivo Verificar la semántica de la cadena de entrada Verificar que las variables han sido declaradas previamente. Comprobación de tipos en las expresiones. Elección de la función u operador en caso de sobrecarga o polimorfismo. Emitir informes de errores semánticos Construir el Árbol de Sintaxis
6
Recoge toda la información sintáctica y semántica Elimina los símbolos que no aportan significado Los nodos reflejan los datos asociados a cada símbolo El objetivo de las acciones semánticas es construir un árbol de expresiones Árbol de Sintaxis Abstracta
7
Árbol de Expresiones Ejemplo a = b + c; ; id = + id asignación Variable Nombre: a Tipo: entero suma Tipo: entero Variable Nombre: b Tipo: entero constante Nombre: c Tipo: entero Valor: 5
8
Gramáticas atribuídas Cada símbolo gramatical tiene asociados un conjunto de atributos – representan información semántica Ejemplos: para una constante: valor, tipo para un identificador: string, tipo, valor actual, posición en memoria Gramática atribuida Gramática en la que cada producción tiene asociado un conjunto de reglas para los valores de los atributos Uso: – especificar y calcular atributos – generar código
9
AtributoReglas de la GramáticaAcciones semánticas valE E + T | T E.val = E1.val + T.val E.val = T.val valT T * F | F T.val = T1.val + F.val T.val = F.val valF numF.val = Valor_número Gramáticas atribuídas Ejemplo:
10
También el árbol de sintaxis que construya el analizador sintáctico deberá incluir la evaluación de los atributos Gramáticas atribuídas Ejemplo: W = 3 + 4*2 T.val=8 T.val=4 id E.val=3 T.val=3 S = E.val=11 + F.val=3 3 F.val=4 F.val=2 4 2 *
11
Dos tipos de atributos – Atributos sintetizados: se obtienen a partir de atributos de los descendientes en el árbol pasan información “hacia arriba“ por lo tanto: fáciles de manejar para analizadores – Atributos heredados: su valor depende de atributos del padre y/o de los hermanos especialmente útiles para expresar propiedades dependientes del contexto alcance de una variable tipo de una variable fáciles de obtener en analizadores Gramáticas atribuídas
12
Ejemplo de atributos sintetizados: Gramáticas atribuídas W = 3 + 4*2 T.val id E.val T.val S = E.val + F.val 3 4 2 * E E + T | T T T * F | F F num
13
Ejemplo de atributos heredados Gramáticas atribuídas DECL T L ; T int |char|float L id | L, id int i ; T DECL L int ; id T.tipo=int DECL L.tipo=int int ; Id.tipo=int i
Presentaciones similares
© 2025 SlidePlayer.es Inc.
All rights reserved.