]> code.bitgloo.com Git - clyne/sprit-forth.git/summary
 
descriptionA Forth implementation meant to be faster than Alee Forth
ownerClyne Sullivan
last changeWed, 12 Jun 2024 10:55:37 +0000 (06:55 -0400)

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.

shortlog
2024-06-12 Clyne Sullivanrefactor, encapsulate main
2024-03-03 Clyne Sullivanfix input parsing
2023-11-29 Clyne SullivanPoC msp430 register/flag support
2023-11-26 Clyne Sullivanadd msp430 proof-of-concept
2023-11-26 Clyne Sullivanconcise wordwrap
2023-11-26 Clyne Sullivanadd license to sprit.cpp
2023-11-26 Clyne Sullivancatch stack errors
2023-11-25 Clyne Sullivanadd CREATE, DOES>
2023-11-25 Clyne Sullivanadd MOVE, FILL, ENVIRONMENT?, ACCEPT, RECURSE
2023-11-25 Clyne Sullivanfix word parsing
2023-11-25 Clyne Sullivanadd text processing words
2023-11-24 Clyne Sullivandocumentation and a little cleanup
2023-11-24 Clyne Sullivaninitial upload
2023-11-24 ClyneInitial commit
heads
14 months ago main