El metacompilador flex

Solo disponible en BuenasTareas
  • Páginas : 4 (755 palabras )
  • Descarga(s) : 9
  • Publicado : 4 de agosto de 2010
Leer documento completo
Vista previa del texto
Universidad Nacional De Jujuy
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...
tracking img