cproc - nový kompaktní kompilátor pro jazyk C

Michael Forney, vývojář kompozitního serveru swc založeného na protokolu Wayland, vyvíjí nový kompilátor cproc, který podporuje standard C11 a některá rozšíření GNU. Ke generování optimalizovaných spustitelných souborů používá kompilátor jako backend projekt QBE. Kód kompilátoru je napsán v jazyce C a je distribuován pod bezplatnou licencí ISC.

Vývoj ještě není dokončen, ale v současné fázi byla implementována podpora většiny specifikace C11. Mezi aktuálně nepodporované funkce patří pole s proměnnou délkou, preprocesor, generování spustitelných souborů a sdílených knihoven PIE (kód nezávislý na pozici), inline assembler, typ „long double“, specifikátor _Thread_local, volatile typy, řetězcové literály s předponou (L"...").

Schopnosti cproc jsou přitom již dostatečné pro sestavení sebe sama, mcpp, gcc 4.7, binutils a dalších základních aplikací. Klíčovým rozdílem od ostatních kompilátorů je zaměření na vytvoření kompaktní a nekomplikované implementace. Backend vám například umožňuje generovat kód, který demonstruje 70 % výkonu pokročilých kompilátorů, ale navrhovaná funkčnost je v rámci 10 % velkých kompilátorů. Podporuje vytváření pro architektury x86_64 a aarch64 na platformách Linux a FreeBSD s knihovnami Glibc, bsd libc a Musl.

Zdroj: opennet.ru

Přidat komentář