Attribute Grammar with Top-down Predictive Parsing