Source to source program based on the rewriter class