CGD - Compilador Geral Delégua

Compilador moderno para a linguagem de programação Delégua

Versão 0.0.4

Sobre o CGD

O Compilador Geral Delégua (CGD) é um compilador moderno para a linguagem de programação Delégua. O compilador transpila código Delégua para a linguagem D e em seguida utiliza o LDC (LLVM D Compiler) para gerar executáveis nativos otimizados.

O projeto está em desenvolvimento ativo desde 11 de agosto de 2025, focando em performance e facilidade de uso.

$ ./cgd compilar arquivo.delegua -o meuapp
🔨 Iniciando compilação...
📚 Adicionando funções da biblioteca padrão...
✅ Compilação concluída com sucesso!

Plataformas Suportadas

✓ Linux
✓ macOS
⚠ Windows (em breve)

Arquitetura do Compilador

O processo de compilação segue um pipeline otimizado:

  1. Análise léxica e sintática - Processa código Delégua com análise robusta
  2. Análise semântica - Validações de tipos e escopo com detecção avançada de erros
  3. Geração de código - Transpila para código D otimizado
  4. Compilação nativa - Utiliza LDC para gerar binário final otimizado

Dependências

  • LDC (LLVM D Compiler) para geração do executável final com otimizações LLVM
$ ./cgd transpilar examples/sum.delegua -o sum.d
Transpilação de 'examples/sum.delegua' concluída.
$ cat sum.d
module main;
void main() {
int resultado = sum(60, 9);
escreva("Resultado: ", resultado, "\n");
}
int ret1(int x) {
return x;
}
// ...

Status do Projeto

Em desenvolvimento ativo - Progresso constante com foco na estabilidade

Funcionalidades Implementadas

  • ✓ Lexer completo
  • ✓ Parser básico
  • ✓ Analisador semântico básico
  • ✓ Gerador de código D
  • ✓ Geração do binário
  • ✓ Biblioteca io

Em Desenvolvimento

  • ⚠ Parser completo
  • ⚠ Analisador semântico completo
  • ○ Otimizador avançado
  • ○ Sistema de tratamento de erros
  • ○ Bibliotecas: math, http, json, cripto

Próximos Passos

  • ○ Suporte completo ao Windows
  • ○ Sistema de pacotes
  • ○ Documentação completa

Versões

Esta seção estará disponível após a primeira versão estável.
Acompanhe o desenvolvimento no GitHub para atualizações regulares.

Contribuição

Este projeto está em fase inicial de desenvolvimento. Contribuições serão bem-vindas após a primeira versão estável.

Enquanto isso, você pode acompanhar o progresso e relatar bugs através do repositório GitHub.