cproc - nova kompakta kompililo por la C-lingvo

Michael Forney, programisto de la swc kunmetita servilo bazita sur la Wayland-protokolo, disvolvas novan cproc-kompililon kiu subtenas la C11-normon kaj kelkajn GNU-etendaĵojn. Por generi optimumigitajn ruleblajn dosierojn, la kompililo uzas la QBE-projekton kiel backend. La kompilkodo estas skribita en C kaj estas distribuita sub la libera ISC-licenco.

Evoluo ankoraŭ ne estas kompleta, sed en la nuna etapo subteno por la plej granda parto de la C11-specifo estis efektivigita. Inter la nuntempe nesubtenataj ecoj estas variablo-longaj tabeloj, antaŭprocesoro, generacio de PIE (sendependa kodo de pozicio) ruleblaj dosieroj kaj komunaj bibliotekoj, enlinia asemblero, la "longa duobla" tipo, la _Thread_local specifilo, volatilaj tipoj, kordaj literaloj kun prefikso. (L"...).

Samtempe, la kapabloj de cproc jam sufiĉas por konstrui sin, mcpp, gcc 4.7, binutils kaj aliajn bazajn aplikojn. La ŝlosila diferenco de aliaj kompililoj estas la fokuso pri kreado de kompakta kaj nekomplika efektivigo. Ekzemple, la backend permesas generi kodon kiu montras 70% de la agado de altnivelaj kompililoj, sed la proponita funkcio estas ene de 10% de grandaj kompililoj. Subtenas konstruadon por arkitekturoj x86_64 kaj aarch64 sur platformoj Linukso kaj FreeBSD kun la bibliotekoj Glibc, bsd libc kaj Musl.

fonto: opennet.ru

Aldoni komenton