Portable C
Překladač Portable C, také známý jako pcc nebo někdy pccm (portable C compiler machine), je raný překladač pro programovací jazyk C, který napsal Stephen C. Johnson v Bellových laboratořích v polovině 70. let 20. století.[1] 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.4BSD 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.[2] Anders Magnusson and Peter A Jonsson obnovili vývoj pcc v roce 2007 přepsáním do podporovanějšího C99.[3] VlastnostiKlíč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. 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. Oba překladače produkovaly cílově specifický assembler kód, který se shromažďuje k následnému propojení objektů moduly. Aktuální verzeNová verze pcc na základě originálu Steva Johnsona, je nyní udržována Andersem Magnussonen.[3] 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.[4] Objevovaly se spekulace, že by nakonec mohl nahradit kompilátor gcc v rámci BSD operačních systémů,[5] ale Theo de Raadt tvrdí, že pcc ještě není připraven být náhradou gcc a odstranění gcc není prioritou.[6] 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.[7] Další vývoj, včetně rozšíření podpory pro více architektur, FORTRAN 77 a C++ stále pokračuje. Reference
|