cproc - nový kompaktný kompilátor pre jazyk C

Michael Forney, vývojár kompozitného servera swc založeného na protokole Wayland, vyvíja nový kompilátor cproc, ktorý podporuje štandard C11 a niektoré rozšírenia GNU. Na generovanie optimalizovaných spustiteľných súborov kompilátor používa projekt QBE ako backend. Kód kompilátora je napísaný v jazyku C a je distribuovaný pod bezplatnou licenciou ISC.

Vývoj ešte nie je dokončený, ale v súčasnej fáze bola implementovaná podpora pre väčšinu špecifikácií C11. Medzi v súčasnosti nepodporované funkcie patria polia s premenlivou dĺžkou, preprocesor, generovanie spustiteľných súborov PIE (kód nezávislý na pozícii) a zdieľaných knižníc, inline assembler, typ „long double“, špecifikátor _Thread_local, volatile typy, reťazcové literály s predponou (L"...").

Schopnosti cproc sú zároveň dostatočné na to, aby si vytvoril sám seba, mcpp, gcc 4.7, binutils a ďalšie základné aplikácie. Kľúčovým rozdielom od iných kompilátorov je zameranie na vytvorenie kompaktnej a nekomplikovanej implementácie. Napríklad backend vám umožňuje generovať kód, ktorý demonštruje 70 % výkonu pokročilých kompilátorov, ale navrhovaná funkčnosť je v rámci 10 % veľkých kompilátorov. Podporuje vytváranie pre architektúry x86_64 a aarch64 na platformách Linux a FreeBSD s knižnicami Glibc, bsd libc a Musl.

Zdroj: opennet.ru

Pridať komentár