A compiler is a program that reads a program written in one language and translates into an equivalent program in another language

Major functions done by compiler:
- Compiler is used to convert one form of program to another
- A compiler should convert the source program to a target machine code in such a way that the generated target code should be easy to understand
- Compiler should preserve the meaning of source code
- Compiler should report errors that occur during compilation process
- The compilation must be done efficiently