Abstract syntax tree traversal (source code)

= Abstract syntax tree traversal

An <abstract syntax tree> traversal systematically visits its nodes. A <depth-first traversal of a tree> that processes each child before its parent is called postorder. For the <program expression> `2+3*4`, the schematic postorder is `2, 3, 4, Mult, Add`. This order lets an evaluator obtain each operand value before applying its operation. A traversal of the entire <Python> schema additionally visits marker nodes such as `Add` and `Store`; this shorter list concerns only the expression nodes drawn in the figures. Visiting an <abstract syntax tree> is a structural operation, and is not a general model of execution: a conditional may select only one branch, while a structural visitor examines both.