Front-end Léxico-Sintáctico para un DSL de Reglas Logísticas
Visión general
De qué trata este proyecto.
Implementa el lexer con ANTLR4 o escrito a mano, generando tokens con posición de origen (línea, columna) para mensajes de error. Implementa el parser que produzca un AST tipado siguiendo el patrón Visitor. Cubre al menos los 12 constructos clave (reglas, condiciones anidadas, expresiones aritméticas, llamadas a predicados de dominio). Entrega una suite de 30 tests positivos y 15 negativos, con mensajes de error que indiquen línea y columna. El equipo de plataforma debe poder integrar tu librería como un .jar.
El Briefing
Lo que harás y lo que demostrarás.
Construir el front-end de un compilador de DSL que produzca un AST tipado a partir de una gramática EBNF de 40 producciones, con mensajes de error trazables.
Earning criteria — what you'll demonstrate
- Implementar análisis léxico con manejo de posición de origen
- Construir un parser que produzca un AST navegable con Visitor
- Diseñar mensajes de error útiles para el usuario final
- Empaquetar el front-end de un compilador como librería reutilizable
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 de Software
Construir el front-end de un compilador real para un DSL de negocio enseña parsing, diseño de AST y testing riguroso — músculo básico para cualquier ingeniero de software backend que tarde o temprano construye un DSL interno.
Este proyecto afina
- parsing
- ast-design
- unit-testing
Ingeniero Backend
Integrar un DSL como librería en un backend Java es el patrón que aparece cada vez que un producto crece más allá de las reglas hardcodeadas — un ingeniero backend que sabe hacerlo ahorra al equipo de producto meses de despliegues.
Este proyecto afina
- compiler-frontend
- ast-design
- lexical-analysis