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.
Vývojář | Stephen C. Johnson |
---|---|
Aktuální verze | 1.1.0 (10. prosince 2014) |
Operační systém | Unix |
Vyvíjeno v | C |
Typ softwaru | Překladač |
Licence | BSD licence |
Web | http://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
editovatKlíč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
editovatNová 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- ↑ Johnson, S.C. A portable compiler: theory and practice [online]. 1978. S. 97–104. Dostupné online. (anglicky)
- ↑ 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.
- ↑ a b pcc history [online]. 2010-06-21 [cit. 2012-06-26]. Dostupné online.
- ↑ MOERBEEK, Otto. openbsd-cvs. CVS: cvs.openbsd.org: src [online]. 2007-09-15. Dostupné online.
- ↑ GCC Compiler Finally Supplanted by PCC? [online]. 2007-09-17 [cit. 2011-12-17]. Dostupné online.
- ↑ 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.
- ↑ BSD Fund: pcc fund [online]. 2011-04-01 [cit. 2012-06-26]. Dostupné v archivu pořízeném dne 2009-01-05.