cproc - um novo compilador compacto para a linguagem C

Michael Forney, desenvolvedor do servidor composto swc baseado no protocolo Wayland, está desenvolvendo um novo compilador cproc que suporta o padrão C11 e algumas extensões GNU. Para gerar arquivos executáveis ​​otimizados, o compilador usa o projeto QBE como backend. O código do compilador é escrito em C e distribuído sob a licença ISC gratuita.

O desenvolvimento ainda não está completo, mas no estágio atual o suporte para a maior parte da especificação C11 foi implementado. Entre os recursos atualmente não suportados estão arrays de comprimento variável, um pré-processador, geração de arquivos executáveis ​​​​PIE (código independente de posição) e bibliotecas compartilhadas, assembler inline, o tipo “long double”, o especificador _Thread_local, tipos voláteis, literais de string com um prefixo (EU"..." ).

Ao mesmo tempo, os recursos do cproc já são suficientes para construir ele mesmo, mcpp, gcc 4.7, binutils e outros aplicativos básicos. A principal diferença de outros compiladores é o foco na criação de uma implementação compacta e descomplicada. Por exemplo, o backend permite gerar código que demonstra 70% do desempenho de compiladores avançados, mas a funcionalidade proposta está dentro de 10% dos grandes compiladores. Suporta construção para arquiteturas x86_64 e aarch64 em plataformas Linux e FreeBSD com as bibliotecas Glibc, bsd libc e Musl.

Fonte: opennet.ru

Adicionar um comentário