cproc - een nieuwe compacte compiler voor de C-taal

Michael Forney, ontwikkelaar van de swc-composietserver gebaseerd op het Wayland-protocol, ontwikkelt een nieuwe cproc-compiler die de C11-standaard en enkele GNU-extensies ondersteunt. Om geoptimaliseerde uitvoerbare bestanden te genereren, gebruikt de compiler het QBE-project als backend. De compilercode is geschreven in C en wordt verspreid onder de gratis ISC-licentie.

De ontwikkeling is nog niet voltooid, maar in de huidige fase is ondersteuning voor het grootste deel van de C11-specificatie geïmplementeerd. Tot de momenteel niet-ondersteunde functies behoren arrays met variabele lengte, een preprocessor, het genereren van uitvoerbare PIE-bestanden (positie-onafhankelijke code) en gedeelde bibliotheken, inline assembler, het "long double" -type, de _Thread_local-specificatie, vluchtige typen, letterlijke tekenreeksen met een voorvoegsel (L"...").

Tegelijkertijd zijn de mogelijkheden van cproc al voldoende om zichzelf, mcpp, gcc 4.7, binutils en andere basistoepassingen te bouwen. Het belangrijkste verschil met andere compilers is de focus op het creëren van een compacte en ongecompliceerde implementatie. Met de backend kunt u bijvoorbeeld code genereren die 70% van de prestaties van geavanceerde compilers demonstreert, maar de voorgestelde functionaliteit ligt binnen 10% van die van grote compilers. Ondersteunt het bouwen voor x86_64- en aarch64-architecturen op Linux- en FreeBSD-platforms met de Glibc-, bsd libc- en Musl-bibliotheken.

Bron: opennet.ru

Voeg een reactie