Compilador de Rosamaría Martínez y Adrián García
Podrás encontrar la documentación en este archivo El manual de usuario se encuentra aquí
Lo primero, es abrir una terminal y clonar el repositorio escribiendo:
git clone https://github.com/EkipoAlfaBuenaOndaDinamitaEscuadronRana/Man_I_Love_Frogs.git
o en caso de querer clonarlo con ssh puedes usar:
git clone [email protected]:EkipoAlfaBuenaOndaDinamitaEscuadronRana/Man_I_Love_Frogs.git
Posteriormente, es necesario tener instalado python en tu maquina. Puedes instalarlo aquí.
Para correr el proyecto, hay que usar el comando:
python3 super_compi.py
Si un desarrollador desea contribuir a esta iniciativa, podrá hacerlo creando un Pull Request en el cual deberá de colocar el siguiente formato en la descripción.
[SuperCompi-<# de tarea en trello>](https://trello.com/c/r8XnpNS5/<#-nombre-de-tarea>)
## Descripción
Breve descripción de lo que la tarea hace
## Checklist
* [ ] El código funciona
* [ ] Se añadieron pruebas
* [ ] Las pruebas pasan
* [ ] El código pasó por el estilizador de código
Una vez terminada la tarea realizada, el resto del equipo aprovará sus cambios y si se considera útil, se mergeará al proyecto
Para correr las pruebas unitarias, es necesario usar el comando
python3 -m unittest compilador/tests/unit_tests.py
Para este proyecto, usamos Black como estilizador de código. Cada vez que se mande un Pull Request a revisión, es importante correr alguno de los siguietes dos comandos para poder hacer el merge del PR.
black .
python3 -m black .
- Gramatica
- Expresiones regulares
- Diagramas descriptivos del lenguaje
- Lexer
- Parser
- Directorio de Funciones
- Tablas de Variables
- Tabla de Consideraciones Semánticas
- Tabla de Consideraciones Semánticas (programada)
- Manejo de expresiones
- Pruebas Unitarias
- Refactorización de código
- Manejo de expresiones (con correcciones)
- Solucion de bugs relacionados con parser
- Asignacion de variables
- Tabla de variables funcional
- Uso de operadores comparativos en expresiones aritmeticas
- Consideraciones semanticas implementadas
- Game engine
- Quadruplos hacen asignaciones
- Se instauró un code styler
- Expresiones aritmeticas con tipos
- Quadruplos hacen estatus no lineales, funciones y metodos de objetos
- Se hace type checking de toda expresion
- Se empieza la alocación de memoria y el desarrollo de la vm
- Refactorización de jerarquia de archivos