cproc - novi kompaktni kompajler za C jezik

Michael Forney, programer swc kompozitnog servera baziranog na Wayland protokolu, razvija novi cproc kompajler koji podržava C11 standard i neke GNU ekstenzije. Za generiranje optimiziranih izvršnih datoteka, kompajler koristi QBE projekat kao pozadinu. Kod kompajlera je napisan u C i distribuira se pod besplatnom ISC licencom.

Razvoj još nije završen, ali je u trenutnoj fazi implementirana podrška za većinu C11 specifikacije. Među trenutno nepodržanim funkcijama su nizovi promjenjive dužine, pretprocesor, generiranje izvršnih datoteka PIE (kod neovisnog o položaju) i dijeljene biblioteke, inline asembler, tip “long double”, specifikacija _Thread_local, promjenjivi tipovi, literali nizova s ​​prefiksom (L"..." ).

U isto vrijeme, cproc-ove mogućnosti su već dovoljne da se sam izgradi, mcpp, gcc 4.7, binutils i druge osnovne aplikacije. Ključna razlika od drugih kompajlera je fokus na kreiranju kompaktne i nekomplicirane implementacije. Na primjer, backend vam omogućava da generišete kod koji pokazuje 70% performansi naprednih kompajlera, ali predložena funkcionalnost je unutar 10% velikih kompajlera. Podržava izgradnju za x86_64 i aarch64 arhitekture na Linux i FreeBSD platformama sa Glibc, bsd libc i Musl bibliotekama.

izvor: opennet.ru

Dodajte komentar