Está en la página 1de 7

}

Instituto Tecnológico de Cd. Victoria

LENGUAJES Y AUTOMATAS II
Ingeniería en Sistemas Computacionales
Grupo: 72
TEMA 1 ANALISIS SEMANTICO
1.7 Manejo de Errores semánticos

Cd. Victoria, Tam., 10 sep. 22


Contenido
1.7 Manejo de Errores semánticos....................................................................................................3
Clasificación de Errores Durante un proceso de resolución de problemas.................................4
Clasificación de Ocurrencias..........................................................................................................5
CONCLUSIÓN.....................................................................................................................................5
FUENTES CONSULTADAS...................................................................................................................6
1.7 Manejo de Errores semánticos
Los errores semánticos son los que, aun sin alterar los órdenes pragmático o sintáctico, oscurecen
el significado o lo atacan directamente mediante la inclusión de vocablos extraños con la
equivalencia en la lengua natural. Es la oscuridad de la expresión que da lugar a una interpretación
equívoca de una frase u oración.

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.

Los compiladores e intérpretes sólo se ocupan de la estructura del código que se escribe, y no de
su significado. Un error semántico puede hacer que el programa termine de forma anormal, con o
sin un mensaje de error. Hablando en términos coloquiales, puede hacer que el equipo se quede
“colgado”

Los errores semánticos son mas que nada errores que comenten las personas, al momento de
trabajar ya que la computadora no tiene pensamiento propio solo ataca las reglas por las que fue
diseñado y su protocolo. El computador trabaja revisando la sintaxis y la estructura del programa
mas no la lógica.

Algunos problemas se presentan durante la fase de gestión de memoria al pasar argumentos o al


crear la pila semántica.

Errores semánticos:

 Identificadores no definidos.
 Operadores y operandos incompatibles.
 Conversión de tipos no permitidas.

Un compilador es un sistema que en la mayoría de los casos tiene que manejar una entrada
incorrecta. Sobre todo, en las primeras etapas de la creación de un programa, es probable que el
compilador se utilizará para efectuar las características que debería proporcionar un buen sistema
de edición dirigido por la sintaxis, es decir, para determinar si las variables han sido declaradas
antes de usarla, o si faltan corchetes o algo por estilo. Por lo tanto, el manejo de errores es parte
importante de un compilador y el escritor del compilador siempre debe tener esto presente
durante su diseño.

Hay que señalar que los posibles errores ya deben estar considerados al diseñar un lenguaje de
programación. Por ejemplo, considerar si cada proposición del lenguaje de programación
comienza con una palabra clave diferente (excepto la proposición de asignación, por supuesto).
Sin embargo, es indispensable lo siguiente:

1.El compilador debe ser capaz de detectar errores en la entrada;

2. El compilador debe recuperarse de los errores sin perder demasiada información;

3.Y, sobre todo, el compilador debe producir un mensaje de error que permita al programador
encontrar y corregir fácilmente los elementos (sintácticamente)incorrectos de su programa.

Los mensajes de error de la forma


*** Error 111 ***

*** Ocurrió un error ***

*** Falta declaración ***

*** Falta delimitador ***

No son útiles para el programador y no deben presentarse en un ambiente de compilación


amigable y bien diseñado. Por ejemplo, el mensaje de error ‘Falta declaración’ podría
reemplazarse por *** No se ha declarado la variable Nombre*** o en el caso del delimitador
omitido se puede especificar cuál es el delimitador esperado. Además de estos mensajes de error
informativos, es deseable que el compilador produzca una lista con el código fuente e indique en
ese listado dónde han ocurrido los errores.

No obstante, antes de considerar el manejo de errores en el análisis léxico y sintáctico, hay que
caracterizar y clasificar los errores posibles. Esta clasificación nos mostrará que un compilador no
puede detectar todos los tipos de errores.

Clasificación de Errores Durante un proceso de resolución de problemas


Existen varias formas en que pueden surgir errores, las cuales se reflejan en el código fuente del
programa. Desde el punto de vista del compilador, los errores se pueden dividir en dos
categorías:

1. Errores visibles y Errores invisibles:

Los errores invisibles en un programa son aquellos que no puede detectar el compilador, ya
que no son el resultado de un uso incorrecto del lenguaje de programación, sino de
decisiones erróneas durante el proceso de especificación o de la mala formulación de algoritmos.
Por ejemplo, si se escribe a: = b + c; en lugar de a: = b * c; el error no podrá ser detectado por el
compilador ni por el sistema de ejecución. Estos errores lógicos no afectan la validez del programa
en cuanto a su corrección sintáctica. Son objeto de técnicas formales de verificación de programas
que no se consideran aquí.

Los errores visibles, a diferencia de los errores lógico, pueden ser detectados por el compilador o
al menos por el sistema de ejecución. Estos errores se pueden caracterizar de la siguiente manera:

1. Errores de ortografía

2. Errores que ocurren por omitir requisitos formales del lenguaje de programación.

Estos errores se presentarán porque los programadores no tienen el cuidado suficiente


al programador. Los errores del segundo tipo también pueden ocurrir porque el programador no
comprende a la perfección el lenguaje que se utiliza porque suele escribir sus programas en otro
lenguaje y, por tanto, emplea las construcciones de dicho lenguaje (estos problemas pueden
presentarse al usar a la vez lenguajes de programación como PASCAL y MODULA-2, por ejemplo).

Estos errores se presentarán porque los programadores no tienen el cuidado suficiente


al programador. Los errores del segundo tipo también pueden ocurrir porque el programador no
comprende a la perfección el lenguaje que se utiliza o porque suele escribir sus programas en otro
lenguaje y, por tanto, emplea las construcciones de dicho lenguaje (estos problemas pueden
presentarse al usar a la vez lenguajes de programación como PASCAL y MODULA-2, por ejemplo).

Clasificación de Ocurrencias
Por lo regular, los errores visibles o detectables por el compilador se dividen en tres clases,
dependiendo de la fase del compilador en el cual se detectan:

1. Errores Léxicos.

2. Errores Sintácticos.

3. Errores Semánticos.

Por ejemplo, un error léxico puede ocasionarse por usar un carácter inválido (uno que no
pertenezca al vocabulario del lenguaje de programación) o por tratar de reconocer una constante
que produce un desbordamiento. Un error de sintaxis se detecta cuando el analizador sintáctico
espera un símbolo que no corresponde al que se acaba de leer. Los analizadores sintácticos LL y LR
tienen la ventaja de que pueden detectar errores sintácticos lo más pronto posible, es decir, se
genera un mensaje de error en cuanto el símbolo analizado no sigue la secuencia de los símbolos
analizados hasta ese momento.

CONCLUSIÓN
Los errores semánticos corresponden a la semántica del lenguaje de programación, la
cual normalmente no está descrita por la gramática. Los errores semánticos más comunes son la
omisión de declaraciones. Además de estas tres clases de errores, hay otros que serán detectados
por el sistema de ejecución porque el compilador ha proporcionado el código generado con ciertas
acciones para estos casos.

Un Error de Ejecución típico ocurre cuando el índice de una matriz no es un elemento


del subintervalo especificado o por intentar una división entre cero. En tales situaciones, se
informa del error y se detiene la ejecución del programa.

El resultado principal del estudio fue que los errores de sintaxis suelen ser muy simplesy que, por
lo general, sólo ocurre un error por frase.
FUENTES CONSULTADAS

1 7-Manejo de errores semánticos - 1 Manejo de Errores Semánticos Un error semántico

se produce. (n.d.). StuDocu. Retrieved September 10, 2022, from

https://www.studocu.com/es-mx/document/instituto-tecnologico-de-oaxaca/

lenguajes-y-automatas-ii/1-7-manejo-de-errores-semanticos/8456915

1.7 Manejo de errores semánticos. (n.d.). Prezi.com. Retrieved September 10, 2022, from

https://prezi.com/v5so4amopddn/17-manejo-de-errores-semanticos/
Errores semanticos - 1121 Palabras | Monografías Plus. (n.d.). Www.monografias.com.

Retrieved September 10, 2022, from https://www.monografias.com/docs/Errores-

semanticos-F3C9NSGPJDG2Y

(2022). Coursehero.com. https://www.coursehero.com/file/71881797/17-Manejo-de-

errores-sem

También podría gustarte