Audience
This tutorial is designed for students interested in learning the basic principles of compilers.Enthusiastic readers who would like to know more about compilers and those who wish to design a compiler themselves may start from here.
Language Processing System
We have learnt that any computer system is made of hardware and software.
The hardware understands a language, which humans cannot understand.
So we write programs in high-level language, which is easier for us to understand and remember.
These programs are then fed into a series of tools and OS components to get the desired code that can be used b.
What are compiler design principles?
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 efficient and optimized in terms of time and space.
Compiler design principles provide an in-depth view of translation and optimization process.
Why do we need a compiler to convert source code?
The best reason for inadequate to convert source code is to create an executable code.
The compiler is generally used for programs that translate source code from a high-level programming language to a lower-level language (e.g., assembly language or machine code).
Why to Learn Compiler Design?
Computers are a balanced mix of software and hardware.
Hardware is just a piece of mechanical device and its functions are being controlled by a compatible software. Hardware understands instructions in the form of electronic charge, which is the counterpart of binary language in software programming.
Binary language has only two alphabets, 0 and 1.