Está en la página 1de 6

Teora de Autmatas y Lenguajes Formales

Prctica Nmero 4 con JFLAP *


Expresiones Regulares

1.

Expresiones Regulares con JFLAP

JFLAP nos permite trabajar con expresiones regulares mediante una noticin
muy parecida a la estndar que usted ya conoce. En particular, las operaciones
de unin y clausura de Kleene se representan de la misma forma (+, ), mientras
que el encadenamiento se representa por la yuxtaposicin de smbolos. Para activar el modo de trabajo con expresiones regulares ejecutamos JFLAP y pulsamos
el botn

que nos activa una ventana como la siguiente


* Antonio
c

Tomeu

Trabajando con Expresiones Regulares


donde podemos editar la expresin regular que deseemos de acuerdo a las
convenciones notacionales ya establecidas. Por ejemplo, el lenguaje L = {0n 1 :
n 0} est representado por la expresin 0 1. Dla como entrada y gurdela en
un fichero con el nombre que prefiera. El item de men Convert permite conectar
a las expresiones regulares con los autmatas finitos a travs del algoritmo de
Thompson que usted ya conoce. Si convierte la expresin regular indicada y
pulsa el botn Do All obtendr el autmata con transiciones que reconoce al
lenguaje en cuestin.

AFND- equivalente
Si ahora desea eliminar transiciones debe exportarlo mediante el botn

Export y a continuacin en la nueva ventana obtenida escoger Convert to DFA.


Finalmente complete el trabajo pulsando el botn Complete en la subventana
derecha del nuevo entorno que se obtiene, y llegar a

AFD mnimo equivalente


que es la representacin finita determinista mnima que reconoce el mismo
lenguaje que la expresin regular de partida representaba.
El paso inverso tambin es posible. D ahora como entrada el siguiente AFND
a JFLAP

Autmata No Determinista
que representa a un posible reconocedor de elementos pertenecientes a algn
hipottico lenguajes de programacin. Escoja ahora la opcin del men Convert
rotulada con Convert FA to RE. Se requieren algunas transiciones nulas adicionales. Pulse el botn Do it. Siga ahora las instrucciones que el entorno de
trabajo le proporciona para obtener

Autmata Intermedio
Finalmente pulse el botn Export para obtener la expresin regular equivalente.

ER equivalente

2.

Ejercicios

Practiquemos a continuacin el algoritmo de Thompson, verificando el trabajo que realizamos utilizando JFLAP. En consecuencia, para cada uno de las siguientes expresiones regulares, realice las siguientes operaciones: obtenga (manualmente) el AFND- equivalente. Compare resultados.
(a) (0 + 1)
(b) 00(0 + 1) + (1)
(c) L = {string, int, boolean, float, double}
(d) Imagine el conjunto de palabras reservadas que conforman el conjunto de
estructuras de control del lenguaje C. Aada a ello signos de puntuacin
tales como la coma, el punto y coma, separadores, parntesis, etc. Escriba
ahora una expresin regular que represente a tal lenguaje. Utilice JFLAP
para obtener el AFD equivalente.
(e) Escriba una expresin regular que represente a los nmeros reales en notacin de coma flotante (por ejemplo 2,3E3) incluyendo naturales, enteros y reales sin mantisa. Utilice JFLAP para obtener un AFD equivalente.
A continuacin transfrmelo directamente con JFLAP en el AFD equivalente. Para cada uno de ellos, introduza cadenas de prueba pertenecientes y
5

no pertenecientes al lenguaje. Guarde cada AFD obtenido en un fichero llamado prac4_x,donde x representar a a, b, c, d e.
Comprima todos los ficheros prac4_x en un fichero .zip con la siguiente
nomenclatura:
Nombre_Apellido1_Apellido_2.zip
y envelo al profeor mediante el correo electrnico que incorpora el Campus
Virtual Web-CT en un fichero ligado cuyo asunto ser JFLAP4.

También podría gustarte