1. Instituto Tecnológico Superior de
San Martín Texmelucan
Lenguajes y autómatas I
Errores Lexicos
INTEGRANTES:
LEONARDO JUÁREZ NAZARIO
INGENIERÍA EN SISTEMAS COMPUTACIONALES
AGOSTO – DICIEMBRE 2014
2. Instituto Tecnológico Superior de San Martín Texmelucan
INGENIERÍA EN SISTEMAS
COMPUTACIONALES
2
Errores léxicos
El análisis léxico constituye la primera fase, aquí se lee el programa fuente de
izquierda a derecha y se agrupa en componentes léxicos (tokens), que son
secuencias de caracteres que tienen un significado. Además, todos los espacios
en blanco, líneas en blanco, comentarios y demás información innecesaria se
elimina del programa fuente. También se comprueba que los símbolos del
lenguaje (palabras clave, operadores,...) se han escrito correctamente.
Como la tarea que realiza el analizador léxico es un caso especial de
coincidencia de patrones, se necesitan los métodos de especificación y
reconocimiento de patrones, y estos métodos son principalmente las
expresiones regulares y los autómatas finitos. Sin embargo, un analizador léxico
también es la parte del traductor que maneja la entrada del código fuente, y
puesto que esta entrada a menudo involucra un importante gasto de tiempo, el
analizador léxico debe funcionar de manera tan eficiente como sea posible.
Son pocos los errores simplemente en el nivel léxico ya que tiene una visión muy
restringida de un programa fuente. El analizador léxico debe devolver el
componente léxico de un identificador y dejar a otra fase se ocupe de los errores.
El compilador tiene que:
Reportar clara y exactamente la presencia de errores
Recuperarse de cada error lo suficientemente rápido para poder detectar errores
subsiguientes:
Tratar de evitar mensajes falsos de error
Un error que produce un token erróneo
Un token o componente léxico es una cadena de caracteres que tiene un
significado coherente en cierto lenguaje de programación. Ejemplos de tokens,
podrían ser palabras clave (if, while, int), identificadores, números, signos, o un
operador de varios caracteres. Son los elementos más básicos sobre los cuales
se desarrolla toda traducción de un programa, surgen en la primera fase, llamada
análisis léxico.
3. Instituto Tecnológico Superior de San Martín Texmelucan
Pocos son los errores característicos de esta etapa, pues el compilador tiene
todavía una visión muy local del programa.
Por ejemplo, si el analizador léxico encuentra y aísla la cadena “wihle” creerá
que es un identificador, cuando posiblemente se tratara de un while mal escrito
y no será él el que informe del error, sino que lo harán sucesivas etapas del
análisis del texto.
INGENIERÍA EN SISTEMAS
COMPUTACIONALES
3
Errores que detecta el analizador léxico:
• Utilizar caracteres que no pertenecen al alfabeto del lenguaje (p.ej.: ‘ñ’ o ‘±’).
• Se encuentra una cadena que no coincide con ninguno de los patrones de los
tokens posibles (p.ej.: en un lenguaje ‘:=’ puede ser la asignación pero que no
permita ‘:’ solo).
REFERENCIAS:
http://www.slideshare.net/profeyesy/analizador-lxico
http://www.unavarra.es/personal/victor_dominguez/bezier.pdf