You are on page 1of 12

ANLISIS SEMNTICO

Que es la semntica? Se refiere a los aspectos del significado, sentido o interpretacin del significado de un determinado elemento, smbolo, palabra, expresin o representacin formal.

Anlisis semntico 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 vlido.

ANLISIS SEMNTICO

El anlisis semntico se realiza posteriormente al sintctico y mucho ms difcil de formalizar que ste. La salida terica de la fase de anlisis semntico sera un rbol semntico.

QUE ES UN ARBOL SEMANTICO?

Es una estructura jerrquica en la cual se registran las operacines 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.

Ejemplo: Suponiendo que tenemos esta linea de codigo en C: res=valor1+valor2;


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

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

TABLA DE SIMBOLOS
Un compilador necesita guardar y usar la informacin de los objetos que se va encontrando en el texto fuente, como variables, etiquetas, declaraciones de tipos, etc. Esta informacin se almacena en una estructura de datos interna conocida como tabla de smbolos.

TABLA DE SIMBOLOS
El compilador debe desarrollar una serie de funciones relativas a la manipulacin de esta tabla como insertar un nuevo elemento en ella, consultar la informacin relacionada con un smbolo, borrar un elemento, etc. Como se tiene que acceder mucho a la tabla de smbolos los accesos deben ser lo ms rpidos posible para que la compilacin sea eficiente.

SISTEMAS DE TIPO:

Sistema de tipos: conjunto de reglas que determinan el criterio para asignar expresiones de tipo a las diferentes partes del cdigo fuente. Tipo bsico: entero, carcter, real, lgico Nombres de tipo Constructores de tipo: estructuras, uniones, objetos Apuntadores: referencias a tipos Funciones a=suma();

CHEQUEOS DE TIPOS (Y OTROS)


Un compilador debe realizar una serie de chequeos estticos, como chequeos de tipos: Consistencia: unicidad, existencia, no-ciclicidad, ... Equivalencia y compatibilidad de tipos Conversin explcita [cast] o forzada [coercion] Inferencia de tipos (en valores) Sobrecarga de funciones y operadores

COMPROBACIONES SEMNTICAS
Comprobaciones ESTTICAS. Las comprobaciones sintcticas y semnticas. Comprobaciones DINMICAS. Realizadas en tiempo de ejecucin. Comprobaciones SEMNTICAS De TIPO. Verificacin del tipo de los operandos en las expresiones. De FLUJO de CONTROL. Verifica los puntos del programa de salida y entrada del control.

De UNICIDAD. Verifica la presencia de smbolos de forma nica. (ejemplo: declarar un smbolo una sla vez). Relacin de NOMBRES. Un mismo nombre puede aparecer ms de una vez.

REPRESENTACIONES INTERNAS

Intermedias entre frontal [front-end] y dorsal [back-end], permiten desacoplar los diseos de unos y otros. Orientadas a: Su optimizacin (instrucciones claras y simples) Generar cdigo de distintas mquinas objeto y el diseo debe permitir su fcil generacin por el analizador semntico.

INTEGRANTES DEL EQUIPO


Jos Guadalupe Gonzales Fernando Garca Rivera Jess Alejandro Beltrn Reyna

You might also like