Compiler construction
Encyclopedia
Compiler construction is an area of computer science
Computer science
Computer science or computing science is the study of the theoretical foundations of information and computation and of practical techniques for their implementation and application in computer systems...

 that deals with the theory and practice of developing programming languages and their associated compiler
Compiler
A compiler is a computer program that transforms source code written in a programming language into another computer language...

s.

The theoretical portion is primarily concerned with syntax
Syntax
In linguistics, syntax is the study of the principles and rules for constructing phrases and sentences in natural languages....

, grammar
Grammar
In linguistics, grammar is the set of structural rules that govern the composition of clauses, phrases, and words in any given natural language. The term refers also to the study of such rules, and this field includes morphology, syntax, and phonology, often complemented by phonetics, semantics,...

 and 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....

 of programming languages. One could say that this gives this particular area of computer science a strong tie with linguistics
Linguistics
Linguistics is the scientific study of human language. Linguistics can be broadly broken into three categories or subfields of study: language form, language meaning, and language in context....

. Some courses on compiler construction will include a simplified grammar of a spoken language that can be used to form a valid sentence for the purposes of providing students with an analogy to help them understand how grammar works for programming languages.

The practical portion covers actual implementation of compilers for languages. Students will typically end up writing the front end of a compiler for a simplistic teaching language, such as Micro
Micro programming language
The Micro programming language is a very basic programming language used in teaching computer science students principles of compiler construction.The language itself is built on top of an even more basic language called Tiny, which is also used in compiler construction courses...

.

Subfields

  • Parsing
    Parsing
    In computer science and linguistics, parsing, or, more formally, syntactic analysis, is the process of analyzing a text, made of a sequence of tokens , to determine its grammatical structure with respect to a given formal grammar...

  • Program analysis
    Program analysis
    Program analysis may refer to:* Program analysis , the process of automatically analysing the behavior of computer programs* Program evaluation, a disciplined way of assessing the merit, value, and worth of projects and programs...

  • Program transformation
    Program transformation
    A program transformation is any operation that takes a computer program and generates another program. In many cases the transformed program is required to be semantically equivalent to the original, relative to a particular formal semantics and in fewer cases the transformations result in programs...

  • Compiler
    Compiler optimization
    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 amount of memory occupied...

     or program optimization
  • Code generation

Further reading

  • Alfred V. Aho, Monica S. Lam
    Monica S. Lam
    Monica Sin-Ling Lam is a professor in the Computer Science Department at Stanford, and Founder and Chief Scientist of MokaFive.-Professional biography:...

    , Ravi Sethi
    Ravi Sethi
    Ravi Sethi is an Indian computer scientist retired from Bell Labs and president of Avaya Labs Research. He is best known as one of three authors of the classic computer science textbook Compilers: Principles, Techniques, and Tools, also known as the Dragon Book.Sethi was born in 1947 in Murdana,...

    , Jeffrey D. Ullman. Compilers: Principles, Techniques, and Tools
    Compilers: Principles, Techniques, and Tools
    Compilers: Principles, Techniques, and Tools is a famous computer science textbook by Alfred V. Aho, Monica S. Lam, Ravi Sethi, and Jeffrey D. Ullman about compiler construction...

    .
  • Michael Wolfe. High-Performance Compilers for Parallel Computing. ISBN 978-0805327304

External links


The source of this article is wikipedia, the free encyclopedia.  The text of this article is licensed under the GFDL.
 
x
OK