Go to file
fsandalinas 9544c83f5a Mil y un bug fixes y un pong semi funcional :) 2022-10-03 01:51:14 -03:00
cancionero CAN: Inicio trabajo en cancionero a ver que les parece 2022-09-14 19:17:32 -03:00
prgms_src Mil y un bug fixes y un pong semi funcional :) 2022-10-03 01:51:14 -03:00
toybox Mil y un bug fixes y un pong semi funcional :) 2022-10-03 01:51:14 -03:00
Readme.md Actualice el readme 2022-09-07 16:54:28 -03:00
progress Init commit 2022-08-05 21:06:15 -03:00

Readme.md

Buenas!

Bienvenides a toyboxica!

Una vm interactiva parecida a una caja de juguetes :)

Componentes

VM

La vm es el componente "principal". Se encarga de leer una memoria y ejecutar el programa contenido. Esta casi que hecha.

Writer

Writer es el ensamblador. Todavia falta que traduzca labels... ESTO ES CRUCIAL. Si alguien quiere dar una mano estaria mas que apreciado esto me da fiaca.

Reader

Reader lee una memoria e intenta adivinar que era cada cosa.

Utils

Cosas que los programas van necesitando como la definicion de tokens y parecido

Cancionero

Cancionero es el compilador. Toma un archivo escrito en YupanquiLang y lo traduce a toybox-assembly para que despues writer lo pueda utilizar. Podriamos hacer algo medio C-like o medio BASIC like... La idea es usar SLY para facilitarlo.

Como usarlo:

La vm lee un programa desde la entrada estandar y despues lo ejecuta. Writer lee un programa escrito en assembly y lo pasa a bytecode. Imaginemos que tenemos un programa "call_tst", para correrlo hariamos: cat call_tst | ./writer | ./main

La idea es que todo funcione por pipes. Una vez tengamos "cancionero" hecho el modo de uso seria: cat programa | cancionero | writer | main

Cosas por hacer:

  • Terminar el ensamblador
  • Armar un repo para cancionero (compilador)
  • Agregar manejo de punteros a la VM
  • Dar feedback de que les parece lo existente!
  • Armar funciones de test de verlo necesario
  • Buscar una forma elegante o simple de meter el input

Me gustaria poder charlar estas cosas con cualquiera que vaya a colaborar, por favor sepan que me pueden hablar por telegram o mandar un mail a cualquiera de mis direcciones excepto mi gmail que es puro spam.

Aclaraciones

Si bien ya hay varias cosas hechas no tengo apego a ninguna. Cualquier modificacion drastica puede plantearse sin problema, sea un cambio de lenguaje o cosa rara que quieran hacer. Mi unico requisito es que la VM se mantenga simple.