De release van GNU Mes 0.27 is uitgekomen, die het bootstrapping-proces voor GCC mogelijk maakt en een gesloten cyclus van hercompilatie uit de bronbestanden mogelijk maakt. Dit hulpmiddel lost het probleem op van de geverifieerde initiƫle compilatie van de compiler in distributies, waarbij de keten van cyclische hercompilatie wordt doorbroken (om de compiler te bouwen zijn uitvoerbare bestanden van een al gebouwde compiler vereist, en binaire builds van de compiler zijn een potentiƫle bron van verborgen backdoors, wat voorkomt dat de integriteit van builds uit referentie-bronbestanden volledig gegarandeerd kan worden).
In GNU Mes is er een zelfvoorzienende (self-hosting) interpreter voor de Scheme-taal, geschreven in C, en een eenvoudigste compiler voor de C-taal (MesCC), geschreven in Scheme. Beide componenten zijn wederzijds bouwbaar. De Scheme-interpreter maakt het mogelijk om de C-compiler MesCC te bouwen, die op zijn beurt een verkorte versie van de TinyCC (tcc) compiler kan bouwen, waarvan de mogelijkheden al voldoende zijn voor het bouwen van GCC.
De interpreter van de Scheme-taal is zeer compact, omvat ongeveer 5000 regels code op de eenvoudigste subset van de C-taal en kan worden omgezet in een uitvoerbaar bestand met behulp van de universele compiler M2-Planet of de eenvoudigste C-compiler, gebouwd met behulp van de zelfbouwende assembler hex0, die geen externe afhankelijkheden vereist. De interpreter omvat een complete garbage collector en biedt een bibliotheek van laadmodules. Het project ontwikkelt ook de C-bibliotheek Mes C, die voldoende is voor het bouwen van glibc 2.2.5, binutils 2.20.1 en gcc 2.95.3, die nodig zijn voor de implementatie van de Guix-distributie voor de platforms i686-linux, x86_64-linux, armhf-linux en aarch64-linux, uitsluitend met behulp van bronbestanden (Full Source Bootstrap).
In de nieuwe release is de ondersteuning voor het draaien van Mes in de GNU Hurd-omgeving hervat. Nieuwe modules zijn toegevoegd: rnrs (bitwise arithmetic) en srfi (srfi-39). Voor compatibiliteit met Guile wordt de srfi-module standaard geladen. Nieuwe functies zijn toegevoegd: pair-for-each en with-fluids*. In de MesCC-compiler is de mogelijkheid om te werken met modules voor het genereren van parsers en lexicale analyzers NYACC versies van 0.99.0 tot 1.09.4 geĆÆmplementeerd. De mogelijkheid om verouderde modules in mes-stijl voor NYACC en MesCC te gebruiken is verwijderd.
Bron: opennet.ru
