users-guide: Improve legibility of OverlappingInstances documentation
[ghc.git] / utils / check-ppr / README
1
2 This programme is intended to be used by any GHC developers working on the AST
3 and/or pretty printer by providing a way to check that the same AST is generated
4 from the pretty printed AST as from the original source.
5
6 i.e., it checks whether
7
8     parse (ppr (parse s)) === parse s
9
10
11 This utility is also intended to be used in tests, so that when new features are
12 added the ability to round-trip the AST via ppr is tested.
13
14 Usage
15
16 In a test Makefile
17
18   $(CHECK_PPR) "`'$(TEST_HC)' $(TEST_HC_OPTS) --print-libdir | tr -d '\r'`" FileToParse.hs
19
20 See examples in (REPO_HOME)/testsuite/tests/printer/Makefile
21
22 The utility generates the following files for ToBeTested.hs
23
24   - ToBeTested.ppr.hs      : the ppr result
25   - ToBeTested.hs.ast      : the AST of the original source
26   - ToBeTested.hs.ast.new  : the AST of the re-parsed ppr source