A walker is a subclass of Walker that traverses the AST. Walkers provide control over the order in which nodes are visited (postorder, preorder or both) and the depth (top level nodes only, or visit all subtrees) of the traversal.
The Walker class uses the virtual dispatch of C++ to simplify this traversal: instead of defining the behavior for every possible node type, a walker need only specify actions for the node types of interest; all other nodes have a default action (i.e., nothing) performed on them. New actions can specified by by overriding the at_-functions of Walker. There is one at_-function for each C-Breeze node type, e.g., at_for, at_decl, etc.