Veröffentlichung von GNU Mes 0.27, einem Toolset für die eigenständige Erstellung von Distributionen

Die Veröffentlichung des GNU Mes 0.27-Toolkits wurde veröffentlicht, das den Bootstrapping-Prozess für GCC ermöglicht und einen geschlossenen Zyklus der Neubauten aus Quelltexten ermöglicht. Dieses Toolkit löst das Problem einer verifiziert erstellten Anfangskomponente des Compilers in Distributionen, indem es die Kette der zyklischen Neubauten durchbricht (für die Erstellung eines Compilers sind ausführbare Dateien eines bereits erstellten Compilers erforderlich, und binäre Builds des Compilers können potenzielle Quellen für versteckte Hintertüren sein, was eine vollständige Garantie der Integrität der Builds aus den Referenzquelltexten ausschließt).

GNU Mes bietet einen selbstlaufenden (self-hosting) Interpreter für die Programmiersprache Scheme, der in C geschrieben ist, sowie einen einfachen Compiler für C (MesCC), der in Scheme geschrieben wurde. Beide Komponenten sind gegenseitig kompilierbar. Der Scheme-Interpreter ermöglicht den Bau des C-Compilers MesCC, der dann zur Erstellung einer abgespeckten Version des Compilers TinyCC (tcc) verwendet werden kann, dessen Funktionen bereits ausreichend sind, um GCC zu kompilieren.

Der Scheme-Interpreter ist äußerst kompakt und umfasst etwa 5000 Zeilen Code für eine einfachste Untermenge der Programmiersprache C. Er kann über den universellen Übersetzer M2-Planet oder einen einfachen C-Compiler, der mit dem selbstbauenden Assembler hex0 erstellt wurde und keine externen Abhängigkeiten benötigt, in eine ausführbare Datei umgewandelt werden. Der Interpreter umfasst einen vollständigen Garbage Collector und stellt eine Bibliothek für dynamisch ladbare Module zur Verfügung. Das Projekt entwickelt zudem die C-Bibliothek Mes C, die ausreichend ist, um glibc 2.2.5, binutils 2.20.1 und gcc 2.95.3 zusammenzustellen, die benötigt werden, um die Guix-Distribution für Plattformen wie i686-linux, x86_64-linux, armhf-linux und aarch64-linux zu implementieren, wobei ausschließlich Quelltexte (Full Source Bootstrap) verwendet werden.

In der neuen Version wurde die Unterstützung für das Starten von Mes in der GNU Hurd-Umgebung wiederhergestellt. Neue Module wurden hinzugefügt: rnrs (bitweise Arithmetik) und srfi (srfi-39). Zur Kompatibilität mit Guile wird das srfi-Modul standardmäßig geladen. Neue Funktionen wurden hinzugefügt: pair-for-each und with-fluids*. Der Compiler MesCC implementiert die Möglichkeit, mit Modulen zur Generierung von Parsern und lexikalischen Analysewerkzeugen für NYACC-Versionen von 0.99.0 bis 1.09.4 zu arbeiten. Die Möglichkeit der Verwendung veralteter Module im Mes-Stil für NYACC und MesCC wurde entfernt.

Quelle: opennet.ru

Kaufen Sie zuverlässiges Hosting für Websites mit DDoS-Schutz, VPS VDS-Servern 🔥 Kaufen Sie zuverlässiges Hosting für Websites mit DDoS-Schutz, VPS VDS-Servern | ProHoster