Files
akbasic/tests/language
Tachikoma 9ea5af67ae
Some checks failed
akbasic CI Build / cmake_build (push) Failing after 3m28s
akbasic CI Build / sanitizers (push) Failing after 5m35s
akbasic CI Build / coverage (push) Failing after 4m10s
akbasic CI Build / mutation_test (push) Failing after 3m37s
akbasic CI Build / akgl_build (push) Failing after 7m24s
Add native RND and ASC functions
Implement bounded random integers with lazy clock seeding and add ASC as the inverse of CHR. Cover dispatch, validation, deterministic LCG output, UTF-8 round trips, function reference, and the breakout tutorial.

Closes #16.

Co-authored-by: andrew <andrew@aklabs.net>
2026-08-05 15:53:15 -04:00
..

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.