cproc – ein neuer kompakter Compiler für die C-Sprache

Michael Forney, Entwickler des auf dem Wayland-Protokoll basierenden SWC-Verbundservers, entwickelt einen neuen Cproc-Compiler, der den C11-Standard und einige GNU-Erweiterungen unterstützt. Um optimierte ausführbare Dateien zu generieren, verwendet der Compiler das QBE-Projekt als Backend. Der Compilercode ist in C geschrieben und wird unter der kostenlosen ISC-Lizenz vertrieben.

Die Entwicklung ist noch nicht abgeschlossen, aber zum jetzigen Zeitpunkt ist die Unterstützung für den Großteil der C11-Spezifikation implementiert. Zu den derzeit nicht unterstützten Funktionen gehören Arrays variabler Länge, ein Präprozessor, die Generierung ausführbarer PIE-Dateien (positionsunabhängiger Code) und gemeinsam genutzte Bibliotheken, Inline-Assembler, der Typ „Long Double“, der Spezifizierer _Thread_local, flüchtige Typen und Zeichenfolgenliterale mit Präfix (L"..." ).

Gleichzeitig reichen die Fähigkeiten von cproc bereits aus, um sich selbst, mcpp, gcc 4.7, binutils und andere grundlegende Anwendungen zu erstellen. Der Hauptunterschied zu anderen Compilern besteht darin, dass der Fokus auf der Erstellung einer kompakten und unkomplizierten Implementierung liegt. Mit dem Backend können Sie beispielsweise Code generieren, der 70 % der Leistung fortgeschrittener Compiler aufweist, die vorgeschlagene Funktionalität jedoch nur 10 % der Leistung großer Compiler beträgt. Unterstützt die Erstellung von x86_64- und aarch64-Architekturen auf Linux- und FreeBSD-Plattformen mit den Bibliotheken Glibc, bsd libc und Musl.

Source: opennet.ru

Kommentar hinzufügen