Analizador Lexico

Páginas: 21 (5224 palabras) Publicado: 15 de septiembre de 2014
Universidad Nacional del Santa

Curso: Teoría de Compiladores

ANALIZADOR LEXICO LEX
Un analizador lexico también es conocido como escáner; pues su funcionalidad es la de
analizar el lexema de las palabras o cadenas de caracteres sobre un patrón definido.
Es decir; El proceso de análisis léxico se refiere al trabajo que realiza el scanner con
relación al proceso de compilación. El scannerrepresenta una interfaz entre el programa
fuente y el analizador sintáctico o parser. El scanner, a través del examen carácter por
carácter del texto, separa el programa fuente en piezas llamadas tokens, los cuales
representan los nombres de las variables, operadores, etiquetas, y todo lo que
comprende el programa fuente
Un analizador de léxico tiene como función principal el tomarsecuencias de caracteres o
símbolos del alfabeto del lenguaje y ubicarlas dentro de categorías, conocidas como
unidades de léxico. Las unidades de léxico son empleadas por el analizador gramatical
para determinar si lo escrito en el programa fuente es correcto o no gramaticalmente.
Algunas de las unidades de léxico no son empleadas por el analizador gramatical sino
que son descartadas o filtradas. Tales el caso de los comentarios, que documentan el
programa pero que no tienen un uso gramatical, o los espacios en blanco, que sirven
para dar legibilidad a lo escrito.
Algunos generadores de Analizadores Léxico…
LEX

Código generado: C.

FLEX Código generado: C++.
ZLEX Código generado: C.,
Soporta códigos de caracteres de 16 bits.
JAX

Código generado: Java.
No soporta entornos,está basado en expresiones regulares.
No soporta Unicode.

JLEX Código generado: Java.
Similar a lex.
Diseñado para ser usado junto con CUP.
JFLEX Código generado: Java.
Diseñado para ser usado junto con CUP.
Docente: Ing. Mirko Manrique Ronceros

~1~

Universidad Nacional del Santa

Curso: Teoría de Compiladores

LEX
Recibe la especificación de las expresiones regulares de lospatrones que representan a
los tokens del lenguaje y las acciones a tomar cuando los detecte.



Genera los diagramas de transición de estados en código C, C ++, o Java
generalmente.



Ventajas: Comodidad de Desarrollo.



Desventajas:

1. El mantenimiento del código generado resulta complicado.
2. La eficiencia del código generado depende del generador.
Parte de un conjunto dereglas léxicas (expresiones regulares) y produce un programa
(yylex) que reconoce las cadenas que cumplen dichas reglas.

1. Yylex es la implementación del Autómata Finito Determinista.

FLEX
Flex es una herramienta para generar escáneres: programas que reconocen patrones
léxicos en un texto. flex lee los ficheros de entrada dados, o la entrada estándar si no se
le ha indicado ningún nombrede fichero, con la descripción de un escáner a generar. La
descripción se encuentra en forma de parejas de expresiones regulares y código C,
denominadas reglas. flex genera como salida un fichero fuente en C, `lex.yy.c', que
define una rutina `yylex()'. Este fichero se compila y se enlaza con la librería `-lfl' para
producir un ejecutable. Cuando se arranca el fichero ejecutable, este analizasu entrada
en busca de casos de las expresiones regulares. Siempre que encuentra uno, ejecuta el
código C correspondiente
El principal objetivo de diseño de flex es que genere analizadores de alto rendimiento.
Este ha sido optimizado para comportarse bien con conjuntos grandes de reglas. Aparte
de los efectos sobre la velocidad del analizador con las opciones de compresión de tablas
`-C' hayun número de opciones/acciones que degradan el rendimiento.

Docente: Ing. Mirko Manrique Ronceros

~2~

Universidad Nacional del Santa

Curso: Teoría de Compiladores

Flex ofrece dos maneras distintas de generar analizadores para usar con C++. La
primera manera es simplemente compilar un analizador generado por flex usando un
compilador de C++ en lugar de un compilador de C. No...
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