Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Matemtica
Lenguajes y compiladores
Paralelo 1
2. Marco terico
Lex es una herramienta de los sistemas UNIX/Linux que nos va a
permitir generar cdigo C que luego podremos compilar y enlazar
con nuestro programa. La principal caracterstica de Lex es que
nos va a permitir asociar acciones descritas en C, a la localizacin
de las Expresiones Regulares que le hayamos definido. Para ello
Lex se apoya en una plantilla que recibe como parmetro, y que
deberemos disear con cuidado. Internamente Lex va a actuar
como un autmata que localizar las expresiones regulares que le
describamos, y una vez reconocida la cadena representada por
dicha expresin regular, ejecutar el cdigo asociado a esa regla.
Estructura de un archivo LEX.
Seccin de declaraciones
%%
Seccin de reglas
%%
Cdigo en C
Se compone de tres secciones con estructuras distintas y
claramente delimitadas por una lnea en la que lo nico que
aparece es el carcter doble %. Las secciones de Declaraciones y
la de Procedimientos de Usuario son opcionales, mientras que la de
Reglas es obligatoria (aunque se encuentre vaca).
Yacc no es directamente un analizador sino un generador de
analizadores. A partir de un fichero fuente en yacc, se genera un
fichero fuente en C que contiene el analizador sintctico. Sin
embargo, un analizador sintctico de yacc no puede funcionar por
s solo, sino que necesita un analizador lxico externo para
funcionar. Dicho de otra manera, el fuente en C que genera yacc
contiene llamadas a una funcin yylex() que debe estar definida y
debe devolver el tipo de lexema encontrado. Adems, es necesario
incorporar tambin una funcin yyerror(), que ser invocada
Instalador Bison
Para ello basta con dar doble clic uno a uno en los instaladores que
se incluyen en el CD y seleccionar la ruta de instalacin, el resto
basta con dar clic sobre el botn siguiente. Es recomendable
instalar los dos programas en una ruta que sea de acceso corto
para facilitar la creacin de la variable de entorno en el sistema
operativo.
Una vez instalados los programas, en la ruta que seleccionamos
nos crear una carpeta con el nombre de GnuWin32 la cual en su
interior contiene una carpeta con el nombre bin, dentro de esta
carpeta encontraremos a Flex y Bison con un otros archivos que
cuentan con las libreras y procedimientos tiles para el correcto
funcionamiento de estos dos programas.