Algebraic specification of a compiler for a language with pointers