This document discusses syntax-directed definitions for attribute grammars. It describes different types of attributes like synthesized and inherited attributes. It explains how to evaluate syntax-directed definitions using techniques like topological sorting of the dependency graph. It also covers translation schemes for converting syntax-directed definitions to bottom-up and top-down evaluation, including handling of left recursion.