PrettyPrinters can be defined manually, but that is a lot of work. A better way is to use an intermediate format for representing layout instructions and leaving the actual formatting to a tool that knows about it.
The GenericPrettyPrinting package that comes with StrategoXT provides tools for translating terms to the BoxLanguage? and formatting the BoxLanguage? to text, html, and latex. The package even supports generation of PrettyPrintTables from SDF syntax definitions.
If you need more control over pretty printing you can also write a PrettyPrinter with StrategoBox. This approach uses ConcreteSyntax for the BoxLanguage? inside the StrategoLanguage .
-- EelcoVisser - 28 Nov 2001