Logo Studenta

Errores semánticos

¡Estudia con miles de materiales!

Vista previa del material en texto

Errores semánticos
Alumno: Wilberth Madera 
Docente: Dr. Holzen Martínez
Materia: Lenguajes autómatas II
Que es un error semántico
Un error semántico se produce cuando la sintaxis del código es correcta, pero la semántica o significado no es el que se pretendía. La construcción obedece las reglas del lenguaje, y por ello el compilador o intérprete no detectan los errores semánticos.
¿¿Como detectarlos ??
Los errores se pueden detectar con analizador sintáctico ya que son aquellos que violan las reglas de una gramática independiente del contexto. Ya hemos mencionado que algunas de las características de un lenguaje de programación no pueden enunciarse con reglas independientes del contexto, ya que dependen de él; por ejemplo, la restricción de que los identificadores deben declararse previamente.
Conversiones de tipos no permitidas
int x;
x = 4.32;
 Error: Ej1.java [6:1] possible loss of precision
Variables usadas y no definidas
 Operandos de tipos no compatibles
if (x || 5) x = 0;
 Error: Ej2.java [7:1] operator || cannot be applied to int,int
¿¿Métodos de recuperación??
Es mucho más difícil introducir métodos formales para la recuperación de errores semánticos que para la recuperación de errores sintácticos, ya que a menudo la recuperación de errores semánticos es ad hoc. No obstante, puede requerirse que, por lo menos, el error semántico sea informado al programador, que se le ignore y que, por tanto, se suprimirá la generación de código.
Solución
la mayoría de los errores semánticos pueden ser detectados mediante la revisión de la tabla de símbolos, suponiendo un tipo que se base en el contexto donde ocurra o un tipo universal que permita al identificador ser un operando de cualquier operador del lenguaje. Al hacerlo, evitamos la producción de un mensaje de error cada vez que se use la variable no definida.
Dificultad 
es el más difícil de depurar, ya que ni el compilador ni el sistema proporcionan información sobre qué está fallando. Lo único cierto es que el programa no se está comportando como debería. Un error semántico se produce cuando la sintaxis del código es correcta, pero la semántica o significado no es el que se pretendía.

Continuar navegando