Stanford University: Keith Schwarz's "Introduction to Compilers"

For a slightly different overview of compilers, study slides 8-47. These slides make an analogy between compilation and the equivalence-preserving transformations of an electrical circuit.