Traverses the given AST node and its descendants depth-first order and calls the given callback function for each node.
root AST node to traverse.
function to be called for each node.