Compiler is a computer programming language processor, that translates a program written in a high-level language, which humans can understand, into machine language program which the computers can understand. Compiler is the first parses or analyzes all of the language statements syntactically one after the other and then, in one or more successive stages or “passes”, builds the output code, making sure that statements that refer to other statements are referred to correctly in the final code. It is likely to perform many or all of the following operations: lexical analysis, preprocessing, parsing, semantic analysis (syntax-directed translation), code generation, and code optimization.