Duas semanas depois da notícia de que o compilador livre Clang tornou-se capaz de compilar a si próprio efetivamente (um marco importante no histórico de qualquer compilador), chega a informação de que o DragonEgg também alcançou o mesmo feito.
Ambos (DragonEgg e Clang) fazem parte do bojo do LLVM, uma infra-estrutura de compilação, desenvolvida em C++ e sob uma licença permissiva de software livre, projetada para otimização em tempo de compilação, linkedição e execução de programas em variadas linguagens (originalmente C e C++, mas já expandida para uma série de outras, tais como Objective C, Fortran, Ada, Haskell, bytecode Java, Python, Ruby, ActionScript).
Mas ao contrário do Clang, que é um compilador independente, o DragonEgg é uma forma de substituir a otimização e a geração de código do GCC pela do LLVM, por meio de um plugin.
Trata-se de um projeto em andamento que ainda tem muitos marcos e barreiras a ultrapassar antes de ser usado em produção, mas a notícia de que ele já é capaz de compilar a si próprio completamente certamente é um idicativo do seu progresso.
E, no caso de uma infra-estrutura híbrida como é o caso (gcc + llvm + dragonegg), vale lembrar que o “compilar a si mesmo” neste caso significa usar o DragonEgg para compilar os 3 componentes (gcc, llvm e dragonegg), e aí usar os executáveis resultantes para compilar os 3 novamente, e chegar mais uma vez a executáveis corretos.
0sem comentários ainda