Clyne 1eefd5f51c | 1 year ago | |
---|---|---|
source | 1 year ago | |
.gitignore | 1 year ago | |
LICENSE | 1 year ago | |
Makefile | 1 year ago | |
README.md | 1 year ago | |
core.fth | 1 year ago | |
sprit.cpp | 1 year ago |
README.md
sprit-forth
Sprit Forth is a tiny and portable subroutine-threaded Forth written in modern C++. It is inspired by Alee Forth and milliForth.
Subroutine-threading is an improvement over Alee Forth's tokenized threading: words are compiled as lists of function pointers such that their execution is direct and "native". By sticking to subroutines instead of directly compiling assembly instructions, Sprit Forth maintains entirely portable.
In terms of size, the libsprit.a
library is only around 4kB on x86_64 without optimizations, down to around 2kB with size optimizations, and under 1kB on a 16-bit MSP430 microcontroller.
Sprit Forth is early in development. The project won't be considered "stable" until at least the core standard word-set is implemented.
Requirements
A C++ compiler that supports the C++20 standard.
Building
Run make
. There are x86
and msp430
targets available to target those architectures.