análisis sintáctico descendente sin retroceso - Blearning

análisis sintáctico descendente sin retroceso - Blearning análisis sintáctico descendente sin retroceso - Blearning

blearning.itmina.edu.mx
from blearning.itmina.edu.mx More from this publisher
09.05.2013 Views

Tratamiento de errores sintácticos Recuperación de errores Recuperación a nivel de frase: Intenta recuperar el error una vez descubierto. En el caso anterior, por ejemplo, podría haber sido lo suficientemente inteligente como para insertar el token ‘;’. Hay que tener cuidado con este método ya que caben varias posibilidades. Reglas de producción adicionales para el control de errores:La gramática se puede aumentar con las reglas que reconocen los errores más comunes. sent_errónea → sent_sin_acabar sentencia_acabada sentencia_acabada → sentencia ‘;’ sent_sin_acabar → sentencia Corrección Global: el analizador sintáctico le pide toda la secuencia de tokens al léxico, y lo que hace es devolver lo más parecido a la cadena de entrada pero sin errores, así como el árbol que lo reconoce. Página 64

Tratamiento de errores sintácticos Recuperación de errores en ASD recursivos Una forma estándar de recuperación de errores en los ASD recursivos se denomina Modo de alarma. Consiste en proporcionar a cada procedimiento (cada no-terminal de la gramática) un parámetro extra, un conjunto de tokens de sincronización. Según se va efectuando el análisis, los tokens que pueden funcionar como tokens de sincronización se agregan según se vayan realizando las llamadas. Si se encuentra un error, el analizador explora hacia delante, desechando tokens hasta encontrar uno que pertenezca al conjunto reanudándose así el análisis. Las cascadas de error se evitan al no generar nuevos errores mientras tiene lugar esta exploración. Página 65

Tratamiento de errores <strong><strong>sin</strong>táctico</strong>s<br />

Recuperación de errores en ASD recursivos<br />

Una forma estándar de recuperación de errores en los ASD recursivos se<br />

denomina Modo de alarma.<br />

Consiste en proporcionar a cada procedimiento (cada no-terminal de la<br />

gramática) un parámetro extra, un conjunto de tokens de <strong>sin</strong>cronización.<br />

Según se va efectuando el <strong>análisis</strong>, los tokens que pueden funcionar como<br />

tokens de <strong>sin</strong>cronización se agregan según se vayan realizando las llamadas.<br />

Si se encuentra un error, el analizador explora hacia delante, desechando<br />

tokens hasta encontrar uno que pertenezca al conjunto reanudándose así el<br />

<strong>análisis</strong>.<br />

Las cascadas de error se evitan al no generar nuevos errores mientras tiene<br />

lugar esta exploración.<br />

Página 65

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!