teoría de autómatas y lenguajes formales con jflap

6
Teoría de Autómatas y Lenguajes Formales Práctica Número 4 con JFLAP * Expresiones Regulares 1. Expresiones Regulares con JFLAP JFLAP nos permite trabajar con expresiones regulares mediante una notición muy parecida a la estándar que usted ya conoce. En particular, las operaciones de unión y clausura de Kleene se representan de la misma forma (+, ), mientras que el encadenamiento se representa por la yuxtaposición de símbolos. Para ac- tivar el modo de trabajo con expresiones regulares ejecutamos JFLAP y pulsamos el botón que nos activa una ventana como la siguiente * c °Antonio Tomeu 1

Upload: uniondiez-calixto-fernandez

Post on 24-Sep-2015

40 views

Category:

Documents


8 download

DESCRIPTION

Teoría de Autómatas y Lenguajes Formales con JFLAP

TRANSCRIPT

  • Teora de Autmatas y Lenguajes FormalesPrctica Nmero 4 con JFLAP*

    Expresiones Regulares

    1. Expresiones Regulares con JFLAPJFLAP nos permite trabajar con expresiones regulares mediante una noticin

    muy parecida a la estndar que usted ya conoce. En particular, las operacionesde unin y clausura de Kleene se representan de la misma forma (+, ), mientrasque el encadenamiento se representa por la yuxtaposicin de smbolos. Para ac-tivar el modo de trabajo con expresiones regulares ejecutamos JFLAP y pulsamosel botn

    que nos activa una ventana como la siguiente

    * cAntonio Tomeu

    1

  • Trabajando con Expresiones Regulares

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

    AFND- equivalente

    Si ahora desea eliminar transiciones debe exportarlo mediante el botn

    2

  • Export y a continuacin en la nueva ventana obtenida escoger Convert to DFA.Finalmente complete el trabajo pulsando el botn Complete en la subventanaderecha del nuevo entorno que se obtiene, y llegar a

    AFD mnimo equivalente

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

    a JFLAP

    3

  • Autmata No Determinista

    que representa a un posible reconocedor de elementos pertenecientes a algnhipottico lenguajes de programacin. Escoja ahora la opcin del men Convertrotulada con Convert FA to RE. Se requieren algunas transiciones nulas adi-cionales. Pulse el botn Do it. Siga ahora las instrucciones que el entorno detrabajo le proporciona para obtener

    Autmata Intermedio

    Finalmente pulse el botn Export para obtener la expresin regular equiva-lente.

    4

  • ER equivalente

    2. EjerciciosPractiquemos a continuacin el algoritmo de Thompson, verificando el traba-

    jo que realizamos utilizando JFLAP. En consecuencia, para cada uno de las sigu-ientes expresiones regulares, realice las siguientes operaciones: obtenga (man-ualmente) 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 puntuacintales como la coma, el punto y coma, separadores, parntesis, etc. Escribaahora una expresin regular que represente a tal lenguaje. Utilice JFLAPpara obtener el AFD equivalente.

    (e) Escriba una expresin regular que represente a los nmeros reales en no-tacin de coma flotante (por ejemplo 2,3E3) incluyendo naturales, en-teros y reales sin mantisa. Utilice JFLAP para obtener un AFD equivalente.

    A continuacin transfrmelo directamente con JFLAP en el AFD equiva-lente. Para cada uno de ellos, introduza cadenas de prueba pertenecientes y

    5

  • no pertenecientes al lenguaje. Guarde cada AFD obtenido en un fichero llama-do 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 CampusVirtual Web-CT en un fichero ligado cuyo asunto ser JFLAP4.

    6