Compiler | Interpreter |
Assembler | Translator |
Lexical Analysis | Syntax Analysis |
Semantic Analysis | Code Generation |
A program that directly executes instructions written in a high-level programming language without the need for prior translation. | A program that translates source code written in a high-level programming language into a lower-level language, such as machine code. |
A program that converts code from one programming language to another without necessarily changing the underlying logic. | A program that translates assembly language code into machine code. |
The process of analyzing the grammar of the source code to determine its syntactic structure. | The process of breaking down the source code into a sequence of lexemes (tokens) that can be processed by the compiler or interpreter. |
The process of producing executable machine code or intermediate code from the analyzed source code. | The process of analyzing the meaning of the source code and checking for semantic errors. |
Optimization | Linker |
A program that combines object code generated by the compiler with external libraries to create an executable program. | The process of improving the efficiency and performance of the generated machine code. |