Diseño de IR Intermedia para un Lenguaje de Consultas Geoespacial
Visión general
De qué trata este proyecto.
Diseña una IR intermedia tipo árbol de operadores relacionales extendido con primitivas geoespaciales (Filter, Project, Join, GeoIntersect, GeoBuffer, etc.). Documenta la sintaxis textual + la representación en memoria + el contrato semántico de cada operador. Refactoriza el pipeline para que AST → IR sea una pasada y IR → backend sea otra (PostGIS + in-memory). Demuestra equivalencia con las 18 consultas de regresión del repo. Entrega especificación de la IR, código de la pasada AST→IR y dos generadores IR→backend.
El Briefing
Lo que harás y lo que demostrarás.
Diseñar e implementar una IR intermedia geoespacial que reemplace la traducción directa AST→backend manteniendo equivalencia con las 18 consultas de regresión.
Earning criteria — what you'll demonstrate
- Diseñar una IR de compilador que sirva a múltiples backends
- Documentar contratos semánticos de operadores con precisión
- Refactorizar un compilador sin romper su comportamiento observable
- Razonar sobre el tradeoff entre IR plana (lista) y árbol de operadores
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ónicosArquitecto de Sistemas
Diseñar una IR que sirva a dos backends sin duplicar lógica es exactamente el tipo de decisión de arquitectura que define a un arquitecto de sistemas — un reto que ejercita ese músculo con tradeoffs reales.
Este proyecto afina
- ir-design
- compiler-architecture
- code-generation
Ingeniero Backend
Refactorizar un compilador sin romper sus 18 tests de regresión es el mismo músculo que un ingeniero backend usa al refactorizar un servicio crítico — la disciplina de tests-primero se traslada uno-a-uno.
Este proyecto afina
- compiler-architecture
- ast-traversal
- python