MANEJO DE ERRORES SEMÁNTICOS
Es una de las misiones más importantes de un compilador,
aunque, al mismo tiempo, es lo que más dificulta su realización. A veces unos
errores ocultan otros.
A veces un error provoca una avalancha de muchos errores que
se solucionan con el primero.
Es conveniente un
buen manejo de errores, y que el compilador detecte todos los errores que tiene
el programa y no se pare en el primero que encuentre. Hay, pues, dos criterios a
seguir a la hora de manejar errores:
• Pararse al detectar el primer error.
• Detectar todos los errores de una pasada.
El análisis semántico es posterior al sintáctico y mucho más
difícil de formalizar que éste. 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.
La salida "teórica" de la fase de análisis
semántico sería un árbol semántico. Consiste en un árbol sintáctico en el que
cada una de sus ramas ha adquirido el significado que debe tener. En el caso de
los operadores polimórficos (un único símbolo con varios significados), el
análisis semántico determina cuál es el aplicable.
TIPOS DE ERRORES
LÉXICOS
Son errores donde se escribe mal un identificador, número, palabra clave u operando.
Ejemplo: Utilizar caracteres que no correspondan al alfabeto del lenguaje (ñ ":")
SINTÁCTICOS
Son errores donde la sintaxis no está construida completamente.
Ejemplo: Una expresión aritmética con paréntesis no equilibrados.
No poner un ";" al final de una sentencia.
Estructura incorrecta de una sentencia.
SEMÁNTICOS
Son errores donde la sintaxis no tiene un significado lógico o se desvía de lo que se quiere realizar.
Ejemplo: Multiplicar por una variable booleana.
LÓGICOS
Son errores donde la sintaxis esta bien declarada pero el funcionamiento no es lo que esperábamos.
Ejemplo: Una llamada indefinidamente recursiva de un método.
Un bucle infinito.
Realizado por: Omar Josafath Martínez Sánchez
Referencia: https://es.scribd.com/presentation/241412390/MANEJO-DE-ERRORES-SEMANTICOS-pptx