Portability | portable |
---|---|
Stability | experimental |
Maintainer | jwlato@gmail.com |
Safe Haskell | None |
This module provides a pretty printer for the parse tree
(AST
).
- class Pretty p where
- pretty :: p -> Doc
- prettyPrec :: Int -> p -> Doc
- prettyUsingInclude :: CTranslUnit -> Doc
Pretty Printing
A class of types which can be pretty printed
pretty print the given value
prettyPrec :: Int -> p -> DocSource
prettyPrec prec p
pretty prints p assuming
that the surrounding context has a precedence of
prec
Testing
prettyUsingInclude :: CTranslUnit -> DocSource
Pretty print the given tranlation unit, but replace declarations from header files with #include
directives.
The resulting file may not compile (because of missing #define
directives and similar things), but is very useful
for testing, as otherwise the pretty printed file will be cluttered with declarations from system headers.