¿Qué es la recuperación de errores?

Recuperación de errores:
este es un proceso que toma medidas contra el error para obtener las reducciones de efectos negativos tanto como sea posible, también conocida como la capacidad del compilador en la que toma medidas y reanuda el análisis después de tomar una acción sobre el error sintáctico si es necesario. Cuando hablamos de Recuperación de errores, debemos tomar en primer lugar la Detección de errores.

Detección de errores :

  • Todos los posibles errores detectados por los compiladores se informan directamente al usuario en forma de mensajes de error. Esta detección de errores se denomina detección de errores.
  • Ahora, si hablamos de la relación entre la detección de errores y la recuperación de errores, entonces, cuando recibimos un error de este tipo del compilador, tenemos que escribir la recuperación de errores para verificar el código que también se conoce como corrección de errores.
  • Para profundizar, debemos comprender los tipos de errores y su recuperación en varias etapas.
  • En primer lugar, el analizador en el compilador debe ser capaz de detectar e informar al usuario de cualquier error en el programa durante el proceso de compilación, cuando se encuentra un error, el analizador presente debe ser capaz de manejarlo y pasarlo para continuar analizando el resto de la entrada.

Tipos de error:
hay cuatro tipos de errores que se pueden encontrar en varias etapas durante la compilación:

  1. Error léxico: cuando algunos de los nombres de los identificadores están mal escritos o no se detectan, se produce este error.
  2. Error sintáctico: cuando su punto y coma o cualquier tipo de paréntesis desequilibrado está ahí
  3. Error Semántico: Asignación incompatible para los valores asignados.
  4. Error lógico: bucle infinito o el código no puede ser ejecutable.

Recuperación de errores:
después de esto, hay tres tipos de recuperación de errores que se pueden implementar en el analizador para tratar los errores en el código.

  1. Modo de pánico Recuperación de errores: 
    es la forma más fácil de recuperación de errores que evita que el analizador desarrolle bucles infinitos. Funciona cuando un analizador encuentra un error en cualquier parte de la declaración, ignora la declaración de descanso al no procesar la entrada, como un » ;” punto y coma. 
     
  2. Recuperación de errores en el modo de declaración: 
    cuando el analizador encuentra un error, intenta agregar esa partícula de error manteniendo virtualmente en el cuadro que también una corrección incorrecta puede resultar en el ciclo infinito, solo por ejemplo, si falta un punto y coma en una declaración de compilación introduce un punto y coma virtual y verifica el resto de la declaración o busca alguna palabra que pueda ser reemplazada por otra para que el código funcione sin problemas.
     
  3. Recuperación de errores de corrección global: 
    el analizador considera el programa en el compilador como un producto completo con la intención de descubrir qué intenta hacer el programa e intenta encontrar la coincidencia más cercana posible para lo que se pretendía con el programa y encuentra el error de esta manera y trata de corregir su paso de la manera posible para que no tenga ningún paso equivocado al implementar la búsqueda.
     
  4. Recuperación de nivel de frase: 
    realiza una corrección local en la entrada restante, esta corrección típica es reemplazar con un punto y coma insertando y eliminando un punto y coma extraño, lo que tiene una desventaja al copiar con situaciones en las que el error real ha ocurrido antes del punto de detección. .

Clases de Recuperación:
Hay dos clases de recuperación que son las siguientes.

  1. Recuperación local: 
    dondequiera que se detecte el error, ajusta la entrada en un solo punto del error.
     
  2. Recuperación global: 
    dondequiera que se detecte el error, ajuste la entrada antes del punto del error.

Nota:
ambas cosas se aplican en las técnicas de análisis LL y LR.

Conclusión:
la recuperación de errores es la capacidad del compilador para reanudar el análisis de un programa después de detectar dichos errores durante el proceso de compilación. El analizador obtiene una string de tokens del analizador léxico y verifica y luego regresa si se detecta algún error de sintaxis. En esto, verifica la estructura del token y produce un árbol de análisis para verificar que se detecte el error relacionado con la sintaxis llamado error sintáctico.

Publicación traducida automáticamente

Artículo escrito por soubhikmitra98 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *