Compiler is a translator that converts the high-level language into the machine language. In Compiler Design we’re going to learn all phases of a compiler such as lexical and syntax analysis, error detection, symbol table, code generation, garbage collection, and memory management.