Portable C
Author
Albert FloresPřekladač Portable C, také známý jako pcc nebo někdy pccm , je raný překladač pro programovací jazyk C, který napsal Stephen C. Johnson v Bellových laboratořích v polovině 70. let 20. století. Zčásti je založen na nápadech Alana Snydera z roku 1973.
Byl to jeden z prvních kompilátorů, kde se mohl výstupní kód snadno přizpůsobovat různým počítačovým architekturám. Svůj debut si odbyl ve Version 7 Unix a byl dodáván jako součást BSD az do roku 1994, kdy vyšla verze 4. +more4BSD a byl nahrazen překladačem GCC. Ve své době byl velice rozšířený a to až natolik, že na počátku 80 let byla většina kompilátorů založena právě něm. Anders Magnusson and Peter A Jonsson obnovili vývoj pcc v roce 2007 přepsáním do podporovanějšího C99.
Vlastnosti
Klíčem k úspěchu pcc byly jeho přenositelnost a lepší diagnostické schopnosti. Překladač byl navržen tak, že jen málo z jeho zdrojových souborů bylo závislých na konkrétním stroji. +more Prováděl poměrně robustní kontrolu syntaktických chyb a důkladnější kontrolu platnosti než jeho současníci.
První kompilátor C napsal Dennis Ritchie, který používal rekurzivní-sestupný parser. Naproti tomu Johnsonův pccm je založen na základě yacc parseru a použil obecnější model cílového stroje. +more Oba překladače produkovaly cílově specifický assembler kód, který se shromažďuje k následnému propojení objektů moduly.
Aktuální verze
Nová verze pcc na základě originálu Steva Johnsona, je nyní udržována Andersem Magnussonen. Překladač je poskytována pod BSD licencí a jeho vývoj je financován neziskovou organizaci s názvem BSD Fund.
Tato nová verze byla přidána do NetBSD a OpenBSD v září 2007. Objevovaly se spekulace, že by nakonec mohl nahradit kompilátor gcc v rámci BSD operačních systémů, ale Theo de Raadt tvrdí, že pcc ještě není připraven být náhradou gcc a odstranění gcc není prioritou. +more PCC verze 1. 0 byla nakonec vypuštěna 1. dubna 2011. Tato verze podporuje architektury procesorů x86 a x64 a běží na NetBSD, OpenBSD, FreeBSD, různých distribucích systému Linux a Microsoft Windows. Další vývoj, včetně rozšíření podpory pro více architektur, FORTRAN 77 a C++ stále pokračuje.