A new programming methodology using attribute grammars - Simon E. (1986)