Proyecto Mini-LOGO
Tipo: Interprete
Buscar en internet y descargar el codigo fuente de HOC (High Order Calculator)
Mini-logo ( Tortuga )
Codificar un interprete para un lenguaje imperativo que implemente un subconjunto del lenguaje logo debera tener los comandos basicos :
Avanzar ( Forward abreviacion FD )
Rotar a la izquierda ( Left )
Rotar a la derecha ( Right )
Subir pincel ( pen up )
Bajar pincel ( pen down )
Cambiar Color ( Color R, G , B )
Buscar ejemplos de programas escritos en logo
y ademas los comandos basicos debe implementar
Tabla de simbolos HOC3 ( variables , builtins [ sin , cos, tan , log , exp, sqrt] )
Maquina virtual de pila como la de HOC4
Decisiones y ciclos HOC5
Ciclos con for
Funciones y procedimientos ( declaracion , definicion y llamada) HOC6
Debe soportar recursividad directa e indirecta
Hacer un Demo con dibujos de :
Usando funciones y ciclos
Poligonos 3 a 10 lados
Estrellas: de David y Pentagrama
Espirografo 2 figuras
(ejemplo una rotacion de un cuadrado en angulos de 15 grados 24 veces
y una distinta)
Espiral cuadrada de nivel n
Usando Recursividad
Curva de Hilbert de nivel n ( indirecta)
Curva de Koch ( Copo de nieve ) de nivel n
Arbol de n niveles ( 2 llamadas recursivas )
Regla de nivel n ( 2 llamadas recursivas )
Entregar
Documentacion a entregar
-Comentarios en codigo fuente.
-Manual de usuario impreso minimo 2 paginas y maximo 5 paginas
incluir las pantallas necesarias
-Manual tecnico impreso minimo 5 paginas y maximo 14 paginas.
-Expresiones regulares
-Gramatica
-Mapa de memoria
-Diagrama de clases.
-Dar una explicacion de alto nivel de como se realizo el proyecto e incluir
los fragmentos de codigo mas importantes para complementar dicha
explicacion
Entregar un CD , DVD o Bluray con
-codigo fuente ( no comprimir )
-archivos: extension y (de yacc ) , extension l (de lex ) , de lenguaje c, java, class, jar, imagenes, base de datos y todos aquellos recursos necesarios para compilar y
ejecutar el proyecto
-Manuales
Rotular el CD , DVD o Bluray con la siguiente informacion:
Nombre completo
Grupo
Proyecto de Compiladores
Nombre del Proyecto
Fecha
Materia
Incluir dichos datos en la envoltura del CD y en cada archivo del código fuente como un comentario usando /* */ y en un Acerca de.