Portable C Compiler
| {{#if: Portable C Compiler | Portable C Compiler | {{#invoke:WLink|getArticleBase}} }}
{{#if: | | ||||||||
|---|---|---|---|---|---|---|---|---|
colspan="2" class="notheme" style="text-align:center; background:#Vorlage:Standardfarbe; color:#202122;" | {{{Logo}}} |
{{#if: {{#invoke:Wikidata|claim|P154}} |
| ||||||||
[[Datei:{{#invoke:Wikidata|claim|P154}}|150px]]
}} }}{{#if: | | ||||||||
| {{{Screenshot}}}{{#if: | {{{Beschreibung}}} }}| }} | ||||||||
| Basisdaten
{{#if: | | ||||||||
| Hauptentwickler |
{{#if: {{#invoke:Wikidata|claim|P126}} |
| |||||||
| Maintainer | claim|P126|parameter=link|references=ja|list=, }}
}} }}{{#if: PCC Team | | |||||||
| Entwickler |
{{#if: {{#invoke:Wikidata|claim|P178}} |
| |||||||
| Entwickler | claim|P178|parameter=link|references=ja|list=, }}
}} }}{{#if: | | |||||||
| Erscheinungsjahr |
{{#if: {{#invoke:Wikidata|claim|P577}} |
| |||||||
| Erscheinungsjahr | claim|P577|references=ja|list=, }} |
{{#if: {{#invoke:Wikidata|claim|P571}} |
| |||||||
| Erscheinungsjahr | claim|P571|references=ja|list=, }}
}} }} }}{{#ifeq: 1.1.0 | KEINE_ANGABE || {{#if: 1.1.0 | | |||||||
| Aktuelle Version | ({{#if: | Vorlage:Datum – die Form mit drei unbenannten Parametern oder anderen einzelnen Zeiteinheiten ist veraltet und wird nicht mehr unterstützt. Bitte gib das Datum einfach im Klartext an. |
format | 10. Dezember 2014 | {{#timefl:now|date}}}} | {{{2}}} | T._Monat JJJJ}} | lang= {{#switch: | -|=de | #default=de-AT
}} }} }}) }} |
{{#if: {{#invoke:Wikidata|claim|P348|P548|!Q3295609,Q51930650,Q2122918,Q21727724,Q1072356,Q6736813}} |
|
| Aktuelle Version | claim|P348|P548|!Q3295609,Q51930650,Q2122918,Q21727724,Q1072356,Q6736813|references=ja}} {{#if: {{#invoke:Wikidata|claim|P348|P548|!Q3295609,Q51930650,Q2122918,Q21727724,Q1072356,Q6736813|qualifier=P577}} | ({{#invoke:Wikidata|claim|P348|P548|!Q3295609,Q51930650,Q2122918,Q21727724,Q1072356,Q6736813|qualifier=P577}}) }}}}}} }}{{#ifeq: {{{AktuelleVorabVersion}}} | KEINE_ANGABE || {{#if: | | |||||||
| Aktuelle Vorabversion | ({{#if: | Vorlage:Datum – die Form mit drei unbenannten Parametern oder anderen einzelnen Zeiteinheiten ist veraltet und wird nicht mehr unterstützt. Bitte gib das Datum einfach im Klartext an. |
format | {{{AktuelleVorabVersionFreigabeDatum}}} | {{#timefl:now|date}}}} | {{{2}}} | T._Monat JJJJ}} | lang= {{#switch: | -|=de | #default=de-AT
}} }} }}) }} |
{{#if: {{#invoke:Wikidata|claim|P348|P548|Q1072356,Q51930650,Q3295609,Q2122918,Q21727724}} |
|
| Aktuelle Vorabversion | claim|P348|P548|Q1072356,Q51930650,Q3295609,Q2122918,Q21727724|references=ja}} {{#if: {{#invoke:Wikidata|claim|P348|P548|Q1072356,Q51930650,Q3295609,Q2122918,Q21727724|qualifier=P577}} | ({{#invoke:Wikidata|claim|P348|P548|Q1072356,Q51930650,Q3295609,Q2122918,Q21727724|qualifier=P577}}) }}}}}} }}{{#if: | | |||||||
| Ausführungsumgebung |
{{#if: UNIX, OpenBSD, NetBSD, GNU/Linux, u. a. |
| |||||||
| Betriebssystem | UNIX, OpenBSD, NetBSD, GNU/Linux, u. a. |
{{#if: {{#invoke:Wikidata|claim|P306}} |
| |||||||
| Betriebssystem | claim|P306|parameter=link|references=ja|list=, }}
}} }} }}{{#if: | | |||||||
| Programmiersprache |
{{#if: {{#invoke:Wikidata|claim|P277}} |
| |||||||
| Programmiersprache | claim|P277|parameter=link|references=ja|list=, }}
}} }}{{#if: Compiler | | |||||||
| Kategorie | Compiler
}}{{#if: BSD | | |||||||
| Lizenz | BSD |
{{#if: {{#invoke:Wikidata|claim|P275}} |
| |||||||
| Lizenz | claim|P275|parameter=link|references=ja|list=, }}
}} }}{{#if: | | |||||||
| deutschsprachig | faculty|0}} | ja | nein }}
}}{{#if: | | |||||||
| Sonstiges | {{{Sonstiges}}}
}}{{#if: pcc-Website | | |||||||
pcc-Website |
{{#if: {{#invoke:Wikidata|claim|P856|notdeprecated=1}} |
| ||||||||
{{#invoke: WLink | formatURL | {{#invoke:Wikidata|claim|P856|parameter=link|notdeprecated=1}}}}
}} }}{{#if: | | ||||||||
| Dateien | [[c:Category:Created with {{{Dateien}}}|{{{Dateien}}}]]
}} | |||||||
Der Portable C Compiler (auch als pcc und pccm – portable C compiler machine – bekannt) ist einer der ersten Compiler für die Programmiersprache C. Er wurde ab Mitte der 1970er Jahre<ref>Stephen C. Johnson: A portable compiler: theory and practice. 1978, doi:10.1145/512760.512771</ref> von Stephen C. Johnson, Angestellter der Bell Labs, entwickelt und basiert in Teilen auf Arbeiten von Alan Snyder aus dem Jahre 1973.<ref>A. Snyder: <templatestyles src="Webarchiv/styles.css" />{{#if:20060905200607
| {{#ifeq: 20060905200607 | *
| {{#if: A portable compiler for the language C. | {{#invoke:WLink|getEscapedTitle|A portable compiler for the language C.}} | {{#invoke:Webarchiv|getdomain|http://www.lcs.mit.edu/publications/specpub.php?id=717}} }} (Archivversionen)
| {{#iferror: {{#time: j. F Y|20060905200607}}
| {{#if: || }}Der Wert des Parameters {{#if: wayback | wayback | Datum }} muss ein gültiger Zeitstempel der Form YYYYMMDDHHMMSS sein!
| {{#if: A portable compiler for the language C. | {{#invoke:WLink|getEscapedTitle|A portable compiler for the language C.}} | {{#invoke:Webarchiv|getdomain|http://www.lcs.mit.edu/publications/specpub.php?id=717}} }} {{#ifeq: | [] | [ | ( }}{{#if: {{#if: 2018-12-11 11:08:06 InternetArchiveBot | 2018-12-11 11:08:06 InternetArchiveBot | }} | des Vorlage:Referrer }} vom {{#time: j. F Y|20060905200607}} im Internet Archive{{#if: | ; }}{{#ifeq: | [] | ] | ) }}
}}
}}
| {{#if:
| {{#iferror: {{#time: j. F Y|{{{webciteID}}}}}
| {{#switch: {{#invoke:Str|len|{{{webciteID}}}}}
| 16= {{#if: A portable compiler for the language C. | {{#invoke:WLink|getEscapedTitle|A portable compiler for the language C.}} | {{#invoke:Webarchiv|getdomain|http://www.lcs.mit.edu/publications/specpub.php?id=717}} }} {{#ifeq: | [] | [ | ( }}{{#if: {{#if: 2018-12-11 11:08:06 InternetArchiveBot | 2018-12-11 11:08:06 InternetArchiveBot | }} | des Vorlage:Referrer }} vom {{#time: j. F Y| 19700101000000 + {{#expr: floor {{#expr: {{#invoke:Str|sub|{{{webciteID}}}|1|10}}/86400}} }} days}} auf WebCite{{#if: | ; }}{{#ifeq: | [] | ] | ) }}
| 9 = {{#if: A portable compiler for the language C. | {{#invoke:WLink|getEscapedTitle|A portable compiler for the language C.}} | {{#invoke:Webarchiv|getdomain|http://www.lcs.mit.edu/publications/specpub.php?id=717}} }} {{#ifeq: | [] | [ | ( }}{{#if: {{#if: 2018-12-11 11:08:06 InternetArchiveBot | 2018-12-11 11:08:06 InternetArchiveBot | }} | des Vorlage:Referrer}} vom {{#time: j. F Y| 19700101000000 + {{#expr: floor {{#expr: {{#invoke:Str|sub|{{#invoke:Expr|base62|{{{webciteID}}}}}|1|10}}/86400}} }} days}} auf WebCite{{#if: | ; }}{{#ifeq: | [] | ] | ) }}
| #default= Der Wert des Parameters {{#if: webciteID | webciteID | ID }} muss entweder ein Zeitstempel der Form YYYYMMDDHHMMSS oder ein Schüsselwert mit 9 Zeichen oder eine 16-stellige Zahl sein!{{#if: || }}
}}
| c|{{{webciteID}}}}} {{#if: A portable compiler for the language C. | {{#invoke:WLink|getEscapedTitle|A portable compiler for the language C.}} | {{#invoke:Webarchiv|getdomain|http://www.lcs.mit.edu/publications/specpub.php?id=717}} }} ({{#if: {{#if: 2018-12-11 11:08:06 InternetArchiveBot | 2018-12-11 11:08:06 InternetArchiveBot | }} | des Vorlage:Referrer}} vom {{#time: j. F Y|{{{webciteID}}}}} auf WebCite{{#if: | ; }}{{#ifeq: | [] | ] | ) }}
}}
| {{#if:
| Vorlage:Webarchiv/Today
| {{#if:
| Vorlage:Webarchiv/Generisch
| {{#if: A portable compiler for the language C. | {{#invoke:WLink|getEscapedTitle|A portable compiler for the language C.}} | {{#invoke:Webarchiv|getdomain|http://www.lcs.mit.edu/publications/specpub.php?id=717}} }}
}}}}}}}}{{#if:2018-12-11 11:08:06 InternetArchiveBot
| Vorlage:Webarchiv/archiv-bot
}}{{#invoke:TemplatePar|check
|all = url=
|opt = text= wayback= webciteID= archive-is= archive-today= archiv-url= archiv-datum= ()= archiv-bot= format= original=
|cat = Wikipedia:Vorlagenfehler/Vorlage:Webarchiv
|errNS = 0
|template = Vorlage:Webarchiv
|format = *
|preview = 1
}}{{#ifexpr: {{#if:20060905200607|1|0}}{{#if:|+1}}{{#if:|+1}}{{#if:|+1}}{{#if:|+1}} <> 1
| {{#if: || }}{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: Genau einer der Parameter 'wayback', 'webciteID', 'archive-today', 'archive-is' oder 'archiv-url' muss angegeben werden.|1}}
}}{{#if:
| {{#switch: {{#invoke:Webarchiv|getdomain|{{{archiv-url}}}}}
| web.archive.org =
{{#if: || }}{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: Im Parameter 'archiv-url' wurde URL von Internet Archive erkannt, bitte Parameter 'wayback' benutzen.|1}}
| webcitation.org =
{{#if: || }}{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: Im Parameter 'archiv-url' wurde URL von WebCite erkannt, bitte Parameter 'webciteID' benutzen.|1}}
| archive.today |archive.is |archive.ph |archive.fo |archive.li |archive.md |archive.vn =
{{#if: || }}{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: Im Parameter 'archiv-url' wurde URL von archive.today erkannt, bitte Parameter 'archive-today' benutzen.|1}}
}}{{#if:
| {{#iferror: {{#iferror:{{#invoke:Vorlage:FormatDate|Execute}}|}}
| {{#if: || }}{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: Der Wert des Parameter 'archiv-datum' ist ungültig oder hat ein ungültiges Format.|1}}
| }}
| {{#if: || }}{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: Der Pflichtparameter 'archiv-datum' wurde nicht angegeben.|1}}
}}
| {{#if:
| {{#if: || }}{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: Der Parameter 'archiv-datum' ist nur in Verbindung mit 'archiv-url' angebbar.|1}}
}}
}}{{#if:{{#invoke:URLutil|isHostPathResource|http://www.lcs.mit.edu/publications/specpub.php?id=717}}
|| {{#if: || }}
}}{{#if: A portable compiler for the language C.
| {{#if: {{#invoke:WLink|isBracketedLink|A portable compiler for the language C.}}
| {{#if: || }}
}}
| {{#if: || }}
}}{{#switch:
|addlarchives|addlpages= {{#if: || }}{{#if: 1 |}}{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: enWP-Wert im Parameter 'format'.|1}}
}}{{#ifeq: {{#invoke:Str|find|http://www.lcs.mit.edu/publications/specpub.php?id=717%7Carchiv}} |-1
|| {{#ifeq: {{#invoke:Str|find|{{#invoke:Str|cropleft|http://www.lcs.mit.edu/publications/specpub.php?id=717%7C4}}%7Chttp}} |-1
|| {{#switch: {{#invoke:Webarchiv|getdomain|http://www.lcs.mit.edu/publications/specpub.php?id=717 }}
| abendblatt.de | daserste.ndr.de | inarchive.com | webcitation.org =
| #default = {{#if: || }}{{#if: 1 |}}{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: Archiv-URL im Parameter 'url' anstatt URL der Originalquelle. Entferne den vor der Original-URL stehenden Mementobestandteil und setze den Archivierungszeitstempel in den Parameter 'wayback', 'webciteID', 'archive.today' oder 'archive-is' ein, sofern nicht bereits befüllt.|1}}
}}
}}
}} 1975</ref><ref>Stephen C. Johnson: A Tour Through the Portable C Compiler. 1981</ref>
Geschichte
pcc war für seine Zeit prägend, da er einer der ersten Compiler war, die einfach angepasst werden konnten, um Maschinencode für verschiedene Architekturen zu erzeugen. Zu Beginn der 1980er basierte die Mehrheit der C-Compiler auf pcc;<ref>Dennis M. Ritchie: The Development of the C Language.</ref> die Lebensdauer von pcc war überaus lang – so wurde er 1990 noch mit 4.3BSD-Reno ausgeliefert – bis schließlich mit Auslieferung von 4.4BSD auf den GNU C Compiler umgestellt wurde.
Die wesentlichen Eigenschaften und auch maßgeblich für den Erfolg von pcc sind Plattformunabhängigkeit und gute Möglichkeiten des Debuggens:
- Das maßgebliche Design des Compilers wurde so ausgelegt, dass nur wenige Teile seiner Quellen maschinenspezifisch waren.
- Er ist sehr unempfindlich gegenüber Syntaxfehlern und erstellt keine ungültigen Programme.
- Er isoliert maschinenspezifische Programmteile, die manuell in Assembler des jeweiligen Zieles programmiert werden können.
- Bereits der erste Compilerdurchlauf war selbstoptimierend.
Alle diese Eigenschaften waren zur damaligen Zeit völlig neu; der erste C-Compiler (geschrieben von Dennis Ritchie) nutzte rekursiven Abstieg, war stark an die Architektur der PDP-11 gebunden und benötigte 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.
Spätere Entwicklung
Noch nach der Jahrtausendwende erlebte pcc eine Art Renaissance. Basierend auf den Arbeiten von S. C. Johnson entwickelt ein Team unter Führung von Anders Magnusson den Compiler weiter und ersetzte dabei einen Großteil des Codes; pcc unterstützt mittlerweile C99 und steht unter der BSD-Lizenz. Größere Aufmerksamkeit fanden diese Bemühungen damals bei den Entwicklern von OpenBSD, die den bisher verwendeten GNU C Compiler vor allem aus Gründen der Qualitätssicherung und lizenzrechtlicher Bedenken ersetzen wollten.<ref>Jem Matzan: <templatestyles src="Webarchiv/styles.css" />{{#if:20071017012303
| {{#ifeq: 20071017012303 | *
| {{#if: More on OpenBSD's new compiler. | {{#invoke:WLink|getEscapedTitle|More on OpenBSD's new compiler.}} | {{#invoke:Webarchiv|getdomain|http://www.thejemreport.com/mambo/content/view/369/}} }} (Archivversionen)
| {{#iferror: {{#time: j. F Y|20071017012303}}
| {{#if: || }}Der Wert des Parameters {{#if: wayback | wayback | Datum }} muss ein gültiger Zeitstempel der Form YYYYMMDDHHMMSS sein!
| {{#if: More on OpenBSD's new compiler. | {{#invoke:WLink|getEscapedTitle|More on OpenBSD's new compiler.}} | {{#invoke:Webarchiv|getdomain|http://www.thejemreport.com/mambo/content/view/369/}} }} {{#ifeq: | [] | [ | ( }}{{#if: {{#if: | {{{archiv-bot}}} | }} | des Vorlage:Referrer }} vom {{#time: j. F Y|20071017012303}} im Internet Archive{{#if: | ; }}{{#ifeq: | [] | ] | ) }}
}}
}}
| {{#if:
| {{#iferror: {{#time: j. F Y|{{{webciteID}}}}}
| {{#switch: {{#invoke:Str|len|{{{webciteID}}}}}
| 16= {{#if: More on OpenBSD's new compiler. | {{#invoke:WLink|getEscapedTitle|More on OpenBSD's new compiler.}} | {{#invoke:Webarchiv|getdomain|http://www.thejemreport.com/mambo/content/view/369/}} }} {{#ifeq: | [] | [ | ( }}{{#if: {{#if: | {{{archiv-bot}}} | }} | des Vorlage:Referrer }} vom {{#time: j. F Y| 19700101000000 + {{#expr: floor {{#expr: {{#invoke:Str|sub|{{{webciteID}}}|1|10}}/86400}} }} days}} auf WebCite{{#if: | ; }}{{#ifeq: | [] | ] | ) }}
| 9 = {{#if: More on OpenBSD's new compiler. | {{#invoke:WLink|getEscapedTitle|More on OpenBSD's new compiler.}} | {{#invoke:Webarchiv|getdomain|http://www.thejemreport.com/mambo/content/view/369/}} }} {{#ifeq: | [] | [ | ( }}{{#if: {{#if: | {{{archiv-bot}}} | }} | des Vorlage:Referrer}} vom {{#time: j. F Y| 19700101000000 + {{#expr: floor {{#expr: {{#invoke:Str|sub|{{#invoke:Expr|base62|{{{webciteID}}}}}|1|10}}/86400}} }} days}} auf WebCite{{#if: | ; }}{{#ifeq: | [] | ] | ) }}
| #default= Der Wert des Parameters {{#if: webciteID | webciteID | ID }} muss entweder ein Zeitstempel der Form YYYYMMDDHHMMSS oder ein Schüsselwert mit 9 Zeichen oder eine 16-stellige Zahl sein!{{#if: || }}
}}
| c|{{{webciteID}}}}} {{#if: More on OpenBSD's new compiler. | {{#invoke:WLink|getEscapedTitle|More on OpenBSD's new compiler.}} | {{#invoke:Webarchiv|getdomain|http://www.thejemreport.com/mambo/content/view/369/}} }} ({{#if: {{#if: | {{{archiv-bot}}} | }} | des Vorlage:Referrer}} vom {{#time: j. F Y|{{{webciteID}}}}} auf WebCite{{#if: | ; }}{{#ifeq: | [] | ] | ) }}
}}
| {{#if:
| Vorlage:Webarchiv/Today
| {{#if:
| Vorlage:Webarchiv/Generisch
| {{#if: More on OpenBSD's new compiler. | {{#invoke:WLink|getEscapedTitle|More on OpenBSD's new compiler.}} | {{#invoke:Webarchiv|getdomain|http://www.thejemreport.com/mambo/content/view/369/}} }}
}}}}}}}}{{#if:
| Vorlage:Webarchiv/archiv-bot
}}{{#invoke:TemplatePar|check
|all = url=
|opt = text= wayback= webciteID= archive-is= archive-today= archiv-url= archiv-datum= ()= archiv-bot= format= original=
|cat = Wikipedia:Vorlagenfehler/Vorlage:Webarchiv
|errNS = 0
|template = Vorlage:Webarchiv
|format = *
|preview = 1
}}{{#ifexpr: {{#if:20071017012303|1|0}}{{#if:|+1}}{{#if:|+1}}{{#if:|+1}}{{#if:|+1}} <> 1
| {{#if: || }}{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: Genau einer der Parameter 'wayback', 'webciteID', 'archive-today', 'archive-is' oder 'archiv-url' muss angegeben werden.|1}}
}}{{#if:
| {{#switch: {{#invoke:Webarchiv|getdomain|{{{archiv-url}}}}}
| web.archive.org =
{{#if: || }}{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: Im Parameter 'archiv-url' wurde URL von Internet Archive erkannt, bitte Parameter 'wayback' benutzen.|1}}
| webcitation.org =
{{#if: || }}{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: Im Parameter 'archiv-url' wurde URL von WebCite erkannt, bitte Parameter 'webciteID' benutzen.|1}}
| archive.today |archive.is |archive.ph |archive.fo |archive.li |archive.md |archive.vn =
{{#if: || }}{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: Im Parameter 'archiv-url' wurde URL von archive.today erkannt, bitte Parameter 'archive-today' benutzen.|1}}
}}{{#if:
| {{#iferror: {{#iferror:{{#invoke:Vorlage:FormatDate|Execute}}|}}
| {{#if: || }}{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: Der Wert des Parameter 'archiv-datum' ist ungültig oder hat ein ungültiges Format.|1}}
| }}
| {{#if: || }}{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: Der Pflichtparameter 'archiv-datum' wurde nicht angegeben.|1}}
}}
| {{#if:
| {{#if: || }}{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: Der Parameter 'archiv-datum' ist nur in Verbindung mit 'archiv-url' angebbar.|1}}
}}
}}{{#if:{{#invoke:URLutil|isHostPathResource|http://www.thejemreport.com/mambo/content/view/369/}}
|| {{#if: || }}
}}{{#if: More on OpenBSD's new compiler.
| {{#if: {{#invoke:WLink|isBracketedLink|More on OpenBSD's new compiler.}}
| {{#if: || }}
}}
| {{#if: || }}
}}{{#switch:
|addlarchives|addlpages= {{#if: || }}{{#if: 1 |}}{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: enWP-Wert im Parameter 'format'.|1}}
}}{{#ifeq: {{#invoke:Str|find|http://www.thejemreport.com/mambo/content/view/369/%7Carchiv}} |-1
|| {{#ifeq: {{#invoke:Str|find|{{#invoke:Str|cropleft|http://www.thejemreport.com/mambo/content/view/369/%7C4}}%7Chttp}} |-1
|| {{#switch: {{#invoke:Webarchiv|getdomain|http://www.thejemreport.com/mambo/content/view/369/ }}
| abendblatt.de | daserste.ndr.de | inarchive.com | webcitation.org =
| #default = {{#if: || }}{{#if: 1 |}}{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: Archiv-URL im Parameter 'url' anstatt URL der Originalquelle. Entferne den vor der Original-URL stehenden Mementobestandteil und setze den Archivierungszeitstempel in den Parameter 'wayback', 'webciteID', 'archive.today' oder 'archive-is' ein, sofern nicht bereits befüllt.|1}}
}}
}}
}} The Jem Report, 15. Oktober 2007</ref>
Literatur
- Stephen 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
- Website zum aktuellen PCC-Compiler
- Der Quellcode einer frühen Version von pcc ist als cmd/pcc und cmd/mip zu finden.
Einzelnachweise
<references/>
- Wikipedia:Vorlagenfehler/Parameter:Datum
- Wikipedia:Vorlagenfehler/Vorlage:Webarchiv
- Wikipedia:Vorlagenfehler/Vorlage:Webarchiv/Archiv-URL
- Wikipedia:Vorlagenfehler/Parameter:URL
- Wikipedia:Vorlagenfehler/Parameter:Linktext
- Wikipedia:Vorlagenfehler/Vorlage:Webarchiv/Linktext fehlt
- C (Programmiersprache)
- Freies Programmierwerkzeug