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