Computer Science

Compiler Design

Compiler Design

  • ISBN
  • Price
  • Publication Year
  • Publisher
  • Binding
  • Description
  • About the Editor
    • Provides description of compiler design concepts using a self-instructive and student-friendly approach.
    • Covers topics such as fine state machines, context- free grammars and syntax-directed translations.
    • Discusses the various aspects of designing a language translator in depth.

In order to decrease the complexity of designing and building computers, nearly all of these are made to execute relatively simple commands. A program for a computer must be built by combining these very simple commands into a program in what is called machine language. Since this is a tedious and error prone process most programming is, instead, done using a high-level programming language. This language can be very di erent from the machine language that the computer can execute, so some means of bridging the gap is required. This is where the compiler comes in. A compiler translates the code written in one language to some other language without changing the meaning of the program. It is also expected that a compiler should make the target code e cient and optimized in terms of time and space. Compiler design principles provide an in-depth view of translation and optimization process. Compiler design covers basic translation mechanism and error detection & recovery. It includes lexical, syntax, and semantic analysis as front end, and code generation and optimization as back-end. A good compiler will, however, be able to get very close to the speed of hand-written machine code when translating well-structured programs.