A Pure Object-Oriented Embedding of Attribute Grammars