A TreeWalker traverses a parse tree in its canonical order. By overriding
a visit method, individual nodes can be captured and processed based on
their type. Call super.visit inside the overriden visit method to ensure
that the node's children are properly traversed.
author: Brian S O'Neill version: 18 , 5/31/01