17 lines
963 B
Markdown
17 lines
963 B
Markdown
|
|
# The language test corpus
|
||
|
|
|
||
|
|
The `.bas` files in this directory and their sibling `.txt` files are the editable language
|
||
|
|
corpus. CMake registers every program as an individual `local_*` CTest case and compares its
|
||
|
|
output with the sibling expectation.
|
||
|
|
|
||
|
|
The corpus includes cases carried over from the deprecated Go implementation as well as cases
|
||
|
|
written for this interpreter. Their provenance is useful when investigating a regression, but it
|
||
|
|
does not make any case immutable or turn the old implementation into a specification.
|
||
|
|
|
||
|
|
**Change a program and its expectation deliberately and in the same commit.** If the changed
|
||
|
|
output represents an intentional language decision, record the reason in `TODO.md` or the
|
||
|
|
relevant documentation. If it is an accidental change, fix the interpreter instead.
|
||
|
|
|
||
|
|
The `examples/` subdirectory contains complete BASIC programs used as worked examples. It is
|
||
|
|
part of the same corpus and follows the same `.bas`/`.txt` pairing rule.
|