cproc - isang bagong compact compiler para sa wikang C

Si Michael Forney, developer ng swc composite server batay sa Wayland protocol, ay bumubuo ng bagong cproc compiler na sumusuporta sa C11 standard at ilang GNU extension. Upang makabuo ng mga na-optimize na executable na file, ginagamit ng compiler ang proyekto ng QBE bilang backend. Ang compiler code ay nakasulat sa C at ipinamamahagi sa ilalim ng libreng lisensya ng ISC.

Ang pag-unlad ay hindi pa kumpleto, ngunit sa kasalukuyang yugto ng suporta para sa karamihan ng mga detalye ng C11 ay ipinatupad. Kabilang sa mga kasalukuyang hindi sinusuportahang feature ay ang mga variable-length array, isang preprocessor, pagbuo ng PIE (position independent code) executable file at shared library, inline assembler, ang "long double" na uri, ang _Thread_local specifier, volatile na uri, string literal na may prefix (L"..." ).

Kasabay nito, ang mga kakayahan ng cproc ay sapat na upang bumuo ng sarili nito, mcpp, gcc 4.7, binutils at iba pang mga pangunahing aplikasyon. Ang pangunahing pagkakaiba mula sa iba pang mga compiler ay ang pagtuon sa paglikha ng isang compact at hindi kumplikadong pagpapatupad. Halimbawa, pinapayagan ka ng backend na bumuo ng code na nagpapakita ng 70% ng pagganap ng mga advanced na compiler, ngunit ang iminungkahing functionality ay nasa loob ng 10% ng malalaking compiler. Sinusuportahan ang pagbuo para sa x86_64 at aarch64 na mga arkitektura sa Linux at FreeBSD na mga platform gamit ang mga aklatan ng Glibc, bsd libc at Musl.

Pinagmulan: opennet.ru

Magdagdag ng komento