The pretty printer provides functions for formatted output. It uses the formatting facilities of the general, language-independant Layout-module. The implementation is pretty obvious. Therefore, only the interface is shown.
[aConcat] Why did we program an new aConcat-function instead of using the one from the Layout-module? [Later] Can one unambiguously reconstruct the exact input using the position information? It would be at least a test to see whether the parser works ok.