A compiler for an imperative programming language