The proceSS of tranSforming an expreSSion by expreSSing itSStructure aS a Syntax tree and applying a certain tranSformation rule to each kind of node, Starting from the top. RuleS for non-leaf nodeS will normally return a reSult which dependS on applying the ruleS recurSively to itSSub-nodeS. ExampleS include Syntax analySiS, {code generation}, {abStract interpretation} and {program tranSformation}. (1995-01-11)