The steps involved in the analysis of source program are given below.
Source program acts as an input to the preprocessor. Preprocessor
modifies the source code by replacing the header files with the suitable
content. Output (modified source program) of the preprocessor acts as
an input for the compiler.
Compiler translates the modified source program of high-level language
into the target program. If the target program is in machine language,
then it can be executed directly. If the target program is in assembly
language, then that code is given to the assembler for translation.
Assembler translates the assembly language code into the relocatable
machine language code.
Relocatable machine language code acts as an input for the linker and
loader. Linker links the relocatable code with the library files and the
relocatable objects, and loader loads the integrated code into memory
for the execution. The output of the linker and loader is the equivalent
machine language code for the source code.