Tom's wiki

Compilers

A compiler translates source code written in a high-level language into machine code.

An interpreter directly executes source code without pre-compilation into machine code.

Learn

Terminology

Phases

Front end:

Middle end:

Back end:

The front/middle/back-end approach allows combining front ends for different languages with back ends for different CPUs, while sharing the optimizations of the middle end:

Compiler pipeline

Frameworks