CompCert

Aktuální verze stránky ještě nebyla zkontrolována zkušenými přispěvateli a může se výrazně lišit od verze recenzované 2. ledna 2022; kontroly vyžadují 2 úpravy .
CompCert
Typ Kompilátor
Autor Xavier Leroy , INRIA
Zapsáno v Caml _ _
První vydání 3. dubna 2008
Hardwarová platforma Multiplatformní software
Nejnovější verze
Licence zdarma pro nekomerční použití [1] ; komerční licence od AbsInt
webová stránka compcert.inria.fr

CompCert je projekt na vytvoření oficiálně ověřených kompilátorů. V rámci projektu byl vyvinut kompilátor CompCert C pro jazyk C (normy ISO C90 / ANSI C s některými drobnými omezeními a samostatnými rozšířeními inspirovanými následujícími normami) a byl kompletně napsán a předveden ověřovací systém Coq . Hlavním vývojářem je Xavier Leroy . Tento kompilátor má strojovou kontrolu, zda se vygenerovaný kód chová stejně jako zdrojový kód. Kompilátor umožňuje generovat strojový kód pro architektury procesorů PowerPC , ARM a x86 .

Motivace

Protože kompilátory jsou velmi složitý software, často trpí spoustou chyb [3] . Nemohou například generovat kód, který by odpovídal zdrojovému kódu. Tyto chyby mohou vést k velmi vážným následkům v kritických oblastech. Cílem CompCert je tedy vytvořit formálně ověřený překladač s matematickými zárukami.

Implementace

Kód generovaný CompCertem je asi dvakrát rychlejší než GCC generovaný bez optimalizace a o něco pomalejší než generovaný s vyššími úrovněmi optimalizace. [čtyři]

Viz také

Poznámky

  1. Archivovaná kopie . Získáno 12. prosince 2016. Archivováno z originálu 13. srpna 2011.
  2. https://github.com/AbsInt/CompCert/releases/tag/v3.11
  3. Archivovaná kopie . Získáno 12. prosince 2016. Archivováno z originálu 6. července 2017.
  4. CompCert – kompilátor CompCert C. Datum přístupu: 12. prosince 2016. Archivováno z originálu 3. prosince 2015.

Odkazy