Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Entrega del compilador con todos los test pasados en el repo local 🤞🏿 #61

Open
wants to merge 121 commits into
base: master
Choose a base branch
from

Conversation

danielorlando97
Copy link

No description provided.

@apiad
Copy link
Member

apiad commented Mar 8, 2022

Evaluación

  • Daniel Orlando Ortiz Pacheco
  • Aldo Veldecia

Requisitos mínimos (3)

  • El proyecto pasa todos los tests
  • El informe existe y explica el uso del compilador y la arquitectura básica

Requisitos intermedios (4)

  • Se implementaron las fases de chequeo semántico de forma separada y utilizando patrones adecuados
  • La arquitectura del compilador está organizada de forma coherente y mantenible

Requisitos extra (5)

  • Se implementaron las fases de generación de código intermedio y código objeto con patrones adecuados
  • Se resolvieron los problemas de representación de objetos en memoria e invocación de métodos virtuales de forma eficiente
  • Se resolvieron los problemas de boxing/unboxing de forma eficiente

Comentarios

  • No entendí cómo resuelven (si lo resuelven) el problema en la instrucción case cuando tienen un objeto de tipo dinámico Int, por ejemplo, que es un valor, y una rama de tipo Object, o sea, si son capaces de manejar el Int por valor en la pila para hacer operaciones aritméticas eficientes, o si todos los tipos son por referencia (lo cuál es muy ineficiente).

Nota final

Evaluación Nota
Final 4

@danielorlando97
Copy link
Author

No profe, todos los tipos son por referencia. En este minuto no se me ocurre solución rápida para ese problema. Y durante el desarrollo no nos percatamos de ese problema 😰. Tenemos margen para resolver el problema?

@jpconsuegra
Copy link
Collaborator

En el informe no encontré cómo manejan Int y Bool como tipos por valor.
Adicionalmente, resuelve en case de forma ineficiente.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants