Vydanie GNU Mes 0.27, nástroja pre samostatnú kompiláciu distribúcií

Bola publikovaná verzia nástroja GNU Mes 0.27, ktorá zabezpečuje proces bootstrappingu pre GCC a umožňuje dosiahnuť uzavretý cyklus prekompilácie z pôvodných textov. Nástroj rieši úlohu overenej počiatočnej kompilácie prekladača v distribúciách, pričom prerušuje reťazec cyklickej prekompilácie (na skompilovanie prekladača sú potrebné spustiteľné súbory už skompilovaného prekladača, pričom binárne zostavy prekladača sú potenciálnym zdrojom skrytých zadných vrátok, čo neumožňuje úplne zaručiť integritu zostáv z referenčných pôvodných textov).

V GNU Mes je navrhnutý samostatný interpret pre jazyk Scheme, napísaný v jazyku C, a najjednoduchší kompilátor pre jazyk C (MesCC), napísaný v jazyku Scheme. Obe komponenty sú vzájomne zostaviteľné. Interpret Scheme umožňuje zostaviť C-kompilátor MesCC, ktorý potom umožňuje zostaviť obmedzenú verziu kompilátora TinyCC (tcc), ktorého schopnosti sú už dostatočné na zostavenie GCC.

Interpret jazyka Scheme je veľmi kompaktný a zaberá približne 5000 riadkov kódu v najjednoduchšom podmnožine jazyka C, pričom môže byť pretransformovaný na spustiteľný súbor pomocou univerzálneho prekladača M2-Planet alebo najjednoduchšieho C-kompilátora zostaveného pomocou samoukúceho assembleru hex0, ktorý nevyžaduje vonkajšie závislosti. Tento interpreter obsahuje plnohodnotný garbage collector a poskytuje knižnicu načítateľných modulov. Projekt tiež vyvíja C-knižnicu Mes C, ktorá je dostatočná na zostavenie glibc 2.2.5, binutils 2.20.1 a gcc 2.95.3, ktoré sú potrebné na nasadenie distribúcie Guix pre platformy i686-linux, x86_64-linux, armhf-linux a aarch64-linux, použijúc len zdrojové texty (Full Source Bootstrap).

V novej verzii bola obnovená podpora spustenia Mes v prostredí GNU Hurd. Pridali sa nové moduly: rnrs (bitová aritmetika) a srfi (srfi-39). Pre kompatibilitu s Guile sa modul srfi načítava predvolene. Pridali sa nové funkcie: pair-for-each a with-fluids*. V prekladači MesCC bola implementovaná možnosť práce s modulmi na generovanie parserov a lexikálnych analyzátorov NYACC verzií od 0.99.0 do 1.09.4. Bolo odstránené povolenie používať zastarané moduly v štýle mes pre NYACC a MesCC.

Zdroj: opennet.ru

Kúpte si spoľahlivý hosting pre webové stránky s ochranou proti DDoS, VPS VDS servery 🔥 Kúpte si spoľahlivý hosting pre webové stránky s ochranou proti DDoS, VPS VDS servery | ProHoster