A technique where the translation is guided by the grammar of the input language.
- Define a translation for each grammar production
- Parse the input source
- Apply the translations to the parse tree (bottom up)
- Final result is the translation of the root