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.