This tutorial walks you through writing a compiler for a tiny subset of scheme (programs consisting entirely of a single integer) and incrementally grows that into a proper language. It's very good, and I highly recommend working your way through it:
http://scheme2006.cs.uchicago.edu/11-ghuloum.pdf