• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
INTRODUCCION A FLEX Y BISON
 

INTRODUCCION A FLEX Y BISON

on

  • 681 views

En este documento vamos a encontrar informacion acerca del compilador FLEX Y BISON

En este documento vamos a encontrar informacion acerca del compilador FLEX Y BISON

Statistics

Views

Total Views
681
Views on SlideShare
672
Embed Views
9

Actions

Likes
0
Downloads
0
Comments
0

3 Embeds 9

http://guisseguerrrero.blogspot.com 6
http://guisseguerrrero.blogspot.com.es 2
http://guisseguerrrero.blogspot.mx 1

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    INTRODUCCION A FLEX Y BISON INTRODUCCION A FLEX Y BISON Document Transcript

    • PONTIFICIA UNIVERSIDAD CATÓLICA DEL ECUADOR SEDE IBARRAESCUELA DE INGENIERÍA EN SISTEMASTALLER DE COMPILADORESNombre: Guissela GuerreroNivel: QuintoFecha: 2013-05-281) Herramientas para la construcción de procesadores de lenguaje.Herramienta Lenguaje DescripciónBison C Generador de Analizadores Sintácticos Ascendentes tipo YACCCOCO/R C/C++ Generador de Analizadores Léxicos y Sintácticos Descendentes RecursivosFlex C Generador de Analizadores Léxicos tipo LexLex C Generador de Analizadores LéxicosSDGLL1 exe Sistema Detector de Gramáticas LL(1) y generador de la tablaTS 2006 C/C++ Tipo abstracto de datos Tabla de Símbolos de uso sencilloTS C Tipo abstracto de datos Tabla de SímbolosTS-OO C++ Tipo abstracto de datos orientado a objetos Tabla de SímbolosVASt exeVisualizador de árboles sintácticos partiendo de los ficheros con lagramática y el parse pedidos en la Práctica [versión 2.0, Windows]VASt C++Visualizador de árboles sintácticos partiendo de los ficheros con lagramática y el parse pedidos en la Práctica [versión 1.0, Linux]YACC C Generador de Analizadores Sintácticos Ascendentes LR(1)
    • 2) Aplicación de los lenguajes:a) Reseña HistóricaAÑO CARACTERISTICAS1940’s Primeros ordenadores. Programación directa en código máquina. Nace el ensamblador (traducido manualmente) Se automatiza la etapa de ensamblado1950’s (1950) John Backus dirige en IBM un proyecto de lenguaje algebraico (1954-1958) Nace el FORTRAN (FORmulae TRANslator) Primer compilador de FORTRAN para IBM modelo 7041950’s (medianos) Noam Chomsky publica sus estudios sobre la estructura de los lenguajes ylas gramáticas formales.1950’s (finales) F.L. Bauer (Univ. Munich) dirige un proyecto de lenguaje formal Se crea un comité conjunto con la Association for Computing Machinery enel que participa Backus Se define IAL (International Algebraic Language) Posteriormente se denomina ALGOL 58 (ALGOrithmic Language)1960’sPrimeras técnicas de desarrollo de compiladores 1958: Strong y otros proponen dividir el compilador en dos fases: front-end y back-end y promueven la creación de un lenguaje intermediouniversal (UNCOL – UNiversal Computer Oriented Language). 1959: Rabin y Scott proponen utilizar autómatas deterministas para elanálisis léxico 1961: Primer analizador sintáctico descendente recursivo Durante toda la década se estudian intensamente las gramáticas LL.1970’s Se estudian las gramáticas LR Se definen los métodos de análisis ascendente SLR y LALR Se crean numerosas herramientas de ayuda al diseño de compiladores A mediados de la década aparecen las herramientas lex y yacc que seconvierten en estándares de facto al distribuirse con UNIX. La Free Software Fundation distribuye estas herramientas bajo losnombres de flex y bison
    • b) Diseño y construcción de un compilador.
    • c) Las herramientas Flex y Bison.Flex y bison son las herramientas desarrolladas en el proyecto GNU (Free SoftwareFoundation) equivalentes a lex y yacc en el sistema operativo UNIX®.3) Que es flex y BisonFlex y Bison están envejeciendo utilidades Unix que le ayudan a escribir programas de análisismuy rápido de formatos de archivos de casi arbitrarias. Formalmente, implementan Look-Ahead-izquierda-derecha (en lugar de "descenso recursivo") el análisis de las gramáticas libresde contexto (a diferencia de “lenguaje natural “no ambiguo.4) Como se instala Flex y Bison1) Primero se descarga el archivo .rar de la pagina http://www.delorie.com/djgpp/.2) Creamos una carpeta en C que se llame DJGPP y descomprimimos los archivoscontenidos en DJGPP ahí.3) Luego debemos crear una carpeta en la unidad C: que se llame PRUEBAS.
    • 4) En esta carpeta cargaremos todos nuestros proyectos de Flex y bison.5) El siguiente paso es configurar las rutas de Flex y bison, esto lo hacemos entrandoal cmd.6) Colocándonos en la carpeta de pruebas con los comandosCdCd pruebasY escribimos estos comandoscd PRUEBASset djgpp=c:djgppdjgpp.envset path=c:djgppbin
    • 7) Con esto ya tendremos configurados Flex y lex para que el cmd los reconozcacomo comandos validos (cabe destacar que esta acción se tiene que repetir cadavez que se abre una nueva instancia del cmd).Esto es la parte de configuración, ahora lo que se tiene que hacer es cargar losarchivos léxicos y sintácticos creados en el bloc de notas.Por lo que se ejecutan los comandos Flex "nombre_de_archivo.l"8) Y bison -dy "nombre_de_archivo.y"9) Se crean los archivos lexyy.c, y.tab.c, y.tab.h
    • 5) Como se compila con Flex y Bison1) Crearemos un nuevo proyecto en dev-c++2) Escogemos una aplicación de consola y que sea un proyecto en c3) Agregamos los archivos creados por el Flex y bison
    • 4) Y compilamos5) Se crea el ejecutable con el nombre del proyecto en este caso "pruebita.exe"6) Y ejecutamos nuestro programa
    • 6) 2 Ejemplos de la creación de un compilador utilizando Flex y Bison.Calculadora sencilla que reconocerá las principales operaciones aritmética (+,-,* y /).2) Traducción del lenguaje coloquial de SQL en español al conocido ANSI SQL.