Formal Properties of One-Visit and Multi-Pass Attribute Grammars