blob: 6f89c8d4c812095c15b01d9689c2c1dcba59bd8f [file] [log] [blame] [view]
This directory contains an `.emb` and a set of golden files which correspond to
various parsing stages of the `.emb`. The primary purpose is to highlight
changes to the parse tree, tokenization, or (uncooked) intermediate
representation in a code review, where the before/after can be seen in
side-by-side diffs. The golden files *are* checked by unit tests, but test
failures generally just mean that the files need to be regenerated, not that
there is an actual bug.
## `span_se_log_file_status.emb`
The .emb file from which the other files are derived.
## `span_se_log_file_status.tokens.txt`
The tokenization. This file should change very rarely. From the workspace root
directory, it can be generated with:
bazel run //front_end:emboss_front_end \
-- --no-debug-show-header-lines --debug-show-tokenization \
$(pwd)/testdata/golden/span_se_log_file_status.emb \
> $(pwd)/testdata/golden/span_se_log_file_status.tokens.txt
## `span_se_log_file_status.parse_tree.txt`
The syntactic parse tree. From the workspace root directory, it can be
generated with:
bazel run //front_end:emboss_front_end \
-- --no-debug-show-header-lines --debug-show-parse-tree \
$(pwd)/testdata/golden/span_se_log_file_status.emb \
> $(pwd)/testdata/golden/span_se_log_file_status.parse_tree.txt
## `span_se_log_file_status.ir.txt`
The "uncooked" module-level IR: that is, the IR of *only*
`span_se_log_file_status.emb` (without the prelude or any imports), straight out
of `module_ir.py` with no "middle end" transformations. From the workspace root
directory, it can be generated with:
blaze run //front_end:emboss_front_end \
-- --no-debug-show-header-lines --debug-show-module-ir \
$(pwd)/testdata/golden/span_se_log_file_status.emb \
> $(pwd)/testdata/golden/span_se_log_file_status.ir.txt