PQCC
Encyclopedia
The Production Quality Compiler-Compiler Project (or PQCC) was a long-term project led by William Wulf
William Wulf
William Allan Wulf is a computer scientist notable for his work in programming languages and compilers.Born in Chicago, Illinois, he attended the University of Illinois, receiving a BS in Engineering Physics and an MS in Electrical Engineering, then achieved the first Ph.D. in Computer Science...

 at Carnegie Mellon University
Carnegie Mellon University
Carnegie Mellon University is a private research university in Pittsburgh, Pennsylvania, United States....

 to produce an industrial-strength compiler-compiler
Compiler-compiler
A compiler-compiler or compiler generator is a tool that creates a parser, interpreter, or compiler from some form of formal description of a language and machine...

. PQCC would produce full, optimizing programming language
Programming language
A programming language is an artificial language designed to communicate instructions to a machine, particularly a computer. Programming languages can be used to create programs that control the behavior of a machine and/or to express algorithms precisely....

 compiler
Compiler
A compiler is a computer program that transforms source code written in a programming language into another computer language...

s from descriptions of the programming language and the target machine. Though the goal of a fully automatic process was not realized, PQCC technology and ideas were the basis of production compilers from Intermetrics
Intermetrics
Intermetrics, Inc. was a software company founded in Cambridge, Massachusetts in 1969 by several veterans of M.I.T.'s Instrumentation Laboratory who had worked on the software for NASA's Apollo Program including the Apollo Guidance Computer....

, Tartan Laboratories, and others.

Objective

The focus of the project was on the semantics
Semantics
Semantics is the study of meaning. It focuses on the relation between signifiers, such as words, phrases, signs and symbols, and what they stand for, their denotata....

 and machine-dependent
Machine-dependent
Machine-dependent is a term for application software that runs only on a particular type of computer. Conversely, applications that run on a variety of different types of computers are called machine-independent, or cross-platform....

 phases of compilation, since lexical
Lexical analysis
In computer science, lexical analysis is the process of converting a sequence of characters into a sequence of tokens. A program or function which performs lexical analysis is called a lexical analyzer, lexer or scanner...

 and syntactic analysis were already well-understood. Each phase was formalized in a manner that permits expression in table-driven form. The automatic construction of the compiler then consists of deriving these tables from the semantic definitions of the language and target machine. Though this approach was largely successful for target machine description, it was less so for semantics.
The source of this article is wikipedia, the free encyclopedia.  The text of this article is licensed under the GFDL.
 
x
OK