El metacompilador flex
Facultad De Ingeniería
Lenguajes Formales
Apuntes De Cátedra
El Metacompilador Flex
¿Qué es y qué hace FLEX?
La característica másdestacable de las herramientas que vamos a utilizar es su capacidad para generar programas de forma automática.
FLEX es un generador de programas para lo cual toma una especificación léxicabasada en expresiones regulares y produce un programa (Analizador) que encuentra en un texto (por ejemplo: entrada.txt) aquellas secuencias de caracteres que concuerdan con alguna de las expresionesregulares y ejecuta la acción que le haya sido asociada en la especificación léxica.
El esquema de trabajo
Los fuentes y herramientas utilizados en la construcción de un procesador delenguaje simple son los siguientes:
[pic]
Los ficheros creados por el programador son: analex.l e inicio.c, y los generados automáticamente por Flex son: analex.c, analex.h y practica.exe.FLEX toma una especificación que combina expresiones regulares y fragmentos de código en C (analex.l) y genera un analizador léxico escrito en C que tendrá dos partes que llamaremos interfaz(analex.h) e implementación (analex.c).
Luego en el entorno del compilador de VC++ se crea un proyecto denominado practica que combina un programa principal muy simple (inicio.c) con la salida de laherramienta flex produciendo como salida una versión ejecutable del reconocedor (practica.exe).
El formato del fichero de entrada
Las especificaciones léxicas escritas en flex debenajustarse al siguiente formato:
%header{
%}
%{%}
%%
%%
▪ Sección de código C de...
Regístrate para leer el documento completo.