When teaching this discipline at the Complutense University of Madrid (Spain), we have realized the importance of promoting a clear separation between the specification and the subsequent implementation of the computer language. In order to achieve such a separation, we have adopted syntax-directed translation [2] as a central paradigm for architecting language processors and attribute grammars [12] as a basic model for the specification of syntax-directed translation tasks.