cproc - un nou compilator compact pentru limbajul C

Michael Forney, dezvoltatorul serverului compozit swc bazat pe protocolul Wayland, dezvoltă un nou compilator cproc care acceptă standardul C11 și unele extensii GNU. Pentru a genera fișiere executabile optimizate, compilatorul folosește proiectul QBE ca backend. Codul compilatorului este scris în C și este distribuit sub licența gratuită ISC.

Dezvoltarea nu este încă finalizată, dar în stadiul actual a fost implementat suportul pentru majoritatea specificațiilor C11. Printre caracteristicile neacceptate în prezent se numără matrice de lungime variabilă, un preprocesor, generarea de fișiere executabile PIE (cod independent de poziție) și biblioteci partajate, asamblator inline, tipul „long double”, specificatorul _Thread_local, tipurile volatile, literali șir cu prefix (L"...").

În același timp, capacitățile cproc sunt deja suficiente pentru a se construi singur, mcpp, gcc 4.7, binutils și alte aplicații de bază. Diferența cheie față de alte compilatoare este concentrarea pe crearea unei implementări compacte și necomplicate. De exemplu, backend-ul vă permite să generați cod care demonstrează 70% din performanța compilatoarelor avansate, dar funcționalitatea propusă este în 10% din compilatoarele mari. Suportă construirea pentru arhitecturi x86_64 și aarch64 pe platformele Linux și FreeBSD cu bibliotecile Glibc, bsd libc și Musl.

Sursa: opennet.ru

Adauga un comentariu