README.md
1This directory contains an `.emb` and a set of golden files which correspond to
2various parsing stages of the `.emb`. The primary purpose is to highlight
3changes to the parse tree, tokenization, or (uncooked) intermediate
4representation in a code review, where the before/after can be seen in
5side-by-side diffs. The golden files *are* checked by unit tests, but test
6failures generally just mean that the files need to be regenerated, not that
7there is an actual bug.
8
9
10## `span_se_log_file_status.emb`
11
12The .emb file from which the other files are derived.
13
14
15## `span_se_log_file_status.tokens.txt`
16
17The tokenization. This file should change very rarely. From the workspace root
18directory, it can be generated with:
19
20 bazel run //front_end:emboss_front_end \
21 -- --no-debug-show-header-lines --debug-show-tokenization \
22 $(pwd)/testdata/golden/span_se_log_file_status.emb \
23 > $(pwd)/testdata/golden/span_se_log_file_status.tokens.txt
24
25
26## `span_se_log_file_status.parse_tree.txt`
27
28The syntactic parse tree. From the workspace root directory, it can be
29generated with:
30
31 bazel run //front_end:emboss_front_end \
32 -- --no-debug-show-header-lines --debug-show-parse-tree \
33 $(pwd)/testdata/golden/span_se_log_file_status.emb \
34 > $(pwd)/testdata/golden/span_se_log_file_status.parse_tree.txt
35
36
37## `span_se_log_file_status.ir.txt`
38
39The "uncooked" module-level IR: that is, the IR of *only*
40`span_se_log_file_status.emb` (without the prelude or any imports), straight out
41of `module_ir.py` with no "middle end" transformations. From the workspace root
42directory, it can be generated with:
43
44 blaze run //front_end:emboss_front_end \
45 -- --no-debug-show-header-lines --debug-show-module-ir \
46 $(pwd)/testdata/golden/span_se_log_file_status.emb \
47 > $(pwd)/testdata/golden/span_se_log_file_status.ir.txt
48