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. 
	Diapositiva 1: Errores semánticos 
	Diapositiva 2: Que es un error semántico
	Diapositiva 3: ¿¿Como detectarlos ??
	Diapositiva 4: Conversiones de tipos no permitidas 
	Diapositiva 5: Variables usadas y no definidas Operandos de tipos no compatibles
	Diapositiva 6: ¿¿Métodos de recuperación??
	Diapositiva 7: Solución
	Diapositiva 8: Dificultad

Continuar navegando