Manejo de Errores Léxicos

¿Qué hacer entonces?

Recuperación en modo pánico: este tipo de estrategia es la más comun. Consiste en que cuando se detecta una cadena no reconocible, se siguen leyendo caracteres hasta que se vuelve a detectar un token válido. Borrar un carácter extraño. Insertar un carácter que falta (e.g. reemplazar 2C por 2*C). Reemplazar un carácter incorrecto por otro correcto (e.g. reemplazar INTEJER por INTEGER si el lugar en donde aparece el primer lexema no es el indicado para un identificador) Intercambiar

dos caracteres, ó tokens, adyacentes (e.g. I INTEGER por INTEGER I).

La recuperación de errores durante el AL puede producir otros en las siguientes fases. var numero : integer; begin num?ero:=10; end el compilador podría producir los siguientes mensajes de error: ERROR LÉXICO: carácter no reconocido (?) ERROR SEMÁNTICO: identificador no declarado (num) ERROR SINTÁCTICO: falta operador entre identificadores ERROR SEMÁNTICO: identificador no declarado (ero)

Otras veces no: var i,j: integer; begin i:=1; ? j:=2; end

Instituto Tecnologico de Tamazunchale …::: Nek :::… isc