Está en la página 1de 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;


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.
En C el simbolo (+)
implica una suma de
valores o una union
de las cadenas
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

También podría gustarte