UNIVERSIDAD NACIONAL DE SANTIAGO DEL ESTERO

El trabajo consiste en el diseño y desarrollo de un traductor que permita ingresar una Máquina de Turing y una hilera de
154KB Größe 15 Downloads 100 Ansichten
Licenciatura en Sistemas de Información

UNSE – FCEyT

PROGRAMACIÓN II – AÑO 2011 ACTIVIDAD DE RESOLUCIÓN DE PROBLEMAS DEL MUNDO REAL

DISEÑO Y CONSTRUCCIÓN DE UN INTÉRPRETE QUE SIMULE EL FUNCIONAMIENTO DE UNA MÁQUINA DE TURING El trabajo consiste en el diseño y desarrollo de un traductor que permita ingresar una Máquina de Turing y una hilera de entrada, y emita el cálculo de la función o, acepte o rechace la entrada. Se utilizarán generadores automáticos para el análisis léxico y sintáctico y la programación para las operaciones especificadas se realizará en lenguaje C. CONSIGNAS    

Conformar un grupo de trabajo de, a lo sumo, 3 integrantes. Luego de analizar detalladamente la metodología a aplicar y el material anexado solicite a los docentes información adicional y/o consultas. Respete todas y cada una de las actividades consignadas en la metodología. Realice una planificación de tareas a fin de cumplir con la fecha estipulada para la entrega. METODOLOGÍA

a) Estudio de los temas que comprende el trabajo: a.1. Máquina de Turing

b) c) d) e)

f)

g)

 Como reconocedora de lenguajes  Como un procedimiento a.2. Traductores. Etapas de un compilador: analizador lexicográfico, sintáctico, traductor propiamente dicha. a.3. Generadores automáticos: Lex y Yacc (o similares). Especificación del vocabulario Descripción de identificadores, palabras claves, constantes, etc. Elaboración de la gramática y prueba manual de la misma. Analizador lexicográfico: e.1. Expresiones Regulares e.2. Codificación, mediante el empleo del generador automático de analizadores léxicos tipo Lex. e.3. Prueba Analizador sintáctico: f.1. Codificación, mediante el empleo del generador de analizador sintáctico tipo Yacc. f.2. Prueba Traducción propiamente dicha: Codificación de las operaciones del intérprete, en lenguaje C. CARACTERÍSTICAS DEL LENGUAJE

El lenguaje debe contener todas las operaciones descriptas a continuación: 1. Ingreso de la Máquina de Turing: esta operación permitirá el ingreso de: a. Q: conjunto de estados. b. ; alfabeto de entrada. c. : alfabeto de la cinta. d. q0: estado inicial. e. F: conjunto de estados finales. f. : función de transición directa. 2. Ingreso de la hilera de entrada que se almacena en la cinta infinita de la Máquina de Turing. 3. Visualización gráfica (diagrama de transición) de la máquina de Turing.

TALLER 3: CONSTRUCCIÓN DE COMPILADORES_____

________________________________

2

4. Funcionamiento de la máquina de Turing; se ejecuta la misma y se visualizaran con las siguientes opciones (cada una de ellas requiere una sentencia del lenguaje) a. Visualización paso a paso: mostrar gráficamente la máquina, indicando el estado actual, contenido de la cinta y posición actual de la cabeza lectora/grabadora de la cinta y la transición al siguiente estado. Usar comandos para detener la ejecución y para ir avanzando en el funcionamiento. b. Visualización en un solo paso: mostrar el resultado final que dependerá si la máquina de Turing es como Reconocedor de lenguaje o como procedimiento. 5. Operaciones adicionales: requeridas para que el funcionamiento del intérprete sea usado con fines educativos (tipo tutorial). PRESENTACIÓN DEL TRABAJO 1) Informe escrito: que contenga la documentación (apartados a, b, ..., g) de cada una de las etapas de la metodología aplicada. 2) Guía para el usuario 3) CD: con 3 de las siguientes carpetas: a. Fuentes b. Ejecutable EVALUACIÓN El puntaje máximo es de 100 puntos. Si bien el trabajo puede ser realizado y presentado en forma grupal, la calificación final es individual. El puntaje mínimo para aprobar es de cincuenta (50) puntos. Si se obtiene como mínimo sesenta (60) puntos se puede acceder al Sistema de Promoción con Coloquio Final. En este sistema se requiere un promedio, entre todos los parciales y talleres de 70 puntos como mínimo. La calificación final depende del promedio de las calificaciones parciales obtenidas por: 1) Entrega del informe en tiempo y formal (presentación y contenido del informe). 2) Evaluación programa en lenguaje C. 3) Funcionamiento del intérprete: en forma individual o grupal se realizará una demostración del funcionamiento del intérprete por pantalla. Durante esta sesión de evaluación, los docentes utilizarán un conjunto de datos de prueba para evaluar el funcionamiento del programa. Se analizará si el intérprete: a) Funciona correctamente para cada operación. b) Detecta errores y emite los mensajes correspondientes. c) Es fácil de usar. d) Tiene los diseños de pantalla adecuados y utiliza recursos gráficos adecuados. 4) Coloquio individual: En forma alternativa con la demostración por pantalla se efectuará un coloquio individual en el que se aclararán todas las dudas sobre el trabajo así como los conocimientos generales del alumno sobre el tema. EVALUACIÓN RECUPERATORIA En caso de no obtener el puntaje requerido en cada uno de los apartados precedentes se otorgará una sola alternativa recuperatoria, sobre temas y modalidad a determinar por los docentes de la cátedra. PRESENTACIÓN EN CONGRESO Se seleccionará el mejor trabajo para su presentación en un Congreso nacional como trabajos estudiantiles y producción de la cátedra. Los aspirantes a esta selección deben obligatoriamente desarrollar el apartado 5 de Características del lenguaje.