Parse Tree Manipulation
Capture the parse tree of a code fragment to manipulate it with DSL processing code.
When you write code in a closure, that code is available to be executed at some future time. Parse Tree Manipulation allows you to not only execute the code but also examine and modify its parse tree.
For more details see chapter 43 of the DSL book