- Preprocessing phase C preprocessor - Wikipedia
- A preprocessing step performs macro substitution on program text, inclusion of other source files, and conditional compilation.
- Compilation phase
- Assembly phase (
.o
file) - Linking phase (ELF)
- Source Code → Lexical Analysis → Tokens
- Tokens → Syntactic Analysis → Abstract Syntax Tree
- Abstract Syntax Tree → Various Transformations → Some Intermediate Representation
- Some Intermediate Representation → Code Generation → {Machine,Byte,Source} Code