Analisis Semantico
Analisis Semantico
Analisis Semantico
TIPOS DE ERRORES
MANEJO DE ERRORES SEMANTICOS
Utiliza el rbol sintctico
y la formacin en la tabla de smbolos para comprobar la consistencia
semntica del programa fuente con la definicin del lenguaje
se encarga de comprobar restricciones de tipo y otras limitaciones semnticas
y preparar la generacin de cdigo.
La salida terica de la fase de anlisis semntico sera un rbol semntico.
Consiste en un rbol sintctico en el que cada una de sus ramas ha adquirido
el significado que debe tener.
Lxicos
Sintcticos
Semnticos
Lgicos
Error Semntico
*Se declar X antes de usarlo?
*Se declar x pero no se usa?
*La referencia a una posicin en un array est dentro de sus lmites?
Errores Semnticos:
*Serrano Acosta
*Santos Aguilar
*Cardens Lpez
*Meza Molina
RBOL SINTCTICO
Lxicos
como escribir mal un identificador, palabra
clave u operador.
Sintcticos
como una expresin aritmtica con parntesis no equilibrados
Semnticos
como un operador aplicado a un operando incompatible.
Lgicos
como una llamada infinitamente
recursiva
1. Identificadores no definidos;
2. Operadores y operandos incompatibles.
para corregir un error semntico es intentar encontrar una correspondencia
entre el cdigo del programa y el comportamiento que se observa.
Primer Paso
Operaciones en Comprobacion de Tipos
*conversin de tipos
*coercin
*sobrecarga de operadores
*funciones polimrficas
DETECCIN E INFORMACION
COMO:
Comprobacin
de Tipos
Comprobacin
de Unicidad
Comprobacin
de Flujo de
Control
Modo Pnico
El AS desecha componentes lxicos hasta encontrar un carcter de
sincronizacin.
Nivel de Frase
utiliza una correccin de caracteres adyacentes, ya sea por insercin,
eliminacin o intercambio
Producciones
de Error
Se pueden generar gramticas para generar producciones de error y as de
esta forma seguir con el proceso.
Correccin
Global
sera recomendable que un traductor hiciera el mnimo de cambios para
procesar una entrada invlida.
**CONCUSIONES**
-un comprobador de tipos debe informar de la naturaleza y posicin del error y
recuperarse.
-Es ms difcil introducir mtodos para la recuperacin de errores semnticos.
-El tipo de error ms obvio es el sintctico, en cambio los errores semnticos
son ms sutiles.