



Synthesis Phase: The Synthesis phase is also known as the back end phase in which the intermediate code (which was generated in Analysis Phase) is optimized and generated into target machine code.The analysis phase of the compilation process includes a lexical analyzer, semantic analyzer, and syntax analyzer. Analysis Phase: This compiler phase is also known as the front end phase in which a source code is divided into fundamental parts to check grammar, syntax, and semantic of code after that, the intermediate code is generated.The entire compilation steps of source code are operated into two phases: Analysis Phase and Synthesis Phase. A compiler converts complete source code into machine code at once. If your written program is correct (contains no error), then the compiler will convert your entire source code into machine code. It cannot fix any error if present in a program it generates an error message, and you have to correct it yourself in the program's syntax.

CompilerĪ compiler is a software program that follows the syntax rule of programming language to convert a source code to machine code. Before diving into the difference between a compiler and an interpreter, let's see a brief introduction about both of them. But there are variations in the working process and steps of a compiler and interpreter. Compiler and interpreter are software programs that convert a high-level language into a machine language (0's and 1's binary form) that a computer can understand and perform tasks as per the program's instructions. To do this, either a compiler or an interpreter, or both are used to convert a source code programming language into machine code. To perform an instruction written in high-level language via computer, we need to convert it into machine language. It only understood its machine code, i.e., a program in 0's and 1's in binary form to perform the task accordingly. However, computer machine does not understand these high-level programming languages. The high-level programming language is also known as source code in a computer program. High-level languages are that which contains words and phrases from human languages - for example, English. We mostly write a computer program in high-level languages, which humans understand. Next → ← prev Difference between Compiler and Interpreter
