Durante esta actividad:
Esta actividad promueve las siguientes habilidades, valores y actitudes: habilidad de análisis y síntesis, capacidad de identificar y resolver problemas, y uso eficiente de la informática y las telecomunicaciones.
De manera individual o en equipos de dos personas, desarrollar un traductor en Scala para el lenguaje Brainf*ck. Dicho traductor debe recibir de entrada un programa escrito en Brainf*ck, y debe producir como salida un programa equivalente pero expresado en lenguaje Scala.
A manera de ejemplo, el siguiente código fuente es un traductor de Brainf*ck a lenguaje C, escrito en lenguaje C: bf2c.c. Por otro lado, el programa a desarrollar es un traductor de Branf*ck a Scala, escrito en Scala.
Los nombres de los archivos de entrada y de salida se deben recibir desde la línea de comando.
Para poder realizar pruebas, a continuación se presenta un ejemplo de un programa escrito en Brainf*ck que lee del teclado un dígito d (0 al 9) e imprime una pirámide con d renglones de asteriscos.
Autor: Jose Ivan Ferrer Ruiz ++++++++++>++++++++++++++++++++++++++++++++++++++++++>>>>, ------------------------------------------------ [-<+[<+<+>>-]<[>+<-]<[<.>-]<<.>>>>>]
Usando el
Sistema de Entrega de Tareas Automatizado, entregar un
solo archivo llamado bf2scala.scala
. No se aceptan
tareas a través de correo electrónico ni por otros medios.
IMPORTANTE: El archivo fuente debe contener hasta arriba en un comentario la información personal de los autores (nombre y matrícula). Por ejemplo:
/* ITESM CEM, Junio 4, 2009. Archivo fuente de Scala Actividad: Traductor de Brainf*ck a Scala Autor: Steve Rogers, 449999 */ . . (El resto del código va aquí) .
Fecha límite: Jueves, 4 de junio (todo el día).
Esta actividad será evaluada utilizando los siguientes criterios:
-10 | El programa no contiene en comentarios la información personal de los autores. |
---|---|
10 | El programa no compila. |
DA | El programa es un plagio. |
20-50 | El programa no funciona, pero se puede apreciar que se le dedicó una cierta cantidad de tiempo. |
60-90 | El programa funciona, pero tiene algunos errores menores. |
100 | El programa funciona tal como se solicitó. |