SlideShare una empresa de Scribd logo
1 de 10
PONTIFICIA UNIVERSIDAD CATÓLICA DEL ECUADOR
“SEDE IBARRA”
ESCUELA DE INGENIERIA
CARRERA SISTEMAS
NOMBRE: IVAN BOLAÑOS
NIVEL: QUINTO
HERRAMIENTAS PARA LA CONSTRUCCIÓN DE PROCESADORES DE LENGUAJE.
Utilidades y Generadores de Procesadores de Lenguajes
A continuación se muestran algunas de las herramientas disponibles que pueden utilizarse para la
realización de la Práctica de Procesadores de Lenguajes. Todas estas herramientas funcionan bajo
Windows, aunque se puede utilizar, si se desea, cualquier otra herramienta.
Herramienta Lenguaje Descripción
Bison C Generador de Analizadores Sintácticos Ascendentes tipo YACC
COCO/R C/C++
Generador de Analizadores Léxicos y Sintácticos Descendentes
Recursivos
Flex C Generador de Analizadores Léxicos tipo Lex
Lex C Generador de Analizadores Léxicos
SDGLL1 exe Sistema Detector de Gramáticas LL(1) y generador de la tabla
TS 2006 C/C++ Tipo abstracto de datos Tabla de Símbolos de uso sencillo
Herramienta Lenguaje Descripción
TS C Tipo abstracto de datos Tabla de Símbolos
TS-OO C++ Tipo abstracto de datos orientado a objetos Tabla de Símbolos
VASt exe
Visualizador de árboles sintácticos partiendo de los ficheros con la
gramá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 la
gramática y el parse pedidos en la Práctica [versión 1.0, Linux]
YACC C Generador de Analizadores Sintácticos Ascendentes LR(1)
APLICACIÓN DE LOS LENGUAJES:
Definición de Algoritmo.
"Un algoritmo se define como un método que se realiza paso a paso para solucionar un problema
que termina en un número finito de pasos".
Las características fundamentales que debe cumplir todo algoritmo son:
Debe ser preciso. e indicar el orden de realización de cada paso.
Debe ser definido. Si se sigue un algoritmo dos veces, se debe obtener el mismo resultado cada
vez.
Debe ser finito. Si se sigue un algoritmo, se debe terminar en algún momento; o sea debe tener un
número finito de pasos.
La definición de un algoritmo debe describir tres partes: Entrada, Proceso y Salida.
Diseñar un algoritmo para cambiar una llanta a un coche.
1. Inicio.
2. Traer gato.
3. Levantar el coche con el gato.
4. Aflojar tornillos de las llantas.
5. Sacar los tornillos de las llantas.
6. Quitar la llanta.
7. Poner la llanta de repuesto.
8. Poner los tornillos.
9. Apretar los tornillos.
10. Bajar el gato.
11. Fin.
12.
RESEÑA HISTÓRICA
Al igual que los idiomas sirven de vehículo de comunicación entre los seres humanos,
existen lenguajes que realizan la comunicación entre los seres humanos y las
computadoras. Estos lenguajes permiten expresar los programas o el conjunto de
instrucciones que el operador humano desea que la computadora ejecute.
Los primeros lenguajes de programación se conocieron como Lenguajes Ensambladores,
un ejemplo es: TRANSCODE, desarrollado para la computadora FERUT.
A mediados de los años 60's aparecieron los primeros lenguajes de propósito general
como FORTRAN, FORTRAN IV, ALGOL, COBOL, BASIC, PL/I, ADA, C,C++, PASCAL, etc. pero
el desarrollo de nuevas tecnologías, tanto en arquitectura de computadoras como en
lenguajes de programación, continúa a paso acelerado. Los lenguajes de programación
actuales son los conocidos como Lenguajes visuales, como por ejemplo Visual Fox, Visual
Basic, Visual C .
DISEÑO Y CONSTRUCCIÓN DE UN COMPILADOR.
Nos ayuda a profundizar nuestro conocimiento acerca del diseño de los programas y su
implementación.
En el proceso de construcción de compiladores se integran muchos conceptos diferentes de
las Ciencias de la Computación:
1. Algoritmos de búsqueda.
2. Árboles, Hashing.
3. Programación modular.
4. Lenguaje Assembly.
Un traductor es un programa que traduce un programa escrito en un lenguaje, a un nuevo
programa escrito en otro lenguaje.
LAS HERRAMIENTAS FLEX Y BISON.
Esta herramienta se usa en consonancia con la herramienta flex y sirve para especificar
analizadores sintácticos. De la misma forma que flex tiene como base las expresiones
regulares, la herramienta bison también se basa en otro formalismo para describir
lenguajes, en este caso serán las gramáticas independientes del contexto las que
constituirán el núcleo de las especificaciones que procesará bison.
El formato del fichero de entrada
La herramienta bison es una versión mejorada de una herramienta anterior denominada
yacc. Bison ha sido desarrollada con la intención de ser compatible con las
especificaciones que procesaba yacc, de manera que el lenguaje que acepta bison es
básicamente el lenguaje yacc más algunas modificaciones o mejoras. La herramienta bison
va a tomar como entrada un fichero de texto que, básicamente, tiene el siguiente
formato:
%header{
<código C de cabecera>
%}
%{
<código C de declaración>
%}
<zona de definiciones>
%%
<producciones y acciones>
%%
<código C de implemetación>
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.
Bison es un generador de analizadores sintácticos, un sustituto de yacc ("Yet Another Compiler
Compiler", Otro Compilador de Compiladores). Entonces, ¿qué es bison? Es un programa que
genera un programa que analiza la estructura de un fichero de texto. En lugar de escribir el
programa, el usuario especifica qué cosas deben ser conectadas y con esas reglas se genera un
programa que analiza el fichero de texto. Hay muchos ejemplos en los que se necesita esta
estructura y uno de ellos es la calculadora.
COMO SE INSTALA FLEX Y BISON
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”
• En la ventana de variables de entorno, ubicarse en la sección “Variables del sistema” luego haz
clic en PATH y luego en el botón “Modificar” (si no está hacer clic en “Nueva” y agregar PATH)
• En la nueva ventana, escribir la ruta completa al directorio “bin” de la aplicación flex/bison. Si
existe otro valor, separarlos con comas
• Aceptar los cambios y luego reiniciar el sistema operativo.
5. Si deseas instalar un compilador de C como MinGwin, deberás integrar la ruta de acceso al
compilador a las variables de entorno para facilitar la llamada al programa.
Por ejemplo si se instaló MingWin en “C:Mingw” y dentro de la carpeta “bin” se encuentra
“gcc.exe” que es el ejecutable, entonces de deberá agregar (análogo a los pasos anteriores) lo
siguiente:
6. 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.
COMO SE COMPILA CON FLEX Y BISON
2 EJEMPLOS DE LA CREACIÓN DE UN COMPILADOR UTILIZANDO FLEX Y BISON.
Codigo01.txt
?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
Definir Constante Entero numero := 145 ;
Definir Booleano nume := 1 ;
Funcion Entero ( Entero num; Real fre; Booleano boll;)
Mientras ( )
Booleano ghjfg;
bocfgh:=1;
Mientras ( a>=4 )
Car:=Carro;
Entero bandera;
Booleano boole;
boole:=1;
Si ( a==4 )
Bool:=1;
Booleano boolean;
SinoSi (a==5) Entonces
Bool:=2;
Sino Entonces
Bool:=3;
16
17
18
19
20
21
22
23
FinSi
FinMientras
FinMientras
Retorna Carro
FinFuncion
Codigo00.txt
?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
Estructura est
{
Entero num;
Entero nfgj;
Booleano ggnum;
} est1;
Definir Constante Entero numero := 145 ;
Funcion Entero miFuncion( Caracter Cadena; )
Car:=Carro;
Entero Num;
Mientras ( c<d )
Car:=Carro;
Entero bandera;
Booleano boole;
boole:=1;
Mientras ( a>=4 )
Car:=Carro;
Entero bandera;
Booleano boole;
boole:=1;
Para ( a:=14; a<=25; a:= + 5 4 ;(
Si ( a==4 ) Entonces
Bool:=1;
FinSi
FinPara
FinMientras
FinMientras
37
38
39
40
41
42
43
44
45
46
47
48
49
Si ( a==4 ) Entonces
Bool:=1;
FinSi
Retorna Numero
FinFuncion

Más contenido relacionado

La actualidad más candente

Compiladores - Flex y Bison
Compiladores - Flex y BisonCompiladores - Flex y Bison
Compiladores - Flex y BisonSteven Tabango
 
Trabajo flex byson
Trabajo flex bysonTrabajo flex byson
Trabajo flex bysonJhon Alexito
 
Flex y bison héctor espinosa
Flex y bison   héctor espinosaFlex y bison   héctor espinosa
Flex y bison héctor espinosaHector Espinosa
 
Usando flex en Windows
Usando flex en WindowsUsando flex en Windows
Usando flex en WindowsMariano Rico
 
Conceptos Básicos acerca de Procesadores de Lenguajes
Conceptos Básicos acerca de Procesadores de LenguajesConceptos Básicos acerca de Procesadores de Lenguajes
Conceptos Básicos acerca de Procesadores de LenguajesGrace Laguna
 
Clase 03
Clase 03Clase 03
Clase 03Tensor
 
Unidad3 130504222102-phpapp02
Unidad3 130504222102-phpapp02Unidad3 130504222102-phpapp02
Unidad3 130504222102-phpapp02Lesly Gonzalez
 
Taller compiladores conceptos
Taller compiladores conceptosTaller compiladores conceptos
Taller compiladores conceptosjuniortroya
 
Acoplamiento de Precision Language suite con Lazarus 1.0.8
Acoplamiento de Precision Language suite con Lazarus 1.0.8Acoplamiento de Precision Language suite con Lazarus 1.0.8
Acoplamiento de Precision Language suite con Lazarus 1.0.8Jose Torres
 
Clase 01
Clase 01Clase 01
Clase 01Tensor
 

La actualidad más candente (20)

Flex y bison
Flex y bisonFlex y bison
Flex y bison
 
Compiladores - Flex y Bison
Compiladores - Flex y BisonCompiladores - Flex y Bison
Compiladores - Flex y Bison
 
Flex y bison
Flex y bisonFlex y bison
Flex y bison
 
Trabajo flex byson
Trabajo flex bysonTrabajo flex byson
Trabajo flex byson
 
COMPILADORES
COMPILADORESCOMPILADORES
COMPILADORES
 
INTRODUCCION A FLEX Y BISON
INTRODUCCION A FLEX Y BISONINTRODUCCION A FLEX Y BISON
INTRODUCCION A FLEX Y BISON
 
Flex y bison
Flex y bisonFlex y bison
Flex y bison
 
Flex y bison
Flex y bisonFlex y bison
Flex y bison
 
Flex y bison héctor espinosa
Flex y bison   héctor espinosaFlex y bison   héctor espinosa
Flex y bison héctor espinosa
 
Usando flex en Windows
Usando flex en WindowsUsando flex en Windows
Usando flex en Windows
 
Flex y Bison
Flex y BisonFlex y Bison
Flex y Bison
 
Conceptos Básicos acerca de Procesadores de Lenguajes
Conceptos Básicos acerca de Procesadores de LenguajesConceptos Básicos acerca de Procesadores de Lenguajes
Conceptos Básicos acerca de Procesadores de Lenguajes
 
Clase 03
Clase 03Clase 03
Clase 03
 
Flexybison
FlexybisonFlexybison
Flexybison
 
Unidad3 130504222102-phpapp02
Unidad3 130504222102-phpapp02Unidad3 130504222102-phpapp02
Unidad3 130504222102-phpapp02
 
Taller compiladores conceptos
Taller compiladores conceptosTaller compiladores conceptos
Taller compiladores conceptos
 
Flex ybison
Flex ybisonFlex ybison
Flex ybison
 
Acoplamiento de Precision Language suite con Lazarus 1.0.8
Acoplamiento de Precision Language suite con Lazarus 1.0.8Acoplamiento de Precision Language suite con Lazarus 1.0.8
Acoplamiento de Precision Language suite con Lazarus 1.0.8
 
Clase 01
Clase 01Clase 01
Clase 01
 
Unidad 3
Unidad 3Unidad 3
Unidad 3
 

Destacado (20)

Compiladores trabajo numero 4
Compiladores trabajo numero 4Compiladores trabajo numero 4
Compiladores trabajo numero 4
 
Trabajo de compiladores completo alexandra
Trabajo de compiladores completo alexandraTrabajo de compiladores completo alexandra
Trabajo de compiladores completo alexandra
 
Lenguaje de programación: Pascal
Lenguaje de programación: PascalLenguaje de programación: Pascal
Lenguaje de programación: Pascal
 
Slidshare
SlidshareSlidshare
Slidshare
 
WEB 2.0
WEB 2.0WEB 2.0
WEB 2.0
 
Conservación del alimoche a través de medidas de desarrollo ganadero. Hacia u...
Conservación del alimoche a través de medidas de desarrollo ganadero. Hacia u...Conservación del alimoche a través de medidas de desarrollo ganadero. Hacia u...
Conservación del alimoche a través de medidas de desarrollo ganadero. Hacia u...
 
25 de agosto
25 de agosto 25 de agosto
25 de agosto
 
Oído
OídoOído
Oído
 
Fol
FolFol
Fol
 
Ensayo n°7
Ensayo n°7Ensayo n°7
Ensayo n°7
 
Plan estudios
Plan estudiosPlan estudios
Plan estudios
 
Presentación1
Presentación1Presentación1
Presentación1
 
Trab col 2- grupo 16
Trab col 2- grupo 16Trab col 2- grupo 16
Trab col 2- grupo 16
 
Robles enriquez
Robles enriquezRobles enriquez
Robles enriquez
 
UTE_
UTE_UTE_
UTE_
 
Juan de salinas
Juan de salinasJuan de salinas
Juan de salinas
 
Uchileshock septico
Uchileshock septicoUchileshock septico
Uchileshock septico
 
Conozcamos slideshare
Conozcamos slideshareConozcamos slideshare
Conozcamos slideshare
 
Presentación bases legales aussiesummer
Presentación bases legales aussiesummerPresentación bases legales aussiesummer
Presentación bases legales aussiesummer
 
Pasos para crear una cuenta en slideshare
Pasos para crear una cuenta en slidesharePasos para crear una cuenta en slideshare
Pasos para crear una cuenta en slideshare
 

Similar a Trabajo compiladores ivan bolaños

Similar a Trabajo compiladores ivan bolaños (20)

Bison y flex
Bison y flexBison y flex
Bison y flex
 
Taller
TallerTaller
Taller
 
Bison y flex
Bison y flexBison y flex
Bison y flex
 
Fyb
FybFyb
Fyb
 
Flex y Byson
Flex y BysonFlex y Byson
Flex y Byson
 
Compiladores
CompiladoresCompiladores
Compiladores
 
Investigacion Flex Y Bison
Investigacion Flex Y BisonInvestigacion Flex Y Bison
Investigacion Flex Y Bison
 
FLEX Y BISON
FLEX Y BISONFLEX Y BISON
FLEX Y BISON
 
Flex y bison
Flex y bisonFlex y bison
Flex y bison
 
Pontificia universidad católica del ecuador flex y bison
Pontificia universidad católica del ecuador flex y bisonPontificia universidad católica del ecuador flex y bison
Pontificia universidad católica del ecuador flex y bison
 
Flex y-bison
Flex y-bisonFlex y-bison
Flex y-bison
 
Compiladores
CompiladoresCompiladores
Compiladores
 
Taller de actividades de compiladores, Flex y Bison
Taller de actividades de compiladores, Flex y BisonTaller de actividades de compiladores, Flex y Bison
Taller de actividades de compiladores, Flex y Bison
 
Flex y bison
Flex y bisonFlex y bison
Flex y bison
 
Flex y bison
Flex y bisonFlex y bison
Flex y bison
 
Taller flex y bison
Taller flex y bisonTaller flex y bison
Taller flex y bison
 
Taller 21 de junio
Taller 21 de junioTaller 21 de junio
Taller 21 de junio
 
Flex y bison jorge bejarano
Flex y bison   jorge bejaranoFlex y bison   jorge bejarano
Flex y bison jorge bejarano
 
Flex bison
Flex bisonFlex bison
Flex bison
 
Flex y brison
Flex y brisonFlex y brison
Flex y brison
 

Trabajo compiladores ivan bolaños

  • 1. PONTIFICIA UNIVERSIDAD CATÓLICA DEL ECUADOR “SEDE IBARRA” ESCUELA DE INGENIERIA CARRERA SISTEMAS NOMBRE: IVAN BOLAÑOS NIVEL: QUINTO HERRAMIENTAS PARA LA CONSTRUCCIÓN DE PROCESADORES DE LENGUAJE. Utilidades y Generadores de Procesadores de Lenguajes A continuación se muestran algunas de las herramientas disponibles que pueden utilizarse para la realización de la Práctica de Procesadores de Lenguajes. Todas estas herramientas funcionan bajo Windows, aunque se puede utilizar, si se desea, cualquier otra herramienta. Herramienta Lenguaje Descripción Bison C Generador de Analizadores Sintácticos Ascendentes tipo YACC COCO/R C/C++ Generador de Analizadores Léxicos y Sintácticos Descendentes Recursivos Flex C Generador de Analizadores Léxicos tipo Lex Lex C Generador de Analizadores Léxicos SDGLL1 exe Sistema Detector de Gramáticas LL(1) y generador de la tabla TS 2006 C/C++ Tipo abstracto de datos Tabla de Símbolos de uso sencillo
  • 2. Herramienta Lenguaje Descripción TS C Tipo abstracto de datos Tabla de Símbolos TS-OO C++ Tipo abstracto de datos orientado a objetos Tabla de Símbolos VASt exe Visualizador de árboles sintácticos partiendo de los ficheros con la gramá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 la gramática y el parse pedidos en la Práctica [versión 1.0, Linux] YACC C Generador de Analizadores Sintácticos Ascendentes LR(1) APLICACIÓN DE LOS LENGUAJES: Definición de Algoritmo. "Un algoritmo se define como un método que se realiza paso a paso para solucionar un problema que termina en un número finito de pasos". Las características fundamentales que debe cumplir todo algoritmo son: Debe ser preciso. e indicar el orden de realización de cada paso. Debe ser definido. Si se sigue un algoritmo dos veces, se debe obtener el mismo resultado cada vez. Debe ser finito. Si se sigue un algoritmo, se debe terminar en algún momento; o sea debe tener un número finito de pasos. La definición de un algoritmo debe describir tres partes: Entrada, Proceso y Salida. Diseñar un algoritmo para cambiar una llanta a un coche.
  • 3. 1. Inicio. 2. Traer gato. 3. Levantar el coche con el gato. 4. Aflojar tornillos de las llantas. 5. Sacar los tornillos de las llantas. 6. Quitar la llanta. 7. Poner la llanta de repuesto. 8. Poner los tornillos. 9. Apretar los tornillos. 10. Bajar el gato. 11. Fin. 12. RESEÑA HISTÓRICA Al igual que los idiomas sirven de vehículo de comunicación entre los seres humanos, existen lenguajes que realizan la comunicación entre los seres humanos y las computadoras. Estos lenguajes permiten expresar los programas o el conjunto de instrucciones que el operador humano desea que la computadora ejecute. Los primeros lenguajes de programación se conocieron como Lenguajes Ensambladores, un ejemplo es: TRANSCODE, desarrollado para la computadora FERUT. A mediados de los años 60's aparecieron los primeros lenguajes de propósito general como FORTRAN, FORTRAN IV, ALGOL, COBOL, BASIC, PL/I, ADA, C,C++, PASCAL, etc. pero el desarrollo de nuevas tecnologías, tanto en arquitectura de computadoras como en lenguajes de programación, continúa a paso acelerado. Los lenguajes de programación actuales son los conocidos como Lenguajes visuales, como por ejemplo Visual Fox, Visual Basic, Visual C . DISEÑO Y CONSTRUCCIÓN DE UN COMPILADOR. Nos ayuda a profundizar nuestro conocimiento acerca del diseño de los programas y su implementación. En el proceso de construcción de compiladores se integran muchos conceptos diferentes de las Ciencias de la Computación: 1. Algoritmos de búsqueda.
  • 4. 2. Árboles, Hashing. 3. Programación modular. 4. Lenguaje Assembly. Un traductor es un programa que traduce un programa escrito en un lenguaje, a un nuevo programa escrito en otro lenguaje. LAS HERRAMIENTAS FLEX Y BISON. Esta herramienta se usa en consonancia con la herramienta flex y sirve para especificar analizadores sintácticos. De la misma forma que flex tiene como base las expresiones regulares, la herramienta bison también se basa en otro formalismo para describir lenguajes, en este caso serán las gramáticas independientes del contexto las que constituirán el núcleo de las especificaciones que procesará bison. El formato del fichero de entrada La herramienta bison es una versión mejorada de una herramienta anterior denominada yacc. Bison ha sido desarrollada con la intención de ser compatible con las especificaciones que procesaba yacc, de manera que el lenguaje que acepta bison es básicamente el lenguaje yacc más algunas modificaciones o mejoras. La herramienta bison va a tomar como entrada un fichero de texto que, básicamente, tiene el siguiente formato:
  • 5. %header{ <código C de cabecera> %} %{ <código C de declaración> %} <zona de definiciones> %% <producciones y acciones> %% <código C de implemetación> 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. Bison es un generador de analizadores sintácticos, un sustituto de yacc ("Yet Another Compiler Compiler", Otro Compilador de Compiladores). Entonces, ¿qué es bison? Es un programa que genera un programa que analiza la estructura de un fichero de texto. En lugar de escribir el programa, el usuario especifica qué cosas deben ser conectadas y con esas reglas se genera un programa que analiza el fichero de texto. Hay muchos ejemplos en los que se necesita esta estructura y uno de ellos es la calculadora. COMO SE INSTALA FLEX Y BISON 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.
  • 6. 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” • En la ventana de variables de entorno, ubicarse en la sección “Variables del sistema” luego haz clic en PATH y luego en el botón “Modificar” (si no está hacer clic en “Nueva” y agregar PATH)
  • 7. • En la nueva ventana, escribir la ruta completa al directorio “bin” de la aplicación flex/bison. Si existe otro valor, separarlos con comas • Aceptar los cambios y luego reiniciar el sistema operativo. 5. Si deseas instalar un compilador de C como MinGwin, deberás integrar la ruta de acceso al compilador a las variables de entorno para facilitar la llamada al programa. Por ejemplo si se instaló MingWin en “C:Mingw” y dentro de la carpeta “bin” se encuentra “gcc.exe” que es el ejecutable, entonces de deberá agregar (análogo a los pasos anteriores) lo siguiente: 6. 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.
  • 8. COMO SE COMPILA CON FLEX Y BISON 2 EJEMPLOS DE LA CREACIÓN DE UN COMPILADOR UTILIZANDO FLEX Y BISON. Codigo01.txt ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 Definir Constante Entero numero := 145 ; Definir Booleano nume := 1 ; Funcion Entero ( Entero num; Real fre; Booleano boll;) Mientras ( ) Booleano ghjfg; bocfgh:=1; Mientras ( a>=4 ) Car:=Carro; Entero bandera; Booleano boole; boole:=1; Si ( a==4 ) Bool:=1; Booleano boolean; SinoSi (a==5) Entonces Bool:=2; Sino Entonces Bool:=3;
  • 9. 16 17 18 19 20 21 22 23 FinSi FinMientras FinMientras Retorna Carro FinFuncion Codigo00.txt ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 Estructura est { Entero num; Entero nfgj; Booleano ggnum; } est1; Definir Constante Entero numero := 145 ; Funcion Entero miFuncion( Caracter Cadena; ) Car:=Carro; Entero Num; Mientras ( c<d ) Car:=Carro; Entero bandera; Booleano boole; boole:=1; Mientras ( a>=4 ) Car:=Carro; Entero bandera; Booleano boole; boole:=1; Para ( a:=14; a<=25; a:= + 5 4 ;( Si ( a==4 ) Entonces Bool:=1; FinSi FinPara FinMientras FinMientras
  • 10. 37 38 39 40 41 42 43 44 45 46 47 48 49 Si ( a==4 ) Entonces Bool:=1; FinSi Retorna Numero FinFuncion