Engenharia
CL++
A minha própria linguagem de programação. Desenhei e implementei o compilador do zero, onde programas funcionam como ecossistemas digitais com agentes que cooperam e comunicam por sinais. Melhor nota da turma.
Problema
Na cadeira de Técnicas e Linguagens de Programação do IMPTEL, 11ª classe, o desafio era construir um compilador completo para uma linguagem original. Em vez de fazer mais um dialeto académico, criei uma linguagem que trata programas como ecossistemas digitais onde agentes autónomos cooperam e comunicam.
Arquitetura
Construí o compilador do zero em C++17, com o ciclo completo de análise do código até à execução. Cada etapa foi desenhada e implementada por mim, sem depender de geradores automáticos.
Linguagem
Programas são ecossistemas digitais: entidades com energia e movimento, organizadas em colónias coordenadas, que comunicam entre si por sinais. O conjunto da linguagem inclui expressões, variáveis, controlo de fluxo e estas primitivas de ecossistema.
Exemplo de código
number a = 10;
number b = 20;
signal a + b; // → 30
agent a;
agent b;
number energyA = 50;
number energyB = 80;
signal energyA + energyB; // → 130
Métricas
- CL++: ~1050 linhas C++17 (análise, parser, execução e módulo de ecossistema)
- Lua Minimal+: ~710 linhas C++17
- Build: CMake, C++17, GCC
- Benchmarks: até 3.4x mais rápido que Lua 5.4 em 10M iterações