Compositional compiler construction: Oberon0. - Viera, Marcos; Swierstra, S. Doaitse (Science of Computer Programming, 2015)