An algebraic approach to the design of compilers for object-oriented languages - DURAN, Adolfo Almeida (2005)