Language Processing System
Language Processing System is also called as process of execution of a program
Cousins of compiler means the contexts that are required by the compiler to operate such contexts are basically programs, such as preprocessor, compilers, assemblers, loaders and link editors
Preprocessor:
- It is a program that reads the source code and prepares it for the translator
- The result of preprocessing is called the compiler
Roles of Preprocessor:
- Copies all library functions of a file into a source code
- Expand macros into a source code
Example: #include<stdio.h> here # is a processor directive. It copies all library functions of stdio.h (standard input output) file into a program.
Compiler:
- Compiler is a program that reads a program in high level language known as source code as its input and converts it into an equivalent program in low level language known as object code as its output.
Assembler:
- The compiler may produce an assembly language is easier to produce as output and is easier to debug
- The assembly language is then processed by a program called assembler that produce relocatable machine code as its output.
Linker/Loader
Linker:
- Programs are divided into modules known as functions in C
- Some of the functions are written by user and others are stored in a file (header file)
- The process of linking user functions and system functions to a final executable code known as linker
Loader:
- Once the program is linked, it is ready for execution
- The process of loading the program into primary memory for execution is known as loader