Printer interface defines the API for a printer. A printer outputs the AST as formatted Java source code.