Generador De Analizadores Lexicos
Enviado por adnr • 13 de Julio de 2013 • 475 Palabras (2 Páginas) • 1.124 Visitas
GENERADORES DE ANALIZADORES LEXICOS
LEX-FLEX
FLEX LEX
Que es: Una herramienta para la generación de programas que realizan concordancia de patrones en texto.
Flex (Fast Lexical Analyzer Generator) es un generador automático de analizadores léxicos en lenguaje C.
Flex es software GNU creado a partir de lex, un generador de analizadores léxicos muy popularizado porque se distribuye gratuitamente con las versiones más comunes de Unix (es una utilidad estándar desde la séptima edición de Unix). Lex es un programa para generar analizadores léxicos .
Lex se utiliza comúnmente con el programa yacc que se utiliza para generar análisis sintáctico.
Es el analizador léxico estándar en los sistemas Unix.
Se incluye en el estándar de POSIX.
Características Entrada: un fichero texto con la especiación de los componentes léxicos, las expresiones regulares que los definen.
Este analizador esta especialmente diseñado para usarse conjuntamente con bison (yacc), un metacompilador.
Una especiación (o programa) flex es un fichero (usualmente con la extensión .l) compuesto por tres partes separadas por e%%:
Declaraciones
%%
Reglas
%%
Procedimientos auxiliares
Lex consiste de tres partes: definiciones, reglas y rutinas auxiliares, separadas por % %.
La sección de declaraciones incluye declaraciones de variables, constantes y definiciones regulares, que constituyen una manera cómoda de utilizar expresiones regulares largas en la sección de reglas; por ejemplo: letra [A-Za-z]
• La sección de reglas especifica los patrones a reconocer y las acciones
asociadas a éstos, de forma similar a la que utiliza awk:
patrón {acciones en C}
• La sección de rutinas permite definir funciones auxiliares en C, incluida la
Función main(). Por defecto, lex proporciona un main() que
llama a la función y ylex().
Como funciona: Funcionamiento:
En cada llamada, yylex():
1 toma
...