Abstract
- Tools that translates programming languages down the layers of Programming Abstraction
Compiler
- Translate Programming Language codes to Instruction or an intermediate code like Assembly language in C and Bytecode in Java
Variable Mapping
Preprocessor
- Text substitution tool
- It instructs the Compiler to do required pre-processing like Macro Expansion before the actual compilation
Preprocessor Directives
- Instructions to tell the Preprocessor what kind of library headers it needs to bring in header files, define constants, and create Macro Expansion
Example
Bring header files
#include <stdio.h>
Define constants
#define KMS_PER_MILE 1.609
#include <stdio.h>
vs#include "stdio.h"
#include <stdio.h>
instructs the preprocessor to search for the header filestdio.h
in the standard include directories, typically where system libraries reside. In contrast,#include "stdio.h"
directs the preprocessor to search for the header file in the current directory first, and if not found, then in the standard include directories.
Assembler
- Translates Assembly language to Instruction