Portable C Compiler

Portable C Compiler

Infobox Software
name = Portable C Compiler



caption =
developer =
latest release version = 0.9.9
latest release date = release date|2008|01|27
latest preview version =
latest preview date =
operating system = Unix-like
programming language = C
genre = C Compiler
license = BSD License
website = http://pcc.ludd.ltu.se/
The Portable C Compiler (also known as pcc or sometimes pccm - portable C compiler machine) was an early compiler for the C programming language written by Stephen C. Johnson of Bell Labs [cite web | author=Johnson, S.C. | year=1978 | title=A portable compiler: theory and practice | work=Proceedings of the 5th ACM SIGACT-SIGPLAN symposium on Principles of programming languages. Tucson, Arizona. | pages=97-104 | url=http://doi.acm.org/10.1145/512760.512771 ] in mid-1970s—based in part on ideas from earlier work by Alan Snyder in 1973. [cite web | author=Snyder, A. | year=1975 | title=A Portable Compiler for the Language C | work=Master’s Thesis. M.I.T., Cambridge, Mass. | url=http://www.lcs.mit.edu/publications/specpub.php?id=717 ] [cite web | author=Johnson, S.C. | year=1981 | title=A Tour Through the Portable C Compiler | work=Unix Programmer's Manual, 7th edition, Volume 2 | id=ISBN 003061743X | url=http://citeseer.ist.psu.edu/johnson81tour.html ]

One of the first compilers that could easily be adapted to output code for different computer architectures, the compiler had a long life span. It shipped with BSD Unix until the release of 4.4BSD in 1994—which replaced it with the GNU C Compiler. It was very influential in its day, so much so that at the beginning of the 1980s, the majority of C compilers were based on it. [cite web | author=Ritchie, Dennis M. | year=1993 | title=The development of the C language | work=The second ACM SIGPLAN conference on History of programming languages. Cambridge, Massachusetts. | pages=201-208 | url=http://cm.bell-labs.com/cm/cs/who/dmr/chist.html ]

Features

The keys to the success of pcc were its portability and improved diagnostic capabilities:

* The compiler was designed so that only a few of its source files were machine-dependent.
* It was relatively robust to syntax errors and performed more thorough validity checks.

The first C compiler, written by Dennis Ritchie, had used a recursive descent parser, incorporated specific knowledge about the PDP-11, and relied on an optional machine-specific optimizer to improve the assembly-language code it had generated. In contrast, Johnson's "pcc" was based on a yacc parser generator and used a more general target machine model. Both compilers produced target-specific assembly language code, which they then assembled to produce linkable object modules.

Current version

A new version of pcc based on the original by S. C. Johnson is now maintained by Anders Magnusson. The compiler is provided under the BSD license. According to Magnusson:

This new version was added to the NetBSD pkgsrc and OpenBSD source trees in September 2007, [ [http://marc.info/?l=openbsd-cvs&m=118988004013923&w=2 'CVS: cvs.openbsd.org: src' - MARC ] ] and later into the main NetBSD source tree, [ [http://mail-index.netbsd.org/source-changes/2007/09/20/0005.html source-changes: CVS commit: src/dist/pcc ] ] and there has been some speculation that it might eventually be used to supplant the GNU C Compiler on BSD-based operating systems. [ [http://developers.slashdot.org/article.pl?sid=07/09/17/1451239 Slashdot | GCC Compiler Finally Supplanted by PCC? ] ]

References

ee also

*Amsterdam Compiler Kit
*GNU Compiler Collection

External links

* [http://pcc.ludd.ltu.se/ Current home page]
* [http://undeadly.org/cgi?action=article&sid=20070915195203&mode=flat&count=0 BSD Licensed PCC Compiler Imported, OpenBSD Journal]
* [http://www.thejemreport.com/mambo/content/view/369/ More on OpenBSD's new compiler] by Jem Matzan


Wikimedia Foundation. 2010.

Игры ⚽ Поможем написать реферат

Look at other dictionaries:

  • Portable C Compiler — Entwickler PCC Team Aktuelle Version 1.0 (1. April 2011) Betriebssystem UNIX, OpenBSD, NetBSD, GNU/Linux, u. a …   Deutsch Wikipedia

  • Portable C Compiler — Saltar a navegación, búsqueda Portable C Compiler pcc.ludd.ltu.se/ Información general Diseñado por Stephen C. Johnson Última ver …   Wikipedia Español

  • Portable C Compiler — У этого термина существуют и другие значения, см. PCC (значения). Portable C Compiler Тип C Компилятор Написана на C Операционная система Unix like Последняя версия 1.0.0 (01.04.2011) Лицензия …   Википедия

  • Portable Standard Lisp — (PSL) is a tail recursive dynamically bound dialect of Lisp inspired by its predecessor, Standard Lisp and the Portable Lisp Compiler. It was developed by researchers at the University of Utah in 1980, which released PSL 3.1; development was… …   Wikipedia

  • Compiler optimization — is the process of tuning the output of a compiler to minimize or maximize some attributes of an executable computer program. The most common requirement is to minimize the time taken to execute a program; a less common one is to minimize the… …   Wikipedia

  • Compiler — This article is about the computing term. For the anime, see Compiler (anime). A diagram of the operation of a typical multi language, multi target compiler A compiler is a computer program (or set of programs) that transforms source code written …   Wikipedia

  • Portable Executable — Not to be confused with Portable application. Portable Executable Filename extension .cpl, .exe, .dll, .ocx, .sys, .scr, .drv Developed by Microsoft Type of format Binary, executable, object, shared libraries …   Wikipedia

  • Portable Software — Als portable Software (vom lateinischen „portare“ für „tragen“ oder „mit sich tragen“) wird Software bezeichnet, welche ohne weitere Anpassungen oder Installationen auf verschiedenen Computern ausgeführt werden kann. Portable Software kann so z.B …   Deutsch Wikipedia

  • Portable Game Notation — Infobox file format extension = .pgn mime = application/x chess pgn (unregistered)Portable Game Notation (PGN) is a computer processible format for recording chess games (both the moves and related data); many chess programs recognize this… …   Wikipedia

  • GNU C-Compiler — GNU Compiler Collection Entwickler: GCC Team Aktuelle Version: 4.4.0 (21. April 2009) …   Deutsch Wikipedia

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”