⤓ .md 2026-02-20T073700.625 000000000000344
ColorFORTH to SPARK compiler. **Alpha.**
Compiles ColorFORTH source to verified SPARK/Ada code. Input is the `.fifth` text format—ColorFORTH with colors represented as emoji markers. Output includes contracts verifiable with GNATprove.
- Tcl 8.5+
- GNAT/SPARK (for compiling/verifying output)
⤓ .txt 2026-02-20T073700.625 000000000000312
Apache License
Version 2.0, January 2004
http://www.apache.org/licenses/
⤓ .txt 2026-02-20T073700.625 000000000000360
0.1.0-alpha
⤓ .tcl 2026-02-20T073700.625 000000000000344
⤓ .txt 2026-02-20T073700.625 000000000000336
How does the compiler infer stack effects for user-defined words? The Pre contract generation implies static analysis of stack depth across word compositions. This is non-trivial for recursive or conditionally-branching definitions.
What happens with @ and ! (memory operations)? SPARK verification of unconstrained memory access is a hard problem. The generated Stack_Array is bounded (256 cells), but arbitrary memory operations could challenge provability.
Error handling and diagnostics — no mention of compiler error messages, source location tracking, or diagnostic output.
Testing — no test suite mentioned, though the examples serve as implicit smoke tests.