analisis semantico

12
ANÁLISIS SEMÁNTICO Que es la semántica? Se refiere a los aspectos del significado, sentido o interpretación del significado de un determinado elemento, símbolo, palabra, expresión o representación formal. Análisis semántico Se trata de determinar el tipo de los resultados intermedios, comprobar que los argumentos que tiene un operador pertenecen al conjunto de los operadores posibles, y si son compatibles entre sí, etc. En definitiva, comprobará que el significado de lo que se va leyendo es válido.

Upload: pepe-hernandez

Post on 08-Jun-2015

93.565 views

Category:

Education


0 download

TRANSCRIPT

Page 1: Analisis semantico

ANÁLISIS SEMÁNTICO

Que es la semántica? Se refiere a los aspectos del significado, sentido o

interpretación del significado de un determinado elemento, símbolo, palabra, expresión o representación formal.

Análisis semánticoSe trata de determinar el tipo de los resultados intermedios, comprobar que los argumentos que tiene un operador pertenecen al conjunto de los operadores posibles, y si son compatibles entre sí, etc. En definitiva, comprobará que el significado de lo que se va leyendo es válido.

Page 2: Analisis semantico

ANÁLISIS SEMÁNTICO

El análisis semántico se realiza posteriormente al sintáctico y mucho más difícil de formalizar que éste.

La salida “teórica” de la fase de análisis semántico sería un árbol semántico.

Page 3: Analisis semantico

QUE ES UN ARBOL SEMANTICO?

Es una estructura jerárquica en la cual se registran las operaciónes que implica u operan dentro del programa fuente

En cada una de las ramas del arbol semantico se registra el valor o significado que este debe tener, y el analisis

semantico se encarga de terminar cual de los valores registrados en las ramas es aplicable.

Page 4: Analisis semantico

Ejemplo:Suponiendo que tenemos esta linea de codigo en C:

res=valor1+valor2;

El analisis semantico se va a encargar que tanto el valor1 como el valor2 tengan datos que son compatibles en común y que ademas se les pueda aplicar dicho operador.

En C el simbolo (+) implica una suma de valores o una union de las cadenas

Page 5: Analisis semantico

TABLA DE SIMBOLOS

Un compilador necesita guardar y usar la información de los objetos que se va encontrando en el texto fuente, como variables, etiquetas, declaraciones de tipos, etc.

Esta información se almacena en una estructura de datos interna conocida como tabla de símbolos.

Page 6: Analisis semantico

TABLA DE SIMBOLOS

El compilador debe desarrollar una serie de funciones relativas a la manipulación de esta tabla como insertar un nuevo elemento en ella, consultar la información relacionada con un símbolo, borrar un elemento, etc. Como se tiene que acceder mucho a la tabla de símbolos los accesos deben ser lo más rápidos posible para que la compilación sea eficiente.

Page 7: Analisis semantico

SISTEMAS DE TIPO:

Sistema de tipos: conjunto de reglas que determinan el criterio para asignar expresiones de tipo a las diferentes partes del código fuente.

Tipo básico: entero, carácter, real, lógico Nombres de tipo Constructores de tipo: estructuras, uniones,

objetos Apuntadores: referencias a tipos Funciones a=suma();

Page 8: Analisis semantico

CHEQUEOS DE TIPOS (Y OTROS)

Un compilador debe realizar una serie de chequeos estáticos, como chequeos de tipos:

Consistencia: unicidad, existencia, no-ciclicidad, ... Equivalencia y compatibilidad de tipos Conversión explícita [cast] o forzada [coercion] Inferencia de tipos (en valores) Sobrecarga de funciones y operadores

Page 9: Analisis semantico

COMPROBACIONES SEMÁNTICAS

Comprobaciones ESTÁTICAS.Las comprobaciones sintácticas y semánticas. Comprobaciones DINÁMICAS.Realizadas en tiempo de ejecución. Comprobaciones SEMÁNTICAS De TIPO.Verificación del tipo de los operandos en las

expresiones. De FLUJO de CONTROL.Verifica los puntos del programa de salida y entrada

delcontrol.

Page 10: Analisis semantico

De UNICIDAD.Verifica la presencia de símbolos de forma única. (ejemplo: declarar un símbolo una sóla vez).Relación de NOMBRES.Un mismo nombre puede aparecer más de una vez.

Page 11: Analisis semantico

REPRESENTACIONES INTERNAS

Intermedias entre frontal [front-end] y dorsal [back-end],

permiten desacoplar los diseños de unos y otros. Orientadas a:

Su optimización (instrucciones claras y simples) Generar código de distintas máquinas objeto y el

diseño debe permitir su fácil generación por el analizador

semántico.

Page 12: Analisis semantico

INTEGRANTES DEL EQUIPO

José Guadalupe Gonzales Fernando García Rivera Jesús Alejandro Beltrán Reyna