Lenguaje Litle Quilt
Tipo: Interprete
Para este proyecto necesitara el codigo fuente de las funciones coser y rotar ( sew y turn)
Abajo se muestra parte de la gramática del lenguaje en notacion BNF
<QUILT> ::= A | B | turn(<QUILT>) | sew(<QUILT>,<QUILT>)
A y B representan los dos colchas primitivas. Cada colcha primitiva corresponde a un arreglo matricial de 2 × 2 caracteres. girar () y coser () son las operaciones aplicables a los edredones.
La instrucción girar(x) gira la colcha x 90 grados hacia la derecha. La siguiente tabla ilustra los edredones primitivos, así como ejemplos de los efectos de la operación de girar():
En consecuencia, la instrucción coser (x, y) cose la colcha x a la izquierda de la colcha y. Ambos x e y deben tener la misma altura, de lo contrario se generará un error. La siguiente figura representa el resultado de coser (A, girar(B)):
// ||
/+ ||
mientras que coser(girar (coser (B, girar (B))), A) genera un mensaje de error.
Su trabajo es construir un intérprete del lenguaje de Little Quilt.
El lenguaje debe contar tambien con
-Tabla de simbolos HOC3 ( variables , builtins )
-Maquina virtual de pila como la de HOC4
-Decisiones y ciclos HOC5 (AND OR NOT EQ NE GT LT GE LE)
-Ciclos con for
-Funciones y procedimientos ( declaracion , definicion y llamada) HOC6
-Debe soportar recursividad directa e indirecta
-Debe soportar Entrada y salida
Hacer un programa Demo
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 para 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.