Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Unidad II
Analizador Sintctico
Semana 10
Errores Sintcticos
Objetivo General
El alumno al finalizar el curso desarrollar
aplicaciones que le permitan determinar si
una sentencia corresponde a la estructura
gramatical
de
un
lenguaje
de
programacin.
As
mismo
estar
capacitado para proponer nuevas formas
estructurales en la definicin de lenguajes
de programacin.
Objetivo Especfico
Objetivo Instruccional
Implementa procedimientos para el
tratamiento de errores sintcticos
Contenidos Procedimentales
Implementa procedimientos para el
tratamiento de errores sintcticos
Contenidos
Generalidades
Recuperacin de errores en analizadores
sintcticos descendentes recursivos
Recuperacin de errores en analizadores
sintcticos LL(1)
Generalidades
Algunas consideraciones
1. Un analizador sintctico debera intentar
determinar que ha ocurrido un error tan pronto
como fuera posible. Esperar demasiado tiempo
antes de la declaracin del error significa que la
ubicacin del error puede haberse perdido.
2. Despus de que se ha presentado un error, el
analizador sintctico deber seleccionar un lugar
probable para reanudar el anlisis. Un analizador
sintctico siempre debera intentar analizar tanto
cdigo como fuera posible, a fin de encontrar
tantos errores reales como sea posible durante
una traduccin simple.
Generalidades
Otras consideraciones
3. Un analizador sintctico debera intentar evitar
el problema de cascada de errores, en la cual
un error genera una secuencia de mensajes de
error falsos.
4. Un analizador sintctico debe evitar bucles
infinitos en los errores, en los que se genera una
cascada sin fin de mensajes de error sin
consumir ninguna entrada.
Generalidades
Tipos de Errores
Lxicos
Sintcticos
Semnticos
Lgicos
(a!b, begon)
(X := a *(b-(c+d);;)
(3 div sqrt(2))
(bucle infinito)
Consideraciones:
La mayora de los errores son simples
La mayora son o se manifiestan en la fase de
anlisis sintctico
La deteccin de errores lgicos es muy difcil o
imposible
A veces el error est mucho antes de que se
pueda detectar
Generalidades
No retrasar significativamente la
traduccin de programas correctos
Mecanismos sencillos de recuperacin
Generalidades
Modo de Alarma
En situaciones complejas, el manejador de
errores consumir un numero posible
grande de tokens en un intento de hallar
un lugar para reanudar el anlisis
sintctico.
Este modo de alarma tiene, adems, la
ventaja de que virtualmente asegura que
el analizador sintctico no caiga en un
bucle infinito durante la recuperacin de
errores.
Analizador Sintctico
Semana 10
Errores Sintcticos