...The output is described with a template language that is used to add formatting to the parse tree. Code is generated that automatically traverses the parse tree and calls a method on a transformer object to modify the parse tree. Each node is visited in document order, and a method is called at the beginning and end of each node visit. This transformer class is subclassed for customization.
SimpleCompiler has many built-in feature for supporting a variety of text based language.