A compiler for the object-oriented language Eiffel