An algebraic approach to compiler design - Sampaio, Augusto (World Scientific, 1997)