Analizador Lexico

Páginas: 12 (2968 palabras) Publicado: 31 de mayo de 2012
JTLex un Generador de Analizadores Léxicos Traductores
Francisco Bavera, Darío Nordio, Marcelo Arroyo, Jorge Aguirre
Departamento de Computación
Facultad de Ciencias Exactas, Físico-Químicas y Naturales
Universidad Nacional de Río Cuarto
{pancho,nordio,marroyo,jaguirre}@dc.exa.unrc.edu.ar♣

Resumen
En el presente trabajo se exponen los puntos principales del diseño e implementación deJTLex, un generador de analizadores léxicos. JTLex, al contrario de los generadores
existentes, permite la especificación conjunta de la sintaxis y la semántica de los
componentes léxicos, siguiendo el estilo de los esquemas de traducción. Para ello se basa
en un nuevo formalismo, las Expresiones Regulares Traductoras, introducido por los
autores. Tanto su diseño como la especificación de losprocedimientos con que el usuario
implementa la semántica asociada a los símbolos son Orientados a Objetos. El lenguaje
de implementación de JTLex es Java, como así también, el del código que genera y el que
usa el usuario para definir la semántica. JTLex se integra, como un generador de
analizadores léxicos alternativo al tradicional, a japlage; un entorno de generación de
procesadores delenguajes – en particular de compiladores -, desarrollado en el grupo, que
permite la evaluación concurrente de cualquier Gramática de Atributos Bien Formada.
Los lenguajes de especificación brindados por JTLex y por el generador de analizadores
sintácticos de japlage siguen el estilo de Lex y Yacc respectivamente – que son
prácticamente un estándar -.

Palabras Clave: expresiones regulares,analizadores léxicos, expresiones regulares traductoras,
autómatas traductores, análisis lexicográfico, compiladores de compiladores.

1 – Introducción
Un analizador léxico es un módulo destinado a leer caracteres del archivo de entrada, donde
se encuentra la cadena a analizar, reconocer subcadenas que correspondan a símbolos del lenguaje y
retornar los tokens correspondientes y sus atributos.Escribir analizadores léxicos eficientes a mano
puede resultar una tarea tediosa, para evitarla se han creado herramientas de software – los generadores
de analizadores léxicos – que generan automáticamente un analizador léxico a partir de una
especificación provista por el usuario.
Puede asegurarse que la herramienta del tipo mencionado más conocida es Lex [Lev92]. Lex es
un generador deanalizadores léxicos, originalmente incluido dentro del ambiente de desarrollo de


Este trabajo ha sido realizado en el marco de proyectos subsidiados por la SECyT de la UNRC y por la Agencia Córdoba
Ciencia.

UNIX usando a C como lenguaje huésped y posteriormente migrado a casi todas las plataformas y
lenguajes. Otra herramienta que últimamente ha tenido gran difusión es Jlex – que usa aJava como
lenguaje huésped y corresponde al compilador de compiladores Javacup- [App98][Ber97]; mientras
que algunos compiladores de compiladores actuales como Javacc [Javacc] y Eli [Com98] integran la
especificación del análisis léxico sin brindar un módulo específico. Todas estas herramientas para
generar analizadores léxicos permiten definir la sintaxis de los símbolos mediante expresionesregulares, mientras que sus atributos deben ser computados luego del reconocimiento de una subcadena
que constituya un símbolo del lenguaje, analizándola. JTLex en cambio permite expresar
conjuntamente sintaxis y semántica al estilo de los esquemas de traducción. A su vez el proceso de
computo de atributos es implementado por JTLex por un autómata finito traductor con las ventajas deeficiencia que esto supone.
JTLex sigue el estilo de Lex, con la variante de que se basa en Expresiones Regulares
Traductoras Lineales (ETL).
Una especificación JTLex permite no sólo asociar un procedimiento, o acción, a cada expresión
regular, sino también a cada ocurrencia de un símbolo dentro de la expresión.
El siguiente ejemplo muestra como puede ser definido el símbolo constante real y su...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • Analizador Lexico
  • Analizador Lexico
  • Analizador Lexico
  • Analizadores lexicos
  • Analizador Lexico
  • analizador lexico
  • Analizador Lexico
  • Analizador lexico

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS