Let's write a compiler!