Ever wondered how to write a front end for GCC? In this series you'll see how to make a GCC front end for a simple language called tiny.

Source code

The code of the front end is in GitHub

Table of contents

Basic language

  1. Tiny specification
  2. Initial boilerplate
  3. Lexical analysis
  4. Syntactic analysis
  5. Data required by semantic analysis
  6. Semantic analysis and GENERIC (I)
  7. Semantic analysis and GENERIC (II)


  1. Arrays
  2. Booleans
  3. Type names
  4. Record types