Software para la Enseñanza de las Fases de Análisis Léxico y Análisis Sintáctico en Procesadores de Lenguajes

Documentos relacionados
Seleccione en el escritorio el programa Sucosoft S40 y darle doble click.

Las Etapas de la Compilación

Escala San Martín. InstruccIones para la aplicación InformátIca. Evaluación de la Calidad de Vida de Personas con Discapacidades Significativas

Anexo C. Manual del usuario

INSTITUTO ELECTORAL DEL ESTADO DE MÉXICO SECRETARÍA EJECUTIVA UNIDAD DE INFORMÁTICA Y ESTADÍSTICA

Conectar el reloj BB-runner a Sporttracks

Microsoft Office Word

Administración de la producción. Sesión 6: Presentaciones Gráficas

Ministerio de Educación. Base de datos en la Enseñanza. Open Office. Módulo 4: Diseñador de Consultas (+ info)

PROGRAMA DE LABORATORIO SECCIÓN: ÁREA A LA QUE PERTENECE: POS-REQUISITO: AUXILIAR:

Descarga, Instalación y Registro Versiones Educativas Alumno Editex

Cuando no está abierto ningún menú, las teclas activas para poder desplazarse a través de la hoja son:

Noticias RED Remisión electrónica de documentos

Organización de la información en disco: archivos y carpetas

PRUEBA DE ACCESO A LAS ENSEÑANZAS UNIVERSITARIAS OFICIALES DE GRADO 2016

APLICACIÓN WEB PARA LA GESTIÓN DEL DOCUMENTO DE ACTIVIDADES Y PLAN DE INVESTIGACIÓN DE DOCTORADO

TEORÍA DE AUTÓMATAS Y LENGUAJES FORMALES TRABAJO DE PRÁCTICAS. Convocatoria de junio de 2013

Ordenador local + Servidor Remoto

1. Introducción Generalidades Configuración del Equipo Instalación de Java... 3

SISTEMA DE INFORMACIÓN PARA COMERCIOS: SIC

Manual de la aplicación informática Portafolio para Doctorandos

Prácticas con VISUAL-CORE. Sesión práctica 0: Instrucciones de instalación del programa VISUAL-CORE

Los pasos a seguir para cumplimentar la solicitud son los siguientes: A continuación, se detallarán cada uno de estos apartados.

Web Privada. Documentación para el cliente. Pág. 1

PROYECTO FINAL DE CARRERA Manual de Usuario.

LEX. Las definiciones y subrutinas son opcionales. El segundo %% es opcional pero el primer %% indica el comienzo de las reglas.

- MANUAL DE USUARIO DE LA PLATAFORMA DE EDICION DE PROYECTOS DE LA XERENCIA MUNICIPAL DE URBANISMO DE VIGO -

Manual del administrador

Facturación electrónica de Primas

Procesos Fin de Ejercicio Contabilidad

FICHERO DE AYUDA DEL PROGRAMA MULTIREDLOTO

MANUALES DE USO DE CENGAGE: Usuario lector

Procesadores de Lenguaje

Solicitudes MINECO. Configuración del equipo para Firma y Registro de Solicitud IMV

CONSIDERACIONES GENERALES DEL FUNCIONAMIENTO DEL PROGRAMA

FORMATO CONDICIONAL Y FORMATO PERSONALIZADO.

Versión 1.0. Manual del Usuario Proveedor

Manual de usuario Clientes. ExpandIT Internet Shop

Programación. Práctica Final

FCS03-3 Manual de Usuario ED. 2 MANUAL DE USUARIO

Se abrirá un cuadro de diálogo para que escojas el tipo de gráfico que quieres mostrar. Selecciona uno y pulsa Aceptar.

Manual de usuario de configuración de Navegadores para Sede Electrónica del SEPE

MANUAL DEL USUARIO PARA FIRMAR DOCUMENTOS EN EXCEL /.XLS

PLANTILLAS. Para utilizar nuestra platilla debemos:

AUTÓMATAS DE PILA Y LENGUAJES INDEPENDIENTES DEL CONTEXTO

LABORATORIO DE PROCESADORES DE LENGUAJE Curso: Práctica 2: Analizador léxico/sintáctico/semántico con Flex y Bison

ACTEON Manual de Usuario

Operaciones básicas con hojas de cálculo

Para obtener más información sobre esta función, haga clic en un tema:

ESCUELA POLITÉCNICA SUPERIOR PRÁCTICA 2: EXPRESIONES, PRINTF Y SCANF

En esta lección vamos a ver más utilidades y opciones sobre la

OFICINA DE REGISTRO VIRTUAL DE ENTIDADES LOCALES

GRAMATICAS LIBRES DEL CONTEXTO

Problemática con la actualización de Java 7 update 45

Cómo instalar Lync? Acerca de la instalación

Elementos esenciales de Power- Point

Sistema de Liquidación Directa. Servicio de Solicitud de Borradores On-line. Subdirección General de Afiliación, Cotización y Gestión del Sistema RED

Servicio de Informática Vicerrectorado de Tecnologías de la Información y la Comunicación

MANUAL DE INICIO DE CURSO EN PLATAFORMA E-LEARNING

Tema: Autómata de Pila

ESPIRAL MORFOSINTAXIS Consuelo Belloch Ortí Unidad de Tecnología Educativa. Universidad de Valencia

Elementos esenciales de Word

CANTABRIA GOBIERNO DE

Actividad Teclado Es una actividad que nos permite utilizar un teclado en la pantalla. Ubicación

Manual De Informes de Profesores (Edición: Profesores)

Tema 1. Introducción a OpenOffice Writer

AUTOMATIZACIÓN DE TAREAS REPETITIVAS MEDIANTE GRABACIÓN DE MACROS

Manual de Usuario Webmail Horde

Diseño Web Avanzado con HTML5 y CSS3

Validación De Certificados - Autoridad De Registro 01/ Configuraciones Previas:

Práctica 3: Monitoreo y Depuración de Programas

Introducción al PowerPoint

Nuevo programa de ayuda IEET

BANCO CENTRAL DEL ECUADOR ENTIDAD DE CERTIFICACIÓN DE INFORMACIÓN

Qué es un Procesador de textos? Iniciar Word. Microsoft Word Microsoft Office 2010

Instrucciones para la actualización del sistema GreenStar (Actualizado en Agosto de 2005)

Manual de Usuario de inventarios

Evaluación 1: Entorno y primeros pasos

Trabajar con diapositivas

Guía de uso del programa AVR-Studio

MANUAL DE USUARIO. Sistema CLASS Profesores

Equipamiento ADSL» Inalámbrico. Adaptador USB PAUTAS PARA LA VERIFICACION TCP/IP

Sistema Nacional de Publicidad de Subvenciones

MANUAL DE USUARIO. Renovación de certificados

La Lupa Violeta Manual de Usuario

POWER POINT Tema 1. Para salir de PowerPoint (suponiendo que se tiene abierto) puede:

MANUAL DE PROGRAMACIÓN PARA BASES DE DATOS 1.0 MySQL

Declaración Anual de Operaciones con Terceras Personas - Modelo 347 en Retailer

Elaboración de Documentos en Procesadores de Textos

Requisitos Técnicos. net cash

Régimen de Sinceramiento Fiscal. Cómo incorporo mi deuda a la moratoria de la Ley ?

[Informes Activos-Manual de Usuario]

Manual de Operación. Módulo de convenios del SIEM

Procesadores de Lenguaje

@Firma. Compatibilidad en Windows 7. Versión: v01r03 Fecha: 02/04/2014

@Firma. Compatibilidad en Windows 7. Versión: v01r04 Fecha: 24/07/2014

CONSEJERIA DE HACIENDA Y ADMINISTRACIÓN PÚBLICA Dirección General de Patrimonio

Actualización de versión en red descargada de internet

EA Connector for Jira - Guía de Usuario

Transcripción:

Software para la Enseñanza de las Fases de Análisis Léxico y Análisis Sintáctico en Procesadores de Lenguajes Manual de usuario Realizado por: José Francisco Jódar Reyes Dirigido por: Jorge Revelles Moreno Dpto. de Lenguajes y Sistemas Informáticos E.T.S. Ingeniería Informática Universidad de Granada

Manual de usuario MANUAL DE USUARIO Introducción 1 Manual de Instalación 1 Opciones Generales 1 Análisis Léxico 4 Generar Automata 5 Ver Automata 6 Analizar cadena 6 Análisis Sintáctico 9 Transformaciones Gramaticales 10 Generar Analizador Sintáctico 11 Ver Analizador Sintáctico 12 Analizar Texto 13 Método Descendente LL1 14 Método Ascendente Reduce/Desplaza 15 Método Ascendente por Precedencia de Operador 16 Método Ascendente por Precedencia Simple 17 Método Ascendente LR 18 Limitaciones 20 Proyecto Informático 2003/2004

Software para la Enseñanza de las Fases de Análisis Léxico y Análisis Sintáctico en Procesadores de Lenguajes Proyecto Informático 2003/2004

Manual de usuario Introducción Esta aplicación ha sido desarrollada como herramienta para la enseñanza de ciertas técnicas de análisis léxico y sintáctico en la asignatura Procesadores de Lenguajes, impartida a la titulación de Ingeniería Informática por el Departamento de Lenguajes y Sistemas Informáticos de la Universidad de Granada. Debido a esta característica, es necesario tener unas ciertas nociones esta materia, para poder aprovechar las utilidades de este software. El propósito de éste manual es ofrecer una ayuda al futuro usuario de la aplicación. En él se exponen todas las posibilidades que ofrece la aplicación así como los pasos que hay que ejecutar para poder llevarlas a cabo. Manual de Instalación No es necesaria una instalación previa de software para poder ejecutar la aplicación. Únicamente es necesario tener instalado previamente en la máquina en la que se utilice el software la Maquina Virtual Java. El correcto funcionamiento del software ha sido probado con las versiones JDK 1.3.1 y JDK 1.4 Disponiendo de la maquina virtual, únicamente habrá que lanzar el programa ejecutando la línea: java jar Sefalas.jar sefalas.sefalas Opciones generales Tras haber lanzado el programa, el usuario tendrá a la vista la ventana principal del programa: Proyecto Informático 2003/2004 1

Software para la Enseñanza de las Fases de Análisis Léxico y Análisis Sintáctico en Procesadores de Lenguajes Una vez lanzado, podrá inmediatamente empezar a trabajar con alguna gramática o especificación LEX. Además, existe la opción de cambiar la fuente de texto con la que trabajar. Para eso, existe el menú Opciones -> Fuente: Al pulsar este menú, se muestra un diálogo para elegir la fuente, el tamaño, etc Cuando el usuario esté trabajando con una gramatica que haya sido validada, tendrá disponible otra opción en el menú Opciones: Esta opción permitirá ver las producciones en forma compacta o no, es decir, agrupadas todas aquellas que tengan el mismo Simbolo no terminal en su parte izquierda: 2 Proyecto Informático 2003/2004

Manual de usuario Forma compacta Forma no compacta La última opción a comentar antes de pasar al análisis léxico, es el menú Ayuda -> Acerca de, que muestra el siguiente diálogo: Proyecto Informático 2003/2004 3

Software para la Enseñanza de las Fases de Análisis Léxico y Análisis Sintáctico en Procesadores de Lenguajes Análisis Léxico Lo primero que se debe hacer para poder trabajar con las herramientas de análisis léxico, es introducir una especificación de analizador léxico con la sintaxis que utiliza LEX. Tras haberla introducido, se deberá validar la especificación, utilizando el menú EspecificaciónLEX -> Validar El resto de opciones de este menú son: Nueva: Abrir: Guardar: Cerrar: Editar: Validar: Cierra la especificación actual, y deja el sistema listo para introducir una nueva. Muestra un diálogo para abrir un fichero con una especificación LEX. Muestra un diálogo para guardar la especificación LEX en un fichero. Cierra la especificación actual. Esta opción se habilita una vez validada la especificación. Permite volver a editarla. Comprueba que la especificación introducida es correcta, y deja el sistema listo para comenzar a trabajar con ella. Descartar cambios: Esta opción se habilita cuando, después de haber habilitado una especificación, se vuelve a editar. Rechaza cualquier cambio que se hubiera realizado en ella. Salir: Cierra la aplicación. Una vez validada la especificación, se habilita el menú Análisis Léxico: 4 Proyecto Informático 2003/2004

Manual de usuario A continuación, se desarrolla cada una de las opciones: Generar Automata Al seleccionar esta opción, el sistema genera el Autómata Finito asociado a la especificación LEX, y lo muestra en pantalla, de la siguiente manera: En esta tabla, se puede ver los distintos estados del autómata y, frente a cada símbolo del alfabeto, el estado al que evoluciona. Nótese que ciertos estados estan remarcados. Estos estados son los estados finales del autómata, y el estado inicial siempre será el estado 0. Una característica de esta tabla es que, si se sitúa el puntero del ratón encima de un estado final, se muestra un texto emergente indicando el token reconocido por ese estado final: Proyecto Informático 2003/2004 5

Software para la Enseñanza de las Fases de Análisis Léxico y Análisis Sintáctico en Procesadores de Lenguajes Ver Automata Este menú muestra nuevamente el autómata previamente generado. Si no hubiera sido generado, mostraría el siguiente mensaje: Analizar cadena Tras haber generado el autómata, podrá dar comienzo una traza de análisis léxico. Al seleccionar esta opción, el siguiente diálogo es mostrado: En este diálogo, el usuario deberá introducir el texto a ser analizado, y elegir si quiere que el autómata realiza el análisis con un símbolo de anticipación. Al pulsar Aceptar, da comienzo la traza del análisis: 6 Proyecto Informático 2003/2004

Manual de usuario En esta ventana se va mostrando la traza del análisis. En ella se puede ver la entrada (area de texto central), la cadena leída (area de texto izquierda), los tokens reconocidos (area de texto derecha), el estado actual en que se encuentra el autómata, y el autómata. De este modo, el usuario puede, de una forma visual, ver cómo el autómata va evolucionando conforme se realiza el análisis. Para facilitar aún mas el seguimiento del análisis, se resaltan algunos elementos en color. El significado de los colores es el siguiente: Cyan: Verde: Magenta: Rojo: Naranja: Estado actual en que se encuentra el autómata. Símbolo de entrada. Estado al que evolucionará el autómata tras leer el símbolo de entrada. Símbolo de anticipación. Estado al que llegaría a evolucionar el autómata tras leer el símbolo de anticipación. Conforme se va realizando el análisis, se introducen los tokens reconocidos en el area de texto de la derecha: Proyecto Informático 2003/2004 7

Software para la Enseñanza de las Fases de Análisis Léxico y Análisis Sintáctico en Procesadores de Lenguajes 8 Proyecto Informático 2003/2004

Manual de usuario Análisis Sintáctico Lo primero que se debe hacer para poder trabajar con las herramientas de análisis sintáctico, es introducir una gramática con la sintaxis que utiliza YACC. Tras haberla introducido, el usuario deberá validarla, utilizando el menú Gramática -> Validar El resto de opciones de este menú son: Nueva: Abrir: Guardar: Cerrar: Editar: Validar: Cierra la gramática, y deja el sistema listo para introducir una nueva. Muestra un diálogo para abrir un fichero con una gramática. Muestra un diálogo para guardar la gramática en un fichero. Cierra la gramática actual. Esta opción se habilita una vez validada la gramática. Permite volver a editarla. Comprueba que la gramática introducida es correcta, y deja el sistema listo para comenzar a trabajar con ella. Descartar cambios: Esta opción se habilita cuando, después de haber habilitado una gramática, se vuelve a editar. Rechaza cualquier cambio que se hubiera realizado en ella. Salir: Cierra la aplicación. Una vez validada la especificación, se habilita el menú Análisis Léxico: Proyecto Informático 2003/2004 9

Software para la Enseñanza de las Fases de Análisis Léxico y Análisis Sintáctico en Procesadores de Lenguajes La primera opción permite ver los conjuntos de los Iniciales y los Seguidores de los simbolos no terminales de la gramatica: Las tres siguientes permitirán al usuario realizar transformaciones a la gramática, las cuales veremos a continuación, así como el resto de las opciones. Transformaciones Gramaticales Las transformaciones que se pueden realizar a la gramática son tres: Factorización, eliminación de la recursividad a la izquierda y eliminación de la recursividad a la izquierda en mas de un paso. Al realizar cualquiera de estas tres opciones, se abrirá un diálogo en el que el usuario podrá elegir si quiere continuar trabajando con la gramática original, o con la gramática resultado de aplicar la transformación: 10 Proyecto Informático 2003/2004

Manual de usuario Generar Analizador Sintáctico Al seleccionar esta opción, el sistema dará a elegir al usuario qué analizador desea generar entre las distintas posibilidades: Una vez el analizador haya sido generado, se le mostrará al usuario la tabla de análisis. En caso de que hubiera conflictos, el usuario tendría que escoger las opciones apropiadas para resolver los conflictos. Proyecto Informático 2003/2004 11

Software para la Enseñanza de las Fases de Análisis Léxico y Análisis Sintáctico en Procesadores de Lenguajes Ver Analizador Sintáctico Esta opción permite al usuario volver a ver la tabla de análisis de alguno de los analizadores que hayan sido generados. Si no se generó ninguno, muestra el siguiente mensaje: 12 Proyecto Informático 2003/2004

Manual de usuario Analizar Texto En cualquier momento se podrá realizar la traza del análisis sintáctico de un texto, tanto si ha sido generado algún analizador como si no (ya que siempre existirá la opción del análisis Reduce/Desplaza) Al seleccionar el análisis, el siguiente diálogo es mostrado: En este diálogo, el usuario deberá introducir el texto a ser analizado, y elegir el analizador con el que desea realizar la traza. Al pulsar Aceptar, da comienzo la traza del análisis. Cada analizador muestra una ventana distinta para la traza del análisis, y es por eso por lo que se verá a continuación, la ventana de análisis de cada estrategia por separado. Sin embargo, hay una característica común a todos ellos, excepto a la Precedencia de Operador, y es la posibilidad de mostrar el arbol de análisis y poder visualizarlo a medida que se realiza el análisis. Su aspecto es el siguiente: Proyecto Informático 2003/2004 13

Software para la Enseñanza de las Fases de Análisis Léxico y Análisis Sintáctico en Procesadores de Lenguajes El significado de los colores de los nodos es el siguiente: Verde: Gris: Amarillo: Naranja: Rojo: Nodos correspondientes a simbolos terminales de la cadena de entrada Nodos correspondientes a simbolos no terminales que han sido expandidos por una producción Nodos correspondientes a simbolos no terminales que han sido expandidos por una producción a cadena vacía Nodos correspondientes a simbolos no terminales que no han sido expandidos por ninguna producción (Análisis descendente LL1) Nodos correspondientes a simbolos no terminales que han sido expandidos por una producción de error (Análisis ascendente LR) Otra característica común a todos ellos, salvo para el método general reduce/desplaza, es la posibilidad de ver la tabla de análisis mientras se realiza la traza, para que de esa forma el usuario pueda observarla y analizar las distintas técnicas de análisis sintáctico. A continuación, se muestran las trazas de los análisis para los distintos analizadores: Método Descendente LL1 El aspecto de la ventana de análisis para este analizador es el siguiente: En ella se puede observar el símbolo en la cabecera de la pila marcado en cyan, ( primer símbolo de la entrada marcado en verde ( ). ) y el Del mismo modo, al visualizar la tabla de análisis, el usuario podrá ver los símbolos marcados en la tabla, lo que le facilitará el seguimiento de la traza: 14 Proyecto Informático 2003/2004

Manual de usuario Método Ascendente Reduce/Desplaza El aspecto de la ventana de análisis para este analizador es el siguiente: Cuando existan varias opciones para realizar (reducir o desplazar), el usuario deberá escoger una de las posibilidades para poder continuar el análisis: Proyecto Informático 2003/2004 15

Software para la Enseñanza de las Fases de Análisis Léxico y Análisis Sintáctico en Procesadores de Lenguajes Método Ascendente por Precedencia de Operador El aspecto de la ventana de análisis para este analizador es el siguiente: Al igual que en el analizador LL1, y el resto de analizadores, en ella se puede observar el símbolo en la cabecera de la pila marcado en cyan, y el primer símbolo de la entrada marcado en verde. Además, se marca en naranja ( ) la precedencia entre los dos símbolos 16 Proyecto Informático 2003/2004

Manual de usuario Del mismo modo, al visualizar la tabla de análisis, el usuario podrá ver los símbolos, y la precedencia asociada, marcados en la tabla, con los mismos colores, lo que le facilitará el seguimiento de la traza: Método Ascendente por Precedencia Simple El aspecto de la ventana de análisis para este analizador es el siguiente: El significado de los colores para este analizador es el mismo que para el analizador por Precedencia de Operador, pero en Precedencia simple, además, cuando la precedencia sea >, es decir, haya que reducir, se marcará el pivote en rojo, y, junto a la precedencia se incluirá la producción a reducir, cuya parte derecha irá marcada igualmente en rojo: Proyecto Informático 2003/2004 17

Software para la Enseñanza de las Fases de Análisis Léxico y Análisis Sintáctico en Procesadores de Lenguajes Método Ascendente LR Por último, tenemos la estrategia de análisis ascendente LR, lo cual incluye el analizador SLR, LR1 y LALR. El aspecto de las ventanas de análisis para estos analizadores es el siguiente: En ésta se marca en cyan el estado en la cabecera de la pila, y en verde el símbolo de entrada, al igual que en la tabla de análisis: 18 Proyecto Informático 2003/2004

Manual de usuario Además de esto, cuando la siguiente acción a aplicar sea una reducción, aparecen más colores: El objetivo de estos colores es que el usuario pueda ver, además de que la siguiente acción será una reducción, a qué estado evoluciona el análisis. En rojo está marcado, tanto en la ventana como en la tabla de análisis, la parte izquierda de la producción a reducir, y en magenta, el estado que quedará en el tope de la pila tras sacar de la pila los simbolos del pivote a reducir. De esta forma, el usuario podrá observar, en los GOTO de la tabla de análisis, el estado que quedará despues de la reducción en el tope de la pila: Proyecto Informático 2003/2004 19

Software para la Enseñanza de las Fases de Análisis Léxico y Análisis Sintáctico en Procesadores de Lenguajes Limitaciones Como punto final de este manual, hay que indicar que con esta aplicación no es posible analizar cualquier cosa que el usuario quiera. Existen una serie de limitaciones impuestas a las especificaciones léxicas y sintácticas, y a las cadenas de entrada para el análisis sintáctico, que podrían impedir al usuario utilizar alguna especificación que no respete estas limitaciones. Estas limitaciones se enumeran a continuación, junto con posibles alternativas para que el usuario, pese a dichas limitaciones, pueda utilizar sus especificaciones con pequeños cambios que las conviertan en especificaciones equivalentes didácticamente. Especificación LEX No se reconocerán caracteres especiales ( \n, \t, etc..) Es posible introducirlos en las expresiones regulares, pero serán considerados como un conjunto de varios caracteres (p. ej, \n serán los cuatro caracteres, \, n y ), y al analizar una cadena con un carácter especial, ocurrirá un error de análisis. Como alternativa, aconsejamos al usuario, o bien utilizar algún carácter no utilizado en otra expresión regular en sustitución del carácter especial, o bien introducir los cuatro caracteres ( \n, \t, etc..) al introducir la cadena de entrada para el análisis léxico, en lugar del carácter especial (retorno de carro, tabulador, etc ). No se pueden introducir espacios en blanco en las expresiones regulares. Como alternativa, el usuario puede utilizar en sustitución del espacio en blanco algún carácter o caracteres que no sea utilizado en ninguna otra expresión regular (p. ej, _, ) 20 Proyecto Informático 2003/2004

Manual de usuario Análisis Sintáctico No se pueden introducir en la parte derecha de las producciones ninguno de los siguientes caracteres: ;, :, Como alternativa, se pueden defnir simbolos terminales para dichos caracteres (p. ej, puntocoma, dospuntos, barra) y utilizar estos tokens en lugar de dichos caracteres. Al realizar el análisis sintáctico, se deberán separar los tokens de la cadena de entrada por espacios en blanco (o tabuladores, o retornos de carro). Si no se hace así, se considerará como un único símbolo a analizar (p. ej, si introducimos id+id*id, se considerará un único simbolo, en lugar de considerar los tokens id, +, id, *, id ). Proyecto Informático 2003/2004 21