Monografias.com > Computación > Programación
Descargar Imprimir Comentar Ver trabajos relacionados

Uso del código generado en SP-PS1 para una aplicación Windows C# que efectúe un análisis léxico.




Enviado por FRANCISCO RIOS ACOSTA



Partes: 1, 2

    Monografias.com

    Uso del código generado en SP-PS1 para una aplicación Windows C# que efectúe un análisis léxico.
    Ing. Francisco Ríos Acosta
    Instituto Tecnológico de la Laguna, a 17 de diciembre del 2007.
    pag. 3 de 16
    1. Aplicación Windows C#, analizador léxico para reconocer los tokens id y opasig.

    La idea es construir una aplicación Windows C#, que utilice el código generado en C# por el programa
    SP-PS1.
    Esta aplicación consiste de una interfase gráfica de usuario semejante a la vista de la simulación del
    analizador léxico usando SP-PS1. La aplicación Form1 en ejecución es mostrada en la fig.#1.1.
    PASO
    1.-
    Creación del directorio que contiene al programa SP-PS1.
    Usaremos el programa SP-PS1 para generar los AFD óptimos o reducidos que reconocen a los tokens
    Id y OpAsig.

    Lo primero que debemos hacer es crear un directorio de trabajo que albergue al programa SP-PS1. El
    directorio de trabajo llámalo como gustes. En él deberás copiar los archivos :
    Fig. No. 1.1 Aplicación Windows C# que analiza léxicamente la entrada x=y*(radio – 1);.

    En la figura 1.1 sólo son reconocidos los tokens Id y OpAsig. Es decir, el analizador léxico sólo
    reconoce a estos 2 tipos de tokens.
    Cuando el usuario teclea un texto de entrada y hace click sobre el botón con leyenda “ANALISIS
    LEXICO”, la aplicación muestra a las parejas TOKEN-LEXEMA en el componente DataGridView que
    fueron reconocidas durante el análisis léxico.

    Veamos y sigamos cada uno de los pasos para construir la
    aplicación Windows C# visto en la figura #1.1.

    Monografias.com

    Uso del código generado en SP-PS1 para una aplicación Windows C# que efectúe un análisis léxico.
    Instituto Tecnológico de la Laguna, a 17 de diciembre del 2007.
    pag. 4 de 16
    Ing. Francisco Ríos Acosta
    ps1.exe

    Codigo1.txt

    Codigo2.txt

    Codigo3.txt

    Codigo4.txt

    Codigo5.txt

    Codigo6.txt

    Luego ejeucta el programa ps1.exe que te responde con la aplicación mostrada en la figura 1.2.
    PASO
    2.-
    Fig. No. 1.2 Interfase gráfica del programa SP-PS1.

    Generación del AFND usando las reglas de Thompson, que
    reconoce al token Id.

    Entremos al menú Archivo | Nuevo e ingresemos la expresión regular vista en la figura #1.3.

    Fig. No. 1.3 Edición de la expresión regular Id.exr.
    Luego salvemos la expresión regular usando Archivo | Salvar Como con el nombre “Id.exr”.

    Monografias.com

    Uso del código generado en SP-PS1 para una aplicación Windows C# que efectúe un análisis léxico.
    Ing. Francisco Ríos Acosta
    Instituto Tecnológico de la Laguna, a 17 de diciembre del 2007.
    pag. 5 de 16

    Usemos Expr Regulares | Compilar para saber si hemos incurrido en errores. Cuando no tenemos
    errores en nuestra expresión regular, la aplicación muestra una caja de mesaje donde nos los hace
    saber, figura #1.4.

    Fig. No. 1.4 Expresión regular Id.exr, compilada de forma exitosa.

    Ahora aplicamos las reglas de Thompson a la expresión regular que acabamos de compilar. Usemos
    la trayectoria del menú de SP-PS1 Automatas | Thompson (AFND) y observemos el AFND
    construido a partir de la expresión regular Id.exr, fig. #1.5.
    Fig. No. 1.5 AFND correspondiente a la expresión regular Id.exr.

    Observemos en la fig#1.5, que el AFND reconoce leyendo un caracter que no forma parte del lexema
    encontrado (transición del estado 12 al estado 13 de aceptación).

    Monografias.com

    Uso del código generado en SP-PS1 para una aplicación Windows C# que efectúe un análisis léxico.
    Ing. Francisco Ríos Acosta
    Instituto Tecnológico de la Laguna, a 17 de diciembre del 2007.
    pag. 6 de 16
    PASO
    3.-
    Generación del AFD –algoritmo de construcción de subgrupos-
    a partir del AFND obtenido en el paso 2.


    La opción del menú para construir el AFD que reconoce al token Id es :
    Automatas | Subgrupos (AFD).
    SP-PS1 responde con una nueva ventana, fig#1.6.
    Fig. No. 1.6 Interfase de usuario para la obtención del AFD según el algoritmo de construcción de subgrupos.


    El primer botón con la imagen de la punta de una flecha, es el que sirve para visualizar al autómata
    finito determinístico AFD construido a partir del AFND obtenido al aplicar las reglas de
    Thompson.
    Este AFD puede que no sea el óptimo, por lo que debemos de aplicarle un algoritmo llamado de
    particiones.
    Antes de obtener el AFD óptimo o reducido, observemos la fig#1.7 que muestra el AFD obtenido
    con el algoritmo de construcción de subgrupos.
    PASO
    4.-
    Generación del AFD óptimo para el token Id.

    Monografias.com

    Uso del código generado en SP-PS1 para una aplicación Windows C# que efectúe un análisis léxico.
    Ing. Francisco Ríos Acosta
    Instituto Tecnológico de la Laguna, a 17 de diciembre del 2007.
    pag. 7 de 16


    Fig. No. 1.7 AFD que reconoce al token Id.

    En esta etapa haremos 2 cosas : primero obtenemos el AFD óptimo o reducido, para luego salvar
    toda su información.
    Hagamos un click sobre el botón con la imagen del zoom. El AFD óptimo es visualizado por el
    programa SP-PS1, fig#1.8.
    Fig. No. 1.8 AFD óptimo que reconoce al token Id.

    Monografias.com

    Uso del código generado en SP-PS1 para una aplicación Windows C# que efectúe un análisis léxico.
    Ing. Francisco Ríos Acosta
    Instituto Tecnológico de la Laguna, a 17 de diciembre del 2007.
    pag. 8 de 16

    Con el fin de poder generar el analizador léxico en etapas posteriores, debemos salvar la
    información de este AFD reducido. Hagamos un click sobre el botón con una imagen de un
    diskette. A la pregunta de SI SALVAMOS EL AFD REDUCIDO contestemos que sí, fig#1.9.
    PASO
    5.-
    Fig. No. 1.9 Almacenando la información del AFD óptimo.

    Generación del AFD óptimo para el token OpAsig.

    Seguimos los mismos pasos utilizados para obtener el AFD óptimo del token Id (pasos 2

    Partes: 1, 2

    Página siguiente 

    Nota al lector: es posible que esta página no contenga todos los componentes del trabajo original (pies de página, avanzadas formulas matemáticas, esquemas o tablas complejas, etc.). Recuerde que para ver el trabajo en su versión original completa, puede descargarlo desde el menú superior.

    Todos los documentos disponibles en este sitio expresan los puntos de vista de sus respectivos autores y no de Monografias.com. El objetivo de Monografias.com es poner el conocimiento a disposición de toda su comunidad. Queda bajo la responsabilidad de cada lector el eventual uso que se le de a esta información. Asimismo, es obligatoria la cita del autor del contenido y de Monografias.com como fuentes de información.

    Categorias
    Newsletter