Attribute Grammars and Top-Down Parsing