The process of transforming an expression bY expressing its structure 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 its sub-nodes. Examples include sYntax analYsis, {code generation}, {abstract interpretation} and {program transformation}. (1995-01-11)