www.wikidata.de-de.nina.az
Der Portable C Compiler auch als pcc und pccm portable C compiler machine bekannt ist einer der ersten Compiler fur die Programmiersprache C Er wurde ab Mitte der 1970er Jahre 1 von Stephen C Johnson Angestellter der Bell Labs entwickelt und basiert in Teilen auf Arbeiten von Alan Snyder aus dem Jahre 1973 2 3 Portable C CompilerBasisdatenEntwickler PCC TeamAktuelle Version 1 1 0 10 Dezember 2014 Betriebssystem UNIX OpenBSD NetBSD GNU Linux u a Programmiersprache CKategorie CompilerLizenz BSDpcc Website Inhaltsverzeichnis 1 Geschichte 2 Spatere Entwicklung 3 Literatur 4 Weblinks 5 EinzelnachweiseGeschichte Bearbeitenpcc war fur seine Zeit pragend da er einer der ersten Compiler war die einfach angepasst werden konnten um Maschinencode fur verschiedene Architekturen zu erzeugen Zu Beginn der 1980er basierte die Mehrheit der C Compiler auf pcc 4 die Lebensdauer von pcc war uberaus lang so wurde er 1990 noch mit 4 3BSD Reno ausgeliefert bis schliesslich mit Auslieferung von 4 4BSD auf den GNU C Compiler umgestellt wurde Die wesentlichen Eigenschaften und auch massgeblich fur den Erfolg von pcc sind Plattformunabhangigkeit und gute Moglichkeiten des Debuggens Das massgebliche Design des Compilers wurde so ausgelegt dass nur wenige Teile seiner Quellen maschinenspezifisch waren Er ist sehr unempfindlich gegenuber Syntaxfehlern und erstellt keine ungultigen Programme Er isoliert maschinenspezifische Programmteile die manuell in Assembler des jeweiligen Zieles programmiert werden konnen Bereits der erste Compilerdurchlauf war selbstoptimierend Alle diese Eigenschaften waren zur damaligen Zeit vollig neu der erste C Compiler geschrieben von Dennis Ritchie nutzte rekursiven Abstieg war stark an die Architektur der PDP 11 gebunden und benotigte einen weiteren maschinenspezifischen Durchlauf zur Optimierung des zu erzeugenden Codes Im Gegensatz dazu stand Johnsons Multi Pass Compiler der Speicherzugriffe der erzeugten Programmteile analysierte und Code erzeugte der ein Minimum an Speicherzugriffen aufwies Spatere Entwicklung BearbeitenNoch nach der Jahrtausendwende erlebte pcc eine Art Renaissance Basierend auf den Arbeiten von S C Johnson entwickelt ein Team unter Fuhrung von Anders Magnusson den Compiler weiter und ersetzte dabei einen Grossteil des Codes pcc unterstutzt mittlerweile C99 und steht unter der BSD Lizenz Grossere Aufmerksamkeit fanden diese Bemuhungen damals bei den Entwicklern von OpenBSD die den bisher verwendeten GNU C Compiler vor allem aus Grunden der Qualitatssicherung und lizenzrechtlicher Bedenken ersetzen wollten 5 Literatur BearbeitenStephen C Johnson A portable compiler theory and practice Proceedings of the 5th ACM SIGACT SIGPLAN symposium on Principles of programming languages Tucson AZ 1978 S 97 104 doi 10 1145 512760 512771 Dennis Ritchie The development of the C language The second ACM SIGPLAN conference on History of programming languages Cambridge MA 1993 S 201 208 Alan Snyder A Portable Compiler for the Language C Master s Thesis M I T Cambridge MA 1975 Stephen C Johnson A Tour Through the Portable C Compiler Unix Programmer s Manual 7th edition Volume 2 1981 ISBN 0 03 061743 X Tour online Weblinks BearbeitenWebsite zum aktuellen PCC Compiler Der Quellcode einer fruhen Version von pcc ist als cmd pcc und cmd mip zu finden Einzelnachweise Bearbeiten Stephen C Johnson A portable compiler theory and practice 1978 doi 10 1145 512760 512771 A Snyder A portable compiler for the language C Memento des Originals vom 5 September 2006 im Internet Archive nbsp Info Der Archivlink wurde automatisch eingesetzt und noch nicht gepruft Bitte prufe Original und Archivlink gemass Anleitung und entferne dann diesen Hinweis 1 2 Vorlage Webachiv IABot www lcs mit edu 1975 Stephen C Johnson A Tour Through the Portable C Compiler 1981 Dennis M Ritchie The Development of the C Language Jem Matzan More on OpenBSD s new compiler Memento vom 17 Oktober 2007 im Internet Archive The Jem Report 15 Oktober 2007 Abgerufen von https de wikipedia org w index php title Portable C Compiler amp oldid 224280842