Proyecto integrador. Las TIC en la sociedad S4.pptx
Flex y brison
1. PONTIFICIA UNIVERSIDAD CATÓLICA DEL ECUADOR
SEDE IBARRA
ESCUELA DE INGENIERÍA EN SISTEMAS
Nombre: Liliana Chisaguano
Nivel: 5to Semestre
Tema: Flex y Bison
Materia: Compiladores
Fecha: 21/06/2017
1. Herramientas para la construcción de procesadores de lenguaje.
2. 2. Aplicación de los lenguajes.
Los lenguajes de programación hoy en día tienen una infinidad de aplicaciones, básicamente
cualquier objeto electrónico tiene cierto grado de programación. Algunos de los más comunes
son C++ y JAVA, también existe HTML, HTTP, XML, XAML y C#, este último
actualmente es el más utilizado en todos los dispositivos y redes basados en MICROSOFT
(Xbox 350, Windows Mobile, Windows Phone, Windows Cloud, Zune, etc.). Ya que los
lenguajes de programación son informáticamente un puente entre el Hardware y el Software
estos permiten que las computadoras puedan establecer conexión con un celular, una cámara
o una consola portátil de videojuego. Otra de las aplicaciones de los lenguajes de
programación son las matemáticas como las calculadoras, cajas registradoras, cajeros
automáticos, por solo mencionar algunos ejemplos sencillos. Existen también niveles de
programación mucho más complejos como los videojuegos o los pilotos automáticos de los
aviones comerciales o las máquinas de juego de los casinos que siguen un patrón de
probabilidad a partir de un arreglo de números al azar establecido por una programación
numérica. La robótica es la combinación de mecánica, electrónica y programación, la cual
en base a sensores y mecanismos sigue una serie de instrucciones algorítmicas las cuales le
permiten por ejemplo a un brazo robótico montar una rueda, ajustar un tornillo o cortar un
rectángulo de 3 cm cuadrados en una placa de acero. Con el avance de la tecnología los
límites de la programación se vuelven cada vez más distantes.
3. Reseña Histórica.
Las primeras aplicaciones del procesamiento del lenguaje natural surgieron entre
1940 y 1960, teniendo como interés fundamental la traducción automática de textos
3. entre diferentes idiomas. Los experimentos en este ámbito se basaban
fundamentalmente en la sustitución automática palabra por palabra, por lo que se
obtenían traducciones muy rudimentarias, que no proporcionaban unos resultados
claros. Surgió por tanto la necesidad de resolver ambigüedades sintácticas y
semánticas, así como la importancia de considerar la información contextual. Los
problemas más relevantes en este tiempo fueron la carencia de un orden de la
estructura oracional en algunas lenguas, y la dificultad para obtener una
representación tanto sintáctica como semántica, pero una vez que se empezaron a
tener en cuenta se dio paso a una concepción más realista del lenguaje en la que era
necesario contemplar las transformaciones que se producen en la estructura de la frase
durante el proceso de traducción. Los últimos años se caracterizan por la
incorporación de técnicas estadísticas y el desarrollo de formalismos adecuados para
el tratamiento de la información léxica. Se ha introducido nuevas técnicas de
representación del conocimiento muy cercanas a la inteligencia artificial, y las
técnicas de procesamiento utilizadas por investigadores procedentes del área de la
lingüística e informática son cada vez más próximas.
4. Diseño y construcción de un compilador.
4. 5. Las herramientas Flex y Bison.
Nos ofrecen una gran cantidad de herramientas utilizando variables, operadores y librerías
propias, como se detallan algunas en la siguiente descripción.
6. Que es flex y Bison
Flex: Es un una herramienta que permite generar analizadores léxicos. A partir de un
conjunto de expresiones regulares, Flex busca concordancias en un fichero de entrada y
ejecuta acciones asociadas a estas expresiones. Es compatible casi al 100% con Lex, una
herramienta clásica de Unix para la generación de analizadores léxicos, pero es un desarrollo
diferente realizado por GNU bajo licencia GPL.
Bison: Es un generador de analizadores sintácticos de propósito general que convierte una
descripción para una gramática independiente del contexto (en realidad de una subclase de
éstas, las LALR) en un programa en C que analiza esa gramática. Es compatible al 100% con
Yacc, una herramienta clásica de Unix para la generación de analizadores léxicos, pero es un
desarrollo diferente realizado por GNU bajo licencia GPL. Todas las gramáticas escritas
apropiadamente para Yacc deberían funcionar con Bison sin ningún cambio. Usándolo junto
a Flex esta herramienta permite construir compiladores de lenguajes.
7. Como se instala Flex y Bison.
5. 1) Descarga el software disponible en el sitio de la cátedra.
2) Instalar el software en la unidad C: (para explicar a partir del punto 4 se tendrá
como hipótesis de que flex y bison han sido instalados en la ruta:
C:GnuWin32 donde contiene una subcarpeta llamada bin donde se encuentran los
programas respectivos)
3) Flex y bison son aplicaciones de consola, por lo que se deberá entrar al Símbolo del
sistema y tipear líneas de comando para ejecutar Flex. Una alternativa es crear un
archivo de proceso por lotes (*.bat) que contenga las líneas de comando para la
ejecución de Flex y Bison y/o la compilación del archivo generado.
4) Si deseas que flex y bison se integren al conjunto de variables del entorno (esto te
va a permitir llamar a flex/bison desde cualquier ubicación en la línea de comandos)
debes hacer lo siguiente:
• Clic derecho en “Mi PC”.
• Selecciona “Propiedades”
• Clic en la pestaña “Opciones Avanzadas”
• Presiona el botón “Variables de entorno.
6. En la nueva ventana, escribir la ruta completa al directorio “bin” de la aplicación
flex/bison. Si existe otro valor, separarlos con comas.
15. AQUÍ ESTA COMPLETADA LA INSTALACION
AQUÍ VEMOS EN LA CARPETA DE DESTINO NUESTRAS DOS HERRAMIENTAS FLEX Y
BISON
16. 8. Como se compila con Flex y Bison.
Para compilar en Flex y Bison seguimos los siguientes pasos. Cuando tengas listo podrás
llamar a flex/bison desde el símbolo del sistema sin necesidad de ubicarte en la carpeta donde
ha sido instalado flex/bison.
Luego de escribir las especificaciones de flex y bison realizar lo siguiente. Si se desea invocar
a flex:
17. 9. 2 Ejemplos de la creación de un compilador utilizando Flex y Bison.