Visión general
De qué trata este proyecto.
Recorre el AST tipado con un visitor que emita bytecode JVM clase-por-función. Soporta los tipos primitivos (int, long, double, boolean, String), aritmética, control de flujo (if/while), llamadas a un runtime mínimo y un punto de entrada main. Genera .class files que se ejecutan con java -cp. Demuestra equivalencia: para 20 fórmulas de regresión, el resultado del bytecode debe coincidir con el del intérprete de referencia. Entrega el backend, la suite de equivalencia y benchmarks que comparen contra el intérprete.
El Briefing
Lo que harás y lo que demostrarás.
Generar bytecode JVM equivalente al intérprete de FormulaQL para los 20 programas de regresión, con benchmarks honestos vs el intérprete.
Earning criteria — what you'll demonstrate
- Mapear constructos de alto nivel a instrucciones JVM (iconst, ifeq, invokestatic, etc.)
- Usar ASM para emitir clases bien formadas que pasen el verifier de la JVM
- Medir rendimiento con metodología honesta (warm-up, múltiples runs)
- Documentar los límites de un backend de compilador con precisión
Encaje académico
Dónde encaja esto en tus estudios.
Afina las mismas habilidades que tu titulación espera de ti.
Habilidades
Habilidades que demostrarás.
Cada una aparece en tu credencial verificada.
Carreras
Roles para los que esto te prepara.
Títulos reales. Puentes de habilidades reales. Elige el que más se acerque a tu trayectoria.
Trayectorias profesionales que esto construye
Roles canónicosIngeniero Backend
Generar bytecode JVM eficiente es el tipo de trabajo backend de alto valor que aparece cuando un producto necesita motores de reglas rápidos o evaluadores de expresiones — un ingeniero backend con esta experiencia destaca en entrevistas técnicas.
Este proyecto afina
- code-generation
- jvm-bytecode
- java
Ingeniero de Software
Construir un backend de compilador completo enseña a razonar a nivel de máquina y a medir rendimiento con honestidad — fundamentos que un ingeniero de software aplica al optimizar cualquier hot path.
Este proyecto afina
- compiler-backend
- performance-benchmarking
- code-generation
Arquitecto de Sistemas
Quien ha mapeado constructos de alto nivel a instrucciones de máquina diseña con criterio las capas de abstracción de un sistema completo — base sólida para evolucionar hacia arquitectura de sistemas.
Este proyecto afina
- compiler-backend
- jvm-bytecode
- code-generation