Syntax-directed translation refers to a method of compiler implementation where the source language translation is completely driven by the parser. There are two main notations used - syntax-directed definitions and translation schemes. Syntax-directed definitions specify semantic rules associated with production rules and hide implementation details, while translation schemes provide more details about the order of evaluation. S-attributed definitions use only synthesized attributes and allow bottom-up evaluation of semantic rules during parsing using a stack to hold attribute values.