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.

Portable C - překladač
VývojářStephen C. Johnson
Aktuální verze1.1.0 (10. prosince 2014)
Operační systémUnix
Vyvíjeno vC
Typ softwaruPřekladač
LicenceBSD licence
Webhttp://pcc.ludd.ltu.se/
Některá data mohou pocházet z datové položky.

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]

Vlastnosti editovat

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. 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í verze editovat

Nová 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 editovat

  1. Johnson, S.C. A portable compiler: theory and practice [online]. 1978. S. 97–104. Dostupné online. (anglicky) 
  2. Ritchie, Dennis M. The development of the C language [online]. 1993 [cit. 2008-12-30]. S. 201–208. Dostupné v archivu pořízeném dne 2012-04-07. 
  3. a b pcc history [online]. 2010-06-21 [cit. 2012-06-26]. Dostupné online. 
  4. MOERBEEK, Otto. openbsd-cvs. CVS: cvs.openbsd.org: src [online]. 2007-09-15. Dostupné online. 
  5. GCC Compiler Finally Supplanted by PCC? [online]. 2007-09-17 [cit. 2011-12-17]. Dostupné online. 
  6. MATZAN, Jem. More on OpenBSD’s new compiler [online]. 2007-10-15 [cit. 2011-12-17]. Dostupné v archivu pořízeném dne 2012-01-04. 
  7. BSD Fund: pcc fund [online]. 2011-04-01 [cit. 2012-06-26]. Dostupné v archivu pořízeném dne 2009-01-05.