The anatomy of a compiler