Automatic generation of efficient compilers using abstract algebraic semantics. - Michael Roy Anderson (1990)